@charset "UTF-8";

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* 大枠 */
html,
body {
	overflow-x: clip;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	-webkit-overflow-scrolling: touch !important;
	-moz-osx-font-smoothing: grayscale;
}
body {
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	word-wrap : break-word;
	overflow-wrap : break-word;
}
#wrapper {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
body > #wrapper {
	height: auto;
}
.clearfix:after {
	visibility: hidden;
	display: block;
	content: " ";
	clear: both;
	height: 0;
}
a{-webkit-transition: all .2s; transition: all .2s;}

@media print {
	html,
	html body{overflow: visible !important;}
}

/* アクセシビリティ */
.guidance {
	left:-999px;
	position:absolute;
	width:990px;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
} /* レスポンシブ対応 */
img {
	image-rendering: auto;
	vertical-align: bottom;
	box-shadow: #000 0 0 0; /* ロールオーバー対応 */
}
img,
x:-moz-any-link,
x:default {
	box-shadow: #000 0 0 0; /* IE7対応 */
}
/* リンク */
a{
	display: inline-block;
}
a:link,
a:visited,
a:active {
	color: inherit;
	text-decoration: none;
}
a:hover {
	color: inherit;
	opacity: .7;
	text-decoration: none!important;
}

/* font */
.roboto{ font-family: "Roboto", sans-serif;}
.kiwi{ font-family: "Kiwi Maru", serif;}
/* color */
.f-white{ color: #fff;}
.f-red{ color: #C44D18;}

/* CLEARFIX */
.container:after,
.row:after,
.col:after {
	content: "";
	display: table;
	clear: both;
}

.container {
	width: 100%;
	max-width: 1040px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
}

.pc {display: block;}
.sp {display: none;}



/* ▼▼▼ ヘッダー
====================================================== */
header{
	position: relative;
	z-index: 999;
}
header #site_title{
	position: absolute;
	left: 20px;
	top: 20px;
	font-size: 22px;
	font-weight: 500;
	line-height: 74px;
}
header #site_title a{
	padding-left: 118px;
	background: url(../img/logo.webp) left center / contain no-repeat;
}
header #site_title a:hover{
	opacity: 1;
}
header ul{
	position: fixed;
	right: 16px;
	top: 20px;
	display: flex;
	align-items: center;
	gap: 8px;
}
header ul a{
	display: inline-block;
	padding: 20px 40px 20px 60px;
	color: #fff!important;
	font-weight: bold;
	line-height: 1.5;
	border-radius: 100px;
	box-shadow: 0 0 15px 0 rgba(87, 84, 84, 0.30);
	position: relative;
}
header ul a:before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 12px;
	top: 12px;
	width: 40px;
	height: 40px;
	border-radius: 100px;
}
header ul a.btn1{
	background: #389575;
}
header ul a.btn1:before{
	background: url(../img/ic-pc.svg) center no-repeat #fff;
}
header ul a.btn2{
	background: #988369;
}
header ul a.btn2:before{
	background: url(../img/ic-mail.svg) center no-repeat #fff;
}

/* ▼▼▼ 480px〜768px
====================================================== */
@media screen and (max-width: 767px) {

	body{
		font-size: 4.26vw;
	}
	body.wrap {
		overflow: hidden;
	}

	#wrapper {width: 100%;}
	#screen {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color:rgba(0,0,0,0.8);
		z-index: 200;
	}

	.pc {display: none;}
	.sp {display: block;}


	/* ▼▼▼ ヘッダー
	====================================================== */
	header{
		position: relative;
		z-index: 999;
	}
	header #site_title{
		left: 1vw;
		top: 2vw;
		font-size: 4.26vw;
		line-height: 3;
	}
	header #site_title a{
		padding-left: 20vw;
		background-size: 20vw auto;
	}
	header ul{
		right: 0;
		top: auto;
		bottom: 0;
		gap: 0;
		width: 100%;
		border-radius: 5vw 5vw 0 0;
		overflow: hidden;
	}
	header ul li{
		width: 50%;
	}
	header ul a{
		display: block;
		width: auto;
		padding: 3vw 0 3vw 18vw;
		line-height: 1.4;
		border-radius: 0;
	}
	header ul a:before{
		left: 4vw;
		top: 50%;
		transform: translateY(-50%);
		width: 10.66vw;
		height: 10.66vw;
		background-size: 6.4vw auto!important;
	}
}


/* ▼▼▼ フッター
===================================== */
footer {
	padding-bottom: 50px;
	background: #389575;
	position: relative;
}
footer:before{
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(99.9% - 40px);
  transform: translateX(-50%);
  width: 110%;
  height: 80px;
  background: #389575;
  border-radius: 50%;
}
footer figure{
  position: absolute;
  left: 5%;
	top: -60px;
	width: 216px;
	z-index: 1;
}
footer .lead{
	padding-top: 1em;
	margin-bottom: 1em;
  color: #fff;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
	position: relative;
}
footer .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	position: relative;
	z-index: 1;
}
footer .btn a{
	display: inline-block;
	padding: 20px 40px 20px 60px;
	font-weight: bold;
	line-height: 1.5;
	border-radius: 100px;
	box-shadow: 0 0 15px 0 rgba(87, 84, 84, 0.30);
	position: relative;
}
footer .btn a:before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 12px;
	top: 12px;
	width: 40px;
	height: 40px;
	border-radius: 100px;
}
footer .btn a.btn1{
	color: #389575;
	background: #fff;
}
footer .btn a.btn1:before{
	border: 1px solid #389575;
	background: url(../img/ic-pc.svg) center no-repeat #fff;
}
footer .btn a.btn2{
	color: #fff;
	background: #988369;
}
footer .btn a.btn2:before{
	background: url(../img/ic-mail.svg) center no-repeat #fff;
}
footer .insta{
	padding-top: 25px;
	text-align: center;
}
footer .insta a{
	color: #fff;
	font-size: 15px;
	display: inline-block;
	padding-right: 50px;
	background: url(../img/ic-insta.svg) right center no-repeat;
	min-height: 30px;
	line-height: 30px;
}



/* ▼▼▼ 480px〜768px
====================================================== */
@media screen and (max-width: 767px) {

	/* ▼▼▼ フッター
	====================================================== */
	footer {
		padding-bottom: 25vw;
	}
	footer:before{
		bottom: calc(99.9% - 20vw);
		height: 40vw;
	}
	footer figure{
		left: 0;
		top: -25vw;
		width: 45vw;
	}
	footer .lead{
		position: relative;
		top: -1em;
		padding: 0 0 0 48vw;
		margin-bottom: 1em;
		font-size: 5.2vw;
		text-align: left;
	}
	footer .btn{
		display: block;
		padding: 0 14%;
	}
	footer .btn a{
		display: block;
		padding: 1.2em 0 1.2em 18vw;
		margin-bottom: 5vw;
		font-size: 4.26vw;
	}
	footer .btn a:before{
		left: 4vw;
		top: 50%;
		transform: translateY(-50%);
		width: 10.66vw;
		height: 10.66vw;
		background-size: 6.4vw auto!important;
	}
	footer .insta{
		padding-top: 5vw;
	}
	footer .insta a{
		font-size: 4vw;
		padding-right: 13.33vw;
		background: url(../img/ic-insta.svg) right center / 8vw auto no-repeat;
		min-height: 8vw;
		line-height: 8vw;
	}


}
