@charset "utf-8";
/*--京model.css--*/
/* ##########PC########## */
html {
  overflow-x: hidden;
}

.contents{
    overflow: unset;
}

.model_course_list{
    margin-bottom: 4rem;
}

.model_course_list ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 3rem;
}

.model_course_list ul li{
    width: calc((100% - 3rem) /2);
}

.model_course_list ul li.mc_plan3{
    padding-top: 5rem;
}

.model_course_list ul li .pick_up{
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-style: normal;
    box-sizing: border-box;
    height: 5rem;
    padding-top: 2.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    font-size: 1.2rem;
    color: #be342a;
    position: relative;
}

.model_course_list ul li .pick_up::before{
    content:"";
    display: block;
    width: 8.75rem;
    height: 3.875rem;
    background: url(../shared/model/pickup.png) no-repeat;
    background-size:contain;
    position: absolute;
    top: -1rem;
    left: 3.4375rem;
}

.model_course_list ul li a{
    padding: 1.25rem;
    background: #ecf7fd;
    display: block;
    color: #222;
    text-decoration: none;
    border-radius: 1.5rem;
    transition: .3s all ease;
}

.model_course_list ul li.mc_plan2 a{
    background: #faf3fb;
}
.model_course_list ul li.mc_plan3 a{
    background: #fef7ef;
}
.model_course_list ul li.mc_plan4 a{
    background: #ecf8f4;
}

.model_course_list ul li a:hover{
    color: #222;
    background: #fff;
    box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25), 0 0 0 2px rgba(18,102,162,0.75) inset;
}

.model_course_list ul li.mc_plan2 a:hover{
    box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25), 0 0 0 2px rgba(143,73,143,0.75) inset;
}

.model_course_list ul li.mc_plan3 a:hover{
    box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25), 0 0 0 2px rgba(162,96,22,0.75) inset;
}

.model_course_list ul li.mc_plan4 a:hover{
    box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.25), 0 0 0 2px rgba(20,129,64,0.75) inset;
}



.model_course_list ul li a span{
    display: block;
}

.model_course_list ul li a .mc_img{
    position: relative;
    margin-bottom: 3rem;
}

.model_course_list ul li a .mc_img img{
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
}

.model_course_list ul li a .mc_img .mc_plan{
    width: 10rem;
    padding: 0.5rem 0;
    border-radius: 2rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 1.2rem;
    color: #fff;
    background: #1266a2;
    text-align: center;
    position: absolute;
    bottom: -1.8rem;
    left: calc(50% - 5rem);
}

.model_course_list ul li.mc_plan2 a .mc_img .mc_plan{
    background: #8f498f;
}
.model_course_list ul li.mc_plan3 a .mc_img .mc_plan{
    background: #a26016;
}
.model_course_list ul li.mc_plan4 a .mc_img .mc_plan{
    background: #148140;
}

.model_course_list ul li.mc_plan4 a .mc_img .mc_flag{
    width: 10.5rem;
    position: absolute;
    top: -1rem;
    right: -1rem;
}

.model_course_list ul li.mc_plan4 a .mc_img .mc_flag img{
    max-width: 100%;
    height: auto;
}

.model_course_list ul li a .mc_ttl{
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 2.2rem;
    padding-bottom: 3rem;
    position: relative;
    text-align: center;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.model_course_list ul li a .mc_ttl::before{
    content:"";
    display: block;
    width: 10rem;
    height: 2rem;
    background: url(../shared/sub/lbl_line_blue.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: calc(50% - 5rem);
}

.model_course_list ul li.mc_plan2 a .mc_ttl::before{
    background: url(../shared/sub/lbl_line_purple.png) no-repeat;
    background-size: contain;
}
.model_course_list ul li.mc_plan3 a .mc_ttl::before{
    background: url(../shared/sub/lbl_line_orange.png) no-repeat;
    background-size: contain;
}
.model_course_list ul li.mc_plan4 a .mc_ttl::before{
    background: url(../shared/sub/lbl_line_green.png) no-repeat;
    background-size: contain;
}

.model_course_list ul li a .mc_text{
    padding: 0 1.5rem;
    margin-bottom: 1.5rem;
    min-height: 10.8rem;
}

.model_course_list ul li a .mc_category_list{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
}

.model_course_list ul li a .mc_category_list .mc_cat{
    padding: 0.1rem 1.2rem;
    background: #fff;
    border: 1px solid #387ead;
    color: #387ead;
    font-weight: 500;
    border-radius: 1.3rem;
}

.model_course_list ul li.mc_plan2 a .mc_category_list .mc_cat{
    border: 1px solid #8f498f;
    color: #8f498f;
}
.model_course_list ul li.mc_plan3 a .mc_category_list .mc_cat{
    border: 1px solid #a26016;
    color: #a26016;
}
.model_course_list ul li.mc_plan4 a .mc_category_list .mc_cat{
    border: 1px solid #148140;
    color: #148140;
}

/*model_b_list*/
.model_b_list{
    position: relative;
    padding-bottom: 5rem;
}

.model_b_list_inner{
    width: 41.25rem;
    margin: 0 auto;
    position: relative;
}

.model_b_list_inner::before{
    content:"";
    display: block;
    width: 8rem;
    height: 10.5rem;
    background: url(../shared/access/illust_access01.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -2rem;
    right: -12rem;
    z-index: 2;
}


.model_b_list_inner ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
}

.model_b_list_inner ul li{
    width: calc((100% - 1rem) / 2);
}

.model_b_list_inner ul li a{
    font-size: 1.1em;
    display: block;
    padding: 1.2em 4rem 1.2em 3.5rem;
    text-align: center;
    background: #1266a2;
    color: #fff !important;
    font-weight: 600;
    border-radius: 2em;
    text-decoration: none;
    line-height: 1;
    position: relative;
    transition: .5s all ease;
}

.model_b_list_inner ul li a:hover{
    opacity: 0.8;
    box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.45);
}

.model_b_list_inner ul li a::before{
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: calc(50% - 1.25rem);
    right: 0.5rem;
}

.model_b_list_inner ul li a::after{
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: url(../shared/icon_arrow_black.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.5rem);
    right: 1.25rem;
}

/*モデルコース プラン詳細*/
.topicpath_content_title.model_course{
    background: #dcf0f1;
    height: 33.5rem;
}

.topicpath_content_title.model_course::after{
    display: none;
}

.model_course_inner{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 67.5rem;
    margin: 0 auto;
    padding: 4rem 0 0 0;
    position: relative;
}

.model_course_inner::before{
    content:"";
    display: block;
    width: 28rem;
    height: 28.5rem;
    background: url(../shared/model/model_course_catch_img01.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 3.75rem;
    left: -6rem;
}
.course02 .model_course_inner::before{
    background: url(../shared/model/model_course_plan2_catch_img01.png) no-repeat;
    background-size: contain;
}
.course03 .model_course_inner::before{
    background: url(../shared/model/model_course_plan3_catch_img01.png) no-repeat;
    background-size: contain;
}
.course04 .model_course_inner::before{
    background: url(../shared/model/model_course_plan4_catch_img01.png) no-repeat;
    background-size: contain;
}

.model_course_inner::after{
    content:"";
    display: block;
    width: 28rem;
    height: 31.5rem;
    background: url(../shared/model/model_course_catch_img02.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 4.25rem;
    right: -5rem;
}
.course02 .model_course_inner::after{
    background: url(../shared/model/model_course_plan2_catch_img02.png) no-repeat;
    background-size: contain;
}
.course03 .model_course_inner::after{
    background: url(../shared/model/model_course_plan3_catch_img02.png) no-repeat;
    background-size: contain;
}
.course04 .model_course_inner::after{
    background: url(../shared/model/model_course_plan4_catch_img02.png) no-repeat;
    background-size: contain;
}

.model_course_inner .model_course_icon{
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.5rem;
}

.model_course_inner .model_course_icon img{
    max-width: 100%;
    height: auto;
}

.model_course_inner .model_course_plan{
    font-family: "Darumadrop One", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2rem;
    color: #469da5;
    margin-bottom: 2rem;
    letter-spacing: 0.5rem;
}

.model_course_inner .model_ryokokikan{
    width: 10rem;
    padding: 0.8rem 0;
    border-radius: 2rem;
    margin-bottom: 2rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.2rem;
    color: #448589;
    background: #fff;
    text-align: center;
    line-height: 1;
}

.model_course_inner .model_course_catch{
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 2.4rem;
    color: #222;
    margin-bottom: 2rem;
    padding: 0 6.5rem;
    position: relative;
}

.model_course_inner .model_course_catch::before{
    content:"";
    display: block;
    width: 4.5rem;
    height: 3rem;
    background: url(../shared/sub/fig_quotation_dark_green_l.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 1.5rem);
    left: 0;
}

.model_course_inner .model_course_catch::after{
    content:"";
    display: block;
    width: 4.5rem;
    height: 3rem;
    background: url(../shared/sub/fig_quotation_dark_green_r.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 1.5rem);
    right: 0;
}

.model_course_setsumei{
    width: 41.25rem;
    font-size: 1.1rem;
    line-height: 2;
}

.plan_detail_wrap{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5.625rem;
    margin-bottom: 4rem;
}

.plan_detail_ts{
    position: sticky;
    top: 9rem;
    align-self: flex-start;
    z-index: 10;
}

.ts_box{
    width: 16rem;
    border: 2px solid #e23b20;
    border-radius: 1rem;
    box-shadow: 4px 4px 1px 0px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    margin-bottom: 2rem;
    display: none;
}

.ts_box.active {
    display: block;
}

.ts_box.day02{
    border: 2px solid #1778bc;
}

.ts_box.day03{
    border: 2px solid #028e5b;
}

.ts_box .ts_box_header{
    background: #e23b20;
    padding: 0.4rem 0 1rem 0;
    text-align: center;
    font-family: "Darumadrop One", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2rem;
    color: #fff;
    letter-spacing: 0.1rem;
    line-height: 1;
}

.ts_box.day02 .ts_box_header{
    background: #1778bc;
}

.ts_box.day03 .ts_box_header{
    background: #028e5b;
}

.ts_box .ts_box_inner{
    padding: 0.8rem 1rem;
    background: #fff
}

.ts_box .ts_box_inner ul{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.ts_box .ts_box_inner ul li{
    position: relative;
    width: 100%;
    font-size: 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.5;
}

.ts_box .ts_box_inner ul li::after{
    content:"";
    width: 2px;
    height: 0.7rem;
    background: #6e6e6e;
    position: absolute;
    bottom: -1.1rem;
    left: calc(50% - 1px);
}

.ts_box .ts_box_inner ul li:last-child:after{
    display: none;
}

.ts_box .ts_box_inner ul li .time{
    font-weight: 600;
    color: #bb3121;
}

.ts_box.day02 .ts_box_inner ul li .time{
    color: #015d9b;
}

.ts_box.day03 .ts_box_inner ul li .time{
    color: #028e5b;
}

.ts_box .ts_box_inner ul li .spot_name{
    width: 100%;
    /*background: #ffff7d;*/
}

.ts_box .ts_box_inner ul li .car_move{
    padding-left: 1.5rem;
    position: relative;
    color: #636363;
}

.ts_box .ts_box_inner ul li .car_move::before{
    content:"";
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    background: url(../shared/sub/icon_car.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.625rem);
    left: 0;
}

.ts_box .ts_box_inner ul li .walk_move{
    padding-left: 1.5rem;
    position: relative;
    color: #636363;
}

.ts_box .ts_box_inner ul li .walk_move::before{
    content:"";
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    background: url(../shared/sub/icon_walk.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.625rem);
    left: 0;
}

/*plan_detail_main*/
.plan_detail_main{}

.plan_detail_main .g_map{
    margin-top: 5rem;
}

.plan_detail_main .g_map iframe{
    width: 100%;
    height: 25rem;
    border: none;
}

.plan_detail_ttl{
    position: relative;
    text-align: center;
    font-family: "Darumadrop One", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 3rem;
    letter-spacing: 0.8rem;
    margin-bottom: 2rem;
}

.plan_detail_ttl::before{
    content:"";
    display: block;
    width: 12.5rem;
    height: 8rem;
    background: url(../shared/model/lbl_bg_l.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 4rem);
    left: 1.5rem;
}

.plan_detail_ttl::after{
    content:"";
    display: block;
    width: 12.5rem;
    height: 8rem;
    background: url(../shared/model/lbl_bg_r.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 4rem);
    right: 0;
}

.plan_detail_ttl .plan_detail_ttl_inner{
    position: relative;
    padding: 0 11.25rem 3rem 11.25rem;
    line-height: 1;
}

.plan_detail_ttl .plan_detail_ttl_inner::before{
    content:"";
    display: block;
    width: 11.25rem;
    height: 1.5rem;
    background: url(../shared/model/lbl_line.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.75rem);
    left: 0;
}

.plan_detail_ttl .plan_detail_ttl_inner::after{
    content:"";
    display: block;
    width: 11.25rem;
    height: 1.5rem;
    background: url(../shared/model/lbl_line.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.75rem);
    right: 0;
}

.plan_detail_ttl .plan_detail_ttl_s{
    font-size: 1.8rem;
    letter-spacing: 0.5rem;
}

.plan_detail_ttl .plan_detail_ttl_s .go{
    color: #e94f32;
}

.day1_box{
    position: relative;
    padding-bottom: 10rem;
}

.day1_box::before{
    content: "";
    display: block;
    width: 8.75rem;
    height: 5.5rem;
    background: url(../shared/model/illust_01.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -2rem;
    left: 2.5rem;
}

.day1_box::after{
    content: "";
    display: block;
    width: 3.75rem;
    height: 3.75rem;
    background: url(../shared/model/plan_arr.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 3rem;
    left: calc(50% - 1.875rem);
}

.day2_box{
    position: relative;
    padding-bottom: 12.5rem;
}

.course04 .day2_box{
    padding-bottom: 10rem;
}

.day2_box::after{
    content: "";
    display: block;
    width: 37.5rem;
    height: 12.5rem;
    background: url(../shared/model/illust_06.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: calc(50% - 18.75rem);
}

.course04 .day2_box::after{
    content: "";
    display: block;
    width: 3.75rem;
    height: 3.75rem;
    background: url(../shared/model/plan_arr.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 3rem;
    left: calc(50% - 1.875rem);
}

.day3_box{
    position: relative;
    padding-bottom: 12.5rem;
}

.day3_box::after{
    content: "";
    display: block;
    width: 37.5rem;
    height: 12.5rem;
    background: url(../shared/model/illust_06.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: calc(50% - 18.75rem);
}

.day_icon{
    width: 10rem;
    border-radius: 2rem;
    background: #e23b20;
    padding: 0.4rem 0 0.8rem 0;
    text-align: center;
    font-family: "Darumadrop One", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.8rem;
    line-height: 1;
    color: #fff;
    margin: 0 auto 2rem auto;
}

.day_icon.day2{
    background: #1778bc;
}

.day_icon.day3{
    background: #028e5b;
}

/*SP用　PCでは非表示*/
.plan_sp{
    display: none;
}

.plan_main_img{
    position: relative;
}

.plan_main_img img{
    max-width: 100%;
    height: auto;
    border-radius: 1rem;
}

.plan_main_img .plan_main_catch{
    width: 16.5rem;
    position: absolute;
    top: 1rem;
    left: 1rem;
}

.plan_main_img .plan_main_catch img{
    max-width: 100%;
    height: auto;
    border-radius: 0;
}

.plan_main_detail{
    padding: 1.5rem 12.5rem 1rem 1rem;
    margin-bottom: 4rem;
    position: relative;
}

.plan_main_detail::before{
    content: "";
    display: block;
    width: 13.5rem;
    height: 16.75rem;
    background: url(../shared/model/illust_02.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -3.25rem;
    right: 2.5rem;
}

.course02 .plan_main_detail::before{
    width: 13.5rem;
    height: 16.75rem;
    background: url(../shared/model/illust_plan2_01.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -3.25rem;
    right: 0.5rem;
}

.course03 .plan_main_detail::before{
    width: 13.5rem;
    height: 16.75rem;
    background: url(../shared/model/illust_plan3_01.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -3.25rem;
    right: 0.5rem;
}

.course04 .plan_main_detail::before{
    width: 12.5rem;
    height: 16.75rem;
    background: url(../shared/model/illust_plan4_01.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -3.25rem;
    right: 0.5rem;
}

.day2_box .plan_main_detail::before{
    content: "";
    display: block;
    width: 15.5rem;
    height: 16.75rem;
    background: url(../shared/model/illust_05.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -3.25rem;
    right: -1.5rem;
}

.course02 .day2_box .plan_main_detail::before{
    width: 12.5rem;
    height: 16.75rem;
    background: url(../shared/model/illust_plan2_02.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -3.25rem;
    right: -1.5rem;
}

.course03 .day2_box .plan_main_detail::before{
    width: 13rem;
    height: 16.75rem;
    background: url(../shared/model/illust_plan3_02.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -5.25rem;
    right: 1.5rem;
}

.course04 .day2_box .plan_main_detail::before{
    width: 13rem;
    height: 16.75rem;
    background: url(../shared/model/illust_plan4_02.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -3.25rem;
    right: 1.5rem;
}

.course04 .day3_box .plan_main_detail::before{
    width: 14rem;
    height: 16.75rem;
    background: url(../shared/model/illust_plan4_03.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -5.25rem;
    right: -0.5rem;
}

.plan_main_detail dl{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.plan_main_detail dl dt{
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.plan_main_detail dl dt a{
    color: #222;
    text-decoration: none;
    padding-right: 2.1rem;
    position: relative;
    transition: .3s all ease;
}

.plan_main_detail dl dt a:hover{
    color: #222;
    opacity: 0.8;
    padding-right: 2.5rem;
}

.plan_main_detail dl dt a::before{
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: #4cb2bb;
    border-radius: 50%;
    position: absolute;
    bottom: 0.15rem;
    right: 0;
}

.plan_main_detail dl dt a::after{
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: url(../shared/icon_arrow_black.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0.4rem;
    right: 0.25rem;
}

.plan_main_detail dl dd{
    line-height: 1.6;
}

.plan_yorimichi{
    padding: 3rem 2.5rem 2.5rem 2.5rem;
    background: url(../shared/model/bg.png);
    background-size: 1.625rem 1.625rem;
    background-repeat: repeat;
    display: flex;
    justify-content: flex-start;
    gap: 2rem;
    position: relative;
    margin-bottom: 5rem;
}

.plan_yorimichi::before{
    content:"";
    display: block;
    width: 12.5rem;
    height: 3.875rem;
    background: url(../shared/model/lbl_yorimichi.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -1.5rem;
    left: 2rem;
}

.plan_yorimichi .yorimichi_detail{
    flex: 1;
}

.plan_yorimichi .yorimichi_detail dl{}

.plan_yorimichi .yorimichi_detail dl dt{
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.plan_yorimichi .yorimichi_detail dl dd{
    line-height: 1.6;
}

.plan_yorimichi .yorimichi_img{
    width: 17rem;
}

.plan_yorimichi .yorimichi_img img{
    border-radius: 1rem;
    max-width: 100%;
    height: auto;
}

.other_spot{
    padding-bottom: 3rem;
    position: relative;
}

.day1_box .other_spot::before{
    content:"";
    display: block;
    width: 11.25rem;
    height: 7.5rem;
    background: url(../shared/model/illust_04.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -9rem;
    left: 3rem;
}

.course02 .day1_box .other_spot::before{
    content:"";
    display: block;
    width: 9rem;
    height: 7.5rem;
    background: url(../shared/model/illust_plan2_03.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -9rem;
    left: 3rem;
}

/*
.course03 .day1_box .other_spot::before{
    content:"";
    display: block;
    width: 7.5rem;
    height: 5.5rem;
    background: url(../shared/model/illust_plan3_03.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -8rem;
    left: 4rem;
}
*/
.course03 .day1_box .other_spot::before{
    content:"";
    display: block;
    width: 11.5rem;
    aspect-ratio: 23 / 15;
    background: url(../shared/model/illust_plan3_05.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -8rem;
    left: 3rem;
}


.course04 .day1_box .other_spot::before{
    content:"";
    display: block;
    width: 6.5rem;
    height: auto;
    aspect-ratio: 208 / 136;
    background: url(../shared/model/illust_plan4_06.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -5rem;
    left: 3rem;
}

/*
.day1_box .other_spot::after{
    content:"";
    display: block;
    width: 20rem;
    height: 20rem;
    background: url(../shared/model/img_plan1_day1_05-min.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 2rem;
    right: 0;
}
*/
.course01 .day1_box .other_spot::after,
.course03 .day1_box .other_spot::after,
.course04 .day1_box .other_spot::after{
    content:"";
    display: block;
    width: 20rem;
    aspect-ratio: 1 / 1;
    background: url(../shared/model/img_plan1_day1_05.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 3.5rem;
    right: 1rem;
}

.course04 .day1_box .other_spot::after{
    bottom: 10rem;
}

/*
.course04 .day1_box .other_spot::after{
    content:"";
    display: block;
    width: 6.5rem;
    height: 4.25rem;
    background: url(../shared/model/illust_plan4_06.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 24rem;
    right: 12rem;
}
*/


.course02 .day2_box .other_spot::before{
    content:"";
    display: block;
    width: 8rem;
    height: 6rem;
    background: url(../shared/model/illust_plan2_04.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2rem;
    right: 12rem;
}

.course02 .day2_box .other_spot::after{
    content:"";
    display: block;
    width: 8.5rem;
    height: 6.5rem;
    background: url(../shared/model/illust_plan2_05.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 9rem;
    right: 5rem;
}

.course03 .day2_box .other_spot::before{
    content:"";
    display: block;
    width: 7.5rem;
    aspect-ratio: 7.5 / 5.5;
    background: url(../shared/model/illust_plan3_03.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 16rem;
    right: 2rem;
}

.course03 .day2_box .other_spot::after{
    content:"";
    display: block;
    width: 10rem;
    aspect-ratio: 320 / 288;
    background: url(../shared/model/illust_plan3_04.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 8rem;
    right: 9rem;
}

.course04 .day2_box .other_spot::before{
    content:"";
    display: block;
    width: 11.25rem;
    aspect-ratio: 11.25 / 7;
    background: url(../shared/model/illust_plan4_05.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -8rem;
    right: 3rem;
}

.course04 .day3_box .other_spot::before{
    content:"";
    display: block;
    width: 11.25rem;
    aspect-ratio: 11.25 / 7;
    background: url(../shared/model/illust_plan4_04.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2rem;
    right: 7rem;
}

.other_spot ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 3rem;
}

.course02 .day2_box .other_spot ul{
    position: relative;
}

/*
.course02 .day2_box .other_spot ul::after{
    content:"";
    display: block;
    width: 10rem;
    height: 9rem;
    background: url(../shared/model/illust_plan3_04.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 1rem;
    right: 7rem;
}
*/

.other_spot ul li{
    width: calc((100% - 3rem) / 2);
}

.other_spot ul li .other_spot_img{
    margin-bottom: 1rem;
}

.other_spot ul li .other_spot_img img{
    border-radius: 1rem;
    max-width: 100%;
    height: auto;
}

.other_spot_name{
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 0.8rem;
}

.other_spot_name a{
    color: #222;
    text-decoration: none;
    position: relative;
    display: block;
    line-height: 1.4;
    transition: .3s all ease;
}

.other_spot_name a:hover{
    color: #222;
    opacity: 0.8;
}

.other_spot_name a::after{
    content: "";
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: #4cb2bb;
    background-image: url(../shared/icon_arrow_black.png);
    background-repeat: no-repeat;
    background-size: 1rem auto;
    background-position: center center;
    margin-left: 0.5em;
    transform: translateY(0.15em);
    transition: .3s all ease;
}

.other_spot_name a:hover::after{
    transform: translateY(0.15em) translateX(0.4rem);
}

.accommodation_box{
    padding: 5rem 0 3rem 0;
    position: relative;
}

.accommodation_box::before{
    content:"";
    display: block;
    width: 100vw;
    height: 100%;
    background: #edf7f8;
    position: absolute;
    top: 0;
    left: calc(50% - 50vw);
    z-index: -1;
}

.page_body .accommodation_box_inner h2{
    margin: 0 0 3rem 0;
}

.page_body .accommodation_box_inner h2 .lbl_ja{
    display: block;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 2.2rem;
    color: #222;
    text-align: center;
    margin-bottom: 0.5rem;
}

.page_body .accommodation_box_inner h2 .lbl_en{
    display: block;
    font-family: "Darumadrop One", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.3rem;
    color: #469da5;
    margin-bottom: 2rem;
    letter-spacing: 0.2rem;
    text-align: center;
}

.accommodation_list{}

.accommodation_list ul{
    display: flex;
    justify-content: flex-start;
    gap: 2.5rem;
}

.accommodation_list ul li{
    box-sizing: border-box;
    width: calc((100% - 2.5rem) / 2);
    padding: 1.5rem;
    background: #fff;
    border-radius: 1.5rem;
}

.accommodation_list ul li .al_img{
    width: 100%;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.accommodation_list ul li .al_img img{
    border-radius: 1rem;
}

.accommodation_list ul li .al_name{
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.accommodation_list ul li .al_kana{
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.accommodation_list ul li .al_access_wrap{
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
}

.accommodation_list ul li p{
    color: #5d5d5d;
}

.accommodation_list ul li .al_access_wrap .al_access_text{
    flex: 1;
    color: #5d5d5d;
}

.accommodation_list ul li .al_access_wrap .al_access_map{
    width: 10rem;
    height: 6.25rem;
    border-radius: 1rem;
    overflow: hidden;
}

.al_other{
    width: 25rem;
    margin: 2rem auto 0 auto;
}

.al_other img{
    max-width: 100%;
    height: auto;
}

.al_detail {
    min-height: 18rem;
}

.backto_model_list{
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

    .backto_model_list a{
        height: 3rem;
        border-radius: 100vh;
        border: 2px solid rgba(0, 0, 0, 0.15);
        color: #111;
        padding: 0 2em;
        text-decoration: none;
        display: flex;
        align-items: center;
        transition: .3s all ease;
    }

    .backto_model_list a:hover{
        color: #111;
        border-color: rgba(0, 0, 0, 0.8);
    }

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
    .topicpath_content_title::before{
        width: 100vw;
        height: auto;
        aspect-ratio: 3840 / 208;
        background-size: 100vw auto;
        left: 0;
    }

    .model_b_list_inner::before{
        width: 6rem;
        height: auto;
        top: auto;
        right: -12vw;
        bottom: 0;
        aspect-ratio: 8 / 10.5;
    }

    /*詳細*/
    .model_course_inner{
        width: auto;
        overflow: hidden;
    }

        .model_course_inner::before{
            width: 40vw;
            height: auto;
            aspect-ratio: 28 / 28.5;
            left: -2rem;
            z-index: -1;
        }

        .model_course_inner::after{
            width: 40vw;
            height: auto;
            aspect-ratio: 28 / 31.5;
            right: -5rem;
            z-index: -1;
        }

        .model_course_inner .model_course_catch{
            padding: 0 2.75rem;
        }

        .model_course_inner .model_course_catch::before,
        .model_course_inner .model_course_catch::after{
            width: 2.5rem;
            height: auto;
            aspect-ratio: 4.5 / 3;
            left: 0;
        }

        .model_course_inner .model_course_catch::after{
            left: auto;
            right: 0;
        }

        .model_course_setsumei{
            width: 65%;
        }

    .plan_detail_wrap{
        gap: 5vw;
    }

    .ts_box{
        width: 20vw;
    }

    .course01 .day1_box .other_spot::after,
    .course03 .day1_box .other_spot::after,
    .course04 .day1_box .other_spot::after{
        bottom: 4.5rem;
        right: -2rem;
    }

    .course04 .day1_box .other_spot::after{
        bottom: 10rem;
    }


    .course03 .day2_box .other_spot::before{
        right: 0;
    }

    .course03 .day2_box .other_spot::after{
        right: 7rem;
    }

    .course04 .day2_box .other_spot::before{
        right: 0;
    }

    .course04 .day3_box .other_spot::before{
        right: 2rem;
    }

}
/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {

}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    /*トップ*/
    .model_course_list ul{
        flex-direction: column;
        gap: 2rem;
    }

        .model_course_list ul li{
           width: 100%; 
        }

        .model_course_list ul li.mc_plan3{
            padding-top: 0;
        }

        .model_course_list ul li a .mc_ttl{
            font-size: 1.8rem;
            margin-bottom: 0;
            padding-bottom: 2.5rem;
        }

        .model_course_list ul li a .mc_text{
            padding: 0 0.5rem;
        }

        .model_course_list ul li a .mc_category_list{
            gap: 0.25em;
        }

        .model_course_list ul li a .mc_category_list .mc_cat{
            font-size: 0.9em;
            padding: 0 1em;
        }

        .model_course_list ul li .pick_up::before{
            top: -0.5rem;
            left: 1.5rem;
        }

        .model_course_list ul li.mc_plan4 a .mc_img .mc_flag{
            width: 8rem;
        }

    .model_b_list_inner{
        width: auto;
    }

        .model_b_list_inner::before {
            width: 4rem;
            right: -1rem;
            bottom: -6rem;
        }

        .model_b_list_inner ul{
            gap: 0.5rem;
        }

        .model_b_list_inner ul li{
            width: calc((100% - 0.5rem) / 2);
        }

        .model_b_list_inner ul li a{
            padding: 0 3rem 0 1em;
            font-size: 0.94em;
            height: 3rem;
            text-align: left;
            display: flex;
            align-items: center;
            line-height: 1.2;
        }

            .model_b_list_inner ul li a::before{
                width: 2rem;
                height: 2rem;
                top: 0.5rem;
                background-image: url(../shared/icon_arrow_black.png);
                background-repeat: no-repeat;
                background-size: 0.75rem auto;
                background-position: center center;
            }

            .model_b_list_inner ul li a::after{
                content: none;
            }

    /*詳細*/

    .topicpath_content_title.model_course{
        height: auto;
        padding-bottom: 1.5rem;
        margin-bottom: 2rem;
        overflow-x: hidden;
    }

    .model_course_inner{
        padding-top: 2.5rem;
    }

    .model_course_inner::before{
        top: 2rem;
        left: -1rem;
    }

    .model_course_inner::after{
        top: 1rem;
        right: -1rem;
    }

    .model_course_inner .model_course_icon,
    .model_course_inner .model_course_plan{
        margin-bottom: 1rem;
    }

    .model_course_inner .model_course_catch{
        font-size: 1.7rem;
        line-height: 1.4;
        text-align: center;
    }

    .model_course_inner .model_course_catch{
        padding: 0 1.8rem;
        margin-left: 1.5rem;
        margin-right: 1.5rem;
        margin-bottom: 0.8em;
    }

    .model_course_inner .model_course_catch::before,
    .model_course_inner .model_course_catch::after{
        width: 1.5rem;
        top: 0;
    }

    .model_course_setsumei{
        width: 85%;
        line-height: 1.6;
    }

    /*SPでは非表示*/
    .plan_detail_ts{
        display: none;
    }

    .plan_detail_ttl{
        font-size: 2.5rem;
    }

    .plan_detail_ttl .plan_detail_ttl_s{
        font-size: 0.7em;
    }

    .plan_detail_ttl::before{
        width: 28vw;
        height: auto;
        aspect-ratio: 12.5 / 8;
        left: -5vw;
        top: 0;
    }

    .plan_detail_ttl::after{
        width: 28vw;
        height: auto;
        aspect-ratio: 12.5 / 8;
        right: -3vw;
    }

    .plan_sp{
        display: block;
        margin-bottom: 1.5em;
        font-size: 0.9em;
        border-radius: 0.5rem;
        border: 2px solid #fff;
        padding: 0.5em 1em;
    }

    .plan_sp ul{
        display: block;
    }

    .plan_sp ul li{
        display: inline;
    }

    .plan_sp ul li::after{
        content: "－";
        display: inline-block;
        width: 2em;
        height: 1em;
        text-align: center;
        color: #888;
    }

    .plan_sp ul li:last-child::after{
        content: none;
    }

        .plan_sp ul li br{
            display: none;
        }

        .plan_sp .spot_name{
            display: inline;
        }

        .plan_sp .time{
            display: inline;
            font-weight: 500;
            margin-right: 0.3em;
        }

        .plan_sp .car_move,
        .plan_sp .walk_move{
            display: inline;
            color: #636363;
            position: relative;
            padding-left: 1.2em;
        }

            .plan_sp .car_move::before,
            .plan_sp .walk_move::before{
                content: "";
                display: inline-block;
                width: 1em;
                aspect-ratio: 1 / 1;
                background-image: url(../shared/sub/icon_car.png);
                background-repeat: no-repeat;
                background-size: contain;
                position: absolute;
                top: 0.2em;
                left: 0;
            }

            .plan_sp .car_move::before,
            .plan_sp .walk_move::before{
                background-image: url(../shared/sub/icon_walk.png);
            }

        .plan_sp.day1{
            border-color: #e23b20;
        }

            .plan_sp.day1 .time{
                color: #e23b20;
            }

        .plan_sp.day2{
            border-color: #1778bc;
        }

            .plan_sp.day2 .time{
                color: #1778bc;
            }

    .plan_main_detail{
        padding: 1.5rem 0 0 0;
    }

    .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: 0;
        width: 9rem;
        height: auto;
        aspect-ratio: 13.5 / 16.75;
    }

    .course02 .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: 0;
        width: 9rem;
        height: auto;
        aspect-ratio: 13.5 / 16.75;
    }
    .course03 .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: 0;
        width: 9rem;
        height: auto;
        aspect-ratio: 13.5 / 16.75;
    }
    .course04 .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: 0;
        width: 9rem;
        height: auto;
        aspect-ratio: 12.5 / 16.75;
    }

    .plan_main_detail dl dt,
    .other_spot_name{
        font-size: 1.1em;
        line-height: 1.5;
        margin-bottom: 0.3em;
    }

    .other_spot_name a::after{
        width: 1.125rem;
        height: 1.125rem;
        background-size: calc(1.125rem / 3 * 2) auto;
    }

    .plan_main_detail dl dd{
        padding-right: 8rem;
    }

    .other_spot_text{
        line-height: 1.5;
        font-size: 0.9em;
    }

    .plan_detail_ttl .plan_detail_ttl_inner{
        padding: 0 0 2rem 0;
    }

    .plan_detail_ttl .plan_detail_ttl_inner::before{
        top: auto;
        bottom: 0;
        left: calc(50% - 5.625rem);
    }

    .plan_detail_ttl .plan_detail_ttl_inner::after{
        display: none;
    }

    .day1_box{
        padding-bottom: 6rem;
    }

    .day1_box::before{
        top: 0;
        left: auto;
        right: 0;
        width: 6rem;
        height: auto;
        aspect-ratio: 8.75 / 5.5;
    }

    .plan_yorimichi{
        flex-direction: column;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-bottom: 1.5rem;
        margin-bottom: 3rem;
    }

    .plan_yorimichi .yorimichi_img{
        width: 100%;
    }

    .day1_box .other_spot::before{
        width: 30vw;
        height: auto;
        aspect-ratio: 11.25 / 7.5;
        left: 0;
        bottom: -5rem;
    }

    .course02 .day1_box .other_spot::before{
        width: 24vw;
        height: auto;
        aspect-ratio: 9 / 7.5;
        left: 0;
        bottom: -5rem;
    }
    .course03 .day1_box .other_spot::before{
        width: 25vw;
        left: 0;
        bottom: -3rem;
    }
    .course04 .day1_box .other_spot::before{
        width: 18vw;
        left: 1rem;
        bottom: -3rem;
    }

    .day1_box .other_spot::after{
        width: 45vw;
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .day2_box{
        padding-bottom: 8rem;
    }
    
    .course04 .day2_box{
        padding-bottom: 6rem;
    }

    .course02 .day2_box .other_spot::before{
        width: 21vw;
        height: auto;
        aspect-ratio: 8 / 6;
        top: 2rem;
        left: 50vw;
    }

    .course03 .day2_box .other_spot::before{
        width: 20vw;
        bottom: 11rem;
        right: 1rem;
    }

    .course03 .day2_box .other_spot::after{
        width: 23vw;
        right: 5.5rem;
        bottom: 6rem;
    }

    .course04 .day2_box .other_spot::before{
        width: 30vw;
        height: auto;
        aspect-ratio: 11.25 / 7;
        left: 0;
        bottom: -5rem;
    }

    .course02 .day2_box .other_spot::after{
        width: 22.3125vw;
        height: auto;
        aspect-ratio: 8.5 / 6.5;
        top: 8rem;
        left: 61vw;
    }

    .course02 .day2_box .other_spot ul::after{
        width: 26.25vw;
        height: auto;
        aspect-ratio: 10 / 9;
        bottom: 2rem;
        left: 50vw;
    }

    .day2_box::after{
        width: 100%;
        height: auto;
        aspect-ratio: 37.5 / 12.5;
        left: 0;
    }

    .course02 .day2_box .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: -2rem;
        width: 9rem;
        height: auto;
        aspect-ratio: 15.5 / 16.75;
    }

    .course02 .day2_box .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: 0;
        width: 7.25rem;
        height: auto;
        aspect-ratio: 12.5 / 16.75;
    }
    .course03 .day2_box .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: -2rem;
        width: 7.5rem;
        height: auto;
        aspect-ratio: 13 / 16.75;
    }
    .course04 .day2_box .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: -2rem;
        width: 7.5rem;
        height: auto;
        aspect-ratio: 13 / 16.75;
    }

    .day3_box{
        padding-bottom: 8rem;
    }
    
    .day3_box::after{
        width: 100%;
        height: auto;
        aspect-ratio: 37.5 / 12.5;
        left: 0;
    }

    .course04 .day3_box .plan_main_detail::before{
        top: auto;
        right: -4vw;
        bottom: 0rem;
        width: 9rem;
        height: auto;
        aspect-ratio: 14 / 16.75;
    }

    .course04 .day3_box .other_spot::before{
        width: 27vw;
        right: 2rem;
    }

    .other_spot ul{
        gap: 1.5rem 1rem;
    }

    .other_spot ul li{
        width: calc((100% - 1rem) / 2);
    }

    .accommodation_list ul{
        flex-direction: column;
        gap: 1rem;
    }

    .plan_detail_main .g_map{
        margin-top: 3rem;
    }

    .accommodation_box{
        padding-top: 3rem;
    }

    .page_body .accommodation_box_inner h2{
        margin-bottom: 2rem;
    }

    .page_body .accommodation_box_inner h2 .lbl_ja{
        font-size: 1.8rem;
    }

    .accommodation_list ul li{
        width: 100%;
    }

    .course01 .day1_box .other_spot::after,
    .course03 .day1_box .other_spot::after,
    .course04 .day1_box .other_spot::after{
        width: 40vw;
        bottom: 8rem;
        right: 0;
    }

    .course04 .day1_box .other_spot::after{
        bottom: 12rem;
    }

    /*
    .course04 .day1_box .other_spot::after{
        width: 4rem;
        height: auto;
        aspect-ratio: 6.5 / 4.25;
        right: auto;
        left: 52%;
    }
        */

    .course01 .day2_box .plan_main_detail::before{
        width: 9rem;
        height: auto;
        aspect-ratio: 496 / 536;
        right: -1rem;
        top: 3rem;
        bottom: auto;
    }

    .backto_model_list a{
        padding: 0 1.5em
    }

}


/* ##########印刷用########## */
@media print{

}