@charset "utf-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);



html,
body { width:100%; min-width: 320px; }
body { height:auto; background:#fffac6;}
/*body *{ border:0.02px solid #000000; background:rgba(000,000,000,0.1)}*/


/* フォントの指定 */
html { font-size: 62.5%; }
body,input,select,textarea { 
	font-size:14px; font-size:1.4rem; 
	line-height:1.8; 
	letter-spacing:0.05em;
	font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
	font-weight: 600;
	font-style: normal;
	color:#5e4400; }
	
a {color:#231815; text-decoration: none;}
p a {color:#5e4400; text-decoration: underline;}

	@font-face {
		font-family: "gen_h";
		src: url("../../font/genjyu.eot?") format('eot'),
				 url("../../font/genjyu.woff") format('woff'),
				 url("../../font/genjyu.ttf") format('truetype');
	}
	@font-face {
		font-family: "gen_b";
		src: url("../../font/genjyu_b.eot?") format('eot'),
				 url("../../font/genjyu_b.woff2") format('woff2'),
				 url("../../font/genjyu_b.woff")  format('woff');
	}
	
	.gen_h {
		font-family: "gen_h", sans-serif;
		font-weight: normal;
	}
	.gen_b {
		font-family: "gen_b", sans-serif;
		font-weight: normal;
	}



/* セレクト時の色指定 */
::selection {
    background: #FFDD00;
    color: #fff;
}
::-moz-selection {
    background: #FFDD00; /*Firefox*/
    color: #fff;
}

.inner { width: 94%; margin: 0 auto;}
.mw100 { max-width: 100%;}
.showPc { }
.showSp { display: none;}
.imgTxt { position:relative;}
.imgTxt p { overflow: hidden;position:absolute; top: 0; left: 0; width: 100%; height: 100%; text-indent:-100vw; font-size: 10px!important; }
@media screen and (max-width:980px){
	html { font-size: 50%; }
	.showPc { display: none ; }
	.showSp { display: block ; }
}


/* --------------------------------------------

#main

---------------------------------------------- */ 
#main { }


/* --------------------------------------------

#header

---------------------------------------------- */ 
.header { width: 100%; background: #e50012;}
.header .header-inner {
	width: 94%; max-width: 1295px;
	margin: 0 auto;
	padding: 0.8em 0;
}
@media screen and (max-width:768px){
.header .header-inner {
	padding: 0.4em 0 0;
}
}

.header .header-logo {
	display: block;
	float: left;
	width: 40%; max-width: 343px;
}
.header .header-logo img {
	display: block;
	width: 100%;
}
@media screen and (max-width:980px){
.header .header-logo {
	float: left;
	width: 45%; max-width: 230px; min-width: 180px;
}
}
@media screen and (max-width:768px){
.header .header-logo {
	float: none;
	margin: 0 auto 1em;
}
}

.header .header-information {
	float: right;
	overflow: hidden;
	width: 55%; max-width: 460px;
}
@media screen and (max-width:980px){
.header .header-information {
	max-width: 400px;
}
}
@media screen and (max-width:768px){
.header .header-information {
	float: none;
	overflow: hidden;
	width: 100%; max-width: none;
	position: fixed; bottom: 0; left: 0; z-index: 1;
	padding: 1em 1% 0.8em;
	background: #e50012;
}
}

.header-information .header-information__tel {
	float: left;
	width: 65%;
	font-size: 14px; font-size: 1.4rem;
	color: #fff;
}
@media screen and (max-width:768px){
.header-information .header-information__tel {
	width: 58%;
	margin-right: 2%;
	text-align: center;
}

.header-information .header-information__tel span {
	font-size: 13px; font-size: 1.3rem;
}
}
@media screen and (max-width:450px){
.header-information .header-information__tel {
	margin-right: 1%;
}
.header-information .header-information__tel span {
	display: none;
}
}

.header-information .header-information__tel b {
	display: block;
	font-size: 32px; font-size: 3.2rem;
	line-height: 1.2;
	letter-spacing: 0
}
@media screen and (max-width:980px){
.header-information .header-information__tel b {
	font-size: 28px; font-size: 2.8rem;
	font-weight: normal;
	line-height: 1.2;
}
}
@media screen and (max-width:450px){
.header-information .header-information__tel b {
	font-size: 24px; font-size: 2.4rem;
}
}

.header-information .header-information__tel b::before {
	display: inline-block;
	content: "";
	width: 38px;
	height: 28px;
	margin-right: 0.25em;
	background: url("../img/index/contact_tel_icon.png") top left no-repeat;
	background-size: contain;
}
@media screen and (max-width:980px){
.header-information .header-information__tel b::before {
	width: 34px;
	height: 24px;
}
}
@media screen and (max-width:980px){
.header-information .header-information__tel b::before {
	width: 30px;
	height: 20px;
}
}
@media screen and (max-width:450px){
.header-information .header-information__tel b::before {
	display: block;
	width: 22px;
	height: 14px;
	margin: 0 auto;
}
}



.header-information .header-information__contact {
	display: block;
	box-sizing: border-box;
	float: right;
	width: 35%; max-width: 155px;
	height: 50px;
	margin: 0.4em 0 0;
	font-size: 15px; font-size: 1.5rem;
	color: #e50012;
	text-align: center;
	line-height: 50px;
	border-radius: 25px;
	background: #fff;
}
@media screen and (max-width:980px){
.header-information .header-information__contact {
	float: left;
	width: 35%; max-width: 155px; min-width: 110px;
	height: 45px;
	margin: 0;
	line-height: 45px;
}
}
@media screen and (max-width:768px){
.header-information .header-information__contact {
	width: 40%;
	height: 38px;
	line-height: 38px;
}
}
@media screen and (max-width:450px){
.header-information .header-information__contact {
	max-width: 120px;
}
}

.header-information .header-information__contact::before {
	display: inline-block;
	content: "";
	width: 32px;
	height: 20px;
	margin-right: 0.25em;
	vertical-align: middle;
	background: url("../img/index/header_mail_icon.png") top left no-repeat;
	background-size: contain;
}
@media screen and (max-width:980px){
.header-information .header-information__contact::before {
	width: 28px;
	height: 16px;
}
}
@media screen and (max-width:450px){
.header-information .header-information__contact::before {
	width: 22px;
	height: 12px;
}
}


.header-description {
	padding: 0.5em 5%;
	background: #fff;
}

.header-description .header-description__text {
	font-size: 17px; font-size: 1.7rem;
	text-align: center;
	color: #e50012;
}
@media screen and (max-width:450px){
.header-description .header-description__text {
	font-size: 13px; font-size: 1.3rem;
	text-align: left;
}
}



/* --------------------------------------------

footer

---------------------------------------------- */ 

.footer {
	padding-bottom: 2em;
	background: #e50012;
}
.footer-inner {
	width: 94%; max-width: 1245px;
	margin: 0 auto;
	padding: 3em 0;
}
@media screen and (max-width:768px){
.footer-inner {
	display: none;
}
}

.footer .footer-logo {
	float: left;
	width: 40%; max-width: 343px;
	margin-top: 1em;
}

.footer .footer-info {
	float: right;
	color: #fff;
}
.footer .footer-info p {
	font-size: 14px; font-size: 1.4rem;
	text-align: right;
	line-height: 1.4;
	letter-spacing: 0;
}

.footer .footer-info .footer-info__tel {
	font-size: 36px; font-size: 3.6rem;
	line-height: 1.4;
}
.footer .footer-info .footer-info__tel::before {
	display: inline-block;
	content: "";
	width: 37px;
	height: 27px;
	margin-right: 0.25em;
	background: url("../img/index/contact_tel_icon.png") top left no-repeat;
	background-size: contain;
}

.footer .footer-info__tel_fax span:nth-of-type(1) {
	margin-right: 1em;
}

.footer .footer-copy {
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
}
@media screen and (max-width:768px){
.footer .footer-copy {
	padding: 5em 0;
}
}









