@charset "UTF-8";


/* reset ---------------------------------------*/

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q::before,q::after{content:'';}
abbr{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
select,input,button,textarea{font-size:inherit;font-family:inherit;box-sizing: border-box;}
pre,code,kbd,samp{font-family:monospace;*font-size:108%;line-height:100%;}
figure{padding:0;margin:0;}
input[type="submit"],
input[type="button"],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration {display: none;}
input[type="submit"]::pickup,
input[type="button"]::pickup,
button::pickup {outline-offset: -2px;}


/* base ---------------------------------------*/

*{box-sizing:border-box;}

html,body{height:100%;}

body{
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt" 1;
	-webkit-font-feature-settings: "palt" 1;
	color:#666;
}

a{
	text-decoration: none;
	color:#666;
	transition: all .25s ease;
}

a:hover{opacity: 0.7;}

img{
	vertical-align: bottom;
	line-height: 1;
	max-width:100%;
	height:auto;
}


/* common item ---------------------------------------*/

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.ov-h{overflow: hidden;}

.font-en{font-family: "Poppins", sans-serif;}



/* browser adjust ---------------------------------------*/

@media all and (-ms-high-contrast:none){
	.foo { color: green }
}


/* mask icon ---------------------------------------*/

.icon-arrow{
	-webkit-mask-image: url('../img/common/arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/common/arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	height: 24px;
	width: 24px;
	background: #F40009;
}


/* layout ---------------------------------------*/

.wrapper{
}

.inner{
	max-width:1000px;
	margin:0 auto;
}

.pageinner{
	max-width:1120px;
	margin:0 auto;
}

.section{
	margin-bottom: 50px;
}

.overlay{display: none;}


/* header ---------------------------------------*/

header{
	width:100%;
	position:fixed;
	left:0;
	top:0;
	background: #fff;
	z-index:100;
	border-bottom: 5px solid #F40009;
}

.header-inner{
	height:68px;
	position:relative;
}

.header-logo{
	display: inline-block;
	position: absolute;
	left:80px;
	top:10px;
	width: 157px;
}

.header-logo img {
	width: 100%;
}

#openmenu{
	display:block;
	width: 34px;
	height: 30px;
	text-indent: -99em;
	overflow: hidden;
	position:absolute;
	right:24px;
	top:19px;
	z-index: 1000;
	cursor: pointer;
}

#openmenu span{
	content:'';
	display: block;
	width:34px;
	height:4px;
	background: #F40009;
	position: absolute;
	left:0px;
	transition: all .25s ease;
}

#openmenu span:nth-child(1){top:0;}
#openmenu span:nth-child(2){top:13px;}
#openmenu span:nth-child(3){top:26px;}

#openmenu.is-open span:nth-child(1),
#openmenu.is-open span:nth-child(3){
	top:13px;
	left:0;
	background: #fff;
}

#openmenu.is-open span:nth-child(1){transform:rotate(45deg);}
#openmenu.is-open span:nth-child(2){
	opacity:0;
	left:-25px;
}
#openmenu.is-open span:nth-child(3){transform:rotate(-45deg);}

.bodyfixed{
	position: fixed;
	width: 100%;
	height: 100%;
}

.overlay{
	content:'';
	display: block;
	position:fixed;
	width:100%;
	height:300px;
	background: rgba(0,0,0,0.5);
	left:0;
	top:0;
	z-index:6;
}


/* gnav ---------------------------------------*/

.gnav{
	border:none;
	background: #F40009;
	padding: 0 30px;
	overflow:auto;
	z-index:100;
	position: absolute;
	left:0px;
	top:0px;
	width:100%;
	height: 100vh!important;
	transition: all .25s ease;
	transform:translate3d(0,-100%,0);
}

.gnav.is-active{
	transform:translate3d(0,0,0);
	opacity:1;
}

.gnav-wrapper {
	position: absolute;
	inset: 0;
	margin: auto;
	max-width: 1180px;
	height: 100%;
	max-height: 717px;
}

.gnav-title-wrapper {
	position: absolute;
	top: 46%;
	left: 0;
	transform: translateY(-50%);
	padding-left: 30px;
	max-width: 48%;
}

.gnav-title img {
	max-width: 100%;
}

.gnav-title span {
	display: block;
	font-size:18px;
	font-weight: 700;
	line-height: calc(40 / 18);
	color:#fff;
	letter-spacing: 0.1em;
	margin-top: 15px;
}

.gnav-content {
	padding: 64px 30px 20px 0;
	margin-left: 50%;
	height: 100%;
	overflow-y: auto;
}

.gnav-inner {
}

.gnav-list {
}

.gnav-list > li {

}

.gnav-list > li + li {
	margin-top: 28px;
}

.gnav-list-item {
	display: inline-block;
}

.gnav-list-item b {
	font-size:30px;
	font-weight: 700;
	color:#fff;
}

.gnav-list-item span {
	margin-left: 5px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color:#fff;
}

.gnav-list-sub > li {
	position: relative;
	padding-left: 24px;
}

.gnav-list-sub > li::before {
	position: absolute;
	top: 12px;
	left: 4px;
	z-index: 1;
	width: 11px;
	height: 1px;
	background: #fff;
	content: '';
}

.gnav-list-sub-item {
	font-size: 15px;
	font-weight: 700;
	line-height: calc(26 / 15);
	letter-spacing: 0.05em;
	color:#fff;
}

.gnav-list-sub-item.disabled {
	position: relative;
	pointer-events: none;
}

.gnav-list-sub-item.disabled::after {
	position: absolute;
	top: 2px;
	left: calc(100% + 12px);
	z-index: 1;
	padding: 2px 10px 3px;
	background: #fff;
	border-radius: 20px;
	content: 'COMING SOON';
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color:#F40009;
	white-space: nowrap;
}

.gnav-sub {
	margin-top: 56px;
}

.gnav-sub-list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.gnav-sub-list + .gnav-sub-list {
	margin-top: 16px;
}

.gnav-sub-list > li {

}

.gnav-sub-list > li a {
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color:#fff;
}

.gnav-copy {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	position: absolute;
	bottom: 20px;
	left: 0;
	padding-left: 30px;
	width: 48%;
}

.gnav-copy-logo {
	width: 157px;
}

.gnav-copy-logo img {
	width: 100%;
}

.gnav-copy-text {
	margin-top: 6px;
	font-size: 15px;
	line-height: 1;
	color:#fff;
}

/* footer ---------------------------------------*/

footer{
	padding:20px 38px 18px;
	background: #F40009;
	color:#fff;
}

.footer-inner{
	position:relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.footer-nav{
	order:2;
}

.footer-nav-list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.footer-nav-list > li{}

.footer-nav-list > li a{
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	color:#fff;
}

.footer-logo-wrapper{
	order:1;
}

.footer-logo{
	display: inline-block;
	width: 157px;
}

.copyright{
	margin-top: 12px;
	display: block;
	font-size: 15px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}


/* area kv ---------------------------------------*/

.areakv-wrapper{

}

.areakv{
    background: #000;
    position: relative;
    color:#fff;
}

.areakv-image {
	position: relative;
	z-index: 1;
    width:calc(836 / 1280 * 100%);
}
.areakv-image img{
    width:100%;
}

.areakv-detail{
    position: absolute;
		z-index: 2;
    right:0px;
    top:50%;
		padding: calc(20 / 1280 * 100vw) 30px 0 0;
    transform: translate(0,-50%);
    width:calc(480 / 1280 * 100%);
		height: 100%;
}

.areakv-detail::before {
	position: absolute;
	top: 0;
	left: -19%;
	z-index: -1;
	width: calc(182 / 444 * 100%);
	height: 100%;
	-webkit-mask: url('../img/common/line_kv_area.svg') no-repeat center center / contain;
	mask: url('../img/common/line_kv_area.svg') no-repeat center center / contain;
	background: #000;
	content: '';
}

.areakv-title-wrapper{
	text-align: center;
}

.areakv-title-sholder{
	display: inline-block;
	background: #000;
	border-radius: calc(40 / 1280 * 100vw);
	padding:calc(14 / 1280 * 100vw) calc(46 / 1280 * 100vw) calc(16 / 1280 * 100vw);
	color:#fff;
	font-size: calc(30 / 1280 * 100vw);
	font-weight: 700;
	line-height: 1.0;
	margin-bottom: calc(4 / 1280 * 100vw);
}

.areakv-title{
	font-size: calc(111 / 1280 * 100vw);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: calc(-2 / 1280 * 100vw);
}

.areakv-title-sub {
	margin-bottom: calc(36 / 1280 * 100vw);
	font-size: calc(48 / 1280 * 100vw);
	color:#fff;
	text-align: center;
}

.areakv-logo{
margin: 0 auto;
width:calc(255 / 1280 * 100vw);
}

.areakv-logo img{
	width:100%;
}

.arealead{
	padding: 20px 30px;
}

.arealead-text{
	font-size: 18px;
	line-height: 1.8;
}

.pickupareakv.areakv{background: #F40009;}

.pickupareakv-detail.areakv-detail {
	padding: calc(110 / 1280 * 100vw) 30px 0 0;
	width:calc(570 / 1280 * 100%);
}

.pickupareakv-detail.areakv-detail::before {
	left: -11%;
	background: #F40009;
}

.pickupareakv-detail .areakv-title {
	font-size: calc(130 / 1280 * 100vw);
	margin-bottom: calc(-10 / 1280 * 100vw);
}

.pickupareakv-logo.areakv-logo{
	width:calc(346 / 1280 * 100vw);
}


/* area info ---------------------------------------*/

.areainfo{
    padding: 80px 30px;
}

.areainfo + .arealocation {
	padding-top: 0;
}

.areainfo-block{
    padding: 60px;
    background: #F4F4F4;
    border-radius: 10px;
}

.areainfo-block-inner{}

.areainfo-block-unit{
    margin-bottom: 60px;
}

.areainfo-block-unit:last-child{margin-bottom: 0;}

.areainfo-block-unit > *:last-child{margin-bottom: 0;}

.section-head{
    margin-bottom: 24px;
}

.section-title{}
.section-title-red{color:#F40009}

.section-title-en{
    font-size: 50px;
    font-weight: 700;
    line-height: 1;
    display: block;
}

.section-title-jp{
    display: block;
	margin-top: 10px;
    padding-left: 30px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6;
	position: relative;
}

.section-title-jp::before {
	content: '';
	display: block;
	height: calc(100% + 8px);
	width: 1px;
	background: #666;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.section-title-red .section-title-jp::before {
	background: #F40009;
}

.section-lead{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.6;
	letter-spacing: 0.1em;
    margin-bottom: 24px;
}

.section-lead-red{}

.section-lead-red span{
    display: inline;
    background: #F40009;
    color: #fff;
    padding: 0px 18px 2px;
    /* 折り返した各行の左右にも padding と背景を付ける */
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.section-text{
    font-size: 16px;
    line-height: calc(30 / 16);
    margin-bottom: 40px;
}

.section-image{
	margin-bottom: 100px;
	width: 100%;
	border-radius: 5px;
	overflow: hidden;
}

.section-image img{
	width:100%
}

.section-image.section-image-mid {
	max-width: 440px;
	width: 100%;
	margin: 0 auto 100px;
}

.section-caption {
	font-size: 14px;
	line-height: calc(30 / 14);
	margin-bottom: 40px;
}

.section-image + .section-image {
	margin-top: -60px;
}

.section-image + .section-caption {
	margin-top: -80px;
}

.section-image.section-image-mid + .section-caption {
	max-width: 440px;
	margin: -80px auto 40px;
}

.section-caption + .section-text {
	margin-top: 76px;
}

.areainfo-block-image-wrapper{
    display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:4%;
}

.areainfo-block-image{
    width:30.6%;
    border-radius: 5px;
    overflow: hidden;
}

.areainfo-block-image img{
    width:100%;
}


/* areaexperience  ---------------------------------------*/
.areaexperience{
	padding: 60px 30px 140px;
}

.areaexperience-wrapper {
	border: 3px solid #F40009;
	border-radius: 10px;
	overflow: hidden;
}

.areaexperience-head {
	display: flex;
	border-bottom: 3px solid #F40009;
}

.areaexperience-head-image {
	width: calc(471 / 1114 * 100%);
	order: 2;
}

.areaexperience-head-image img {
	width: 100%;
}

.areaexperience-head-title {
	display: flex;
	align-items: center;
	padding: 20px 20px 20px calc(110 / 1120 * 100%);
	flex: 1;
	font-size: min(calc(42 / 1180 * 100vw), 42px);
	font-weight: 700;
	line-height: calc(58 / 42);
	color: #fff;
	background: #F40009;
	order: 1;
}

.areaexperience-body {
	padding: 50px 57px 80px;
}

.areaexperience-block + .areaexperience-block {
	margin-top: 150px;
}

.areaexperience-image {
	margin-bottom: 120px;
	width: 100%;
	border-radius: 5px;
	overflow: hidden;
}

.areaexperience-image img {
	width: 100%;
}

.areaexperience-block-image-wrapper {
	margin-bottom: 32px;
}

.areaexperience-block-image {
	width: 100%;
	border-radius: 5px;
	overflow: hidden;
}

.areaexperience-block-image img {
	width: 100%;
}

.areaexperience-block-image-caption {
	margin-top: 12px;
	font-size: 24px;
	font-weight: 700;
	line-height: calc(30 / 24);
	color: #666;
}

.areaexperience-block-store {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
}

.areaexperience-block-store img {
	margin-left: -10px;
	width: 137px;
}

.areaexperience-block-store span {
	padding-bottom: 12px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;
	color: #F40009;
}

.areaexperience-block:last-of-type .storedetail-share {margin-bottom: 0;}


/* area movie ---------------------------------------*/

.areamovie{
}

.areamovie-head{
    border-bottom:10px solid #F40009;
    color:#F40009;
    font-weight: 700;
    padding: 0 30px 10px;
}

.areamovie-head-inner{
    max-width:1000px;
    margin:0 auto;
    display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
    line-height: 1;
}

.areamovie-title{
    font-size: 74px;
}

.areamovie-subtitle{
		font-size: 24px;
		padding: 14px 30px;
    border-left:1px solid #F40009;
}

.areamovie-body{
    background: #F4F4F4;
    padding:20px 30px 50px;
		overflow: hidden;
}

.areamovie-lead{
    line-height: 1.6;
    font-size: 32px;
		font-weight: 700;
		letter-spacing: 0.08em;
    color:#F40009;
    margin-bottom: 12px;
}

.areamovie-text{
    font-size: 16px;
		line-height: calc(30 / 16);
    color:#F40009;
    margin-bottom: 50px;
}

.areamovie-slider-wrapper {
	position: relative;
	padding-bottom: 80px;
}

.areamovie-slider {
	overflow: visible;
}

.areamovie-item {
	border-radius: 8px;
	overflow: hidden;
}

.no-slider .areamovie-list {
	justify-content: center;
	align-items: center;
	gap: 5%;
}

.areamovie-thumb {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	cursor: pointer;
}

.areamovie-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.areamovie-thumb::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100 / 300 * 100%);
	aspect-ratio: 1 / 1;
	transform: translate(-50%, -50%);
	background:  url(../img/common/icon_play.svg) no-repeat center / contain;
	pointer-events: none;
}

.youtube-short {
  width: 100%;
  max-width: 400px;
  aspect-ratio: 9 / 16;
}

.youtube-short iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.swiper-button-prev,
.swiper-button-next {
	top: unset;
	bottom: 0;
	right: unset;
	transform: translateX(-50%);
	width: 44px;
	height: 44px;
}

.swiper-button-prev {left: calc(50% - 40px);}
.swiper-button-next {left: calc(50% + 40px);}

.swiper-button-prev::after,
.swiper-button-next::after {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	width: 44px;
	height: 44px;
	margin: auto;
}

.swiper-button-prev::after {background-image: url("../img/common/icon_slider_prev.svg");}
.swiper-button-next::after {background-image: url("../img/common/icon_slider_next.svg");}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: 1;
}

.no-slider .swiper-button-next,
.no-slider .swiper-button-prev {
	display: none !important;
}


/* area location ---------------------------------------*/

.arealocation{
	padding: 90px 30px 110px;
}

.arealocation-title{
    margin-bottom: 28px;
    text-align: center;
}

.arealocation-title img{
    width:350px;
}

.arealocation-text{
    font-size: 32px;
	text-align: center;
    line-height: calc(40 / 24);
		letter-spacing: 0.1em;
    margin-bottom: 40px;
    color:#F40009;
    text-align: center;
}

.arealocation-map{
    background: #000;
    height:400px;
    margin-bottom: 44px;
}

.arealocation-store{}

.arealocation-store-inner{}

.arealocation-store-title{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6;
		color: #F40009;
    padding:18px;
    text-align: center;
    border-top:1px dashed #F40009;
    border-bottom:1px dashed #F40009;
    margin-bottom: 44px;
}

.arealocation-store-list{
    display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 60px 20px;
}

.arealocation-store-item{
		display: flex;
		flex-direction: column;
		width:calc(25% - 15px);
}

.arealocation-store-image{
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 10px;
}

.arealocation-store-image img{
    width:100%;
}

.arealocation-store-text{
    font-size: 16px;
    font-weight: 700;
    line-height: calc(30 / 16);
		letter-spacing: 0.1em;
    margin-bottom: 14px;
}

.arealocation-store-area{
    display: inline-block;
		margin-top: auto;
    padding:5px;
    min-width:94px;
    background: #F40009;
    color:#fff;
		width: fit-content;
    font-size: 17px;
    font-weight: 700;
    border-radius: 10px;
    text-align: center;
    margin-bottom: 15px;
}

.arealocation-store-link{
    display: block;
    background: #000;
    color:#fff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    border-radius: 10px;
    position: relative;
    padding:22px 20px;
    line-height: 1;
}

.arealocation-store-link i{
    position: absolute;
    right:10px;
    top:50%;
    transform: translate(0,-50%);
    width:38px;
    height:38px;
    background: #fff;
    border-radius: 50%;
    display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.arealocation-store-link i::after{
    display: inline-block;
	content:'';
	background:url('../img/common/icon_arrow.svg') no-repeat left top;
	background-size:100%;
	width: 20px;
	height: 20px;
}


/* area pickup ---------------------------------------*/

.areapickup {

}

.areapickup-head{
	border-bottom:10px solid #F40009;
	color:#F40009;
	font-weight: 700;
	padding: 0 30px 20px;
}

.areapickup-head-inner{
	max-width:1000px;
	margin:0 auto;
	line-height: 1;
}

.areapickup-title{
	font-size: 74px;
}

.areapickup-subtitle{
	margin-top: 12px;
	padding-left: 30px;
	font-size: 24px;
	border-left:1px solid #F40009
}

.areapickup-body {
	padding: 50px 30px;
	border-bottom:10px solid #F40009;
}

.areapickup-slider-wrapper {
	position: relative;
	padding-bottom: 80px;
}

.areapickup-slider {
	overflow: visible;
}

.no-slider .areapickup-list {
	justify-content: center;
	align-items: center;
	gap: 3%;
}

.areapickup-list-item-link {
	background: #000;
	color:#fff;
	display: block;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
}

.areapickup-list-item-link.disabled {
	pointer-events: none;
	opacity: 0.6;
}

.areapickup-list-item-image {
	position: relative;
	z-index: 1;
}

.areapickup-list-item-image::after {
	position: absolute;
	bottom: -14%;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 42%;
	background: url('../img/common/line_pickuparea.svg') no-repeat;
	background-size: contain;
	content: '';
}

.areapickup-list-item-image img {
	width:100%;
}

.areapickup-list-item-detail {
	position: relative;
	z-index: 2;
	text-align: center;
	padding:26px 10px 32px;
}

.areapickup-list-item-message {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	margin-bottom: 20px;
	line-height: 1;
}

.areapickup-list-item-message small {
	display: block;
	font-weight: 700;
	font-size: min(calc(15 / 1060 * 100vw), 15px);
}

.areapickup-list-item-message span {
	display: block;
	font-weight: 700;
	font-size: min(calc(15 / 1060 * 100vw), 15px);
	color:#F40009;
}

.areapickup-list-item-title {
	line-height: 1;
	font-size: min(calc(29 / 1060 * 100vw), 29px);
	font-weight: 700;
	position: relative;
}

.areapickup-list-item-icon {
	display: block;
	width: 36px;
	height: 36px;
	position: absolute;
	right: 10px;
	bottom: 12px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}

.areapickup-list-item-icon::after{
	display: inline-block;
	content:'';
	background:url('../img/common/icon_arrow.svg') no-repeat left top;
	background-size:100%;
	width: 20px;
	height: 20px;
}

.sectionbanner {
	padding: 60px 30px;
	text-align: center;
}

.arealocation + .sectionbanner {
	padding-top: 0;
}

.sectionbanner-link {
	display: inline-block;
}

.sectionbanner-link img{
	width:100%;
	max-width:325px;
}

.arealoction-map {
	margin-bottom: 40px;
}

.arealoction-map #map{
	height:485px;
}

/* store detail ---------------------------------------*/

.storewrapper {
	padding: 70px 30px 100px;
}

.storedetail{}

.storedetail-head{
	margin-bottom: 50px;
}

.storedetail-title{
	font-size: 40px;
	font-weight: 700;
	line-height: 2.1;
	letter-spacing: 0.07em;
}

.storedetail-title span {
	display: inline;
	background: #F40009;
	color: #fff;
	padding: 6px 20px 10px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.storedetail-area{
	display: inline-block;
	background: #F40009;
	color:#fff;
	font-size: 24px;
	font-weight: 700;
	border-radius: 12px;
	letter-spacing: 0.05em;
	min-width:120px;
	text-align: center;
	line-height: 1;
	padding:10px;
	margin-bottom: 32px;
}

.storedetail-mainimage{
	margin-bottom: 142px;
}

.storedetail-mainimage img{
	width:100%
}

.storedetail-content {
	margin-bottom: 80px;
}

.storedetail-block-unit {
	margin-bottom: 86px;
}

.storedetail-block-unit:last-child{margin-bottom: 0;}

.storedetail-block-unit > *:last-child{margin-bottom: 0;}

.storedetail-movie{
	margin: 196px auto 0;
	max-width: 470px;
	border-radius: 10px;
	overflow: hidden;
}

.storedetail-data{margin-bottom: 55px;}

.storedetail-data-list{
	display: flex;
	flex-wrap: wrap;
	gap: 32px 18px;
}

.storedetail-data-list dt{
	width: 122px;
	height: fit-content;
	background: #F40009;
	color:#fff;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	border-radius: 4px;
	line-height: 1;
	padding: 11px 10px;
}

.storedetail-data-list dd{
	margin-top: 6px;
	font-size: 24px;
	width:calc(100% - 145px);
}

.storedetail-data-list dd small {
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}

.storedetail-share{margin-bottom: 44px;}

.storedetail-share-list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px 48px;
}

.storedetail-share-item a {
	display: flex;
	align-items: center;
	gap: 16px;
}

.storedetail-share-item a img {
	width: 52px;
}

.storedetail-share-item a span {
	font-size: 24px;
	line-height: 1.5;
	color: #666;
}

.storedetail-share-item-hp {
	padding: 7px 5px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #fff;
	background: #666;
	border-radius: 5px;
}

.storedetail-map{
}

.storedetail-map iframe{
	width:100%;
}

.storelocation {
	padding-bottom: 86px;
}


/* text ---------------------------------------*/

.text-center{text-align: center !important;}
.text-right{text-align: right !important;}
.text-left{text-align: left !important;}

.text-s{
	font-size: 1.2rem;
	line-height: 1.5;
}

.text-m{
	font-size: 1.4rem;
	line-height: 1.5;
}

.text-l{
	font-size: 1.8rem;
	color: #484848;
	line-height: 1.94;
}

.text-bold{font-weight:600;}

.text-red{color: #aa0000 !important;}


.text-ellipsis-2{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.text-ellipsis-3{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.text-ellipsis-4{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

@media all and (-ms-high-contrast:none){
	.text-ellipsis-2 { height: 3.2em; } /* IE10〜Edge */
	.text-ellipsis-3 { height: 4.7em; } /* IE10〜Edge */
}

.text-ellipsis-count::after{content: '…';}

.text-link{text-decoration: underline;}
.text-link:hover{text-decoration: none;}


/* pankuzu ---------------------------------------*/

.pankuzu{
	padding-top: 68px;
}

.pankuzu-list{
	padding:20px 32px;
}

.pankuzu-list > li{
	display: inline-block;
}

.pankuzu-list > li a,
.pankuzu-list > li span{
	display: block;
	padding: 0px 20px 0px 0px;
	font-size: 20px;
	position: relative;
	line-height: 1.6;
}

.pankuzu-list > li a{text-decoration:none;}

.pankuzu-list > li a::after{
	display: inline-block;
	content:'>';
	font-size: 26px;
	padding-left: 22px;
}

.pankuzu-list > li span{}


/* SimpleBar */
.simplebar-scrollbar::before {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #666;
	border-radius: 0 !important;
	opacity: 1!important;
}

.simplebar-hover .simplebar-scrollbar::before {
	opacity: 0.7;
}

.simplebar-track {
	overflow: unset !important;
}

.simplebar-track.simplebar-vertical {
	background: #E6E6E6;
	width: 4px;
	top: 17px;
	bottom: 17px;
	right: 17px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar {
	left: -2px;
	right: unset;
	width: 8px;
}




/* pc only */
@media screen and (min-width: 768px){

	.sp{display: none !important;}
	.spbr{display: none;}

	.areamovie-item {
		margin-right: 5%!important;
		width: 30% !important;
	}

	.no-slider .areamovie-item {
		margin-right: 0!important;
	}

	.areapickup-list-item {
		margin-right: 3%!important;
		width:calc(91% / 4)!important;
	}

	.no-slider .areapickup-list-item {
		margin-right: 0!important;
	}
}

/* small pc */
@media screen and (min-width: 768px) and (max-width: 930px){

	.arealocation-store-link i{
		right:8px;
		width:24px;
		height:24px;
	}

	.arealocation-store-link i::after{
		width: 14px;
		height: 13px;
	}

}



/* sp only */
@media screen and (max-width: 767px){

	/* common item ---------------------------------------*/

	.pc{display: none !important;}
	.pcbr{display: none;}


	/* layout ---------------------------------------*/

	.header-inner,
	.footer-inner,
	.inner,
	.wrapper{
		min-width: 0;
		width: 100%;
	}


	/* header ---------------------------------------*/

	header{
		border-bottom-width: 2.5px;
	}

	.header-inner{
		height:41px;
	}

	.header-logo{
		left:15px;
		top:8px;
		width:68px;
	}

	#openmenu{
		width: 17px;
		height: 16px;
		right:10px;
		top:14px;
	}
	
	#openmenu span{
		width:17px;
		height:2px;
	}
	
	#openmenu span:nth-child(2){top:7px;}
	#openmenu span:nth-child(3){top:14px;}
	
	#openmenu.is-open span:nth-child(1),
	#openmenu.is-open span:nth-child(3){
		top:7px;
	}


	/* gnav ---------------------------------------*/


	.gnav{
		padding: 40px 45px 30px;
	}
	
	.gnav-wrapper {
		position: unset;
		max-width: unset;
		height: unset;
		max-height: unset;
	}
	
	.gnav-title-wrapper {
		position: unset;
		transform: unset;
		padding-left: 0;
		max-width: 100%;
	}

	.gnav-title img {
		width: calc(216 / 375 * 100vw);
	}

	.gnav-title span {
		font-size:11px;
		line-height: calc(20 / 11);
		margin-top: 4px;
	}
	
	.gnav-content {
		padding: 32px 0 36px;
		margin-left: 0;
		height: unset;
		overflow-y: unset;
	}

	.gnav-list > li + li {
    margin-top: 22px;
	}

	.gnav-list-item b {
		font-size:15px;
	}
	
	.gnav-list-item span {
		margin-left: 2px;
		font-size: 11px;
	}
	
	.gnav-list-sub > li {
		padding-left: 16px;
		line-height: calc(32 / 22);
	}
	
	.gnav-list-sub > li::before {
		top: 12px;
		left: 2px;
		width: 9px;
	}
	
	.gnav-list-sub-item {
		font-size: 11px;
		line-height: unset;
	}
	
	.gnav-sub {
		margin-top: 40px;
	}
	
	.gnav-sub-list {
		flex-direction: column;
		gap: 0;
	}
	
	.gnav-sub-list + .gnav-sub-list {
		margin-top: 0;
	}

	.gnav-sub-list > li {
		line-height: 1.3;
	}

	.gnav-sub-list > li a {
		font-size: 10px;
		line-height: unset;
	}
	
	.gnav-copy {
		display: block;
		position: unset;
		padding-left: 0;
		width: 100%;
	}
	
	.gnav-copy-logo {
		width: 79px;
	}
	
	.gnav-copy-text {
		margin-top: 8px;
		font-size: 9px;
	}


	/* footer ---------------------------------------*/

	footer{
		padding:0;
	}

	.footer-inner{
		display: block;
	}

	.footer-nav{
		order:1;
	}

	.footer-nav-list{
		display: block;
	}

	.footer-nav-list > li{
		border-bottom:1px solid #707070;
	}

	.footer-nav-list > li a{
		display: block;
		font-size: 11px;
		padding:5px 28px;
		color:#fff;
		position: relative;
	}

	.footer-nav-list > li a::after{
		content: '';
		position:absolute;
		right: 30px;
		top: 50%;
		width: 3px;
		height: 3px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: translate(0, -50%) rotate(45deg);
	}

	.footer-logo-wrapper{
		padding:12px 28px;
		display: flex;
		align-items: flex-end;
		flex-wrap: wrap;
		gap: 10px;
	}

	.footer-logo{
		width:80px;
	}

	.copyright{
		margin-top: 0;
		text-align: left;
		font-size: 9px;
		padding-bottom: 5px;
	}

	/* area kv ---------------------------------------*/
	.areakv-image {
		width:calc(521 / 750 * 100%);
	}

	.areakv-detail{
		padding: calc(8 / 375 * 100vw) 15px 0 0;
		width:calc(118 / 375 * 100%);
	}

	.areakv-detail::before {
		left: -28%;
		width: calc(180 / 375 * 100%);
	}

	.areakv-title-sholder{
		border-radius: calc(20 / 375 * 100vw);
		padding:calc(3 / 375 * 100vw) calc(6 / 375 * 100vw) calc(5 / 375 * 100vw);
		font-size: calc(12 / 375 * 100vw);
		margin-bottom: calc(10 / 750 * 100vw);
	}

	.areakv-title{
		font-size: calc(35 / 375 * 100vw);
		margin-bottom: calc(-2 / 375 * 100vw);
	}

	.areakv-title-sub {
		font-size: calc(15 / 375 * 100vw);
		margin-bottom: calc(12 / 375 * 100vw);
	}

	.areakv-logo{
		width:calc(80 / 375 * 100vw);
	}

	.arealead{
		padding: 12px 15px;
	}

	.arealead-text{
		font-size: 12px;
		line-height: calc(40 / 24);
	}

	.pickupareakv-detail.areakv-detail {
		padding: calc(26 / 375 * 100vw) 15px 0 0;
		width: calc(118 / 375 * 100%);
	}

	.pickupareakv-detail.areakv-detail::before {
		left: -28%;
	}

	.pickupareakv-detail .areakv-title {
		font-size: calc(40 / 375 * 100vw);
		margin-bottom: calc(8 / 375 * 100vw);
	}

	.pickupareakv-logo.areakv-logo{
		width:calc(92 / 375 * 100vw);
	}


	/* area info ---------------------------------------*/

	.areainfo{
		padding: 32px 15px 36px;
	}

	.areainfo-block{
		padding:36px 15px 28px;
		border-radius: 5px;
	}

	.areainfo-block-unit{
		margin-bottom: 40px;
	}

	.section-head{
		margin-bottom: 24px;
	}

	.section-title-en{
		font-size: 25px;
	}

	.section-title-jp{
		margin-top: 5px;
		padding-left: 12px;
		font-size: 12px;
	}
	.section-title-jp::before {
		height: calc(100% + 4px);
	}

	.section-lead{
		font-size: 16px;
		margin-bottom: 8px;
		line-height: 1.6;
	}

	.section-lead-red span{
		padding: 0px 8px;
	}

	.section-text{
		font-size: 12px;
		line-height: calc(40 / 24);
		margin-bottom: 10px;
	}

	.section-image{
		margin-bottom: 24px;
		border-radius: 3px;
	}

	.section-image.section-image-mid {
		max-width: 220px;
		width: 100%;
		margin: 0 auto 24px;
	}
	
	.section-caption {
		font-size: 10px;
		line-height: calc(15 / 10);
		margin-bottom: 20px;
	}
	
	.section-image + .section-image {
		margin-top: -12px;
	}
	
	.section-image + .section-caption {
		margin-top: -12px;
	}
	
	.section-image.section-image-mid + .section-caption {
		max-width: unset;
		margin: -12px auto 20px;
	}

	.section-caption + .section-text {
		margin-top: 40px;
	}

	.areainfo-block-image-wrapper{
		gap:14px 19px;
	}

	.areainfo-block-image{
		border-radius: 3px;
	}

	.areainfo-block-image:first-of-type{
		width:100%;
	}

	.areainfo-block-image:not(:first-of-type){
		width:calc(50% - 9.5px);
	}


	/* areaexperience  ---------------------------------------*/
	.areaexperience{
		padding: 16px 15px 44px;
	}

	.areaexperience-wrapper {
		border-width: 1.5px;
		border-radius: 5px;
	}

	.areaexperience-head {
		display: block;
		border-width: 1.5px;
	}

	.areaexperience-head-image {
		width: 100%;
	}

	.areaexperience-head-title {
		display: block;
		padding: 12px 16px 20px;
		width: 100%;
		font-size: 19px;
		line-height: calc(56 / 38);
	}

	.areaexperience-body {
		padding: 16px 15px 36px;
	}

	.areaexperience-block + .areaexperience-block {
		margin-top: 52px;
	}

	.areaexperience-image {
		margin-bottom: 52px;
	}

	.areaexperience-block-image-wrapper {
		margin-bottom: 14px;
	}

	.areaexperience-block-image {
		border-radius: 3px;
	}

	.areaexperience-block-image-caption {
		margin-top: 10px;
		font-size: 12px;
	}

	.areaexperience-block-store {
		gap: 8px;
		margin-bottom: 10px;
	}

	.areaexperience-block-store img {
		margin-left: 0;
		width: 69px;
	}

	.areaexperience-block-store span {
		padding-top: 16px;
		padding-bottom: 0;
		font-size: 16px;
	}


	/* area movie ---------------------------------------*/
	.areamovie-head{
		border-bottom-width: 3px;
		padding: 0 30px 4px;
	}

	.areamovie-head-inner{
		max-width:unsetx;
		gap: 12px;
	}

	.areamovie-title{
		font-size: 37px;
	}

	.areamovie-subtitle{
		font-size: 12px;
		padding: 7px 12px;
	}

	.areamovie-body{
		padding:16px 30px 40px;
	}

	.areamovie-lead{
		font-size: 16px;
		margin-bottom: 8px;
	}

	.areamovie-text{
		font-size: 12px;
		line-height: calc(40 / 24);
		margin-bottom: 10px;
	}

	.areamovie-slider-wrapper {
		padding-bottom: 50px;
	}

	.no-slider .areamovie-list {
		gap: 4%;
	}

	.no-slider .areamovie-item {
		width: 47%;
	}

	.swiper-button-prev,
	.swiper-button-next {
		width: 36px;
		height: 36px;
	}

	.swiper-button-prev {left: calc(50% - 36px);}
	.swiper-button-next {left: calc(50% + 36px);}

	.swiper-button-prev::after,
	.swiper-button-next::after {
		width: 36px;
		height: 36px;
	}




	/* area location ---------------------------------------*/

	.arealocation{
		padding: 26px 15px 36px;
	}

	.arealocation-title{
		margin-bottom: 12px;
	}

	.arealocation-title img{
		width:173px;
	}

	.arealocation-text{
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 36px;
	}

	.arealocation-store-inner{
		padding:0 15px;
	}

	.arealocation-store-title{
		font-size: 12px;
		padding:8px;
		margin-bottom: 22px;
	}

	.arealocation-store-list{
		gap: 40px 20px;
	}

	.arealocation-store-item{
		width:calc(50% - 10px);
	}

	.arealocation-store-image{
		border-radius: 5px;
		margin-bottom: 6px;
	}

	.arealocation-store-text{
		font-size: 12px;
		line-height: calc(40 / 24);
		margin-bottom: 4px;
	}

	.arealocation-store-area{
		padding:3px;
		min-width:59px;
		font-size: 12px;
		border-radius: 5px;
		margin-bottom: 8px;
	}

	.arealocation-store-link{
		font-size: 11px;
		border-radius: 5px;
		padding:14px 12px;
	}

	.arealocation-store-link i{
		right:8px;
		width:24px;
		height:24px;
	}

	.arealocation-store-link i::after{
		width: 14px;
		height: 13px;
	}

	.arealoction-map{
		height:200px;
	}
	
	.arealoction-map #map{
		max-height:200px;
	}


	/* area pickup ---------------------------------------*/
	.areapickup-head{
		border-bottom-width:5px;
		padding: 0 30px 18px;
	}

	.areapickup-head-inner{
		max-width:unset;
	}

	.areapickup-title{
		font-size: 37px;
	}

	.areapickup-subtitle{
		margin-top: 6px;
		padding-left: 12px;
		font-size: 12px;
	}

	.areapickup-body {
		padding: 20px 30px 24px;
		border-bottom-width: 5px;
		overflow: hidden;
	}

	.areapickup-slider-wrapper {
		padding-bottom: 50px;
	}

	.no-slider .areapickup-list {
		gap: 4%;
	}

	.no-slider .areapickup-list-item {
		width: 47%;
	}

	.areapickup-list-item-link {
		border-radius: 5px;
	}

	.areapickup-list-item-detail {
		padding:12px 6px 18px;
	}

	.areapickup-list-item-message {
		gap: 2px;
		margin-bottom: 12px;
	}

	.areapickup-list-item-message small {
		font-size: 11px;
	}

	.areapickup-list-item-message span {
		font-size: 11px;
	}

	.areapickup-list-item-title {
		font-size: 20px;
	}

	.areapickup-list-item-icon {
		width: 24px;
		height: 24px;
		right: 6px;
		bottom: 6px;
	}

	.areapickup-list-item-icon::after{
		width: 14px;
		height: 13px;
	}

	.sectionbanner {
		padding: 40px 30px;
	}

	.sectionbanner-link {
		border-radius: 5px;
	}

	
	/* store detail ---------------------------------------*/

	.storewrapper {
		padding: 8px 30px 60px;
	}

	.storedetail{}

	.storedetail-head{
		margin-bottom: 24px;
	}

	.storedetail-title{
		font-size: 16px;
		/* font-weight: 700; */
		line-height: 1.7;
		letter-spacing: 0.08em;
	}

	.storedetail-title span {
		padding: 0px 9px;
	}

	.storedetail-area{
		font-size: 12px;
		border-radius: 5px;
		letter-spacing: 0.05em;
		min-width: 60px;
		padding: 5px;
		margin-bottom: 16px;
	}

	.storedetail-mainimage{
		margin-bottom: 32px;
	}

	/* .storedetail-mainimage img{
		width:100%
	} */

	.storedetail-content {
		margin-bottom: 40px;
	}

	.storedetail-block-unit {
		margin-bottom: 40px;
	}

	.storedetail-movie{
		margin: 50px auto 0;
		max-width: 236px;
		border-radius: 5px;
	}

	.storedetail-data{margin-bottom: 30px;}

	.storedetail-data-list{
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 18px 9px;
	}

	.storedetail-data-list dt{
		width: 61px;
		font-size: 12px;
		border-radius: 2.5px;
		padding: 5px;
	}

	.storedetail-data-list dd{
		font-size: 12px;
		margin-top: 2px;
		width:calc(100% - 78px);
	}

	.storedetail-share{margin-bottom: 30px;}

	.storedetail-share-list{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 14px;
	}

	.storedetail-share-item a img {
		width: 38px;
	}

	.storedetail-share-item a span {
		font-size: 12px;
	}

	.storedetail-share-item-hp {
		padding: 6px 10px;
		font-size: 12px;
		border-radius: 3px;
	}

	.storedetail-map{
		height: 164px;
	}

	.storedetail-map iframe{
		width:100%;
		height: 100%;
	}

	
	.storelocation {
		padding: 50px 0 36px;
	}

	.sectionbanner-store {
		padding: 0 0 40px;
	}



	/* text ---------------------------------------*/

	.text-sp-center{text-align:center;}
	.text-sp-right{text-align:right;}
	.text-sp-left{text-align:left;}


	/* pankuzu ---------------------------------------*/

	.pankuzu{
		padding-top: 43px;
	}

	.pankuzu-list{
		font-size: 0;
		padding: 8px 16px 10px;
	}

	.pankuzu-list > li a,
	.pankuzu-list > li span{
		padding: 0px 10px 0px 0px;
		font-size: 10px;
	}

	.pankuzu-list > li a::after{
		font-size: 12px;
		padding-left: 12px;
	}


	/* SimpleBar */
	.simplebar-track.simplebar-vertical {
    width: 2px;
    top: 20px;
    bottom: 20px;
    right: 9px;
	}

	.simplebar-track.simplebar-vertical .simplebar-scrollbar {
		left: -1px;
		width: 4px;
	}



}




/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px){

}