

:root
{
    --white:#fff;
    --black:#0D3446;
    --yelllow:#FFE30F;
    --sky-blue:#40B8E2;
    --light-blue:#ECF5F8;
}
  .pc-only
  {
    display: none;
  }
  .sp-only
  {
    display: block;
  }


/* ------------------------------------------------------------------------ first-view */


section.fv
{
    grid-template-columns: 1fr;
    /*grid-template-rows: auto 1fr;*/
    /* height: 750px; */
    height: 650px;
}
section.fv .fv_right-side .title-wrapper
{
    top: 6%;
}
section.fv .fv_left-side p
{
    transform: rotate(0deg) translateX(0em);
}
section.fv .fv_left-side
{
    width: 100%;
    text-align: center;
    padding: 5px 0;
}

section.fv .fv_right-side .sub-title_box
{
    width: 110%;
}
section.fv .fv_right-side .sub-title_box h2
{
    font-size: 13px;
    box-sizing: border-box;
    padding: 0 10px 0 5px;
    font-weight: bold;
    line-height: 20px;
}
section.fv .fv_right-side .sub-title_box::after
{
    /*right: -4%;*/
    right: -6%;
}
section.fv .fv_right-side .logo-title
{
    width: 90%;
}
section.fv .fv_right-side .line span
{
    font-size: 70px;
}
section.fv .fv_right-side .flex-area div:first-child img
{
    border-radius: 0;
}

section.fv .fv_right-side .scroll
{
    display: none;
}
section.fv .fv_right-side .scroll span
{
    font-size: 12px;
}
section.fv .fv_right-side .scroll img
{
    width: 30px;
}


section.fv .fv_right-side .point-wrapper
{
    width: 90%;
}
section.fv .fv_right-side .point-wrapper ul
{
    flex-direction: column;
    gap:15px
}
section.fv .fv_right-side .point-wrapper ul li
{
    gap: 15px;
}
section.fv .fv_right-side .point-wrapper ul li p
{
    font-size: 14px;
    line-height: 20px;
}
section.fv .fv_right-side .point-wrapper ul li img
{
    /* width: 13%; */
    width: 35px;
}


/* ------------------------------------------------------------------------ ページ内リンク */


section.anchor-link
{
    display: none;
}


/* ------------------------------------------------------------------------ ご利用方法 */

section.intro
{
    background: var(--light-blue);
    margin-top: 0;
    padding-top: 40px;
    width: 100%;
}
section.intro .intro-box
{
    padding-top: 25px;
}

section.intro .title
{
    border-radius: 5px;
}
section.intro .intro-box
{
    border: none;
}
section.intro .intro-box ul
{
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
    gap: 40px;
}
section.intro .intro-box ul li
{
    background: var(--white);
    padding: 20px;
    justify-items: start;
    grid-template-rows: repeat(3,auto);
    border-radius: 10px;
}
section.intro .intro-box ul li:not(:last-of-type)::after
{
    display: block;
    right: 50%;
    bottom: -13%;
    transform: rotate(90deg);
}
section.intro .intro-box ul li div
{
    background: none;
    padding: 10px 0;
    margin: 0;
    text-align: left;
    justify-content: flex-start;
    border-bottom: 1px dotted var(--black);
    border-radius: 0;
}
section.intro .intro-box ul li p
{
    padding-top: 15px;
    text-align: left;
    line-height: 28px;
}


/* ------------------------------------------------------------------------ ツアー */

section.tour
{
    margin-top: 140px;
}
section.tour .tour-icon p
{
    font-size: 14px;
}
section.tour .tour-icon img
{
    width: 55%;
}
section.tour .tour-icon
{
    width: 125px;
    height: 125px;
    top: -20%;
}
section.tour .tour-fv .all-SimpleParallax
{
    height: 520px;
}
section.tour .tour-fv .sub-title
{
    width: 90%;
}
section.tour .tour-fv ul
{
    gap: 13px;
}
section.tour .tour-fv ul li
{
    font-size: 16px;
}
section.tour .circle,
section.tour .label
{
    font-size: 16px;
}


section.tour .tour-detail
{
    margin-top: 30px;
    margin-bottom: 40px;
}
section.tour .tour-detail .title span
{
    font-size: 14px;
}
section.tour .tour-detail .title h2
{
    /*font-size: 40px;*/
    font-size: 38px;
    line-height: 45px;
    padding-top: 5px;
}

section.tour .timeline-wrapper
{
    margin-top: 30px;
}



section.tour .tour-spot .tour-spot_title > div
{
    font-size: 26px;
}
section.tour .tour-spot .tour-spot_title > div
{
    width: 70%;
}

section.tour .tour-spot .tour-spot_title
{
     background-size: auto 15px;
}
section.tour .tour-spot .tour-spot_title > div
{
    margin: 0 auto 70px auto;
}
section.tour .tour-spot_box .spot,
section.tour .tour-spot_box .spot:nth-of-type(2n)
{
    flex-direction: column;
}
section.tour .tour-spot_box .spot .spot-desc
{
    width: 100%;
}
section.tour .tour-spot_box > .spot:not(:last-of-type)::after
{
    width: 80%;
    height: 120px;
    bottom: -40%;
}
section.tour .tour-spot_box > .spot:nth-of-type(2n-1)::after
{
    left: 50%;
    transform: translate(-50%,0);
}

section.tour .tour-spot_box .spot-number
{
    width: 100px;
    height: 100px;
    font-size: 35px;
    top: -55px;
}
section.tour .tour-spot_box .spot-number span
{
    letter-spacing: 0;
}

section.tour .tour-spot_box .spot .spot-title h3
{
    font-size: 30px;
}
section.tour .tour-spot_box .spot-title
{
    padding: 20px 0;
    margin-top: 20px;
}
section.tour .tour-spot_box .spot .spot-desc p
{
    font-size: 16px;
    line-height: 30px;
    padding-top: 20px;
}
section.tour .tour-spot_box .attention
{
    margin-top: 10px;
}

section.tour .tour-spot_box .spot
{
    gap:25px
}
section.tour .tour-spot_box .spot-image
{
    width: 100%;
}
section.tour .tour-spot_box .spot-image > img
{
    border: 8px solid var(--white);
}
section.tour .tour-spot_box
{
    gap: 40px;
}
/* クリップ */
section.tour .tour-spot_box > .spot-image-right .spot-image::before
{
    width: 30px;
    height: 60px;
}
/* マスキングテープ */
section.tour .tour-spot_box > .spot-image-left .spot-image::before
{
    width: 70px;
    height: 45px;
}
/* カップル 1,9,17 */
section.tour .tour-spot_box > .spot:nth-child(8n+1) .spot-image::after
{
    width: 82px;
    height: 135px;
}
/* 家族連れ 3,11,19 */
section.tour .tour-spot_box > .spot:nth-child(8n+3) .spot-image::after
{
    width: 115px;
    height: 120px;
}
/* 一人旅 5,13,21 */
section.tour .tour-spot_box > .spot:nth-child(8n+5) .spot-image::after
{
    width: 88px;
    height: 135px;
}
/* 老夫婦 7,15,23 */
section.tour .tour-spot_box > .spot:nth-child(8n+7) .spot-image::after
{
    width: 110px;
    height: 140px;
}

.spot-taxi img
{
    width: 80%;
}



.tour-fixed-btn
{
    width: 100%; 
    gap: 15px;
    padding: 10px 45px 10px 5px;
}
.tour-fixed-btn p
{
    font-size: 22px;
}
.tour-fixed-btn img
{
    width: 55px;
}
.tour-fixed-btn .btn-icon::after
{
    width: 20px;
    height: 20px;
}


/* ------------------------------------------------------------------------ もっと見るボタン */

section.more-btn
{
    margin-top: 60px;
}
section.more-btn a
{
    /* grid-template-columns: 1fr; */
    flex-direction: column-reverse;
    padding: 20px 30px;
    gap: 15px;
}
section.more-btn a > div:nth-child(1),
section.more-btn a > div:nth-child(2)
{
    width: 100%;
}
section.more-btn a p
{
    text-align: center;
    font-size: 22px;
}
section.more-btn a div > div
{
    font-size: 18px;
}
section.more-btn a div:first-child
{
     align-items: center;   
     gap: 15px;
}

/* ------------------------------------------------------------------------ about */

section.about
{
    margin-top: 30px;
    padding-bottom: 60px;
}
section.about > div
{
    padding: 30px;
}
section.about h3
{
    font-size: 22px;
     padding-bottom: 10px;
}

/* ------------------------------------------------------------------------ banner */

section.banner
{
    margin-top: 60px;
}

section.banner .b-title
{
    padding-bottom: 15px;
    text-align: unset;
}

section.banner .event
{
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 40px;
    width: auto;
}
section.banner .event .no-link
{
    padding: 30px 20px;
}
section.banner .event .no-link span
{
    font-size: 16px;
}
section.banner .event .no-link h4
{
    font-size: 20px;
    line-height: 30px;
    padding: 10px 0 15px 0;
}
section.banner .event .no-link p
{
    font-size: 16px;
}

section.banner img
{
    width: 100%;
}
section.banner ul
{
    margin-top: 0px;
    margin-bottom: 40px;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}