@charset "utf-8";
/* CSS Document */
body { font-size:14px; }

.pc { display: none; }
.sp { display: unset; }
.sp_left {text-align: left;}

header#header { height: 90px;}
header#header .middle_inner { width: 68%; float: left; margin-left: 10px;}
header#header #header_logo { width: 100%; }
header#header #header_logo p { margin: 9px 0 9px 0; font-size:9px;}
header#header #header_logo img { width: 160px; }
header#header .glob1 { display: none; }


header#header #menu_btn { width: 100px; height: 90px; padding: 15px;margin-left: 0;}
header#header #menu_btn i { font-size: 36px;}
header#header #menu_btn span { margin-top: 5px;}

header.page_global .middle_inner .slug.lines3 { padding: 1.25em 0 0 0; letter-spacing: -0.04em;}

.zdo_drawer_bg .inner { margin: 92px auto 24px auto; padding: 20px 15px 20px 15px;}
.zdo_drawer_bg .inner ul.first li { width: 100%; margin: 0 0 10px 0;}
.zdo_drawer_bg .inner ul.first li.mypage { width: 100%; }
.zdo_drawer_bg .inner ul.first li a { font-size: 14px; padding: 10px; }
.zdo_drawer_bg .inner ul.first li a i { font-size: 16px; top: 13px; right: 8px; }
.zdo_drawer_bg .inner ul.first li a.prepared::after { left: 100px;}
.zdo_drawer_bg .inner ul.resort { padding: 12px; font-size:12px; }

.zdo_drawer_bg .inner ul.information li { width:100%; }
.zdo_drawer_bg .inner ul.information li.sp_half { width: 48.5%; }
.zdo_drawer_bg .inner ul.information li a { font-size: 13px; padding: 12px; }
.zdo_drawer_bg .inner ul.information li a i { font-size:16px; top: 13px; right: 8px; }

.zdo_drawer_bg .inner .logo { margin-top: 25px; }

.zdo_drawer_bg .inner .glob3 ul {
	display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;justify-content: space-between;
	justify-content: space-between; flex-wrap: wrap; align-items: stretch;
}
.zdo_drawer_bg .inner .glob3 ul li { width: 48.5%;  border-right: none; border-bottom: solid 1px #333 !important; padding: 0;}
.zdo_drawer_bg .inner .glob3 ul li a { position: relative; display: block; text-align: left; font-size: 12px; padding: 12px 5px 12px 5px; }
.zdo_drawer_bg .inner .glob3 ul li i { position:absolute; color:#E16374; font-size: 16px; top: 13px; right: 5px; }

.zdo_drawer_bg .inner .logo a img { width:60%; max-width:239px; }


main { padding-top:90px; }
main.page { padding-bottom: 90px;}


section#fv { position:relative; height:min(calc(680vw /7.68),680px); }

section#fv #fv_slider1 { background-image:url(../img/top/fv_slider/sp_1.jpg); background-size:100%; width:100%; height:min(calc(680vw /7.68),680px); }
section#fv #fv_slider2 { background-image:url(../img/top/fv_slider/sp_2.jpg); background-size:100%; width:100%; height:min(calc(680vw /7.68),680px); }
section#fv #fv_slider3 { background-image:url(../img/top/fv_slider/sp_3.jpg); background-size:100%; width:100%; height:min(calc(680vw /7.68),680px); }
section#fv #fv_slider4 { background-image:url(../img/top/fv_slider/sp_4.jpg); background-size:100%; width:100%; height:min(calc(680vw /7.68),680px); }
section#fv #fv_slider5 { background-image:url(../img/top/fv_slider/sp_5.jpg); background-size:100%; width:100%; height:min(calc(680vw /7.68),680px); }
section#fv #fv_slider6 { background-image:url(../img/top/fv_slider/sp_6.jpg); background-size:100%; width:100%; height:min(calc(680vw /7.68),680px); }
section#fv .circle { width: min(calc(320vw /10.8),320px); height: min(calc(320vw /10.8),320px);}
section#fv .circle img.sum { width:min(calc(169vw /10.8),169px); margin: min(calc(80vw /10.8),80px) auto auto auto; }
section#fv::after { height: 82px; bottom: -41px;}

section#top_service { margin: 80px 0 60px 0; padding: 25px 0 0 0; width: 100%;}

section#top_service .middle_inner { width: 100%; }
section#top_service .catch {font-size: 20px;}
section#top_service .description { font-size: 14px; margin: 18px auto 80px auto; text-align: left;}

section#top_service a.service_link { width: 100%; height: min(calc(460vw / 8),460px); margin: 0 0 50px 0;}
section#top_service a.service_link.service_lower {margin-top:0;}
section#top_service a.service_link .link_title { width: 300px; padding: 5px 10px 5px 10px; font-size: 18px;}
section#top_service a.service_link .link_title img.arrow { width: 20px;}

.swiper-button-next, .swiper-rtl .swiper-button-prev { right: 0; left: auto;}
.swiper-button-prev, .swiper-rtl .swiper-button-next { left: 0; right: auto;}


section#top_company { background-image: url(../img/top/top_company_bg_sp.jpg); padding: 120px 0 20px 0; }
section#top_company .middle_inner.flex { width: 100%; display:block; }
section#top_company .box { width: 100%; margin: 0 0 50px 0;}

section#top_company .box span.icon { top: -40px; width: 80px; height: 80px;}
section#top_company .box span.icon i { font-size: 34px; line-height: 80px;}

section#top_company .box dt { padding: 60px 0 0 0;}
section#top_company .box dt a { font-size: 22px;}

section#top_company .box dd { padding: 10px 20px 60px 20px;}
section#top_company .box dd p { min-height: 80px;}


header.page_global { height: 160px; background-position: center;}
header.page_global .middle_inner .slug { top: 25px; font-size: 18px; width: 120px; height: 120px; padding: 42px 0 0 0;}
header.page_global .middle_inner .slug.lines { padding: 29px 0 0 0; }

aside.pan { padding: 20px 0 20px 0;}

section.page_content { padding: 10px 0 10px 0;}

.subttl { font-size: 24px; margin: 15px auto 30px auto;}
.subttl::before {top: -15px; width: 60px;}

.subttl2 {  font-size: 20px; margin: 15px auto 30px auto;}
.subttl2 span::before { top: 17px; left: -42px; width: 25px;}
.subttl2 span::after { top: 17px; right: -42px; width: 25px;}


section#company_detail dl.box { display:block; }
section#company_detail dl.box dt { display:block; border:none; width:100%; }
section#company_detail dl.box dd { display:block; width:100%; }

section#access { padding: 60px 0 10px 0; }
section#access .map_wrapper { padding: 10px; }
section#access #gmap { height: 300px;}


section#about_detail p.summary { font-size: 14px;}

section#about_detail .flex { display:block; }

section#about_detail .one_two .box, section#about_detail .three_four_five .box { width:100%; }

section#about_detail .box p.title { font-size: 20px; }

section#about_detail .three_four_five { padding:40px 0 0 0; }
section#about_detail .inner { padding: 40px 0 10px 0; }


section.terms_detail dl.box dt { font-size: 20px; }

section.travel_detail table.calcel_table th { padding: 5px;}

/* conditions */
.terms_navi {margin-bottom:60px;}
.terms_content {padding:20px 0 10px 0; margin-bottom:40px;}
.terms_content .terms_btn {width:96%; max-width:96%; margin:0 auto 15px auto; padding: 7px 15px 7px 5px; font-size:14px; float:none;}
.terms_content .terms_btn .fa-circle-q {font-size:18px; margin-right:3px;}
.terms_content .terms_btn .fa-angle-right {top:12px; right:5px; font-size:16px;}
.terms_article .chapter {margin-top:40px;}
.terms_article .clause .i_block li {margin:0 0.5em 0 0;}
.terms_article .s_table {margin-top:25px;}
.terms_article .s_table dd {margin-bottom:20px;}
.terms_article .complaint dd {padding:5px 4% 10px 4%;}
section.travel_detail .complaint {margin-top:30px;}
section.travel_detail ol .price {padding-left:0;}
section.travel_detail ol .price::before {content:"\A"; white-space:pre;}
section.travel_detail p.separate {margin-bottom:30px;}

footer#footer .glob_menu { padding: 50px 0 40px 0;}
footer#footer .glob_menu ul.glob2 { padding: 0;margin: 0;}
footer#footer .glob_menu ul.glob2 li { display: block; font-size: 18px; padding: 0 20px 20px 20px; border-right: none; }
footer#footer .glob_menu ul.glob2 li a.prepared {  display: inline-block; margin: 0 0 20px 0;}
footer#footer .glob_menu dl.information {display:block;}
footer#footer .glob_menu dl.information dt {display:block; width:100%; border:none; border-bottom: solid 1px #FFF; padding:0 0 5px 0;}
footer#footer .glob_menu dl.information dd {display:block; margin: 0; padding: 16px;}
footer#footer .glob_menu dl.information ul li {font-size:1em;}
footer#footer #glob_footer .company_box.flex { display:block; text-align: center; }
footer#footer #glob_footer .company_box.flex address { margin:0 0 32px 0; }
footer#footer #glob_footer .glob3 ul li { padding: 0 12px 0 12px;  margin-bottom: 12px; font-size: 12px; line-height: 12px;}
footer#footer .copy { font-size:12px; }

.ptop {width: 60px; height: 60px; line-height: 60px;}
.ptop i { font-size:24px; }


@media (min-width: 768px) and (max-width: 1079px) {
	section#about_detail .one_two .box, section#about_detail .three_four_five .box { margin-left:auto; margin-right:auto; width:70%; }
}


/*202405　改修*/
.sub_heading2 {font-size:16px;margin-bottom:0; margin-left: 1.5em; text-indent: -0.75em;}
.strapline {font-size:14px;}

span.caution {margin-top:5px; margin-bottom:5px;}
section.terms_detail .item_list {padding-left: 1.5em;}
div.call {margin:15px 0 ;padding:3.5px 4% 7px 4%;}
div.call .call_ttl {font-size:17px; margin:5px auto; }
div.call .flex {flex-direction:column;}
div.call a.tel i.fa-headset {font-size:24px; margin-right: 6px;}
div.call a.tel {font-size: 20px; margin-bottom:0.5em;}
section.terms_detail .info_item .b_hour {margin-top:0; padding-left: 0;}
section.terms_detail .consent_form {margin:30px 0; padding:30px 0;}
section.terms_detail .form_dl {margin-top:20px; font-sze:16px;}
section.terms_detail .form_dl i {font-size:17px;}
section.terms_detail dl.info_item hr {margin: 15px 0;}
section.terms_detail dt span.small {font-size: 14px;}
section.terms_detail .next .tri {font-size:60px;}

/*faq*/
.faq_item,
section.terms_detail dl.faq_item {margin-top:15px;}

.faq_item dt,
section.terms_detail dl.faq_item dt {font-size:15px; padding: 5px 30px 5px 35px;}

.faq_item dd,
section.terms_detail dl.faq_item dd {border-top:none;margin-left: 0; padding: 10px 10px 15px 35px;}

.faq_item dt .fa-circle-q,
.faq_item dd .fa-circle-a,
section.terms_detail dl.faq_item dt .fa-circle-a,
section.terms_detail dl.faq_item dd .fa-circle-a {font-size:18px; position:absolute; left:10px;}

.faq_item dt .fa-circle-q,
section.terms_detail dl.faq_item .fa-circle-q {top:10px;}

.faq_item dd .fa-circle-a,
section.terms_detail dl.faq_item dd .fa-circle-a {top:15px;}

.faq_item dt .fa-circle-chevron-down,
.section.terms_detail dl.faq_item dt.active .fa-circle-chevron-down {font-size:20px; color:#E06373; position:absolute; top:18px; right:10px;}

/* faq_navi */
.faq_navi {padding:20px 0 10px 0; margin-bottom:40px;}
.faq_navi .faq_btn {width:96%; max-width:96%; margin:0 auto 15px auto; padding: 7px 15px 7px 5px; font-size:14px; float:none;}
.faq_navi .faq_btn .fa-circle-q {font-size:18px; margin-right:3px;}
.faq_navi .faq_btn .fa-angle-right {top:12px; right:5px; font-size:16px;}

/* top_bnr */
#top_bnr {padding-block: 0 2em;}
#top_bnr .lower_inner {inline-size: min(1000px,90%);}
