@charset "UTF-8";



/*ーーーーーーーーーーーーーーーーーーーーーーーー
css reset
ーーーーーーーーーーーーーーーーーーーーーーーー*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin:0;padding:0;
}
table{
    border-collapse:collapse;border-spacing:0;
}
fieldset,img{ border:0; }
address,caption,cite,code,dfn,em,strong,th,var{
    font-style:normal;font-weight:normal;
}
li { list-style:none; } caption,th{ text-align:left; }
h1,h2,h3,h4,h5,h6{
    font-size:100%;
}
q:before,q:after{ content:''; }
abbr,acronym{ border:0;font-variant:normal; }
sup{ vertical-align:text-top; }
sub{ vertical-align:text-bottom; }
input,textarea,select{ font-family:inherit;font-size:inherit;font-weight:inherit; }
input,textarea,select{ *font-size:100%; }
legend{ color:#000; }
img { vertical-align:middle; }





/*ーーーーーーーーーーーーーーーーーーーーーーーー
フォント
ーーーーーーーーーーーーーーーーーーーーーーーー*/

body,
h1,h2,h3,h4,h5,h6,
p,ul,ol,dl,dt,dd,li,
table,th,td,
form,select,option,input,
address,pre,strong,em,iframe {
font-family:
"Noto Sans JP",
sans-serif;
font-weight: 300;
font-size:1.17vw;
line-height:1;
color: #000;
}
.text_en {
font-family: "Barlow",sans-serif;
}
		@media screen and (min-width:1380px) {
		body,
		h1,h2,h3,h4,h5,h6,
		p,ul,ol,dl,dt,dd,li,
		table,th,td,
		form,select,option,input,
		address,pre,strong,em,iframe {
		font-size:16px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		body,
		h1,h2,h3,h4,h5,h6,
		p,ul,ol,dl,dt,dd,li,
		table,th,td,
		form,select,option,input,
		address,pre,strong,em,iframe {
		font-size:16px;
		}
		/*smp end*/}




/*行間設定
ーーーーーーーーーーーーーーーーーーーーーーーー*/

h1,h2,h3,h4,h5,h6 {
	line-height:1.4;
	}
p,span,div {
	line-height:1.8;
	}
th,td,caption,
ul,ol,li,
dl,dt,dd {
	line-height:1.8;
	}
#header p,
#header ul,
#header ol,
#header li {
	line-height:1;
	}





/*ーーーーーーーーーーーーーーーーーーーーーーーー
リンク
ーーーーーーーーーーーーーーーーーーーーーーーー*/

a:link,
a:visited,
a:hover,
a:active {
text-decoration: none;
color: #000;
}




/*ーーーーーーーーーーーーーーーーーーーーーーーー
基本レイアウト
ーーーーーーーーーーーーーーーーーーーーーーーー*/

/*調整
ーーーーーーーーーーーーーーーーーーーーーーーー*/
img {
max-width:100%;
height:auto;
}



/* オープニング
ーーーーーーーーーーーーーーーーーーーーーーーー */
#opening {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
background:#fff;
z-index: 99999;
position: absolute;
top: 0px;
left: 0px;
}
#opening .boxa {
text-align: center;
}
#opening .boxa p:first-child {
font-size: 1.9vw;
}
#opening .boxa p:last-child {
width: 34.41vw;
}
#opening .boxa p + p {
margin-top: 20px;
}
		@media screen and (min-width:1380px) {
		#opening .boxa p:last-child {
		width: 470px;
		}
		#opening .boxa p:first-child {
		font-size: 26px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		#opening .boxa {
		width: 80%;
		}
		#opening .boxa p:first-child {
		font-size: 17px;
		}
		#opening .boxa p:last-child {
		width: auto;
		}
		/*smp end*/}




/* TOPに戻るボタン
ーーーーーーーーーーーーーーーーーーーーーーーー */

#btn_gotop {
font-size: 1.02vw;
width: 2.93vw;
height: 4.39vw;
border: solid 1px #000;
background: #fff;
text-align: center;
position: fixed;
/* bottom: 435px; */
bottom: 1.46vw;
right: 1.46vw;
padding: 0.37vw 0px 0.73vw;
box-sizing: border-box;
cursor: pointer;
z-index: 99;
}
#btn_gotop img {
width: 0.88vw;
height: 1.46vw;
}

		@media screen and (min-width:1380px) {
		#btn_gotop {
		font-size: 14px;
		width: 40px;
		height: 60px;
		bottom: 20px;
		right: 20px;
		padding: 5px 0px 10px;
		}
		#btn_gotop img {
		width: 12px;
		height: 20px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		#btn_gotop {
		display: none;
		font-size: 10px;
		width: 40px;
		height: 50px;
		/* bottom: 416px; */
		bottom: 0px;
		right: 0px;
		padding: 7px 0px 0px;
		}
		#btn_gotop img {
		width: 10px;
		height: 20px;
		}
		/*smp end*/}




/*フッター
ーーーーーーーーーーーーーーーーーーーーーーーー*/

#footer {
background: #777;
text-align: center;
padding: 2.93vw 0px 1.46vw;
margin-top: 8.78vw;
margin-bottom: -1.17vw;
}
.bg + #footer {
margin-top: 0px;
}
#footer * {
color: #fff;
}
#footer p:first-child {
font-size: 1.46vw;
}
#footer p:nth-child(2) {
margin: 1.46vw auto 0px;
width: 13.18vw;
}
#footer p:nth-child(2) img {
width: 100%;
height: auto;
max-width: initial;
min-width: initial;
}

#footer_sns {
display: flex;
justify-content: center;
align-items: center;
margin-top: 2.56vw;
}
#footer_sns li {
margin: 0px 1.1vw;
width: 3.15vw;
}
#footer_sns li img {
width: 100%;
max-width: initial;
}
#footer p:last-child {
font-size: 1.02vw;
margin-top: 1.83vw;
}

		@media screen and (min-width:1380px) {
		#footer {
		padding: 40px 0px 20px;
		margin-top: 120px;
		margin-bottom: -16px;
		}
		#footer p:first-child {
		font-size: 20px;
		}
		#footer p:nth-child(2) {
		margin: 20px auto 0px;
		width: 180px;
		}
		#footer_sns {
		margin-top: 35px;
		}
		#footer_sns li {
		margin: 0px 15px;
		width: 43px;
		}
		#footer p:last-child {
		font-size: 14px;
		margin-top: 25px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		#footer {
		text-align: center;
		padding: 40px 0px 20px;
		margin-bottom: -16px;
		}
		#footer * {
		color: #fff;
		}
		#footer p:first-child {
		font-size: 20px;
		}
		#footer p:nth-child(2) {
		margin: 20px auto 0px;
		width: 150px;
		}
		#footer_sns {
		display: flex;
		justify-content: center;
		margin-top: 35px;
		}
		#footer_sns li {
		margin: 0px 15px;
		width: 43px;
		}
		#footer p:last-child {
		font-size: 14px;
		margin-top: 90px;
		margin-bottom: 0px;
		}
		/*smp end*/}


/* ハンバーガーメニュー
ーーーーーーーーーーーーーーーーーーーーーーーー */

/* js連動 */
#nav {
position: fixed;
top: 0;
right: 0;
z-index: 999;
}

#nav_btn {
width: 4.39vw;
height: 4.39vw;
background: #777;
position: relative;
cursor: pointer;
z-index: 9999;
}
#nav_btn span {
display: inline-block;
transition: all .4s;
position: absolute;
width: 2.2vw;
left: 1.1vw;
height: 1px;
background: #fff;
}
#nav_btn span:nth-of-type(1) {
top: 1.61vw;
}
#nav_btn span:nth-of-type(2) {
top: 2.2vw;
}
#nav_btn span:nth-of-type(3) {
top: 2.74vw;
width: 1.46vw;
}
#nav_btn.active span:nth-of-type(1) {
top: 2.12vw;
left: 1.1vw;
transform: translateY(0) rotate(-45deg);
width: 2.2vw;
}
#nav_btn.active span:nth-of-type(2) {
opacity: 0;
}
#nav_btn.active span:nth-of-type(3) {
top: 2.12vw;
left: 1.1vw;
transform: translateY(0) rotate(45deg);
width: 2.2vw;
}

/* 
		@media screen and (min-width:1380px) {
		#nav_btn {
		width: 60px;
		height: 60px;
		}
		#nav_btn span {
		width: 30px;
		left: 15px;
		}
		#nav_btn span:nth-of-type(1) {
		top: 22px;
		}
		#nav_btn span:nth-of-type(2) {
		top: 30px;
		}
		#nav_btn span:nth-of-type(3) {
		top: 39px;
		width: 20px;
		}
		#nav_btn.active span:nth-of-type(1) {
		top: 29px;
		left: 15px;
		transform: translateY(0) rotate(-45deg);
		width: 30px;
		}
		#nav_btn.active span:nth-of-type(3) {
		top: 29px;
		left: 15px;
		transform: translateY(0) rotate(45deg);
		width: 30px;
		}
		}
 */

		@media screen and (max-width:743px) {
		#nav_btn {
		width: 45px;
		height: 45px;
		}
		#nav_btn span {
		width: 26px;
		left: 10px;
		}
		#nav_btn span:nth-of-type(1) {
		top: 15px;
		}
		#nav_btn span:nth-of-type(2) {
		top: 21px;
		}
		#nav_btn span:nth-of-type(3) {
		top: 27px;
		width: 18px;
		}
		#nav_btn.active span:nth-of-type(1) {
		top: 22px;
		left: 10px;
		transform: translateY(0) rotate(-45deg);
		width: 26px;
		}
		#nav_btn.active span:nth-of-type(2) {
		opacity: 0;
		}
		#nav_btn.active span:nth-of-type(3) {
		top: 22px;
		left: 10px;
		transform: translateY(0) rotate(45deg);
		width: 26px;
		}
		/*smp end*/}

#nav_menu {
display: none;
opacity: 0;
transition: opacity 0.3s ease;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.9);
padding: 50px;
box-sizing: border-box;
z-index: 999;
overflow-y: auto;
}
#nav.open #nav_menu {
display: block;
}
body.nav-open {
overflow: hidden;
}


/* メニュー内 */

#nav_menu {
padding: 70px 10px 50px;
}

/* 見出し */
#nav_menu .boxa {
text-align: center;
}
#nav_menu .boxa p:first-child {
font-size: 1.32vw;
font-weight: 400;
line-height: 1.6;
}
#nav_menu .boxa p:last-child {
font-size: 3.37vw;
line-height: 1;
margin: 0.37vw auto 0px;
width: 23.43vw;
}

		@media screen and (min-width:1380px) {
		#nav_menu .boxa p:first-child {
		font-size: 18px;
		}
		#nav_menu .boxa p:last-child {
		font-size: 46px;
		margin: 5px auto 0px;
		width: 320px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		#nav_menu .boxa p:first-child {
		font-size: 12px;
		}
		#nav_menu .boxa p:last-child {
		font-size: 37px;
		width: 262px;
		margin: 0 auto;
		}
		/*smp end*/}

/* メインリンク */
#nav_menu .boxb {
margin: 40px auto 0px;
display: flex;
justify-content: center;
}
#nav_menu .boxb ul {
display: inline-block;
margin-right: 2.2vw;
margin-left: 2.2vw;
}
#nav_menu .boxb li {
font-size: 1.32vw;
font-weight: 400;
margin-top: 1.46vw;
}
#nav_menu .boxb li img {
margin-right: 0.73vw;
width: 2.93vw;
height: 2.93vw;
}

		@media screen and (min-width:1380px) {
		#nav_menu .boxb ul {
		margin-right: 30px;
		margin-left: 30px;
		}
		#nav_menu .boxb li {
		font-size: 18px;
		margin-top: 20px;
		}
		#nav_menu .boxb li img {
		margin-right: 10px;
		width: 40px;
		height: 40px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		#nav_menu .boxb {
		display: block;
		}
		#nav_menu .boxb ul {
		display: block;
		width: 260px;
		margin-right: auto;
		margin-left: auto;
		position: relative;
		right: -15px;
		}
		#nav_menu .boxb ul + ul {
		margin-top: 20px;
		}
		#nav_menu .boxb li {
		font-size: 16px;
		margin-top: 20px;
		}
		#nav_menu .boxb li:first-child {
		margin-top: 0px;
		}
		#nav_menu .boxb li img {
		margin-right: 10px;
		width: 35px;
		height: 35px;
		}
		/*smp end*/}

/* バナー */
#nav_menu .boxc {
text-align: center;
margin: 2.93vw auto 0px;
width: 13.18vw;
}

		@media screen and (min-width:1380px) {
		#nav_menu .boxc {
		margin: 40px auto 0px;
		width: 180px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		#nav_menu .boxc {
		text-align: center;
		margin: 50px auto 0px;
		width: 130px;
		}
		/*smp end*/}

/* SNS */
#nav_menu .boxd {
margin:2.93vw auto 0px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
#nav_menu .boxd li {
margin: 0px 0.88vw;
}
		@media screen and (min-width:1380px) {
		#nav_menu .boxd {
		margin:40px auto 0px;
		}
		#nav_menu .boxd li {
		margin: 0px 12px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		#nav_menu .boxd {
		margin:25px auto 0px;
		}
		/*smp end*/}

