@charset "UTF-8";
/* CSS Document */


@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap');
/*
font-family: 'Zen Kaku Gothic New', sans-serif;
bold 700
*/

/*
font-family: vinyl, sans-serif;
font-weight: 400;
font-style: normal;
*/


/*
.guide,
.guide1{opacity: 0.3;z-index: 1000;position: relative;}

body:before{content: '';position: fixed;width: 1px;left: 50%;top: 0;bottom: 0;background: #FF0004;opacity: 0.3;z-index: 1000;}
.guide:before{content: '';position: fixed;width: 1px;left: 10.25%;top: 0;bottom: 0;background: #FF0004;}
.guide:after{content: '';position: fixed;width: 1px;right: 10.25%;top: 0;bottom: 0;background: #FF0004;}
.guide1:before{content: '';position: fixed;width: 1px;left: 23%;top: 0;bottom: 0;background: #FF0004;}
.guide1:after{content: '';position: fixed;width: 1px;right: 23%;top: 0;bottom: 0;background: #FF0004;}
*/


/* ---------- RESET ---------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, b, u, i, center, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video, textarea, input {margin:0;padding:0;border:0;font-size: 100%;font:inherit;vertical-align: baseline;text-decoration:none;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul, li {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: '';content: none;}
table {border-collapse: collapse;border-spacing: 0;}
input, textarea, button{-webkit-apparence:none;border:none;background: none;outline: none;}
input:focus, textarea:focus{-webkit-apparence:none;outline: none;border:none;}
img{border:none;outline:none;vertical-align:top;font-size:0;line-height:0;}
img a{border:none;outline: none;}
a:focus{outline:none;}
hr {height:0;margin:0;padding:0;border:0;}
h1, h2, h3, h4, h5, h6, p{margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;text-decoration:none;}
input, textarea, button{-webkit-apparence:none;border:none;background: none;outline: none;}

img{width:100%;height:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translate3d(0,0,0);}

*{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;   outline:none;box-sizing:border-box;margin:0;padding:0;}
/*----------------------------------*/


html{
	width: 100%;
	height: 100%;
	font-size: max(1.0vw ,13px);
}

body{
	-webkit-text-size-adjust: 100%;
	font-style: normal;
	color:#002C64;
	line-height: 1;
	font-weight: 400;
	background: #FFF;
	font-family: "vinyl", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "verdana", sans-serif;
}

#loader-bg{
    position:fixed;
    width:100vw;
    height:100vh;
    top:0px;
    left:0px;
    z-index:10000;
	background: #FFF;
}

.inView{
	position: relative;
	opacity: 0;
	-webkit-transition:opacity 1.0s;
	transition:opacity 1.0s;
}
.inView.view{opacity: 1;}




.pcView{display: block !important;;}
.spView{display: none !important;}

/*----------------*/


.header{
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 1;
}
.header figure.base{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background: url("../images/main_b_pc.webp") center center no-repeat;
	background-size: cover;
}
.header figure.front{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	opacity: 0;
	background: url("../images/main_f_pc.webp") center center no-repeat;
	background-size: cover;
	-webkit-transition:opacity 1.5s;
	transition:opacity 1.5s;
}
.header.start figure.front{opacity: 1;}


.header .logo{
	position: absolute;
	z-index: 10;
	top: 3vw;
	right: 3.5vw;
	width: 7em;
	opacity: 0;
	-webkit-transition:opacity 1.2s 1.8s;
	transition:opacity 1.2s 1.8s;
}
.header.start .logo{opacity: 1;}

.header .line{
	position: absolute;
	z-index: 20;
	top: 50%;
	left: 0;
	width: 46%;
	height: 55vh;
	min-height: 24vw;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	opacity: 0;
	-webkit-transition:opacity 1.2s 1.8s;
	transition:opacity 1.2s 1.8s;
}
.header.start .line{opacity: 1;}


/*----------------*/


.wrapper{
	position: relative;
	z-index: 10;
	width: 100%;
	overflow: hidden;
}

.title{
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.title h1{
	position: relative;
	width: max(20em, 310px);
	margin-right: 58%;
}
.title h1 span{
	position: relative;
	 display: block;
	 top: 3rem;
	opacity: 0;
	letter-spacing: 0.04em;
	line-height: 1.2;
	white-space: nowrap;
	-webkit-transition:opacity 1.2s 1.8s, top 1.2s cubic-bezier(0.33, 1, 0.68, 1) 1.8s;
	transition:opacity 1.2s 1.8s, top 1.2s cubic-bezier(0.33, 1, 0.68, 1) 1.8s;
}
.start .title h1 span{opacity: 1;top: 0;}

.title h1 span.kidsbaby{
	font-size: max(3.6em, 55px);
	-webkit-text-stroke: 2px #FFF;
	text-stroke: 2px #FFF;
	color: rgba(0,0,0,0);
}
.title h1 span.kidsbaby em{
	display: inline-block;
	padding: 0 0.1em;
}

.title h1 span.season{
font-size: max(1.9em, 29px);
color: #46E5D3;
margin-top: 1em;
-webkit-transition-delay:2.1s;
transition-delay:2.1s;
}


/*-----------*/

.lead{
	width: 100%;
	height: 100vh;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.lead .text{
	width: max(20em, 310px);
	margin-right: 58%;
}

.lead p{
	width: 100%;
	color: #FFF;
	line-height: 3.8;
	letter-spacing: 0.35em;
	font-size: max(0.67em, 11.5px);
	white-space: nowrap;
}



.contents{
	width: 100%;
	background: #FFF;
	padding-top: 1vw;
}




.imageBox{overflow: hidden;position: relative;}
.imageBox .base{
	opacity: 0;
	-webkit-transform:scale(1.3) rotate(10deg);
	transform:scale(1.3) rotate(10deg);
	-webkit-transition: transform 1.1s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.2s;
	transition: transform 1.1s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.2s;
	-webkit-transform-origin: center;
	transform-origin: center;
}
.view .imageBox .base{
	opacity: 1;
	-webkit-transform:scale(1) rotate(0deg);
	transform:scale(1) rotate(0deg);
}

.imageBox .front{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	-webkit-transition:opacity 1.0s 1.5s;
	transition: opacity 1.0s 1.5s;
}
.view .imageBox .front{opacity: 1;}

/*------*/

.fadeIn{
	opacity: 0;
	-webkit-transition:opacity 1.2s;
	transition: opacity 1.2s;
}
.view .fadeIn{opacity: 1;}
.view .fadeIn.fa00{-webkit-transition-delay:0s;transition-delay:0s;}
.view .fadeIn.fa01{-webkit-transition-delay:1.0s;transition-delay:1.0s;}
.view .fadeIn.fa02{-webkit-transition-delay:1.5s;transition-delay:1.5s;}
.view .fadeIn.fa03{-webkit-transition-delay:2.0s;transition-delay:2.0s;}

.viewSP .fadeIn{opacity: 1;}
.viewSP .fadeIn.fa00{-webkit-transition-delay:0s;transition-delay:0s;}
.viewSP .fadeIn.fa01{-webkit-transition-delay:1.0s;transition-delay:1.0s;}
.viewSP .fadeIn.fa02{-webkit-transition-delay:1.5s;transition-delay:1.5s;}
.viewSP .fadeIn.fa03{-webkit-transition-delay:2.0s;transition-delay:2.0s;}


/*-------------------------------*/

.partA{
	width: 96.25%;
	margin: 10.5vw auto 0;
	position: relative;
}
.partA.set01{margin-top: 6vw;}
.partA .main{
	position: relative;
	z-index: 10;
	width: 32.5%;
	margin-left: 51.6%;
}
.partA .sub{
	position: absolute;
	z-index: 5;
	width: 63.3%;
	left: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
}
.partA .sub .carousel{
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.partA .sub .carousel .item{
	width: 31.6%;
	}
.partA .sub .carousel .item img{
	display: block;
	border: 2px solid #002C64;
}


.partA.reverse .main{margin-left: 15.9%;}
.partA.reverse .sub{left: auto;right: 0;}

/*-------------------------------*/

.partB{
	width: 100%;
	margin: 10.5vw auto 0;
	position: relative;
}
.partB .main{
	width: 31.25%;
	margin: 0 auto;
	position: relative;
	z-index: 20;
}

/*-------------------------------*/

.partC{
	width: 100%;
	margin: 10.5vw auto 0;
	position: relative;
}

.partC .main{
	width: 67.7%;
	margin-left: 32.3%;
	position: relative;
	z-index: 5;
}
.partC .sub{
	position: absolute;
	z-index: 10;
	width: 32.3%;
	right: 63.3%;
	top: 50%;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.partC .sub.carousel{
	width: 40%;
	display: flex;
	justify-content: space-between;
}
.partC .sub.carousel.rev{flex-direction: row-reverse;}
.partC .sub.carousel figure{
	width: 48%;
}

.partC .sub img{
	display: block;
	border: 2px solid #002C64;
}


.partC .spec{
	position: absolute;
	z-index: 10;
	right: calc(67.7% + 1.4em);
	bottom: 0;
	width: max(14vw, 17em);
}

.partC.reverse .main{margin-left: 0;}
.partC.reverse .spec{right: auto;left: calc(67.7% + 1.4em);}

/*-------------------------------*/

.partD{
	width: 65.6%;
	margin: 10.5vw auto 0;
	position: relative;
	display: flex;
	justify-content: space-between;
}
.partD.reverse{flex-direction:row-reverse;}


.partD .item{
	width: 47.6%;
}
.partD .item.mini{
	display: flex;
	justify-content: center;
	align-items: center;
}

.partD .item .miniInner{
	width: 61.6%;
}

.partD .item.mini figure img{border: 2px solid #002C64;}

.partD.set15 .spec{position: relative;}

/*------------------------*/

.wave{
	position: absolute;
	width: 54.4%;
	z-index: 5;
	animation: waveanime 4s ease-in-out infinite alternate;
	transform-origin: center;
}
@keyframes waveanime {
	0% {transform:translate(0, 0) rotate(3deg);}
	50% {transform:translate(0, -0.6em) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(-3deg);}
}


.bard{
	position: absolute;
	width: 14.1%;
	z-index: 5;
	animation: bardanime 4s ease-in-out infinite alternate;
	transform-origin: center;
}
@keyframes bardanime {
	0% {transform:translate(0, 0) rotate(-6deg);}
	50% {transform:translate(0, -0.6em) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(6deg);}
}



.set02 .wave{left: -31.5%;top: 70%;}
.set02 .bard{left: 72%;top: 10%;}
.set07 .wave{left: 53.5%;top: 70%;}
.set07 .bard{left: 14%;top: 0%;}
.set10 .bard{left: 72.4%;top: 20%;}
.set11 .wave{left: -10.2%;top: 72%;}
.set13 .bard{left: 12.6%;top: 50%;}
.set16 .wave{left: 53.6%;top: 70%;}
.set16 .bard{left: 72.3%;top: 5%;}











/*------------------------*/


.spec{
	width: 100%;
	max-width: 19.2vw;
	margin-top: 1.5em;
	border-top: 1px solid #002C64;
	line-height: 1;
	color: #002C64;
	font-size: max(12px ,0.65em);
}
.spec dl{
	width: 100%;
	display: flex;
	border-bottom: 1px solid #002C64;
}
.spec dl span{
	display: block;
	padding-top: 0.15em;
}

.spec dl dt{
	width: 3em;
	border-right: 1px solid #002C64;
	padding: 0.4em 0 0.4em 0.4em;
}
.spec dl dd{
	width: calc(100% - 3em);
	padding: 0.4em 0 0.4em;
	display: flex;
	justify-content: flex-start;
}
.spec dl dd div{
	overflow: hidden;
	cursor: pointer;
	margin-left: 1em;
	position: relative;
}
.spec dl dd div::after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #000;
   transform: scaleX(1);
    transform-origin: right;
}
.spec dl dd span{	
	display: block;
	padding-top: 0.15em;
}

.spec .attention{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 0.9em;
	letter-spacing: 0;
	position: absolute;
	left: 0;
	bottom: -1.4em;
}



@media(min-width: 769px) {

.spec dl dd div:hover span{animation: text-out 0.3s forwards, text-in 0.3s 0.3s forwards;}
.spec dl dd div:hover::after {animation: line-out 0.3s forwards, line-in 0.3s 0.3s forwards;}

@keyframes text-out {
	0% {transform: translateY(0);}
	100% {transform: translateY(-100%);}
}
@keyframes text-in {
	0% {transform: translateY(100%);}
	100% {transform: translateY(0);}
}

@keyframes line-out {
	0% {
		transform: scaleX(1);
		transform-origin: right;
	}
	100% {
		transform: scaleX(0);
		transform-origin: right;
	}
}
@keyframes line-in {
	0% {
		transform: scaleX(0);
		transform-origin: left;
	}
	100% {
		transform: scaleX(1);
		transform-origin: left;
	}
}

}



/*-------------------------------*/


.footer{
	width: 100%;
	text-align: center;
	margin-top: 18.75vw;
	padding-bottom: 18vw;
}
.footer h2{
	color: #46E5D3;
	line-height: 1.27;
	font-size: 3.6em;
	letter-spacing: 0.04em;
}
.footer h3{
	color: #46E5D3;
	line-height: 1;
	font-size: 2.0em;
	margin-top: 0.9em;
	letter-spacing: 0.04em;
}

.footer .pageTop{
	font-size: 1.6em;
	margin-top: 11vw;
}
.footer .pageTop a{
	color: #46E5D3;
	letter-spacing: 0.04em;
	-webkit-transition: letter-spacing 0.4s cubic-bezier(0.33, 1, 0.68, 1);
	transition: letter-spacing 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
@media(min-width: 769px) {
.footer .pageTop a:hover{letter-spacing: 0.13em;}
}

.footer .logo{
	width: 7.7em;
	margin: 11vw auto 0;
}
.footer .copyright{
	font-size: max(0.7em , 11px);
	letter-spacing: 0.05em;
	margin-top: 2.4em;
	color: #002C64;
}






/*---------------------------*/


.navi{
	position: fixed;
	bottom: 2.7vw;
	right: 3.5vw;
	z-index: 200;
	opacity: 0;
	-webkit-transition:opacity 1.2s 1.8s;
	transition:opacity 1.2s 1.8s;
}
.start .navi{opacity: 1;}



.navi .naviInner{text-align:center;width: max(5em , 70px);}
.navi .mainNav{
	font-size: max(1.55em , 20px);
	line-height: 1;
	text-align: center;
	position: relative;
}
.navi .mainNav .menuSet{
	opacity: 0;
	text-align:center;
	display: inline-block;
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
.navi .mainNav .menuSet.open{opacity: 1;}

.navi .mainNav .menuSet .menu{margin-bottom:2.2em;}
.navi .mainNav .menuSet .menu a{color: #002C64;letter-spacing: 0.04em;}

.navi .mainNav .trigger{
	position: relative;
	cursor: pointer;
}
.navi .mainNav .trigger span{
	display: block;
	cursor: pointer;
	position: relative;
	top: 0;
	text-align:center;
	letter-spacing: 0.04em;
	-webkit-transition: letter-spacing 0.4s cubic-bezier(0.33, 1, 0.68, 1), top 0.4s cubic-bezier(0.33, 1, 0.68, 1), color 0.4s;
	transition: letter-spacing 0.4s cubic-bezier(0.33, 1, 0.68, 1), top 0.4s cubic-bezier(0.33, 1, 0.68, 1), color 0.4s;
}
.navi .topArrow{
	width: 48%;
	margin: 2em auto 0;
	display: inline-block;
}
.navi .topArrow a{
	width: 100%;
	padding-top: 80%;
	display: block;
	position: relative;
}
.navi .topArrow a span{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
}




@media(min-width: 769px) {

.navi .mainNav .menuSet .menu a{
	-webkit-transition: letter-spacing 0.4s cubic-bezier(0.33, 1, 0.68, 1);
	transition: letter-spacing 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.navi .mainNav .menuSet .menu a:hover{letter-spacing: 0.13em;}

.navi .mainNav .trigger:hover span,
.navi .mainNav .trigger.open span{letter-spacing: 0.13em;top: -0.2em;}
.navi .mainNav .trigger.open span{color: #46E5D3;}

.navi .topArrow a span{
	-webkit-transition: top 0.4s cubic-bezier(0.33, 1, 0.68, 1);
	transition: top 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.navi .topArrow a:hover span.arrow01{top: -31%;}
.navi .topArrow a:hover span.arrow02{top: 31%;}

}



/*-------------------------------*/

.modal{
	width: 440px;
	display: none;
	border: 2px solid #002C64;
	position: relative;
}
.modal figure{
	width: 100%;
	position: relative;
	z-index: 5;
}
.modal .info{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.04em;
	color: #002C64;
	padding-bottom: 3em;
}
.modal .info .name{
	display: flex;
	justify-content: center;
	gap:1.2em; 
}
.modal .info .store{margin-top: 1.3em;}
.modal .info .store a{color: #002C64;text-decoration: underline;}
.modal .info .store.soon a{pointer-events:none;opacity: 0.2;text-decoration: none;}





.fancybox-bg {background: #002C64;}
.fancybox-is-open .fancybox-bg {opacity: 0.4;}
.fancybox-content {background: #F5F5F5;padding:0;overflow: hidden;}

.fancybox-close-small,
.fancybox-button{
	background: #002C64;
	width: 40px;
	height: 40px;
	opacity: 1;
}
.fancybox-close-small svg{display: none;}
.fancybox-close-small{right: -2px !important;top: -2px !important;}
.fancybox-close-small::before,
.fancybox-close-small::after{
	content: '';
	position: absolute;
	top: 50%;
	left: 15%;
	right: 15%;
	margin: 0 auto;
	height: 2px;
	background: #FFF;
}
.fancybox-close-small::before{-webkit-transform:rotate(45deg);transform:rotate(45deg);}
.fancybox-close-small::after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {cursor:auto;}


.fancybox-navigation .fancybox-button--arrow_left{
	left:calc(50% - 280px);
	top: calc(50% - 20px);
	padding: 0;
	background: #002C64;
	width: 40px;
	height: 40px;
}
.fancybox-navigation .fancybox-button--arrow_right{
	right:calc(50% - 280px);
	top: calc(50% - 20px);
	padding: 0;
	background: #002C64;
	width: 40px;
	height: 40px;
}
.fancybox-button--arrow_left svg,
.fancybox-button--arrow_right svg{display: none;}


.fancybox-navigation .fancybox-button--arrow_left::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	margin-left: -4px;
	border-top: 2px solid #FFF;
	border-left: 2px solid #FFF;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.fancybox-navigation .fancybox-button--arrow_right::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	margin-left: 8px;
	border-bottom: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}

.fancybox-button[disabled].fancybox-button--arrow_left,
.fancybox-button[disabled].fancybox-button--arrow_left:hover,
.fancybox-button[disabled].fancybox-button--arrow_right,
.fancybox-button[disabled].fancybox-button--arrow_right:hover {opacity: 0.2;}



/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/



@media(max-width:1100px) {

.spec{max-width: 17.5em;}
.partA .spec{min-width: 17em;}
.partD .item .miniInner .spec{min-width: 14em;}

}











@media(max-width:768px) {

html{font-size: 2.0vw;}

.pcView{display: none !important;}
.spView{display: block !important;}
dl.spView{display: flex !important;}
.carousel.spView{display: flex !important;}

.header{height: calc(100% - 16vw);}

.header figure.base{background-image: url("../images/main_b_sp.webp");}
.header figure.front{background-image: url("../images/main_f_sp.webp");}

.header .logo{top: auto;bottom: 6vw;right: 8.5%;width: 16.6vw;}
.header .line{display: none;}

/*------------------*/



.title{
	height:calc(100svh - 16vw);
	display: block;
}
.title h1{
	width: 75.4%;
	margin-right: 0;
	top: 28vw;
	height: 37vw;
	padding-top: 5vw;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
.title h1::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	opacity: 0;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	-webkit-transition:opacity 1.2s 1.8s;
	transition:opacity 1.2s 1.8s;
}
.start .title h1::after{opacity: 1;}

.title h1 span{top: 3rem;padding-left: 10.25vw;}

.title h1 span.kidsbaby{
	font-size: 4.3em;
	-webkit-text-stroke: 2px #FFF;
	text-stroke: 2px #FFF;
}
.title h1 span.season{font-size: 2.3em;margin-top: 0.1em;}

/*-----*/


.lead .text{width: 79.5%;margin: 0 auto;}
.lead p{line-height: 3.5;letter-spacing: 0.18em;font-size: 1.2em;}


/*------------------*/

.contents{padding-top: 13vw;}


/*------------------*/

.wave{width: 121.2%;}
.bard{width: 31.2%;}

.set01 .bard{left: 52%;top: 0%;}
.set04 .bard{left: 9%;top: 0%;}
.set05 .wave{left: 23%;top: 0%;}
.set08 .wave{left: 29%;top: 0%;}
.set10 .bard{left: 63%;top: -3%;}
.set10 .wave.w01{left: -65.6%;top: 1%;}
.set10 .wave.w02{left: -44.3%;top: 10%;}

.set16 .wave{left: 23%;top: 52%;}
.set16 .wave.w02{left: -44.3%;top: 67%;}
.set16 .bard{left: 35%;top:auto;bottom: 0vw;width: 26%;}



/*------------------*/

.partA{
	width: 100%;
	margin-top: 15.3vw;
}
.partA.set01{padding-top: 30vw;}

.partA .main{
	width: 84.6%;
	margin-left: 15.4%;
}

.partA .sub{
	position: relative;
	z-index: 15;
	width: 84.6vw;
	margin: 0 auto;
	display: block;
	margin-top: -5vw;
	padding-bottom: 8em;
}
.partA.set03 .sub,
.partA.set06 .sub{padding-bottom: 5em;}

.partA .sub .carousel{margin-left: -15.4vw;}
.partA .sub .carousel .item{width: 48.5%;}
.partA .sub .carousel .item img{border-width: 1px;}



.partA.reverse .main{margin-left: 0;}
.partA.reverse .sub{left: 0;right: 0;}
.partA.reverse .sub .carousel{margin-left: 15.4vw;}



.partA .spec{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}




/*------------------*/

.partB{margin-top: 15.3vw;}
.partB .main{width: 79.5%;}


.partB.set07 .main,
.partB.set13 .main{width: 100%;}

/*------------------*/

.partC{margin-top: 15.3vw;}
.partC.set04{padding-top: 30vw;}
.partC.set08{padding-top: 22vw;}
.partC.set10{padding-top: 42vw;}
.partC.set16{padding-bottom: 85vw;}


.partC .main{
	width: 89.7%;
	margin-left: 10.3%;
}
.partC .sub{
	position: relative;
	width: 89.7%;
	right:0;
	top:0;
	margin-top: 3.8vw;
	-webkit-transform:none;
	transform:none;
}

.partC.set08 .main{margin-left: 0;}
.partC.set08 .sub{margin-left: 10.3%;}

.partC.set10 .spMain{width: 84.6%;}
.partC.set10 .main{margin-left: 10.3%;margin-top: -5vw;z-index: 10;position: relative;}
.partC.set10 .main img{border: 1px solid #002C64;}
.partC.set10 .main.imageBox .base{
	opacity: 0;
	-webkit-transform:none;
	transform:none;
	-webkit-transition: opacity 1.2s 1.0s;
	transition: opacity 1.2s 1.0s;
	-webkit-transform-origin: center;
	transform-origin: center;
}
.partC.set10.view .main.imageBox .base{
	opacity: 1;
	-webkit-transform:none;
	transform:none;
}

.partC.set11 .main{width: 100%;margin-left: 0;}
.partC.set12 .main{width: 84.6%;margin-left: 0;}

.partC .sub.carousel{width: 84.6vw;margin-left: 23%;margin-top: -5vw;}
.partC .sub.carousel.rev{flex-direction:row;}
.partC .sub.carousel figure{width: 48.5%;}
.partC .sub.carousel figure img{border: 1px solid #002C64;}



.partC .sub img{border: none;}

.partC .spec,
.partC.reverse .spec{
	position: relative;
	right: 0;
	left: 0;
	max-width: 79.5vw;
	min-width: none;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}


/*------------------*/

.partD{
	width: 100%;
margin-top: 15.3vw;
	display: block;

}
.partD.set05{padding-top: 25vw;}

.partD .item.i01{
	width: 79.5%;
	margin: 0 auto;
}
.partD .item.i02{
	width: 100%;
	margin: 15.3vw auto 0;
}

.partD.set09 .item.i02{display: none;}


.partD.set14 .item.i01{width: 84.6%;margin-left: 15.4%;}
.partD.set15 .item.i01{width: 84.6%;margin-left: 0;}
.partD.set14 .item.i02,
.partD.set15 .item.i02{width: 84.6%;margin-top: -5vw;}
.partD.set14 .item.i02 .imageBox,
.partD.set15 .item.i02 .imageBox{display: none;}


.partD .item.i02 .carousel{
	position: relative;
	z-index: 15;
	width: 84.6vw;
	margin: 0;
	display: flex;
	justify-content: space-between;
}
.partD .item.i02 .carousel .photo{width: 48.5%;}
.partD .item.i02 .carousel .photo img{border: 1px solid #002C64;}


.partD.set14 .item.i02 .carousel{margin-left: -15.4vw;}
.partD.set15 .item.i02 .carousel{margin-left: 15.4vw;}

.partD .item.mini{display: block;}
.partD .item .miniInner{width: 100%;}



/*------------------*/


.spec{
	font-size: 1.5em;
	max-width: 79.5vw;
	margin: 1.2em auto 0;
}
.spec dl dt{
	width: 3.9em;
	padding-left: 0.6em;
}
.spec dl dd div{
	margin-left: 1.4em;
}
.spec .attention{
	font-size: 0.75em;
	position: relative;
	bottom: 0;
	margin-top: 0.5em;
}




/*------------------*/


.navi{bottom: 5.5vw;right: 0;left: 0;}
.navi .naviInner{width:100%;display: flex;}
.navi .mainNav{width: 66.66%; font-size: 2.5em;}
.navi .mainNav .menuSet{opacity: 1;display: flex;}
.navi .mainNav .menuSet .menu{
	margin-bottom:0;
	width: 50%;
	text-align: center;
	padding-top: 0.3em;
}
.navi .mainNav .trigger{display: none;}
.navi .topArrow{width: 33.33%;margin: 0;}
.navi .topArrow a{width: 4.2em;margin-left:45%;padding-top: 3.5em;}

/*------------------*/


.footer{margin-top: 15vw;padding-bottom: 35vw;font-size: 0.8em;}
.footer h2{font-size: 5.8em;}
.footer h3{font-size: 3.3em;margin-top: 0.4em;}
.footer .pageTop{font-size: 3.0em;margin-top: 18vw;}
.footer .logo{width: 14em;margin-top: 25vw}
.footer .copyright{font-size: 1.5em;margin-top: 2.4em;}

/*------------------*/

.modal{width: 77%;max-width: 440px;}


}

@media(max-width:590px) {
/*.fancybox-button{width: min(2.2em,40px);height: min(2.2em,40px);}*/
.fancybox-button{width:7vw;height: 7vw;}
.fancybox-navigation .fancybox-button--arrow_left{
	left:calc(50% - 47vw);
	top: calc(50% - 3.5vw);
	width: 7vw;
	height: 7vw;
}
.fancybox-navigation .fancybox-button--arrow_right{
	right:calc(50% - 47vw);
	top: calc(50% - 3.5vw);
	width: 7vw;
	height: 7vw;
}
.fancybox-navigation .fancybox-button--arrow_left::before{
	width: 2.6vw;
	height: 2.6vw;
	margin-top: -1.4vw;
	margin-left: -1.0vw;
}
.fancybox-navigation .fancybox-button--arrow_right::before{
	width: 2.6vw;
	height: 2.6vw;
	margin-top: -1.4vw;
	margin-left: 1.2vw;
}

}






@media(max-width:560px) {


.header{height: calc(100% - 19vw);}

.title{height:calc(100svh - 19vw);}
.title h1::after{border-width: 1px;}
.title h1 span{top: 3rem;padding-left: 10.25vw;}
.title h1 span.kidsbaby{-webkit-text-stroke: 1px #FFF;text-stroke: 1px #FFF;}

/*---------*/

.lead p{line-height: 3.2;letter-spacing: 0.15em;font-size: 1.6em;}

/*---------*/

.partA .sub{padding-bottom: 9em;}
.partA.set03 .sub,
.partA.set06 .sub{padding-bottom: 6em;}

/*---------*/

.spec{font-size: 1.75em;}
.spec .attention{font-size: 0.85em;}

/*---------*/

.footer{font-size: 1.0em;}

/*---------*/


.modal .info{font-size: min(1.4em,13px);padding-bottom: 2em;}
.modal .info .store{margin-top: 0.95em;}

}






























