@charset "UTF-8";
/* CSS Document - detail  */

/* COMMON */
.container.line:before {
position: absolute;
top:5px;
left:50%;
translate: -50%;
content: "";
display: block;
width: calc(100% - 20px);
max-width: 1270px;
height: 1px;
background: var(--gray20);
}
.tour_detail .container .js_tab a,
.tour_detail .container .list_schedule a,
.tour_detail .container .tour_guideline a,
.tour_detail .container .list_faq a {
color: var(--blue);
text-decoration: underline;
}

.head_icon_26 + .left_padding {
padding-left: min(7vw,55px);
}


.col-12.wrap_taglink {
display: flex;
align-items: center;
justify-content: flex-start;
gap:5px;
padding-top: 6px;
padding-bottom: 5px;
overflow-x: auto;
width: 100%;
}
.wrap_taglink a {
display: inline-block;
padding: 6px 15px;
border-radius: 30px;
font-size: min(2.6vw,13px);
line-height: 1.2;
white-space: nowrap;
border: 1px solid var(--font-color);
}
.wrap_taglink a:hover {
opacity: 1;
background: var(--palegray);
}
.wrap_taglink a.home {
display: block;
width:15px;
height: 15px;
background: transparent url(../images/common/icon_home.svg) no-repeat center center;
background-size: 100%;
padding: 0;
border-radius:0;
overflow: hidden;
text-indent: 100%;
border: none;
}
.wrap_taglink a.home:hover {
opacity: .8;
background: none;
}



@media only screen and (min-width: 768px) {

.container.line:before {
top:15px;
width: calc(100% - 40px);
}
.col-12.wrap_taglink {
gap:8px;
padding-top: 8px;
padding-bottom: 8px;
overflow-x: auto;
width: 100%;
}





}/* min-width: 768px */




.tour_head {padding-bottom: 0;}
.tour_head .tag {
position: relative;
display: inline-block;
padding: 5px min(3.5vw,20px) 5px min(7vw,40px);
margin-right: 1rem;
margin-bottom: .5rem;
background: var(--palegray);
font-size: min(3vw,var(--14px));
font-weight: 500;
line-height: 1.2;
border-radius: 30px;
}
.tour_head .tag:before {
position: absolute;
left:7px;
top:50%;
translate: 0 -50%;
content: "";
display: block;
width: min(4vw,22px);
height: min(4vw,22px);
background: url(../images/common/icon_location.svg) no-repeat center center;
background-size: 100%;
}
.tour_head .tag.ayersrock:before {background-image: url(../images/common/icon_ayersrock.png);}
.tour_head .tag.brisbane:before {background-image: url(../images/common/icon_brisbane.png);}
.tour_head .tag.cairns:before {background-image: url(../images/common/icon_cairns.png);}
.tour_head .tag.goldcoast:before {background-image: url(../images/common/icon_goldcoast.png);}
.tour_head .tag.melbourne:before {background-image: url(../images/common/icon_melbourne.png);}
.tour_head .tag.perth:before {background-image: url(../images/common/icon_perth.png);}
.tour_head .tag.sydney:before {background-image: url(../images/common/icon_sydney.png);}
.tour_head .tag.tasmania:before {background-image: url(../images/common/icon_tasmania.png);}

.tour_head > p > strong {
display: inline-block;
font-weight: 500;
line-height: 1.5;
}
.tour_head > h1 {
font-size: min(5.5vw,32px);
font-weight: 700;
line-height: 1.6;
}



/* tour_head_review */
.tour_head_review .check-btn {
line-height: 1;
}
.tour_head_review .check-btn.favorite.selected {
border:1px solid var(--orange)
}
.tour_head_review .check-btn.comparison.selected {
border:1px solid var(--blue)
}


.tour_head_review {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
}
.tour_head_review .wrap_check {
width: 100%;
text-align: right;
}
.tour_head_review .review {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
width: 100%;
margin-right: 1rem;
}
.tour_head_review .review a.blueline {
display: inline-block;
font-size: min(3.5vw,13px);
}
.tour_head_review .review span {
display:inline-block;
}
.tour_head_review .review > span + span {
translate: 0 -3px;
}
.tour_head_review .review strong {
display: inline-block;
padding: 0 5px;
font-weight: 700;
font-size: min(5vw,18px);
font-family: var(--font-family-en);
line-height: 1;
}
.tour_head_review .sns-share {
display: flex;
align-items: center;
justify-content: flex-end;
margin-top: 5px;
}
.tour_head_review .sns-share a {
display: inline-block;
margin: 0 3px;
}






@media only screen and (min-width: 768px) {
.tour_head_review {
flex-wrap: wrap;
justify-content: flex-end;
}
.tour_head_review .review {
width: 100%;
text-align: right;
margin-top: 10px;
}
.tour_head_review .sns-share {
justify-content: flex-end;
}
}/* min-width: 768px */




/* main-image */
.wrap_main-image {
padding-left: 0;
padding-right: 0;
}
.wrap_main-image img {
display: block;
object-fit: cover;
width: 100%;
height: 210px;
}


@media only screen and (min-width: 768px) {
.wrap_main-image {
padding-left: min(1.5vw,30px);
padding-right: min(1.5vw,30px);
}
.wrap_main-image img {
height: min(35vw,460px);
border-radius: 10px;
}
}/* min-width: 768px */



.wrap_plan .tour_price {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.wrap_plan .tour_price > p,
.wrap_plan .tour_price > a.btn_blue_round {
display: block;
width: min(48%,280px);
box-sizing: border-box;
}
.wrap_plan .tour_price > p > span,
.wrap_plan .tour_price > p > strong {
display: block;
line-height: 1.4;
font-weight: 600;
}
.wrap_plan .tour_price > p > span {
font-size: min(3vw,14px);
}
.wrap_plan .tour_price > p > strong {
font-size: min(5vw,24px);
}
.wrap_plan .tour_price em {
display: inline-block;
margin-left: .5rem;
font-family: var(--font-family-en);
font-weight: 700;
font-size: 175%;
letter-spacing: -0.03em;
}
.wrap_plan .tour_price a.btn_blue_round:after {
content: "";
display: inline-block;
width: 9px;
height: 9px;
margin-left: 1rem;
border-right: 2px solid #FFF;
border-bottom: 2px solid #FFF;
rotate: 45deg;
translate: 0 -3px;
}

.plan_list {
position: relative;
margin-top: 2rem;
padding: 1rem 2rem;
background: #FFF;
box-shadow: var(--shadow);
}
.plan_list dt {
position: relative;
margin-bottom: .8rem;
padding-left: min(5.2vw,26px);
font-weight: 700;
font-size: var(--18px);
letter-spacing: 0.2em;
}
.plan_list dt:before {
position: absolute;
top:3px;
left:0;
content: '';
display: block;
width: min(4.5vw,22px);
height: min(4.5vw,22px);
background: url(../images/common/icon_plan.svg) no-repeat left center;
background-size: 100%;
}

.plan_list li {
margin-bottom: 5px;
}
.plan_list li a {
position: relative;
display: block;
font-weight: 500;
font-size:min(4.5vw,var(--15px));
}
.plan_list li a:after {
content: "";
display: inline-block;
margin-left: 5px;
translate: 0 -3px;
width: 9px;
height: 9px;
border-right:2px solid var(--blue);
border-bottom:2px solid var(--blue);
rotate: 45deg;
}


@media only screen and (min-width: 768px) {
.wrap_plan .tour_price > p,
.wrap_plan .tour_price > a.btn_blue_round {
width:100%;
}
.wrap_plan .tour_price > p {
display: flex;
justify-content: flex-end;
align-items: center;
gap:20px;
margin-bottom: 1.5rem;
text-align: right;
}
.plan_list {
margin-top: 3rem;
padding: 2rem 2.5rem;
}
.plan_list dt:before {
top:5px;
}
.plan_list li {
margin-bottom: 10px;
}

}/* min-width: 768px */





/* POINT */
.list_point {
border-top: 1px dotted var(--font-color);
width: 100%;
}
.list_point li {
position: relative;
padding: min(2vw,15px) 0;
font-size:min(3.4vw,var(--18px));
font-weight: 500;
letter-spacing: 0.05em;
border-bottom: 1px dotted var(--font-color);
}
.list_point a {
color: var(--blue);
text-decoration: underline;
}
.wrap_movie_point {
width: 100%;
margin-top: 2rem;
}

@media only screen and (min-width: 768px) {
.list_point li:before {
top:12px;
}
.wrap_movie_point {
margin-top: 0;
padding-left: min(4vw,60px);
}

}/* min-width: 768px */







/* SCHEDULE */
.tab_nav {
display: flex;
justify-content: space-between;
gap: 10px;
margin-bottom:30px;
}
.tab_nav li {
position: relative;
padding: .8rem;
width: 100%;
font-weight: 500;
font-size: min(3.4vw, var(--20px));
letter-spacing: 0.2em;
text-align: center;
border-radius: 30px;
border:1px solid var(--font-color);
cursor: pointer;
transition: var(--transition);
}
.tab_nav li:hover {
opacity: 1;
background: #FFF;
}
.tab_nav li.current {
background: var(--font-color);
color: #FFF;
font-weight: 600;
cursor :default;
}
.tab_nav li.current:after {
position: absolute;
bottom:-7px;
left:50%;
translate: -50%;
content: "";
display: block;
width: 15px;
height: 15px;
background: var(--font-color);
rotate: 45deg;
}
.tab_nav li.current:hover {
background: var(--font-color);
}

.list_schedule li {
padding:8px;
background: #FFF;
border-radius: 6px;
margin-bottom: 5px;
}
.list_schedule li > dl {
display: flex;
gap:10px;
}
.list_schedule li > dl dt {
position: relative;
font-family: var(--font-family-en);
font-weight: 600;
white-space: nowrap;
width: min(38vw,140px);
}
.list_schedule li > dl dt:after {
position: absolute;
right:0;
top:6px;
content: "";
display: block;
width: 9px;
height: 9px;
border-radius: 50%;
background: var(--font-color);
}
.list_schedule li > dl dd {
position: relative;
font-weight: 500;
width: 100%;
}
.list_schedule li > dl dd:before {
position: absolute;
top:10px;
left:-15px;
content: "";
display: block;
width: 1px;
height: calc(100% + 18px);
background: var(--font-color);
}
.list_schedule li:last-child > dl dd:before {
display: none;
}
.list_schedule + p {
margin-top: 1.5rem;
}
.tour_info h3 {
font-weight: 600;
color: var(--blue);
margin-bottom: .5rem;
}
.tour_info p + h3,
.tour_info ul + h3 {
margin-top: 2rem;
}
.tour_info ul > li {
position: relative;
list-style: circle;
margin-bottom: 1rem;
margin-left: 1.5rem;
}

[hidden] { display: none !important; }



@media only screen and (min-width: 768px) {
.tab_nav {
margin-bottom: 40px;
gap: 30px;
}
.tab_nav li.current:after {
bottom: -10px;
width: 17px;
height: 17px;
}
.list_schedule li {
padding:8px min(3vw,30px);
}
.list_schedule li > dl {
gap:20px;
}
.list_schedule li > dl dt {
width: min(22vw,160px);
}
.list_schedule li > dl dt:after {
top:12px;
right:-1px;
}
.list_schedule li > dl dd:before {
top:12px;
left:-24px;
height: calc(100% + 24px);
}

}/* min-width: 768px */





/* PLAN */
.box_plan {
position: relative;
background: #FFF;
padding:0 0 30px;
box-sizing: border-box;
box-shadow: var(--shadow);
}
.box_plan .tourcode {
display: block;
padding: 5px 10px;
font-size:min(2.8vw,var(--12px));
font-family: var(--font-family-en);
font-weight: 500;
color: #FFF;
line-height: 1;
text-align: right;
background: var(--font-color);
}
.box_plan .d-f {
position: relative;
flex-wrap: wrap;
padding: min(4vw,30px) min(3vw,30px) 0;
}
.box_plan h3 {
margin-bottom: .8rem;
width: 100%;
box-sizing: border-box;
font-weight: 700;
font-size:min(4.2vw,var(--24px));
line-height: 1.5;
}
.box_plan h3 + p {
width: 100%;
}
.box_plan .price {
width: 100%;
}
.box_plan .price > p {
display: flex;
align-items: baseline;
gap:6px;
font-weight: 500;
line-height: 1.3;
}
.box_plan .price > p > small {
display: block;
padding-right: 1rem;
font-size: min(3vw,14px);
}
.box_plan .price span {
display: block;
letter-spacing: normal;
font-size: min(4vw,22px);
font-family: var(--font-family-en);
letter-spacing: -0.05em;
}
.box_plan .price span.line {
position: relative;
padding-right: 10px;
font-size: min(3vw,14px);
}
.box_plan .price span.line:before {
position: absolute;
left:0;
top:50%;
translate: 0 -50%;
content: "";
display: block;
width: calc(100% - 10px);
height: 1px;
background: var(--font-color);
}
.box_plan .price span.line:after {
position: absolute;
right:0;
top:50%;
translate: 0 -50%;
content: "";
display: block;
width: 7px;
height: 7px;
border-right: 1px solid var(--font-color);
border-top: 1px solid var(--font-color);
rotate: 45deg;
}
.box_plan .price span.yen {
font-weight: 400;
font-size: min(3.6vw,18px);
}
.box_plan .price span > strong {
padding-left: .3rem;
font-size: 140%;
font-weight: 700;
}
.box_plan .note {
width: 100%;
margin-top: 1rem;
font-size:min(3.2vw,15px);
font-weight: 500;
color: var(--orange);
}

.box_plan .btn_blue_round_arrow {
position: absolute;
top:min(4vw,30px);
right:min(3vw,30px);
width: 70%;
padding-left: 1rem;
padding-right: 1rem;
}
.box_plan .trigger {
position: relative;
display: block;
width: min(20vw,120px);
padding:.7rem;
text-align: center;
cursor: pointer;
font-size:min(3.2vw,15px);
font-weight: 500;
border:1px solid var(--font-color);
border-radius: 30px;
}
.box_plan .trigger:after {
position: absolute;
bottom: -15px;
left:50%;
translate: -50%;
content: "";
display: block;
width: 11px;
height: 11px;
border-right:2px solid var(--font-color);
border-bottom:2px solid var(--font-color);
rotate: 45deg;
}
.box_plan .trigger.close:after {
rotate: -135deg;
bottom: -20px;
}
.box_plan .open_content {
width: 100%;
padding-top: 3rem;
}
.list_plan li {
display: flex;
padding: 3px 0;
border-bottom: 1px solid var(--lightgray);
}
.list_plan li:first-child {
border-top: 1px solid var(--lightgray);
}
.list_plan li > span,
.list_plan li > strong {
display: block;
font-size: min(3vw,var(--15px));
font-weight: 500;
}
.list_plan li > span {
width: 30%;
}
.list_plan li > strong {
width: 70%;
}





@media only screen and (min-width: 768px) {
.box_plan {
padding-bottom: 40px;
min-height: 440px;
}
.box_plan h3 {
font-size:min(3vw,24px);
}
.box_plan .d-f {
padding: min(2vw,30px) min(2.5vw,50px) 0;
}
.box_plan .btn_blue_round_arrow {
top:min(2vw,30px);
right:min(2vw,30px);
width: calc(88% - 120px);
max-width: 390px;
}
.box_plan .trigger {
padding: 1.2rem;
width: min(12vw,120px);
}
.box_plan .price {
width: 72%;
}
.box_plan .price > p > small {
font-size: min(1.2vw,14px);
}
.box_plan .price span {
font-size: min(1.8vw,20px);
}
.box_plan .price span.line {
font-size: 70%;
}
.box_plan .price span.yen {
font-size: min(1.4vw,14px);
}
.box_plan .note {
margin-top: 0;
width: 27%;
font-size: min(1.2vw,14px);
}

}/* min-width: 768px */







/* FAQ */
.list_faq dl {
margin-top: 5px;
background: #fff;
border-radius: 5px;
padding: min(3vw,15px);
}
.list_faq dt,
.list_faq dd {
position: relative;
padding-left: min(5.5vw,45px);
padding-right: min(6vw,50px);
}
.list_faq dt {
cursor: pointer;
transition: var(--transition);
}
.list_faq dt:after {
position: absolute;
top:2px;
right:min(2vw,10px);
content: "";
display: block;
width: 11px;
height: 11px;
border-right:2px solid var(--blue);
border-bottom:2px solid var(--blue);
rotate: 45deg;
}
.list_faq dt.close:after {
rotate: -135deg;
}
.list_faq dt:hover {
opacity: var(--bg-opacity);
}
.list_faq dd {
display: none;
margin-top: min(3vw,15px);
padding-top: min(3vw,15px);
border-top: 1px dotted var(--gray50);
}
.list_faq dt:before,
.list_faq dd:before {
position: absolute;
top:-5px;
left:min(1vw,10px);
display: inline-block;
font-family: var(--font-family-en);
font-size: var(--20px);
font-weight: 600;
}
.list_faq dt:before {
content: "Q";
}
.list_faq dd:before {
top: min(2vw,15px);
content: "A";
color: var(--blue);
}


@media only screen and (min-width: 768px) {
.list_faq dl {
margin-top: 10px;
}
.list_faq dt:after {
top:8px;
}
.list_faq dt.close:after {
top:10px;
}

}/* min-width: 768px */





/* REVIEW */
.head_icon_26 + .wrap_review {
border-top: 1px dotted var(--font-color);
}
.wrap_review {
padding: min(6vw,35px) 0;
border-bottom: 1px dotted var(--font-color);
}
.wrap_review h3 {
margin-bottom: 1rem;
font-size:min(4.2vw,var(--22px));
font-weight: 500;
}
.wrap_review .head > p.review {
display: flex;
align-items: center;
margin-bottom: .8rem;
font-size:min(4vw,var(--15px));
font-weight: 500;
line-height: 1.2;
}
.wrap_review .head > p.date {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 15px;
font-size:min(3vw,var(--13px));
font-weight: 500;
}

.wrap_review .review-star {
width: min(20vw,102px);
}
.wrap_review .review-star + span:before {
content: "";
display:inline-block;
vertical-align: middle;
margin: 0 10px;
width: 1px;
height: min(3vw,15px);
background: var(--font-color);
}

.wrap_review .box_comment {
margin-top: 1rem;
}
.wrap_review .box_comment .user_text {
position: relative;
margin: 0 auto;
padding: 0px 0px 10px;
}
.box_comment .user_text_inner {
position: relative;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
height: 100px;
overflow: hidden;
transition: var(--transition);
}
.box_comment .user_text_inner::before {
position: absolute;
display: block;
content: "";
left: 0;
bottom: 0;
width: 100%;
height: 60px;
transition: var(--transition);
background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100% );
}
.box_comment .user_text_inner.is_open:before{
display: none;
}
.box_comment .btn_readmore {
position: absolute;
right:0;
bottom: 0px;
display: block;
padding-right: 20px;
color: var(--blue);
cursor: pointer;
z-index: 1;
transition: var(--transition);
}
.box_comment .user_text .btn_readmore:after {
position: absolute;
top:5px;
right:5px;
content: "";
display: block;
width: 9px;
height: 9px;
border-right:2px solid var(--blue);
border-bottom:2px solid var(--blue);
rotate: 45deg;
}
.box_comment .user_text_inner.is_open + .btn_readmore:after {
top:10px;
rotate: -135deg;
}


/* user photo */
.wrap_review .box_comment .user_photo {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin-top: 10px;
}
.wrap_review .box_comment .user_photo li {
width: calc(33.3% - 6px);
margin: 6px 6px 0 0;
}
.wrap_review .box_comment .user_photo li:nth-child(3n) {
margin-right: 0;
}
.wrap_review .box_comment .user_photo li img {
display: block;
object-fit: cover;
width: 100%;
height: 80px;
}

/* box_reply */
.wrap_review .box_comment > .box_reply {
position: relative;
margin-top: 2rem;
position:relative;
background: var(--palegray);
padding: 35px 20px 20px;
border-radius: 10px;
font-size: var(--15px);
}
.wrap_review .box_comment > .box_reply:before {
position: absolute;
top:-8px;
left:50%;
translate: -50%;
content: "";
display: block;
width: 15px;
height: 15px;
background: var(--palegray);
rotate: 45deg;
}
.wrap_review .box_comment > .box_reply > .head {
position: absolute;
top:10px;
left:20px;
padding: .2rem 1rem;
border-radius: 4px;
background: var(--gray70);
color: #FFF;
font-size: var(--14px);
font-weight: 500;
line-height: 1.3;
text-align: center;
}
.wrap_review .box_comment > .box_reply > .head strong {
display: none;
}


@media only screen and (min-width: 768px) {
.wrap_review {
display: flex;
gap: 30px;
}
.wrap_review .head {
width: 34%;
}
.wrap_review .box_comment {
margin-top: 0;
width: 66%;
text-align: right;
}
.wrap_review .box_comment .user_text {
padding-bottom: 20px;
width: 100%;
text-align: left;
}
.box_comment .user_text_inner {
height: 140px;
}
.box_comment .btn_readmore {
bottom:10px;
font-size: var(--15px);
}
.box_comment .user_text .btn_readmore:after {
top:8px
}
.box_comment .user_text_inner.is_open + .btn_readmore:after {
top:12px;
}
.wrap_review .box_comment .user_photo {
flex-wrap: nowrap;
gap: 10px;
}
.wrap_review .box_comment .user_photo li {
width:min(16.7%,130px);
margin: 0;
}
.wrap_review .box_comment > .box_reply {
display: inline-block;
width: 87%;
text-align: left;
}
.wrap_review .box_comment > .box_reply > .head {
width: auto;
padding: .2rem 2rem;
font-size: var(--13px);
}

}/* min-width: 768px */







/* MODAL WINDOW */
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
background-color: rgba(240,242,245,.8);
width: 100%;
height: 100%;
z-index: 501;
}
.no_scroll {overflow: hidden;}
.modal-window {
display: none;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: 0 auto;
z-index: 502;
width: 100%;
height: 100%;
max-width: 1260px;
}
.modal-window .modal-window_inner {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 100%;
height: 100%;
background-color: #FFF;
padding: 2rem;
box-sizing: border-box;

overflow-y: auto;
}
.button_modal_close {
position: absolute;
top: 0;
right: 0;
width: 40px;
height: 40px;
color: #FFF;
text-indent: -9999px;
cursor: pointer;
z-index: 600;
}
.button_modal_close:before,
.button_modal_close:after {
position: absolute;
top:50%;
left:50%;
content: "";
display: block;
width: 25px;
height: 1px;
background: #FFF;
transform: translate(-50%,-50%) rotate(45deg);
}
.button-close:after,
.button_modal_close:after {
transform: translate(-50%,-50%) rotate(-45deg);
}




@media only screen and (min-width: 768px) {
.modal-window .modal-window_inner {
top:30px;
left: 50%;
transform: translate(-50%,0);
width: calc(100% - 40px);
height: 90vh;
border-radius: 5px;
box-shadow: var(--shadow);
}

}/* min-width: 768px */














/* reserve */
.modal-window.reserve .modal-window_inner {
padding: 0 0 30px;
}
.wrap_plan_reserve {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
}
.wrap_plan_reserve > .tour_head {
position: relative;
margin-bottom: min(4vw,30px);
padding: min(2.5vw,10px) min(4vw,30px);
box-sizing: border-box;
background: var(--font-color);
width: 100%;
color: #FFF;
line-height: 1.6;
}
.wrap_plan_reserve > .tour_head > .code {
display: inline-block;
padding: .3rem 1rem;
font-size: min(2.5vw,11px);
font-family: var(--font-family-en);
border:1px solid #FFF;
line-height: 1;
}
.wrap_plan_reserve > .tour_head> strong {
display: block;
margin-top: .5rem;
font-weight: 600;
font-size: min(4.8vw,var(--22px));
}

.wrap_plan_reserve > .tour_head > .plan {
display: block;
padding: .5rem 0;
margin-top: 1rem;
border-top: 1px dotted var(--blue);
border-bottom: 1px dotted var(--blue);
color: var(--blue);
font-weight: 700;
font-size: min(2.8vw,var(--15px));
}

.wrap_plan_reserve > section {
width: 100%;
padding: min(4vw,30px) min(5vw,50px);
box-sizing: border-box;
}
.wrap_plan_reserve > section + section {
margin-top: 1rem;
}

.wrap_plan_reserve h3.num_title {
position: relative;
padding-left: min(6.5vw,35px);
font-size: min(4vw,18px);
line-height: 1.6;
font-weight: 500;
}
.wrap_plan_reserve h3.num_title > em.en {
position: absolute;
top:0;
left:0;
display: block;
font-size: 156%;
font-weight: 300;
line-height: 1;
translate: 0 -2px;
}

.calender-head {
display: flex;
justify-content: space-between;
align-items: center;
margin: 1.5rem 0 1rem;
line-height: 1;
}
.calender-head strong {
font-size: min(3.6vw,var(--16px));
}
.calender-head > span {
position: relative;
display: block;
width: min(6vw,30px);
height: min(6vw,30px);
text-indent: -9999px;
cursor: pointer;
transition: var(--transition);
}
.calender-head > span:hover {
opacity: var(--bg-opacity);
}
.calender-head > span:after {
position: absolute;
top:7px;
right:0;
content: "";
display: block;
width: min(5vw,22px);
height: min(3vw,10px);
background: url(../images/common/arrow_next.svg) no-repeat right center;
background-size: 100%;
}
.calender-head > span.prev:after {
right:auto;
left:0;
background-position: left center;
transform: scale(-1, 1);
}

.table_date-select {
width: 100%;
table-layout: fixed;
border-collapse: collapse;
}
.table_date-select th,
.table_date-select td {
line-height: 1.2;
border:2px solid #FFF;
background: var(--lightgray);
}
.table_date-select th {
padding: 3px;
text-align: center;
background: var(--font-color);
color: #FFF;
font-weight: 500;
font-size: min(2.8vw,13px);
}
.table_date-select td {
padding: 2px 2px 5px;
height: 50px;
font-size: min(2vw,12px);
vertical-align: top;
background: var(--palegray);
letter-spacing: normal;
cursor: pointer;
}
.table_date-select td > span {
position: relative;
display: block;
text-align: center;
font-family: var(--font-family-en);
font-weight: 600;
font-size: 106%;
}
.table_date-select td.unselect {
background: var(--lightgray);
cursor: default;
}
.table_date-select td.unselect span {
color: var(--font-color);
text-decoration: none;
}
.table_date-select td.selected {
background: var(--blue);
color: #FFF;
font-weight: 700;
}
.table_date-select td.selected span {
color: #FFF;
text-decoration: none;
cursor: default;
}
.table_date-select td.request,
.table_date-select td.bookable {
position: relative;
}
.table_date-select td.request > span:before,
.table_date-select td.bookable > span:before {
content: "";
display: block;
margin: 0 auto 5px;
width: 12px;
height: 12px;
background-repeat: no-repeat;
background-position: center center;
background-size: 100%;
}
.table_date-select td.request > span:before {
background-image: url(../images/common/cal_rec.svg);
}
.table_date-select td.request.selected > span:before {
background-image: url(../images/common/cal_rec_w.svg);
}
.table_date-select td.bookable > span:before {
background-image: url(../images/common/cal_book.svg);
}
.table_date-select td.bookable.selected > span:before {
background-image: url(../images/common/cal_book_w.svg);
}
.table_date-select + p {
margin-top: 1rem;
line-height: 1.6;
}

.wrap_plan_reserve li {
display: flex;
justify-content: space-between;
align-items: center;
padding: .5rem 0;
border-top: 1px solid var(--lightgray);
}
.wrap_plan_reserve li > .d-f > strong {
white-space: nowrap;
font-family: var(--font-family-en);
font-weight: 600;
font-size: min(6vw,var(--20px));
}
.wrap_plan_reserve li > .d-f > strong > s {
font-weight: 500;
}
.wrap_plan_reserve li > .d-f > strong > small {
display: inline-block;
font-size: 70%;
}
.wrap_plan_reserve li > .d-f > strong > em {
display: inline-block;
font-weight: 400;
font-size: 80%;
}

.wrap_plan_reserve li > .d-f select.select {
min-width: min(20vw,100px);
border-radius: 6px;
}

.wrap_plan_reserve .coupon {
display: flex;
justify-content: flex-end;
padding: 1rem 0;
border-top: 1px solid var(--lightgray);
}
.wrap_plan_reserve .coupon > span {
display: block;
margin-right: 10px;
font-weight: 500;
font-size: var(--14px);
align-content: center;
}
.wrap_plan_reserve .coupon input[type="text"] {
padding: 3px 10px;
border: 1px	solid var(--blue);
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.wrap_plan_reserve .coupon input[type="button"] {
padding: 3px 10px;
background: var(--blue);
border: 1px	solid var(--blue);
color:#FFF;
font-weight: 500;
font-size: 90%;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
cursor: pointer;
transition: var(--transition);
}
.wrap_plan_reserve .coupon input[type="button"]:hover {
opacity: var(--bg-opacity);
}

.wrap_plan_reserve .total {
display: flex;
justify-content: space-between;
align-items: center;
gap: min(1vw,10px);
padding-top: 1rem;
border-top: 1px solid var(--lightgray);
letter-spacing: normal;
}
.wrap_plan_reserve .total span {
display: block;
}
.wrap_plan_reserve .total span.head {
padding: .5rem 1rem;
background: var(--font-color);
color: #FFF;
line-height: 1;
font-size: var(--13px);
font-weight: 500;
}

.wrap_plan_reserve .total span.price {
font-weight: 700;
}
.wrap_plan_reserve .total span.price strong {
font-family: var(--font-family-en);
font-weight: 700;
font-size: 165%;
}
.wrap_plan_reserve .total span.price > em {
font-weight: 400;
font-size: var(--14px);
}

.wrap_plan_reserve .btn_blue_round_arrow {
letter-spacing: normal;
}



@media only screen and (min-width: 768px) {
.wrap_plan_reserve {
justify-content: space-between;
}
.wrap_plan_reserve > section {
width:50%;
}
.wrap_plan_reserve > section + section {
margin-top: 0;
}
.table_date-select td {
padding: 3px 5px 8px;
}
.calender-head > span:after {
top:6px;
}
.calender-head > span.prev:after {
left:6px;
}
.calender-head > span.next:after {
left:auto;
right: 6px;
}
.wrap_plan_reserve .btn_blue_round_arrow {
letter-spacing: 0.2em;
}

}/* min-width: 768px */


/* button */
.btn_cart-in {
position: relative;
display: block;
padding: 1.5rem 1rem;
border-radius: 3rem;
text-align: center;
font-size:min(3.4vw,var(--18px));
font-weight: 500;
letter-spacing: 0.05em;
line-height: 1.5;
border: 1px solid var(--blue);
color: var(--blue);
cursor: pointer;
}
.btn_cart-in:after {
position: absolute;
top:50%;
translate: 0 -50%;
right:min(4vw,25px);
content: "";
display: block;
width: min(4vw,20px);
height: min(4vw,20px);
background: url(../images/common/icon_cart_blue.svg) no-repeat center center;
background-size: 100%;
}

@media only screen and (min-width: 768px) {
.btn_cart-in {
font-size:min(3vw,var(--15px));
}
}/* min-width: 768px */







/* agree */
.modal-window.agree .modal-window_inner {
padding: 0 0 30px;
}
.reserve_modal_head {
padding: min(3vw, 15px) min(5vw, 50px);
background: var(--font-color);
color: #FFF;
font-weight: 700;
font-size: var(--15px);
}
.wrap_agree {
padding: min(4vw,30px) min(5vw,50px);
box-sizing: border-box;
font-size: var(--15px);
}
.wrap_agree h3 {
font-size: var(--20px);
}
.wrap_agree h4 {
font-weight: 600;
}
.wrap_agree h4:after {
content: "";
display: block;
margin: 1rem 0;
width: 28px;
height: 1px;
background: var(--blue);
}
.wrap_agree ol {
list-style: decimal;
margin-left: 2.5rem;
}
.wrap_agree ul {
list-style: circle;
margin-left: 2rem;
}
.wrap_agree p + h3,
.wrap_agree ul + h3,
.wrap_agree ol + h3,
.wrap_agree p + h4,
.wrap_agree ul + h4,
.wrap_agree ol + h4 {
margin-top: 2rem;
}

@media only screen and (min-width: 768px) {
.reserve_modal_head {
padding: 6px min(14vw, 50px);
}
.wrap_agree {
padding: min(12vw, 30px)  min(14vw, 50px);
}

}/* min-width: 768px */











/* REVIEW */
.review .btn_open_sort dt {
background-color: var(--palegray);
}



/* review */
.review_refine {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: min(5vw,30px) min(5vw,60px);
box-sizing: border-box;
background: var(--palegray);
border-radius: 10px;
}
.review_refine > .head_22 {
display: block;
width: 100%;
padding-bottom: 1.2rem;
margin-bottom: 1.2rem;
font-weight: 500;
font-size: min(4vw,var(--20px));
letter-spacing: 0.1em;
border-bottom: 1px solid var(--gray20);
}
.review_refine > .head {
width: 100%;
}
.review_refine > .head .d-f {
align-items: center;
}
.review_refine > .head .d-f > strong {
width: 40%;
font-weight: 500;
font-size: min(7vw,var(--20px));
letter-spacing: normal;
}
.review_refine > .head .d-f > span {
width: 60%;
font-size: min(6vw,15px);
}
.review_refine > .head .d-f > span img {
width: 80%;
max-width: 120px;
}
.review_refine > .head .d-f > span > .en {
font-size: 160%;
font-weight: 700;
color: var(--blue);
}
.review_refine .wrap_openrefine {
width: 100%;
}
.review_refine .btn_refine_more {
display: block;
background: #FFF;
padding: .5rem 1.5rem;
border-radius: 20px;
font-weight: 500;
text-align: center;
line-height: 1;
font-size: var(--15px);
cursor: pointer;
}
.review_refine .btn_refine_more:after {
content: "";
display: inline-block;
margin-left: 5px;
width: 9px;
height: 9px;
border-right: 2px solid var(--gray70);
border-bottom: 2px solid var(--gray70);
rotate:45deg;
translate: 0 -3px;
}
.review_refine .btn_refine_more.close:after {
border: none;
border-left: 2px solid var(--gray70);
border-top: 2px solid var(--gray70);
translate: 0 2px;
}
.review_refine .open_refine_more {
display: none;
}
.review_refine .open_refine_more .d-f {
flex-wrap: wrap;
}
.review_refine dl {
width: 50%;
margin-top: 10px;
}
.review_refine dl:nth-of-type(even) {
padding-left: 20px;
}
.review_refine dt {
margin-bottom: 8px;
font-weight: 700;
font-size: min(6vw,var(--13px));
}
.review_refine dd li {
margin-bottom: 10px;
}
.review_refine dd li label {
display: flex;
align-items: center;
font-size: var(--15px);
line-height: 1;
}
.review_refine dd li label > img {
display: inline-block;
width: 90px;
vertical-align: middle;
}
.review_refine dd li label > span {
position: relative;
display: inline-block;
margin-left: 5px;
min-width: 30px;
background: #FFF;
border-radius: 5px;
border-bottom-left-radius: 0;
text-align: center;
line-height: 1.4;
letter-spacing: normal;
font-family: var(--font-family-en);
font-weight: 400;
font-size: 80%;
border: 1px solid var(--lightgray);
}
.review_refine .checkbox:after {
background: #FFF;
}




@media only screen and (min-width: 1025px) {
.review_refine {
position: relative;
gap: 10px;
justify-content: center;
}
.review_refine:before {
position: absolute;
top:0;
left:50%;
translate: -50%;
content: "";
display: block;
width: calc(100% - 40px);
height: 1px;
}

.review_refine > .head {
width: 100%;
display: flex;
gap:40px
}
.review_refine > .head .d-f > strong,
.review_refine > .head .d-f > span {
width: auto;
}
.review_refine > .head .d-f > strong {
margin-right: 20px;
}
.review_refine > .head .d-f > span img {
max-width: 170px;
}
.review_refine > .head .d-f > span > .en {
font-size: 180%;
line-height: 1;
}
.review_refine .wrap_openrefine {
width: 100%;
}
.review_refine .open_refine_more {
display: block;
}
.review_refine .wrap_openrefine .btn_refine_more{
display: none;
}
.review_refine .open_refine_more .d-f {
flex-wrap: nowrap;
gap: 30px;
justify-content: space-between;
}
.review_refine dd li label > img {
width: 100px;
}
.review_refine dl {
width: auto;
margin-top: 0;
}
.review_refine dl:nth-of-type(even) {
padding-left: 0;
}
.review_refine dd ul {
display: flex;
flex-wrap: wrap;
gap: 0 20px;
}
.review_refine dd ul + ul {
margin-left: 20px;
}
.review_refine dd li label > span {
margin-left: 10px;
}

}/* min-width: 1025px */














