@font-face {
  font-family: icon;
  src: url(../font/icon.eot);
  src: url(../font/icon.eot#iefix) format("embedded-opentype"),
       url(../font/icon.woff) format("woff"),
       url(../font/icon.ttf) format("truetype"),
       url(../font/icon.svg#icon) format("svg");
  font-weight: normal;
  font-style: normal;
}


/*  基本
============================================================================= */
html { -webkit-text-size-adjust: 100%; font-size: 62.5%; scroll-behavior: smooth; }
body { font-family: "Zen Maru Gothic", sans-serif; color: #432c02; font-feature-settings: "palt"; line-height: 1.5; letter-spacing: .1em; }
body * { box-sizing: border-box; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure { margin: 0; padding: 0; }
ol, ul, li { list-style: none; }
.mv { background-color: #fffb93; position: relative;}
.mv img { width: 100%; height: auto; }
.anchor {background-color: #fffb93;}
em { font-style: normal; }
.c-inner {margin: 0 auto;max-width: 1236px;width: 95%;}
.c-sec__head--img {text-align: center;}
.l-mv__nav {position: absolute;z-index: 21;display: flex;flex-direction: column;gap: 10px;}
.l-mv__nav .c-btn {background: linear-gradient(90deg, #6a00dd 0%, #2447df 25%, #0e14c9 50%, #0e14c9 75%, #2447df 100%, #6a00dd 0%); background-size: 200% 100%; border-radius: .375em; display: inline-grid;place-content: center; position: relative; padding: 0px 30px 0 20px;}
.l-mv__nav .c-btn span {color: #fff;font-weight: 700;}
.l-mv__nav a:after {position: absolute;top: 50%;right: 5px;margin-top: -.5em;transition: .2s;font-family: 'kkrs-dp' !important;content: "\e902";text-decoration: none;speak: none;font-style: normal;font-weight: normal; font-variant: normal;text-transform: none;line-height: 1;vertical-align: middle; color: #fff; font-size: 13px;}

@media screen and (min-width: 769px) {
	body { font-size: 1.6rem; }
	.pc-none { display: none; }
	.c-sec__head--img img {width: 8%;}
	.l-mv__nav {bottom: 1.5em;right: 2.5em;}
	.l-mv__nav .c-btn__fill { height: 2.75em;}
	.sp-item {display: none;}
}
@media screen and (max-width: 768px) {
	body { font-size: 1.2rem; }
	.sp-none { display: none; }
	.c-sec__head--img img {width: 20%;}
	.pc-item { display: none;}
	.l-mv__nav {right: .5em;  bottom: 1.7em;}
	.l-mv__nav a:after { right: 3px; font-size: 10px;}
	.l-mv__nav .c-btn {padding: 0px 20px 0 10px;}
	.l-mv__nav .c-btn__fill { height: 3.5em;}
	.l-mv__nav .c-btn span {font-size: .8em;}
}

/* TOPへ戻るボタン
============================================================================= */
.js-btn-page-top { display: none; position: fixed; z-index: 10; cursor: pointer; }
.js-btn-page-top a { display: block; }
.js-btn-page-top a::before { display: inline-block; font-family: "icon"; height: 17px; font-size: 17px; }
@media screen and (min-width: 769px){
  .js-btn-page-top { right: 50px; bottom: 50px; }
  .js-btn-page-top a { position: relative; width: 35px; height: 17px; }
  .js-btn-page-top a::before { content: "\e802"; color: #000; width: 35px; }
}
@media screen and (max-width: 768px){
  .js-btn-page-top { text-align: center; right: 20px; bottom: 20px; }
  .js-btn-page-top a { width: 30px; height: 30px; background-color: #999; border-radius: 6px; }
  .js-btn-page-top a::before { content: "\f106"; color: #fff; width: auto; line-height: 29px; }
}

/*  ぱんくず
============================================================================= */
@media screen and (min-width: 769px) {
    .breadcrumb-upper { margin: 0 auto 25px; max-width: 1230px; padding: 0 .5em; text-align: left; }
	.breadcrumb-upper__fix, .breadcrumb-upper__scroll, .breadcrumb-upper__item { display: inline-block; font-size: 10px; }
	.breadcrumb-upper__item { line-height: 2.1; margin-left: 1.5em; padding-left: .2em; position: relative; }
	.breadcrumb-upper__item::before { color: #999; content: ">"; left: -1.1em; line-height: 2.1; position: absolute; top: 0; }
}
@media screen and (max-width:768px){
	.breadcrumb-upper { position: relative; display: flex; flex-wrap: nowrap; overflow: hidden; background-color: #fff; border-top: 1px solid #d7d7d7; font-size: 10px; line-height: 3rem; }
	.breadcrumb-upper__fix { position: relative; width: 7em; transition: box-shadow .4s; box-shadow: 6px 0 10px 0 rgba(0, 0, 0, .3); z-index: 3; }
	.breadcrumb-upper__fix a { padding-left: .5rem; }
	.breadcrumb-upper__fix a, .breadcrumb-upper__item a { position: relative; display: block; background-color: #fff; text-align: center; }
	.breadcrumb-upper__fix a::before, .breadcrumb-upper__item a::before, .breadcrumb-upper__fix a:after, .breadcrumb-upper__item a:after { position: absolute; content: ""; border-style: solid; border-width: 2rem 0 2rem 1rem; top: -.5rem; }
	.breadcrumb-upper__fix a::before, .breadcrumb-upper__item a::before { border-color: transparent transparent transparent #fff; right: -.9rem; z-index: 2; }
	.breadcrumb-upper__fix a::after, .breadcrumb-upper__item a::after { border-color: transparent transparent transparent #d7d7d7; right: -1rem; z-index: 1; }
	.breadcrumb-upper__item a { padding: 0 .5rem 0 1.8rem; }
	.breadcrumb-upper__item:last-child { padding: 0 1.2rem 0 1.8rem; }
	.breadcrumb-upper__scroll { flex: 1; overflow: hidden; }
	.breadcrumb-upper__list { display: flex; flex-wrap: nowrap; height: 3rem; overflow-x: scroll; overflow-y: hidden; white-space: nowrap; }
}

/*  共通
============================================================================= */
.l-page h1 { font-weight: bold; background-color: #fff; }
.in-wrapper { position: relative; margin: 0 auto; width: 100%; }
h3 { font-weight: bold; }
a, a:link, a:visited { color: #432c02; text-decoration: none; }
.m-ico { display: inline-flex; align-items: center; vertical-align: middle; font-style: normal; font-weight: 400; }
.m-ico::before { position: relative; font-family: 'Material Icons Round'; content: attr(data-icon); top: -1px; }
figure { position: relative; }
figcaption { position: absolute; right: 8px; bottom: 4px; color: #fff; font-size: 1.2rem; text-shadow: 0 0 2px rgb(0 0 0 / 80%), 0 0 2px rgb(0 0 0 / 80%);}
.sect-ttl { text-align: center; font-weight: bold; margin-top: .8rem; margin-bottom: 1em; }
.sect { background-color: #fffbf7;}

@media screen and (min-width: 769px) {
	.pc-none { display: none; }
	.in-wrapper { min-width: 970px; max-width: 1246px; }
	.sect { padding: 50px 0; }
	.l-page h1 { font-size: 1.8rem; margin: 0 auto; padding-bottom: 5px; max-width: 1236px; }
	.l-page a, .l-page a img { transition: all .4s ease; }
	.l-page a:hover { opacity: .6; }
	.l-page p, .l-page span { font-size: 1.3rem; }
	.sect-ttl { font-size: 2em;}
	.information {text-align: start;}
}
@media screen and (max-width:768px){
	.sp-none { display: none; }
	.in-wrapper { padding: 0 24px; }
	.sect { padding: 30px 0; }
	.l-page h1 { font-size: 1.8rem; margin: 16px 0 0 5px; padding-bottom: 8px; }
}

/*  ナビゲーション
============================================================================= */
.anchor.is-fixed { 
  position: fixed; 
  top: 0; 
  left: 0; 
  right: 0; 
  z-index: 10; 
  background-color: #fffb93; 
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.main-anchor { display: flex; }
.main-anchor li { position: relative; width: 100%; }
.main-anchor li:not(:first-child)::before { content: ""; position: absolute; top: 50%; left: 0; display: inline-block; width: 1.6px; height: calc(100% - 10px); transform: translateY(-50%); background: #406634; }
.main-anchor li a { display: flex; justify-content: center; text-align: center; line-height: 1.3; }
.main-anchor li a span { color: #254219; font-weight: 600; font-size: 1.7rem;}
.icon { object-fit: cover; }
@media screen and (min-width: 769px) {
	.main-anchor { justify-content: center; }
	.main-anchor li a { padding: 16px 24px; } 
	.icon { width: auto; height: 30px; padding-right: .8em; }
}
@media screen and (max-width: 768px) {
	.main-anchor { padding: 0 !important; }
	.main-anchor li a { flex-direction: column; padding: 0 4px; }
	.main-anchor li a span {font-size: 1rem;padding: 10px 0;}
	.icon { width: 30px; height: auto; padding: .5em 0; margin: 0 auto; }
}

/*  フッター サイトマップ
============================================================================= */
.htl-sitemap a { color: #323743; }
@media screen and (min-width: 769px) {
    .htl-sitemap { padding: 3.125em 0; text-align: left; }
	.htl-sitemap_dl { display: flex; flex-wrap: wrap; min-width: 970px; max-width: 1246px; padding: 0 .375em; }
	.htl-sitemap_dl dt { width: 12rem; }
	.htl-sitemap_dl dt:not(:first-of-type), .htl-sitemap_dl dd:not(:first-of-type) { margin-top: 2rem; }
	.htl-sitemap_dl dd { width: calc(100% - 12rem); }
	.htl-sitemap_list { margin: -1rem 0 0 0; }
	.htl-sitemap_list li { margin: 1rem 0 0 1rem; padding-left: 1rem; border-left: dotted 1px #ccc; }
}
@media screen and (max-width: 768px){
	.js-accordion-sp { position: relative; }
	.htl-sitemap_dl .js-accordion-sp:after { position: absolute; right: 1.5rem; top: 1rem; content: "\e5cf"; display: inline-block; font-family: "Material Icons Round"; font-size: 1.8rem; transition: transform 0.3s; }
	.htl-sitemap_dl .js-accordion-sp.is-open:after { transform: rotateZ(-180deg); }
	.htl-sitemap_dl dt { padding: 1em 2em 1em 1em; text-align: left; }
	.htl-sitemap_dl dd { display: none; }
	.htl-sitemap_list { margin-right: .3rem; }
	.htl-sitemap_list li { margin: .3rem 0 0 .3rem; width: calc(100% / 2 - .3rem); }
	.htl-sitemap_list li a { display: flex; align-items: center; padding: .5rem 1rem; min-height: 50px; height: 100%; line-height: 1.3; border-radius: .3rem; background: #fff; text-align: left; }
	#JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0px !important; }
}

/*  スキー場MAP
============================================================================= */
@media screen and (min-width: 769px) {
#map .inner { background-color: #cffaff; background: -moz-linear-gradient(top, #cffaff 0%, #ffffff 100%); background: -webkit-linear-gradient(top, #cffaff 0%,#ffffff 100%); background: linear-gradient(to bottom, #cffaff 0%,#ffffff 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cffaff', endColorstr='#ffffff',GradientType=0 ); padding: 70px 0 30px; position: relative; }
#map .inner_content { position: relative; z-index: 1; text-align:center;}
#map .catch { position: absolute; left: 70px; }
#map .catch img { display: block }
#map .ski-area { position: absolute; text-align: left; width: 330px; }
#map .ski-area h3 { font-size: 16px; font-weight: bold; }
#map .ski-area p { color: #333; font-size: 12px; line-height: 1.3; padding: 2px 0 8px; }
#map .ski-area ul {display: flex; flex-wrap: wrap;}
#map .ski-area li { padding: 0 2px 2px 0; width: calc(100% / 3 - 5px); }
#map .ski-area li a { -moz-border-radius: 14px; -webkit-border-radius: 14px; border-radius: 14px; display: block; color: #fff; font-size: 14px; line-height: 27px; text-decoration: none; text-align: center; }
#map .img-map { margin-bottom: 180px }
#map p a { color: #fff; display: block;  padding: 3px; }
#map #area-01 { left: 460px; top: -35px; }
#map #area-01 h3 { color: #c499de }
#map #area-01 a { background-color: #c499de }
#map #area-01 li:first-child a { font-size: 13px }
#map #area-02 { left: 800px; top: 160px; }
#map #area-02 h3 { color: #8ea1f9 }
#map #area-02 a { background-color: #8ea1f9 }
#map #area-03 { left: 750px; top: 300px; }
#map #area-03 h3 { color: #89c1fd }
#map #area-03 a { background-color: #89c1fd }
#map #area-05 { left: 290px; top: 100px; }
#map #area-05 h3 { color: #5ec6c3 }
#map #area-05 a { background-color: #5ec6c3 }
#map #area-06 { left: 650px; top: 440px; }
#map #area-06 h3 { color: #c4bf59 }
#map #area-06 a { background-color: #c4bf59 }
#map #area-08 { left: 280px; top: 440px; }
#map #area-08 h3 { color: #f7bf51 }
#map #area-08 a { background-color: #f7bf51 }
#map #area-09 { left: 80px; top: 240px; }
#map #area-09 h3 { color: #ff9d41 }
#map #area-09 a { background-color: #ff9d41 }
#map #bnr-area h4 { font-size: 18px; padding: 8px 0; margin-bottom: 20px; }
#map #bnr-area h4 { color: #178ee3 }
#map #bnr-area h4 { color: #3cab17 }
}

@media screen and (max-width: 768px){
.map-area { position: relative; width: 100%; height: 300px; background-image: url(/kokunai/promotion/theme/ski/images/planski-map-sp.png); background-size: contain; background-repeat: no-repeat; background-position: center; }
ul.map_honshu_area { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; list-style: none; z-index: 10; }
.map_honshu_area li { position: absolute; }
.a_btn { display: block; padding: 8px 12px; border-radius: 5px; font-size: 10px; font-weight: bold; text-align: center; transition: all 0.3s ease; position: relative; }
.a_btn:hover { background-color: #333; color: #fff; }
li.hokkaido-pos { top: 5%; left: 50%; }
.a_hokkaido.a_btn { background-color: #C499DE; color: #fff; }
.a_hokkaido.a_btn::after { content: ""; position: absolute; top: 80%; left: 71%; transform: rotate(-25deg); border-left: 10px solid transparent; border-right: 8px solid transparent; border-top: 20px solid #C499DE; }
li.tohoku-pos { top: 43%; left: 75%; }
.a_tohoku.a_btn { background-color: #8EA1F9; color: #fff; }
.a_tohoku.a_btn::after { content: ""; position: absolute; top: 14%; left: -17%; transform: rotate(98deg); border-left: 10px solid transparent; border-right: 8px solid transparent; border-top: 20px solid #8EA1F9; }
li.kitakanto-pos { top: 60%; left: 66%; }
.a_kitakanto.a_btn { background-color: #89C1FD; color: #fff; }
.a_kitakanto.a_btn::after { content: ""; position: absolute; top: 12%; left: -16%; transform: rotate(96deg); border-left: 10px solid transparent; border-right: 7px solid transparent; border-top: 20px solid #89C1FD; }
li.tokai-pos { top: 80%; left: 45%; }
.a_tokai.a_btn { background-color: #C4BF59; color: #fff; }
.a_tokai.a_btn::after { content: ""; position: absolute; top: -52%; left: 17%; transform: rotate(176deg); border-left: 10px solid transparent; border-right: 8px solid transparent; border-top: 20px solid #C4BF59; }
li.kinki-pos { top: 80%; left: 20%; }
.a_kinki.a_btn { background-color: #F7BF51; color: #fff; }
.a_kinki.a_btn::after { content: ""; position: absolute; top: -50%; left: 67%; transform: rotate(200deg); border-left: 10px solid transparent; border-right: 8px solid transparent; border-top: 20px solid #F7BF51; }
li.chugoku-pos { top: 42%; left: 9%; }
.a_chugoku.a_btn { background-color: #FF9D41; color: #fff; }
.a_chugoku.a_btn::after { content: ""; position: absolute; top: 84%; left: 67%; border-left: 10px solid transparent; border-right: 8px solid transparent; border-top: 20px solid #FF9D41; }
li.koshinetsu-pos { top: 37%; left: 36%; }
.a_koshinetsu.a_btn { background-color: #5EC6C3; color: #fff; }
.a_koshinetsu.a_btn::after { content: ""; position: absolute; top: 84%; left: 67%; border-left: 10px solid transparent; border-right: 8px solid transparent; border-top: 20px solid #5EC6C3; }

#map .inner_content { position: relative; z-index: 1; }
#map .ski-area { border-top: 1px dashed #c5e7eb; padding: 10px 8px; text-align: left; width: 100%; }
#map .ski-area h3 { font-size: 16px; font-weight: bold; }
#map .ski-area p { color: #333; font-size: 12px; line-height: 1.3; padding: 2px 0 4px; }
#map .ski-area ul {display: flex; flex-wrap: wrap; gap: 1px;}
#map .ski-area li { padding: 1px 0; }
#map .ski-area li:nth-child(odd) { padding-right: 1px }
#map .ski-area li:nth-child(even) { padding-left: 1px }
#map .ski-area li a { -webkit-border-radius: 14px; border-radius: 14px; display: block; color: #fff; font-size: 14px; line-height: 27px; padding: 0 1em; text-decoration: none; }
#map .img-map { margin-bottom: 10px ;border: 0;height: auto; vertical-align: top; width: 100%;}
#map p a { background-color: #ff6e00; border-bottom: 2px solid #bf5300; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; color: #fff; display: block; margin: 10px auto 0; padding: 16px 0; position: relative; text-decoration: none; width: 100%; }
#map p a { display: none; }
#map #area-01 h3 { color: #c499de }
#map #area-01 a { background-color: #c499de }
#map #area-02 h3 { color: #8ea1f9 }
#map #area-02 a { background-color: #8ea1f9 }
#map #area-03 h3 { color: #89c1fd }
#map #area-03 a { background-color: #89c1fd }
#map #area-05 h3 { color: #5ec6c3 }
#map #area-05 a { background-color: #5ec6c3 }
#map #area-06 h3 { color: #c4bf59 }
#map #area-06 a { background-color: #c4bf59 }
#map #area-08 h3 { color: #f7bf51 }
#map #area-08 a { background-color: #f7bf51 }
#map #area-09 h3 { color: #ff9d41 }
#map #area-09 a { background-color: #ff9d41 }
#map #bnr-area h4 { font-size: 16px; padding: 8px 0; margin-bottom: 16px; }
#map #bnr-area h4 { color: #178ee3 }
#map #bnr-area h4 { color: #3cab17 }
}

#map .no-plan {background-color: grey !important;pointer-events: none;}

/*  スキー場リスト
============================================================================= */
.skilist-other {text-align: center;}
.skilist-other .c-title {margin-top: 50px;}
.ski-resort-container *, .ski-resort-container *::before, .ski-resort-container *::after { box-sizing: border-box; }
.ski-resort-container { display: grid; grid-template-columns: 1fr; gap: 20px; width: 100%; margin: 0 auto; }
.resort-card { background-color: #ffffff; border: 1px solid #e0e8f0; border-radius: 8px; padding: 24px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03); display: flex; flex-direction: column; }
.area-name { font-size: 18px; color: #1a365d; margin-top: 0; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid #3182ce; font-weight: bold; line-height: 1.5;text-align: center; }
.area-name .material-symbols-outlined { color: #3182ce; font-size: 22px; vertical-align: -3px; margin-right: 6px; display: inline-block; font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.area-prefectures { display: block; font-size: 13px; color: #627d98; font-weight: normal; margin-top: 4px; }
.prefecture-block { border: 1px solid #3182ce; padding: 10px; border-radius: 5px; text-align: left; flex: 1; }
.pref-title { font-size: 17px; color: #2b6cb0; margin-top: 14px; font-weight: bold; position: relative; padding-left: 10px; }
.pref-title::before { content: ""; position: absolute; left: 0; top: 6px; width: 4px; height: 14px; background-color: #3182ce; border-radius: 2px; }
.ski-resort-container ul { list-style: none; padding: 0; margin: 0; }
.ski-resort-container a { color: #4a5568; text-decoration: none; font-size: 14px; transition: color 0.2s ease, text-decoration 0.2s ease; display: inline-block; }
.ski-resort-container a:hover { color: #3182ce; text-decoration: underline; }
.resort-list li { margin-bottom: 8px; }
.resort-list-inline { display: flex; flex-wrap: wrap; gap: 0 12px; margin-bottom: 10px !important; }
.resort-list-inline li { position: relative; }
.resort-list-inline li:not(:last-child)::after { content: "/"; color: #cbd5e0; margin-left: 12px; font-size: 12px; }
.c-title { margin-bottom: 15px;font-size: 22px; font-weight: 600;position: relative;display: inline-block;padding: 0 20px;}
.c-title:after, .c-title:before {position: absolute;content: '';display: inline-block; width: 50%; background: radial-gradient(circle farthest-side, #003db0, #003db0 30%, transparent 30%, transparent);}
.c-title::after {top: -2px; height: 36px; background-size: 23px; margin-left: 10px; }
.c-title::before {top: -2px; height: 36px; background-size: 23px; margin-right: 10px; left: -105px; }
.hokkaido_link {display: block;width: 60%;margin: 20px auto; background: #c499de; color: #ffffff; padding: 12px 0;font-weight: bold;text-decoration: none;border-radius: 6px; transition: background 0.2s;box-shadow: 0 2px 4px rgba(56, 189, 248, 0.2);}
.hokkaido_link a span {font-size: 1.6rem;}
.hokkaido_link a {position: relative; color: #ffffff;}
.hokkaido_link a:after {position: absolute;top: 50%;right: -200px;margin-top: -.5em;transition: .2s;font-family: 'kkrs-dp' !important; content: "\e902";text-decoration: none;speak: none;font-style: normal; font-weight: normal;font-variant: normal;text-transform: none;line-height: 1;vertical-align: middle;}

@media screen and (min-width: 769px) {
  .ski-resort-container { grid-template-columns: repeat(3, 1fr); gap: 10px;margin: 10px 0;}
  .card-full { grid-column: span 3;}
  .prefecture-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; flex: 1; }
  .prefecture-grid .pref-title { margin-top: 0; }
}

@media screen and (max-width: 768px){
.c-title { font-size: 1.8rem;}
.pref-title { margin-bottom: 14px; }
.resort-card {padding: 10px}
.prefecture-grid {display: flex;flex-direction: column;gap: 10px;}
.resort-list {display: flex;flex-wrap: wrap;gap: 0 12px;margin-bottom: 10px !important;}
.resort-list li:not(:last-child)::after {content: "/"; color: #cbd5e0;margin-left: 12px;font-size: 12px;}
.ski-resort-container a { font-size: 12px;}
.c-title:after, .c-title:before { width: 40%;}
.c-title::after { height: 30px; background-size: 19px;margin-left: 0; }
.c-title::before { height: 30px; background-size: 19px; left: -60px; margin-right: 0; }
.hokkaido_link { width: 100%; }
.hokkaido_link a span { font-size: 14px;}
.hokkaido_link a:after {right: -35px;}
}

/*  スキー場スペック表
============================================================================= */
.ski-table-container { margin: 0 auto;}
.ski-table-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e2e8f0; border-radius: 8px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); }
.ski-table { width: 100%; border-collapse: separate; border-spacing: 0; text-align: center; font-size: 14px; line-height: 1.5; min-width: 950px; }
.ski-table thead th { background-color: #598ff6; color: #ffffff; padding: 16px 12px; font-weight: bold; border-bottom: 2px solid #e2e8f0; border-right: 1px solid #e2e8f0; vertical-align: middle; }
.ski-table tbody td { padding: 16px 12px; color: #334155; border-bottom: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; vertical-align: middle; background-color: #ffffff; }
.ski-table tbody tr:nth-child(even) td { background-color: #f8fafc; }
.ski-table thead th:last-child, .ski-table tbody td:last-child { border-right: none; }
.ski-table th:first-child, .ski-table td:first-child { position: sticky; left: 0; box-sizing: border-box; }
.ski-table thead th:first-child { z-index: 3; background-color: #003db0; border-right: 2px solid #1e293b; }
.ski-table tbody tr:nth-child(odd) th:first-child { background-color: #ffffff; z-index: 2; }
.ski-table tbody tr:nth-child(even) th:first-child { background-color: #f8fafc; z-index: 2; }
.ski-table tbody th:first-child { color: #1e293b; font-weight: bold; text-align: center; padding: 16px 16px; border-bottom: 1px solid #e2e8f0; border-right: 2px solid #cbd5e1; }
.status-icon { font-weight: 900; font-size: 16px; }
.status-icon.check { color: #10b981; }
.status-icon.triangle { color: #f59e0b; }
.status-icon.cross { color: #ef4444; }

@media screen and (min-width: 769px) {
.ski-table h3 {font-size: 1.3rem;}
.ski-table th:first-child, .ski-table td:first-child { width: 160px; min-width: 160px; font-size: 1.3rem;}
}

@media screen and (max-width: 768px){
.ski-table h3 {font-size: 1.1rem;}
.ski-table tbody th:first-child { padding: 0; font-size: 1rem;}
.ski-table th:first-child, .ski-table td:first-child { font-size: 1.2rem;}
.ski-table tbody td, .ski-table thead th { font-size: 1.1rem; padding: 16px 9px;}
.status-icon { font-size: 12px; }
}

/*  スキー場カセット
============================================================================= */
.ski-tab-container { margin: 20px auto;font-family: "Helvetica Neue", Arial, sans-serif; }
.ski-tab-container input[name="ski-tab"] { display: none; }
.tab-buttons { display: flex; border-bottom: 2px solid #e2e8f0; margin-bottom: 25px; }
.tab-buttons label { flex: 1; text-align: center; padding: 14px 0; background: #f8fafc; color: #64748b; font-weight: bold; cursor: pointer; border-top: 1px solid #e2e8f0; border-left: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; border-radius: 6px 6px 0 0; margin-right: 4px; transition: all 0.2s; }
.tab-buttons label:last-child { margin-right: 0; }
#tab-ski-nagano:checked ~ .tab-buttons label[for="tab-ski-nagano"],
#tab-ski-niigata:checked ~ .tab-buttons label[for="tab-ski-niigata"],
#tab-ski-gunma:checked ~ .tab-buttons label[for="tab-ski-gunma"],
#tab-ski-hokkaido:checked ~ .tab-buttons label[for="tab-ski-hokkaido"] { background: #003db0; color: #ffffff; border-color: #003db0; }
.tab-content { display: none; }
#tab-ski-nagano:checked ~ .content-ski-nagano,
#tab-ski-niigata:checked ~ .content-ski-niigata,
#tab-ski-gunma:checked ~ .content-ski-gunma,
#tab-ski-hokkaido:checked ~ .content-ski-hokkaido { display: block; }
.ski-card-list { display: flex; flex-wrap: wrap; gap: 20px; }
.ski-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); display: flex; flex-direction: column; width: calc((100% - 20px) / 2); }
.ski-card-body { display: flex; flex-direction: row; padding: 20px; gap: 20px; flex: 1; }
.ski-card-img { flex: 0 0 180px; width: 180px; height: 135px; border-radius: 6px; overflow: hidden; }
.ski-card-img img { width: 100%; height: 100%; object-fit: cover; }
.ski-card-info { display: flex; flex-direction: column; flex: 1; justify-content: center; }
.ski-card-info h3 { margin: 0 0 10px 0; font-size: 16px; color: #0b1528; font-weight: bold; }
.ski-spec-table { width: 100%; border-collapse: collapse; }
.ski-spec-table th, .ski-spec-table td { padding: 6px 8px; font-size: 13px; text-align: left; border-bottom: 1px solid #f1f5f9; }
.ski-spec-table th { color: #64748b; width: 150px; font-weight: normal; }
.ski-spec-table td { color: #1e293b; font-weight: bold; }
.ski-card-footer { padding: 0 20px 20px 20px; }
.btn-plan { display: block; width: 100%; text-align: center; background: #38bdf8; color: #ffffff; padding: 12px 0; font-weight: bold; text-decoration: none; border-radius: 6px; transition: background 0.2s; box-shadow: 0 2px 4px rgba(56, 189, 248, 0.2); }
.btn-plan:hover { background: #0ea5e9; }
.ski-card.full-width { width: 100%; }
.ski-card.full-width .ski-card-body { flex-direction: column; gap: 20px; }
.ski-card.full-width .ski-card-img { flex: none; width: 100%; height: 320px; }
.ski-card.full-width .ski-card-info h3 { font-size: 22px; margin-bottom: 6px; }
.niseko-desc { font-size: 14px; color: #64748b; margin: 0 0 20px 0; }
.niseko-grid { display: flex; gap: 15px; width: 100%; }
.niseko-item { flex: 1; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 15px; }
.niseko-item h4 { margin: 0 0 10px 0; font-size: 14px; color: #0b1528; font-weight: bold; border-left: 3px solid #e60012; padding-left: 8px; line-height: 1.3; min-height: 36px; display: flex; align-items: center; }
.ski-card-info a {cursor: pointer;}
.ski-card-footer a {color: #fff; position: relative;}
.ski-card-footer a:after { position: absolute; top: 50%; right: 20px; margin-top: -.5em; transition: .2s; font-family: 'kkrs-dp' !important; content: "\e902"; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; }

@media screen and (max-width: 768px){
 .ski-card { width: 100%; margin-top: 10px; } .niseko-grid { flex-wrap: wrap; } .niseko-item { flex: none; width: calc((100% - 15px) / 2); }
 .ski-card-list { display: flex; flex-wrap: wrap; gap: 0px;}
 .tab-buttons label { padding: 10px 0; font-size: 11px; } 
 .ski-card-body { flex-direction: column; padding: 15px; gap: 15px; } 
 .ski-card-img { flex: none; width: 100%; height: 160px; } 
 .ski-card.full-width .ski-card-img { height: 180px; } 
 .ski-card-info h3 { font-size: 16px; margin-bottom: 8px; }
 .ski-card.full-width .ski-card-info h3 { font-size: 18px; } 
 .niseko-grid { flex-direction: column; gap: 10px; } 
 .niseko-item { width: 100%; padding: 12px; } 
 .niseko-item h4 { min-height: auto; font-size: 13px; }
 .ski-card-footer { padding: 0 15px 15px 15px; } 
 .btn-plan { padding: 10px 0; font-size: 1.1rem; }
 .tab-buttons { margin-bottom: 0; }
}

/*  ホテル
============================================================================= */
.ski-tab-container input[name="hotel-tab"] { display: none; }
#tab-hotel-hokkaido:checked ~ .tab-buttons label[for="tab-hotel-hokkaido"],
#tab-hotel-tohoku:checked ~ .tab-buttons label[for="tab-hotel-tohoku"],
#tab-hotel-koshinetsu:checked ~ .tab-buttons label[for="tab-hotel-koshinetsu"],
#tab-hotel-kitakanto:checked ~ .tab-buttons label[for="tab-hotel-kitakanto"],
#tab-hotel-tokai:checked ~ .tab-buttons label[for="tab-hotel-tokai"] { background: #003db0; color: #ffffff; border-color: #003db0; }
.hotel__cassette .ratings-sect__cassette { display: none; }
#tab-hotel-hokkaido:checked ~ .hotel__cassette .content-hotel-hokkaido,
#tab-hotel-tohoku:checked ~ .hotel__cassette .content-hotel-tohoku,
#tab-hotel-koshinetsu:checked ~ .hotel__cassette .content-hotel-koshinetsu,
#tab-hotel-kitakanto:checked ~ .hotel__cassette .content-hotel-kitakanto,
#tab-hotel-tokai:checked ~ .hotel__cassette .content-hotel-tokai { display: flex; }

@media screen and (min-width: 769px) {
  .ratings-sect__cassette { display: flex; flex-wrap: wrap; justify-content: space-around; }
  .ratings-sect__cassette[style*="display: none"] { display: none !important; }
  .ratings-sect__cassette > li { position: relative; width: calc(100% / 2 - 20px); display: flex; flex-wrap: wrap; margin-top: 10px; padding: 20px; font-size: 1.4rem; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff;box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); }
  .ratings-sect__hotelimg { width: 140px; }
  .ratings-sect__hotelimg figure, .ratings-sect__hotelimg a { display: block; width: 100%; margin: 0; padding: 0; }
  .ratings-sect__hotelimg img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
  .ratings-sect__cassetteright { margin-left: 15px; width: calc(100% - 155px); }
  .ratings-sect__hoteldetail dt { padding-bottom: 5px; font-size: 2.0rem; font-weight: bold; border-bottom: dotted 2px #ccc; }
  .ratings-sect__cassettetxt { margin-top: 10px; }
  .ratings-sect__cassetteicon { margin-top: 10px; }
  .ratings-sect__cassetteicon p { margin-left: auto; padding: 10px 20px; width: auto; text-align: center; background: #fff7be; }
  .ratings-sect__cassetteicon p span strong { margin: 0 5px; color: #e80014; font-weight: 500; }
  .ratings-sect__cassette-bt { display: flex; justify-content: space-between; margin: 10px 0 0 -8px; width: calc(100% + 8px); }
  .ratings-sect__cassette-bt li { margin-left: 8px; width: 100%; border-radius: 8px; background: #fff; }
  .ratings-sect__cassette-bt li a { position: relative; display: block; padding: 15px 15px 15px 20px; color: #fff; text-align: center; line-height: 1.2; font-size: 1.3rem; font-weight: 700; border-radius: 8px; transition: opacity .2s; }
  .ratings-sect__cassette-bt li a:hover { opacity: .6; }
  .ratings-sect__cassette-bt li a:after { position: absolute; top: 50%; right: 20px; margin-top: -.5em; transition: .2s; font-family: 'kkrs-dp' !important; content: "\e902"; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; }
  .ratings-sect__cassette-bt li span { display: inline-block; position: relative; padding-left: 20px; font-size: 1.6rem;}
  /*.ratings-sect__cassette-bt li span:before { position: absolute; left: 0; top: 50%; margin-top: -.5em; transition: .2s; font-size: 1.5rem; font-family: 'kkrs-dp' !important; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; }*/
  /*.ratings-sect__cassette-bt-htl span:before { content: "\e960"; }*/
  /*.ratings-sect__cassette-bt-jr span:before { content: "\e969"; }*/
  /*.ratings-sect__cassette-bt-air span:before { content: "\e918"; }*/
  .ratings-sect__cassette-bt-htl a { background: #38bdf8; }
  .ratings-sect__cassette-bt-jr a { background: #f59000; }
  .ratings-sect__cassette-bt-air a { background: #60a8d6; }
  .ratings-sect__cassette-bt li em { display: block; font-size: 1.4rem; font-weight: 700; }
  .ratings-sect__bt { margin: 50px auto 0; width: 600px; border-radius: 35px; background: #fff; }
  .ratings-sect__bt a { position: relative; display: block; padding: 20px 15px; color: #fff; font-weight: 700; text-align: center; line-height: 1.1; background: #db5858; border-radius: 35px; transition: opacity .2s; }
  .ratings-sect__bt a:before { position: absolute; right: 25px; top: 50%; margin-top: -.5em; transition: .2s; font-family: 'kkrs-dp' !important; content: "\e902"; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; }
  .ratings-sect__bt a:hover { opacity: .6; }
  .ratings-sect__bt em { font-size: 1.8rem; font-weight: 700; }
  .ratings-sect__bt span { display: inline-block; font-size: 1.2rem; }
  .ratings-sect__bt span:before, .ratings-sect__bt span:after { margin: 0 5px; content: "－"; }
  .ratings-sect__area a font { font-weight: 500; }
  .ratings-sect__area a font:after { font-family: 'jtb-dom' !important; content: "\e976"; margin-left: 3px; }
}

@media screen and (max-width: 768px) {
  .ratings-sect__cassette { display: flex; flex-wrap: wrap; }
  .ratings-sect__cassette[style*="display: none"] { display: none !important; }
  .ratings-sect__cassette > li { margin: 10px 0 0; padding: 10px; border: solid 8px #f5f5f5; background: #fff; width: 100%; }
  .ratings-sect__hotelimg { float: right; padding-left: 10px; width: 110px; background: #fff; }
  .ratings-sect__hotelimg figure, .ratings-sect__hotelimg a { display: block; width: 100%; margin: 0; padding: 0; }
  .ratings-sect__hotelimg img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
  .ratings-sect__area { font-size: 1.1rem; }
  .ratings-sect__hoteldetail dt { margin-top: 5px; padding-bottom: 5px; font-size: 1.5rem; font-weight: bold; line-height: 1.2; border-bottom: dotted 2px #ccc; text-align: left; }
  .ratings-sect__cassettetxt { margin-top: 10px; }
  .ratings-sect__cassetteicon { margin-top: 10px; }
  .ratings-sect__cassetteicon p { margin-left: auto; padding: 10px; text-align: center; background: #fff7be; }
  .ratings-sect__cassetteicon p span strong { margin: 0 5px; color: #e80014; font-weight: 500; }
  .ratings-sect__cassette-bt { display: flex; justify-content: space-between; margin: 10px 0 0 -8px; width: calc(100% + 8px); }
  .ratings-sect__cassette-bt li { margin-left: 5px; width: 100%; border-radius: 8px; background: #fff; }
  .ratings-sect__cassette-bt li a { position: relative; display: block; padding: 10px 0; color: #fff; text-align: center; line-height: 1.2; font-size: 1.1rem; font-weight: 700; border-radius: 8px; transition: opacity .2s; }
  .ratings-sect__cassette-bt li a:hover { opacity: .6; }
  .ratings-sect__cassette-bt li a:after { position: absolute; top: 50%; right: 5px; margin-top: -.5em; transition: .2s; font-family: 'kkrs-dp' !important; content: "\e902"; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; }
  .ratings-sect__cassette-bt li span { display: inline-block; position: relative;}
  .ratings-sect__cassette-bt li span:before { position: absolute; left: 0; top: 50%; margin-top: -.5em; transition: .2s; font-size: 1.5rem; font-family: 'kkrs-dp' !important; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; }
  /*.ratings-sect__cassette-bt-htl span:before { content: "\e960"; }*/
  /*.ratings-sect__cassette-bt-jr span:before { content: "\e969"; }*/
  /*.ratings-sect__cassette-bt-air span:before { content: "\e918"; }*/
  .ratings-sect__cassette-bt-htl a { background: #38bdf8; }
  .ratings-sect__cassette-bt-jr a { background: #f59000; }
  .ratings-sect__cassette-bt-air a { background: #60a8d6; }
  .ratings-sect__cassette-bt li em { display: block; font-size: 1.1rem; font-weight: 700; }
  .ratings-sect__bt { margin: 50px auto 0; width: 600px; border-radius: 35px; background: #fff; }
  .ratings-sect__bt a { position: relative; display: block; padding: 20px 15px; color: #fff; font-weight: 700; text-align: center; line-height: 1.1; background: #db5858; border-radius: 35px; transition: opacity .2s; }
  .ratings-sect__bt a:before { position: absolute; right: 25px; top: 50%; margin-top: -.5em; transition: .2s; font-family: 'kkrs-dp' !important; content: "\e902"; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; }
  .ratings-sect__bt a:hover { opacity: .6; }
  .ratings-sect__bt em { font-size: 1.8rem; font-weight: 700; }
  .ratings-sect__bt span { display: inline-block; font-size: 1.2rem; }
  .ratings-sect__bt span:before, .ratings-sect__bt span:after { margin: 0 5px; content: "－"; }
  .ratings-sect__area a font { font-weight: 500; }
  .ratings-sect__area a font:after { font-family: 'jtb-dom' !important; content: "\e976"; margin-left: 3px; }
}


/*  おすすめプラン
============================================================================= */
.recommend-sect__cassette dt { font-size: 2.0rem; font-weight: 700; text-align: center; line-height: 1.2; }
.recommend-sect__cassette dd { margin-top: 10px; }
.recommend-sect__cassette img { width: 100%; height: auto; vertical-align: bottom; border-radius: 8px; }
.recommend-sect__cassette-txt { margin-top: 15px; }
.recommend-sect__cassette-bt { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.recommend-sect__cassette-bt li { width: 100%; border-radius: 8px; background: #38bdf8;}
.recommend-sect__cassette-bt li a { position: relative; display: block; padding: 15px 15px 15px 0; color: #fff; text-align: center; line-height: 1.2; font-weight: 700; border-radius: 8px; transition: opacity .2s; }
.recommend-sect__cassette-bt li a:hover { opacity: .6; }
.recommend-sect__cassette-bt li a:after { position: absolute; top: 50%; margin-top: -.5em; transition: .2s; font-family: 'kkrs-dp' !important; content: "\e902"; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.recommend-sect__cassette-bt li span { display: inline-block; position: relative;}

@media screen and (min-width: 769px) {
.recommend-sect__cassette { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.recommend-sect__cassette > li {width: calc(100% / 3 - 10px); padding: 20px 10px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);}
.recommend-sect__cassette-bt { margin: 10px 0 0 -8px; }
.recommend-sect__cassette-bt li { margin-left: 8px; }
.recommend-sect__cassette-bt li a { font-size: 1.3rem; }
.recommend-sect__cassette-bt li a:after { right: 25px; }
.recommend-sect__cassette-bt li span { font-size: 1.6rem;}
}

@media screen and (max-width: 768px) {
.recommend-sect__cassette dt { font-size: 1.5rem;}
.recommend-sect__cassette { margin: 10px 0 0; }
.recommend-sect__cassette > li { margin: 10px 0 0; padding: 10px; border: solid 8px #f5f5f5; background: #fff; }
.recommend-sect__cassette-bt { margin: 10px 0 0 -5px; }
.recommend-sect__cassette-bt li { margin-left: 5px; }
.recommend-sect__cassette-bt li a { font-size: 1.1rem; padding: 10px 0;}
.recommend-sect__cassette-bt li a:after { right: 8px; }
}

/*  クーポン
============================================================================= */
.sec-coupon .c-coupon__item +  .c-coupon__item { margin-top: 1.6667em; }
.sec-coupon .c-sec__sub { margin: 0 -4%; padding: 2em 7%; }
.sec-coupon .c-filter__head span { font-size: 1.1786em; }
.sec-coupon dl { margin: 0 -4%; }
.sec-coupon .c-coupon__data--bottom { flex-wrap: wrap; padding: 1em; }
.sec-coupon .c-coupon__data--bottom .c-price { width: 100%; }
.sec-coupon .c-coupon__data--bottom .c-code { justify-content: space-between; margin-top: 1em; width: 100%; }
.sec-coupon .c-coupon__data--bottom .c-code p { white-space: nowrap; width: calc(50% - .25em); }
.sec-coupon .c-coupon__data--bottom p { text-align: center; }
.sec-coupon .c-coupon__data--bottom p .txt { display: block; margin-bottom: .25em; }
.sec-coupon .c-coupon__data--bottom p .label { width: 100%; }
.sec-coupon .c-coupon__flow li .btn { width: 100%; }
.sec-coupon .c-coupon__flow li .btn span { font-size: 1.1667em; }
.sec-coupon {font-size: 1.5em; margin-bottom: 1.5em; }

.c-sec__inner { margin: 0 auto; max-width: 1236px; width: 100%; }
.c-coupon__list { display: flex; flex-wrap: wrap; justify-content: center; margin-top:30px; }
.c-coupon__item { background-color: #fff; border-radius: .375em; box-shadow: 0 0 .375em #c7d0d4; display: flex; flex-direction: column; overflow: hidden; position: relative; }
.c-coupon__item:hover { cursor: pointer; }
.c-coupon__head { background: #ff903b url(../images/bg-coupon-head.png) no-repeat 50% 50% / 37.5% auto; color: #fff; padding: 1em; position: relative; text-align: left; }
.c-coupon__head::after { background-image: linear-gradient(to right, #ff903b, #ff903b .4375em, transparent .4375em, transparent .625em); background-repeat: repeat-x; background-size: .625em .1875em; bottom: -.1875em; content: ""; display: block; height: .1875em; left: 0; position: absolute; width: 100%; }
.c-coupon__area { background-color: #fff; border-radius: 1em; color: #ff903b; display: inline-block; font-size: .875em; font-weight: bold; line-height: 2; padding: 0 1.25em; text-align: center;}
.c-coupon__price { font-size: 1.1em; text-align: center; line-height: 1.35; }
.c-coupon__price em { font-size: 2em; }
.c-coupon__bottom { display: flex; flex: 1 0 auto; flex-direction: column; padding: 1.125em; text-align: left; }
.c-coupon__title { font-size: 1em; line-height: 1.4; margin-bottom: 15px; font-weight: 700; text-align: left;}
.c-coupon__term { font-size: .8125em; }
.c-coupon__tags { margin-top: .5em; }
.c-coupon__tags span { border-radius: 1em; display: inline-block; font-size: .8125em; line-height: 2; margin-top: .5em; padding: 0 1.25em; }
.c-coupon__tags span + span { margin-left: .5em; }
.c-coupon__tags .type .hotel { background-color: #ffd6d6; }
.c-coupon__tags .type .tour { background-color: #c1f2f9; }
.c-coupon__tags .option span { background-color: #eceff1; }
.c-coupon__list .no-resuslts { color: #ff903b; font-size: 1.25em; font-weight: 500; padding: 2em 0; width: 100%; }
.c-coupon__item { margin: .625em 0; width: calc(calc(100% - 6.00em) / 5); margin-right:10px;}

/* top */
.c-coupon__item.close::before,
.c-coupon__item.c-close::before { align-items: center; background-color: rgba( 0,0,0,.75); color: #fff; white-space: pre; content: "\3054\597d\8a55\306b\3064\304d\A" "\914d\5e03\7d42\4e86\3044\305f\3057\307e\3057\305f"; display: flex; font-size: 1.5em; font-weight: 500; height: 100%; justify-content: center; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; }

/* detail */
.c-coupon__data.c-close::before,
#h-open .c-coupon__data.close::before,
#p-close .c-coupon__data.close::before,
#coupon-close .c-coupon__data::before { align-items: center; background-color: rgba( 0,0,0,.75); color: #fff; white-space: pre; content: "\3054\597d\8a55\306b\3064\304d\A" "\914d\5e03\7d42\4e86\3044\305f\3057\307e\3057\305f"; display: flex; font-size: 1.5em; font-weight: 500; height: 100%; justify-content: center; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; border-radius: 0.375em; text-align: center; }

.c-coupon__item.c-close.open::before,
.c-coupon__item.c-close.h-open::before{ content: none;}
.c-coupon__list::before { content: ""; display: block; order: 1; width: calc(calc(100% - 3.75em) / 4); }
.c-coupon__list::after { content: ""; display: block; width: calc(calc(100% - 3.75em) / 4); }

@media all and (-ms-high-contrast:none){
*::-ms-backdrop, .c-coupon__list::before { width: 23.7864%; }
*::-ms-backdrop, .c-coupon__list::after { width: 23.7864%; }
*::-ms-backdrop, .c-coupon__item { width: 23.7864%; }
/**::-ms-backdrop, .c-coupon__bottom { flex: 1 0 auto; }*/
}

#jtbonly .jtbonly-ly-btn-column {text-align: left;}
#jtbonly .jtbonly-ly-btn-column li {list-style: none;}

/* クーポン表示制御 */
.dept-select .c-coupon__item {position: relative;display: none;}
.dept-select .c-coupon__item.-show {display: block;}
.dept-select dl { display: none;}
.dept-select dl.-show { display: block;}


@media screen and (max-width: 768px) {
  .c-coupon__list { display: flex; flex-wrap: wrap; justify-content: space-between; margin:10px 8px; }
  .c-coupon__item { background-color: #fff; border-radius: .375em; box-shadow: 0 0 .375em #c7d0d4; display: flex; flex-direction: column; overflow: hidden; position: relative; }
  .c-coupon__item:hover { cursor: pointer; }
  .c-coupon__head { background: #ff903b url(../images/bg-coupon-head.png) no-repeat 50% 50% / 37.5% auto; color: #fff; padding: 0.5em; position: relative; text-align: left; }
  .c-coupon__head::after { background-image: linear-gradient(to right, #ff903b, #ff903b .4375em, transparent .4375em, transparent .625em); background-repeat: repeat-x; background-size: .625em .1875em; bottom: -.1875em; content: ""; display: block; height: .1875em; left: 0; position: absolute; width: 100%; }
  .c-coupon__area { background-color: #fff; border-radius: 1em; color: #ff903b; display: inline-block; font-weight: bold; line-height: 2; padding: 0 1.25em; text-align: center;}
  .c-coupon__price { font-size: 1em; text-align: center; line-height: 1.35; }
  .c-coupon__bottom { display: flex; flex: 1 0 auto; flex-direction: column; padding: 1.125em; text-align: left; }
  .c-coupon__title { font-size: 1.2em; line-height: 1.4; margin-bottom: 10px; font-weight: 700;;text-align: left;}
  .c-coupon__term { font-size: .8125em;}
  .c-coupon__tags { margin-top: .5em; }
  .c-coupon__tags span { border-radius: 1em; display: inline-block; font-size: .8125em; line-height: 2; margin-top: .5em; padding: 0 1.25em; }
  .c-coupon__tags span + span { margin-left: .5em; }
  .c-coupon__tags .type .hotel { background-color: #ffd6d6; }
  .c-coupon__tags .type .tour { background-color: #c1f2f9; }
  .c-coupon__tags .option span { background-color: #eceff1; }
  .c-coupon__list .no-results { color: #ff903b; font-size: 1.25em; font-weight: 500; padding: 2em 0; width: 100%; }
  
  /* top */
  .c-coupon__item.close::before,
  .c-coupon__item.c-close::before { align-items: center; background-color: rgba( 0,0,0,.75); color: #fff; white-space: pre; content: "\3054\597d\8a55\306b\3064\304d\A" "\914d\5e03\7d42\4e86\3044\305f\3057\307e\3057\305f"; display: flex; font-size: 1.5em; font-weight: 500; height: 100%; justify-content: center; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; }
  .c-coupon__item.c-close.open::before,
  .c-coupon__item.c-close.h-open::before{ content: none;}
  
    .c-coupon__item { width: 100%; }
    .c-coupon__head { background-size: auto 80%; }
    .c-coupon__area { font-size: .8em; }
    .c-coupon__price em { font-size: 1.9em; line-height: 1; }
    .c-coupon__term, .c-coupon__tags span { font-size: .72em; }
    .c-coupon__item.close .c-close__txt { font-size: 2.5em; }
    .c-coupon__item.close::before { font-size: 2.5em; }
    .c-coupon__item.c-close::before { font-size: 2.5em; }
    .sec-coupon .c-coupon__item +  .c-coupon__item { margin-top: 1.6667em; }
    .sec-coupon .c-sec__sub { margin: 0 -4%; padding: 2em 7%; }#ff7896
      .sec-coupon .c-filter__head span { font-size: 1.1786em; }
    .sec-coupon dl { margin: 0 -4%; }
    .sec-coupon .c-coupon__data--bottom { flex-wrap: wrap; padding: 1em; }
    .sec-coupon .c-coupon__data--bottom .c-price { width: 100%; }
    .sec-coupon .c-coupon__data--bottom .c-code { justify-content: space-between; margin-top: 1em; width: 100%; }
    .sec-coupon .c-coupon__data--bottom .c-code p { white-space: nowrap; width: calc(50% - .25em); }
    .sec-coupon .c-coupon__data--bottom p { text-align: center; }
    .sec-coupon .c-coupon__data--bottom p .txt { display: block; margin-bottom: .25em; }
    .sec-coupon .c-coupon__data--bottom p .label { width: 100%; }
    .sec-coupon .c-coupon__flow li .btn { width: 100%; }
    .sec-coupon .c-coupon__flow li .btn span { font-size: 1.1667em; }
    .l-guide .c-sec__inner { padding: 0 3%; }
    .sp-none {display: none!important;}
  .c-coupon__item { margin: .625em 0; width: calc(calc(100% - 1.2em) / 2); }
  
  #jtbonly .jtbonly-ly-btn-column {text-align: left;}
  #jtbonly .jtbonly-ly-btn-column li {list-style: none;}
}


/*  人気のキーワード
============================================================================= */
#kw.c-sec { padding: 4.25em 0 0; }
.c-list.c-list__kw { margin-top: 40px; display: flex; flex-wrap: wrap; justify-content: center; }
.sec-kw .c-list .c-word { color: #1a5178; border-radius: 100vh; margin: .5em .25em; }
.sec-kw .c-list .c-word span { font-weight: 500; font-size: 1.125em; }
.c-word:hover span {color: #fff;}

@media screen and (min-width: 769px) {
.sec-kw .c-list .c-word { height: 3.125em; padding: 0 2em; }
.sec-kw a:hover { background-color: rgba(16, 69, 167, 0.9); }
}

@media screen and (max-width: 768px) {
.sec-kw .c-list .c-word { height: 2.75em; padding: 0 1em; margin: 0 .25em .25em 0; }
.sec-kw a:hover { transition: all 0.4s ease; text-decoration: underline; }
}


/*  特集・プランから選ぶ
============================================================================= */
.l-block {text-align: center;}
.c-word { align-items: center; background-color: #fff; border: 1px solid; display: inline-flex; justify-content: center; }
.c-word span::before { content: "＃"; padding-right: .25em; }
.c-title_f { margin-bottom: 15px;font-size: 22px; font-weight: 600;position: relative;display: inline-block;padding: 0 20px;}
.c-title_f span { color: #323743!important; }
.c-sec:nth-child(even) { background-color: #fff!important;}
.c-sec__head { margin-bottom: 0px!important; }
.c-sec__title { text-align: center!important; padding: 10px!important; color: #fff!important; font-size: 3.0rem!important; font-weight: bold!important; background: #2265cb!important; margin-bottom: 20px!important; }
.l-block .c-title_f span { font-weight: 700; line-height: 1; }
.sec-plan .c-list { display: flex; flex-wrap: wrap; justify-content: center; }
.sec-plan .c-list.c-list__month .c-word { border-color: #1dab91; }
.sec-plan .c-list__month .c-word span { color: #1dab91; }
.sec-plan .c-list .c-word { border-radius: 100vh; align-items: center; background-color: #fff; border: 1px solid; display: inline-flex; justify-content: center; color: #60A8D6!important; }
.sec-plan .c-list .c-word span { font-size: 1.125em; font-weight: 500; }
.c-title_f:before, .c-title_f:after {position: absolute;top: 0;content: "";display: inline-block;width: 3px;height: 90%; border-radius: 3px;background: #003db0;margin-top: 3px;}
.c-title_f:before {left: 0;transform: rotate(-30deg);}
.c-title_f:after {right: 0;transform: rotate(30deg);}
.c-bnr__list {display: flex;flex-wrap: wrap;justify-content: space-evenly; margin: 30px auto;max-width: 900px; width: 100%;}
.c-bnr__item .c-title_p {font-weight: 700; font-size: 1.3rem;}
.c-bottom__link { display: block;width: 50%;margin: 20px auto 60px;background: #38bdf8;color: #ffffff;padding: 12px 0;font-weight: bold;text-decoration: none; border-radius: 6px;transition: background 0.2s;box-shadow: 0 2px 4px rgba(56, 189, 248, 0.2);}
.c-bottom__link a {position: relative;color: #ffffff; display: block;}
.c-bottom__link a:hover { opacity: .6; }
.c-bottom__link a:after { position: absolute;top: 50%;right: -180px;margin-top: -.5em; transition: .2s;font-family: 'kkrs-dp' !important;content: "\e902"; text-decoration: none;speak: none;font-style: normal;font-weight: normal;font-variant: normal;text-transform: none;line-height: 1;vertical-align: middle; }
.c-bottom__link span { font-size: 1.6rem;}

@media screen and (min-width: 769px) {
.c-sec__bottom { margin: 50px 0; }
.l-block .c-title_f span { font-size: 1.5em; }
.sec-plan .c-list { margin: 20px 0 50px; }
.sec-plan .c-list .c-word { height: 3.125em; margin: .5em .25em; padding: 0 2em; }
.sec-plan .c-list .c-word:hover { background-color: #aed8f3!important; }
.c-bnr__item {width: calc(calc(100% - 7.5em) / 3); margin: 10px 0;}
.c-bottom__link a { font-size: 1.3rem; }
.c-bottom__link a:after { right: 15px; }
.c-bottom__link span { font-size: 1.6rem;}
}

@media screen and (max-width: 768px) {
.c-title_f { font-size: 1.5rem;}
.l-block { margin: 30px 0; }
.l-block .c-title_f span { font-size: 1.625em; }
.sec-plan .c-list { margin-top: 1em; }
.sec-plan .c-list .c-word { height: 2.75em; margin: 0 .25em .25em 0; padding: 0 1em; }
li.c-bnr__item { width: calc(100% / 2); padding: 10px 3px; box-sizing: border-box;}
.c-bnr__item, .c-bnr__item img {width: 100%;}
.c-bnr__item .c-title_p { font-size: 1.1rem;}
.c-bottom__link { width: 100%;}
.c-bottom__link a:after { right: 10px; }
.c-bottom__link span { font-size: 1.1rem;}
}



/*  FAQ
============================================================================= */
@media screen and (min-width: 769px) {
.faq-sect__inner { position: relative; margin: 50px auto 0; padding: 0 5px; width: 100%;}
.faq-sect ul { background-color: #f5f5f5; padding: 10px; }
.faq-sect li:not(:first-child) { margin-top: 8px; }
.faq-sect dl { display: flex; }
.faq-sect dt, .faq-sect dd { position: relative; padding: 15px 20px 15px 65px; }
.faq-sect dt { display: flex; align-items: center; width: 350px; background: #efede0; }
.faq-sect dd { margin-left: 5px; width: calc(100% - 355px); background: #fff; }
.faq-sect dt::before, .faq-sect dd::before { position: absolute; left: 10px; top: 8px; font-size: 1.4em; color: #ffffff; border-radius: 50%; display: inline-block; width: 2.0em; height: 2.0em; line-height: 2.0em; text-align: center; }
.faq-sect dt::before { content: 'Q'; background: #60a8d6; }
.faq-sect dd::before { content: 'A'; background: #db5858; }
.faq-sect dd a { text-decoration: underline; }
}

@media screen and (max-width: 768px){
.faq-sect__inner { margin-top: 20px; }
.faq-sect li:not(:first-child) { border-top: solid 1px #ccc; }
.faq-sect dt { position: relative; padding: 15px 40px 20px 55px; line-height: 1.4; background: #fff; }
.faq-sect dd { position: relative; padding: 15px 20px 15px 55px; display: none; background: #fff; border-top: dashed 1px #ccc; }
.faq-sect dt:after { position: absolute; right: 18px; top: 50%; margin-top: -.5em; font-family: 'jtb-dom'; content: "\e906"; speak: none; text-decoration: none; text-transform: none; font-style: normal; font-weight: normal; font-variant: normal; line-height: 1; vertical-align: middle; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transition: .2s; transform: rotate(0deg); }
.faq-sect dt.is-open:after { transform: rotate(180deg); }
.faq-sect dt::before, .faq-sect dd::before { position: absolute; left: 10px; top: 8px; font-size: 1.4em; color: #ffffff; border-radius: 50%; display: inline-block; width: 2.0em; height: 2.0em; line-height: 2.0em; text-align: center; }
.faq-sect dt::before { content: 'Q'; background: #60a8d6; }
.faq-sect dd::before { content: 'A'; background: #db5858; }
.faq-sect dd a { text-decoration: underline; }
}