@charset "utf-8";

html,
body {
  color: #333;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック",
    YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0;
  font-size: 15px;
  line-height: 1.7em;
}

body {
  -webkit-font-smoothing: antialiased;
}

img {
  vertical-align: bottom;
  line-height: 0;
}

a:hover img {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

a {
  color: #135ba9;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.pc,
.sp_none {
  display: inherit;
}

.mobile,
.sp_only {
  display: none;
}

.inner {
  width: 1050px;
  margin: 0 auto;
}

.inner_wide {
  width: 1100px;
  margin: 0 auto;
}

.inner_1000 {
  width: 1000px;
  margin: 0 auto;
}

.dflex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.wrap {
  flex-wrap: wrap;
}

.j_center {
  justify-content: center;
}

.j_around {
  justify-content: space-around;
}

.j_between {
  justify-content: space-between;
}

.j_end {
  justify-content: flex-end;
}

.align_center {
  align-items: center;
}

.object-fit-img {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.f_blue {
  color: #001f74;
}
.f_blue {
  color: #001f74;
}
.f_red_d {
  color: #8f0012;
}
.f_bold {
  font-weight: bold;
}
/* ────────────────────── *

 * 下層ページ共通

 * ────────────────────── */

.pagemain.page_title {
  background-size: cover;
  margin-bottom: 100px;
}

.page_title h2 {
  color: #fff;
  font-size: 31px;
  text-align: center;
  letter-spacing: 0.1em;
  padding: 3em;
}

.ttl_bgicon:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 25px;
  margin-top: -2px;
  background-image: url(../images/page/conditions/ttl_icon.png);
  vertical-align: middle;
}

.ttl_bggray {
  background: #f1f2fb;
  border-bottom: 5px solid #d2e0e8;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  padding: 20px 0 20px 50px;
  position: relative;
  margin-bottom: 15px;
}

/* 仮画像配置用 */
div#examples-contents {
  width: 1500px;
  margin: 0 auto;
}

/* 画像配置用 */
div#contents_bg_img {
  width: 1000px;
  margin: 0 auto;
}

/* ────────────────────── *

 * header

 * ────────────────────── */

header {
  padding: 10px 0;
}

header .siteid {
  margin-bottom: 6px;
  font-size: 13px;
}

header .header_left {
  float: left;
}

header .header_right {
  float: right;
  width: 75%;
}

header .header_right .hr_001 {
  margin-bottom: 8px;
  line-height: 1.4em;
}

header .header_right .hr_001 ul li {
  font-size: 12px;
  margin-top: 5px;
}

header .header_right .hr_001 ul li span {
  border-right: 1px solid #ccc;
}

header .header_right .hr_001 ul li:first-child span {
  border-left: 1px solid #ccc;
}

header .header_right .hr_001 ul li a {
  color: #000;
}

header .header_right .hr_001 ul li a span {
  display: block;
  padding: 0 20px;
}

header .header_right .hr_001 ul li a:hover span {
  background-color: #172a80;
  color: #fff;
  transition: 0.3s ease-in-out;
}

header .header_right .hr_001 dl {
  margin-left: 30px;
  font-size: 12px;
}

header .header_right .hr_001 dl dt {
  padding-top: 5px;
  margin-right: 8px;
}

header .header_right .hr_001 dl dd {
  border: 1px solid #ccc;
  padding: 2px 5px;
  margin-left: 5px;
}

header .header_right .hr_002 ul li a {
  display: block;
  background-image: url("../images/common/icon_header_arrow.jpg");
  background-position: left center;
  background-repeat: no-repeat;
  padding: 2px 3px 2px 24px;
  font-size: 13px;
  margin-left: 20px;
  color: #333;
}

header .header_right .hr_002 ul li a:hover {
  background-color: #172a80;
  color: #fff;
}

header nav.pc ul {
  margin-top: 10px;
}

header nav.pc ul li {
  width: 16%;
  box-sizing: border-box;
  text-align: center;
  border-right: 1px solid #ccc;
}

header nav.pc ul li:first-child {
  border-left: 1px solid #ccc;
}

header nav.pc ul li:nth-child(1),
header nav.pc ul li:nth-child(2),
header nav.pc ul li:nth-child(3),
header nav.pc ul li:nth-child(4) {
  width: 17%;
}

header nav.pc ul li a {
  display: block;
  width: 100%;
  background-position: center 10px;
  background-repeat: no-repeat;
  padding: 58px 0 5px;
  color: #172a80;
  font-size: 14px;
}

header nav.pc ul li.nav001 a {
  background-image: url("../images/common/icon_navi001.png");
}

header nav.pc ul li.nav002 a {
  background-image: url("../images/common/icon_navi002.png");
}

header nav.pc ul li.nav003 a {
  background-image: url("../images/common/icon_navi003.png");
}

header nav.pc ul li.nav004 a {
  background-image: url("../images/common/icon_navi004.png");
}

header nav.pc ul li.nav005 a {
  background-image: url("../images/common/icon_navi005.png");
}

header nav.pc ul li.nav006 a {
  background-image: url("../images/common/icon_navi006.png");
}

header nav.pc ul li a:hover {
  background-color: #172a80;
  color: #fff;
}

header nav.pc ul li.nav001 a:hover {
  background-image: url("../images/common/icon_navi001_hover.png");
}

header nav.pc ul li.nav002 a:hover {
  background-image: url("../images/common/icon_navi002_hover.png");
}

header nav.pc ul li.nav003 a:hover {
  background-image: url("../images/common/icon_navi003_hover.png");
}

header nav.pc ul li.nav004 a:hover {
  background-image: url("../images/common/icon_navi004_hover.png");
}

header nav.pc ul li.nav005 a:hover {
  background-image: url("../images/common/icon_navi005_hover.png");
}

header nav.pc ul li.nav006 a:hover {
  background-image: url("../images/common/icon_navi006_hover.png");
}
@media screen and (min-width: 768px) {
  /*　画面サイズが768pxから1024pxまではここを読み込む　*/
  .top_slider a:hover {
    opacity: 0.5;
    margin: auto;
  }
  .top_slider {
    margin: auto;
    overflow: hidden !important; /* 画面幅からでないように */
    padding: 0 calc(100vw / 2 - 500px);
  }
  .top_slider ul li {
    width: 1000px !important;
    box-sizing: border-box !important;
  }

  .top_slider div.flex-viewport > ul li > a {
    width: 1000px !important;
    display: block;
    box-sizing: border-box;
  }
  .top_slider .flex-viewport {
    margin: 0 auto !important;
    overflow: visible !important;
  }
  .top_slider .flexslider {
    width: 100% !important;
  }
  .top_slider div.flex-viewport > ul li img {
    padding: 0 2px !important;
    width: 1000px !important;
    box-sizing: border-box !important;
  }
  #metaslider_container_2978,
  #metaslider_2978,
  .flex-viewport {
    width: 1000px !important;
  }
}
.metaslider .flexslider .flex-direction-nav li a {
  background-image: url("../images/bg_direction_nav.png") !important;
}
.metaslider .flexslider:focus-within .flex-prev,
.metaslider .flexslider:hover .flex-prev {
  left: 5px;
}
/*メイン下バナー*/
div.frontpage_bnr {
  display: block;
  max-width: 850px;
  text-align: center;
  margin: 0 auto 80px;
}
div.frontpage_bnr p:not(:last-of-type) {
  margin-bottom: 20px;
}
div.frontpage_bnr img {
  max-width: 100%;
}
div.frontpage_bnr_s {
  max-width: 1020px;
  margin: 40px auto 80px;
}
.frontpage_bnr_s_item {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
.frontpage_bnr_s_item + .frontpage_bnr_s_item {
  margin-top: 40px;
}
div.frontpage_bnr .note_ttl {
  font-size: 22px;
  font-weight: bold;
  border-bottom: 3px solid #8f0012;
  padding-bottom: 5px;
  display: inline-block;
}
div.frontpage_bnr .note {
  text-align: left;
  padding: 10px 0;
}
div.frontpage_bnr .note span.red {
  color: #8f0012;
}
div.frontpage_bnr .note span.dot {
  text-indent: -0.8em;
  padding-left: 0.8em;
  display: inline-block;
}
div.frontpage_bnr .note span.dot:before {
  content: "●";
  font-size: 75%;
}
/* ────────────────────── *

 * 検索ボックス

 * ────────────────────── */
#MainContent_SearchConditionUpdatePanel {
  width: 1050px;
  margin: 80px auto 40px;
}

.order-1 {
  margin-bottom: 40px;
}

.search-title-area {
  border-bottom: 5px solid #171c61;
  padding-bottom: 20px;
}

.search-title-course {
  width: 42%;
  padding: 10px 30px;
  border-radius: 12px;
  background-color: #fff4c1;
}

.h5.font-weight-bold {
  background-image: url("../images/page/index/icon_search_ttl.png");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 30px;
  font-size: 33px;
  font-weight: bold;
  color: #171c61;
  padding: 15px 0 15px 50px;
}

.row.column2,
.sh_place {
  margin-bottom: 30px;
}

.row.column2 .search001 {
  width: 35%;
  padding-right: 2%;
}

.row.column2 .search002 {
  width: 60%;
}

.sh_ttl {
  font-size: 18px;
  font-weight: bold;
  display: block;
  margin-bottom: 10px;
}

.sh_ttl:before {
  content: "●";
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

.search-title-course .sh_ttl {
  font-size: 14px;
  margin-bottom: 0;
}

/*.search-title-course input{
	padding: 5px;
	font-size: 14px;
	max-width: 176px;
}*/

.search-title-course input[type="text"] {
  padding: 5px;
  font-size: 14px;
  max-width: 222px;
  width: 222px;
}

.form-group .tour-days-checkbox-list label.label {
  width: 46%;
  box-sizing: border-box;
  margin: 0 1%;
  display: inline-block;
}

.event_status label.label {
  width: 35%;
  box-sizing: border-box;
  display: block;
}

label.label {
  text-align: center;
  cursor: pointer;
  padding: 11px 5px;
  border: 1px solid #989898;
  background-color: #f1f1f1;
  border-radius: 5px;
}

input.check_box {
  display: none;
}

.check_box:checked + .label {
  border: 1px solid #00a5dc;
  background-color: #00a5dc;
  color: #fff;
}

.search002 .datepicker {
  width: 43%;
  background: url("../images/page/index/icon_cal.png") 90% center no-repeat;
  background-color: #fff;
  border: 1px solid #989898;
  border-radius: 5px;
}

.search002 input::placeholder {
  color: #000;
}

.sh_place.form-row {
  width: 100%;
}

.form-row select {
  width: 100%;
  box-sizing: border-box;
  padding: 15px;
}

.form-row .select001 {
  margin-right: 3%;
}

input#submit_button,
input#reset_button {
  cursor: pointer;
  width: 40%;
  margin-right: 20px;
  text-align: center;
  padding: 10px 0;
  font-size: 18px;
  font-weight: bold;
  border-radius: 6px;
  border: 2px solid #ccc;
}

input#reset_button {
  background-color: #f4f4f4;
}

input#submit_button {
  background-color: #172a80;
  color: #fff;
  background-image: url(../images/page/index/icon_submit_button.png);
  background-position: 3.5em center;
  background-repeat: no-repeat;
  background-size: 29px;
  padding-left: 24px;
}

input#submit_button:hover {
  background-color: #395ee5;
  color: #fff;
}

.order-0 {
  margin-bottom: 100px;
}

.search-title-course .sh_course .form-group {
  text-align: right;
}

.sh_course .form-group .sh_ttl,
.sh_course .form-group .input-group {
  display: inline-block;
}

.search_button {
  cursor: pointer;
  border: 0px;
  width: 34px;
  height: 34px;
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background-image: url("../images/page/index/icon_search.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 34px;
  padding-top: 5px;
}

.search_button:hover {
  background-image: url("../images/page/index/icon_search_hover.jpg");
  background-size: 34px;
}

@media screen and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */
  .search-box-area table td div.kodawari {
    width: 644px !important;
  }
}

.kodawari button#btnAddtional {
  cursor: pointer;
  margin: 20px 0 10px;
  border: 1px solid #00a5dc;
  background-color: #fff;
  color: #00a5dc;
  width: 220px;
  padding: 12px 0;
  box-sizing: border-box;
  text-align: center;
  border-radius: 6px;
}

.kodawari button#btnAddtional span:before {
  content: url("../images/page/index/kodawari_01.png");
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}

.kodawari button#btnAddtional.open {
  border: 1px solid #00a5dc;
  background: #00a5dc;
  color: #fff;
}

.kodawari button#btnAddtional.open span:before {
  content: url("../images/page/index/kodawari_02.png");
}

.kodawari_list {
  display: none;
  background-color: #f2f2f2;
  padding: 30px;
  margin: 10px 0 30px;
}

ul.kodawari_list_btn li {
  width: 33%;
  margin-right: 0.5%;
  margin-bottom: 1%;
}

ul.kodawari_list_btn li:nth-child(3n) {
  margin-right: 0;
}

ul.kodawari_list_btn li label.label-condition_detail {
  border: 1px solid #989898;
  background-color: #f6f6f6;
  color: #000;
  padding: 10px;
  display: block;
  box-sizing: border-box;
  width: 100%;
}

ul.kodawari_list_btn li .check_box:checked + label.label-condition_detail {
  border: 1px solid #00a5dc;
  background-color: #00a5dc;
  color: #fff;
  display: block;
  box-sizing: border-box;
}

.search-box-area {
  background-color: #fcf7f0;
  background-image: url("../images/page/index/card-body_bg.png");
  background-repeat: no-repeat;
  background-position: right bottom 30px;
  border-radius: 0 0 30px 30px;
  padding: 30px 0;
}

.search-box-area table {
  width: 90%;
  margin: 0 auto;
  box-sizing: border-box;
}

.search-box-area table {
  vertical-align: middle !important;
}

.search-box-area table tr {
  margin-bottom: 10px;
}

.search-box-area table th {
  text-align: right;
  padding: 5px 20px 5px 5px;
  min-width: 26%;
  width: 26%;
}

.search-box-area table th .sh_ttl {
  margin-bottom: 0;
}

.search-box-area table th .sh_ttl_icon:before {
  width: 20px;
  height: 20px;
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px;
  margin-bottom: 1px;
}

.search-box-area table th .sh_ttl_course:before {
  background-image: url("../images/page/index/search_icon001.png");
}

.search-box-area table th .sh_ttl_day:before {
  background-image: url("../images/page/index/search_icon002.png");
}

.search-box-area table th .sh_ttl_place:before {
  background-image: url("../images/page/index/search_icon003.png");
}

.search-box-area table th .sh_ttl_freeword:before {
  background-image: url("../images/page/index/search_icon004.png");
}

.search-box-area table th .sh_ttl_condi:before {
  background-image: url("../images/page/index/search_icon005.png");
}

.search-box-area table th.sh_ttl_condition {
  vertical-align: top;
  padding-top: 15px;
}

.search-box-area table td {
  padding: 5px 50px 5px 5px;
  font-size: 15px;
}

.search-box-area table td .sh_place {
  margin-bottom: 0;
}

.search-box-area table td .sh_place select,
.search-box-area table td .free-word {
  background-color: #fff;
  border: 1px solid #989898;
  border-radius: 5px;
  padding-left: 7px;
}

.search-box-area table td .free-word {
  font-size: 15px;
  padding: 8px 10px;
}

.input-group input::placeholder {
  color: #000;
}

.search-box-area .form-group_place {
  width: 46.5%;
}

.search-box-area .form-group_place #dep,
.search-box-area .form-group_place #busstop {
  width: 100%;
}

.search-box-area table td .search_button_free {
  cursor: pointer;
  border: 0px;
  width: 38px;
  height: 38px;
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background-image: url("../images/page/index/icon_search.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 38px;
  vertical-align: middle;
}

.search-box-area table .label-condition {
  border: 1px solid #989898;
  background-color: #fff;
  color: #000;
  padding: 10px 2em 10px 10px;
  display: block;
  width: 43%;
  font-weight: bold;
}

.search-box-area table .check_box:checked + .label-condition {
  border: 1px solid #00a5dc;
  background-color: #fff;
  color: #00a5dc;
}

.search-box-area table td .label_category {
  display: inline-block;
  background-color: #fff;
  padding: 8px 20px;
  margin-right: 20px;
  font-weight: bold;
  width: 25%;
}

.search-box-area table td .label_category:before,
.search-box-area table .label-condition:before {
  display: inline-block;
  content: "";
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 22px;
  height: 16px;
  width: 16px;
  vertical-align: middle;
  margin-bottom: 2px;
  margin-right: 15px;
}

.search-box-area table .check_box:checked + .label_category {
  border: 1px solid #00a5dc;
  background-color: #fff;
  color: #00a5dc;
}

.search-box-area table .check_box:checked + .label_category:before {
  border: 3px solid #00a5dc;
  box-sizing: border-box;
}

.search-box-area table .label-condition:before {
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.search-box-area table .check_box:checked + .label-condition:before {
  border: 3px solid #00a5dc;
  border-radius: 22px;
}

/* ────────────────────── *

 * TOP

 * ────────────────────── */

/* メインスライド */
#mainslide {
  margin-bottom: 50px;
}

#mainslide ul li img {
  width: 100%;
}

/* 緊急情報 */
.caution {
  margin-bottom: 60px;
}

.caution h2 {
  float: left;
  background: #8f0012;
  color: #fff;
  text-align: center;
  padding: 20px 0px;
  width: 25%;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.05em;
}

.caution ul {
  float: right;
  width: 70%;
}

.caution ul li {
  font-size: 16px;
  line-height: 1.7;
}
.caution ul li a {
  display: block;
  text-decoration: underline;
  /*font-size: 20px;
	font-weight: bold;
	color: #333;
	padding: 20px 0;
	line-height: 1.6em;*/
}

.caution ul li:nth-child(n + 2) {
  /*border-top: 1px dotted #ccc;*/
  margin-top: 15px;
}

.caution ul li a:hover {
  color: #135ba9;
}

.caution ul li p {
  line-height: 2.5;
}

/* 最新情報 */
.index_news {
  margin-bottom: 60px;
}

.index_news .inner {
  border: 10px solid #ffe9df;
  padding: 40px 30px;
  box-sizing: border-box;
}

.index_news h2 {
  text-align: center;
  width: 40%;
  padding: 15px 0;
  margin: 0 auto 40px;
  border-top: 4px solid #171c61;
  border-bottom: 4px solid #171c61;
  font-size: 30px;
  font-weight: bold;
}

.index_news div.news_list {
  overflow-y: scroll;
  height: 250px;
  padding: 0 15px 0 0;
  margin-bottom: 50px;
}

div.news_list dl {
  display: table;
  width: 100%;
  margin-bottom: 20px;
}

div.news_list dl dt,
div.news_list dl dd {
  display: table-cell;
  box-sizing: border-box;
  vertical-align: middle;
  padding: 8px 0;
}

div.news_list dl dt {
  width: 14%;
}

div.news_list dl dd:nth-of-type(1) {
  width: 16%;
  text-align: center;
  color: #fff;
}

div.news_list dl dd:nth-of-type(2) {
  width: 70%;
  padding-left: 2%;
}

div.news_list dl dd a {
  display: block;
  color: #333;
}

div.news_list dl dd a:hover {
  color: #3472b5;
  text-decoration: underline;
}

div.news_list dl dd:nth-of-type(1).dragonspack,
.main_cantents.topics .blog_single ul li.dragonspack {
  background-color: #171c61;
}

div.news_list dl dd:nth-of-type(1).news,
.main_cantents.topics .blog_single ul li.news {
  background-color: #8f0012;
}

.btn001 a {
  padding: 20px 10px;
  margin: 0 auto;
  width: 40%;
  box-sizing: border-box;
  display: block;
  font-size: 18px;
  text-align: center;
  background-repeat: no-repeat;
  background-position: 5% center;
}

.btn001.white a {
  border: 1px solid #808080;
  background-image: url(../images/page/index/icon_btn_black.jpg);
  color: #333;
}

.btn001.white a:hover {
  color: #fff;
  background-image: url(../images/page/index/icon_btn_white.jpg);
  background-color: #171c61;
}

.btn001.blue a {
  border: 1px solid #fff;
  background-image: url(../images/page/index/icon_btn_white.jpg);
  color: #fff;
  background-color: #171c61;
}

.btn001.blue a:hover {
  color: #171c61;
  background-image: url(../images/page/index/icon_btn_black.jpg);
  background-color: #fff;
}

.btn001.blue02 a {
  border: 1px solid #036eb8;
  background-image: url(../images/common/icon_btn_white02.png);
  background-color: #036eb8;
  color: #fff;
}

.btn001.blue02 a:hover {
  background-image: url(../images/common/icon_btn_blue02.png);
  background-color: #fff;
  color: #036eb8;
}

/* 最新情報　中ページ・詳細 */
.page_topics {
  background: url("../images/page/topics/main_bg.jpg") no-repeat center center;
}

/* ランキング */
.index_ranking {
  background: url(../images/page/index/bg_ranking.jpg) center no-repeat;
  background-size: cover;
  padding: 60px 0;
  color: #fff;
}

.index_ranking h2 {
  text-align: center;
  font-size: 35px;
  font-weight: bold;
  letter-spacing: 0.4em;
  margin-bottom: 60px;
}

.index_ranking h2 span {
  display: block;
  font-size: 24px;
  margin-bottom: 24px;
  font-weight: normal;
  letter-spacing: 0.2em;
}

.index_ranking h2 span:before {
  content: url(../images/page/index/icon_ranking.png);
  margin-right: 15px;
  display: inline-block;
  vertical-align: middle;
}

.ranklist {
  margin-bottom: 40px;
  counter-reset: number;
}

.ranklist article {
  width: 31%;
  margin: 0 1%;
  box-sizing: border-box;
  border: 3px solid #a0a1a1;
  background-color: #fff;
}

.ranklist article a {
  display: block;
  padding: 20px 3%;
  background-color: #fff;
  color: #333;
}

.ranklist article a:hover {
  background-color: #171c61;
  color: #fff;
}

.ranklist article p.rankttl {
  margin: 0 auto 20px;
  padding: 15px 5px;
  width: 80%;
  text-align: center;
  font-size: 16px;
  background: #171c61;
  transform: skewX(-15deg);
  box-sizing: border-box;
  color: #fff;
}

.ranklist article p.rankttl span {
  font-size: 24px;
  margin-left: 10px;
  display: inline-block;
  vertical-align: middle;
}

.ranklist article p.rankttl span::after {
  counter-increment: number;
  content: counter(number);
}

.ranklist article h3 {
  text-align: center;
  margin-bottom: 30px;
  font-size: 17px;
  font-weight: bold;
}

.ranklist article h3 span {
  display: block;
  font-size: 14px;
}

.ranklist article p.rankimg {
  margin-bottom: 20px;
}

.ranklist article p.rankimg img {
  width: 100%;
  height: 220px;
}

.ranklist article dl {
  display: table;
  width: 100%;
}

.ranklist article dl:nth-of-type(n + 2) {
  margin-top: 12px;
}

.ranklist article dl dt,
.ranklist article dl dd {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
  padding-top: 5px;
  padding-bottom: 5px;
}

.ranklist article dl dt {
  text-align: center;
  width: 35%;
  background-color: #0080ae;
  color: #fff;
}

.ranklist article dl dd {
  padding-left: 3%;
  text-align: left;
}

/* 確約コース */
.kakuyaku {
  background-image: url(../images/page/index/bg_kakuyaku_l.png),
    url(../images/page/index/bg_kakuyaku_r.png);
  background-size: 42%, 42%;
  background-repeat: no-repeat, no-repeat;
  background-position: left top, right bottom;
  padding: 8% 0;
}

/* おすすめ特集 */
.osusume {
  background-color: #eef4ee;
  padding: 60px 0;
  margin-bottom: 60px;
}

.osusume h2 {
  display: flex;
  align-items: center;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 45px;
  letter-spacing: 0.2em;
}

.osusume h2:before {
  content: url(../images/page/index/icon_osusume.jpg);
  display: inline-block;
  vertical-align: middle;
  margin-right: 15px;
}

.osusume h2:after {
  border-top: 4px solid #171c61;
  content: "";
  flex-grow: 1;
  margin-left: 30px;
}
.osusume_list {
  display: grid !important;
  grid-template-columns: repeat(3, 300px);
  gap: 25px;
  justify-content: center;
}

/*.osusume_list li {
	margin: 0 25px 25px 0;
}

.osusume_list li:nth-child(3n) {
	margin: 0 0 25px 0;
}
*/
.index_bnr_list {
  margin-bottom: 60px;
}

.index_bnr_list li {
  margin: 0 5px 10px;
}

/* sns */
.index_sns {
  margin-bottom: 60px;
}

.index_sns .sns_box {
  width: 48%;
}

.index_sns .sns_box.instagram {
  width: 58%;
}

.index_sns .sns_box.sns_link {
  width: 37%;
  margin-top: 0rem;
}

.index_sns .sns_box.twitter iframe {
  width: 504px !important;
}

.index_sns .sns_box h3 {
  text-align: center;
  margin-bottom: 30px;
}

.index_sns .line {
  margin-top: 40px;
  text-align: center;
}
.sns_box .footbnr001 li {
  width: 100%;
}
.sns_box .footbnr001 li:not(:last-child) {
  margin-bottom: 1.4rem;
}
.sns_box .footbnr001 li.tw a {
  background-image: url(../images/common/sns-x.webp);
  background-size: 32px;
  padding-left: 50px;
}

.sns_box .footbnr001 li.fb a {
  background-image: url(../images/common/sns-fb.webp);
}
.sns_box .footbnr001 li.insta a {
  background-image: url(../images/common/sns-insat.webp);
}

.sns_box .footbnr001 li.li a {
  background-image: url(../images/common/sns-line.webp);
}

.sns_box.sns_link .footbnr001 li a {
  border: solid 5px #dcdcdc;
  font-size: 18px;
  font-weight: bold;
  background-size: 40px;
  color: #000 !important;
  background-position: 10% center;
  padding: 25px 3px 25px 35px;
  padding-left: 90px !important;
}

.sns_box.instagram .sns_inner {
  height: 409px;
  overflow: scroll;
}

.index_sns .inner_1000 > div {
  width: 85%;
  margin: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

/* ────────────────────── *

 * おすすめ特集

 * ────────────────────── */
.pagemain {
  text-align: center;
  margin-bottom: 60px;
}

#contents {
  margin-bottom: 80px;
}

.reco_list article {
  width: 29%;
  margin: 0 2% 60px;
}

.reco_list article p.recoimg img {
  width: 100%;
  height: 220px;
}

.reco_list article h3 {
  text-align: left;
  font-weight: bold;
  font-size: 17px;
  line-height: 1.7em;
  margin: 20px 0 15px;
  border-bottom: 1px solid #333;
  padding-bottom: 30px;
  min-height: 110px;
}

.reco_list article dl {
  width: 100%;
  display: table;
}

.reco_list article dl:nth-of-type(n + 2) {
  margin-top: 15px;
}

.reco_list article dl dt,
.reco_list article dl dd {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
  padding: 3px 0;
}

.reco_list article dl dt {
  text-align: center;
  border: 1px solid #171c61;
  color: #171c61;
  width: 30%;
}

.reco_list article dl dd {
  text-align: right;
  font-size: 18px;
  font-weight: bold;
}

.reco_list article p.detailbtn a {
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 0;
  text-align: center;
  width: 80%;
  margin: 40px auto 0;
  border: 1px solid #171c61;
  color: #fff;
  background-color: #171c61;
  background-image: url(../images/page/recommend/icon_btn.png);
  background-position: 4% center;
  background-repeat: no-repeat;
}

.reco_list article p.detailbtn a:hover {
  background-color: #fff;
  color: #171c61;
}

.wp-pagenavi {
  text-align: center;
}

/* ────────────────────── *

 * メディア紹介ツアー

 * ────────────────────── */
.page_massmedia {
  background: url("../images/page/massmedia/main_bg.jpg") no-repeat center
    center;
}

.media_ttl {
  background: url("../images/page/massmedia/img_ttl_left.jpg"),
    url("../images/page/massmedia/img_ttl_right.jpg");
  background-position: left center, right center;
  background-repeat: no-repeat, no-repeat;
  text-align: center;
  margin: 0 0 40px;
  padding: 40px 270px;
  box-sizing: border-box;
}

.media_ttl h3 {
  font-size: 30px;
  font-weight: bold;
  color: #172a80;
  background: linear-gradient(transparent 60%, #ffeb3b 60%);
}

.media_ttl p {
  background-color: #8e0012;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 6px 0;
  margin-top: 18px;
}

.meia_list article {
  width: 23%;
  margin: 0 1% 20px;
  border: 5px solid #bddbed;
  padding: 10px;
  box-sizing: border-box;
}

.meia_list article p.md_photo img {
  width: 100%;
  height: 150px;
}

.meia_list article h3 {
  border-bottom: 1px solid #333;
  padding-bottom: 15px;
  margin: 10px 0 15px;
  font-weight: bold;
}

.meia_list article h3 span {
  display: block;
  font-weight: normal;
  font-size: 12px;
  margin-bottom: 10px;
}

.meia_list article ul {
  margin-bottom: 20px;
}

.meia_list article ul li {
  text-align: center;
  color: #fff;
  padding: 2px 10px;
  margin-right: 1%;
  font-size: 12px;
}

.meia_list article ul li.news,
.main_cantents .blog_single ul li.news {
  background-color: #2e8088;
}

.meia_list article ul li.tv,
.main_cantents .blog_single ul li.tv {
  background-color: #8e0012;
}

.meia_list article ul li.internet,
.main_cantents .blog_single ul li.internet {
  background-color: #fe9901;
}

.meia_list article ul li.magazine,
.main_cantents .blog_single ul li.magazine {
  background-color: #1babdf;
}

.meia_list article p.md_btn a {
  display: block;
  text-align: center;
  padding: 6px 0;
  color: #fff;
  background-color: #172a80;
  border: 1px solid #172a80;
  border-radius: 4px;
}

.meia_list article p.md_btn a:hover {
  color: #172a80;
  background-color: #fff;
}

/* single */
.main_cantents.m_left,
#sidebar.s_left {
  float: left;
}

.main_cantents.m_right,
#sidebar.s_right {
  float: right;
}

.main_cantents {
  width: 74%;
}

#sidebar {
  width: 20%;
}

.main_cantents .blog_single h2 {
  font-weight: bold;
  font-size: 30px;
  line-height: 1.6em;
  margin-bottom: 24px;
}

.main_cantents .blog_single h2 span {
  display: block;
  font-size: 12px;
  margin-bottom: 20px;
}

.main_cantents .blog_single ul {
  margin-bottom: 40px;
}

.main_cantents .blog_single ul li {
  text-align: center;
  color: #fff;
  padding: 2px 10px;
  margin-right: 1%;
  font-size: 13px;
  min-width: 100px;
}

.single_contents h3 {
  font-size: 20px;
  font-weight: bold;
  border-top: 2px solid #172a80;
  padding: 35px 6px;
}

.single_contents div.blog_detail_list {
  margin-bottom: 70px;
}

.single_contents div.blog_detail {
  margin: 0 50px 40px;
}

.single_contents div.blog_detail p {
  margin-bottom: 24px;
  line-height: 1.8em;
}

.single_contents div.blog_detail p img {
  max-width: 100%;
}

.single_contents p.detail_btn a {
  display: block;
  width: 300px;
  border: 1px solid #172a80;
  background-color: #172a80;
  color: #fff;
  text-align: center;
  padding: 15px 0;
  margin: 10px auto;
  border-radius: 8px;
}

.single_contents p.detail_btn a:hover {
  background-color: #fff;
  color: #172a80;
}

#sidebar h3 {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  border-top: 2px solid #172a80;
  padding: 15px 0;
}

#sidebar ul.blogsidelist {
  margin-bottom: 40px;
}

#sidebar ul.blogsidelist li a {
  display: block;
  padding: 10px 15px;
  color: #333;
  border-top: 1px dotted #ccc;
}

#sidebar ul.blogsidelist li a:hover {
  background-color: #172a80;
  color: #fff;
}

/* ────────────────────── *

 * 乗り場：乗車ルート案内

 * ────────────────────── */
.page_platform {
  background: url("../images/page/platform/main_bg.jpg") no-repeat center center;
}

section.plat_cont {
  margin-bottom: 80px;
}

section.plat_cont h3 {
  background: url(../images/page/platform/ttl_left.png) no-repeat left center;
  padding: 18px 0 18px 110px;
  font-size: 34px;
  font-weight: bold;
  color: #1d2080;
  margin-bottom: 40px;
  display: flex;
  align-items: center;
}

section.plat_cont h3 span {
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
}

section.plat_cont h3:after {
  border-top: 2px solid #1d2080;
  content: "";
  flex-grow: 1;
  margin-left: 1rem;
}

.plat_list article {
  width: 31%;
  margin: 0 1% 40px;
  text-align: center;
  border-bottom: 2px solid #1d2080;
}

.plat_list article p.plat_photo img {
  width: 100%;
  height: 220px;
}

.plat_list article h4 {
  font-weight: bold;
  /*margin: 15px 0;*/
  margin: 15px 0 5px;
  font-size: 17px;
}
.plat_list article a {
  color: #000;
}
.plat_list article a:hover {
  color: #135ba9;
  opacity: 0.8;
}

/* single */
.single_head {
  margin-bottom: 70px;
}

.sh_left {
  background: url("../images/page/platform/bg_ttlarea.jpg") center top no-repeat;
  float: left;
  width: 570px;
  min-height: 350px;
  padding: 20px;
  color: #fff;
  box-sizing: border-box;
}

.sh_left p {
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  padding: 20px;
  font-size: 20px;
}

.sh_left p span {
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
}

.sh_left h3 {
  font-weight: bold;
  font-size: 26px;
  text-align: center;
  line-height: 1.8em;
  margin: 60px 5% 120px;
  padding: 10px 0;
  background: url("../images/page/platform/icon_bus.png") 3% center no-repeat;
}

.sh_right {
  float: right;
  width: 450px;
}

.sh_right img {
  width: 100%;
}

.single_content {
  margin-bottom: 70px;
}

.plat_ttl {
  background: url("../images/page/platform/icon_ttl.jpg") left center no-repeat;
  padding-left: 40px;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 30px;
}

.plat_ttl span {
  font-size: 20px;
  vertical-align: middle;
  display: inline-block;
  margin-left: 20px;
}

div.grayarea {
  border: 3px solid #9fa0a0;
  padding: 40px;
  text-align: center;
}

div.grayarea.tal {
  text-align: left;
}

div.grayarea p img {
  max-width: 100%;
}

p.ggmap_btn {
  text-align: center;
  margin-bottom: 60px;
}

ul.pdf_btn li {
  margin: 0 1%;
}

p.btn_otherlink a {
  display: block;
  margin: 60px auto;
  text-align: center;
  background-color: #172a80;
  border: 1px solid #172a80;
  color: #fff;
  padding: 30px 0;
  width: 45%;
  font-size: 18px;
  border-radius: 8px;
}

p.btn_otherlink a:hover {
  background-color: #fff;
  color: #172a80;
}

/* ────────────────────── *

 * デジタルチラシ

 * ────────────────────── */
.page_flyer {
  background: url("../images/page/flyer/main_bg.jpg") no-repeat center center;
}

.flyer_ttl {
  background: url("../images/page/flyer/bg_img001.png") no-repeat right center;
  margin-bottom: 40px;
}

.flyer_click {
  border: 2px solid #172a80;
  border-radius: 20px;
  padding: 40px 170px;
  margin-bottom: 60px;
  text-align: center;
  background: url("../images/page/flyer/ttl_left.jpg"),
    url("../images/page/flyer/ttl_right.jpg");
  background-position: 4% center, 96% center;
  background-repeat: no-repeat, no-repeat;
}

.flyer_click h4 {
  font-size: 30px;
  font-weight: bold;
  color: #172a80;
  background: linear-gradient(transparent 60%, #ffeb3b 60%);
}

.flyer_click p.text {
  font-size: 20px;
  margin: 20px 0 6px;
}

.flyer_click p.caption {
  font-size: 14px;
}

.flyer_ttl002 {
  font-size: 20px;
  line-height: 1.5em;
  font-weight: bold;
  background: #f1f2fb url("../images/page/flyer/icon_ttl.jpg") no-repeat 15px
    20px;
  border-bottom: 6px solid #d2e0e8;
  padding: 18px 0 10px 60px;
  margin-bottom: 40px;
}

.flyer_ttl002 span {
  display: block;
  font-size: 14px;
}

p.selece_flyer {
  text-align: center;
  color: #172a80;
  font-size: 20px;
  font-weight: bold;
  margin: 30px 0;
}

section.fl_content {
  margin-bottom: 70px;
}

div.flyer_list article {
  width: 23%;
  margin: 0 1% 20px;
  box-sizing: border-box;
  border: 5px solid #bddbed;
  padding: 20px 15px 10px;
  text-align: center;
}

div.flyer_list article h4 {
  font-size: 18px;
  font-weight: bold;
  border-bottom: 1px solid #333;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

div.flyer_list article p.fl_img {
  width: 140px;
  margin: 0 auto 20px;
}

div.flyer_list article p.fl_img img {
  width: 100%;
}

div.flyer_list article p.detail_btn a {
  display: block;
  border: 1px solid #172a80;
  background-color: #172a80;
  color: #fff;
  text-align: center;
  padding: 8px 0;
  border-radius: 8px;
}

div.flyer_list article p.detail_btn a:hover {
  background-color: #fff;
  color: #172a80;
}

.fl_content p.btn_otherlink a {
  display: block;
  margin: 60px auto;
  text-align: center;
  background-color: #172a80;
  border: 1px solid #172a80;
  color: #fff;
  padding: 30px 0;
  width: 45%;
  font-size: 18px;
  border-radius: 8px;
}

.fl_content p.btn_otherlink a:hover {
  background-color: #fff;
  color: #172a80;
}
/* ────────────────────── *

 * 人気ランキング

 * ────────────────────── */
.page_ranking {
  background: url("../images/page/ranking/main_bg.jpg") no-repeat center center;
}

/* ────────────────────── *

 * お問合わせまとめ

 * ────────────────────── */
.page_contact {
  background: url(../images/page/contact/main_bg.jpg) no-repeat center center;
}

#contact .tel_list {
  margin-bottom: 200px;
}

#contact .tel_list h3,
#contact .mail_list h3 {
  margin-bottom: 50px;
  font-size: 31px;
}

#contact .tel_list h3:before {
  content: "";
  background: url(../images/page/contact/tel_icon.png) no-repeat center center;
  width: 60px;
  height: 60px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 40px;
}

#contact .tel_list ul {
  margin-bottom: 40px;
}

#contact .tel_list ul li {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  padding: 15px 30px;
  background-color: #172a80;
  min-width: 12%;
  text-align: center;
}

#contact .tel_list ul li.white {
  font-size: 26px;
  color: #000;
  padding: 15px 30px;
  background-color: #fff;
}

#contact .tel_list h4 {
  border: 1px solid #172a80;
  border-bottom: none;
  font-size: 26px;
  font-weight: bold;
  padding: 20px 0 20px 20px;
}

#contact .tel_list h4:before {
  content: "";
  background: url(../images/common/ttl_icon.png) no-repeat center center;
  background-size: contain;
  display: inline-block;
  width: 30px;
  height: 34px;
  vertical-align: middle;
  margin-right: 10px;
  margin-top: 1px;
}

#contact .tel_list h4:after {
  border-top: 10px solid #7783b2;
  content: "";
  flex-grow: 1;
  margin-left: 30px;
}

#contact .tel_number {
  width: 90%;
  margin: 0 auto 30px;
}

#contact .tel_number p {
  font-size: 45px;
  font-weight: bold;
  padding-top: 1px;
}

#contact .tel_number p span {
  font-size: 20px;
  font-weight: normal;
  vertical-align: middle;
  display: inline-block;
  margin-top: 0.2em;
}

#contact .tel_desc {
  border: 1px solid #172a80;
  padding: 40px 40px 25px;
  margin-bottom: 30px;
}

/*#contact .tel_desc:last-child {
	margin-bottom: 70px;
}*/

#contact .tel_desc dl {
  font-size: 16px;
}

#contact .tel_desc dt {
  line-height: 1;
  background-color: #d9d9d9;
  padding: 10px 20px;
  margin-right: 20px;
}

/*#contact .tel_desc dd {
	margin-right: 30px;
}*/

#contact .contact_desc dl {
  font-size: 16px;
}

#contact .contact_desc dt {
  line-height: 1;
  background-color: #d9d9d9;
  padding: 10px 20px;
  margin-right: 20px;
  max-width: 104px;
  flex-shrink: 0;
}
#contact .contact_desc .time {
  width: 35%;
}

#contact .contact_desc dl + dl {
  margin-left: 30px;
}

#contact .tel_number p span {
  font-size: 20px;
  font-weight: normal;
  vertical-align: middle;
  display: inline-block;
  margin-top: 0.2em;
}
#contact .contact_desc_notice {
  font-size: 17px;
  margin-top: 20px;
}

#contact .contact_desc_notice .red {
  color: #8e0012;
  font-weight: bold;
}

#contact .mail_list {
  margin-bottom: 70px;
}

#contact .mail_list h3:before {
  content: "";
  background: url(../images/page/contact/mail_icon.png) no-repeat center center;
  width: 60px;
  height: 60px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 40px;
}

#contact .mail_btn_list {
  margin-bottom: 70px;
}

#contact .mail_btn_list a {
  width: 48%;
  padding: 30px 40px;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.3;
  color: #000000;
  background: url(../images/common/conditions_btnbgb_off.png) no-repeat;
  background-position: right 10px bottom 10px;
  border: 6px solid #d2e0e8;
  box-sizing: border-box;
}

#contact .mail_btn_list a img {
  margin-right: 30px;
}

#contact .mail_btn_list a span {
  display: block;
  font-size: 27px;
  font-weight: normal;
}

#contact .mail_btn_list a:hover {
  color: #fff;
  background: url(../images/common/conditions_btnbg_on.png) no-repeat;
  background-position: right 10px bottom 10px;
  background-color: #171c61;
}

#contact .mail_list .text_area .red {
  color: #8e0012;
  font-size: 24px;
}

/* ────────────────────── *

 * お問合わせフォーム

 * ────────────────────── */

.contact_form article {
  margin-bottom: 40px;
}

.ttl_area {
  width: 70%;
}

.contact_form article h3 {
  font-size: 38px;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E,
    メイリオ, Meiryo, serif;
  margin-bottom: 40px;
}

.contact_form article .ttl_area h3:before {
  content: "";
  background: url(../images/page/contact/ttl_mail_icon.png) no-repeat center
    center;
  background-size: contain;
  display: inline-block;
  width: 54px;
  height: 54px;
  vertical-align: middle;
  margin-top: -12px;
  margin-right: 20px;
}

.contact_form article .ttl_area h3:after {
  content: "";
  display: block;
  background: linear-gradient(to right, #f1f1f1 0%, #ffffff 50%, #f1f1f1 100%);
  height: 5px;
  margin-top: 15px;
}

.contact_form article .ttl_area h3 span {
  font-size: 50%;
  vertical-align: middle;
  padding-left: 20px;
}

.contact_form article img {
  max-height: 189px;
  max-width: 189px;
  width: 189px;
  padding-left: 60px;
}

.req,
.txtred,
.red-attn {
  color: #cc0000;
  font-weight: bold;
}

.form_contents h3 {
  background: #f7f3f0;
  padding: 30px 0;
  text-align: center;
  font-size: 20px;
  font-weight: 550;
  border-bottom: solid 1px #ccc;
}

.form_contents p.text {
  text-align: right;
}

table.formtbl {
  width: 100%;
  border-top: solid 1px #ccc;
  table-layout: fixed;
}

table.formtbl th.bg_red,
table.formtbl td.bg_red {
  background: #fff3f3;
  padding: 30px 15px;
}

table.formtbl tr th,
table.formtbl tr td {
  box-sizing: border-box;
  padding: 15px 20px;
  border: solid 1px #000;
}

table.formtbl tr th {
  width: 25%;
  background-color: #f0f4e3;
  position: relative;
  vertical-align: top;
  padding: 20px;
  font-size: 18px;
  font-weight: 800;
}

table.formtbl tr th .req {
  position: absolute;
  right: 20px;
  top: 17px;
  padding: 2px 10px;
  background-color: #fff;
  font-size: 14px;
}

table.formtbl tr td,
div.formtbl dl dd {
  width: 68%;
}

.formtbl input.w30 {
  width: 35%;
}

.formtbl input.w60 {
  width: 60%;
}

.formtbl input.w90,
.formtbl textarea {
  width: 96%;
}

.formtbl input,
.formtbl textarea {
  padding: 8px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  font-size: 14px;
  max-width: 100%;
}

.formtbl select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 90%;
  padding: 10px;
  box-sizing: border-box;
  font-size: 15px;
  border: 1px solid #ccc;
}

.formtbl tr td span.wpcf7-list-item {
  display: block;
  widtgh: 100%;
}

table.formtbl td.f-address input {
  margin-bottom: 7px;
}

table.formtbl td label {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}

table.formtbl td input[type="radio"] {
  padding: 0 5px;
  margin: 0 5px;
}

table.formtbl td label span {
  margin-left: 5px;
}

.formtbl td input:focus,
.formtbl td textarea:focus {
  background: #fffaca;
}

table.formtbl td p.fcap {
  padding-bottom: 20px;
}

input[type="submit"] {
  -webkit-appearance: none;
}

#submit {
  text-align: center;
  margin: 60px auto;
  width: 50%;
}

/*#submit input{
	background: #3d72b8;
	color: #fff;
	border:1px solid #3d72b8;
	width: 33%;
	padding: 20px 0;
	font-size: 16px;
    font-weight: 500;
	border-radius: 5px;
}*/

#submit input,
.contact-complete a {
  padding: 20px 40px;
  width: 47%;
  font-size: 17px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E,
    メイリオ, Meiryo, serif;
  border: 1px solid #9fa0a0;
  background: url(../images/page/contact/btn_link.png) no-repeat;
  background-position: left 10% center;
  background-color: #808080;
  transition: 0.3s ease-in-out;
}

#submit input:hover,
.contact-complete a:hover {
  background-color: #000000;
  cursor: pointer;
}

/* 入力内容クリアボタンを確認画面時に非表示 */
.mw_wp_form_confirm #submit input.resetbtn {
  display: none;
}

/*#submit input.backbtn,
#submit input.wpcf7c-btn-back{
	background: #f2f2f2;
    color: #333;
	border:1px solid #3d72b8;
	width: 30%;
	padding: 20px 0;
	font-size: 16px;
	border-radius: 5px;
	margin-right: 20px;
}

#submit input.backbtn:hover,
#submit input.wpcf7c-btn-back:hover{
	background: #bababa;
	color: #3d72b8;
	cursor:pointer; 
}*/

span.error {
  color: #ff0000;
  font-weight: bold;
  margin-left: 5px;
}

/* 入力エラー */
div.c_unit {
  margin: 30px 0;
}

div.contact-error {
  background: #ffdede;
  padding: 30px;
  margin-bottom: 30px;
  text-align: center;
}

div.contact-error h2 {
  color: #ff0000;
  font-size: 20px;
  margin-bottom: 30px;
  font-weight: bold;
}

div.contact-text p,
div.contact-complete p {
  margin-bottom: 40px;
}

/* ────────────────────── *

 * リボンポイントカードページ(旧：すたんぷカードページ)

 * ────────────────────── */

.page_stamp {
  background: url("../images/page/stampcard/main_bg.jpg") no-repeat center
    center;
}

.stamp_list h3 {
  margin-bottom: 40px;
}

.stamp_list {
  margin-bottom: 120px;
}

.stamp_list01 .text_area {
  background: url("../images/page/stampcard/stamp_img01.png") no-repeat right
    bottom;
  margin-bottom: 30px;
}

.stamp_list01 .text_area p {
  font-size: 22px;
  line-height: 1.8;
  padding-bottom: 3em;
  width: 68%;
}

.stamp_list01 .text_area p span {
  font-weight: bold;
}

.stamp_list01 dt {
  position: relative;
  margin-bottom: 20px;
}

.stamp_list01 dt span {
  font-weight: bold;
  color: #fff;
  background-color: #171c61;
  border-radius: 10px;
  font-size: 28px;
  padding: 15px 50px;
  display: inline-block;
}

.stamp_list01 dt:before {
  content: "";
  width: 66%;
  max-width: 66%;
  border-bottom: 8px solid #171c61;
  position: absolute;
  top: 38%;
  right: 0;
}

.stamp_list01 dd {
  border-bottom: 1px dashed #9fa0a0;
  padding: 20px 20px 20px 15px;
  display: table;
  width: 100%;
  min-height: 85px;
}

.stamp_list01 dd p {
  border-left: 10px solid #65c8d0;
  padding-left: 20px;
  font-size: 24px;
  line-height: 1.75;
  vertical-align: middle;
  display: table-cell;
}

.stamp_list01 p.link_btn {
  width: 70%;
  margin: 60px auto 0;
}

.stamp_list01 a {
  display: block;
  padding: 30px 20px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  border: 1px solid #9fa0a0;
  background: url(../images/page/stampcard/link_btn_off.png) no-repeat;
  background-position: right 40px center;
  background-color: #171c61;
}

.stamp_list01 a:hover {
  color: #171c61;
  background: url(../images/page/stampcard/link_btn_on.png) no-repeat;
  background-position: right 40px center;
  background-color: #fff;
}

.stamp_list02 ul li {
  padding: 40px 0;
  line-height: 1.6;
  border-bottom: 1px dashed #9fa0a0;
}

.stamp_list02 ul li:first-child {
  padding-top: 0;
}

.stamp_list02 ul li span {
  font-size: 20px;
  font-weight: bold;
  padding: 6px 30px;
  display: inline-block;
  color: #fff;
  background-color: #171c61;
  margin-bottom: 25px;
}

.stamp_list03 ul li {
  padding-bottom: 60px;
  font-size: 16px;
  line-height: 1.6;
}

.stamp_list03 ul li h4 {
  font-size: 20px;
  font-weight: bold;
  padding: 20px 30px;
  border: 1px solid #036e80;
  margin-bottom: 30px;
}

.ribbonpoint_wrap a.link_btn_txt {
  color: #171c61;
  font-weight: bold;
  text-decoration: underline;
}

.ribbonpoint_wrap a.link_btn_txt:hover {
  opacity: 0.7;
}

.ribbonpoint_wrap .link_btn a {
  display: block;
  padding: 20px 2.5em;
  font-size: 20px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  border: 1px solid #9fa0a0;
  background: url(../images/common/link_arrow_off.png) no-repeat;
  background-position: right 20px center;
  background-color: #171c61;
}

.ribbonpoint_wrap .link_btn a:hover {
  color: #171c61;
  background: url(../images/common/link_arrow_on.png) no-repeat;
  background-position: right 20px center;
  background-color: #fff;
}

.ribbonpoint_wrap .red {
  color: #8f0012;
  font-weight: bold;
}

.ribbonpoint_wrap .red.underline {
  text-decoration: underline;
}

.ribbonpoint_wrap .link_btn_list .link_btn {
  width: 43%;
  margin: 0 auto 20px;
}

.ribbonpoint_wrap .page_stamp {
  background: url("../images/page/stampcard/main_bg.jpg") no-repeat center
    center;
}

.ribbonpoint_wrap .stamp_infomation {
  text-align: center;
}

.ribbonpoint_wrap .stamp_infomation .stxt {
  font-size: 14px;
}

.ribbonpoint_wrap .stamp_infomation .link_btn {
  width: 60%;
  margin: 0 auto 20px;
}

.ribbonpoint_wrap #stamp_menulist ul {
  counter-reset: number 0;
  width: 53%;
}

.ribbonpoint_wrap #stamp_menulist ul li {
  border: 1px solid #b8b8b8;
  margin-bottom: 20px;
  background: #fff;
}

.ribbonpoint_wrap #stamp_menulist ul li a {
  display: block;
  padding: 10px 20px;
  font-size: 18px;
  content: counter(a);
  margin: 0 5px 3px;
  background: url(../images/page/faq/link_btn_bg.png) repeat-x;
  background-size: contain;
  color: #333333;
}

.ribbonpoint_wrap #stamp_menulist ul li a:hover {
  opacity: 0.7;
}

.ribbonpoint_wrap #stamp_menulist ul li a::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  display: inline-block;
  background: #172a80;
  color: #fff;
  text-align: center;
  line-height: 19px;
  margin-top: 3px;
  margin-right: 15px;
  padding: 10px;
}

.ribbonpoint_wrap #stamp_menulist .imgarea {
  width: 35%;
  margin-bottom: 20px;
}

.ribbonpoint_wrap #stamp_menulist .imgarea img {
  width: 100%;
}

.ribbonpoint_wrap .stamp_list h3 {
  margin-bottom: 40px;
}

.ribbonpoint_wrap .stamp_list_wrap {
  counter-reset: wrapnumber 0;
}

.ribbonpoint_wrap .stamp_list {
  margin-bottom: 120px;
}

.ribbonpoint_wrap .stamp_list_wrap .stamp_list h3 {
  padding-left: 100px;
}

.ribbonpoint_wrap .stamp_list_wrap .stamp_list h3:before {
  counter-increment: wrapnumber 1;
  content: counter(wrapnumber, decimal-leading-zero);
  display: inline-block;
  background: #172a80;
  color: #fff;
  text-align: center;
  padding: 24px 24px 20px;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  left: 1px;
  top: 2px;
}

.ribbonpoint_wrap .stamp_desc .txt {
  margin-bottom: 20px;
}

.ribbonpoint_wrap .stamp_desc .stxt {
  font-size: 14px;
}

.ribbonpoint_wrap .stamp_desc ul {
  margin-bottom: 80px;
}

.ribbonpoint_wrap .stamp_desc ul li.link_btn {
  width: 38%;
}

.ribbonpoint_wrap .stamp_desc dt {
  position: relative;
}

.ribbonpoint_wrap .stamp_desc dt span {
  font-weight: bold;
  color: #fff;
  background-color: #171c61;
  border-radius: 10px;
  font-size: 24px;
  padding: 15px 50px;
  display: inline-block;
}

.ribbonpoint_wrap .stamp_desc dt:before {
  content: "";
  width: 70%;
  max-width: 70%;
  border-bottom: 8px solid #171c61;
  position: absolute;
  top: 38%;
  right: 0;
}

.ribbonpoint_wrap .stamp_desc dd {
  border-bottom: 1px dashed #9fa0a0;
  padding: 20px 20px 20px 15px;
  display: table;
  width: 100%;
  box-sizing: border-box;
}

.ribbonpoint_wrap .stamp_desc dd p {
  border-left: 5px solid #65c8d0;
  padding-left: 20px;
  font-size: 18px;
  line-height: 1.75;
  vertical-align: middle;
  display: table-cell;
}

.ribbonpoint_wrap .stamp_desc dd p a span {
  font-size: 14px;
}

.ribbonpoint_wrap .stamp_list02 ul > li {
  padding: 40px 0;
  line-height: 1.6;
  border-bottom: 1px dashed #9fa0a0;
}

.ribbonpoint_wrap .stamp_list02 ul > li:first-child {
  padding-top: 0;
}

.ribbonpoint_wrap .stamp_list02 ul > li .sttl {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0px;
}

.ribbonpoint_wrap .stamp_list02 ul > li .sttl span {
  font-size: 24px;
  font-weight: bold;
  padding: 6px 30px;
  display: inline-block;
  color: #fff;
  background-color: #171c61;
  margin-bottom: 0;
}

.ribbonpoint_wrap .stamp_list02 ul > li .sttl_wh span {
  color: #171c61;
  background-color: #fff;
  border: 1px solid #171c61;
}

.ribbonpoint_wrap .stamp_list02 ul li .sttl img {
  width: auto;
  height: 85px;
  margin-left: 10px;
}

.ribbonpoint_wrap .stamp_list02 ul li .pointimg {
  width: 525px;
}

.ribbonpoint_wrap .stamp_list02 ul li img {
  width: 100%;
  margin: 10px 0;
}

.ribbonpoint_wrap .stamp_list02 ul li dl {
  margin-top: 20px;
}

.ribbonpoint_wrap .stamp_list02 ul li dl dt {
  font-weight: bold;
}

.ribbonpoint_wrap .stamp_list02 ul li dl dd {
  line-height: 2;
}

.ribbonpoint_wrap .stamp_list02 ul li .txt_list {
  margin: 20px 0;
  line-height: 2;
}

.ribbonpoint_wrap .stamp_list03 ul li {
  padding-bottom: 60px;
  font-size: 16px;
  line-height: 1.6;
}

.ribbonpoint_wrap .stamp_list03 ul li h4 {
  font-size: 20px;
  font-weight: bold;
  padding: 20px 30px;
  border: 1px solid #036e80;
  margin-bottom: 30px;
}

.ribbonpoint_wrap .stamp_list04.txtarea {
  width: 50%;
}

.ribbonpoint_wrap .stamp_list04 .imgarea {
  width: 50%;
  margin-left: 30px;
}

@media screen and (min-width: 736px) {
  .ribbonpoint_wrap .stamp_list04 .imgarea img {
    width: 50%;
  }
}
/* ────────────────────── *

 * ご予約・お申込み

 * ────────────────────── */

.page_reservation {
  background: url(../images/page/reservation/main_bg.jpg) no-repeat center
    center;
}
.reservation_wrap .desc {
  text-align: center;
  padding-top: 15px;
  padding-bottom: 30px;
}
.reservation_wrap .desc.large {
  font-size: 24px;
  line-height: 1.7;
}
.reservation_btn_list ul {
  margin-bottom: 100px;
}

.reservation_btn_list ul li {
  width: 32%;
  margin-bottom: 20px;
}

.reservation_btn_list ul li a {
  display: block;
  padding: 20px 0;
  font-size: 16px;
  color: #171c61;
  border: 1px solid #3d72b8;
  text-align: center;
  transition: 0.3s ease-in-out;
}

.reservation_btn_list ul li a:hover,
.reservation_btn_list ul li a.checked {
  border: 1px solid #3d72b8;
  color: #fff;
  background-color: #3d72b8;
}

.reservation_btn_list_pdf ul li {
  width: 48%;
  margin-bottom: 20px;
}

.reservation_btn_list_pdf ul li a {
  padding: 20px 0;
  font-size: 18px;
  background-image: url(../images/page/index/icon_btn_black.jpg);
  background-repeat: no-repeat;
  background-position: 5% center;
}

.reservation_btn_list_pdf ul li a:hover {
  padding: 20px 0;
  font-size: 18px;
  background-image: url(../images/page/index/icon_btn_white.jpg);
  background-repeat: no-repeat;
  background-position: 5% center;
}

/* ────────────────────── *

 * よくあるご質問

 * ────────────────────── */

.page_faq {
  background: url(../images/page/faq/main_bg.jpg) no-repeat center center;
}

.faq_wrap .page_sub_title {
  font-size: 24px;
  text-align: center;
  line-height: 1.4;
  margin: 0 auto 70px;
}

.faq_category {
  background: url("../images/page/faq/btn_list_bg.jpg") no-repeat bottom center;
  background-size: cover;
  padding: 30px 0 70px;
  margin-bottom: 70px;
}

.faq_category ul {
  padding: 0 40px;
  counter-reset: number 0;
}

.faq_category ul li {
  width: 49%;
  border: 1px solid #b8b8b8;
  margin-bottom: 10px;
  background: #fff;
}

.faq_category ul li a {
  display: block;
  padding: 10px 20px;
  font-size: 18px;
  content: counter(a);
  margin: 0 5px 3px;
  background: url(../images/page/faq/link_btn_bg.png) repeat-x;
  background-size: contain;
  color: #333333;
}

.faq_category ul li a:hover {
  opacity: 0.7;
}

.faq_category ul li a::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  display: inline-block;
  background: #172a80;
  color: #fff;
  text-align: center;
  line-height: 19px;
  margin-top: 3px;
  margin-right: 15px;
  padding: 10px;
}

.faq_list_area {
  counter-reset: number 0;
}

.faq_list {
  margin-bottom: 100px;
}

.faq_list h3 {
  background: #172a80;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  padding: 15px 20px 15px 3.5em;
  margin-bottom: 30px;
  position: relative;
  line-height: 2;
}

.faq_list h3::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  display: inline-block;
  background: #fff;
  color: #172a80;
  text-align: center;
  padding: 10px;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  left: 20px;
}

.accor_ttl:after {
  content: "";
  display: block;
  display: inline-block;
  width: 28px;
  height: 28px;
  right: 5px;
  top: 3%;
  background: url(../images/page/faq/plus.png) no-repeat center center;
  position: absolute;
}

.accor_ttl.on:after {
  background-image: url(../images/page/faq/minus.png);
}

.accor_desc {
  display: none;
}

.accor_ttl_blue:after {
  content: "";
  display: block;
  display: inline-block;
  width: 28px;
  height: 28px;
  right: 30px;
  top: 29%;
  background: url(../images/page/conditions/plus.png) no-repeat center center;
  position: absolute;
}

.accor_ttl_blue.on:after {
  background-image: url(../images/page/conditions//minus.png);
}

.faq_list dl {
  padding: 20px;
  border: 1px solid #9fa0a0;
  margin-bottom: 15px;
}

.faq_list dl dt {
  position: relative;
  font-size: 18px;
  line-height: 1.6;
  padding: 0 45px;
}

.faq_list dl dt:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: 28px;
  height: 29px;
  background: url(../images/page/faq/icon_q.png) no-repeat center center;
  vertical-align: middle;
  margin-top: -4px;
  margin-right: 20px;
  position: absolute;
  top: 2px;
  left: 0;
}

.faq_list dl dd {
  border-top: dotted 2px #ddd;
  padding: 20px 20px 0 40px;
  margin-top: 20px;
  position: relative;
}

.faq_list dl dd:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: 28px;
  height: 29px;
  background: url(../images/page/faq/icon_a.png) no-repeat center center;
  vertical-align: middle;
  margin-right: 20px;
  position: absolute;
  top: 20px;
  left: 0;
}

.faq_list dl dd span {
  font-weight: bold;
}

.faq_list dl dd span.underline {
  text-decoration: underline;
}

.faq_list dl dd span.red {
  color: #8f0012;
}
.faq_list dl dd a {
  font-weight: bold;
  text-decoration: underline;
}

/* ────────────────────── *

 * 旅行業登録票

 * ────────────────────── */
.page_agreement {
  background: url("../images/page/conditions/recruit/main_bg.jpg") no-repeat
    center center;
}

.conditions_list {
  margin-bottom: 100px;
}

.conditions_list h3 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
  margin-bottom: 50px;
}

.conditions_list table th,
.conditions_list table td {
  padding: 20px;
  font-size: 20px;
  border-bottom: 1px dashed #9fa0a0;
}

.conditions_list table th {
  position: relative;
  padding-left: 40px;
  vertical-align: top;
  width: 40%;
}

.conditions_list table th:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  left: 20px;
  top: 1.3em;
  background: #171c61;
  position: absolute;
}

.conditions_list table td span {
  font-size: 16px;
  margin-top: 20px;
  display: inline-block;
}

.conditions_list02 ul li {
  width: 32%;
  margin-bottom: 20px;
}

.conditions_list02 ul li a {
  display: block;
  padding: 30px 20px;
  font-size: 20px;
  color: #171c61;
  border: 1px solid #9fa0a0;
  background: url(../images/page/conditions/conditions_btnbg_off.png) no-repeat;
  background-position: right 10px bottom 10px;
}

.conditions_list02 ul li a span {
  font-size: 140%;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  margin-top: -3px;
  color: #858bc5;
  transition: 0.3s ease-in-out;
}

@media all and (-ms-high-contrast: none) {
  .conditions_list02 ul li a span {
    margin-top: 8px;
  }
}
.conditions_list02 ul li a:hover {
  border: 1px solid #171c61;
  color: #fff;
  background: url(../images/page/conditions/conditions_btnbg_on.png) no-repeat;
  background-position: right 10px bottom 10px;
  background-color: #171c61;
}

.conditions_list02 ul li a:hover > span {
  color: #fff;
}

.conditions_list ul.pdf_list {
  margin: 0 40px;
}

.conditions_list ul.pdf_list li {
  width: 48%;
  margin-bottom: 40px;
}

.conditions_list ul.pdf_list li a {
  font-size: 20px;
  color: #333333;
}

.conditions_list ul.pdf_list li a:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: 106px;
  height: 107px;
  margin-right: 30px;
  margin-top: -2px;
  background-image: url(../images/page/conditions/conditions_icon_pdf.png);
  vertical-align: middle;
}

.conditions_list ul.pdf_list li a:hover {
  text-decoration: underline;
}

.conditions_list04 p {
  margin-bottom: 40px;
}

/* ────────────────────── *

 * 旅行業約款

 * ────────────────────── */
.agreement_wrap article {
  margin-bottom: 30px;
}

.agreement_wrap article ul {
  margin-bottom: 30px;
  display: none;
}

#agreement_consultation article ul,
#agreement_procedure article ul {
  margin-bottom: 30px;
  display: block;
}

.agreement_wrap article h4 {
  background: #172a80;
  color: #fff;
  padding: 15px 0 15px 30px;
  font-size: 18px;
  letter-spacing: 0.3em;
  margin-bottom: 25px;
}

.agreement_wrap article p.sub_title {
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 30px;
}

.agreement_wrap article ul li {
  margin-bottom: 20px;
}

.agreement_wrap article p.remarks {
  margin-top: 25px;
  margin-bottom: 10px;
}

.agreement_wrap article .text_list,
.agreement_wrap article ul table tbody.counter {
  counter-reset: number 0;
}

.agreement_wrap article .text_list p {
  padding-bottom: 20px;
  padding-left: 45px;
  border-bottom: 1px dashed #9fa0a0;
  margin-bottom: 20px;
  content: counter(p);
  position: relative;
}

.agreement_wrap article p:last-child {
  margin-bottom: 0;
}

.agreement_wrap article .text_list p::before,
.agreement_wrap article ul table tbody.counter th::before {
  counter-increment: number 1;
  content: counter(number);
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  background: #172a80;
  color: #fff;
  text-align: center;
  line-height: 19px;
  margin-top: 3px;
}

.agreement_wrap article ul table tbody.counter th::before {
  top: inherit;
  left: 10px;
  line-height: 20px;
}

.agreement_wrap article ul table tbody.counter-iroha th::before {
  content: counter(number, katakana-iroha);
}

.agreement_wrap article ul table th {
  width: 75%;
}

.agreement_wrap article ul table th,
.agreement_wrap article ul table td {
  padding: 10px;
  border: 1px solid #9fa0a0;
}

.agreement_wrap article ul table .bgc-b {
  background: #f1f2fb;
  padding: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 800;
}

.agreement_wrap article ul table .bgc-g {
  background: #e6e6e6;
}

.agreement_wrap article ul table th.bgc-g {
  font-weight: 800;
}

.agreement_wrap article ul table tbody.counter th {
  padding-left: 45px;
  content: "";
  position: relative;
}

/* ────────────────────── *

 * 旅程管理研修

 * ────────────────────── */

.page_training {
  background: url(../images/page/training/main_bg.jpg) no-repeat center center;
}

.training_text {
  margin-bottom: 70px;
}

.training_text h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  position: relative;
  margin-bottom: 50px;
}

.training_text h3:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 25px;
  margin-top: -2px;
  background-image: url(../images/page/training/ttl_icon.png);
  vertical-align: middle;
}

.training_wrap article {
  margin-bottom: 70px;
}

.training_wrap article p,
.training_wrap article dl {
  padding-left: 10px;
  margin-bottom: 1em;
}

.training_wrap article p.mb {
  margin-bottom: 20px;
}

.training_wrap article dl dd {
  padding-left: 1em;
}

.training_wrap .schedule {
  margin-bottom: 120px;
}

.training_wrap .schedule h4 {
  margin-bottom: 70px;
}

.training_wrap .schedule_ttl {
  display: table;
  margin: 0 auto 60px;
  padding-left: 0;
}

.training_wrap .schedule_ttl p {
  display: table-cell;
}

.training_wrap .schedule_ttl .text_area {
  border-bottom: 1px solid #000;
  font-size: 34px;
  vertical-align: middle;
}

.training_wrap .schedule h5 {
  margin-bottom: 25px;
  border-bottom: solid 15px #009569;
  position: relative;
}

.training_wrap .schedule h5:after {
  content: " ";
  display: block;
  border-bottom: solid 15px #0e569f;
  bottom: -15px;
  width: 82%;
  position: absolute;
}

.training_wrap .schedule h5 span {
  font-size: 24px;
  background-color: #000;
  color: #fff;
  padding: 10px 19px;
  display: inline-block;
  z-index: 99;
}

.training_wrap .schedule h5 span:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: 2.2em;
  height: 2.05em;
  margin-right: 20px;
  background-image: url(../images/page/training/schedule_day_1.png);
  background-size: contain;
  vertical-align: middle;
}

.training_wrap .schedule table {
  width: 102%;
  border-spacing: 10px;
  border-collapse: separate;
  font-size: 20px;
  margin-bottom: 40px;
  margin-left: -10px;
}

.training_wrap .schedule table:last-of-type {
  margin-bottom: 80px;
}

.training_wrap .schedule table th,
.training_wrap .schedule table td {
  border: 1px solid #cccccc;
}

.training_wrap .schedule table th {
  width: 25%;
  border: 1px solid #cccccc;
  text-align: center;
  vertical-align: middle;
  padding: 10px;
  color: #fff;
  background-color: #3285bb;
  line-height: 2;
}

.training_wrap .schedule table td {
  padding: 20px;
}

.training_wrap .schedule .sub_ttl {
  text-align: center;
  padding-left: 0;
  font-size: 24px;
  margin-bottom: 30px;
}

.training_wrap .contact h3 {
  font-size: 28px;
  display: block;
  text-align: center;
  padding: 1em;
  color: #fff;
  background-color: #0e569f;
}

.training_wrap .contact dl {
  border: 1px solid #cccccc;
  padding: 20px 0;
}

.training_wrap .contact dt {
  font-size: 24px;
  padding: 15px;
  border: 1px solid #3285bb;
  margin-right: 30px;
  text-align: center;
}

.training_wrap .contact dd {
  font-size: 42px;
  font-weight: bold;
  vertical-align: middle;
  margin-top: 7px;
}

.training_wrap .contact dd img {
  vertical-align: middle;
  padding-right: 10px;
}

/* ────────────────────── *

 * 会員利用規約

 * ────────────────────── */

.page_memberterms {
  background: url(../images/page/memberterms/main_bg.jpg) no-repeat center
    center;
}

.training_text {
  margin-bottom: 70px;
}

/* ────────────────────── *

 * プライバシーポリシー

 * ────────────────────── */

.page_privacy {
  background: url(../images/page/privacy/main_bg.jpg) no-repeat center center;
}

.privacy_text {
  margin-bottom: 70px;
}

.privacy_text h3 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
  margin-bottom: 50px;
}

.privacy_text h3:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 25px;
  margin-top: -2px;
  background-image: url(../images/page/privacy/ttl_icon.png);
  vertical-align: middle;
}

.privacy_wrap article {
  margin-bottom: 70px;
}

.privacy_wrap article p {
  padding-left: 10px;
}

.privacy_wrap article p.mb {
  margin-bottom: 20px;
}

.privacy_wrap article p.tar {
  text-align: right;
}

.privacy_wrap article .text_list,
.privacy_wrap article ul table tbody.counter {
  counter-reset: number 0;
  margin-top: 10px;
}

.privacy_wrap article .text_list p {
  padding-bottom: 20px;
  padding-left: 45px;
  border-bottom: 1px dashed #9fa0a0;
  margin-bottom: 20px;
  content: counter(p);
  position: relative;
}

.privacy_wrap article p:last-child {
  margin-bottom: 0;
}

.privacy_wrap article .text_list p::before,
.privacy_wrap article ul table tbody.counter th::before {
  counter-increment: number 1;
  content: counter(number);
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  background: #172a80;
  color: #fff;
  text-align: center;
  line-height: 19px;
  margin-top: 3px;
}

.privacy_wrap article .text_list_small {
  counter-reset: smallnumber 0;
}
.privacy_wrap article .text_list_small span {
  margin-left: 1.8em;
  padding-left: 1em;
  text-indent: -2.5em;
  display: inline-block;
}
.privacy_wrap article .text_list_small span:before {
  counter-increment: smallnumber 1;
  content: "（" counter(smallnumber) "）";
}
.privacy_wrap article .txt_indent {
  margin-left: 2.5em;
  display: inline-block;
}
/* ────────────────────── *

 * Webサイト会員利用規約

 * ────────────────────── */

.page_web_memberterm {
  background: url(../images/page/webmemberterm/main_bg.jpg) no-repeat center
    center;
}

/* ────────────────────── *

 * 株主優待割引のご案内

 * ────────────────────── */

.page_shareholder {
  background: url(../images/page/shareholder/main_bg.jpg) no-repeat center
    center;
}

.page_shareholder.page_title h2 {
  font-size: 36px;
}

#page_shareholder .notice {
  font-size: 20px;
  text-indent: -1em;
  padding-left: 1em;
  display: inline-block;
}

#page_shareholder .notice:before {
  content: "※";
}

#page_shareholder .txt_list li {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 20px;
  text-indent: -1em;
  padding-left: 1em;
}

#page_shareholder .txt_list li:before {
  content: "○ ";
}

.shareholder_aplicable {
  margin-bottom: 70px;
}
.shareholder_aplicable h3 {
  font-size: 40px;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  margin-bottom: 40px;
}
.shareholder_aplicable ul {
  margin-bottom: 30px;
}

.shareholder_aplicable ul li {
  display: flex;
  align-items: center;
  padding: 20px 20px 20px 0;
  font-size: 20px;
  border-bottom: 1px dashed #9fa0a0;
}

.shareholder_aplicable ul li .icon {
  margin-right: 25px;
}

.shareholder_request {
  margin-bottom: 60px;
}

.shareholder_request article {
  padding: 50px 20px 30px;
  border-bottom: 1px solid #000;
}

.shareholder_request article h4 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 50px;
  display: flex;
  align-items: center;
  line-height: 1.4;
}
.shareholder_request article h4:before {
  content: "";
  display: block;
  width: 65px;
  height: 65px;
  margin-right: 20px;
}
.shareholder_request article.tel h4:before {
  background: url("../images/page/shareholder/icon_tel.png") no-repeat center
    center / contain;
}
.shareholder_request article.web h4:before {
  background: url("../images/page/shareholder/icon_pc.png") no-repeat center
    center / contain;
}
.shareholder_request article.tel {
  border-bottom: none;
}
.shareholder_request .notice {
  font-size: 18px;
}

.shareholder_payment {
  margin-bottom: 40px;
}

.shareholder_payment h3 {
  margin-bottom: 50px;
}

.shareholder_payment article {
  padding: 0 20px 30px;
}

.shareholder_store article {
  margin: 0 auto 40px 40px;
  border-left: 10px solid #65c8d0;
  padding: 10px 20px;
}

.shareholder_store h3 {
  margin-bottom: 50px;
}

.shareholder_store h4,
.shareholder_store .tel_num {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.4;
}

.shareholder_store .tel_num {
  margin-bottom: 6px;
}
.shareholder_store .time {
  font-size: 19px;
}

.shareholder_store article:last-of-type {
  margin-bottom: 70px;
}
.shareholder_store .btn {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ────────────────────── *

 * footer

 * ────────────────────── */
.side_bnr {
  position: fixed;
  right: 0;
  top: 12%;
  z-index: 9999;
}

.side_bnr ul li {
  margin-bottom: 15px;
  text-align: right;
}

footer {
  margin-top: 90px;
  padding: 0 0 40px;
}

body.promise footer {
  margin-top: 0;
}

.footbnr_list001 {
  background-color: #e6e6e6;
  color: #fff;
  padding: 50px 0 30px;
}

.footbnr_list001 ul li {
  width: 48%;
  margin: 0 1% 20px;
}

.footbnr_list001 ul li.w100 {
  width: 98%;
}

.footbnr_list001 ul li img {
  width: 100%;
}

.footbnr_list002 {
  background-color: #171c61;
  color: #fff;
  padding: 60px 0;
  margin-bottom: 30px;
}

.footbnr_list002 .footbnr001 {
  align-items: center;
}

.footbnr_list002 .footbnr001 li {
  width: 23%;
  margin: 0 1.05%;
  text-align: center;
}

.footbnr_list002 .footbnr001 li.tw,
.footbnr_list002 .footbnr001 li.fb,
.footbnr_list002 .footbnr001 li.insta,
.footbnr_list002 .footbnr001 li.li {
  width: 250px;
  border: 1px solid #fff;
  box-sizing: border-box;
  margin-right: 0%;
}

.footbnr001 li a {
  display: block;
  /*color: #fff;
	font-size: 16px;
	padding: 20px 3px 20px 35px;
	box-sizing: border-box;
	background-position: 4% center;
	background-repeat: no-repeat;*/
}
.footbnr001 li.tw a,
.footbnr001 li.fb a,
.footbnr001 li.insta a,
.footbnr001 li.li a {
  display: block;
  color: #fff;
  font-size: 16px;
  padding: 20px 3px 20px 35px;
  box-sizing: border-box;
  background-position: 20% center;
  background-repeat: no-repeat;
}
.footbnr001 li.tw a {
  background-image: url(../images/common/fbnr_twitter.png);
  background-size: 32px;
  padding-left: 50px;
}

.footbnr001 li.fb a {
  background-image: url(../images/common/fbnr_fb.jpg);
}
.footbnr001 li.insta a {
  background-image: url(../images/common/fbnr_insta.png);
}

.footbnr001 li.li a {
  background-image: url(../images/common/fbnr_line.jpg);
}

/*.footbnr_list002 .footbnr001 li.tr a{background-image: url(../images/common/fbnr_travel.jpg);}
.footbnr_list002 .footbnr001 li.st a{background-image: url(../images/common/fbnr_stamp.jpg);}*/

.footbnr_list002 .footbnr001 li.tw a:hover,
.footbnr_list002 .footbnr001 li.fb a:hover,
.footbnr_list002 .footbnr001 li.insta a:hover,
.footbnr_list002 .footbnr001 li.li a:hover {
  background-color: #fff;
  color: #171c61;
}

.footbnr_list002 .footbnr002 li {
  width: 23%;
  margin: 0 1%;
}

.footbnr_list002 .footbnr003 li {
  width: 48%;
  margin: 0 1%;
}

.footbnr_list002 .footbnr002,
.footbnr_list002 .footbnr003 {
  margin-top: 20px;
}

.footlink {
  margin-bottom: 30px;
}

.footlink li a {
  display: block;
  color: #333;
  border-right: 1px solid #ccc;
  padding: 3px 20px;
  font-size: 14px;
}

.footlink li:last-child a {
  border-right: none;
}

.footlink li a:hover {
  background-color: #172a80;
  color: #fff;
  transition: 0.3s ease-in-out;
}

.footbnr {
  margin-bottom: 20px;
}

.footbnr li {
  margin: 0 6px;
}

.footbnr li span {
  display: block;
  font-size: 12px;
  margin-top: 6px;
}

.footbnr li a span {
  display: block;
  color: #333;
  text-align: center;
  line-height: 1.4em;
}

p.foot_catipn {
  display: block;
  font-size: 12px;
  margin: 10px 0 20px;
  text-align: center;
}

.copyright {
  border-top: 1px solid #333;
  padding-top: 30px;
  text-align: center;
  font-size: 12px;
}

/* ────────────────────── *

 * マイページ

 * ────────────────────── */

.mypage_wrap .page_sub_title {
  font-size: 30px;
  text-align: center;
  line-height: 1.8;
  margin: 0 auto 50px;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E,
    メイリオ, Meiryo, serif;
}

.mypage_category {
  padding: 70px 0;
  margin-bottom: 70px;
  background: #838bc5;
}

.mypage_category ul {
  padding: 0 40px;
  counter-reset: number 0;
}

.mypage_category ul li {
  width: 45%;
  background: #fff;
}

.mypage_category ul li a {
  display: block;
  padding: 25px;
  font-size: 24px;
  color: #171c61;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  border: 1px solid #171c61;
}

.mypage_category ul li a:hover {
  background-color: #171c61;
  color: #fff;
}

.mypage_list_area {
  counter-reset: number 0;
}

#mypage_list1 {
  margin-bottom: 100px;
}

#mypage_list2,
#mypage_list3 {
  margin-bottom: 70px;
}

.mypage_list h3 {
  background: #172a80;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  padding: 24px 40px;
  margin-bottom: 60px;
  line-height: 1;
  text-align: center;
}

#mypage_list2 h3,
#mypage_list3 h3 {
  background: #fff;
  border: 1px solid #172a80;
  color: #000000;
  text-align: left;
}

.mypage_list ul li {
  display: block;
  width: 100%;
  padding-bottom: 2em;
}

.mypage_list ul li:before {
  content: "・";
}

.mypage_list_btn {
  width: 45%;
  margin: 0 auto;
}

.mypage_list_btn a {
  display: block;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #231815;
  background: #ff9300;
  border: 1px solid #ff9300;
  padding: 1.3em;
}

.mypage_list_btn a:hover {
  color: #ff9300;
  background: #fff;
}

/* ────────────────────── *

 * ひめ旅

 * ────────────────────── */

.page_himetabi {
  background: url(../images/page/reservation/main_bg.jpg) no-repeat center
    center;
}

/* ────────────────────── *

 * 準備中

 * ────────────────────── */

.commingsoon_txt {
  font-size: 24px;
  line-height: 1.7;
  text-align: center;
  padding-bottom: 70px;
}

/* ────────────────────── *

 * 下層ページ新着情報

 * ────────────────────── */

.page_infomation_area {
  border: 1px solid #172a80;
  margin-bottom: 60px;
}

.page_infomation_area h3 {
  text-align: center;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.6;
  padding: 20px;
  background-color: #172a80;
}

.page_infomation_area article {
  padding: 20px 40px;
}

.page_infomation_area article > p {
  padding-bottom: 20px;
}

.page_infomation_area ul li.textarea {
  line-height: 1.8;
}

.page_infomation_area .link_btn {
  width: 100%;
}

.page_infomation_area .link_btn a {
  display: block;
  padding: 20px 2.5em;
  font-size: 20px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  border: 1px solid #9fa0a0;
  background: url(../images/common/link_arrow_off.png) no-repeat;
  background-position: right 20px center;
  background-color: #171c61;
}

.page_infomation_area .link_btn a:hover {
  color: #171c61;
  background: url(../images/common/link_arrow_on.png) no-repeat;
  background-position: right 20px center;
  background-color: #fff;
}

/* ────────────────────── *

 * goto_lp

 * ────────────────────── */

.page_gotolp h2 {
  text-align: center;
  margin-bottom: 60px;
}

.gotolp_aboutarea {
  margin-bottom: 100px;
}
.gotolp_aboutarea article h3 {
  color: #171c61;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}

.gotolp_aboutarea article h4 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5em;
  margin-bottom: 30px;
  padding: 30px 15px;
  background-color: #efefef;
}
.gotolp_aboutarea article p {
  font-size: 20px;
  line-height: 1.8;
}

article.gotolp_about {
  margin-bottom: 60px;
}
article.gotolp_outine ul {
  padding-top: 30px;
}

article.gotolp_outine ul li {
  font-size: 20px;
  padding-bottom: 20px;
  padding-left: 1em;
  position: relative;
}
article.gotolp_outine ul li:before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}

article.gotolp_outine ul li span {
  padding: 0.3em 0.5em;
  background-color: #c30d23;
  color: #fff;
  margin: 0 5px;
}

article.gotolp_outine .outine_img {
  width: 47%;
}

article.gotolp_outine .outine_img img {
  width: 100%;
}

article.gotolp_outine .outline_txt {
  width: 51%;
}

.outline_txt dt {
  font-size: 20px;
  margin-bottom: 30px;
}

.outline_txt dd {
  font-size: 16px;
  padding: 0 30px 10px 20px;
  margin-bottom: 10px;
  border-bottom: 1px solid #000;
  position: relative;
}

.outline_txt dd:before {
  content: "〇";
  position: absolute;
  top: 0;
  left: 0;
}

.outline_txt_red {
  margin-top: 20px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background-color: #c30d23;
  padding: 0.8em 0.5em;
}

.gotolp_measuresarea {
  background-color: #d5e0ec;
  padding: 60px 0 35px;
  font-size: 18px;
}

.gotolp_measuresarea h3 {
  font-size: 25px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 40px 20px;
  background-color: #036eb8;
  margin-bottom: 40px;
}
p.gotolp_measure_desc {
  margin-bottom: 30px;
}

article.gotolp_measure {
  background-color: #fff;
  border: 1px solid #036eb8;
  padding: 30px;
  margin-bottom: 25px;
}

ul.gotolp_measure_list li {
  padding-left: 1em;
  margin: 10px 0;
  position: relative;
}
ul.gotolp_measure_list li:before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}
ul.gotolp_measure_list li:first-of-type {
  margin-top: 0;
}

ul.gotolp_measure_btnarea {
  box-sizing: border-box;
  width: 96%;
  margin: 0 auto;
  padding-top: 30px;
}

ul.gotolp_measure_btnarea li {
  width: 48%;
}
ul.gotolp_measure_btnarea li.w70 {
  width: 70%;
}
ul.gotolp_measure_btnarea li.w100 {
  width: 100%;
}

ul.gotolp_measure_btnarea .btn001.white a {
  width: 100%;
  padding: 25px 0;
  font-size: 16px;
}

.gotolp_linkarea {
  padding: 60px 0;
}
.gotolp_linkarea article h3 {
  color: #171c61;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.4;
}
.gotolp_linkarea article p {
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 40px;
  text-align: center;
}
.gotolp_linkarea .btn001.blue02 a {
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  width: 61%;
  padding: 30px 10px 30px 40px;
}
.gotolp_linkarea .btn001.blue02.wide a {
  font-size: 24px;
  width: 85%;
  padding: 30px 10px 30px 40px;
}

p.linkarea_bnr {
  margin: 80px auto 0;
  width: 100%;
  max-width: 640px;
  box-sizing: border-box;
  padding-bottom: 100px;
}
p.linkarea_bnr img {
  width: 100%;
}
.gotolp_link_txt .box {
  margin-bottom: 80px;
}

.goto_tourlist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 75%;
  margin: 0 auto;
}

.goto_tourlist li {
  width: 48%;
  margin-bottom: 3%;
}

.goto_tourlist li img {
  width: 100%;
}

.goto_tourlist_colum3 {
  width: 89%;
}

.goto_tourlist_colum3 li {
  width: 30%;
  margin-bottom: 3%;
}

.goto_tourlist_colum2 {
  width: 65%;
}

.goto_tourlist_colum2 li {
  width: 48%;
  margin-bottom: 3%;
}
.stamp_list02 ul li .period_2025 {
  margin-top: 2rem;
}
.stamp_list02 ul li .period_2025 span {
  color: #5572c0;
  background: none;
  margin-bottom: 0;
  padding: 0;
  font-size: 1em;
  padding-left: 3em;
}
/* ────────────────────── 

   スキー・スノボ　ツアー
   
 ────────────────────── */

html:has(.skiing-snowboarding) {
  font-size: 10px;
}

.skiing-snowboarding {
  line-height: 1.5;
}
.skiing-snowboarding img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
}
.skiing-snowboarding .inner {
  width: 1000px;
}
.skiing-snowboarding h1 {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
h1.skiing-snowboarding img {
  width: 450px;
}.main-visual{
  position: relative;
  background: #000;
}
.main-visual video{
  height: 60%;
  object-fit: cover;
  width: 100%;
  opacity: .5;
}
.main-visual img {
  width: 544px;
  display: block;
  margin: auto;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
 
}
.skiing-point-inner-area {
  background: url(../images/page/skiing-snowboarding/bg01.webp) no-repeat top;
  background-size: 100%;
  padding: calc(1rem + 14%) 0 10rem;
  margin-top: -19%;
  position: relative;
  z-index: 2;
}


@media screen and (max-width: 1090px) {

.skiing-point-area {
  margin-top: -24%;

}
}

.skiing-point-area ul {
  display: flex;
  margin: 1rem auto 0;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem 0;
}
.skiing-point-area ul li {
  width: 30%;
}
.skiing-point-area > div:nth-child(1) > ul:nth-child(2) > li:nth-child(2) {
  width: 32.3%;
}

.skiing-point-area > div:nth-child(1) > ul:nth-child(2) > li:nth-child(1) {
  margin-right: 3%;
}

.skiing-point-area > div:nth-child(1) > ul:nth-child(2) > li:nth-child(4) {
  width: 70%;
}
.tour-area {
  background-size: 100%;
  padding: 0rem 0 20rem;
  font-family: "Murecho", sans-serif;
  font-weight: bold;
  position: relative;
  z-index: 2;
}

.tour-area dl {
  border-radius: 20px;
  position: relative;
  padding: 2rem 0 5rem;
  width: 90%;
  margin: auto;
}
.tour-area dl + dl {
  margin-top: 13rem;
}

.tour-area dl.meitetsu-bus-box {
  background: #db1617;
  border: solid 7px #f8bb67;
  margin-top: 5rem;
}
.tour-area dl.ogaki-bus-box {
  background: #00783c;
  border: solid 7px #61b530;
}
.tour-area dl.toyota-bus-box {
  background: #172a88;
  border: solid 7px #0095d7;
}

.tour-area dl > dt {
  width: 410px;
  padding: 1rem 2.2rem;
  color: #000;
  font-size: 2.5rem;
  font-weight: bold;
  border-radius: 0 10px 10px 0;
  display: flex;
  align-items: center;
}

.tour-area dl.meitetsu-bus-box > dt {
  background: #fabd00;
}
.tour-area dl.ogaki-bus-box > dt {
  background: #61b530;
}
.tour-area dl.toyota-bus-box > dt {
  background: #0095d7;
}

.tour-area dl dt span {
  font-weight: bold;
  font-size: 2.1rem;
  padding: 5px 2rem;
  background: #fff;
}
.tour-area dl.meitetsu-bus-box > dt span {
  background: #fff;
  color: #c30d23;
}

.tour-area dl.ogaki-bus-box > dt span {
  background: #fff;
  color: #00913a;
}

.tour-area dl.toyota-bus-box > dt span {
  background: #fff;
  color: #172a88;
}

.meitetsu-bus-box > dt:nth-child(1) > span:nth-child(2) {
  padding: 5px 3.5rem;
}
.ogaki-bus-box > dt:nth-child(1) > span:nth-child(1) {
  padding: 5px 4.5rem;
}

.tour-area > div:nth-child(1) > div:nth-child(1) {
  margin-top: 5rem;
}

.tour-area dl dt span + span {
  margin-left: 1rem;
}
.tour-area dl dt span:nth-child(2) {
  margin-right: 1.5rem;
}
.tour-area dl dt img:nth-child(3) {
  position: absolute;
  width: 310px;
  right: 10px;
  top: -39px;
}

.tour-area dl dd {
  padding: 0 4rem;
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 2rem;
}

.tour-area dl dd .bus-info > h3 {
  font-size: 2.8rem;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.tour-area dl dd .bus-info > h3 > span {
  background: #fff;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tour-area dl dd .bus-info > h3 > span > img {
  width: 50px;
}

.tour-area dl dd .bus-info > h3 p {
  font-size: 2.8rem;
  border-bottom: solid 1px #fff;
  padding-bottom: 0.5rem;
}
.tour-area dl dd .bus-info p {
  font-size: 2.1rem;
  color: #fff;
}

.bus-info-img ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.tour-area dl dd .bus-info-img ul li p {
  font-size: 1.5rem;
  color: #fff;
  margin-bottom: 0.5rem;
}

.tour-area dl dd .bus-info-img ul li div {
  width: 90%;
  margin: 1rem auto;
}

.tour-area dl > div:nth-child(3) {
  position: absolute;
  width: 400px;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
}

.info-area {
  background: url(../images/page/skiing-snowboarding/bg03.webp) no-repeat top;
  background-size: 100%;
  padding: calc(15rem + 13%) 0 10rem;
  margin-top: -11%;
  position: relative;
  z-index: 4;
}

.info-area {
}

dl.Cream-box {
  background: #f2e8d5;
  border-radius: 20px;
  padding: 5rem;
}
.Cream-box + .Cream-box {
  margin-top: 5rem;
}

.info-area dl dt {
  font-size: 2.2rem;
  display: flex;
  gap: 1rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
.info-area dl.Cream-box > dt img {
  width: 35px;
}

.info-area dl.Cream-box > dd {
  display: flex;
  gap: 1rem;
}
.info-area dl.Cream-box:nth-child(1) > dd > ul {
  width: 65%;
}

.info-area dl dd > ul > li {
  font-size: 1.4rem;
  margin-bottom: 5px;
  padding-left: 1em;
  text-indent: -1em;
}

.info-area dl.Cream-box > dd > div.parking-info {
  width: 42%;
}

.info-area dl.Cream-box > dd > div.parking-info > p {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.info-area dl.Cream-box > dd > div.parking-info > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.info-box {
  margin-top: 10rem;
}

.terms-area {
  padding: 10rem;
  background: #3e3a39;
  color: #fff;
}

.terms-area h2 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.terms-area p {
  font-size: 1.4rem;
}

.terms-area h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 3rem;
  margin-bottom: 1rem;
}

.terms-area ul {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}

.terms-area ul > li > dl {
  border: solid 1px;
  text-align: center;
}

.terms-area ul > li > dl > dt {
  border-bottom: solid 1px;
}

.terms-area ul > li > dl > dt,
.terms-area ul > li > dl > dd {
  padding: 5px;
}

.skiing-snowboarding .footbnr_list001,
.skiing-snowboarding .footbnr_list002,
.skiing-snowboarding  .side_bnr {
  display: none;
}

.schedule-area {
  background: url(../images/page/skiing-snowboarding/other/bg-01.webp) no-repeat
    top;
  background-size: 100%;
  padding: calc(1rem + 12%) 0 7rem;
  margin-top: -17%;
  position: relative;
  z-index: 2;
}

.reservation-btn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 5rem;
}

.schedule02-area {
  background-size: 100%;
  padding: 0rem 0 0rem;
  background: #8eb4e0;
}

.venue-area {
  background: url(../images/page/skiing-snowboarding/other/bg04.webp) no-repeat
    left bottom 270px #8eb4e0;
    background-size: 100%;
  padding: 0 0rem 20rem;
}
.venue-area .venue-bg {
  margin-bottom: -10rem;
  position: relative;
  z-index: 2;
}
dl.venue-box {
  background: #fff;
  padding: 2rem 4rem 5rem;
  border-radius: 30px;
  position: relative;
}
dl.venue-box dt {
  position: relative;
  z-index: 3;
}
img.icon01 {
  position: absolute;
  width: 250px;
  left: -30px;
  bottom: -20px;
}
img.icon02 {
  position: absolute;
  width: 220px;
  right: -40px;
  bottom: -70px;
}
dl.venue-box + dl.venue-box {
  margin-top: 10rem;
  margin-bottom: 10rem;
}

dl.venue-box > dd {
  display: grid;
  grid-template-columns: 1.8fr 3fr;
  gap: 4rem;
}

dl.venue-box > dd div > h3 {
  font-size: 2.9rem;
  font-weight: bold;
  font-family: "Murecho", sans-serif;
  font-weight: bold;
}

dl.venue-box > dd div > p {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 2rem;
  line-height: 1.8;
}

dl.venue-box > dd video {
  grid-area: 2 / 1 / 3 / 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.skiing-snowboarding-bnr {
  padding: 1rem;
  background: #fcca00;
  border: solid 4px #f7f4ac;
  border-radius: 20px;
  position: fixed;
  padding-top: 3.1rem;
  right: 1%;
  top: 30%;
  width: fit-content;
  z-index: 10;
}
@media screen and (min-width: 736px) {

.skiing-snowboarding-bnr {
  background: #fcca00 !important;

}
}
.skiing-snowboarding-bnr > p:nth-child(1) {
  position: absolute;
  top: -22px;
}
.skiing-snowboarding-bnr > ul:nth-child(2) > li + li {
  margin-top: .5rem;
}
.skiing-snowboarding-bnr > ul:nth-child(2) > li a{
  display: flex;
  align-items: center;
    width: 100%;
}

.skiing-snowboarding-bnr img {
  width: 150px;
}
