@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

html {
}

html.close {
	overflow:hidden;
	height:100%;
}

body {
	font-family: 'Helvetica Neue', Helvetica, 'Noto Sans JP', sans-serif;
	font-size:18px;
	text-align:center;
	line-height:1.9;
	color:#6f442d;
	background-color:#fdf0da;
}

@media screen and (max-width:1040px){
	body {
		font-size:16px;
	}
}

@media screen and (max-width:768px){
	body {
		font-size:3vw;
	}
}


#wrapper{
}


a {
	transition : all 0.4s;
	-webkit-transition : all 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.7;
}

img{
	max-width:100%;
}


.only_smart,
.only_smart_i{
	display:none !important;
}

@media screen and (max-width:768px){
	.only_pc{
		display:none !important;
	}

	.only_smart{
		display:block !important;
	}
	.only_smart_i{
		display:inline-block !important;
	}
}


/* header */
header{
	width:100%;
	height:117px;
	position:fixed;
	z-index:100;
	background-color:#fdf0da;
}
header.shadow{
	box-shadow:0 0 8px rgba(0,0,0,0.5);
}
header > span{
	display:block;
	width:100%;
	line-height:30px;
	font-size:16px;
	font-weight:bold;
	background-color:#fff;
	letter-spacing:0.05em;
	text-indent:0.05em;
}
header > div{
	max-width:1024px;
	width:100%;
	height:87px;
	margin:auto;
	padding:0 15px 0 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
header > div h1{
	width:302px;
}
header nav{
	padding-top:5px;
}
header nav > ul > li{
	display:inline-block;
	margin:0 11px;
}
header nav > ul > li > a{
	display:block;
	line-height:1.5;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:20px;
	font-weight:bold;
	color:#6f442d;
	letter-spacing:0.08em;
	text-indent:0.08em;
}
header nav > ul > li > a span{
	display:block;
	font-size:15px;
	color:#ee7948;
	letter-spacing:0;
	text-indent:0;
}

@media screen and (max-width:1040px){
	header{
		height:117px;
	}
	header > span{
		line-height:30px;
		font-size:16px;
	}
	header > div{
		width:auto;
		height:87px;
		padding:0 25px 0 20px;
	}
	header > div h1{
		width:302px;
	}
	header nav{
		display:none;
		width:100%;
		height:100vh;
		padding:100px 0 80px;
		background-color:rgba(238,121,72,0.85);
		overflow:auto;
		-webkit-overflow-scrolling: touch;
		position:fixed;
		left:0;
		top:0;
	}
	header nav > img.only_smart_i{
		display:inline-block !important;
		width:200px;
	}
	header nav > ul{
		max-width:650px;
		width:90%;
		margin:20px auto 0;
	}
	header nav > ul > li{
		display:block;
		margin:0;
	}
	header nav > ul > li:nth-child(-n+4){
		border-bottom:1px solid #fff;
	}
	header nav > ul > li > a{
		display:block;
		line-height:1.5;
		padding:20px 0;
		font-family: 'Noto Sans JP', sans-serif;
		font-size:28px;
		font-weight:bold;
		color:#fff;
		letter-spacing:0.08em;
		text-indent:0.08em;
	}
	header nav > ul > li > a span{
		display:block;
		font-size:20px;
		color:#fff;
		letter-spacing:0;
		text-indent:0;
	}
	header .only_smart{
		display:block !important;
	}
	header nav > ul > li:nth-child(n+6){
		padding:15px 0;
	}
	header nav > ul > li:nth-child(6) a{
		margin:auto;
		padding:25px 0;
		background-color:#fff;
		border-radius:100px;
	}
	header nav > ul > li:nth-child(6) a img{
		width:315px;
	}
	header nav > ul > li:nth-child(7) ul li{
		display:inline-block;
		width:150px;
		margin:0 20px;
	}
	header nav > ul > li:nth-child(7) ul li a{
		display:block;
	}
	header nav > ul > li:nth-child(7) ul li a figure figcaption{
		font-size:22px;
		font-weight:bold;
		color:#fff;
	}
}

@media screen and (max-width:768px){
	header{
		height:75px;
	}
	header > span{
		line-height:15px;
		font-size:12px;
	}
	header > div{
		width:auto;
		height:60px;
		line-height:60px;
		padding:0 25px 0 20px;
		display:block;
	}
	header > div h1{
		width:250px;
		margin:auto;
	}
	header nav{
		display:none;
		width:100%;
		height:100vh;
		padding:40px 0 60px;
		background-color:rgba(238,121,72,0.85);
		overflow:auto;
		-webkit-overflow-scrolling: touch;
		position:fixed;
		left:0;
		top:0;
	}
	header nav > img.only_smart_i{
		display:inline-block !important;
		width:120px;
	}
	header nav > ul{
		width:80%;
		margin:5px auto 0;
	}
	header nav > ul > li > a{
		padding:10px 0;
		font-size:16px;
	}
	header nav > ul > li > a span{
		font-size:14px;
	}
	header nav > ul > li:nth-child(n+6){
		padding:10px 0;
	}
	header nav > ul > li:nth-child(6) a{
		padding:3% 0;
	}
	header nav > ul > li:nth-child(6) a img{
		width:56%;
	}
	header nav > ul > li:nth-child(7) ul li{
		display:inline-block;
		width:20%;
		margin:0 3%;
	}
	header nav > ul > li:nth-child(7) ul li a figure figcaption{
		line-height:1.9;
		font-size:3vw;
	}
}


@media screen and (max-width:480px){
	header > div h1{
		width:60%;
		min-width:180px;
	}
}

/* #btnmenu */
#btnmenu{
	width:80px;
	height:80px;
	margin:0;
	padding:0;
	cursor:pointer;
	position:relative;
	z-index:101;
	background:url(../images/btnmenu_bg.png)no-repeat center center;
	background-size:100% auto;
}
#btnmenu img{
	display:inline-block;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
}
#btnmenu.close img{
	opacity:0;
}

@media screen and (max-width:768px){
	#btnmenu{
		width:50px;
		height:50px;
		line-height:1;
		position:fixed;
		right:20px;
		top:20px;
	}
}
@media screen and (max-width:480px){
	#btnmenu{
		width:40px;
		height:40px;
		top:25px;
	}
}


/* article */
article{
	padding-top:117px;
}
@media screen and (max-width:768px){
	article{
		padding-top:75px;
	}
}


/* .cont */
.cont{
	max-width:1024px;
	width:94%;
	margin:auto;
	padding:50px 0 80px;
}
.cont h2{
	line-height:1.3;
	margin:0 0 10px;
	font-size:32px;
	font-family: 'Noto Sans JP', sans-serif;
	color:#ee7948;
	letter-spacing:0.08em;
	text-indent:0.08em;
}
.cont h2 span{
	display:block;
	font-size:18px;
	color:#6f442d;
	letter-spacing:0;
	text-indent:0;
}

@media screen and (max-width:768px){
	.cont{
		width:90%;
		margin:auto;
		padding:8% 0 12%;
	}
	.cont h2{
		font-size:5vw;
	}
}

/* #mv */
#mv{
	padding:0 0 102px;
	text-align:left;
	background:url(../images/mv_bg.png)no-repeat right 30px bottom 10px;
	background-size:452px auto;
}
#mv .slick_wrapper{
	margin:auto;
	border-radius:30px;
	overflow:hidden;
}
#mv .slick_wrapper .slick{
	display:none;
}
#mv h2{
	margin-top:50px;
}
#mv p{
	font-size:26px;
	font-weight:bold;
	line-height:1.5;
}
@media screen and (max-width:1040px){
	#mv{
		max-width:1024px;
		width:94%;
		margin:auto;
		text-align:left;
		background:url(../images/mv_bg.png)no-repeat right 30px bottom 10px;
		background-size:452px auto;
	}
	#mv .slick_wrapper{
		width:100%;
		margin:auto;
		border-radius:30px;
		overflow:hidden;
	}
	#mv p{
		font-size:26px;
		font-weight:bold;
		line-height:1.5;
	}
}

@media screen and (max-width:768px){
	#mv{
		width:auto;
		margin:auto;
		padding-left:5%;
		text-align:left;
		background:url(../images/mv_bg.png)no-repeat right 0 bottom 0;
		background-size:58% auto;
	}
	#mv .slick_wrapper{
		width:100%;
		border-radius:15px 0 0 15px;
	}
	#mv h2{
		margin-top:4%;
	}
	#mv p{
		font-size:3.6vw;
	}
}


/* #info */
#info{
	max-width:1024px;
	width:94%;
	margin:auto;
	padding:0 10px 50px;
	background-color:#fff;
	text-align:left;
	border-radius:20px;
}
#info h2{
	display:inline-block;
	margin:-40px 0 -10px;
	color:#6f442d;
	font-size:26px;
	letter-spacing:0.05em;
}
#info h2 img{
	width:126px;
	margin-right:0.7em;
	vertical-align:-1em;
}
#info dl{
	padding:0 80px 0 20px;
	line-height:1.5;
}
#info dl dt{
	padding:1em 0;
	float:left;
	font-weight:bold;
	color:#ee7948;
}
#info dl dd{
	padding:1em 0 1em 6.5em;
	font-weight:500;
	color:#585453;
	border-bottom:2px dotted #6f442d;
}

@media screen and (max-width:768px){
	#info{
		width:95%;
		margin:-3% 0 0 ;
		padding:0 5% 5%;
		border-radius:0 10px 10px 0;
	}
	#info h2{
		margin:-1.5em 0 -0.2em;
		font-size:4vw;
	}
	#info h2 img{
		width:4em;
		vertical-align:-0.7em;
	}
	#info dl{
		padding:0 3%;
	}
	#info dl dt{
		padding:1em 0;
		float:left;
		font-weight:bold;
		color:#ee7948;
	}
	#info dl dd{
		padding:1em 0 1em 6em;
		font-weight:500;
		color:#585453;
		border-bottom:2px dotted #6f442d;
	}
}


/* #cont1 */
#cont1{
	max-width:900px;
}
#cont1 > ul{
	margin:40px 0 10px;
}
#cont1 > ul li{
	display:inline-block;
	vertical-align:bottom;
	width:192px;
}
#cont1  > ul li:nth-child(2){
	margin:0 10px;
	padding-bottom:30px;
}
#cont1 > ul + p{
	font-weight:500;
}
#cont1 > ul + p + span{
	margin-top:35px;
	display:block;
	line-height:60px;
	font-size:22px;
	font-weight:bold;
	background-color:#fff;
	border-radius:30px;
}
#cont1 > dl{
	margin-bottom:30px;
}
#cont1 > dl div{
	margin-top:50px;
	padding:10px 30px 40px;
	background-color:#fff;
	border-radius:20px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont1 > dl div > dt{
	width:100%;
	line-height:60px;
	font-size:22px;
	font-weight:bold;
	text-align:left;
	border-bottom:2px dotted #e2dad5;
}
#cont1 > dl div > dt span{
	font-size:16px;
}
#cont1 > dl div > dd{
	width:33.3%;
	margin-top:40px;
	line-height:1.4;
}
#cont1 > dl div.half > dd{
	width:50%;
	margin-top:30px;
}
#cont1 > dl div.half > dd dl dt{
	margin-bottom:0.1em;
	font-weight:bold;
}
#cont1 > dl div > dd > span{
	display:inline-block;
	width:228px;
	line-height:40px;
	font-size:22px;
	font-weight:bold;
	background-color:#f3a17f;
	color:#fff;
	border-radius:20px;
}
#cont1 > dl div > dd figure img{
	max-width:235px;
	width:80%;
}
#cont1 > dl div > dd figure figcaption span{
	display:block;
	font-size:22px;
	font-weight:bold;
}

#cont1 > dl div.accordion > dt{
	cursor:pointer;
	position:relative;
}
#cont1 > dl div.accordion > dt:after{
	content:'＋';
	display:block;
	width:48px;
	line-height:48px;
	background-color:#ee7948;
	text-align:center;
	font-size:24px;
	font-weight:bold;
	color:#fff;
	border-radius:50%;
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
}
#cont1 > dl div.accordion > dt.open:after{
	content:'－';
}
#cont1 > dl div.accordion > dd{
	display:none;
}

@media screen and (max-width:1040px){
	#cont1 > ul{
		margin:5% 0 3%;
	}
	#cont1 > ul li{
		width:192px;
	}
	#cont1 > ul li:nth-child(2){
		margin:0 10px;
		padding-bottom:30px;
	}
	#cont1 > ul + p + span{
		margin-top:35px;
		display:block;
		line-height:60px;
		font-size:22px;
		font-weight:bold;
		background-color:#fff;
		border-radius:30px;
	}
	#cont1 > dl div > dd > span{
		width:80%;
		line-height:2;
		font-size:2vw;
	}
	
	#cont1 > dl div > dd figure figcaption{
		font-size:1.8vw;
	}
	#cont1 > dl div > dd figure figcaption span{
		font-size:2.2vw;
	}
}

@media screen and (max-width:768px){
	#cont1 > ul{
		margin:5% 0 3%;
	}
	#cont1 > ul li{
		width:28%;
	}
	#cont1 > ul li:nth-child(2){
		margin:0 1%;
		padding-bottom:3%;
	}
	#cont1 > ul + p{
		font-size:3vw;
	}
	#cont1 > ul + p + span{
		margin-top:5%;
		line-height:2.8;
		font-size:3.4vw;
	}
	#cont1 > dl{
		margin-bottom:3%;
	}
	#cont1 > dl div{
		margin-top:5%;
		padding:1% 3% 4%;
		border-radius:10px;
	}
	#cont1 > dl div > dt{
		width:100%;
		line-height:3;
		font-size:3.6vw;
		border-bottom:2px dotted #e2dad5;
	}
	#cont1 > dl div > dt span{
		font-size:3.2vw;
	}
	#cont1 > dl div > dd{
		width:50%;
		margin-top:5%;
	}
	#cont1 > dl div.half > dd{
		width:50%;
		margin-top:3%;
	}
	#cont1 > dl div.half > dd dl dt{
		margin-bottom:0.1em;
		font-weight:bold;
	}
	
	#cont1 > dl div > dd > span{
		width:80%;
		line-height:2;
		font-size:3vw;
	}
	
	#cont1 > dl div > dd figure figcaption{
		font-size:2.8vw;
		white-space:nowrap;
	}
	#cont1 > dl div > dd figure figcaption span{
		font-size:3.4vw;
	}
	
	#cont1 > dl div.accordion > dt:after{
		width:40px;
		line-height:40px;
		font-size:21px;
	}
}

@media screen and (max-width:480px){
	#cont1 > dl div.accordion > dt:after{
		width:25px;
		line-height:25px;
		font-size:16px;
	}
}



/* #cont2 */
#cont2{
	margin-top:-50px;
	padding-top:50px;
}
#cont2 > section{
	max-width:900px;
	width:94%;
	margin:auto;
	padding:0 0 50px;
	background-color:#fff;
	text-align:left;
	border-radius:20px;
	position:relative;
}
#cont2 > section:after{
	content:'';
	display:block;
	width:201px;
	padding-top:126px;
	background:url(../images/cont2_icon.png)no-repeat left top;
	background-size:100% auto;
	position:absolute;
	right:30px;
	top:-45px;
}
#cont2 > section h2{
	display:inline-block;
	margin:-40px 0 -10px -10px;
	color:#6f442d;
	font-size:26px;
	letter-spacing:0.05em;
}
#cont2 > section h2 img{
	width:126px;
	margin-right:0.7em;
	vertical-align:-1em;
}
#cont2 > section .slick_wrapper{
	width:90%;
	margin:20px auto 0;
	border-radius:30px;
	overflow:hidden;
}

@media screen and (max-width:768px){
	#cont2{
		margin-top:-10%;
		padding-top:10%;
	}
	#cont2 > section{
		width:95%;
		margin:-3% 0 0 5%;
		padding:0 0 5%;
		border-radius: 10px 0 0 10px;
	}
	#cont2 > section:after{
		width:28%;
		padding-top:63%;
		right:3%;
		top:-8%;
	}
	#cont2 > section h2{
		margin:-1.4em 0 -0.1em -1%;
		font-size:4vw;
	}
	#cont2 > section h2 img{
		width:4em;
		vertical-align:-0.7em;
	}
	#cont2 > section .slick_wrapper{
		width:86%;
		margin:3% 0 0 5%;
		border-radius:15px;
		overflow:hidden;
	}
}


/* #cont3 */
#cont3{
	padding-bottom:0;
}
#cont3 h2 + p{
	line-height:1.5;
	font-weight:bold;
}
#cont3 ul.links{
	margin:20px 0 50px;
}
#cont3 ul.links li{
	display:inline-block;
	width:150px;
	margin:0 20px;
}
#cont3 ul.links li a{
	display:block;
}
#cont3 ul.links li a figure figcaption{
	font-size:22px;
	font-weight:bold;
	color:#6f442d;
}

#cont3 div.twitter{
	max-width:680px;
	width:94%;
	margin:0 auto 50px;
	padding:30px 80px;
	border-radius:20px;
	background-color:#fff;
}

#cont3 ul.instagram{
	max-width:680px;
	width:94%;
	margin:0 auto 50px;
	padding:30px 80px;
	border-radius:20px;
	background-color:#fff;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont3 ul.instagram li{
	width:31%;
	margin:1.5% 0;
}
#cont3 ul.instagram li:nth-child(3n+2){
	margin-left:3.5%;
	margin-right:3.5%;
}
#cont3 ul.instagram li:nth-child(n+7){
	display:none;
}

#cont3 dl dt{
	font-weight:bold;
}

@media screen and (max-width:768px){
	#cont3 ul.links{
		margin:3% 0 8%;
	}
	#cont3 ul.links li{
		width:24%;
		margin:0 2.5%;
	}
	#cont3 ul.links li a figure figcaption{
		font-size:3vw;
	}
	
	#cont3 ul.instagram{
		width:96%;
		margin:0 auto 5%;
		padding:3% 5%;
		border-radius:10px;
	}
	#cont3 ul.instagram li{
		width:48%;
		margin:1% 1%;
	}
	#cont3 ul.instagram li:nth-child(3n+2){
		margin-left:1%;
		margin-right:1%;
	}

	#cont3 dl dt{
		font-weight:bold;
	}
}

/* #cont4 */
#cont4{
	max-width:900px;
	margin:auto;
}
#cont4 div{
	margin-top:30px;
}
#cont4 dl{
	text-align:left;
}
#cont4 dl dt{
	margin-top:1.5em;
	padding-top:1.5em;
	border-top:1px solid;
	font-weight:bold;
}
#cont4 dl dt:first-of-type{
	margin-top:0;
	border:none;
}
#cont4 dl dd{
	line-height:1.5;
}
#cont4 dl dd.indent{
	padding-left:1em;
	text-indent:-1em;
	color:#ff3333;
}

@media screen and (max-width:1024px){
	#cont4{
		width:90%;
		margin:auto;
	}
	#cont4 div{
		position:relative;
		height:0;
		margin-top:3%;
		padding-top:42%;
	}
	#cont4 iframe {
		position:absolute;
		top:0;
		left:0;
		width:100% !important;
		height:100% !important;
	}
}

@media screen and (max-width:768px){
	#cont4 div{
		padding-top:57%;
	}
}


/* footer */
footer{
	padding:40px 0;
	background-color:#fff;
}
footer img{
	width:415px;
}
@media screen and (max-width:768px){
	footer{
		padding:4% 0 18%;
	}
	footer img{
		width:54%;
	}
}



/* to_top */
#topbtn{
	width:71px;
	position:fixed;
	z-index:98;
	right:30px;
	bottom:-200px;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
@media screen and (max-width:768px){
	#topbtn{
		width:40px;
		right:10px;
	}
}


/* #side_nav */
#side_nav{
	width:166px;
	position:fixed;
	bottom:100px;
	left:-400px;
	z-index:100;
	transition : left 0.8s;
	-webkit-transition : left 0.8s;
	-webkit-animation: korokoro 2.5s linear 0s infinite;
	animation: korokoro 2.5s linear 0s infinite;
}
	@-webkit-keyframes korokoro {
		0%   { -webkit-transform: translate(0%, 0%); }
		5%   { -webkit-transform: translate(10%, 0%) rotate(10deg); }
		25%  { -webkit-transform: translate(20%, 0%) rotate(20deg); }
		30%  { -webkit-transform: translate(-10%, 0%) rotate(-10deg); }
		35%  { -webkit-transform: translate(-15%, 0%) rotate(-15deg); }
		45%  { -webkit-transform: translate(10%, 0%) rotate(10deg); }
		50%  { -webkit-transform: translate(15%, 0%) rotate(15deg); }
		60%  { -webkit-transform: translate(-5%, 0%) rotate(-5deg); }
		65%  { -webkit-transform: translate(-7%, 0%) rotate(-7deg); }
		75%  { -webkit-transform: translate(0%, 0%) rotate(0deg); }
		100% { -webkit-transform: translate(0%, 0%) rotate(0deg); }
	}
	@keyframes korokoro {
		0%   { transform: translate(0%, 0%); }
		5%   { transform: translate(10%, 0%) rotate(10deg); }
		25%  { transform: translate(20%, 0%) rotate(20deg); }
		30%  { transform: translate(-10%, 0%) rotate(-10deg); }
		35%  { transform: translate(-15%, 0%) rotate(-15deg); }
		45%  { transform: translate(10%, 0%) rotate(10deg); }
		50%  { transform: translate(15%, 0%) rotate(15deg); }
		60%  { transform: translate(-5%, 0%) rotate(-5deg); }
		65%  { transform: translate(-7%, 0%) rotate(-7deg); }
		75%  { transform: translate(0%, 0%) rotate(0deg); }
		100% { transform: translate(0%, 0%) rotate(0deg); }
	}



/* #bottom_nav */
#bottom_nav{
	width:100%;
	position:fixed;
	bottom:0;
	left:0;
	z-index:99;
	overflow:hidden;
}
#bottom_nav li{
	width:50%;
	float:left;
}
#bottom_nav li a{
	display:block;
}


