@charset "utf-8";
/* CSS Document */


html{
	font-size: 62.5%;
}

body{
	position: relative;
	/*z-index: -999;*/
	min-width: 1200px;
    width: 100%;
    height: 100%;
    line-height: 1.7;
	font-family: 'Noto Sans JP',sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
}
body.child::before{
	display: block;
	content: "";
	min-width: 1200px;
	width: 100%;
	height: 343px;
	background: url(../img/common/top.jpg) no-repeat center top;
	background-size: cover;
	position: absolute;
}
body.child::after{
	content: "";
	display: block;
	width: 100%;
	height: 212px;
	position: absolute;
	top:74px;
	background-color:rgba(6,104,205,0.8);
	opacity: 80%;
	background-clip: border-box;
background-origin: padding-box;
}
a{
	cursor: pointer;
}
header{
	width: 1000px;
	margin: auto;
	position: relative;
}

body.child header{
	height: 343px;
}
body.child header h1,
body.child header h2{
	text-align: center;
	position: absolute;
	z-index: 1;
}
body.child header h1{
	top: 170px;
    left: -9px;
}
body.child header h1 a{
	display: block;
}
body.child header h1 img{
	width: 720px;
}
body.child h1::after{
	display:block;
	content: "";
	width: 970px;
	height: 1px;
	margin: 16px 0 0px;
background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 17%, rgba(255,255,255,1) 52%, rgba(255,255,255,1) 88%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 17%,rgba(255,255,255,1) 52%,rgba(255,255,255,1) 88%,rgba(255,255,255,0) 100%); 
background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 17%,rgba(255,255,255,1) 52%,rgba(255,255,255,1) 88%,rgba(255,255,255,0) 100%); 
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 );

}
body.child header h2{
	top: 233px;
    left: 228px;
}
body.child header h2 img{
	display: block;
	width: 533px;
}
body.child header p{
	position: absolute;
	color: #FFFFFF;
	font-size: 2.05rem;
	font-family: 'A-OTF-UDShinGoPro',sans-serif;
	top:126px;
	left:420px;
	z-index: 2;
	letter-spacing: 0.1em;
}
body.child header .logo{
	display: block;
	width: 80px;
	position: absolute;
	z-index: 6;
	top: 19px;
    left: 428px;
}
body.child header .flower,
body.child header .deer{
	position: absolute;
	z-index: 7;
}
body.child header .flower{
	top: 198px;
    left: 15px;
}
body.child header .deer{
	top:59px;
	right: 21px;
}
.contents{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 1000px;
	margin: auto;
}
/*見出しスタイル*/
h3{
	background: #f1ece3;
	font-family: 'Noto Serif JP' ,serif;
	font-weight: 500;
	font-size: 3.0rem;
	text-align: center;
	padding: 26px 0;
	width: 100%;
	color: #12457a;
	letter-spacing: 0.1em;
	line-height: 1;
}
h4.styl01{
	font-size: 2.4rem;
	color: #111111;
	text-align: center;
	font-weight: 400;
}
h4.styl01::after{
	display: block;
    content: "";
    width: 50px;
    height: 2px;
    background: #0668cd;
    margin: 20px auto;
}
h4.styl02{
	font-size: 2.0rem;
	font-weight: 500;
	color: #3b3b3b;
	border-bottom: 2px solid #dddddd;
	letter-spacing: 0.1em;
}
h4.styl02::before{
	display: inline-block;
	content: "";
	width: 5px;
	background: #12457a;
	height: 15px;
	margin-right: 12px;
}

h4.styl02 span{
	font-size: 1.6rem;
	font-weight: 400;
}
/*dlタグ*/
dl.styl01 dt{
	font-size: 1.5rem;
	font-weight: 500;
	background: #f7f8f9;
	border-left: 4px solid #3886d7;
	color: #132C46;
	padding: 0.2em 0 0.2em 1em;
	letter-spacing: 0.1em;
}

dl.styl01 dd{
	margin: 20px auto;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.7;
}
/*ナビスタイル*/
nav ul{
	width: 252px;
	background: #3886d7;
	color: #FFFFFF;
	font-size: 1.6rem;
	line-height: 1;
}
nav ul li{
	position: relative;
}
nav ul li a{
	text-decoration: none;
	color: #FFFFFF;
	display: block;
	padding:33px 17px 0;
}
nav ul li a p{
	border-bottom: 1px rgba(255,255,255,0.3) solid;
	padding-bottom: 26px;
	transition: 0.5s;
}
nav ul li:last-child a p{
	border: none;
}
nav ul li.unable a{
	opacity: 0.3;
	pointer-events: none;
}
nav ul li.active a{
	pointer-events: none;
	color: #f5fd7b;
}
nav ul li a p::after{
	color: #8fc1f5;
content: "\f105";
font-family: 'Font Awesome 5 Free';
font-weight: 900;
	font-size: 1.7rem;
	position: absolute;
	right: 20px;
	transition: 0.5s;
}

nav ul li a:hover p::after{
	right: 25px;
}

nav ul li a:hover p{
	color: #f5fd7b;
}

nav img{
	margin-top: 40px;
}
nav .banners{
	transition: 0.3s;
}
nav .banners:hover{
	opacity: 0.8;
}
ol.list01,ul.list01{
	color: #3b3b3b;
}

/*パンくず部分*/
ul.bread{
	font-size: 1.1rem;
	color: #4470c1;
	display: flex;
	list-style: none;
	letter-spacing: 0.1em;
	align-items: center;
}
ul.bread .fa-home:before{
	color: #4470c1;
}
ul.bread li:first-child::after{
	display: inline-block;
	margin-left: 7px;
	content: "\f105";
	width: 1em;
	height: 1em;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
ul.bread li .fa-home:before{
	font-size: 1.7rem;
}
/*コンテンツ部分*/
body.child .contents{
	margin-top: 60px;
}
.main_box{
	width:710px;
	margin-left: 38px;
}
.cntct{
	display: flex;
	justify-content: space-between;
	margin: 50px auto 122px;
}

.cntct dl{
	width: 48.5%;
}

.cntct dl dt{
	font-size: 1.6rem;
	letter-spacing: 0.2em;
	color: #FFFFFF;
	text-align: center;
	line-height: 1;
	padding: 13px 0;
}
.cntct dl dd{
	margin:16px 10px 10px;
}
.cntct dl dd .name{
	font-size: 1.6rem;
	line-height: 1;
	letter-spacing: 0.1em;
}
.cntct dl dd .add{
	font-size: 1.4rem;
	line-height: 1;
	margin: 22px auto 13px;
}
.cntct dl dd .numbr{
	display: flex;
	justify-content: space-between;
}
.cntct dl dd .tel,
.cntct dl dd .fax{
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
.cntct dl.left dd .tel,
.cntct dl.left dd .fax{
	font-size: 0.9rem;
	letter-spacing: 0.05em;
}
.cntct dl dd .tel{
	margin-right: 11px;
}
.cntct dl dd .tel::before,
.cntct dl dd .fax::before{
	display: inline-block;
	line-height: 1;
	color: #111111;
	background: #eeeeee;
	text-align: center;
	padding:4px 6px ;
	margin-right: 6px;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}

.cntct dl dd .tel::before{
	content: "TEL";
}
.cntct dl dd .fax::before{
	content: "FAX";
}
.cntct dl.left dt{
	background: #3886d7;
}
.cntct dl.right dt{
	background: #4470c1;
}
.cntct dl.right a.btn_cmmn{
	display: block;
	background: #f05035;
	color: #FFFFFF;
	font-size: 1.6rem;
	text-align: center;
	text-decoration: none;
	border-radius: 4px;
	padding: 20px 0;
	margin-top: 26px;
	transition: 0.5s;
	line-height: 1;
	width: 400;
}
.cntct dl.right a::before{
	content: "";
	display: inline-block;
	background: url(../img/common/mail.png)no-repeat;
	width: 22px;
	height: 15px;
	padding: 1px 19px 0 0;
	margin: 1px 0 -2px 0;
}
.cntct dl.right a:hover{
	opacity: 0.8;
}
/*フッタースタイル*/
footer{
	background: #154cb1;
	text-align: center;
	color: #FFFFFF;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 400;
	padding: 18px 0;
	letter-spacing: 0.1em;
}
/*TOPへ戻るボタン*/
.totop{
	display: block;
	position: fixed;
	background: #f05035;
	opacity: 50%;
	color: #FFFFFF;
	width: 50px;
	height: 50px;
	bottom: 62px;
	right: 20px;
	border-radius: 24px;
	text-decoration: none;
}
.totop::before{
	display: inline-block;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: "\f106";
    font-size: 2.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
/*フォントサイズ*/
.mid{
	font-weight: 500;
}
/*フォント余白*/
.ls01{
	letter-spacing: 0.1em;
}
.ls02{
	letter-spacing: 0.2em;
}
.ls03{
	letter-spacing: 0.3em;
}
.ls04{
	letter-spacing: 0.4em;
}.ls05{
	letter-spacing: 0.5em;
}

/*ボタンデザイン*/
.btn01{
	display:block;
	width: 400px;
	height: 60px;
	margin: 1px auto;
	border-radius: 10px;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 400;
	color: #fff;
    transition: 0.3s;
	text-align: center;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.btn01 span{
	margin: 15px;
	display: inline-block;
}

.keynum span::before{
	content: '\f084';
	display: inline-block;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	padding: 0.2em;
}

.btn01::before{
	display: block;
	width: 400px;
	height: 400px;
	padding: 20px;
	content: "";
	
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e58ee+0,1e85d2+61,1ebde1+99 */
background: rgb(30,88,238); /* Old browsers */
background: -moz-radial-gradient(center, ellipse cover,  rgba(30,88,238,1) 0%, rgba(30,133,210,1) 61%, rgba(30,189,225,1) 99%); /* FF3.6-15 */
background: -webkit-radial-gradient(center, ellipse cover,  rgba(30,88,238,1) 0%,rgba(30,133,210,1) 61%,rgba(30,189,225,1) 99%); /* Chrome10-25,Safari5.1-6 */
background: radial-gradient(ellipse at center,  rgba(30,88,238,1) 0%,rgba(30,133,210,1) 61%,rgba(30,189,225,1) 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e58ee', endColorstr='#1ebde1',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
z-index: -1;
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.5);
		transition: 0.5s;
}
.btn01:hover{
	color: #f5fd7b;
	letter-spacing: 0.05em;
}
.btn01::after{
	display: inline-block;
	content: '\f0de';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	transform: rotate(90deg);
	font-size: 1.65rem;
	transition: 0.1s;
}
.btn01:hover::after{
	transform: translate(5px,0) rotate(90deg);
}
.btn01:hover::before{
	top: 50%;
    left: 50%;
transform:translate(-50%, -30%) scale(1);
}