@charset "UTF-8";
/* CSS Document - header/footer/navi/search  */

/* ページ表示時にフェードイン */
body {
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

/* HEADER */
.header {
position: relative;
width: 100%;
display: flex;
align-items: center;
padding: 10px 20px 0;
box-sizing: border-box;
background: #FFF;
z-index: 100;
}
.header > .wrapper {
flex-wrap: wrap;
justify-content: space-between;
}
.header .header_logo {
width: min(20vw,80px);
}
.header_back {
position: fixed;
top:0;
left:0;
width: 100%;
height: 50px;
background: #FFF;
z-index: 1;
}

.header_info {
display: flex;
justify-content: flex-end;
align-items: center;
width: calc(100% - 80px);
/* padding-right: 40px; */
box-sizing: border-box;
position: fixed;
top:10px;
right:50px;
z-index: 110;
}
.header_info li {
position: relative;
margin-left: 30px;
align-content: center;
background: var(--gray20);
width: 24px;
height: 24px;
border-radius: 50%;
font-family: var(--font-family-en);
font-size: min(3vw,12px);
font-weight: 500;
color: var(--deep-pink);
text-align: center;
line-height: 1;
letter-spacing: -0.02em;
}
.header_info li > a {
display: block;
color: var(--deep-pink);
}

.header_info li:after {
position: absolute;
top:50%;
translate: 0 -50%;
left:-3px;
content: "";
display: block;
width: 6px;
height: 6px;
background: var(--gray20);
rotate: 45deg;
z-index: -1;
}
.header_info li:before {
position: absolute;
top:50%;
translate: 0 -50%;
left:-26px;
content: "";
display: block;
width: min(5vw,20px);
height: 20px;
background: url(../images/common/icon_favorite.svg) no-repeat center left;
background-size: 100%;
}
.header_info li.history:before {
background-image: url(../images/common/icon_history.svg);
}
.header_info li.cart:before {
background-image: url(../images/common/icon_cart.svg);
}
.header_search {
position: relative;
width: 100%;
padding: 0;
margin-top: 10px;
}
.header_search.header-in {
position: sticky;
top: 0;
padding: 6px 50px 6px 15px;
margin-top: 0;
border-bottom: 1px solid var(--deep-blue);
background: #FFF;
z-index: 200;
}
.header_search.header-in .wrap_header_input {
position: relative;
transition: all .2s;
}
.header_search.header-in.scroll-nav {
background: none;
padding: 6px 15px 6px 15px;
}
.header_search.header-in.scroll-nav .wrap_header_input {
/* width: min(60vw,360px); */
width: min(45vw,360px);
}

@media only screen and (max-width: 414px) {
.header_search.header-in.scroll-nav .wrap_header_input {
width:36vw;
}
}/* max-width: 414px */


.header_search input {
display: block;
padding: .5rem 30px .5rem 1rem;
border-radius: 30px;
width: 100%;
background: var(--gray10);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.header_search .btn_search {
position: absolute;
top:50%;
translate: 0 -50%;
right:6px;
content: "";
display: block;
width: 26px;
height: 26px;
background: url(../images/common/icon_search.svg) no-repeat center center;
background-size: cover;
text-indent: -9999px;
}
.header_search.header-in .wrap_header_input .btn_search {
right: 6px;
}


@media only screen and (min-width: 768px) {
.header {
position: fixed;
top:0;
padding: 10px 30px;
background: #FFF;
border-bottom: 3px solid var(--deep-blue);
}
.header_back {
display: none;
}
.header > .wrapper {
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
width: 100%;
max-width: 100%;
}
.header .header_logo {
width: min(20vw,200px);
}

.header .wrap_header_search {
width: calc(100% - 200px);
padding-left: 15px;
}
.header .header_search {
width: min(46vw,610px);
}
.header_search.header-in,
.header_search.header-in.scroll-nav {
position: relative;
padding: 0;
border-bottom: none;
}


.header_search input { 
padding: 1rem 2rem;
font-size: var(--16px);
}
.header_search .btn_search {
width: min(4vw,40px);
height: min(4vw,40px);
}
.header .header_search .btn_search {
right:6px;
}
.header_search.header-in .wrap_header_input,
.header_search.header-in.scroll-nav .wrap_header_input {
width:100%;
}

.header .header_info {
top:22px;
width: min(34vw,400px);
}
.header .header_info li {
margin-left: min(3vw,40px);
}

}/* header min-width: 768px */


@media only screen and (min-width: 1025px) {
.header .wrap_header_search {
width: calc(100% - 300px);
}
.header .header_search {
margin: 0 auto;
}
}/* min-width: 1025px */


@media only screen and (min-width: 1320px) {}



/* humberger */
.hmenu-wrapper{
position:fixed;
top:10px;
right:10px;
z-index: 500;
}
.hmenu{
width: 30px;
height:30px;
position:relative;
cursor:pointer;
display: inline-block;
float:right;
z-index: 500;
}
.hmenu1{top:0px;}
.hmenu2{top:10px;}
.hmenu3{top:20px;}
.hmenu1,.hmenu2,.hmenu3 {
position:absolute;
left:0;
height:3px;
width: 30px;
transition: all 0.3s ease-out;
display: inline-block;
background-color: var(--deep-blue);
}
.hmenuclick1,
.hmenuclick3 {
top:10px;
background-color: #FFF;
}
.hmenuclick2 {
display: none;
}
.hmenuclick1{transform: rotate(45deg);}
.hmenuclick3{transform: rotate(-45deg);}
.hmenu-back{
position: relative;
display: none;
position: fixed;
background:rgba(0,0,0,.9);
opacity: 1;
z-index: 300;
width: 100%;
height: 100%;
top:0;
left:0;
}


/* toggle_nav */
.toggle_nav {
display: none;
width: 100%;
height: 100vh;
position: fixed;
top:0;
left:50%;
transform: translateX(-50%);
z-index: 400;
overflow-y: auto;
color: #FFF;
background : linear-gradient(130deg, #00a6e9 0%, #0080cb 100%);
}
.toggle_nav .logo {
padding-bottom: 10px;
}
.toggle_nav .logo img {
width: min(45vw,180px);
}
.toggle_nav .category_nav {
display: flex;
flex-wrap: wrap;
gap:10px;
justify-content: space-between;
}
.toggle_nav .category_nav > a {
display: block;
width: calc(50% - 5px);
text-align: center;
padding: 5px;
box-sizing: border-box;
border-radius: 5px;
border:1px solid #FFF;
color: #FFF;
font-weight: 600;
letter-spacing: 0.1em;
}
.toggle_nav .category_nav > a > figure {
text-align: center;
}
.toggle_nav .category_nav > a > figure > img {
width: min(6vw,30px);
}
.toggle_nav .sub_nav {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.toggle_nav .sub_nav > p {
width: calc(50% - 5px);
}
.toggle_nav .sub_nav > p > a {
display: block;
margin-bottom: 5px;
padding: 2px 0;
font-size: var(--15px);
color: #FFF;
}
.toggle_nav .icon_nav {
display: flex;
align-items: center;
gap: 20px;
margin: 2rem 0;
}
.toggle_nav .icon_nav a {
display: inline-flex;
align-items: center;
color: #FFF;
}
.toggle_nav .icon_nav a .icon {
width: min(5.5vw,20px);
margin-right: 5px;
}


@media only screen and (min-width: 768px) {
.hmenu-wrapper{
top:22px;
}
.toggle_nav .category_nav {
gap:20px;
}
.toggle_nav .category_nav > a {
width: calc(50% - 10px);
padding: 10px;
}
.toggle_nav .sub_nav > p {
width:100%;
}

}/* min-width: 768px */




/* FOOTER */
.footer {
padding-top:2rem;
}
.footer a {
display: inline-block;
}

.footer .logo {
text-align: center;
}
.footer .logo > img {
width: min(25vw,120px);
}
.footer .link_sns {
display: flex;
align-items: center;
justify-content: center;
gap:15px;
padding: 15px 0;
border-top: 1px solid var(--text-color20);
}
.footer .link_sns > a {
display: block;
width: min(8vw,35px);
}
.footer .link_text {
display: flex;
justify-content: space-between;
border-top: 1px solid var(--text-color20);
padding: 15px 0;
}
.footer .link_text > ul {
width: calc(50% - 5px);
}
.footer .link_text > ul li a {
padding: 2px 0;
}
.footer .link_category {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-top: 1px solid var(--text-color20);
padding-top: 15px;
}
.footer .link_category > a {
display: flex;
align-items: center;
padding: 2px 0;
width: calc(50% - 5px);
}
.footer .link_category > a > .icon {
margin-right: min(1.5vw,10px);
width: min(4.5vw,25px);
}
.btn_round-box {
position: relative;
display: block;
padding: min(4vw,20px) min(4vw,20px) min(6vw,30px);
box-sizing: border-box;
border: 1px solid var(--text-color20);
border-radius: 10px;
}
.btn_round-box:after {
position: absolute;
bottom:min(3vw,20px);
right: 15px;
content: "";
display: block;
width: 28px;
height: 6px;
background: url(../images/common/arrow_right-gray.svg) no-repeat right bottom;
background-size: 100%;
}

.footer .link_text,
.footer .link_category,
.footer .btn_round-box {
font-size: min(4vw,var(--15px));
}
.copyright {
padding: min(3vw,26px);
background: var(--deep-blue);
text-align: center;
font-family: var(--font-family-en);
font-size: min(2.4vw,var(--14px));
color: #FFF;
}




.btn_fixed {
position: fixed;
bottom:0;
left:0;
z-index: 100;
width: 100%;
min-height: 20px;
}
.btn_fixed .btn_pagetop {
position:absolute;
top:-45px;
right:10px;
display: block;
width: 20px;
height: 20px;
border-top: 1px solid var(--light-blue);
border-left: 1px solid var(--light-blue);
rotate:45deg;
text-indent: -9999px;
z-index: 103;
}
.btn_fixed .wrap_banner {
position: relative;
display: block;
}
.btn_fixed .wrap_banner a {
display: block;
}
.btn_fixed .wrap_banner .close {
position:absolute;
top:-15px;
right:6px;
cursor: pointer;
z-index:101;
width: 29px;
height: 29px;
}




@media only screen and (min-width: 768px) {
.footer {
padding-top:4rem;
}
.footer .link_sns {
justify-content: flex-start;
gap:20px;
padding-top: 20px;
}
.footer .link_text,
.footer .link_category {
display: block;
border-top: none;
padding-top: 0;
width: 50%;
}
.footer .link_text > ul,
.footer .link_category > a {
width:100%;
}
.footer .link_text > ul li a,
.footer .link_category > a {
padding: 6px 0;
}

.btn_fixed {
bottom:0;
left:auto;
right:0;
width: min(35vw,375px);
}
.btn_fixed .btn_pagetop {
right:15px;
width: 26px;
height: 26px;
}
.btn_fixed .wrap_banner .close {
right:12px;
}

}/* FOOTER min-width: 768px */



article {
/* padding-top: 96px; */
}
.gnav {
position: relative;
}
.gnav:after {
position: absolute;
right:5px;
top:13px;
content: "";
display: block;
width: 12px;
height: 12px;
border-right:1px solid var(--deep-blue);
border-top:1px solid var(--deep-blue);
rotate: 45deg;
}
.gnav > nav {
overflow-x: auto;
width: calc(100% - 20px);
}
.gnav > nav > div {
display: flex;
gap: 5px;
width: 600px;
}
.gnav a {
position: relative;
display: flex;
align-items: center;
padding: 8px 5px;
font-size: min(4vw,var(--14px));
color: var(--deep-blue);
white-space: nowrap;
transition: all .2s;
}
.gnav a > figure {
margin-right: 5px;
width: min(5vw, 22px);
}
.gnav a:after {
position: absolute;
left:0;
bottom:0;
content: "";
display: block;
width: 100%;
height: 1px;
background: var(--deep-blue);
transition: transform .2s;
transform-origin: 50% center;
transform: scaleX(0); 
}
.gnav a:hover:after,
.gnav a.current:after {
transform: scaleX(1);
}
.gnav a:hover:after {
background: var(--light-blue);
}


@media only screen and (min-width: 768px) {
article {
padding-top: 70px;
}
.gnav:after {
display: none;
}
.gnav > nav {
width: 100%;
}
.gnav > nav > div {
gap: 0;
margin: 0 auto;
justify-content: space-between;
width: 100%;
max-width: 1100px;
padding: 0 30px;
}
.gnav a > figure {
margin-right: 5px;
width: min(2.5vw, 22px);
}

}/*min-width: 768px*/








/* COMMON */

/* rayout */

/* text */
.c-blue {color: var(--deep-blue);}
.c-pink {color: var(--deep-pink);}



/* title */
.head_icon_28 {
display: flex;
align-items: center;
gap:min(3vw,20px);
font-size: min(5.2vw,var(--28px));
letter-spacing: 0.1em;
}
.head_icon_28 .icon {
width: min(7vw, 35px);
}
.head_icon_30 {
display: flex;
align-items: center;
gap:min(3vw,20px);
font-size: min(6vw,var(--30px));
letter-spacing: 0.05em;
}
.head_icon_30 .icon {
width: min(7vw, 35px);
}
.head_24 {
font-size: min(4.5vw, var(--24px));
font-weight: 700;
line-height: 1.5;
letter-spacing: 0.2em;
}
.head_24 > small {
display: block;
font-size: 60%;
color: var(--light-blue);
font-weight: 500;
letter-spacing: 0.1em;
}
.head_24 > small.pink {
color: var(--deep-pink);
}
.head_24 .link_icon {
display: inline-block;
line-height: 1;
width: min(5.5vw,28px);
translate: 0 -2px;
}



/* link button */
a.underline {
border-bottom: 1px dotted var(--font-color);
}
a.blueline {
text-decoration: underline;
color: var(--deep-blue);
}
.btn_round_arrow {
position: relative;
display: inline-block;
background: #FFF;
border: 1px solid var(--font-color);
padding: 1rem 4rem 1rem 1.5rem;;
border-radius: 3rem;
font-size: var(--15px);
font-weight: 500;
letter-spacing: 0.05em;
line-height: 1.5;
cursor: pointer;
}
.btn_round_arrow:after {
position: absolute;
top:50%;
translate: 0 -50%;
right:1.5rem;
content: "";
display: block;
width: min(4.5vw,28px);
height: 7px;
background: url(../images/common/arrow_deep-gray.svg) no-repeat right top;
background-size: 100%;
}
.btn_round_arrow.prev {
padding: 1rem 1.5rem 1rem 4rem;;
}
.btn_round_arrow.prev:after {
right:auto;
left:1.5rem;
transform: scale(-1, 1);
}
.btn_round_arrow.small {
padding: .5rem 3rem .5rem 1rem;;
}
.btn_round_arrow.small.prev {
padding: .5rem 1rem .5rem 3rem;;
}
.btn_round_arrow.small:after {
width: min(4vw,20px);
right: .8rem;
}
.btn_blue_arrow {
position: relative;
display: inline-block;
background: linear-gradient(90deg, var(--light-blue) 0%, var(--deep-blue) 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_blue_arrow:after {
position: absolute;
top:50%;
translate: 0 -50%;
right:1.5rem;
content: "";
display: block;
width: min(4.5vw,28px);
height: 7px;
background: url(../images/common/arrow_white_short.svg) no-repeat right top;
background-size: 100%;
}

.btn_round_box {
position: relative;
display: block;
padding: min(2vw,20px);
box-sizing: border-box;
text-align: center;
border: 2px solid var(--text-color20);
border-radius: 10px;
}
.btn_white {
display: inline-block;
padding:.5rem min(2vw,20px);
box-sizing: border-box;
text-align: center;
border-radius: 4px;
background: #FFF;
line-height: 1.4;
}
.btn_round_box.blue {
padding: min(3vw,15px) min(2vw,20px);
border: 1px solid var(--deep-blue);
color: var(--deep-blue);
font-weight: 500;
border-radius: 40px;
line-height: 1;
}
.btn_round_box.blue.search:after {
content: "";
display: inline-block;
translate: 0 1px;
margin-left: 5px;
width: min(3.6vw,15px);
height: min(3.6vw,15px);
background: url(../images/common/icon_search_blue.svg) no-repeat center center;
background-size: 100%;
}



/* お気に入りボタン */
.btn_favorite {
position: absolute;
top:10px;
right:10px;
display: block;
width: 30px;
height: 30px;
background: url(../images/common/btn_favorite.svg) no-repeat center center;
background-size: 100%;
cursor: pointer;
z-index: 5;
}
.btn_favorite.check {
background-image: url(../images/common/btn_favorite_check.svg);
}

/* reviewの★ */
.review-star {
display: inline-block;
width: 102px;
height: 20px;
background: url(../images/common/star-5.svg) no-repeat left center;
background-size: 100%;
}
.review-star.star0 {background-image:  url(../images/common/star-0.svg);}
.review-star.star1 {background-image:  url(../images/common/star-1.svg);}
.review-star.star2 {background-image:  url(../images/common/star-2.svg);}
.review-star.star3 {background-image:  url(../images/common/star-3.svg);}
.review-star.star4 {background-image:  url(../images/common/star-4.svg);}
.review-star.star5 {background-image:  url(../images/common/star-5.svg);}





@media only screen and (min-width: 768px) {
.head_icon_28 {
font-size: min(4vw,var(--28px));
}
.btn_round_arrow {
padding: 1.5rem 6rem 1.5rem 3rem;
}
.btn_round_arrow.prev {
padding: 1.5rem 3rem 1.5rem 6rem;
}
.btn_round_arrow.small {
padding: .5rem 4rem .5rem 2rem;;
}
.btn_round_arrow.small.prev {
padding: .5rem 2rem .5rem 4rem;;
}

.btn_round_arrow:after,
.btn_blue_arrow:after {
width: min(3vw,28px);
}
.btn_round_arrow.small:after {
width: min(3vw,20px);
}
.btn_blue_arrow {
padding: 1.5rem 6rem 1.5rem 4rem;
font-size:min(3vw,var(--15px));
}



}/* min-width: 768px */


@media only screen and (min-width: 1025px) {
.btn_round_arrow:after {
right:2rem;
}
}/* min-width: 1025px */




/* parts */
hr.period {
margin:3rem auto;
border-top: 1px solid var(--gray30);
width: calc(100% - 40px);
max-width: 1280px;
}
hr.period.dot {
border-top-style: dotted;
}
hr.newline {
margin:1rem auto;
width: 100%;
}
a.anchor {
display: block;
padding-top: 70px;
margin-top: -70px;
}

.wrap_video video {
width: 100%;
}
.wrap_movie {
position: relative;
width: 100%;
padding-top: 56.25%;
}
.wrap_movie iframe {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%
}
.gmap > iframe {
width: 100%;
aspect-ratio: 16/9;
}

.trigger {
cursor: pointer;
transition: var(--transition);
}
.trigger:hover {
opacity: var(--bg-opacity);
}
.open_content {
display: none;
}










.list_default > li {
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 1rem 0;
border-top: 1px solid var(--gray30);
}
.list_default > li:last-child {
border-bottom: 1px solid var(--gray30);
}
.list_default > li > strong,
.list_default > li > span {
display: block;
width: 100%;
box-sizing: border-box;
}
.list_default > li > strong {
margin-bottom: .5rem;
line-height: 1.5;
}

.table_default {
border-top: 1px solid var(--gray30);
border-left: 1px dotted var(--gray30);
}
.table_default th,
.table_default td {
padding: .5rem;
border-bottom: 1px solid var(--gray30);
border-right: 1px dotted var(--gray30);
line-height: 1.5;
}



@media only screen and (min-width: 768px) {
/* COMMON */
.list_default > li {
padding: 2rem 0;
}
.list_default > li > strong {
width: 30%;
margin-bottom: 0;
}
.list_default > li > span {
width: 70%;
padding-left: 20px;
}
.table_default td {
padding: 1rem;
}

hr.period {
margin:5rem auto;
width: calc(100% - 60px);
}
hr.newline {
margin:3rem auto;
}
.gmap > iframe {
aspect-ratio: 2.35/1;
}

}/* min-width: 768px */


@media only screen and (min-width: 1320px) {
}/* min-width: 1320px */




/* NEWS */
.list_news {
border-top: 1px solid var(--gray30);
}
.list_news li {
border-bottom: 1px solid var(--gray30);
}
.list_news li a {
position: relative;
display: block;
padding: 1rem 0 2rem;
font-weight: 500;
}
.list_news li a:after {
position: absolute;
bottom:10px;
right:0;
content: "";
display: block;
width: 28px;
height: 7px;
background: url(../images/common/arrow_deep-gray.svg) no-repeat right top;
background-size: 100%;
}
.list_news li a > span {
display: inline-block;
line-height: 1.2;
vertical-align: middle;
}
.list_news li a > span.date {
font-size: var(--14px);
font-family: var(--font-family-en);
color: var(--light-gray);
letter-spacing: 0.05em;
}
.list_news li a > span.tag {
padding: 3px 10px;
border-radius: 20px;
background: var(--deep-blue);
font-size: min(3vw,var(--13px));
color: #FFF;
}
.list_news li a > span.tag.orange {
background: var(--light-orange);
}

.box_notice {
border: 1px solid var(--gray60);
background: #FFF;
}
.box_notice dt {
position: relative;
padding: 5px 2rem 2px 2rem;
background: var(--gray60);
color: #FFF;
font-size: var(--16px);
font-weight: 700;
line-height: 1.2;
}
.box_notice dt:before {
content: "";
display: inline-block;
margin-right: 8px;
width: min(5vw,22px);
height: 20px;
vertical-align:top;
background: url(../images/common/icon_notice.svg) no-repeat left top;
background-size: 100%;
}
.box_notice dd {
padding: 1rem 2rem 2rem;
font-size: var(--16px);
}

.box_notice dd span.date {
display: block;
font-size: var(--14px);
font-family: var(--font-family-en);
color: var(--light-gray);
letter-spacing: 0.05em;
}
.box_notice dd p + p {
margin-top: 1rem;
}


@media only screen and (min-width: 768px) {
.list_news li a {
padding: 2rem 40px 2rem 0;
}
.list_news li a:after {
bottom:auto;
top:50%;
translate:0 -50%;
}
.box_notice dt {
padding-bottom: 4px;
}

}/* NEWS min-width: 768px */









/* SLICK */
/* Dots */
.slick-dotted.slick-slider {
margin-bottom: 30px;
}
.slick-dots {
position: absolute;
bottom: -30px;
display: block;
width: 100%;
padding: 0;
list-style: none;
text-align: center;
}
.slick-dots li{
position: relative;
display: inline-block;
width: 30px;
height: 5px;
margin: 0;
padding: 0;
cursor: pointer;
}
.slick-dots li button{
font-size: 0;
line-height: 0;
display: block;
width:100%;
height: 100%;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: '';
text-align: center;
opacity: 1;
background: #FFF;
transition: background .5s;
}
.slick-dots li:first-child button:before{
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.slick-dots li:last-child button:before{
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.slick-dots li.slick-active button:before{
background: var(--light-blue);
border-radius: 5px;
}

/* arrow */
.slick-slider .slick-arrow {
position: absolute;
top: 50%;
width: 15px;
height: 15px;
transform: rotate(45deg) translateY(-50%);
z-index: 50;
font-size: 0;
text-indent: -9999px;
}
.slick-slider .slick-prev {
left: 10px;
border-bottom: 2px solid var(--light-blue);
border-left: 2px solid var(--light-blue);
}
.slick-slider .slick-next {
right: 16px;
border-top: 2px solid var(--light-blue);
border-right: 2px solid var(--light-blue);
}
.slick-slider button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
outline: none;
padding: 0;
}



@media only screen and (min-width: 768px) {
.slick-dots {
bottom: -40px;
}
.slick-dots li{
width: 50px;
height: 7px;
}
.slick-slider .slick-arrow {
width: 30px;
height: 30px;
}
.slick-slider .slick-prev {
left: 20px;
}
.slick-slider .slick-next {
right: 40px;
}

}/* slick min-width: 768px */



/* TOUR SLIDER */
/* tour-slider */
.container.slide-wrap {
padding: 3rem 15px;
}
.container.slide-wrap + .slide-wrap {
padding-top: 0;
}
.slide-wrap .head_icon_28 {
padding:0 5px 10px;
}
.tour-slider.slick-slider .slick-arrow {
top:50%;
translate: 0 -50%;
width: 40px;
height: 40px;
transform: none;
}
.tour-slider.slick-slider .slick-prev {
left:-5px;
border: none;
background: url(../images/common/btn_slide-prev.svg) no-repeat center center;
background-size: cover;
filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, .4));
}
.tour-slider.slick-slider .slick-next {
right:-5px;
border: none;
background: url(../images/common/btn_slide-next.svg) no-repeat center center;
background-size: cover;
filter: drop-shadow(-2px 2px 5px rgba(0, 0, 0, .4));
}

/*ループさせないときの指定*/
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
opacity: 0;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
opacity: 1;
}


.list_tour-card .slick-track {
display: flex;
}
.list_tour-card .slick-slide {
height: auto !important;
}
.list_tour-card li {
position: relative;
border:1px solid var(--gray20);
border-radius: 10px;
width: min(60vw,270px);
margin: 0 5px;
}
.list_tour-card li a {
position: relative;
display: block;
width: 100%;
height: 100%;
background: #FFF;
border-radius: 10px;
}
.list_tour-card li p {
padding: 10px 20px;
box-sizing: border-box;
line-height: 1.5;
}
.list_tour-card li p > span {
display: block;
font-size: min(3.4vw, var(--18px));
font-weight: 500;
color: var(--deep-blue);
/* 以下高さ固定用 */
width: 100%;
overflow: hidden;
display: -webkit-box;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
height: 60px;
max-height: 85px;
}
.list_tour-card li p > span.price {
color:#c50080;
font-weight: 700;
height: auto;
}
.list_tour-card li p > span.price .en {
font-size: 136%;
font-weight: 600;
}
.list_tour-card li img {
display: block;
object-fit: cover;
width: 100%;
height: 130px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.list_tour-card .rank {
position: absolute;
top:0;
left:15px;
display: block;
padding-top: 5px;
width: min(10vw,30px);
height: 36px;
background: url(../images/common/bg_rank-num.svg) no-repeat top center;
background-size: 100%;
text-align: center;
font-family: var(--font-family-en);
font-size: min(4vw, var(--19px));
font-weight: 500;
line-height: 1;
z-index: 6;
}
.list_tour-card .btn_favorite {
position: absolute;
top:10px;
right:10px;
display: block;
width: 30px;
height: 30px;
background: url(../images/common/btn_favorite.svg) no-repeat center center;
background-size: 100%;
cursor: pointer;
z-index: 5;
}
.list_tour-card .btn_favorite.check {
background-image: url(../images/common/btn_favorite_check.svg);
}
.list_tour-card .review figure {
position: relative;
}
.list_tour-card .review figure:after {
position: absolute;
bottom:10px;
right:10px;
content: "";
display: block;
width: 20px;
height: 20px;
background: url(../images/common/icon_review.svg) no-repeat center center;
background-size: 100%;
}

.list_tour-card li.slide_more {
border:none;
}
.list_tour-card li.slide_more > a > span {
position: relative;
display:flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
justify-content: center;
height: 100%;
text-align: center;
font-size: min(3vw,16px);
}
.list_tour-card li.slide_more > a > span > strong {
display: block;
width: 75%;
font-weight: 500;
text-align: center;
}
.list_tour-card li.slide_more .btn_round_arrow {
margin-top: .5rem;
padding: .6rem 3rem .6rem 1rem;
border: none;
background: var(--gray10);
}
.list_tour-card li.slide_more .btn_round_arrow:after {
width: min(4vw,20px);
}



@media only screen and (min-width: 768px) {
.container.slide-wrap {
padding: 30px 20px;
}
.slide-wrap .head_icon_28 {
padding: 0 20px 15px 20px;
}
.list_tour-card li {
margin:0 10px
}
.list_tour-card li img {
height: 165px;
}
.tour-slider.slick-slider .slick-prev {
left:-10px;
}
.tour-slider.slick-slider .slick-next {
right:-10px;
}

.list_tour-card li.slide_more .btn_round_arrow {
margin-top: 1rem;
padding: 1rem 3rem 1rem 1rem;;
}

.list_tour-card li p > span {
height: 75px;
}

}/* min-width: 768px */



@media only screen and (min-width: 1260px) {
.container.slide-wrap {
margin: 0 auto;
max-width: 1320px;
}
.tour-slider.slick-slider .slick-prev {
left:-15px;
}
.tour-slider.slick-slider .slick-next {
right:-15px;
}

}/* min-width: 1260px */


@media only screen and (min-width: 1320px) {
.list_tour-card li p > span {
height: 85px;
}
}/* min-width: 1320px */




/* CATEGORY BTN */
.list_category-card {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.list_category-card li {
width: calc(33.3% - 5px);
}
.list_category-card li .btn {
display: block;
text-align: center;
}
.list_category-card .btn.activity {color: var(--activity-color);}
.list_category-card .btn.bus {color: var(--bus-color);}
.list_category-card .btn.hotel {color: var(--hotel-color);}
.list_category-card .btn.car {color: var(--car-color);}
.list_category-card .btn.gourmet {color: var(--gourmet-color);}
.list_category-card .btn.ticket {color: var(--ticket-color);}

.list_category-card p {
position: relative;
padding: 10px 5px 10px;
margin-bottom: 10px;
background: #FFF;
text-align: center;
font-weight: 700;
z-index: 1;
}

.list_category-card p > .icon {
position:absolute;
top:-5vw;
left:50%;
translate:-50%;
padding-top: 3px;
width: min(10vw,70px);
height: min(10vw,70px);
background: #FFF;
border-radius: 50%;
text-align: center;
z-index: -1;
}
.list_category-card .icon > img {
display: inline-block;
width: min(5vw,35px);
}


@media only screen and (min-width: 768px) {
.list_category-card {
flex-wrap: nowrap;
gap:min(2.4vw,30px)
}
.list_category-card li {
width: 100%;
}
.list_category-card p {
margin-bottom: 0;
}

.list_category-card p > .icon {
top:-2.8vw;
width: min(5vw,70px);
height: min(5vw,70px);
}
.list_category-card .icon > img {
display: inline-block;
width: min(2.5vw,35px);
}
.list_category-card p {
font-size: min(1.3vw,var(--16px));
}


}/*min-width: 768px*/




@media only screen and (min-width: 1025px) {
.list_category-card p > .icon {
top:-30px;
padding-top: 10px;
}
.list_category-card p {
padding-top: 15px;
}


}/* min-width: 1025px */








/* Form Parts */
/* form common parts */
input[type=checkbox] {
display: none;
}
.checkbox {
box-sizing: border-box;
position: relative;
display: inline-block;
margin: 0;
padding-left: 28px;
vertical-align: middle;
cursor: pointer;
}
.checkbox:after {
position: absolute;
top: 50%;
left: 0;
display: block;
margin-top: -10px;
width: 20px;
height: 20px;
border-radius: 3px;
content: '';
background: var(--blue10);
}
.checkbox:before {
position: absolute;
top: 50%;
left:6px;
display: block;
margin-top: -10px;
width: 8px;
height: 16px;
border-right: 3px solid var(--deep-blue);
border-bottom: 3px solid var(--deep-blue);
content: '';
opacity: 0;
transform: rotate(45deg);
z-index: 10;
}
input[type=checkbox]:checked + .checkbox:before {
opacity: 1;
}
::-webkit-input-placeholder {
color: var(--gray60);
opacity: 0.5;
}
::-moz-placeholder {
color: var(--gray60);
opacity: 0.5;
}
input:focus {outline:none;}

.radio_button + label {
position: relative;
padding-left: 30px;
margin-right: 30px;
cursor: pointer;
}
.radio_button + label::before {
content: "";
display: block;
position: absolute;
top: -2px;
left: 0;
width: 25px;
height: 25px;
background: var(--gray10);
border-radius: 50%;
}
.radio_button:checked + label::after {
content: "";
display: block;
position: absolute;
top: 3px;
left: 5px;
width: 15px;
height: 15px;
background: var(--deep-blue);
border-radius: 50%;
}

.select {
background:#FFF url(../images/common/arrow_select.svg) no-repeat right 20px top 50%;
background-size: 15px;
padding: .8rem min(5vw,30px);
border-radius: 30px;
/* font-size:16px; */
font-size:min(3.6vw,16px);
box-sizing: border-box;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--font-color);
border: 1px solid var(--font-color);
}


/* SEARCH */
.wrap_search_keyword {
position: relative;
}
input.search_keyword,
input.search_date {
display: block;
padding: .8rem min(5vw,30px);
border-radius: 30px;
width: 100%;
background: var(--gray10);
}
input.search_date {
background: var(--gray10) url(../images/common/icon_cal_blue.svg) no-repeat right 20px center;
background-size:15px;
}
.wrap_search_keyword .btn_search {
position: absolute;
top:50%;
translate: 0 -50%;
right:6px;
content: "";
display: block;
width: 26px;
height: 26px;
background: url(../images/common/icon_search.svg) no-repeat center center;
background-size: cover;
text-indent: -9999px;
} 

.btn-blue_send {
position: relative;
display: inline-flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
text-align: center;
padding:1.5rem min(3.6vw,50px);
width: 100%;
background : linear-gradient(90deg, rgba(0, 166, 233, 1) 0%, rgba(0, 128, 203, 1) 100%);
border-radius: 35px;
font-size: min(4.5vw,var(--20px));
font-weight: 700;
color: #FFF;
line-height: 1.5;
transition: var(--transition);
}
.btn-blue_send:after {
display: inline-block;
margin-left: 5px;
width: min(4.5vw,20px);
height: 20px;
content: "";
display: block;
background: url(../images/common/icon_search_white.svg) no-repeat center center;
background-size:100%;
}
.btn-blue_send:hover {
opacity: var(--bg-opacity);
}





@media only screen and (min-width: 768px) {
.btn-blue_send {
width: auto;
padding:2rem min(5vw,50px);
}

}/* min-width: 768px */





/* date picker */
.ui-datepicker.ui-widget.ui-widget-content {
/* padding: 10px; */
box-sizing: border-box;
width: calc(100% - 20px);
background: #FFF;
font-size:140%;
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
border-radius: 10px;
}
@media only screen and (max-width: 639px) {
.ui-datepicker.ui-widget.ui-widget-content {
left:10px!important;
}
}
.ui-datepicker-calendar {
width: 100%;
margin-bottom: 10px;
}
.ui-datepicker-calendar td {
position: relative;
text-align: center;
/* border: 1px solid var(--gray10); */
}
.ui-datepicker-calendar td a,
.ui-datepicker-calendar td span {
display: block;
padding: .6rem 0;
box-sizing: border-box;
}
.ui-datepicker-calendar td.ui-datepicker-unselectable.ui-state-disabled {
opacity: .5;
background: var(--gray10);
}
.ui-datepicker-calendar td a.ui-state-active {
background: var(--deep-blue);
color: #FFF;
font-weight: 600;
}
.ui-datepicker-calendar th {
font-weight: 500;
color: var(--gray60);
font-size: var(--16px);
}
.ui-datepicker-other-month {
background: var(--gray10);
color: var(--gray60);
}
.ui-datepicker-header {
position: relative;
}
.ui-datepicker-title {
padding: 10px 10px 0;
margin-bottom: 10px;
text-align: center;
font-size: var(--20px);
}
.ui-datepicker-prev,
.ui-datepicker-next {
position: absolute;
top:50%;
transform: translateY(-50%);
left: 10px;
width: 16px;
height: 16px;
cursor: pointer;
}
.ui-datepicker-next {
left:auto;
right:10px;
}
.ui-datepicker-prev:before,
.ui-datepicker-next:before {
position: absolute;
top:10px;
left:0;
content: "";
display: block;
width: 10px;
height: 10px;
border-bottom:2px solid var(--gray60);
border-left:2px solid var(--gray60);
transform: rotate(45deg);
}
.ui-datepicker-next:before {
transform: rotate(-135deg);
}
.ui-datepicker-prev > span,
.ui-datepicker-next > span {
display: none;
}

@media only screen and (min-width: 768px) {
.ui-datepicker.ui-widget.ui-widget-content {
width:min(100%,300px);
}
}/* date min-width: 640px */




/* SEARCH */
.box_category-search {
padding:min(5vw,90px);
box-sizing: border-box;
border-radius: 10px;
background: #FFF;
border:1px solid var(--gray20)
}
.box_category-search .d-f-md {
margin: 1.5rem 0 2rem
}
.box_category-search dl.d-f {
justify-content: space-between;
align-items: center;
margin-top: 1rem;
}
.box_category-search dl.d-f dt {
width: 25%;
font-weight: 500;
}
.box_category-search dl.d-f dd {
width:calc(75% - 10px);
}



@media only screen and (min-width: 768px) {

.box_category-search .d-f-md {
flex-wrap: wrap;
justify-content: space-between;
margin: 1rem 0 3rem
}
.box_category-search .d-f-md > dl {
width: calc(50% - 10px);
}
.box_category-search .d-f-md > dl.d-f dt,
.box_category-search .d-f-md > dl.d-f dd {
width: 100%;
}


}/* min-width: 768px */




@media only screen and (min-width: 1025px) {
.box_category-search .d-f-md {
flex-wrap: nowrap;
gap:10px;
}
.box_category-search .d-f-md > dl {
width:100%;
}

}/* min-width: 1025px */









/* MAP */
.map_container {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
}
.map_container h2 {
width: 100%;
}

.map_container .map_kumejima {
position: absolute;
top:70px;
left: 20px;
width: min(33vw,220px);
}
.map_container .map_okinawa {
position: relative;
width: min(92%,520px);
padding-right: 7vw;
}
.map_container .map_okinawa .map_kerama {
position: absolute;
bottom:45px;
left:-10vw;
width: min(15vw,100px);
}

.map_container .wrap_miyako-ishigaki {
position: relative;
translate: 0 -160px;
margin-bottom: -160px;
text-align: right;
width: min(68vw,470px);
}
.map_container .wrap_miyako-ishigaki .map_miyako {
display: inline-block;
width: min(56%,260px);
}



@media only screen and (min-width: 768px) {
.map_container {
justify-content: center;
padding-bottom: 20vw;
padding-right: 15vw;
width: 100%;
}
.map_container .map_kumejima {
top:100px;
left: 30px;
}
.map_container .map_okinawa {
width: min(100%,520px);
padding-right: 0;
}
.map_container .wrap_miyako-ishigaki {
position: absolute;
bottom:30px;
right:30px;
width: min(50vw,470px); 
translate: none;
margin-bottom: 0;
}
.map_container .map_okinawa .map_kerama {
bottom:60px;
left:-80px;
}
}/* min-width: 768px */



@media only screen and (min-width: 1200px) {
.map_container {
padding-bottom: 60px;
width: 83.333333%;
}
.map_container h2 {
translate: 0 60px;
}
.map_container .map_kumejima {
top:160px;
left: 40px;
}

}/* min-width: 1200px */







/* POPUP SELECT BOX */
/* trigger */
.btn_open_select {
display: block;
background:#FFF url(../images/common/arrow_select.svg) no-repeat right 20px top 50%;
background-size: 15px;
padding: .8rem min(5vw,30px);
border-radius: 30px;
font-size:min(3.6vw,16px);
box-sizing: border-box;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--font-color);
border: 1px solid var(--font-color);
cursor: pointer;
}

/* open contents */
.popup_select-box {
display: none;
position: fixed;
top:50%;
left:50%;
translate: -50% -50%;
background: #FFF;
width: 100%;
padding:30px 10px 10px 10px;
border-radius: 8px;
box-sizing: border-box;
z-index: 100;
box-shadow: var(--shadow);
}
.popup_select-box .btn_popup_close {
position: absolute;
top:10px;
right:10px;
display: block;
width: 18px;
height: 18px;
text-indent: -9999px;
cursor: pointer;
}
.popup_select-box .btn_popup_close:before,
.popup_select-box .btn_popup_close:after{
position: absolute;
top:0;
left:8px;
content: "";
display: block;
height: 100%;
width: 1px;
background: var(--font-color);
transform: rotate(45deg);
}
.popup_select-box .btn_popup_close:after{
transform: rotate(-45deg);
}
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
background-color: rgba(240,242,245,.8);
width: 100%;
height: 100%;
z-index: 50;
}
.no_scroll {overflow: hidden;}


@media only screen and (min-width: 768px) {

.popup_select-box {
width: min(80vw,450px);
}


}/* min-width: 768px */




















/* loader */
.loader-wrap {
position: fixed;
top:0;
left:0;
display: none;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: #fff;
z-index: 2000;
}
.loader,
.loader:after {
border-radius: 50%;
width: 70px;
height: 70px;
}
.loader {
margin: 60px auto;
font-size: 10px;
position: relative;
text-indent: -9999em;
border-top: 3px solid rgba(131, 161, 202, 0.2);
border-right: 3px solid rgba(131, 161, 202, 0.2);
border-bottom: 3px solid rgba(131, 161, 202, 0.2);
border-left: 3px solid var(--deep-blue);
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
-webkit-animation: load8 1.1s infinite linear;
animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}



@media only screen and (min-width: 960px) {
.loader-wrap {
display: flex;
}
}






