@charset "UTF-8";
/* CSS Document - detail  */

/* COMMON */
.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(--deep-blue);
text-decoration: underline;
}
.head_icon_28.turtle {
gap:min(3vw,15px);
letter-spacing: normal;
}
.head_icon_28.turtle:before {
content: "";
display: inline-block;
width: min(13vw,60px);
height: 30px;
background: url(../images/common/icon_car_turtle.svg) no-repeat left center;
background-size: 100%;
}

.trigger {
cursor: pointer;
transition: var(--transition);
}
.trigger:hover {
opacity: var(--bg-opacity);
}
.open_content {
display: none;
}


@media only screen and (min-width: 768px) {
.head_icon_28.turtle {
letter-spacing:0.1em;
}

}/*min-width: 768px*/



.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;
background: #FFF;
font-size: min(2.6vw,13px);
color: var(--deep-blue);
line-height: 1.2;
white-space: nowrap;
}
.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%;;
}

@media only screen and (min-width: 768px) {
.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 {
display: inline-block;
padding: 5px 10px;
border-radius: 5px;
background: var(--deep-blue);
font-size: min(3vw,var(--14px));
font-weight: 600;
color:#fff;
line-height: 1.2;
}
.tour_head > .head_24 {
margin-top: .5rem;
letter-spacing: normal;
line-height: 1.6;
}
.tour_head_review a.btn_favorite {
position: relative;
top:auto;
right:auto;
width: 150px;
background-size: 24px;
background-position: left 4px center;
border: 1px solid var(--gray30);
border-radius: 30px;
color: var(--font-color);
text-decoration: none;
}
.tour_head_review .btn_favorite::after {
position: absolute;
top:50%;
translate: 0 -50%;
left: 35px;
content: "お気に入りに保存";
font-size: min(3vw,12px);
line-height: 1;
font-weight: 500;
}
.tour_head_review .btn_favorite.check {
background-color: var(--gray10);
width: 160px;
}
.tour_head_review .btn_favorite.check::after {
content: "お気に入りに保存済";
}

.tour_head_review {
display: flex;
justify-content: space-between;
align-items: center;
}
.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;
line-height: 1.2;
margin-top: 5px;
}
.tour_head_review .sns-share dt {
width: min(11vw,60px);
padding-right: 5px;
margin-right: 5px;
font-size: min(3.3vw,12px);
font-weight: 500;
border-right: 1px solid var(--gray60);
}
.tour_head_review .sns-share dd 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 {
position: relative;
}
.wrap_main-image .btn_more_view {
position: absolute;
bottom: 20px;
right:20px;
display: block;
padding: 5px 10px;
background: #FFF;
border: 1px solid var(--gray30);
border-radius: 20px;
font-size: min(3vw,13px);
font-weight: 500;
line-height: 1;
z-index: 50;
}
.wrap_main-image .btn_more_view > span {
color: var(--deep-blue);
}
.wrap_main-image .btn_more_view:before {
content: "";
display: inline-block;
vertical-align: middle;
width: min(5vw,16px);
height: min(5vw,16px);
background: url(../images/common/icon_img-popup.svg) no-repeat left center;
background-size: 100%;
}



.wrap_main-image img {
display: block;
object-fit: cover;
width: 100%;
}
.wrap_main-image > .main img {
height: 250px;
border-radius: 8px;
}
.wrap_main-image > .sub {
display: none;
}





@media only screen and (min-width: 768px) {
.wrap_main-image {
display: flex;
gap: 10px;
}
.wrap_main-image .btn_more_view {
bottom: 40px;
right:40px;
}
.wrap_main-image > .main,
.wrap_main-image > .sub {
width: calc(50% - 5px);
}
.wrap_main-image > .main img {
height: 460px;
border-radius: 0;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
}
.wrap_main-image > .sub img {
height: 225px;
}
.wrap_main-image > .sub figure:nth-of-type(2) img {
border-top-right-radius: 10px;
}
.wrap_main-image > .sub figure:nth-of-type(4) img {
border-bottom-right-radius: 10px;
}
.wrap_main-image > .sub {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-content: space-between;
}
.wrap_main-image > .sub > figure {
width: calc(50% - 5px);
}
.wrap_main-image > .sub > figure:nth-child(n + 5) {
display: none;
}

}/* min-width: 768px */




.btn_open_movie {
display: block;
}
/* open contents */
.popup_movie-box {
display: none;
position: fixed;
top:50%;
left:50%;
translate: -50% -50%;
width: 100%;
padding-top: 30px;
z-index: 100;
}
.popup_movie-box .btn_popup_close_f {
position: absolute;
top:10px;
right:10px;
display: block;
width: 18px;
height: 18px;
text-indent: -9999px;
cursor: pointer;
}
.popup_movie-box .btn_popup_close_f:before,
.popup_movie-box .btn_popup_close_f:after{
position: absolute;
top:0;
left:8px;
content: "";
display: block;
height: 100%;
width: 1px;
background:#FFF;
transform: rotate(45deg);
}
.popup_movie-box .btn_popup_close_f:after{
transform: rotate(-45deg);
}
.overlay_b {
display: none;
position: fixed;
top: 0;
left: 0;
background-color: rgba(0,0,0,.8);
width: 100%;
height: 100%;
z-index: 50;
}
.no_scroll {overflow: hidden;}


@media only screen and (min-width: 768px) {
.popup_movie-box {
width: min(80vw,600px);
}
}/* min-width: 768px */



.wrap_plan .fs-18 {
font-size: min(4vw,var(--18px));
}
.wrap_plan .tour_price {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

.wrap_plan .tour_price span,
.wrap_plan .tour_price a.btn_blue_arrow {
display: block;
width: min(48%,280px);
box-sizing: border-box;
}
.wrap_plan .tour_price span {
font-size: min(4.6vw,24px);
font-weight: 600;
color: var(--deep-pink);
}
.wrap_plan .tour_price span > strong {
font-size: 185%;
font-weight: 600;
font-family: var(--font-family-en);
}
.wrap_plan .tour_price a.btn_blue_arrow {
text-align: center;
}


.col-6.move_sp-planlist {
padding: 0 0 1px;
}
.plan_list {
position: relative;
padding: 1rem 2rem;
}
.plan_list dt {
font-size: var(--18px);
}
.plan_list li {
margin-bottom: 5px;
}
.plan_list li a {
position: relative;
display: block;
padding-left: 16px;
color: var(--deep-blue);
font-weight: 500;
font-size:min(3vw,var(--14px));
}
.plan_list li a:before {
position: absolute;
top:4px;
left:0;
content: "";
display: block;
width: 9px;
height: 9px;
border-right:2px solid var(--deep-blue);
border-bottom:2px solid var(--deep-blue);
rotate: 45deg;
}

.plan_list li a > small.start {
display: inline-block;
padding: .3rem .8rem;
margin-left: .5rem;
background: #FFF;
color: var(--deep-blue);
line-height: 1.2;
border-radius: 20px;
font-family: var(--font-family-en);
font-size:80%;
font-weight: 500;
}
.plan_list li a > small.start > strong {
font-size: 125%;
}


.plan_list .trigger {
position: relative;
display: block;
padding: 5px 10px;
box-sizing: border-box;
background: #FFF;
width: 140px;
margin: 1rem auto;
font-size:min(2.8vw,13px);
font-weight: 600;
text-align: center;
line-height: 1.2;
border-radius: 30px;
}
.plan_list .trigger:after {
content: "";
display: block;
margin: 3px auto;
width: 9px;
height: 9px;
border-right:2px solid var(--deep-blue);
border-bottom:2px solid var(--deep-blue);
rotate: 45deg;
}
.plan_list .trigger.close:after {
rotate: -135deg;
margin-top: 6px;
}

.tour_notice {
padding-top: 0;
color: var(--deep-pink);
font-size:min(3.2vw,var(--17px));
font-weight: 500;
}
.tour_notice dt {
display: inline-block;
margin-right: 5px;
margin-bottom: 5px;
padding: 5px 10px;
background: var(--deep-pink);
color: #FFF;
font-size:min(2.7vw,var(--12px));
font-weight: 600;
line-height: 1;
}
.tour_notice dd {
display: inline-block;
}



@media only screen and (min-width: 768px) {
.wrap_plan .tour_price span {
font-size: min(2.4vw,24px);
}
.col-6.move_sp-planlist {
padding: 30px;
}
.plan_list {
display: flex;
padding: 1rem 2rem;
}
.plan_list dt {
width: 140px;
}
.plan_list dd {
width: calc(100% - 140px);
}
.plan_list li a {
}
.plan_list li a:before {
top:10px;
}

.plan_list li a > small.start {
font-size:70%;
}


.plan_list .trigger {
position: absolute;
bottom: 0;
left:2rem;
font-size:min(2vw,13px);
width: 130px;
}


.tour_notice {
display: flex;
align-items: flex-start;
gap: 10px;
}
.tour_notice dt {
translate: 0 5px;
white-space: nowrap;
}




}/* min-width: 768px */













/* POINT */
.list_point li {
position: relative;
padding-left: 2rem;
margin: min(1.2vw,10px);
font-size:min(3.4vw,var(--18px));
font-weight: 500;
letter-spacing: 0.05em;
}
.list_point li:before {
position: absolute;
top:5px;
left: 0;
content: "";
display: block;
width: min(3vw,12px);
height: 12px;
background: url(../images/common/icon_pin.svg) no-repeat left center;
background-size: 100%;
}
.list_point a {
color: var(--deep-blue);
text-decoration: underline;
}


@media only screen and (min-width: 768px) {
.list_point li:before {
top:12px;
}


}/* 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%;
text-align: center;
color: var(--deep-blue);
border-radius: 6px;
background: var(--gray10);
cursor: pointer;
transition: var(--transition);
}
.tab_nav li:hover {
opacity: var(--bg-opacity);
}
.tab_nav li.current {
background: var(--deep-blue);
color: #FFF;
font-weight: 600;
cursor :default;
}
.tab_nav li.current:after {
position: absolute;
bottom:-15px;
left:50%;
translate: -50%;
content: "";
display: block;
width: 15px;
height: 15px;
border-right: 3px solid var(--deep-blue);
border-bottom: 3px solid var(--deep-blue);
rotate: 45deg;
}
.tab_nav li.current:hover {
opacity: 1;
}
.list_schedule li {
padding:8px;
background: var(--blue5);
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(22vw,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;
}
.tour_info h3 {
font-weight: 600;
color: var(--deep-blue);
margin-bottom: .5rem;
}
.tour_info p + h3 {
margin-top: 2rem;
}
.tour_info p a {
color: var(--deep-blue);
text-decoration: underline;
}

[hidden] { display: none !important; }


@media only screen and (min-width: 768px) {
.tab_nav {
margin-bottom: 40px;
}
.tab_nav li.current:after {
bottom: -20px;
width: 17px;
height: 17px;
border-right-width: 4px;
border-bottom-width: 4px;
}
.list_schedule li {
padding:8px min(3vw,30px);
}
.list_schedule li > dl dt {
width: min(12vw,140px);
}
.list_schedule li > dl dt:after {
top:12px;
right:9px;
}
.list_schedule li > dl dd:before {
top:12px;
left:-24px;
height: calc(100% + 24px);
}


}/* min-width: 768px */







/* OUTLINE */

@media only screen and (min-width: 768px) {
}/* min-width: 768px */





/* PLAN */
.box_plan {
position: relative;
background: #FFF;
border-radius: 10px;
padding:25px 1px 1px 1px;
box-sizing: border-box;
}
.box_plan .tourcode {
position: absolute;
top:0;
right:0;
display: block;
padding: 5px 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
font-size:min(2.8vw,var(--12px));
font-family: var(--font-family-en);
line-height: 1;
background: var(--gray20);
}
.box_plan h3 {
padding: 0 min(4vw,30px) 5px;
color: var(--deep-blue);
font-weight: 600;
font-size:min(4.2vw,var(--22px));
line-height: 1.5;
}

.box_plan h3 > .start {
display: inline-block;
padding: .3rem .8rem;
border: 1px solid var(--deep-blue);
color: var(--deep-blue);
line-height: 1.2;
border-radius: 20px;
font-family: var(--font-family-en);
font-size:60%;
font-weight: 500;
}
.box_plan h3 > .start > strong {
font-size: 120%;
}

.box_plan .d-f {
flex-wrap: wrap;
padding: 0 min(4vw,30px);
width: 100%;
}
/* add by t yamada*/
.box_plan .price2 span {
font-weight: 600;
color: var(--deep-pink);
line-height: 1.3;
}
.box_plan .price2 span.line {
display: inline-block;
text-decoration: line-through;
}
.box_plan .price2 span > strong {
font-size: 170%;
font-family: var(--font-family-en);
font-weight: 600;
}
.box_plan .price2 p {
  display: grid;
  grid-template-columns: minmax(6em, 1fr) auto auto;
  column-gap: 8px;
  align-items: baseline;
  margin: 4px 0;
  white-space: nowrap;
  width: 100%;
  margin: 5px auto 10px;
}

.box_plan .price2 .c1  { 
  font-weight:200;
  font-size: 110%;
  color: black;
  line-height:normal;
  grid-column: 1; 
  justify-self: start; }
.box_plan .price2 .line{ grid-column: 2; justify-self: end;
  color:#888; text-decoration: line-through;
}
.box_plan .price2 .c2  { grid-column: 3; justify-self: end; }
.box_plan .price2 span.memo {
display: inline-block;
padding: .2rem 1rem;
border:1px solid var(--red);
font-size: var(--11px);
color: var(--red)!important;
font-weight: 600;
border-radius: 10px;
}
.box_plan .price2 + p {
width: 100%;
margin: 5px auto 10px;
text-align: center;
}

/* end of add */

.box_plan .price span {
font-weight: 600;
color: var(--deep-pink);
line-height: 1.3;
}
.box_plan .price span.line {
display: inline-block;
text-decoration: line-through;
}
.box_plan .price span > strong {
font-size: 170%;
font-family: var(--font-family-en);
font-weight: 600;
}
.box_plan .price + p {
width: 100%;
margin: 5px auto 10px;
text-align: center;
}
.box_plan .bg-blue {
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
.box_plan .bg-blue > .trigger {
display: block;
padding: 3px;
text-align: center;
cursor: pointer;
font-size:min(3.2vw,15px);
font-weight: 500;
}
.box_plan .bg-blue > .trigger:after {
content: "";
display: inline-block;
translate: 0 -2px;
margin-left: 10px;
width: 11px;
height: 11px;
border-right:2px solid var(--font-color);
border-bottom:2px solid var(--font-color);
rotate: 45deg;
}
.box_plan .bg-blue > .trigger.close:after {
rotate: -135deg;
translate: 0 3px;
}
.list_plan {
padding: .5rem min(4vw,30px) 2rem;
}
.list_plan li {
display: flex;
padding: 3px 0;
border-bottom: 1px solid var(--gray30);
}
.list_plan li:first-child {
border-top: 1px solid var(--gray30);
}
.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%;
}

.box_plan .price span.memo {
display: inline-block;
padding: .2rem 1rem;
border:1px solid var(--deep-blue);
font-size: var(--11px);
color: var(--deep-blue)!important;
font-weight: 400;
border-radius: 10px;
}


@media only screen and (min-width: 768px) {
.box_plan {
padding-top: 30px;
}
.box_plan h3 {
padding-bottom: 10px;
font-size:min(3vw,var(--20px));
}
.box_plan h3 > .start {
font-size:55%;
}

.box_plan .d-f {
justify-content: space-between;
align-items: center;
padding-bottom: 20px;
}
.box_plan .price {
width: 50%;
}
.box_plan .price + p {
margin: 0;
width:min(50%,250px);
}
.box_plan .price + p .btn_blue_arrow {
display: block;
width: 100%;
text-align: center;
padding-left: 1rem;
padding-right: 4rem;
}
.list_plan li > span,
.list_plan li > strong {
font-size: min(2vw,var(--14px));
font-weight: 500;
}

}/* min-width: 768px */







/* STAY */
.box_plan.stay {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: min(6vw,30px) min(4vw,30px) min(4vw,30px);
}
.box_plan.stay > figure,
.box_plan.stay h3,
.box_plan.stay .d-f {
padding: 0;
}
.box_plan.stay > figure {
width: calc(50% - 10px);
text-align: center;
}
.box_plan.stay > figure > img {
display: inline-block;
object-fit: cover;
width: 100%;
height: 120px;
/* height: 160px; */
border-radius: 8px;
}
.box_plan.stay > .head {
width: calc(50% - 10px);
}
.box_plan.stay .check_time {
margin: .5rem 0;
}
.box_plan.stay .check_time > span {
display: inline-block;
padding: .3rem 1rem;
margin: 5px 5px 0 0;
background: var(--blue10);
font-size: var(--14px);
font-weight: 500;
font-family: var(--font-family-en);
line-height: 1.2;
border-radius: 20px;
}
.box_plan.stay .check_time > span > small {
display: inline-block;
font-size: 80%;
}
.box_plan.stay .d-f .price,
.box_plan.stay .d-f .reserve {
margin-top: .5rem;
width: 100%;
}


@media only screen and (min-width: 768px) {
.box_plan.stay {
height: 100%;
padding: min(4vw,20px);
align-content: space-between;
}
.box_plan.stay > figure {
width: calc(40% - 10px);
}
.box_plan.stay > .head {
width: calc(60% - 10px);
}

.box_plan.stay .d-f .price {
width:45%;
}
.box_plan.stay .d-f .reserve {
width: 55%;
text-align: right;
}
.box_plan.stay .d-f .reserve .btn_blue_arrow {
padding-left: 3rem;
}


/* .box_plan.stay {
display: flex;
gap: 30px;
align-items: flex-start;
padding: min(6vw,30px) min(4vw,80px);
}
.box_plan.stay > figure {
width: 30%;
margin: 0;
}
.box_plan.stay > figure > img {

}
.box_plan.stay > section {
width: 70%;
} */



}/* min-width: 768px */






/* INFO */
.list_border {
border-top: 1px solid var(--gray30);
}
.list_border li {
padding: 1rem 0;
border-bottom: 1px solid var(--gray30);
}
.list_border li dt {
font-weight: 500;
}
.list_border li dd {
font-size: var(--15px);
}

@media only screen and (min-width: 768px) {
.list_border li dl {
display: flex;
}
.list_border li dt {
width: 15%;
}
.list_border li dd {
width: 85%;
}


}/* min-width: 768px */




/* PLACE */

@media only screen and (min-width: 768px) {
}/* min-width: 768px */





/* REVIEW */
.wrap_review {
padding-bottom: min(6vw,35px);
border-bottom: 1px dotted var(--gray30);
}
.wrap_review:nth-of-type(n + 2) {
padding-top: min(5vw,30px);
}
.wrap_review h3 {
margin-bottom: 1rem;
font-size:min(4.2vw,var(--22px));
font-weight: 500;
line-height: 1.6;
}

.wrap_review .review-star {
width: min(20vw,102px);
}
.wrap_review .user_data {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.wrap_review .user_data span {
display: block;
font-size:min(3vw,var(--14px));
}
.wrap_review .user_data span:first-child {
font-weight: 500;
}
.wrap_review .user_data span:after {
content: "";
display:inline-block;
vertical-align: middle;
margin: 0 5px;
width: 1px;
height: 10px;
background: var(--font-color);
}
.wrap_review .user_data span.type {
position: relative;
padding-left: min(6vw,35px);
}
.wrap_review .user_data span.type:before {
position: absolute;
top:50%;
left:0;
translate: 0 -50%;
content: "";
display: block;
width:  min(5.5vw,28px);
height: 16px;
background: url(../images/common/icon_friend.svg) no-repeat left center;
background-size: 100%;
}
.wrap_review .user_data span.type.family:before {background-image:url(../images/common/icon_family.svg);}
.wrap_review .user_data span.type.friend:before {background-image:url(../images/common/icon_friend.svg);}
.wrap_review .user_data span.type.group:before {background-image:url(../images/common/icon_group.svg);}
.wrap_review .user_data span.type.couple:before {background-image:url(../images/common/icon_couple.svg);}
.wrap_review .user_data span.type.single:before {background-image:url(../images/common/icon_single.svg);}
.wrap_review .user_data span.type:after {
display: none;
}
.wrap_review .date {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 15px;
font-size:min(3vw,var(--14px));
}

.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(--deep-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(--deep-blue);
border-bottom:2px solid var(--deep-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(--gray10);
padding: 30px 20px 20px;
border-radius: 6px;
}
.wrap_review .box_comment > .box_reply:before {
position: absolute;
top:-8px;
left:min(8vw,55px);
content: "";
display: block;
width: 15px;
height: 15px;
background: var(--gray10);
rotate: 45deg;
}
.wrap_review .box_comment > .box_reply > .head {
position: absolute;
top:5px;
right:5px;
padding: .2rem 1rem;
border-radius: 10px;
background: var(--gray30);
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 h3 {
padding-right: 30px;
}

.wrap_review .user_data span:after {
height: 14px;
margin: 0 8px;
translate: 0 -1px;
}
.wrap_review .box_comment {
margin-top: 0;
width: 66%;
}
.wrap_review .box_comment .user_text {
padding-bottom: 20px;
}
.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 > .head {
top:-12px;
right:-8px; 
padding: .5rem 1.2rem;
width: auto;
font-size: var(--13px);
border-radius: 30px;
}
.wrap_review .box_comment > .box_reply > .head strong {
display: inline;
}

}/* min-width: 768px */






/* REVIEW ALL（一覧ページ用） */
.review_all .tour_head {
margin-top: 1rem;
}
.review_all .tour_head > .head_24 {
display: inline;
font-size: min(4vw, var(--18px));
}
.review_all .tour_head > .tag {
padding: 3px 6px;
margin-right: 0.6rem;
font-size: min(2.8vw, 13px);
border-radius: 3px;
}



@media only screen and (min-width: 768px) {
.review_all .tour_head {
margin-top: 0;
}
.review_all h1.head_icon_28.turtle {
width: 34%;
}
.review_all .tour_head {
width: 66%;
padding-left: 15px;
}
.review_all .tour_head > .head_24 {
font-size: min(1.8vw, var(--18px));
}

}/* min-width: 768px */



















/* FAQ */
.list_faq dl {
margin-top: 5px;
}
.list_faq dt,
.list_faq dd {
position: relative;
padding: 5px 30px 5px 30px;
}
.list_faq dt {
background: var(--gray10);
cursor: pointer;
transition: var(--transition);
}
.list_faq dt:after {
position: absolute;
top:8px;
right:min(3vw,20px);
content: "";
display: block;
width: 11px;
height: 11px;
border-right:2px solid var(--deep-blue);
border-bottom:2px solid var(--deep-blue);
rotate: 45deg;
}
.list_faq dt.close:after {
top:15px;
rotate: -135deg;
}
.list_faq dt:hover {
opacity: var(--bg-opacity);
}

.list_faq dd {
display: none;
background: var(--blue5);
}
.list_faq dt:before,
.list_faq dd:before {
position: absolute;
top:2px;
left:min(2.5vw,18px);
display: inline-block;
font-family: var(--font-family-en);
font-size: var(--20px);
}
.list_faq dt:before {
content: "Q";
}
.list_faq dd:before {
content: "A";
color: var(--deep-blue);
}


@media only screen and (min-width: 768px) {
.list_faq dl {
margin-top: 10px;
}
.list_faq dt,
.list_faq dd {
padding: 10px 45px;
}
.list_faq dt:before,
.list_faq dd:before {
top:5px;
}
.list_faq dt:after {
top:18px;
}
.list_faq dt.close:after {
top:22px;
}

}/* 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: 10px;
right: 10px;
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: var(--gray60);
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-top: 50px;
}
.wrap_plan_reserve {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
}
.wrap_plan_reserve > .tour_head {
position: relative;
margin-bottom: min(6vw,30px);
padding: min(6vw,30px) min(4vw,30px) min(3vw,20px);
box-sizing: border-box;
line-height: 1.6;
background: var(--gray10);
width: 100%;
border-radius: 8px;
}
.wrap_plan_reserve > .tour_head> strong {
display: block;
font-weight: 500;
font-size: min(3.2vw,var(--17px));
}
.wrap_plan_reserve > .tour_head > .code {
position: absolute;
top:0;
right:0;
display: inline-block;
padding: .3rem 1rem;
font-size: min(2.5vw,12px);
color: #FFF;
font-family: var(--font-family-en);
background:var(--gray60);
line-height: 1;
border-top-right-radius: 8px;
border-bottom-left-radius: 8px;
}
.wrap_plan_reserve > .tour_head > .plan {
display: block;
padding: .5rem 0;
margin-top: 1rem;
border-top: 1px dotted var(--deep-blue);
border-bottom: 1px dotted var(--deep-blue);
color: var(--deep-blue);
font-weight: 700;
font-size: min(2.8vw,var(--15px));
}


.wrap_plan_reserve > section {
width: 100%;
}
.wrap_plan_reserve > section + section {
margin-top: 3rem;
}

.wrap_plan_reserve h3.fw-700 {
font-size: min(4vw,var(--18px));
line-height: 1.6;
}
.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(5vw,25px);
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:4px;
left:0;
content: "";
display: block;
width: min(3.6vw,16px);
height: min(3.6vw,16px);
rotate: 45deg;
}
.calender-head > span.prev:after {
left:4px;
border-bottom: 1px solid var(--gray60);
border-left: 1px solid var(--gray60);
}
.calender-head > span.next:after {
border-top: 1px solid var(--gray60);
border-right: 1px solid var(--gray60);
}

.table_date-select {
width: 100%;
table-layout: fixed;
border-collapse: collapse;
}
.table_date-select th,
.table_date-select td {
line-height: 1.2;
border:1px solid #FFF;
}
.table_date-select th {
padding: 3px;
text-align: center;
background: var(--dark-gray);
color: #FFF;
font-weight: 500;
font-size: min(2.8vw,13px);
}
.table_date-select td {
padding: 2px;
padding-bottom: 5px;
height: 50px;
font-size: min(2vw,12px);
vertical-align: top;
background: var(--blue5);
letter-spacing: normal;
cursor: pointer;
}
.table_date-select td.sun {
color: var(--red);
}
.table_date-select td.sat {
color: var(--deep-green);
}
.table_date-select td > span {
position: relative;
display: block;
text-align: center;
color: var(--deep-blue);
font-size: 120%;
}
.table_date-select td.unselect {
background: var(--gray20);
cursor: default;
}
.table_date-select td.unselect span {
color: var(--font-color);
text-decoration: none;
}
.table_date-select td.selected {
background: var(--light-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/detail/cal_rec.svg);
}
.table_date-select td.request.selected > span:before {
background-image: url(../images/detail/cal_rec_w.svg);
}
.table_date-select td.bookable > span:before {
background-image: url(../images/detail/cal_book.svg);
}
.table_date-select td.bookable.selected > span:before {
background-image: url(../images/detail/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(--gray30);
}
.wrap_plan_reserve li > .d-f > strong {
white-space: nowrap;
font-family: var(--font-family-en);
font-weight: 700;
font-size: min(6vw,var(--20px));
}
.wrap_plan_reserve li > .d-f > strong > s {
font-weight: 500;
}
.wrap_plan_reserve li > .d-f select {
min-width: min(20vw,100px);
}
.wrap_plan_reserve .total {
display: flex;
justify-content: flex-end;
align-items: center;
gap: min(1vw,10px);
padding-top: 1rem;
border-top: 1px solid var(--gray30);
letter-spacing: normal;
}
.wrap_plan_reserve .total span {
display: block;
}
.wrap_plan_reserve .total span.date {
padding-right: 1rem;
font-weight: 700;
font-size: min(3vw,var(--17px));
}
.wrap_plan_reserve .total span.price {
font-weight: 700;
color: var(--deep-pink);
}
.wrap_plan_reserve .total span.price strong {
font-family: var(--font-family-en);
font-weight: 700;
font-size: 165%;
}

@media only screen and (min-width: 768px) {
.wrap_plan_reserve {
justify-content: space-between;
}
.wrap_plan_reserve > section {
width: calc(50% - 20px);
}
.wrap_plan_reserve > section + section {
margin-top: 0;
}
.calender-head > span:after {
top:6px;
}
.calender-head > span.prev:after {
left:6px;
}
.calender-head > span.next:after {
left:auto;
right: 6px;
}

}/* min-width: 768px */





/* agree */
.wrap_agree {
padding-top: 40px;
font-size: var(--15px);
}
.wrap_agree h3,.wrap_agree h4 {
font-weight: 700;
}
.wrap_agree h3 {
font-size: var(--22px);
}
.wrap_agree h4 {
color: var(--deep-blue);
font-size: var(--18px);
}
.wrap_agree p + h3,
.wrap_agree ul + h3,
.wrap_agree p + h4,
.wrap_agree ul + h4 {
margin-top: 2rem;
}

@media only screen and (min-width: 768px) {
.wrap_agree {
padding: min(12vw, 30px)  min(14vw, 50px);
}

}/* min-width: 768px */




/* button */
.btn_cart-in {
position: relative;
display: block;
background: linear-gradient(90deg, var(--light-pink) 0%, var(--deep-pink) 100%);
padding: 1rem 4rem 1rem 3rem;;
border-radius: 3rem;
text-align: center;
font-size:min(3.4vw,var(--18px));
font-weight: 500;
color: #FFF;
letter-spacing: 0.05em;
line-height: 1.5;
cursor: pointer;
}
.btn_cart-in:after {
position: absolute;
top:50%;
translate: 0 -50%;
right:min(4vw,30px);
content: "";
display: block;
width: 20px;
height: 20px;
background: url(../images/common/icon_cart_white.svg) no-repeat center center;
background-size: 100%;
}





@media only screen and (min-width: 768px) {
.btn_cart-in {
padding: 1.5rem 6rem 1.5rem 4rem;
font-size:min(3vw,var(--15px));
}
}/* min-width: 768px */








/* review */
.review_refine {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 20px;
box-sizing: border-box;
}
.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(--17px));
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: 150%;
font-weight: 600;
color: var(--deep-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: 700;
color: var(--deep-blue);
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(--deep-blue);
border-bottom: 2px solid var(--deep-blue);
transform: rotate(45deg) translateY(-3px);
}
.review_refine .btn_refine_more.close:after {
transform: rotate(-135deg) translateY(0px);
}
.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: 6px;
font-weight: 500;
font-size: min(6vw,var(--15px));
}
.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%;
color: var(--light-blue);
border: 1px solid var(--blue30);
}
.review_refine .checkbox:after {
background: #FFF;
}




@media only screen and (min-width: 1025px) {
.review_refine {
position: relative;
flex-wrap: nowrap;
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;
border-top: 1px dotted var(--gray30);
}



.review_refine > .head {
width: 15%;
}
.review_refine > .head .d-f > strong,
.review_refine > .head .d-f > span {
display: block;
width: 100%;
}
.review_refine > .head h3 + p {
margin-top: 2rem;
}
.review_refine .wrap_openrefine {
width: 85%;
}
.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 {
display: flex;
}
.review_refine dd ul + ul {
margin-left: 20px;
}
.review_refine dd li label > span {
margin-left: 10px;
}

}/* min-width: 1025px */

