@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;
}
.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; }

/* 共通 */
html { -webkit-text-size-adjust: 100%; font-size: 62.5%; }
body { box-sizing: border-box; font-family: "Noto Sans JP", sans-serif, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo, sans-serif; color: #323743; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, input, p { margin: 0; padding: 0; }
.l-contents { background: linear-gradient(to right, #c6ffe2, #b8f5ff); line-height: 1.6;  }
.l-page * { -ms-box-sizing: border-box; box-sizing: border-box; }
li { list-style: none; }
a { color: #014333; text-decoration: none; }
figure { position: relative; margin: 0; padding: 0; }
figcaption { position: absolute; right: .8rem; bottom: .5rem; color: #fff; font-size: 1rem; background-color: rgba(0, 0, 0, 0.4); padding: 1px 4px; border-radius: 2px; }
img { display: block; width: 100%; }
.c-inner { margin: 0 auto; max-width: 1236px; width: 88%; }
h1 { font-weight: bold; line-height: 1; text-align: left; }
h2.c-sec__title { color: #014333; position: relative; padding: 0.3em 1em; margin-bottom: 24px; line-height: 1.5; z-index: 3; }
h2.c-sec__title::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(255 255 255 / 70%); border-radius: 1vw; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); z-index: -1; }
h2.c-sec__title::after { content: ""; position: absolute; bottom: -13px; right: -6px; width: calc(98% - 12px); height: 40px; background-image: radial-gradient(#3ea88e 10%, transparent 25%); background-size: 6px 6px; border-radius: 1vw; overflow: hidden; z-index: -2; }
h3 { color: #014333; font-size: 1.6em; font-weight: 700; text-align: center; }
h4 { font-weight: 600; font-size: 1.3em; line-height: 1.3; }
.c-sec__head { display: grid; margin: 0 auto; text-align: center; }
.c-sec__head span { background: linear-gradient(90deg, #35e3b3 0%, #3b77ee 100%); background-clip: text; -webkit-background-clip: text; font-weight: 700; letter-spacing: .1em; -webkit-text-fill-color: transparent; }
@media screen and (min-width: 769px) {
  body { font-size: 1.6rem; }
  .l-page { font-size: 16px; }
  a:hover { opacity: .6; transition: 0.4s ease; }
  figcaption { right: .8rem; bottom: .5rem; font-size: 1rem; }
  h1 { font-size: 1.8rem; margin: 0 auto 12px; max-width: 1236px; }
  h2.c-sec__title { font-size: 1.8em;}
  .c-sec { padding: 4.25em 0 6em; }
  .c-sec__head { margin-bottom: 2.5em; }
  .pc-none { display: none; }
  .carousel {overflow-x: hidden;}
}
@media screen and (max-width: 768px) {
  body { font-size: 1.2rem; }
  .l-page { font-size: 3.2vw; overflow: hidden ;}
  figcaption { right: .6rem; bottom: .5rem; font-size: .8rem; }
  h1 { font-size: 1.4rem; margin: 20px 0 8px 5px; }
  h2.c-sec__title { font-size: 1.4em;}
  .c-sec { padding: 3em 0 2em; }
  .c-sec__head { margin-bottom: 1.2em; }
  .sp-none { display: none; }
}

/* ぱんくず */
@media screen and (min-width:769px){
  .breadcrumb-upper { margin: 0 auto 24px; max-width: 1230px; padding: 0 .5em; text-align: left; }
  .breadcrumb-upper__fix, .breadcrumb-upper__scroll, .breadcrumb-upper__item { display: inline-block; font-size: 8px; }
  .breadcrumb-upper__item { position: relative; margin-left: 1.5em; padding-left: .2em; line-height: 2.1; }
  .breadcrumb-upper__item::before { position: absolute; content: ">"; top: 0; left: -1.1em; color: #999; line-height: 2.1; }
}
@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 .3s; box-shadow: 6px 0 10px 0 rgba(0, 0, 0, .3); z-index: 3; }
  .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; }
}

/* MV */
.l-mv { position: relative; background-size: cover; width: 100%; height: 0; }
.l-mv img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.l-mv .c-btn { position: absolute; display: flex; justify-content: center; align-items: center; background-color: rgba(255, 255, 255, .9); height: 3em; border-radius: .375em; }
.l-mv .c-btn span { color: #014333; font-weight: 700; }
.l-mv .c-btn span::after { position: absolute; content: "\e803"; display: inline-block; top: 50%; font-family: "icon"; padding-left: .5em; transform: translateY(-50%); }
@media screen and (min-width:769px){
  .l-mv { background-position: center; padding-bottom: 32%; overflow: hidden; }
  .l-mv .c-btn { padding: 0 2.5em 0 2.5em; bottom: 80px; right: 120px; }
  .l-mv .c-btn span { font-size: 1em; }
}
@media screen and (max-width:768px){
  .l-mv { padding-bottom: 75%; }
  .l-mv .c-btn { padding: 0 2.5em 0 1.5em; top: 8px; right: 10px; font-size: .4em; }
  .l-mv .c-btn span { font-size: 1.6em; }
}

/* NAV */
.l-anchor { position: absolute; width: 100%; }
.l-anchor .c-list { display: flex; justify-content: space-between; flex-wrap: wrap; }
.l-anchor .c-list .c-item { transform: translateY(-2em); }
.l-anchor .c-list .c-item a { display: flex; justify-content: center; align-items: center; background-color: #fff; border-radius: .375em; }
.l-anchor .c-list .c-item span { position: relative; display: inline-block; font-weight: 700; text-align: center; }
.l-anchor .c-list .c-item span::after { position: absolute; display: block; content: "\e801"; font-family: "icon"; color: #3ea88e; font-size: 1.25em; left: 50%; transform: translateX(-50%); }
.is-fixed { position: fixed; top: 0; left: 0; width: 100%; z-index: 4; }
.l-anchor__float.is-fixed { background-color: #fff; }
.l-anchor__float.is-fixed .c-item { transform: translateY(0); }
@media screen and (min-width: 769px) {
  .l-anchor .c-list .c-item { width: calc(calc(100% - 1.875em) / 5); }
  .l-anchor .c-list .c-item span { margin-bottom: 1em; }
  .l-anchor .c-list .c-item span::after { bottom: -2.25em; transition: all .4s ease; }
  .l-anchor .c-list .c-item a { height: 6em; }
  .l-anchor .c-list .c-item a:hover span::after { bottom: -1.5em; }
  .l-anchor .c-list .c-item a:hover { opacity: 1;}
  .l-anchor__float.is-fixed .c-item a { height: 5.5em; }
  .l-anchor__float.is-fixed .c-item span::before { padding-bottom: 0.5em; }
  .l-anchor__float.is-fixed .c-item span::after { bottom: -1.75em; }
}
@media screen and (max-width: 768px) {
  .l-anchor, .l-anchor .c-item a { padding-bottom: 1em; }
  .l-anchor .c-list .c-item span { font-size: 2.7vw; }
  .l-anchor .c-list .c-item span::before { padding-bottom: .5em; }
  .l-anchor .c-list .c-item span::after { bottom: -1.25em;}
  .l-anchor .c-list .c-item { width: calc(calc(108% - 0.5em) / 5); margin: -15px; padding-top: 20px; }
  .l-anchor .c-list .c-item a { height: 4em; }
  .l-anchor__float.is-fixed .c-inner { width: 92%; margin: 0 15px 15px 15px; }
  .l-anchor__float.is-fixed .c-item span { line-height: 1.1; }
  .l-anchor__float.is-fixed .c-item span::after { bottom: -1.6em; }
}

/* 紹介文 */
.concept { display: flex; align-items: center; background: #fff; margin: 0 auto; border-radius: .375em; box-shadow: 0 1px 3px rgb(0 0 0 / 20%); }
.concept-txt { text-align: center; }
.concept-txt b { font-size: 1.6em; } 
.concept-txt p { line-height: 1.8; }
@media screen and (min-width: 769px) {
  .sec-concept { padding: 9em 0 4em; }
  .concept { max-width: 85%; gap: 46px; padding: 30px 40px; }
  .concept img { width: 40%; }
  .concept-txt p { padding-top: 24px; }
}
@media screen and (max-width: 769px) {
  .sec-concept { padding-top: 6em; }
  .concept { flex-direction: column; gap: 24px; padding: 24px 16px; }
  .concept img { width: 86%; }
  .concept-txt p { padding-top: 12px; }
}

/* クーポン  */
.cpn-wrap { display: flex; justify-content: center; }
.cpn-item { display: flex; flex-direction: column; background-color: #fff; padding: 8px; border-radius: .375em; box-shadow: 0 1px 3px rgb(0 0 0 / 30%); text-align: center; }
.cpn-item a { display: flex; flex-direction: column; height: 100%; }
.discount { color: #cc0d21; font-weight: 600; margin-top: auto; margin-bottom: auto; }
.cpn-btn { display: flex; justify-content: center; }
.cpn-btn a { position: relative; display: flex; justify-content: center; align-items: center; padding: 5px 5px; min-height: 50px; text-align: center; font-size: 1.4rem; font-weight: bold; color: #fff; letter-spacing: 0; line-height: 1.3; border-radius: 5px; border: solid 1px #3ea88e; background: #3ea88e; }
.cpn-btn a::after { position: absolute; top: 50%; transform: translateY(-50%); display: block; color: #3ea88e; font-family: 'Material Icons Round'; content: "\e941"; background-color: #fff; border-radius: .35em; }
@media screen and (min-width: 769px) {
  .cpn-wrap { gap: 16px; }
  .cpn-item { width: calc(100% / 4); }
  .cpn-item b { padding-top: 8px; }
  .discount { font-size: 1.3em; }
  .period { text-align: start; font-size: 1.3rem; }
  .cpn-btn { margin: 60px auto 0; }
  .cpn-btn a { font-size: 1.6rem; transition: all 0.4s; width: 650px; }
  .cpn-btn a::after { right: 20px; font-size: 2.6rem; width: 36px; height: 2rem; line-height: 2rem; }
}
@media screen and (max-width: 768px) {
  .cpn-wrap { flex-wrap: wrap; gap: 8px; }
  .cpn-item { width: calc((100% - 8px * 1) / 2); }
  .cpn-item b { padding: 4px; }
  .period { text-align: center; font-size: 1.2rem; }
  .cpn-btn { margin: 40px auto 0; }
  .cpn-btn a { width: 100%; height: 3.625em; }
  .cpn-btn a::after { right: 8px; font-size: 2rem; width: 30px; height: 1.5rem; line-height: 1.5rem; }
}

/* 夏旅バナー  */
.banner-wrap { display: flex; }
.banner-list { width: calc(100% / 2); display: flex; flex-direction: column; background-color: #fff; padding: 8px; border-radius: .375em; box-shadow: 0 1px 3px rgb(0 0 0 / 30%); text-align: center; }
@media screen and (min-width:769px){
  .banner-wrap { width: 50%; margin: 0 auto; gap: 32px; }
}
@media screen and (max-width:768px){
  .banner-wrap { gap: 8px;}
}

/* おすすめエリア */
.page-container { background-color: #fff; width: 100%; border-radius: .375em; box-shadow: 0 1px 3px rgb(0 0 0 / 20%); }
.region-header { text-align: center; }
.pref-badge { background-color: #727272; color: #fff; padding: 2px 14px; border-radius: 12px; display: inline-block; margin-bottom: 6px; font-weight: bold; }
.sub-ttl { display: flex; justify-content: center; text-align: center; align-items: center; color: #014333; padding-bottom: 24px; }
.sub-ttl::before { content: ""; height: .8px; background: #014333; }
.sub-ttl::after { content: ""; height: .8px; background: #014333; }
.intro-text { line-height: 1.6; margin-bottom: 25px; font-weight: bold; color: #222; }
.intro-visual { display: flex; }
.main-image-box { flex: 1; height: 230px; border-radius: 4px; overflow: hidden; }
.main-image-box { position: relative; }
.main-image-box img { object-fit: cover; }
.main-image-box span { position: absolute; bottom: .4rem; right: 1rem; color: #fff; font-size: 11px; background-color: rgba(0, 0, 0, 0.4); padding: 2px 6px; border-radius: 2px; }
.section-title { font-size: 18px;  color: #0b6146; border-top: 2px solid #0b6146; border-bottom: 2px solid #0b6146; text-align: center; padding: 6px 0; margin-bottom: 25px; letter-spacing: 1px; }
@media screen and (min-width: 769px){
  .page-container { padding: 30px 40px; margin: 36px 0; }
  .pref-badge { width: 1100px; }
  .sub-ttl::before { width: 280px; margin-right: 16px; }
  .sub-ttl::after { width: 280px; margin-left: 16px; }
  .region-header { margin-bottom: 25px; }
  .intro-visual { gap: 24px; }
  .intro-section { margin-bottom: 36px; }
  .main-image-box img { height: 230px; }
}
@media screen and (max-width: 768px){
  .page-container { padding: 24px; margin: 32px 0; }
  .pref-badge { width: 260px; }
  .sub-ttl::before { width: 28px; margin-right: 4px; }
  .sub-ttl::after { width: 28px; margin-left: 4px; }
  .region-header { margin-bottom: 16px; }
  .intro-visual { flex-direction: column-reverse; gap: 8px; }
  .intro-section { margin-bottom: 8px; }
}

/* 気象庁グラフ */
.chart-container { width: 100%; max-width: 800px; flex: 1; }
.chart-wrapper { position: relative; height: 280px; }
.y-axis { position: absolute; left: 0; top: 20px; bottom: 60px; display: flex; flex-direction: column; justify-content: space-between; }
.y-label { font-size: 0.9em; color: #666; text-align: right; padding-right: 10px; transform: translateY(-50%); }
.chart-area { position: absolute; left: 70px; right: 20px; top: 20px; bottom: 80px; border-left: 2px solid #ddd; border-bottom: 2px solid #ddd; }
.grid-line { position: absolute; left: -6px; right: 0; height: 1px; background: #f0f0f0; }
.x-axis { position: absolute; bottom: 30px; height: 50px; display: flex; align-items: flex-start; padding-top: 4px; }
.x-label { font-size: .9em; color: #666; font-weight: 500; }
.graph-svg { position: absolute; left: 70px; right: 20px; top: 20px; bottom: 80px; overflow: visible; }
.data-point { cursor: pointer; transition: all 0.3s ease; }
.data-point:hover { r: 14; }
.tooltip { position: fixed; background: rgba(0,0,0,0.85); color: white; padding: 12px 16px; border-radius: 8px; font-size: 0.9em; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; z-index: 1000; white-space: nowrap; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
.tooltip.show { opacity: 1; }
.tooltip-title { font-weight: bold; margin-bottom: 4px; }
.legend { display: flex; justify-content: center; }
.legend-item { display: flex; align-items: center; gap: 10px; font-size: 0.95em; color: #555; }
.legend-circle { width: 20px; height: 20px; border-radius: 50%; }
.note { text-align: center; font-size: 0.85em; color: #888; margin-top: 16px; }
@media screen and (min-width: 769px){
  .y-axis { width: 70px; }
  .chart-area { left: 70px; }
  .x-axis { left: 70px; right: 20px; justify-content: space-around; }
  .legend { gap: 40px; margin-top: -24px; }
}
@media screen and (max-width: 768px){
  .y-axis { width: 32px; }
  .chart-area { left: 32px; }
  .x-axis { left: 60px; right: 48px; justify-content: space-between; }
  .legend { gap: 16px; margin-top: -32px; }
  .legend-item { white-space: nowrap; }
}

/* 気象庁 避暑地表 */
.heat-table { width: 100%; border-collapse: collapse; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.heat-table th, .heat-table td { padding: 1.2rem 1rem; text-align: center; border: 2px solid #727272; }
.heat-table th { background: #e7fffa; font-weight: bold; }
.heat-table .city-name { font-weight: bold; background: #edf5f4; }
@media screen and (min-width: 769px){
  .heat-wrapper { margin-top: 20px; }
  .heat-wrapper .legend { padding-bottom: 16px; }
}
@media screen and (max-width: 768px){
  .heat-wrapper { margin-top: 42px; }
  .heat-wrapper .legend { padding-bottom: 8px; }
}

/* 避暑地のエリア */
.title-ribbon { font-size: 1.4em; border-top: 2px solid #3ea88e; border-bottom: 2px solid #3ea88e; background-color: #e7fffa; line-height: 1.3; padding: 10px 0; text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF; }
.theme-title { width: fit-content; text-align: center; font-weight: 700; color: #014333; display: flex; align-items: flex-end; height: 4em; }
.other-theme .carousel_item { margin: 0 0 8px; }
.other-theme img { width: 100%; height: 8em; border-radius: 16px; object-fit: cover; }
.other-theme dd p { text-align: center; white-space: nowrap; } 
.theme-btn { position: relative; text-align: end; padding-right: 28px; font-weight: 700; margin-top: 12px; }
.theme-btn a { color: #014333; }
.theme-btn span::after { position: absolute; display: block; content: ""; width: 48%; border-bottom: 2px solid #3ea88e; border-right: 3.5px solid #3ea88e; transform: skew(40deg); height: 10px; right: 12px; margin: -6px 0 0 -25px; }
@media screen and (min-width: 769px){
  .title-ribbon { margin: 44px 0 16px; }
  .carousel { overflow-x: hidden; justify-content: space-between; }
  .other-theme-title { padding-top: 4.25em; }
  .other-theme { padding: 0 8px; justify-content: center; gap: 8px; }
  .other-theme dl { flex: 0 0 calc((100% - 46px) / 6); }
  .theme-title { margin: 0 auto 8px; font-size: 1.4rem; }
  .other-theme dd { margin-top: 8px; font-size: 1.2rem; }
  .theme-btn span::after { width: 70%; }
}
@media screen and (max-width: 768px){
  .title-ribbon { margin-top: 44px; }
  .add { margin: 44px 0 16px; }
  .theme-title { margin: 0 auto 5px; padding: 0 1rem; font-size: 1.2rem; white-space: nowrap; }
  .other-theme { gap: 4px; padding-bottom: 1rem; }
  .other-theme dl { width: 164px; }
  .other-theme dd { margin-top: 5px; font-size: 1.1rem; }
  .theme-btn span::after { width: 74%; }
}

/* おすすめプラン */
.plan-container { width: 100%; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to right, #d1f4ac, #8ed6f8) border-box; border: 2px solid transparent; border-radius: .375em; }
.sec-plan .plan-img {  width: 100%; height: 10em; object-fit: cover; padding: 4px; border-radius: 10px; width: 100%; }
.sec-plan .plan-img-small { display: flex; padding: 0 5px; column-gap: 4px; }
.sec-plan .plan-img-small figure { width: calc(100% / 2); height: 6em; }
.sec-plan .c-pic figcaption { color: #fff; background-color: rgba(0, 0, 0, 0.4); padding: 0 .8em; }
.sec-plan .plan-img-small img { width: 100%; height: 6em; object-fit: cover; border-radius: 4px; }
.sec-plan .c-txt small { font-weight: 600; color: #014333; }
.sec-plan .c-txt h4 { margin-top: -4px; }
.sec-plan .c-item p { margin: 8px 0 5px; flex-grow: 1; }
.sec-plan .c-bottom__btn.c-flex { display: flex; justify-content: center; }
.sec-plan .c-bottom__btn .c-btn { height: 3.375em; }
.sec-plan .plan-cassette_bt { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; }
.sec-plan .plan-cassette_bt-item a { position: relative; display: flex; justify-content: center; align-items: center; min-height: 50px; text-align: center; font-size: 1.4rem; color: #fff; letter-spacing: 0; line-height: 1.3; border-radius: 5px; border: solid 1px #3ea88e; background: #3ea88e; }
.sec-plan .plan-cassette_bt-item { margin-top: 5px; width: calc(100% / 2 - 2px); }
.sec-plan .plan-cassette_bt-item.-hotel a:before { content: "\ea40"; }
.sec-plan .plan-cassette_bt-item.-jr a:before { content: "\e570"; }
.sec-plan .plan-cassette_bt-item.-air a:before { content: "\e539"; }
.sec-plan .plan-cassette_bt-item a:before { margin-right: 8px; font-family: 'Material Icons Round'; font-size: 2.0rem; color: #fff; line-height: 1; }
.sec-plan .plan-cassette_bt-item em { display: block; font-weight: bold; font-style: normal; }
.sec-plan .plan-cassette_bt-item a:after { position: absolute; top: 50%; transform: translateY(-50%); display: block; color: #3ea88e; font-family: 'Material Icons Round'; content: "\e941"; background-color: #fff; border-radius: .35em; }
@media screen and (min-width: 769px) {
  .plan-container { padding: 30px 40px; margin: 36px 0; }
  .sec-plan .c-item { display: flex; }
  .sec-plan .c-pic { width: 40%; }
  .sec-plan .c-item .c-txt { width: 60%; display: flex; flex-direction: column; padding: 0 32px; flex-grow: 1; }
  .sec-plan .c-bottom__btn .c-btn { width: calc(100% - .375em); }
  .sec-plan .plan-cassette_bt-item { width: calc(100% / 2 - 2px); }
  .sec-plan .plan-cassette_bt-item em { font-size: 1.6rem; }
  .sec-plan .c-btn__plan .c-bnt__float { width: auto; }
  .sec-plan .plan-cassette_bt-item a { padding: 5px 5px; }
  .sec-plan .plan-cassette_bt-item a::after { right: 20px; font-size: 2.6rem; width: 36px; height: 2rem; line-height: 2rem; }
  .sec-plan .plan-cassette_bt-item span { padding-right: 8px; }
}
@media screen and (max-width: 768px) {
  .plan-container { padding-top: 4px; margin: 36px 0; }
  .sec-plan .c-txt { padding: 8px; }
  .sec-plan .c-bottom__btn .c-btn { width: 95%; }
  .sec-plan .plan-cassette_bt-item { width: calc(100% - 0px); }
  .sec-plan .plan-cassette_bt-item a::after { right: 8px; font-size: 2rem; width: 30px; height: 1.5rem; line-height: 1.5rem; }
  .sec-plan .plan-cassette_bt-item span { padding-right: 12px; }
} 

/* おすすめホテル（東北・沖縄） */
@media screen and (min-width: 769px){
  .other-hotel { padding: 0 8px; overflow-x: scroll; justify-content: space-between !important; gap: 8px; }
}

/* スクロールバー非表示・arrowボタン出現 */
@media screen and (min-width: 769px) {
  .carousel-wrapper .carousel { scrollbar-width: none; cursor: grab; }
  .carousel-wrapper .carousel:active { cursor: grabbing; }
  .carousel-wrapper .carousel::-webkit-scrollbar { display: none; }
  .carousel-wrapper { position: relative; }
  .carousel-wrapper .carousel .carousel_item { flex: 0 0 180px !important; }
  .carousel-arrow { align-items: center; justify-content: center; position: absolute; top: 46%; transform: translateY(-46%); width: 30px; height: 30px; color: #014333; background: rgba(255, 255, 255, 0.8); border: 1px solid #ccc; border-radius: 50%; cursor: pointer; font-size: 18px; z-index: 10; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }
  .carousel-arrow--right { right: 0; }
  .carousel-arrow--left { left: 0; display: none; }
}
@media screen and (max-width: 768px) {
  .carousel-arrow { display: none; }
}

/* 旅の過ごし方 */
.tabisugo-item { background-color: #fff; padding: 8px; border-radius: .375em; }
.tabisugo-read { display: flex; justify-content: center; align-items: center; }
.tabisugo-read img { width: 100%; height: 100%; }
@media screen and (min-width: 769px) {
  .tabisugo-read img { margin: 0 8px; max-width: 286px; }
  .tabisugo-wrap { justify-content: flex-start; gap: 8px; padding: 0 8px; }
  .tabisugo-item { width: calc(100% / 4); box-shadow: 0 1px 3px rgb(0 0 0 / 30%); }
  .tabisugo-item img { height: 200px; }
  .tabisugo-txt { padding: 0 10px; }
  .tabisugo-txt h4 { font-size: 1.2em; padding-top: .8rem; height: 9rem; }
}
@media screen and (max-width: 768px) {
  .tabisugo-read { flex-wrap: wrap; }
  .tabisugo-read img { max-width: 160px; }
  .tabisugo-wrap { padding: 0 4px 8px; }
  .tabisugo-item { box-shadow: 0 0 8px rgb(0 0 0 / 30%); }
  .tabisugo-item img { height: 150px; }
  .tabisugo-txt h4 { padding-top: .6rem; height: 7rem; }
}

/* 添乗員同行ツアー */
.cms_cassette_conditions-peple { display: block; text-align: center !important; }
.cms_item figcaption { color: #f0f0f0; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7); background: rgba(0, 0, 0, 0.4); }
.cms_txt_area { color: #323743; }
.plan-btn { display: flex; justify-content: center; }
.plan-btn a { position: relative; display: block; color: #fff; text-align: center; border-radius: 8px; background: #3ea88e; }
@media screen and (min-width: 769px) {
  .escort-read { text-align: center; }
  .cms_wrapper { justify-content: center !important; gap: 16px; }
  .cms_item { width: calc(33.33333% - 16px); }
  .cms_item figure img { background-color: #fff; padding: 8px; }
  .cms_item figcaption { margin: 8px; }
  .cms_txt_area { padding: 16px !important; }
  .plan-btn { margin: 24px auto; }
  .plan-btn a { padding: 16px 35px 16px 15px; transition: all 0.4s; width: 650px; }
}
@media screen and (max-width: 768px) {
  .plan-btn { margin: 16px auto; }
  .plan-btn a { padding: 10px 35px 10px 15px; width: 80%; }
}

/* すべてのプラン導線 */
.allplan-btn { display: flex; justify-content: center; }
.allplan-btn a { position: relative; display: flex; justify-content: center; align-items: center; padding: 5px 5px; min-height: 50px; text-align: center; font-size: 1.4rem; font-weight: bold; color: #fff; letter-spacing: 0; line-height: 1.3; border-radius: 5px; border: solid 1px #3ea88e; background: #3ea88e; }
.allplan-btn a::after { position: absolute; top: 50%; transform: translateY(-50%); display: block; color: #3ea88e; font-family: 'Material Icons Round'; content: "\e941"; background-color: #fff; border-radius: .35em; }
@media screen and (min-width: 769px) {
  .allplan-btn { margin: 40px auto 24px; }
  .allplan-btn a { font-size: 1.6rem; transition: all 0.4s; width: 650px; }
  .allplan-btn a::after { right: 20px; font-size: 2.6rem; width: 36px; height: 2rem; line-height: 2rem; }
}
@media screen and (max-width: 768px) {
  .allplan-btn { margin-top: 32px; }
  .allplan-btn a { width: 100%; height: 3.625em; }
  .allplan-btn a::after { right: 8px; font-size: 2rem; width: 30px; height: 1.5rem; line-height: 1.5rem; }
}

/* エリアページCTA */
.areapage-btn { display: flex; justify-content: center; position: relative; }
.areapage-btn::before { position: absolute; left: 0; content: ''; display: inline-block; width: 100%; height: 10px; background: radial-gradient(circle farthest-side, #BCBDC2, #BCBDC2 30%, transparent 30%, transparent); background-size: 10px; }
.areapage-btn a { position: relative; display: flex; justify-content: center; align-items: center; padding: 5px 5px; min-height: 50px; text-align: center; font-size: 1.4rem; font-weight: bold; color: #fff; letter-spacing: 0; line-height: 1.3; border-radius: 5px; border: solid 1px #2b7865; background: #2b7865; }
.areapage-btn a::after { position: absolute; top: 50%; transform: translateY(-50%); display: block; color: #2b7865; font-family: 'Material Icons Round'; content: "\e941"; background-color: #fff; border-radius: .35em; }
@media screen and (min-width: 769px) {
  .areapage-btn { margin: 80px auto 24px; }
  .areapage-btn::before { top: -50px; }
  .areapage-btn a { font-size: 1.6rem; transition: all 0.4s; width: 650px; }
  .areapage-btn a::after { right: 20px; font-size: 2.6rem; width: 36px; height: 2rem; line-height: 2rem; }
}
@media screen and (max-width: 768px) {
  .areapage-btn { margin: 60px auto 16px; }
  .areapage-btn::before { top: -40px; }
  .areapage-btn a { width: 100%; height: 3.625em; }
  .areapage-btn a::after { right: 8px; font-size: 2rem; width: 30px; height: 1.5rem; line-height: 1.5rem; }
}

/* おすすめの記事 */
.sec-news .newswp { background: #fff; border-radius: .375em; box-shadow: 0 0 6px rgb(0 0 0 / 20%); }
.sec-news .news_img img { object-fit: contain; }
.sec-news .news_text { display: flex; flex-direction: column; }
.sec-news .area::before { content: "\e938"; font-family: 'jtb-dom'; padding-right: 2px; font-size: 1.6rem; }
.news_areadate { margin-top: auto; }
@media screen and (min-width: 769px){
  .news-cassette { display: flex; justify-content: center; width: 85%; margin: 0 auto; }
  .sec-news .newswp { width: calc(100% / 4 - 24px); border: solid 1.8px #014333; }
  .newswp + .newswp { margin-left: 24px; }
  .sec-news .news_img { padding: 4px; }
  .sec-news .news_img img { width: 100%; height: 10em; border-radius: 4px; }
  .sec-news .news_text { padding: 4px 8px; }
  .sec-news .news_title { font-size: 1.6rem; height: 4em; }
  .sec-news .news_areadate { padding-top: 12px; text-align: right; font-size: 1.4rem; }
  .sec-news .newsall_link { padding-top: 28px; text-align: center; }
}
@media screen and (max-width: 768px){
  .sec-news .newswp { border: solid 2.8px #014333; }
  .newswp + .newswp { margin-top: 8px; }
  .sec-news .news_item { display: flex; justify-content: space-between; padding: 8px; }
  .sec-news .news_img { width: 45%; }
  .sec-news .news_img img { height: 7.5em; }
  .sec-news .news_title { font-size: 1.4rem; text-align: left; }
  .sec-news .news_text { width: calc(55% - 8px); text-align: left; padding-left: 4px; }
  .sec-news .newsall_link { padding: 8px 0px; text-align: right; }
}

/* 検パネ */
.search-tab__list li a { background-color: #3ea88e; border-color: #3ea88e; height: auto; }
.search-tab__list li a.active { color: #3ea88e; border-color: #3ea88e; }
.search-tab__list li a:not(.active):hover { background-color: #3ea88e; border-color: #3ea88e; opacity: .6; }
.search-tab__list li em { font-style: normal; }
@media screen and (max-width: 768px){
  .search-tab { padding-top: 0 !important; }
  .search-tab__list li { display: flex; }
  .search-tab__list li a { width: 100%; }
}

/* 特集・プランから選ぶ */
.c-bnr__list { display: flex; flex-wrap: wrap; justify-content: space-evenly; margin: 0 auto; max-width: 900px; width: 100%; }
.c-bottom__link { margin-top: 3em; }
.c-bottom__link a { position: relative; display: flex; justify-content: center; align-items: center; padding: 5px 5px; width: 100%; max-width: 500px; min-height: 50px; text-align: center; margin: 0 auto; background-color: #3ea88e; align-items: center; border-radius: 5px; color: #fff; font-weight: 700; }
.c-bottom__link a::after { position: absolute; top: 50%; display: block; color: #3ea88e; font-family: 'Material Icons Round'; content: "\e941"; transform: translateY(-50%); background-color: #fff; border-radius: .35em; }
.sec-plan .c-list { display: flex; flex-wrap: wrap; justify-content: center; }
.sec-plan .c-list .c-word { display: inline-flex; justify-content: center; align-items: center; background-color: #fff; height: 3.125em; border: 1px solid; border-radius: 100vh; font-weight: 700; }
.sec-plan .c-list__month .c-word { color: #3ea88e; border-color: #3ea88e; }
.sec-plan .c-list .c-word span::before { content: "＃"; padding-right: .25em; }
.sec-plan .c-list .c-word:hover { color: #fff; background-color: #3ea88e; }
@media screen and (min-width: 760px){
  .sec-plan .l-block { margin-top: 4.375em; }
  .c-bottom__link a::after { right: 20px; font-size: 2.6rem; width: 36px; height: 2rem; line-height: 2rem; }
  .c-bnr__item { width: calc(calc(100% - 7.5em) / 3); padding-bottom: 16px; }
  .c-bnr__item .c-title { font-size: 1.1em; }
  .sec-plan .l-block + .l-block { margin-top: 4.375em; }
  .sec-plan .c-list__month, .sec-plan .c-list__season { margin-top: 1em; }
  .sec-plan .c-list .c-word { margin: .5em .25em; padding: 0 2em; }
}
@media screen and (max-width: 759px){
  .sec-plan .l-block + .l-block { margin-top: 2.5em; }
  .c-bottom__link a::after { right: 8px; font-size: 2rem; width: 30px; height: 1.5rem; line-height: 1.5rem; }
  .c-bnr__item { width: calc(calc(100% - 1.6em) / 2); padding-bottom: 8px; }
  .c-bnr__item .c-title { font-size: 1em; white-space: nowrap; }
  .c-bnr__item p { font-size: 0.7em; }
  .sec-plan .l-block { margin-top: 2.5em; }
  .sec-plan .c-list__month, .sec-plan .c-list__season { margin-top: .8em; }
  .sec-plan .c-list .c-word { margin: 0 .25em .25em 0; padding: 0 1em; }
}

/* FAQ */
.sec-faq .c-faq__item { background-color: #fff; }
.sec-faq .c-faq__item--q, .sec-faq .c-faq__item--a { position: relative; padding: 1.4em 0em 1.4em 3em; }
.sec-faq .c-faq__item--q { font-weight: bold; line-height: 1.5; }
.sec-faq .c-faq__item--q::before, .sec-faq .c-faq__item--a::before { position: absolute; display: inline-block; top: 50%; left: 0; font-size: 1.6em; font-weight: 700; transform: translateY(-50%); }
.sec-faq .c-faq__item--q::before { content: "Q."; color: #3ea88e; }
.sec-faq .c-faq__item--q::after { position: absolute; display: inline-block; content: "\e801"; font-family: "icon"; font-size: 1.5em; top: 50%; right: 0; transition: all .5s ease; transform: translateY(-50%); }
.sec-faq .c-faq__item--a { display: none; }
.sec-faq .c-faq__item--a::before { content: "A."; color: #ea224b; }
.sec-faq .c-faq__item .is-open::after { transform: rotate(-180deg); }
.c-faq__item + .c-faq__item { margin-top: .25em; }
@media screen and (min-width: 760px){
  .sec-faq .c-faq__item { padding: 0 2.5em; }
}
@media screen and (max-width: 759px){
  .sec-faq { padding: 3em 0 4em; }
  .sec-faq .c-faq__item { padding: 0 5%; }
  .sec-faq .c-faq__item--q { padding-right: 1.5em; }
}

/* フッター */
.htl-sitemap { margin-top: 0 !important; }
.htl-sitemap, .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: all .2s ease; }
	.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; }
}

/* 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: 760px){
  .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: 759px){
  .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; }
}