@charset "UTF-8";
.font-min { font-family: 'Noto Serif JP', serif; }

/* ==================================================================================================== メインタイトル
==================================================================================================== */
.mainttl-sec .mainttl-in { position: relative; }
.mainttl-sec .pager { position: absolute; bottom: 0; right: 0; margin-bottom: 40px; }
@media screen and (max-width: 960px) { .mainttl-sec .pager { display: none !important; } }

/* ==================================================================================================== コンテンツ
==================================================================================================== */
.list-sec { margin-bottom: 50px; }
@media screen and (max-width: 750px) { .list-sec { margin-bottom: 13.3333333333%; } }
@media screen and (max-width: 750px) { .list-sec .inner { padding: 0; } }
.list-sec li { padding: 70px 0; border-bottom: 1px solid #94adb8; }
@media screen and (max-width: 750px) { .list-sec li { padding: 9.3333333333% 4%; } }
.list-sec li:first-child { padding-top: 30px; }
.list-sec li .list-con { display: flex; justify-content: space-between; max-width: 1000px; margin: 0 auto; }
@media screen and (max-width: 750px) { .list-sec li .list-con { display: block; } }
.list-sec li figure { width: 30.7%; }
@media screen and (max-width: 750px) { .list-sec li figure { width: 100%; margin-bottom: 20px; } }
.list-sec li .list-box { flex: 1; width: 64%; margin-left: 5%; line-height: 1.6; }
@media screen and (max-width: 750px) { .list-sec li .list-box { width: 100%; margin-left: 0; } }
.list-sec li .list-box .list-heading { margin-bottom: 20px; font-size: 1.8888888889rem; font-weight: 700; }
@media screen and (max-width: 750px) { .list-sec li .list-box .list-heading { font-size: 1.5rem; } }
.list-sec li .list-box .list-txt { margin-bottom: 30px; font-size: 0.8888888889rem; font-weight: 300; }
@media screen and (max-width: 750px) { .list-sec li .list-box .list-txt { font-size: 0.9375rem; } }
.list-sec li .list-box .list-link { max-width: 297px; }
@media screen and (max-width: 750px) { .list-sec li .list-box .list-link { margin: 0 auto; } }
.list-sec li .list-box .list-link a { display: block; padding: 20px; background: #94adb8 url("../img/common/ico_arrow.svg") no-repeat right 15px center; background-size: 32px auto; font-size: 0.8888888889rem; font-weight: 500; text-align: center; color: #fff; line-height: 1; }

.detail-slider { margin-bottom: 55px; }
.detail-slider .slick-slide {
    height: auto;
    margin: 0 24px;
}
@media screen and (max-width: 750px) { .detail-slider .slick-slide { margin: 0 8px; } }
.detail-top { margin-bottom: 80px; }
.detail-top.detail-top-a { margin-bottom: 0; }
.detail-top.detail-top-a .inner_s { margin-bottom: 70px; padding-bottom: 80px; border-bottom: 1px solid #94adb8; }
.detail-top .course-ttl { margin-bottom: 35px; font-size: 1.8888888889rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .detail-top .course-ttl { font-size: 1.5rem; } }
.detail-top p { max-width: 820px; margin: 0 auto; font-weight: 300; }

.detail-map { position: relative; width: 100%; margin-bottom: 95px; padding-bottom: 37.5%; height: 0; overflow: hidden; }
@media screen and (max-width: 750px) { .detail-map { padding-bottom: 50%; } }
.detail-map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.detail-modelcourse { margin-bottom: 115px; }
.detail-modelcourse .modelcourse-ttl { margin-bottom: 90px; font-size: 1.7777777778rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .detail-modelcourse .modelcourse-ttl { margin-bottom: 12%; font-size: 1.5rem; } }
.detail-modelcourse .modelcourse-con { position: relative; }
.detail-modelcourse .modelcourse-con .slick-slide { margin: 0 25px; }
.detail-modelcourse .modelcourse-con .modelcourse-list { max-width: 1060px; margin: 0 auto; }
@media screen and (max-width: 750px) { .detail-modelcourse .modelcourse-con .modelcourse-list { max-width: 380px; } }
.detail-modelcourse .modelcourse-con .modelcourse-list li figure { margin-bottom: 20px; }
.detail-modelcourse .modelcourse-con .modelcourse-list li dl { margin-bottom: 40px; }
.detail-modelcourse .modelcourse-con .modelcourse-list li dl dt { margin-bottom: 20px; font-size: 1.1111111111rem; font-weight: 500; }
.detail-modelcourse .modelcourse-con .modelcourse-list li dl dd { font-size: 0.8888888889rem; font-weight: 300; }
.detail-modelcourse .modelcourse-con .modelcourse-list li .list-link { width: 100%; }
.detail-modelcourse .modelcourse-con .modelcourse-list li .list-link a { display: block; padding: 20px; background: #94adb8 url("../img/common/ico_arrow.svg") no-repeat right 15px center; background-size: 32px auto; font-size: 1.1111111111rem; font-weight: 500; text-align: center; color: #fff; line-height: 1; }
.detail-modelcourse .modelcourse-con .slide-btn { position: absolute; top: 50%; width: 58px; margin-top: -24px; cursor: pointer; }
@media screen and (max-width: 750px) { .detail-modelcourse .modelcourse-con .slide-btn { width: 7.7333333333%; } }
.detail-modelcourse .modelcourse-con .slide-btn.slide-prev { left: 0; }
.detail-modelcourse .modelcourse-con .slide-btn.slide-next { right: 0; }

.detail-course { margin-bottom: 90px; }
.detail-course .detail-course-rootcontents { background-color: #eaf3fc; }
.detail-course .detail-course-rootcontents .rootcontents-list ol { margin-bottom: 30px; font-size: 0.8888888889rem; font-weight: 300; counter-reset: count 0; }
.detail-course .detail-course-rootcontents .rootcontents-list ol li { margin-bottom: 20px; padding-left: 1.3rem; text-indent: -1.3rem; line-height: 1.6; }
.detail-course .detail-course-rootcontents .rootcontents-list ol li::before { content: "-" counter(count); counter-increment: count 1; margin-right: 0.5rem; font-weight: 700; }
.detail-course .detail-course-rootcontents .rootcontents-list ol li a { color: #000; }
.detail-course .detail-course-rootcontents .rootcontents-list ol li a:hover { text-decoration: underline; }
.detail-course .detail-course-rootcontents .rootcontents-list p { font-size: 0.8888888889rem; font-weight: 700; }
.detail-course .detail-course-root { max-width: 640px; margin-bottom: 75px; line-height: 1; }
.detail-course .detail-course-root .root-list li:last-child.root-list-action::before { content: ''; position: absolute; top: 0; left: 0; width: 18px; height: 63px; margin-left: 43px; background: url("../img/plan/course_i003.svg") no-repeat left top; background-size: contain; }
.detail-course .detail-course-root .root-list-txt { margin-bottom: 10px; padding: 20px 50px; background-color: #eaf3fc; font-size: 1.0555555556rem; font-weight: 300; border-radius: 40px; }
.detail-course .detail-course-root .root-list-action { position: relative; margin-bottom: 10px; padding: 20px 20px 20px 90px; font-size: 1.0555555556rem; font-weight: 300; }
.detail-course .detail-course-root .root-list-action::before { content: ''; position: absolute; top: 0; left: 0; width: 1px; height: 100%; margin-left: 60px; background-color: #94adb8; }
.detail-course .detail-course-root .root-list-action .ico { vertical-align: middle; margin-right: 20px; }
.detail-course .detail-course-root .root-list-action .ico-train::before { width: 26px; height: 34px; background-image: url("../img/common/ico_train.svg"); }
.detail-course .detail-course-root .root-list-action .ico-car::before { width: 36px; height: 17px; background-image: url("../img/common/ico_car.svg"); }
.detail-course .detail-course-root .root-list-action .ico-walk::before { width: 27px; height: 28px; background-image: url("../img/common/ico_walk.svg"); }
.detail-course .detail-course-box .course-time { color: #1836bc; font-weight: 300; }
.detail-course .detail-course-box .course-spot .spot-slider-main { margin-bottom: 25px; }
.detail-course .detail-course-box .course-spot .spot-slider-main.nmb { margin-bottom: 5px; }
.detail-course .detail-course-box .course-spot .spot-slider-main .slick-slide {
  height: auto;
}
.detail-course .detail-course-box .course-spot .spot-slider-sub .slick-slide { margin: 0 10px; height: auto; }
@media screen and (max-width: 750px) { .detail-course .detail-course-box .course-spot .spot-slider-sub .slick-slide { margin: 0 8px; } }
.detail-course .detail-course-box .course-link { max-width: 397px; }
@media screen and (max-width: 750px) { .detail-course .detail-course-box .course-link { margin: 0 auto; } }
.detail-course .detail-course-box .course-link a { display: block; padding: 20px; background: #94adb8 url("../img/common/ico_arrow.svg") no-repeat right 15px center; background-size: 32px auto; font-size: 0.8888888889rem; font-weight: 500; text-align: center; color: #fff; line-height: 1; }

.detail-course-a { position: relative; }
.detail-course-a .detail-course-side { z-index: 99; position: absolute; top: 0; right: 0; max-width: 450px; }
@media screen and (max-width: 1340px) { .detail-course-a .detail-course-side { max-width: 350px; } }
@media screen and (max-width: 1240px) { .detail-course-a .detail-course-side { display: none !important; } }
.detail-course-a .detail-course-side .detail-course-rootcontents { margin-bottom: 35px; padding-top: 40px; padding-left: 50px; padding-bottom: 50px; }
.detail-course-a .detail-course-side .detail-course-rootcontents .rootcontents-ttl { margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid #000; font-size: 1.4444444444rem; font-weight: 700; }
@media screen and (max-width: 750px) { .detail-course-a .detail-course-side .detail-course-rootcontents .rootcontents-ttl { width: 100%; margin-bottom: 40px; text-align: center; } }
.detail-course-a .detail-course-side .share-sec { margin-left: 50px; padding: 0; background: none; }
.detail-course-a .detail-course-side .share-sec dl { display: block; }
.detail-course-a .detail-course-side .share-sec dl dt { margin-right: 0; margin-bottom: 20px; color: #000; }
.detail-course-a .detail-course-main { max-width: 820px; }
@media screen and (max-width: 1240px) { .detail-course-a .detail-course-main { width: 100%; margin: 0 auto; padding-left: 30px; padding-right: 30px; } }
@media screen and (max-width: 750px) { .detail-course-a .detail-course-main { padding-left: 0; padding-right: 0; } }
.detail-course-a .detail-course-main .detail-course-box { max-width: 820px; margin-bottom: 75px; }
.detail-course-a .detail-course-main .detail-course-box .course-heading { margin-bottom: 20px; padding: 10px 25px; background-color: #000028; font-size: 1.4444444444rem; font-weight: 500; color: #fff; }
.detail-course-a .detail-course-main .detail-course-box .course-heading span { margin-right: 1em; font-weight: 700; }
.detail-course-a .detail-course-main .detail-course-box .course-time { margin-bottom: 20px; }
.detail-course-a .detail-course-main .detail-course-box .course-spot { margin-bottom: 50px; }
.detail-course-a .detail-course-main .detail-course-box dl { margin-bottom: 30px; }
.detail-course-a .detail-course-main .detail-course-box dl dt { margin-bottom: 40px; font-size: 1.7777777778rem; font-weight: 700; }
.detail-course-a .detail-course-main .detail-course-box dl dd { font-weight: 300; }

.detail-course-b .detail-course-rootcontents { margin-bottom: 85px; padding: 55px 0; }
.detail-course-b .detail-course-rootcontents .rootcontents-in { display: flex; justify-content: space-between; max-width: 820px; margin: 0 auto; }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-rootcontents .rootcontents-in { display: block; } }
.detail-course-b .detail-course-rootcontents .rootcontents-ttl { position: relative; width: 25.6097560976%; font-size: 1.4444444444rem; font-weight: 700; }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-rootcontents .rootcontents-ttl { width: 100%; margin-bottom: 40px; text-align: center; } }
.detail-course-b .detail-course-rootcontents .rootcontents-ttl::before { content: ''; position: absolute; top: 0; left: 0; width: 97px; height: 97px; margin-top: 140px; margin-left: 20px; background: url("../img/plan/route_i001.svg") no-repeat left top; }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-rootcontents .rootcontents-ttl::before { display: none; } }
.detail-course-b .detail-course-rootcontents .rootcontents-list { width: 65.8536585366%; }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-rootcontents .rootcontents-list { width: 100%; } }
.detail-course-b .detail-course-root { margin: 0 auto 75px; }
.detail-course-b .detail-course-box { margin-bottom: 95px; }
.detail-course-b .detail-course-box .detail-course-num { position: relative; display: flex; align-items: center; justify-content: center; margin-bottom: 50px; font-size: 5.5555555556rem; font-weight: 300; text-align: center; line-height: 1; }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-box .detail-course-num { font-size: 3.125rem; } }
.detail-course-b .detail-course-box .detail-course-num::before, .detail-course-b .detail-course-box .detail-course-num::after { content: ''; width: 100%; border-top: 1px solid #646464; }
.detail-course-b .detail-course-box .detail-course-num::before { margin-right: 0.5em; }
.detail-course-b .detail-course-box .detail-course-num::after { margin-left: 0.5em; }
.detail-course-b .detail-course-box .course-heading { margin-bottom: 20px; padding: 0 30px; font-size: 1.6666666667rem; font-weight: 700; text-align: center; line-height: 1.6; }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-box .course-heading { padding: 0 4%; } }
.detail-course-b .detail-course-box .course-time { margin-bottom: 60px; padding: 0 30px; text-align: center; }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-box .course-time { padding: 0 4%; } }
.detail-course-b .detail-course-box .course-box { display: flex; justify-content: space-between; }
@media screen and (max-width: 960px) { .detail-course-b .detail-course-box .course-box { display: block; } }
.detail-course-b .detail-course-box .course-spot { width: 46.875%; }
@media screen and (max-width: 960px) { .detail-course-b .detail-course-box .course-spot { width: 100%; padding: 0 30px; margin-bottom: 40px; } }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-box .course-spot { padding: 0 4%; } }
.detail-course-b .detail-course-box .course-item { width: 46.875%; }
@media screen and (max-width: 960px) { .detail-course-b .detail-course-box .course-item { width: 100%; padding: 0 30px; } }
@media screen and (max-width: 750px) { .detail-course-b .detail-course-box .course-item { padding: 0 4%; } }
.detail-course-b .detail-course-box .course-item dl { width: 74.6666666667%; margin-bottom: 30px; line-height: 1.6; }
@media screen and (max-width: 960px) { .detail-course-b .detail-course-box .course-item dl { width: 100%; } }
.detail-course-b .detail-course-box .course-item dl dt { margin-bottom: 40px; font-size: 1.6666666667rem; font-weight: 500; }
.detail-course-b .detail-course-box .course-item dl dd { font-weight: 300; }

/* 231011 Source file missing, unhooked css from scss */
.dc-overwrite .detail-course-rootcontents .rootcontents-list ol li::before {
    content: "Day " counter(count) !important;
}
.cn-dc-overwrite .detail-course-rootcontents .rootcontents-list ol li::before,
.vi-dc-overwrite .detail-course-rootcontents .rootcontents-list ol li::before,
.id-dc-overwrite .detail-course-rootcontents .rootcontents-list ol li::before {
    content: "" !important;
}

.th-dc-overwrite .detail-course-rootcontents .rootcontents-list ol li::before {
    content: "วันที่ " counter(count) !important;
}

.ko-dc-overwrite .detail-course-rootcontents .rootcontents-list ol li::before {
    content: counter(count)"일차 " !important;
  }

.fr-dc-overwrite .detail-course-rootcontents .rootcontents-list ol li::before {
content: counter(count)"e Jour - "  !important;
}

.fr-dc-overwrite .detail-course-rootcontents .rootcontents-list ol li:first-child:before {
    content: counter(count)"er Jour - "  !important;
  }

.dc-overwrite .detail-course-rootcontents .rootcontents-ttl::before {
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
}
.dcm-overwrite {
    white-space: nowrap;
}

.align-center{
    align-items: center;
}
.align-start{
    align-items: flex-start;
}
.cb-overwrite .img-wrapper {
    position: relative;
}
.cb-overwrite .img-wrapper .slide-no {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    color: blue;
    background-color: white;
    border-radius: 50%;
    top: 0.5em;
    left: 0.5em;
    width: 1.5em;
    height: 1.5em;
    font-weight: bold;
}

.ft_bold {
    font-weight: bold;
}

.ci-overwrite h4 a{
    color: black;
    font-weight: 500;
}
.ci-overwrite h4 .title-no {
    display: inline-flex;
    width: 1.5em;
    height: 1.5em;
    justify-content: center;
    align-items: center;
    border: 1px solid black;
    border-radius: 50%;
    margin-right: 0.5em;
}
.ci-overwrite dd {
    margin-bottom: 1em;
}

/* Fixes 2024 */
.credit-text {
    text-align: end;
    font-weight: bold;
    line-height: 160%;
    letter-spacing: 0.05em;
}