@charset "utf-8";

@import url("./reset.css");
@import url('./style.css');

/* --------------------------------------------------- */
/* ローディング */
/* --------------------------------------------------- */
#loading {
	position: fixed;
	top: 0;
	left: 0;
	display: table;
	width: 100%;
	height: 100vh;
	background-color: #fef3e2;
	z-index: 999;
}
#loading dl {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 35%;
	max-width: 160px;
	transform: translate(-50%, -50%);
}
#loading dl dt {
	margin: 0 auto;
	width: 56.26%;
	animation-name: loading;
	animation-duration: 5s;
	animation-iteration-count: infinite;
}
#loading dl img  { width: 100%; height: auto; }
@keyframes loading {
	0% { transform: rotateY(0deg); }
	100% { transform: rotateY(360deg); }
}


/* --------------------------------------------------- */
/* レイアウト */
/* --------------------------------------------------- */
.wrap {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	min-width:320px;
	background: #fff;
	overflow: hidden;
}
.vertical-column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
}
main { flex: 1 0 auto; }
main section {
	padding-left: 5%;
	padding-right: 5%;
}
.contents {
	margin: 0 auto;
	max-width: 1040px;
}
.inner {
	display: table;
	width: 100%;
}
.contents a { transition: all 0.3s; }
.pcmode .contents a:hover { opacity:0.3; }


/* --------------------------------------------------- */
/* ヘッダー */
/* --------------------------------------------------- */
header {
	position: relative;
	padding: 20px 4%;
}
header dl  {
	display: table;
	margin: 0 auto;
	width: 100%;
	max-width: 1040px;
}
header dl dt {
	display: inline-block;
	float: left;
}
header dl dt a { display: block; }
header dl dt a p { color: #444; font-size: 1.6rem; }
header dl dt a h1 {
	font-family: 'M PLUS 1p', sans-serif; 
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
}
header dl dt a h1 span:first-child {
	margin-right: 0.6em;
	font-size: 66%;
}
header dl dd {
	display: inline-block;
	text-align: right;
	float: right;
}
header dl dd a {
	display: inline-block;
	padding-left: 1.2em;
	background-image: url('../image/tel.png');
	background-repeat: no-repeat;
	background-size: auto 75%;
	background-position: 0 50%;
	color: #39b54a;
	font-family: 'M PLUS 1p', sans-serif; 
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.3;
}
header dl dd  p { font-size: 1.2rem; }

@media screen and (max-width: 1039px) {
	header { padding: 15px 4%; }
	header dl dt a p { margin: 3px 0; font-size: 1.4rem; }
	header dl dt a h1 { font-size: 2.4rem; }
}
@media screen and (max-width: 767px) {
	header dl dt {
		display: block;
		float: none;
		text-align: center;
	}
	header dl dd {
		display: block;
		margin-top: 0.5em;
		float: none;
		text-align: center;
	}
	header dl dt a h1 { font-size: 2.1rem; }
	header dl dt a p { margin: 0; font-size: 1.3rem; }
	header dl dd a {
		font-size: 2.8rem;
		letter-spacing: 0.02em;
	}
	header dl dd  p { font-size: 1.1rem; }
}
@media screen and (max-width: 419px) {
	header dl dt a p { font-size: 1.2rem; }
	header dl dd a { font-size: 2.4rem; }
	header dl dd  p { font-size: 1.0rem; }
}




/* --------------------------------------------------- */
/* フッター */
/* --------------------------------------------------- */
footer {
	margin-top: 80px;
	padding: 30px 4%;
	background-color: #39b54a;
	color: #fff;
	font-size: 1.0rem;
	text-align: center;
}
footer .contents {
	display: table;
	width: 100%;
}
footer h1 {
	display: inline-block;
	float: left;
}
footer h1 a {
	font-family: 'M PLUS 1p', sans-serif; 
	font-size: 1.8rem;
	font-weight: 700;
}
footer h1 a span:first-child {
	margin-right: 0.5em;
	font-size: 80%;
}
footer ul {
	margin-left: auto;
	text-align: right;
}
footer ul li {
	display: inline-block;
	margin-left:  30px;
}
footer ul li a { font-size: 1.4rem; line-height: 2.2;}
footer .credit { margin-top: 30px; color: #b4e3ba; }

@media screen and (max-width: 767px) {
	footer {
		margin-top: 60px;
		padding: 25px 4%;
	}
	footer h1 { float: none; }
	footer ul {
		margin: 10px auto 0;
		text-align: center;
	}
	footer ul li {
		display: inline-block;
		margin: 0 12px;
	}
	footer ul li a { font-size: 1.3rem; }
	footer .credit { margin-top: 20px; }

}
@media screen and (max-width: 419px) {
	footer {
		margin-top: 40px;
		padding: 20px 3%;
	}
	footer ul li a { font-size: 1.2rem; }
	footer .credit { margin-top: 15px; }
}


/* --------------------------------------------------- */
/* コーナータイトル */
/* --------------------------------------------------- */
h3.sctitle {
	margin-bottom: 1em;
	color: #39b54a;
	font-family: 'M PLUS 1p', sans-serif; 
	font-size: 3.6rem;
	font-weight: 700;
	text-align: center;
}

@media screen and (max-width: 767px) {
	h3.sctitle { margin-bottom: 0.8em; font-size: 2.8rem; }
}
@media screen and (max-width: 419px) {
	h3.sctitle { margin-bottom: 0.6em; font-size: 2.1rem; }
}

/* --------------------------------------------------- */
/* ボタン */
/* --------------------------------------------------- */
.lsizebtn { margin: 40px auto 0; }
.lsizebtn a {
	display: table;
	width: 100%;
	padding: 18px 24px;
	background-color: #39b54a;
	border-radius: 20px;
	box-sizing: border-box;
	color: #fff;
}
.bnr_contact a { background-color: #eb6120; }
.lsizebtn a .btn-inner {
	display: table;
	margin: 0 auto;
	width: 100%;
	max-width: 800px;
	min-height: 80px;
	background-repeat: no-repeat;
	background-size: 80px auto;
	background-position: 0 50%;
	box-sizing: border-box;
}
.lsizebtn a .btn-inner > div {
	display: table-cell;
	padding: 0 96px;
	vertical-align: middle;
}
/* 電話 */
.bnr_contact a .btn-inner { background-image:url('../image/bnr_contact.png') ; }
.bnr_contact a dl {
	display: table;
	width: 100%;
}
.bnr_contact a dl dt {
	display: inline-block;
	 font-weight: 700;
	vertical-align: middle;
	float: left;
}
.bnr_contact a dl dt p {  font-size: 1.8rem; }
.bnr_contact a dl dt h2 { font-size: 2.4rem; line-height: 1.3; }
.bnr_contact a dl dd {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	float: right;
}
.bnr_contact a dl dd h4 {
	font-family: 'M PLUS 1p', sans-serif; 
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.0;
}
.bnr_contact a dl dd p { font-size: 1.2rem;}
.bnr_contact a dl dd p span { padding: 0 0.3em; }
/* プリント */
.bnr_print a .btn-inner {
	background-image: url('../image/bnr_print.png');
	text-align: center;
}
.bnr_print a span { font-size: 3.2rem; line-height: 1.3; font-weight: 700;  }

@media screen and (max-width: 899px) {
	.lsizebtn a .btn-inner > div { padding: 0 0 0 80px; }
}
@media screen and (max-width: 767px) {
	.lsizebtn { margin: 30px auto 0; }
	.lsizebtn a {
		padding: 12px 18px;
		border-radius: 18px;
	}
	.lsizebtn a .btn-inner { background-size: 56px auto; }
	.lsizebtn a .btn-inner > div { padding: 0 64px 0 64px; }
	.bnr_contact a dl dt { display: block; float: none; text-align: center; }
	.bnr_contact a dl dt p,
	.bnr_contact a dl dt h2 { display:inline-block; font-size: 1.6rem; line-height: 1.6; }
	.bnr_contact a dl dd {
		display: block;
		float: none;
	}
	.bnr_print a span { font-size: 2.8rem; }
}
@media screen and (max-width: 579px) {
	.lsizebtn { margin: 20px auto 0; }
	.lsizebtn a .btn-inner { background-size: 48px auto; }
	.lsizebtn a .btn-inner > div { padding: 0 24px 0 48px; }
	.bnr_contact a dl dd h4 {
		font-size: 3.2rem;
		line-height: 1.2;
	}
	.bnr_contact a dl dt p,
	.bnr_contact a dl dt h2 { display:inline-block; font-size: 1.2rem; line-height: 1.6; }
	.bnr_contact a dl dd p { font-size: 1.0rem;}
	.bnr_print a span { font-size: 2.4rem; }
}
@media screen and (max-width: 419px) {
	.lsizebtn { margin: 15px auto 0; }
	.lsizebtn a {
		padding: 8px 12px;
		border-radius: 15px;
	}
	.lsizebtn a .btn-inner {
		min-height: 64px;
		background-size: 36px auto;
	}
	.lsizebtn a .btn-inner > div { padding: 0 12px 0 32px; }
	.bnr_contact a dl dt p { display: none; }
	.bnr_contact a dl dt h2 { font-size: 1.4rem; line-height: 1.4; }
	.bnr_contact a dl dd h4 {
		font-size: 2.6rem;
		line-height: 1.2;
	}
	.bnr_contact a dl dd p span { font-size: 1.2rem; }
	.bnr_contact a dl dd p span:last-child { display: none; }
	.bnr_print a span  { font-size: 1.8rem; }
}


/* --------------------------------------------------- */
/* BasicBreakPoint */
/* --------------------------------------------------- */
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 419px) {
}