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


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400&display=swap');
/*
font-family: 'Noto Sans JP', sans-serif;
Regular 400
*/

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@600&display=swap');
/*
font-family: 'Shippori Mincho', serif;
SemiBold 600
*/
  
@font-face {
  font-family: "TimesNewRomanProItalic";
  src: url('../../font/TimesNewRomanProItalic/font.woff2') format('woff2'), url('../../font/TimesNewRomanProItalic/font.woff') format('woff');
}
@font-face {
  font-family: "TTForsRegular";
  src: url('../../font/TTForsRegular/font.woff2') format('woff2'), url('../../font/TTForsRegular/font.woff') format('woff');
}
@font-face {
  font-family: "TTHovesProLight";
  src: url('../../font/TTHovesProLight/font.woff2') format('woff2'), url('../../font/TTHovesProLight/font.woff') format('woff');
}
@font-face {
  font-family: "OxfordStreetRegular";
  src: url('../../font/OxfordStreetRegular/font.woff2') format('woff2'), url('../../font/OxfordStreetRegular/font.woff') format('woff');
}







/* ---------- 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;
}
a{
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}

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;
}

.clear:after{
	  content: "";
	  display: table;
	  float:none;
	  clear: both;
}

html{
    width: 100%;
    height: 100%;
}

body{
	background:#FDFCF5;
    width: 100%;
    height: 100%;
    line-height: 1;
    -webkit-text-size-adjust: 100%;	
	font-family: "Noto Sans JP", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	color:#9C9A99;
	font-weight: 400;
}


/* =============================================== */


#loader-bg{
    display:block;
    position:fixed;
    width:100%;
    top:0;
    left:0;
	bottom: 0;
	right: 0;
	height: 100vh;
    z-index:1000;
	background: #FFF;
    overflow:hidden;

}

#loader-bg .spinner {
    width: 100px;
    text-align: center;
    position: absolute;
    margin: 0 auto;
    font-size: 0;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 100;
    -webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
#loader-bg .spinner > div {
  width: 12px;
  height: 12px;
  margin: 0 5px;
  background-color:#CFD2D3;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}
#loader-bg .spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
#loader-bg .spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bouncedelay {
  0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

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


/*
.guide,
.guide1,
.guide2,
.guide3,
.guide4{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: 5%;
	top: 0;
	bottom: 0;
	background: #FF0004;
	opacity: 0.5;
	z-index: 1000;
}
.guide:after{
	content: '';
	position: fixed;
	width: 1px;
	right: 5%;
	top: 0;
	bottom: 0;
	background: #FF0004;
	opacity: 0.5;
	z-index: 1000;
}

.guide1:before{
	content: '';
	position: fixed;
	width: 1px;
	left: 10%;
	top: 0;
	bottom: 0;
	background: #FF0004;
	opacity: 0.5;
	z-index: 1000;
}
.guide1:after{
	content: '';
	position: fixed;
	width: 1px;
	right: 10%;
	top: 0;
	bottom: 0;
	background: #FF0004;
	opacity: 0.5;
	z-index: 1000;
}
.guide2:before{
	content: '';
	position: fixed;
	width: 1px;
	left: 15%;
	top: 0;
	bottom: 0;
	background: #FF0004;
	opacity: 0.5;
	z-index: 1000;
}
.guide2:after{
	content: '';
	position: fixed;
	width: 1px;
	right: 15%;
	top: 0;
	bottom: 0;
	background: #FF0004;
	opacity: 0.5;
	z-index: 1000;
}


.guide3:before{
	content: '';
	position: fixed;
	width: 1px;
	left: 7.5%;
	top: 0;
	bottom: 0;
	background: #00B5FF;
	opacity: 0.5;
	z-index: 1000;
}
.guide3:after{
	content: '';
	position: fixed;
	width: 1px;
	right: 7.5%;
	top: 0;
	bottom: 0;
	background: #00B5FF;
	opacity: 0.5;
	z-index: 1000;
}
.guide4:before{
	content: '';
	position: fixed;
	width: 1px;
	left: 12.5%;
	top: 0;
	bottom: 0;
	background: #00B5FF;
	opacity: 0.5;
	z-index: 1000;
}
.guide4:after{
	content: '';
	position: fixed;
	width: 1px;
	right: 12.5%;
	top: 0;
	bottom: 0;
	background: #00B5FF;
	opacity: 0.5;
	z-index: 1000;
}

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

.spOnly{display: none;}
.pcOnly{display: block;}

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

.inView{
	position: relative;
	top: 3vw;
	opacity: 0;
	-webkit-transition: top 1.2s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.0s;
	transition: top 1.2s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.0s;
}
.inView.view{opacity: 1;top: 0;}


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


#header{
	width: 100%;
	height: 100%;
	position: relative;
	background: url("../../images/mainpc_01.webp") center center no-repeat;
	background-size: cover;
}

#header .title{
	position: absolute;
	width: 21%;
	z-index: 20;
	top: 48%;
	left: 7.5%;
	right: 0;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}
#header .title h1{
	width: 100%;
	margin: 0 auto;
	opacity: 0;
	-webkit-transform:scale(1.2);
	transform:scale(1.2);
	-webkit-transition: transition 2.5s;
	transition: transform 2.5s;
}
#header .title h1.view{
	-webkit-transform:scale(1.0);
	transform:scale(1.0);
}
#header .titleLogo{
	width: 100%;
	margin: 0 auto;
	opacity: 1;
}
#header .titleLogo.view{opacity: 1;}
#header .titleLogo .titleLogopath{
	fill:none;
	stroke:#FFF;
	stroke-width:19;
	stroke-miterlimit:20;
}
#header .titleLogo #BaseLogo{fill:#74BB92;}

#header .title h2{
	text-align: center;
	color: #9C9A99;
	font-family: "TTForsRegular";
	font-size: 1.15vw;
	line-height: 1;
	margin-top: 0.7em;
	letter-spacing: 0.12em;
	opacity: 0;
	-webkit-transition: opacity 1.0s;
	transition: opacity 1.0s;
}
#header.start .title h2{opacity: 1;}

#header .logo{
	position: absolute;
	width: 80px;
	z-index: 18;
	top: 17px;
	right:17px;
	margin: 0 auto;
}


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

#header .vegas{
    width: 100%;
    height: 100%;
    position: relative;
	z-index: 10;
}
#header .vegas .vegasImage{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width:100%;
    z-index: 10;
}


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


.scrollbar{
    width: 25px;
    position: absolute;
    left:3%;
    bottom: -60px;
    height:130px;
    z-index: 300;
}
.scrollbar p{
    width: 17px;
	margin-top: 2px;
}
.scrollbar .base{
	width:1px;
	height:130px;
	position: absolute;
	bottom:0px;
	right: 0;
	overflow: hidden;
    z-index: 5;
    background:#9C9A99;
}
.scrollbar .bar{
	width:1px;
	height:130px;
	position: absolute;
	bottom:0px;
	right: 0;
	overflow: hidden;
    z-index: 10;
}
.scrollbar .line{
		width: 100%;
		height: 100%;
		display: block;
		background: linear-gradient(
			to bottom,
			rgba(117, 195, 151, 1) 50%,
			rgba(117,195, 151, 0) 50%
		);
		background-position: 0 -100%;
		background-size: 100% 200%;
		animation: scrolldown 3.8s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}
@keyframes scrolldown {
	0% {background-position: 0 100%;}
	50% {background-position: 0 0;}
	100% {background-position: 0 -100%;}
}




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

.leadNav{
	width: 100%;
	background: #FDFCF5;
	overflow: hidden;
	padding: 130px 0 80px;
}

.lead{
	width: 75%;
	margin: 0 auto;
	max-width: 960px;
	text-align: center;
}
.lead .catch{
	font-family: "TimesNewRomanProItalic";
	font-size: 52px;
	letter-spacing: 0.03em;
	line-height: 0.54;
}
.lead .catch h2{
	position: relative;
	opacity:0;
}
.lead .catch .top h2 span{position: relative;left: 0.4em;opacity:0;}
.lead .catch .bottom h2 span{position: relative;right: 0.4em;opacity:0;}

.lead .catch .bottom{margin-top: 0.8em;}

.lead .catch div{position: relative;}
.lead .catch div::after{
	content: "";
	position: absolute;
	bottom: 0;
	height: 1px;
	background: #75C397;
	-webkit-transition: width 1.8s cubic-bezier(0.76, 0, 0.24, 1);
	transition: width 1.8s cubic-bezier(0.76, 0, 0.24, 1);
}
.lead .catch .top::after{left: 0;width: 0}
.lead .catch .bottom::after{right: 0;width: 0}
.lead.start .catch .top::after{width: calc(50% + 2.7em);}
.lead.start .catch .bottom::after{width: calc(50% + 2.7em);}


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

.lead .copy{
	font-family: 'Shippori Mincho', serif;
	font-weight: 600;
	font-size: 24px;
	letter-spacing: 0.08em;
	line-height: 2.2;
	margin-top: 2.5em;
}
.lead .copy p{
	position: relative;
	top: 30px;
	opacity: 0;
	-webkit-transition: top 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.8s, opacity 12s 1.8s;
	transition: top 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.8s, opacity 1.2s 1.8s;
}
.lead.start .copy p{opacity: 1;top: 0;}


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


.mainNavi{
	width: 82%;
	margin: 130px auto 0;
	max-width: 1040px;
	position: relative;
}
.mainNavi::before,
.mainNavi::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 0%;
	height: 1px;
	background: #C9C5C0;
	-webkit-transition: width 1.5s cubic-bezier(0.76, 0, 0.24, 1);
	transition: width 1.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.mainNavi::before{top: 0;}
.mainNavi::after{bottom: 0;}

.mainNavi.view::before{width: 100%;}
.mainNavi.view::after{width: 100%;}



.mainNavi .navInner{
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	padding-bottom: 55px;
}
.mainNavi .navInner::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 100%;
	width: 1px;
	background: #C9C5C0;
	-webkit-transition: bottom 1.5s cubic-bezier(0.76, 0, 0.24, 1);
	transition: bottom 1.5s cubic-bezier(0.76, 0, 0.24, 1);
}
.mainNavi.view .navInner::after{bottom: 0;}



.mainNavi .nav{
	width: 47%;
}
.mainNavi .nav h2{
	font-size: 32px;
	font-family: "OxfordStreetRegular";
	text-align: center;
	letter-spacing: 0.15em;
	font-weight: normal;
	position: relative;
	line-height: 1;
	padding: 0.8em 0;
	top: 0.8em;
	opacity: 0;
	-webkit-transition: top 1.0s cubic-bezier(0.25, 1, 0.5, 1) 0.8s, opacity 1.0s 0.8s;
	transition: top 1.0s cubic-bezier(0.25, 1, 0.5, 1) 0.8s, opacity 1.0s 0.8s;
}
.mac .mainNavi .nav h2{padding: 0.9em 0 0.6em;}


.mainNavi .nav h2::after{
	content: '';
	position: absolute;
	left: 8.2%;
	right: 8.2%;
	bottom: 0;
	height: 1px;
	background: #C9C5C0;
}
@media(min-width: 769px) {
.mainNavi.view .nav h2{opacity: 1;top: 0;}
}



.mainNavi .nav .navCategry{
	width: 100%;
	display: flex;
	margin-top: 35px;
}
.mainNavi .nav .navCategry li{
	width: 33.333%;
	position: relative;
	opacity: 0;
	-webkit-transition:opacity 1.0s;
	transition: opacity 1.0s;
}
@media(min-width: 769px) {
.mainNavi.view .nav .navCategry li{opacity: 1;}
}

.mainNavi .nav .navCategry li:nth-child(1){-webkit-transition-delay:1.2s;transition-delay:1.2s;}
.mainNavi .nav .navCategry li:nth-child(2){-webkit-transition-delay:1.5s;transition-delay:1.5s;}
.mainNavi .nav .navCategry li:nth-child(3){-webkit-transition-delay:1.8s;transition-delay:1.8s;}


.mainNavi .nav h3{
	font-family: "OxfordStreetRegular";
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	height: 2.7em;
	position: relative;
}
.mainNavi .nav h3 span{
	display:flex;
	color: #FFF;
	background: #75C397;
	position: absolute;
	top: -0.1em;
	left: 0;
	width: 1.3em;
	height: 1.3em;
	align-items: center;
	justify-content: center;
}
.mac .mainNavi .nav h3 span em{height: 0.8em;top: -0.2em;}


.mainNavi .nav.n01 h3{color:#75C397;}
.mainNavi .nav.n02 h3{color:#6C9DB7;}
.mainNavi .nav.n01 h3 span{background: #75C397;}
.mainNavi .nav.n02 h3 span{background: #6C9DB7;}


.mainNavi .nav .image{}
.mainNavi .nav .image a{
	display: block;
	position: relative;
}
.mainNavi .nav .image a .hover{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
	-webkit-transition: background 0.4s;
	transition: background 0.4s;
}
.mainNavi .nav.n01 .image a .hover{background: rgba(225,239,211,0);}
.mainNavi .nav.n02 .image a .hover{background: rgba(213,235,231,0);}

.mainNavi .nav .image a .hover p{
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 6em;
	color: #FFF;
	font-family: "TTHovesProLight";
	font-weight: normal;
	font-size: 16px;
	text-align: center;
	padding: 0.5em 0;
	opacity: 0;
	-webkit-transform:translateY(-50%) scale(0.5);
	transform:translateY(-50%) scale(0.5);
	-webkit-transition: transition 0.4s, opacity 0.4s;
	transition: transform 0.4s, opacity 0.4s;
}
.mainNavi .nav.n01 .image a .hover p{background: #75C397;}
.mainNavi .nav.n02 .image a .hover p{background: #6C9DB7;}




@media (min-width: 769px) {
.mainNavi .nav.n01 .image a:hover .hover{background: rgba(225,239,211,0.4);}
.mainNavi .nav.n02 .image a:hover .hover{background: rgba(213,235,231,0.5);}
.mainNavi .nav .image a:hover .hover p{
	-webkit-transform:translateY(-50%) scale(1.0);
	transform:translateY(-50%) scale(1.0);
	opacity: 1;
}

}


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



.wrapper{width: 100%;}


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



.category{width: 100%;margin-top: 190px;}


.categoryHeader{
	width: 100%;
	position: relative;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
.c01 .categoryHeader{border-color:#75C397;background:#D3E9D4;}
.c02 .categoryHeader{border-color:#9C9A99;background: #ADC2D3;}

.categoryHeader .cover{
	position: absolute;
	width: 100%;
	top: -1px;
	bottom: -1px;
	right: 0;
	z-index: 50;
	background: #FDFCF5;
	-webkit-transition: width 1.6s cubic-bezier(0.76, 0, 0.24, 1);
	transition: width 1.6s cubic-bezier(0.76, 0, 0.24, 1);
}
.categoryHeader.view .cover{width: 0;}

.categoryHeader .categoryInner{
	width: 85%;
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}

.categoryHeader .caImage{
	width: 92%;
	margin: 0 auto;
	position: relative;
}
.categoryHeader .caImage span{
	width: 100%;
	padding-top: 68%;
	display: block;
	background-position: center center;
	background-size: cover;
}
.c01 .categoryHeader .caImage span{background-image: url("../../images/category01.webp");}
.c02 .categoryHeader .caImage span{background-image: url("../../images/category02.webp");}

.categoryHeader .caImage h2{
	position: absolute;
	z-index: 5;
	width: 17vw;
	margin-top: 2vw;
	opacity: 0;
	-webkit-transition: margin 1.2s cubic-bezier(0.33, 1, 0.68, 1) 1.2s ,opacity 1.2s 1.2s;
	transition: margin 1.2s cubic-bezier(0.33, 1, 0.68, 1) 1.2s ,opacity 1.2s 1.2s;
}
.categoryHeader.view .caImage h2{margin-top: 0; opacity: 1;}

.c01 .categoryHeader .caImage h2{top: 9%;left: 4%;}
.c02 .categoryHeader .caImage h2{top: 7%;right: 7%;}


.categoryHeader .sideText{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 4%;
	font-family: "TimesNewRomanProItalic";
	font-weight: normal;
	font-size: 1.5vw;
	overflow:visible; 
}
.c02 .categoryHeader .sideText{color: #FFF;}

.categoryHeader .sideText p{
	position: absolute;
	right: 30%;
	width: 1px;
	height: 1px;
	overflow:visible;
	white-space:nowrap;
	-webkit-transform:rotate(90deg);
	transform:rotate(90deg);
}

.categoryHeader .sideText p:nth-child(1){top: 5%;}
.categoryHeader .sideText p:nth-child(2){top: 50%;}
.categoryHeader .sideText p:nth-child(3){bottom: 5%;}

.categoryHeader .sideText p:nth-child(2) span{
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%); 
	display: inline-block;
}
.categoryHeader .sideText p:nth-child(3) span{
	-webkit-transform:translateX(-100%);
	transform:translateX(-100%);
	display: inline-block;
}


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


.styleSet{
	width: 85%;
	max-width: 1300px;
	margin: 150px auto 0;
	padding-top: 50px;
	position: relative;
}

.styleTitle{
	width: 90%;
	margin: 0 0 0 5%;
	position: relative;
}
.styleTitle .icon{
	width:140px;
	position: relative;
}
.c01 .styleTitle .icon{background: #75C397;}
.c02 .styleTitle .icon{background: #6C9DB7;}

.styleTitle .icon::after{
	content: "";
	position: absolute;
	top: -1px;
	right: 0;
	bottom: -1px;
	z-index: 10;
	width: 100%;
	background: #FDFCF5;
	-webkit-transition: width 1.4s cubic-bezier(0.76, 0, 0.24, 1);
	transition: width 1.4s cubic-bezier(0.76, 0, 0.24, 1);
}
.styleTitle.view .icon::after{width: 0;}



.styleTitle .season{
	 position: absolute;
	 top: 1.8em;
	 right: 0;
	 overflow:visible;
	white-space:nowrap;
	padding: 0 0.5em;
	border-bottom: 1px solid;
	font-family: "OxfordStreetRegular";
	font-size: 23px;
	letter-spacing: 0.03em;
	-webkit-transform:rotate(90deg);
	transform:rotate(90deg);
	opacity: 0;
	webkit-transition: opacity 1.0s;
	transition: opacity 1.0s;
}
.styleTitle.view .season{opacity: 1;}
.styleTitle .season span{padding-left: 0.15em;}

.c01 .styleTitle .season{border-color: #75C397;}
.c02 .styleTitle .season{border-color: #6C9DB7;}


.styleTitle .styleName{
	width: 88%;
	margin-top: 80px;
	position: relative;
}
.styleTitle .styleName::before,
.styleTitle .styleName::after{
	content: "";
	position: absolute;
	left: 0;
	width: 0%;
	height: 1px;
	-webkit-transition: width 2.2s cubic-bezier(0.33, 1, 0.68, 1) 0.4s;
	transition: width 2.2s cubic-bezier(0.33, 1, 0.68, 1) 0.4s;
}
.styleTitle .styleName::before{top:0;}
.styleTitle .styleName::after{bottom:0;}
.styleTitle.view .styleName::before,
.styleTitle.view .styleName::after{width: 100%;}


.c01 .styleTitle .styleName::before,
.c01 .styleTitle .styleName::after{background: #75C397;}
.c02 .styleTitle .styleName::before,
.c02 .styleTitle .styleName::after{background: #6C9DB7;}





.styleTitle .styleName h2{
	font-family: "OxfordStreetRegular";
	font-size: 61px;
	line-height: 1;
	letter-spacing: 0.02em;
	padding: 0.3em 0;
	opacity: 0;
}
.mac .styleTitle .styleName h2{padding: 0.45em 0 0.15em;}


.styleTitle .styleName h2 span{
	position:relative;
	left:0.5em;
	opacity: 0;
}

.styleTitle .styleName h2 br{display: none;}
.styleTitle .styleName h2 span.fin{
	-webkit-transition: color 0.5s cubic-bezier(0.76, 0, 0.3, 1);
	transition: color 0.5s cubic-bezier(0.76, 0, 0.3, 1) ;
}
.c01 .styleTitle .styleName h2 span{color: #D3E9D4;}
.c01 .styleTitle .styleName h2 span.fin{color: #9C9A99;}

.c02 .styleTitle .styleName h2 span{color: #ADC2D3;}
.c02 .styleTitle .styleName h2 span.fin{color: #9C9A99;}


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

.styleTitle .titleText{
	width: 100%;
	margin-top: 40px;
	font-size: 15px;
	letter-spacing: 0.08em;
	line-height: 2.6;
}
.styleTitle .titleText p{
	position: relative;
	opacity: 0;
	top: 1em;
	-webkit-transition: top 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s, opacity 12s 1.2s;
	transition: top 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s, opacity 1.2s 1.2s;
}
.styleTitle.view .titleText p{top: 0;opacity: 1;}



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


.styleBody{
	width: 100%;
	margin-top: 6%;
}


.styleBody .setIn{position: relative;}
.styleBody .setIn .image{position: relative;overflow: hidden;}
.styleBody .setIn .image img{
	opacity: 0;
	-webkit-transform:scale(1.15);
	transform:scale(1.15);
	-webkit-transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.5s;
	transition: transform 1.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.5s;
}
.styleBody .styleMain.view .setIn .image img{
	opacity: 1;
	-webkit-transform:scale(1.0);
	transform:scale(1.0);
}


.styleBody .styleSub .setIn .image img{
	-webkit-transition-delay:1.0s;
	transition-delay:1.0s;
}
.styleBody .styleSub.view .setIn .image img{
	opacity: 1;
	-webkit-transform:scale(1.0);
	transform:scale(1.0);
}


.styleBody .styleTop{
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	align-items:flex-start;
}
.styleBody.rev .styleTop{flex-direction:row-reverse;}


.styleTop .styleMain{width: 50%;}
.styleTop .styleMain .setIn{width: 99%;margin-left: 10%;}
.rev .styleTop .styleMain .setIn{margin-left: -9%;}
.styleTop .styleSub .s02{z-index: 10;}

.styleTop .styleSub{width: 50%;margin-top: 20%;}
.styleTop .styleSub .subBK{
	-webkit-transition: all 1.5s cubic-bezier(0.76, 0, 0.3, 1);
	transition: all 1.5s cubic-bezier(0.76, 0, 0.3, 1);
}
.c01 .styleTop .styleSub .subBK{
	background: linear-gradient(90deg, #D3E9D4 0%, #D3E9D4 50%, #FDFCF5 50%, #FDFCF5 100%);
	background-size: 200% 200%;
	background-position: 100% 0;
}
.c01 .styleTop .styleSub.view .subBK{background-position: 0 0;}
.c02 .styleTop .styleSub .subBK{
	background: linear-gradient(90deg, #C3D4DE 0%, #C3D4DE 50%, #FDFCF5 50%, #FDFCF5 100%);
	background-size: 200% 200%;
	background-position: 100% 0;
}
.c02 .styleTop .styleSub.view .subBK{background-position: 0 0;}




.la01 .styleTop .styleSub .subBK{width: 107%;margin-left: -7%;padding: 0 0 11% 7%;}
.la01 .styleTop .styleSub .s01{width: 76%;margin-left: 19%;}
.la01 .styleTop .styleSub .s02{width: 62%;}

.la02 .styleTop .styleSub .subBK{width: 107%;margin-left: 4%;padding:0 0 11% 0;}
.la02 .styleTop .styleSub .s01{width: 72%;}
.la02 .styleTop .styleSub .s02{width: 81%;margin-left: 5%;}

.la03 .styleTop .styleSub .subBK{width: 107%;margin-left: -7%;padding: 0 0 0 7%;}
.la03 .styleTop .styleSub .s01{width: 76%;margin-left: 19%;}
.la03 .styleTop .styleSub .s02{width: 62%;}

.me01 .styleTop .styleSub .subBK{width: 103%;margin-left: -3%;padding: 0 0 11% 7%;}
.me01 .styleTop .styleSub .s01{width: 68%;margin-left: 22%;}
.me01 .styleTop .styleSub .s02{width: 65%;z-index: 10;}

.me02 .styleTop .styleSub .subBK{width: 118%;margin-left: 4%;}
.me02 .styleTop .styleSub .s01{width: 58%;}
.me02 .styleTop .styleSub .s02{width: 51%;margin-left: 13%;}
.me02 .styleTop .styleSub .mask{
	width: 100%;
	padding-top: 10%;
	background: #FDFCF5;
	margin-top: -10%;
}

.me03 .styleTop .styleSub{margin-top: 20%;}
.me03 .styleTop .styleSub .subBK{width: 120%;margin-left: -28%;padding: 0 0 11% 7%;}
.me03 .styleTop .styleSub .s01{width: 60%;margin-left: 40%;}
.me03 .styleTop .styleSub .s02{width: 49%;margin-left: 12%;margin-top: -8%;}





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


.styleBody .styleBottom{
	width: 100%;
	position: relative;
	margin: 0 auto;
	display: flex;
	align-items:flex-start;
	justify-content: space-between;
	flex-direction:row-reverse;
}
.styleBody.rev .styleBottom{flex-direction: row;}


.styleBody.la03 .styleBottom{margin-top: 6%;}
.styleBody.me02 .styleBottom{margin-top: 6%;}

.styleBody .styleBottom .item{width: 50%;position: relative;}
.styleBody .styleBottom .item.left{z-index: 5;padding-top: 15%;}
.styleBody .styleBottom .item.right{z-index: 10;padding-top: 0%;}
.styleBody.rev .styleBottom .item.left{padding-top: 0%;}
.styleBody.rev .styleBottom .item.right{padding-top: 15%;}


.styleBody .styleBottom .item .itemInner{width: 93%;}
.styleBody .styleBottom .item.left .itemInner{margin-left: 10%;}
.styleBody .styleBottom .item.right .itemInner{margin-left: -3%;text-align: right;}






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


.itemList{
	font-family: "TTHovesProLight";
	letter-spacing: 0.04em;
	font-size: 16px;
	line-height: 1;
	text-align: left;
	max-width: 330px;
}
.styleTop .itemList{
	position: absolute;
	right: 4%;
	width: 40%;
	opacity: 0;
	top: 1.5vw;
	-webkit-transition: top 1.2s cubic-bezier(0.33, 1, 0.68, 1) 0.8s, opacity 1.0s 0.8s;
	transition: top 1.2s cubic-bezier(0.33, 1, 0.68, 1) 0.8s, opacity 1.0s 0.8s;
}
.rev .styleTop .itemList{right: auto;left: 5%;}
.styleTop .itemList.view{opacity: 1;top: 0;}



.styleBottom .itemList{
	width: 90%;
	display: inline-block;
	text-align: left;
	margin-top: 30px;
}


.itemList .listInner{
	width: 100%;
	border-left: 2px solid #9C9A99;
	padding-left: 1em;
}
.styleTop .itemList .listInner{padding-top: 0.8em;padding-bottom: 0.8em;}
.styleBottom .itemList .listInner{padding-top: 0.3em;padding-bottom: 0.3em;}

.itemList dl{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	text-align: left;
	margin-top: 0.8em;
}
.itemList dl:first-child{margin-top: 0;}

.itemList dl .name{width: calc(100% - 75px);}
.itemList dl .name em{padding-right: 0.4em;}
.itemList dl .name span{font-size: 0.82em;letter-spacing: 0.03em;}

.itemList dl dd{width: 70px;}
.itemList dl dd a{
	display: block;
	width: 100%;
	border: 1px solid;
	font-size: 14px;
	text-align: center;
	padding: 5px 0px;
	letter-spacing: 0.05em;
}
.c01 .itemList dl dd a{color: #FFF;border-color: #75C397;background: #75C397;}
.c02 .itemList dl dd a{color: #FFF;border-color: #6C9DB7;background: #6C9DB7;}

@media(min-width: 769px) {
.c01 .itemList dl dd a:hover{background:#FDFCF5;color: #75C397;}
.c02 .itemList dl dd a:hover{background:#FDFCF5;color: #6C9DB7;}
}


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


.allBanner{
	width: 85%;
	max-width: 1080px;
	margin: 200px auto 0;
	position: relative;
	color: #FFF;
}
.c01 .allBanner{background: #75C397;}
.c02 .allBanner{background: #6C9DB7;}

.allBanner .spLink{display: none;}

.allBanner .photo{
	width: 60%;
	position: relative;
}
.allBanner .photo span{
	display: block;
	width: 100%;
	padding-top: 64.5%;
	background-position: center center;
	background-size: cover;
}
.c01 .allBanner .photo span{background-image: url("../../images/banner_c01.webp");}
.c02 .allBanner .photo span{background-image: url("../../images/banner_c02.webp");}
.allBanner .photo a{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	z-index: 10;
}
.allBanner .bannerInner{
	position: absolute;
	width: 40%;
	top: 0;
	bottom: 0;
	right: 0;
}
.allBanner .detail{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);  
}
.allBanner .detail h2{
	font-weight: 400;
	font-size: 25px;
	letter-spacing: 0.05em;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 1em;
}
.allBanner .detail .more{
	width: 70%;
	margin: 0 auto;
}
.allBanner .detail .more a{
	display: block;
	border: 1px solid #FFF;
	color: #FFF;
	text-align: center;	
	font-family: "TTHovesProLight";
	font-size: 24px;	
	line-height: 1;
	letter-spacing: 0.08em;
	padding: 12px 0;
}
@media(min-width: 769px) {
.c01 .allBanner .detail .more a:hover{background:#FFF;color: #75C397;}
.c02 .allBanner .detail .more a:hover{background:#FFF;color: #6C9DB7;}
}



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




.otherAreaTitle{
	width: 100%;
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
}
.mac .otherAreaTitle{padding: 32px 0 25px;}

.otherAreaTitle::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	opacity: 0;
	margin: 0 auto;
	width: 100%;
	height: 1px;
	background: #75C397;
	-webkit-transition: top 1.2s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.0s;
	transition: top 1.2s cubic-bezier(0.25, 1, 0.5, 1),  opacity 1.0s;
}
.otherAreaTitle.view::before{top: 0;opacity: 1;}

.otherAreaTitle::after{
	content: '';
	position: absolute;
	bottom: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	height: 1px;
	opacity: 0;
	background: #75C397;
	-webkit-transition: bottom 1.2s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.0s;
	transition: bottom 1.2s cubic-bezier(0.25, 1, 0.5, 1),  opacity 1.0s;
}
.otherAreaTitle.view::after{bottom: 0;opacity: 1;}

.otherAreaTitle h2{
	font-family: "OxfordStreetRegular";
	font-size: 54px;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.06em;
	opacity: 0;
	-webkit-transition: opacity 1.0s 0.4s;
	transition: opacity 1.0s 0.4s;
}
.otherAreaTitle.view h2{opacity: 1;}

.otherAreaTitle h3{
	font-weight: 400;
	font-size: 32px;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.1em;
	opacity: 0;
	margin-top: 0.2em;
	-webkit-transition: opacity 1.0s 0.4s;
	transition: opacity 1.0s 0.4s;
}
.mac .otherAreaTitle h3{margin-top: 0;}

.otherAreaTitle.view h3{opacity: 1;}

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

.onlineStore{
	width: 78%;
	max-width: 1000px;
	margin: 200px auto 0;
}
.onlineStore .otherAreaTitle{width: 86%;}

.onlineStore .onlineList{margin-top: 100px;}

.onlineStore .onlineList .top{width: 45%;margin: 0 auto;}
.onlineStore .onlineList .bottom{width: 50%;margin: 0 auto;}

.onlineStore .onlineList .mid{width: 100%;margin: 8% 0;}
.onlineStore .onlineList .mid ul{width: 100%;display: flex;}
.onlineStore .onlineList .mid ul li{width: 23%;margin-right: 2%;}
.onlineStore .onlineList .mid ul li:last-child{margin-right: 0;}

.onlineStore .onlineList a{display: block; background: #C2E1C2;border: 1px solid #C2E1C2;}
@media(min-width:769px) {
.onlineStore .onlineList a:hover{background: #FDFCF5;border-color: #75C397;}
}


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

.snsIcon{
	width: 100%;
	margin-top: 180px;
	text-align: center;
}

.snsIcon h3{
	font-family: "OxfordStreetRegular";
	font-size: 22px;
	letter-spacing: 0.05em;
	line-height: 1;
	padding-bottom: 0.3em;
	display: inline-block;
	border-bottom: 1px solid #9C9A99;
}
.snsIcon .instagram{
	width: 40px;
	margin: 30px auto 0;
}

@media(min-width:769px) {
.snsIcon a:hover{opacity: 0.6;}
}


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




.footer{
	width: 100%;
	margin-top: 130px;
	padding: 32% 0 60px;
	position: relative;
	overflow: hidden;
	background: url("../../images/footer_pc.webp") center center;
	background-size: cover;
}
.footer h2{
	width: 325px;
	margin: 0 auto;
}
.footer .copyright{
	font-family: "TTHovesProLight";
	letter-spacing: 0.1em;
	font-size: 18px;
	margin: 45px auto 0;
	text-align: center;
	color: #9C9A99;
}
.footer .copyright br{display: none;}
.footer .pagetop{
	position: absolute;
	display: block;
	cursor: pointer;
	width: 68px;
	right: 1.2%;
	top: 150px;
}





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


.sideNavi{
    position: fixed;
    top: 50%;
    right:-101px;
    max-width: 100px;
    z-index: 100;
	width: 7%;
	font-family: "OxfordStreetRegular";
    -webkit-transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
	transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    -webkit-transform:translateY(-50%);
	transform:translateY(-50%);  
}
.sideNavi.view{right:0;}
.sideNavi ul{width:100%;margin: 0 auto;}
.sideNavi ul li{width: 100%;margin-bottom: 25px;}
.sideNavi ul li a{display: block;}

.sideNavi .title{
	width: 100%;
	line-height: 1;
	font-size: 13px;
	letter-spacing: 0.05em;
	position: relative;
	border-top: 1px solid #9C9A99;
	border-bottom: 1px solid #9C9A99;
	color: #9C9A99;
	padding: 0.4em 0 0.4em 0.4em;
}
.mac .sideNavi .title{padding: 0.5em 0 0.2em 0.4em;}


.sideNavi .image{
	width: 100%;
	position: relative;
	overflow: hidden;
	margin: 8px auto 0;
}
.sideNavi .image img{
	-webkit-transition: transition 0.5s;
	transition: transform 0.5s;
}

.sideNavi .image span{
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	bottom: -1px;
	z-index: 5;
	opacity: 0.5;
	display: block;
	background: #CCC;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.sideNavi ul li a:hover .image span{opacity:0;}
.sideNavi .image.current span{opacity:0;}
 

.sideNavi ul li a:hover .image img{
-webkit-transform:scale(1.1);
	transform:scale(1.1);
}

.sideNavi .sub{
	font-size: 17px;
}
.sideNavi .sub:first-of-type{margin-top: 6px;}
.sideNavi .sub a{padding: 3px 0;color: #9C9A99;}
.sideNavi .n01 .sub a{color: #9C9A99;}
.sideNavi .sub em{
	font-size: 11px;
	padding-right: 3px;
	display: inline-block;
	vertical-align: top;
	margin-top: 4px;

}
.sideNavi .sub span{
	width: 12px;
	height: 12px;
	border-radius: 50%;
	display: inline-block;
	margin-right: 4px;
	background: #9C9A99;
	-webkit-transition: background 0.4s;
	transition: background 0.4s;
}
.sideNavi .n01 .sub a:hover{color: #B2DAB3;}
.sideNavi .n02 .sub a:hover{color: #6C9DB7;}
.sideNavi .n01 .sub a:hover span{background: #B2DAB3;}
.sideNavi .n02 .sub a:hover span{background: #6C9DB7;}


.sideNavi .n01 .sub.current a{color: #B2DAB3;}
.sideNavi .n02 .sub.current a{color: #6C9DB7;}
.sideNavi .n01 .sub.current a span{background: #B2DAB3;}
.sideNavi .n02 .sub.current a span{background: #6C9DB7;}



.sideNavi .pagetop{
    width: 75%;
    margin: 0 auto;
    cursor: pointer;
	-webkit-transition: opacity 0.4s;
	transition: opacity 0.4s;
}
.sideNavi .pagetop:hover{opacity:0.5;}


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


#trigger{display: none;}
.spNavi{display: none;}


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





