@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
body {
	-webkit-text-size-adjust: 100%;
	font-family: "Noto Sans JP", system-ui;
	font-size:18px;
	text-align:center;
	color:#393934;
	line-height:2;
	letter-spacing:0.02em;
	font-feature-settings: "palt";
}
@media screen and (max-width:768px){
	body {
		font-size:3.4vw;
	}
}

.mincho{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}


a {
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
	color:#393934;
}
a:hover {
	opacity: 0.8;
}

img{
	max-width:100%;
}

.only_smart,
.only_smart_i,
.only_smart_f{
	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;
	}
	.only_smart_f{
		display: -webkit-flex!important;
    display: flex!important;
	}
}


#wrapper{
}


/* 色・書式関係 */
.blue{
	color:#02A8E4;
}
.bg_blue{
	color:#fff;
	background-color:#02A8E4;
}
.bg_sky{
	background-color:#CCEEFA;
}
.bg_gray{
	background-color:#E9EAEA;
}

.text_left{
	text-align:left;
}
.text_right{
	text-align:right;
}
.text_center{
	text-align:center:
}
.bold{
	font-weight:bold;
}



/* header */
header{
	width:100%;
	background-color:#fff;
	position:fixed;
	z-index:100;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
}
header > div{
	height:124px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
header > div > .head_logo{
	display:block;
	width:124px;
	position:relative;
	z-index:101;
}
header > div > nav{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	font-size:16px;
}
header > div > nav .menu{
	width:820px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
header > div > nav .menu li{
	line-height:1;
	margin:0.5em 0;
	padding:0 1em;
	border-left:1px solid #02A8E4;
}
header > div > nav .menu li.no_border{
	border-left:none;
}
header > div > nav .menu li a{
	color:#02A8E4;
}
header > div > nav .contact{
	width:183px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
header > div > nav .contact li{
	width:50%;
}
header > div > nav .contact li:first-child{
	width:100%;
}
header > div > nav .contact li a{
	line-height:1;
	height:36px;
	display:block;
	border:2px solid #fff;
	border-right:none;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
header > div > nav .contact li:first-child a{
	height:88px;
	border:none;
	border-left:2px solid #fff;
}
header > div > nav .contact li a img{
	display:block;
	width:2em;
	margin:0 auto 0.5em;
}

@media screen and (max-width:1200px){
	header > div > nav{
		font-size:14px !important;
	}
	header > div > nav .menu{
		width:720px;
	}
	header > div > nav .contact{
		width:150px;
	}
}

@media screen and (max-width:1024px){
	header > div{
		height:80px;
	}
	header > div > .head_logo{
		width:100px;
	}
	header > div > nav{
		display:none;
		width:100%;
		height:100vh;
		padding-top:90px;
		background-color:#fff;
		position:fixed;
		left:0;
		top:0;
		font-size:18px;
	}
	header > div > nav .menu{
		width:auto;
		display: block;
	}
	header > div > nav .menu li{
		line-height:2;
		margin:0.5em 0;
		padding:0;
		border-left:none;
	}
	header > div > nav .contact{
		width:300px;
		margin:auto;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	header > div > nav .contact li{
		width:50%;
	}
	header > div > nav .contact li:first-child{
		width:100%;
		margin-bottom:1em;
	}
	header > div > nav .contact li a{
		line-height:1;
		height:42px;
		border:2px solid #fff;
	}
	header > div > nav .contact li:first-child a{
		height:60px;
		border:2px solid #fff;
	}
}


/* #btnmenu */
#btnmenu{
	width:50px;
	height:50px;
	margin:0;
	padding:0;
	position:relative;
	z-index:105;
	cursor:pointer;
	background-color:#fff;
	display:none;
}
#btnmenu span{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 32px;
	height: 2px;
	border-radius:2px;
	margin: -1px 0 0 -16px;
	background: #02A8E4;
	-webkit-transition: .2s;
	transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 32px;
	height: 2px;
	background: #02A8E4;
	border-radius:2px;
	-webkit-transition: .3s;
	transition: .3s;
}

#btnmenu span:before{
	margin-top: -10px;
}

#btnmenu span:after{
	margin-top: 7px;
}
#btnmenu .close{
	width:50px;
	height:50px;
	margin-top:-25px;
	margin-left:-25px;
	box-shadow:none;
	background-color:transparent;
	border-radius:0;
}

#btnmenu .close:before,
#btnmenu .close:after{
	margin-top: 0;
	background-color:#02A8E4;
}

#btnmenu .close:before{
	width: 32px;
	height: 2px;
	margin: -2px 0 0 10px;
	border-radius:2px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btnmenu .close:after{
	width: 32px;
	height: 2px;
	margin: -2px 0 0 10px;
	border-radius:2px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

@media screen and (max-width:1024px){
	#btnmenu{
		display:block;
	}
}



/* article */
article{
	padding-top:124px;
}
article h1 + p{
	margin-top:-9%;
	display:inline-block;
	text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;
}
article .mv_bottom{
	display:block;
	margin-top:-10%;
	
}

@media screen and (max-width:1024px){
	article{
		padding-top:80px;
	}
	article h1 + p{
		margin-top:-6%;
	}
}

@media screen and (max-width:768px){
	article h1 + p{
		margin-top:0;
	}
	article .mv_bottom{
		margin-top:0;
		
	}
}


/* .cont */
.cont{
	padding:70px 0;
}
.cont .inner{
	max-width:1000px;
	width:90%;
	margin:auto;
}
.cont .tit{
	font-size:34px;
}
.cont .tit:after{
	content:'';
	display:block;
	width:1.5em;
	height:1px;
	margin:0.3em auto 0;
	border-bottom:2px solid;
}

@media screen and (max-width:768px){
	.cont{
		padding:9% 0;
	}
	.cont .tit{
		font-size:5vw;
	}
}



/* #cont1 */
#cont1{
	padding-top:50px;
}
#cont1 .inner{
	margin-top:50px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont1 .inner section{
	width:69%;
}
#cont1 .inner section h3{
	line-height:1.5;
	font-size:26px;
}
#cont1 .inner section p{
	margin-top:0.5em;
}
#cont1 .inner figure{
	width:28%;
}

@media screen and (max-width:768px){
	#cont1{
		padding-top:5%;
	}
	#cont1 .inner{
		margin-top:5%;
		display: block;
	}
	#cont1 .inner section{
		width:auto;
	}
	#cont1 .inner section h3{
		font-size:4.5vw;
	}
	#cont1 .inner figure{
		width:auto;
	}
}


/* #cont2 */
#cont2{
}
#cont2 .inner{
	margin-top:50px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont2 .inner > div{
	width:48.5%;
	margin-top:3%;
	padding:3% 0;
	font-weight:bold;
	color:#393934;
	background-color:#fff;
	border-radius:1.5em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont2 .inner > div.w100{
	width:100%;
}
#cont2 .inner > div.w60{
	width:58%;
}
#cont2 .inner > div.w40{
	width:38%;
}
#cont2 .inner > div dt{
	width:100%;
	line-height:1.5;
	font-size:26px;
}
#cont2 .inner > div dd{
	min-width:7.2em;
	margin-top:0.8em;
}
#cont2 .inner > div dd figure img{
	width:92px;
}
#cont2 .inner > div dd a{
	padding:0 1em;
	display:inline-block;
	font-size:14px;
	font-weight:normal;
	position:relative;
	border-radius:0.3em;
	cursor:pointer;
}
#cont2 .inner > div dd a:after{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 0.3em 0 0.3em 0.3em;
	border-color: transparent transparent transparent #fff;
	position:absolute;
	right:0.35em;
	top:50%;
	transform:translateY(-50%);
}

@media screen and (max-width:1024px){
	#cont2 .inner{
		display: block;
	}
	#cont2 .inner > div,
	#cont2 .inner > div.w100,
	#cont2 .inner > div.w60,
	#cont2 .inner > div.w40{
		width:auto;
	}
	#cont2 .inner > div.w100 dd{
		min-width:6em;
	}
}

@media screen and (max-width:768px){
	#cont2 .inner{
		margin-top:5%;
	}
	#cont2 .inner > div dt{
		font-size:4vw;
	}
	#cont2 .inner > div dd{
		min-width:6.2em;
	}
	#cont2 .inner > div.w100 dd{
		min-width:7.2em;
	}
	#cont2 .inner > div dd figure img{
		width:4.5em;
	}
	#cont2 .inner > div dd a{
		font-size:3.2vw;
	}
}


/* #cont3 */
#cont3{
	padding:90px 0;
}
#cont3 .inner{
	margin-top:70px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont3 .inner li{
	width:126px;
	position:relative;
}
#cont3 .inner li:nth-child(n+2):before{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 0.4em 0 0.4em 0.4em;
	border-color: transparent transparent transparent #02A8E4;
	position:absolute;
	right:104%;
	top:50%;
	transform:translateY(-50%);
}
#cont3 .inner li figure figcaption{
	width:100%;
	font-weight:bold;
	position:absolute;
	top:100%;
}

@media screen and (max-width:1100px){
	#cont3 .inner{
		max-width:600px;
		width:100%;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#cont3 .inner li{
		margin:0 0.5em 9%;
	}
}

@media screen and (max-width:768px){
	#cont3{
		padding:9% 0;
	}
	#cont3 .inner{
		max-width:auto;
		width:60%;
		margin-top:7%;
		display: block;
	}
	#cont3 .inner li{
		width:auto;
		margin:0 0 2em;
		position:relative;
		background-color:#fff;
		border-radius:0.5em;
	}
	#cont3 .inner li:nth-child(n+2):before{
		content:'';
		width:0;
		height:0;
		border-style:solid;
		border-width: 1em 1em 0 1em;
		border-color: #02A8E4 transparent transparent transparent;
		position:absolute;
		right:50%;
		top:auto;
		bottom:calc(100% + 1em);
		transform:translate(50%,50%);
	}
	#cont3 .inner li figure{
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#cont3 .inner li figure img{
		width:4em;
	}
	#cont3 .inner li figure figcaption{
		width:auto;
		padding-right:4em;
		position:static;
		top:auto;
		flex:1;
	}
}


/* #cont4 */
#cont4{
}
#cont4 .inner{
	margin-top:70px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#cont4 .inner dl{
	width:47%;
	line-height:1.6;
	text-align:left;
}
#cont4 .inner dl dt{
	float:left;
}
#cont4 .inner dl dd{
	margin-bottom:0.5em;
	padding-left:3.5em;
}
#cont4 .inner figure{
	width:50%;
}

@media screen and (max-width:768px){
	#cont4 .inner{
		margin-top:7%;
		display: block;
	}
	#cont4 .inner dl{
		width:auto;
	}
	#cont4 .inner figure{
		width:auto;
		margin-top:1em;
	}
}


/* #cont5 */
#cont5{
}
#cont5 .inner{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont5 .inner li{
	width:45%;
	margin-top:90px;
	text-align:left;
}
#cont5 .inner li h3{
	line-height:1.8;
	font-size:25px;
}
#cont5 .inner li h3 img{
	display:block;
	width:90%;
	margin-bottom:1em;
}
#cont5 .inner li p{
	margin-top:1em;
}
#cont5 .inner li a{
	margin-top:1em;
	display:inline-block;
}
#cont5 .inner li a img{
	width:1em;
	margin-right:0.1em;
}

@media screen and (max-width:1024px){
	#cont5 .inner li h3{
		font-size:2.5vw;
	}
}

@media screen and (max-width:768px){
	#cont5 .inner{
		display: block;
	}
	#cont5 .inner li{
		width:auto;
		margin-top:12%;
	}
	#cont5 .inner li h3{
		font-size:4.5vw;
	}
	#cont5 .inner li h3 img{
		max-width:400px;
		width:72%;
		margin-bottom:0;
	}
}


/* #cont6 */
#cont6{
}
#cont6 .inner{
	margin-top:70px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont6 .inner li{
	width:49%;
}
#cont6 .inner li section{
	padding:5%;
	text-align:left;
	background-color:#fff;
}
#cont6 .inner li section dl dt{
	line-height:1.8;
	padding:0 1em;
	display:inline-block;
	font-weight:bold;
	position:relative;
}

#cont6 .inner li section dl dt:after{
	content:'';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.8em 1.8em 0 0;
	border-color: #02A8E4 transparent transparent transparent;
	position:absolute;
	left:100%;
	top:0;
}
#cont6 .inner li section h3{
	margin-top:1em;
	line-height:1.4;
	font-size:20px;
}
#cont6 .inner li section p{
	margin-top:1em;
}

@media screen and (max-width:1024px){
	#cont6 .inner li section h3 br{
		display:none;
	}
}

@media screen and (max-width:768px){
	#cont6 .inner{
		margin-top:0;
		display: block;
	}
	#cont6 .inner li{
		width:auto;
		margin-top:9%;
	}
	#cont6 .inner li section h3{
		font-size:3.6vw;
	}
}


/* #cont7 */
#cont7{
}
#cont7 .inner{
	margin-top:70px;
}
#cont7 .inner div{
	margin-top:4%;
	padding:2.5% 3%;
	text-align:left;
	background-color:#fff;
	box-shadow:2px 2px 10px rgba(0,0,0,0.4);
}
#cont7 .inner div dt{
	line-height:1.8;
	padding:0 60px 0 50px;
	font-size:24px;
	font-weight:bold;
	background:url(../images/cont7_q.svg)no-repeat left 0.2em;
	background-size:36px auto;
	position:relative;
	cursor:pointer;
}
#cont7 .inner div dt:after{
	content:'＋';
	line-height:0;
	font-size:60px;
	font-weight:normal;
	color:#02A8E4;
	position:absolute;
	right:0;
	top:0.3em;
}
#cont7 .inner div dt.close:after{
	content:'－';
}
#cont7 .inner div dd{
	margin-top:50px;
	padding-left:50px;
	padding-bottom:0.5em;
	background:url(../images/cont7_a.svg)no-repeat left 0.5em;
	background-size:36px auto;
	display:none;
}

@media screen and (max-width:768px){
	#cont7 .inner{
		margin-top:7%;
	}
	#cont7 .inner div{
		box-shadow:1px 1px 5px rgba(0,0,0,0.4);
	}
	#cont7 .inner div dt{
		padding:0 10vw 0 6.5vw;
		font-size:3.6vw;
		font-weight:bold;
		background-size:5vw auto;
	}
	#cont7 .inner div dt:after{
		content:'＋';
		line-height:0;
		font-size:8vw;
		font-weight:normal;
		color:#02A8E4;
		position:absolute;
		right:0;
		top:0.35em;
	}
	#cont7 .inner div dt.close:after{
		content:'－';
	}
	#cont7 .inner div dd{
		margin-top:5%;
		padding-left:6.5vw;
		background-position:left 0.4em;
		background-size:5vw auto;
	}
}


/* #cont8 */
#cont8{
}
#instagram{
	margin-top:70px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#instagram li{
	width:23%;
	margin:1em 0 0;
}
#instagram li p{
	text-align:left;
}
#instagram li span{
	display:block;
	margin: 0.3em 0 0 ;
	text-align:right;
}
#instagram li div{
	padding-top:100%;
	position:relative;
}
#instagram li div.video{
	padding-top:100%;
}
#instagram li div img,
#instagram li div video{
	object-fit: cover;
	width: 100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	cursor:pointer;
}


@media screen and (max-width:1024px){
}

@media screen and (max-width:768px){
	#instagram{
		margin-top:7%;
	}
	#instagram li{
		width:47%;
	}
}


/* #cont9 */
#cont9{
}
#cont9 .inner{
	margin-top:70px;
}
#cont9 .inner > div{
	margin-top:1.5%;
	padding:0.8em 1.5em;
	text-align:left;
	background-color:#fff;
}
#cont9 .inner > div > dt{
	font-weight:bold;
	float:left;
}
#cont9 .inner > div > dt.no_float{
	float:none;
}
#cont9 .inner > div > dd{
	padding-left:10em;
	color:#393934;
}
#cont9 .inner > div > dt.no_float + dd{
	padding-left:0;
}

#cont9 .inner > div > dd dl dt{
	float:left;
}
#cont9 .inner > div > dd dl dd{
	padding-left:6em;
}
#cont9 .inner > div > dd ul.inline{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#cont9 .inner > div > dd ul.inline li{
	width:28%;
	margin:1.5% 2.5% 3%;
	cursor:pointer;
}
#cont9 .inner > div > dd ul.inline li figure figcaption{
	line-height:1.5;
	margin-bottom:0.5em;
	text-align:center;
}

@media screen and (max-width:1024px){
	#cont9 .inner > div > dd ul.inline li figure figcaption{
		font-size:13px;
	}
}

@media screen and (max-width:768px){
	#cont9 .inner{
		margin-top:7%;
	}
	#cont9 .inner > div{
		padding:0.8em 1em;
	}
	#cont9 .inner > div > dt{
		float:none;
	}
	#cont9 .inner > div > dd{
		padding-left:0;
	}
	#cont9 .inner > div > dd ul.inline{
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
	justify-content: space-between;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#cont9 .inner > div > dd ul.inline li{
		width:48%;
		margin:1.5% 0 3%;
	}
	#cont9 .inner > div > dd ul.inline li figure figcaption{
		font-size:3vw;
	}
}


/* #contact */
#contact{
}
#contact h2 + p{
	margin-top:50px;
}
#contact form > dl{
	margin-top:90px;
	text-align:left;
}
#contact form > dl > div{
	margin-top:1em;
	padding:1em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	background-color:#F2F1F1;
}
#contact form > dl > div > dt{
	width:235px;
	font-weight:bold;
	text-align:left;
	float:left;
}
#contact form > dl > div > dt.hissu:after{
	content:'必須';
	display:inline-block;
	line-height:1.6;
	vertical-align:middle;
	margin-left:0.5em;
	padding:0 0.3em;
	font-size:13px;
	color:#fff;
	background-color:#FF5E00;
}
#contact form > dl > div > dd{
	flex:1;
}
#contact form > dl > div > dd ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#contact form > dl > div > dd ul li{
	width:48%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
#contact form > dl > div > dd ul li span{
	margin-right:0.5em;
	font-weight:bold;
}
#contact section{
	height:380px;
	margin-top:50px;
	padding:1.5em;
	line-height:1.8;
	font-size:16px;
	border:1px solid;
	overflow:auto;
}
#contact section h3{
	font-size:27px;
}
#contact section p{
	margin-top:1.8em;
}
#contact section > dl{
	text-align:left;
}
#contact section > dl dt{
	margin-top:0.5em;
}
#contact section > dl dd ul{
	padding-left:1.5em;
}
#contact section > dl dd ul li{
	list-style:disc;
}

#contact form .privacy{
	margin:70px 0 0.5em;
}

@media screen and (max-width:768px){
	#contact h2 + p{
		margin-top:5%;
		padding:0 5%;
		text-align:left;
	}
	#contact form > dl{
		margin-top:9%;
	}
	#contact form > dl > div{
		margin-top:0.5em;
		padding:1em;
		display:block;
	}
	#contact form > dl > div > dt{
		width:100%;
	}
	#contact form > dl > div > dt.hissu:after{
		font-size:2.2vw;
	}
	#contact form > dl > div > dd{
		width:100%;
	}
	#contact form > dl > div > dd ul{
		width:100%;
	}
	#contact section{
		height:200px;
		margin-top:5%;
		font-size:3vw;
	}
	#contact section h3{
		font-size:4vw;
	}

	#contact form .privacy{
		line-height:1.5;
		margin:7% 0 0.5em;
	}
}


/* .confirm */
#contact.confirm{
}
#contact.confirm h2{
}
@media screen and (max-width:768px){
}

/* #thanks */
#thanks{
	padding:100px 0;
}
#thanks p{
	margin-top:1.8em;
	padding:0 5%;
}
@media screen and (max-width:768px){
	#thanks{
		min-height:90vh;
		padding:10% 0;
	}
	#thanks p{
		text-align:left;
	}
}


/* #overlay */
html.overlay {
	overflow: hidden;
	height: 100%;
}
#overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	padding: 50px 5% 100px;
	top: 0;
	left: 0;
	z-index: 105;
	background-color: rgba(0, 0, 0, 0.5);
	overflow:auto;
	display: none;
}
#overlay #modal {
	min-height:100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
#overlay #modal > li {
	display:none;
}
#overlay #modal .bg_white {
	max-width:750px;
	width:100%;
	margin:auto;
	padding: 5%;
	background-color: #fff;
	border-radius:1.5em;
}
#overlay #modal .bg_white figure img{
	width:92px;
}
#overlay #modal .bg_white figure figcaption{
	font-size:26px;
	font-weight:bold;
}
#overlay #modal .bg_white p{
	display:inline-block;
	margin:3% 0 5%;
	text-align:left;
}
#overlay #modal .bg_white dl{
	margin:3% 0 5%;
	text-align:left;
}
#overlay #modal .bg_white dl dt{
	margin-top:1em;
}
#overlay #modal .bg_white ul{
	margin:3% 0 5%;
	text-align:left;
}
#overlay #modal .bg_white ul.flex{
	padding-left:1%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#overlay #modal .bg_white ul.flex li{
	width:33%;
}

#overlay #modal li a{
	width:5em;
	margin:auto;
	display:block;
	font-size:14px;
	font-weight:normal;
	position:relative;
	border-radius:0.3em;
	cursor:pointer;
}
#overlay #modal li a:after{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 0.3em 0 0.3em 0.3em;
	border-color: transparent transparent transparent #fff;
	position:absolute;
	right:0.4em;
	top:50%;
	transform:translateY(-50%);
}
#overlay #modal .pdf {
	max-width:750px;
	margin:auto;
}
#overlay #modal .pdf a{
	transform:translateY(-150%);
}


@media screen and (max-width:768px){
	#overlay #modal .bg_white figure img{
		width:4.5em;
	}
	#overlay #modal .bg_white figure figcaption{
		margin-top:0.5em;
		line-height:1.5;
		font-size:4vw;
	}

	#overlay #modal li a{
		font-size:3.2vw;
	}
}

/* footer */
footer{
	padding-top:90px;
	background-color:#F6F5F5;
}
footer dl dt{
	width:200px;
	margin:0 auto 50px;
}
footer p{
	line-height:5;
	margin-top:150px;
	font-size:14px;
}

@media screen and (max-width:768px){
	footer{
		padding-top:9%;
	}
	footer dl dt{
		width:35%;
		margin:0 auto 5%;
	}
	footer p{
		margin-top:15%;
		font-size:2.8vw;
	}
}



/* top_top */
#topbtn{
	width:50px;
	line-height:50px;
	font-size:21px;
	border-radius:50%;
	color:#fff;
	background-color:#02A8E4;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
	position:fixed;
	z-index:99;
	right:20px;
	bottom:-150px;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
@media screen and (max-width:768px){
	#topbtn{
		width:40px;
		line-height:40px;
		font-size:18px;
		right:15px;
	}
}

/* #bottom_nav */
#bottom_nav{
	width:100%;
	padding:0.5em 0.3em;
	background-color:rgba(255,255,255,0.8);
	-webkit-justify-content: space-around;
	justify-content: space-around;
	position:fixed;
	bottom:-20%;
	z-index:103;
	transition : bottom 0.8s;
	-webkit-transition : bottom 0.8s;
}
#bottom_nav li{
	width:45%;
}
#bottom_nav li a{
	display:block;
	line-height:3;
	font-size:4vw;
	color:#fff;
	background-color:#4E9157;
}


/* fadein */
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_0 {
	opacity : 0;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}

.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein.scrollin,
.fadein_0.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}