@charset "utf-8";



*{margin:0;padding:0;}

html{
	font-size:62.55%;
	word-break:break-all;
	word-wrap:break-word;
}
body{
	color:#000;
	font-family:'游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Helvetica', 'Arial', sans-serif;
	font-size:16px;
	font-size:1.6rem;
	font-weight:500;
	line-height:1.88;
	padding:0;
	margin:0;
	overflow-x:hidden;
}
ul, li{
	list-style:none;
	padding:0;
	margin:0;
}
img{
	max-width:100%;
	vertical-align:bottom;
}
a{
	text-decoration:none;
	transition:all 0.4s ease;
}
a:hover{
	opacity:0.6;
}
i, em, address{font-style:normal;}

.head > h2.heading{
	line-height: 1.5;
	text-align: center;
	color: #3d3d3d;
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 Pr6 W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
	font-size: 48px;
	font-size: 4.8rem;

}
.head > h2.heading span:nth-child(2){
	display: block;
}
.head > .sub-title{
	text-align: center;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 500;
	font-size: 30px;
	font-size: 3.0rem;
	color: #272828;
}
.head > .sub-title .txt-b{
	color: #2262c3;
}
.head > .sub-title > .border-b{
	border-bottom: 2px solid #2262c3;
}
.head > .sub-title > .border-w{
	border-bottom: 2px solid #fff;
}
.body .text span{
	display: block;
}
.button{
	width: 36%;
	display: block;
	background: #fff;
	position: relative;
	line-height: 1;
	margin: 0 auto;
	padding: 2rem 0;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	color: #2262c3;
	border: 1px solid #2262c3;
}
.button span{
	position: relative;
}
.button span:after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -10rem;
	margin: auto;
	width: 68px;
	height: 6px;
	background: url(../images/allow_b.png) no-repeat;
}
.pc-block{
	display: block;
}
.sp-block{
	display: none;
}



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

/*************************
/* flex-box
*************************/
.flex-box{
	display:-webkit-flex;
	display:flex;
}
.flex-box-nowrap{
	-webkit-flex-wrap:nowrap;
	flex-wrap:nowrap;
}
.flex-box-wrap{
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}
.flex-box-row-rever{
	-webkit-flex-direction:row-reverse;
	flex-direction:row-reverse;
}
.flex-box-column{
	-webkit-flex-direction:column;
	flex-direction:column;
}
.flex-box-column-r{
	-webkit-flex-direction:column-reverse;
	flex-direction:column-reverse;
}
.flex-box-space-b{
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.flex-box-space-a{
	-webkit-justify-content:space-around;
	justify-content:space-around;
}
.flex-box-space-c{
	-webkit-justify-content:center;
	justify-content:center;
}
.flex-box-space-e{
	-webkit-justify-content:flex-end;
	justify-content:flex-end;
}
.flex-box-item-c{
	-webkit-align-items:center;
	align-items:center;
}
.flex-box-item-e{
	-webkit-align-items:flex-end;
	align-items:flex-end;
}

/*******************************
/* ac
*******************************/
.ac-target{}
.ac-now{}


/*******************
 * header
********************/
#header{
	position: absolute;
	top: 0;
	z-index: 10;
	width: 100%;
}
#header .inner {
	max-width: 1280px;
	margin: auto;
	padding: 2rem 0;
}
#header .inner h1{
	line-height: 1;
}
#header .inner h1 a{
	color: #fff;
	font-size: 24px;
	font-size: 2.4rem;
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 Pr6 W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
#header ul li+li{
	margin-left: 3rem;
}
#header ul li a{
	color: #fff;
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 Pr6 W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
#header ul li a span{
	display: inline-block;
	vertical-align: middle;
}
#header ul li a span+span{
	margin-left: 1rem;
}
#header ul li a span img{
	vertical-align: sub;
}
#header ul li:nth-child(4) a span img{
	width: 24px;
}
#header ul li:last-child a{
	background: #2262c3;
	padding: 1rem 1.8rem;
}
#header.fixed {
	position: fixed;
	top: 0;
	z-index: 10;
	width: 100%;
	opacity: 0;
	animation-name: NavAreaIn;
	animation-duration: 1.2s;
	animation-fill-mode: forwards;
	transition : all 0.5s ease 0s;
	background: #2262c3;
}
@keyframes NavAreaIn{
	0%{
		visibility: hidden;
		opacity:0;
	}
	100%{
		transform:translateY(0);
		opacity:1;
	}
}

/*******************
 * slider-01
********************/
#main-box{
	position: relative;
}
#main-box > .slider-text{
	position: absolute;
	right: 5rem;
	top: 35rem;
	z-index: 10;
	color: #fff;
}
#main-box > .slider-text > div .title{
	font-size: 48px;
	font-size: 4.8rem;
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 Pr6 W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
#main-box > .slider-text > div .sub_title{
	font-size: 30px;
	font-size: 3.0rem;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 500;
}
div.slider-01{
	overflow:hidden;
}
div.slider-01 div.slide{
	position: relative;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
	height:100%;
	min-height: 850px;
	height: 100vh;
}
div.slider-01 div.slide-01{background:url("../images/slider_bg_01.jpg") no-repeat; background-size: cover;}
div.slider-01 div.slide-02{background:url("../images/slider_bg_02.jpg") no-repeat; background-size: cover;}
div.slider-01 div.slide-03{background:url("../images/slider_bg_03.jpg") no-repeat; background-size: cover;}
div.slider-01 div.slide-04{background:url("../images/slider_bg_04.jpg") no-repeat; background-size: cover;}


/*******************************
/* main
*******************************/

main{}

#about-block{
	opacity:0;
	padding: 8rem 0 20rem;
	background: url(../images/town_bottom.png) no-repeat bottom;
}
#about-block.ac-now{
	animation-name:fadeup;
	animation-iteration-count:1;
	animation-delay:0.4s;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-timing-function:linear;
}
#about-block > section{
	max-width: 1100px;
	margin: 0 auto;
}
#about-block > section > .head > h2{
	font-size: 30px;
	font-size: 3.0rem;
}
#about-block > section > .head > h2 span{
	display: inline-block;
}
#about-block > section > .head > h2 .txt-s{
	font-size: 24px;
	font-size: 2.4rem;
}
#about-block > section > .body{
	margin-top: 6rem;
}
#about-block > section > .body .text{
	text-align: center;
}
#about-block > section > .body .text+.text{
	margin-top: 4rem;
}

#greeting-block{
	opacity:0;
	padding: 12rem 0 14rem;
}
#greeting-block.ac-now{
	animation-name:fadeup;
	animation-iteration-count:1;
	animation-delay:0.4s;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-timing-function:linear;
}
#greeting-block > section{
	max-width: 1100px;
	margin: 0 auto;
}
#greeting-block > section > .body{
	width: 70%;
	margin: 6rem auto 0;
}
#greeting-block > section > .body .text{
	text-align: left;
}
#greeting-block > section > .body .text+.text{
	margin-top: 4rem;
}
#greeting-block > section > .body .text.name-txt{
	text-align: right;
}

#history-block{
	opacity:0;
}
#history-block.ac-now{
	animation-name:fadeup;
	animation-iteration-count:1;
	animation-delay:0.4s;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-timing-function:linear;
}
#history-block > section{
	max-width: 1100px;
	margin: 0 auto;
}
#history-block > section > .body {
	margin-top: 6rem;
}
#history-block > section > .body ul.history-box {
	position: relative;
	max-width: 680px;
	margin: 0 auto;
	color: #3d3d3d;
}
#history-block > section > .body ul.history-box::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 10px;
	height: 100%;
	background-color: #2262c3;
	z-index: -3;
}
#history-block > section > .body ul.history-box li {
	position: relative;
	margin-bottom: 3rem;
	padding-left: 5rem;
}
#history-block > section > .body ul.history-box li::before {
	content: '';
	position: absolute;
	top: 0;
	left: -5px;
	width: 20px;
	height: 20px;
	background-color: #2262c3;
	border-radius: 50%;
	z-index: -1;
}
#history-block > section > .body ul.history-box li dl dt{
	font-size: 20px;
	font-size: 2.0rem;
}

#map-block{
	padding: 12rem 0 14rem;
}
#map-block  > section > .body{
	margin-top: 6rem;
	text-align: center;
}

#business-block{
	opacity:0;
}
#business-block.ac-now{
	animation-name:fadeup;
	animation-iteration-count:1;
	animation-delay:0.4s;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-timing-function:linear;
}
#business-block > section > .body{
	margin-top: 6rem;
}
#business-block > section > .body div.flex-box div.box{
	width: calc(100%/4);
	height: 600px;
	padding: 6rem 4rem;
	color: #fff;
}
#business-block > section > .body div.flex-box div.box:nth-child(1){
	background: url(../images/business_bk01.jpg) no-repeat center;
}
#business-block > section > .body div.flex-box div.box:nth-child(2){
	background: url(../images/business_bk02.jpg) no-repeat center;
}
#business-block > section > .body div.flex-box div.box:nth-child(3){
	background: url(../images/business_bk03.jpg) no-repeat center;
}
#business-block > section > .body div.flex-box div.box:nth-child(4){
	background: url(../images/business_bk04.jpg) no-repeat center;
}
#business-block > section > .body div.flex-box div.box .title{
	writing-mode: vertical-rl;
	height: 300px;
	margin: 0 auto;
	font-size: 30px;
	font-size: 3.0rem;
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 Pr6 W6', 'Hiragino Mincho Pro', 'HGS明朝E', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
#business-block > section > .body > .button{
	margin-top: 8rem;
	background: #2262C2;
	color: #fff;
}
#business-block > section > .body > .button span:after{
	background: url(../images/allow_w.png) no-repeat;
}


#company-block{
	opacity:0;
	background: #2262c3;
	padding-top: 4rem;
	padding-bottom: 16rem;
}
#company-block.ac-now{
	animation-name:fadeIn;
	animation-iteration-count:1;
	animation-delay:0.4s;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-timing-function:linear;
}
#company-block > section > .head > h2.heading{
	color: #fff;
}
#company-block > section > .head > h2.heading span img{
	width: 24px;
}
#company-block > section > .head > .sub-title{
	color: #fff;
}
#company-block > section > .body{
	max-width: 940px;
	margin: 8rem auto 0;
}
#company-block > section > .body table{
	width: 100%;
	border-collapse: collapse;
	color: #fff;
}
#company-block > section > .body table tr{
	border-bottom: 1px solid #fff;
}
#company-block > section > .body table tr th{
	padding: 1.5rem;
	font-size: 24px;
	font-size: 2.4rem;
}
#company-block > section > .body table tr td{
	padding: 1.5rem;
	font-size: 18px;
	font-size: 1.8rem;
}
#company-block > section > .body > div+div{
	margin-top: 12rem;
}
#company-block > section > .body > div > p{
	text-align: center;
	color: #fff;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
}
#company-block > section > .body div:nth-child(2) table{
	margin-top: 6rem;
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
}
#company-block > section > .body div:nth-child(2) table tr{
	border-bottom: none;
}
#company-block > section > .body div:nth-child(2) table tr th{
	background: #fff;
	color: #2262c3;
	border-bottom: 1px solid #2262c3;
}
#company-block > section > .body div:nth-child(2) table tr td{
	padding: 1.5rem 4.5rem;
	border-bottom: 1px solid #fff;
}

#job-block{
	opacity:0;
	background: url(../images/job_bk.jpg) no-repeat top;
	background-size: cover;
	padding-top: 4rem;
	padding-bottom: 10rem;
}
#job-block.ac-now{
	animation-name:fadeIn;
	animation-iteration-count:1;
	animation-delay:0.4s;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-timing-function:linear;
}
#job-block > section > .head > h2.heading{
	color: #fff;
}
#job-block > section > .head > .sub-title{
	color: #fff;
}
#job-block > section > .body{
	margin-top: 6rem;
}
#job-block > section > .body > p.text{
	text-align: center;
	color: #fff;
}
#job-block > section > .body table{
	max-width: 940px;
	width: 100%;
	margin: 6rem auto 0;
	border-collapse: collapse;
	background: #fff;
}
#job-block > section > .body table tr{
	border-bottom: 1px solid #bbbbbb;
}
#job-block > section > .body table tr th{
	width: 30%;
	padding: 1.5rem 0;
	font-size: 24px;
	font-size: 2.4rem;
	color: #3d3d3d;
}
#job-block > section > .body table tr td{
	width: 70%;
	padding: 1.5rem 0 1.5rem 4rem;
	font-size: 18px;
	font-size: 1.8rem;
	border-left: 1px solid #bbbbbb;
}
#job-block > section > .body > div{
	margin-top: 8rem;
}
#job-block > section > .body > div > .caution{
	text-align: center;
	margin-top: 2rem;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
}

#contact-block{
	opacity:0;
	padding-top: 4rem;
	padding-bottom: 12rem;
}
#contact-block.ac-now{
	animation-name:fadeup;
	animation-iteration-count:1;
	animation-delay:0.4s;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-timing-function:linear;
}
#contact-block > section > .body{
	margin-top: 6rem;
}
#contact-block > section > .body div.flex-box > a{
	color: #000;
	font-size: 36px;
	font-size: 3.6rem;
	margin: 0 4rem;
}
#contact-block > section > .body div.flex-box > a span{
	display: inline-block;
	vertical-align: middle;
}
#contact-block > section > .body div.flex-box > a span:nth-child(2){
	margin-left: 1rem;
}
#contact-block > section > .body div.flex-box > a span img{
	vertical-align: sub;
}
#contact-block > section > .body div.flex-box > p{
	margin: 0 4rem;
	font-size: 36px;
	font-size: 3.6rem;
}
#contact-block > section > .body div.flex-box > p span{
	display: inline-block;
	vertical-align: middle;
}
#contact-block > section > .body div.flex-box > p span:nth-child(2){
	margin-left: 1rem;
}
#contact-block > section > .body div.flex-box > p span img{
	vertical-align: sub;
}
#contact-block > section > .body > .mail-box{
	text-align: center;
	margin-top: 6rem;
	font-size: 36px;
	font-size: 3.6rem;
}
#contact-block > section > .body > .mail-box span{
	display: inline-block;
	vertical-align: middle;
}
#contact-block > section > .body > .mail-box span img{
	vertical-align: sub;
}
#contact-block > section > .body > .mail-box span:nth-child(2){
	margin-left: 1rem;
}




/*******************************
/* footer
*******************************/

footer{
	background: url(../images/footer_bk.jpg) no-repeat top center;
	background-size: cover;
}
#footer .inner{
	padding: 6rem 0
}
#footer .footer-top ul li+li{
	margin-left: 20px;
}
#footer .footer-top ul li a{
	color: #fff;
}
#footer .link-erea{
	margin-top: 4rem;
}
#footer .link-erea div.flex-box > a{
	width: calc(100%/3);
	color: #fff;
}
#footer .link-erea div.flex-box > a:nth-child(3) span:nth-child(2){
	display: block;
	margin-top: 1rem;
}
#footer .footer-bottom{
	margin-top: 6rem;
}
#footer .footer-bottom > .c-box{
	text-align: center;
	color: #fff;
}
#footer .inner > .copyright{
	margin-top: 8rem;
	text-align: center;
	font-size:12px;
	font-size:1.2rem;
	color: #fff;
}
.scrollTop a{
	background: #0060ad;
}




/*******************************
/* scrollTop (scrollTop 使用時)
*******************************/

.scrollTop{
	position:fixed;
	right: 2em;
	bottom: 2em;
	opacity:0;
	visibility:hidden;
	transition:all 0.4s ease-in-out 0s;
	z-index:20;
}
.scrollTop a{
	display:block;
	width: 50px;
	height: 50px;
	background:#2262c3;
}
.scrollTop a:after{
	position:absolute;
	display:block;
	content:"";
	margin-left: 20px;
	margin-top: 23px;
	width:10px;
	height:10px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:rotate(-45deg);
	transition:all 0.3s;
}
.scrollTop a:hover{
	opacity:1;
	background:#000;
}






/*******************************
/* animation
*******************************/

@keyframes fadeIn{
	0% {
		opacity:0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fadeup{
	0% {
		transform: translateY(40px);
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}





/*******************************
/* contact
*******************************/
#contact-block > section > .body{
	margin-top: 6rem;
}
#contact-block > section > .body .box > div{
	text-align: center;
}
#contact-block > section > .body .box > div+div{
	margin-top: 8rem;
}
body.contact #contact-block > section > .body .formblock{
	max-width: 850px;
	margin: 0 auto 0;
}
body.contact #contact-block > section > .body .formblock dl{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
body.contact #contact-block > section > .body .formblock dl+dl{
	margin-top: 20px;
}
body.contact #contact-block > section > .body .formblock dl dt{
	width: 30%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	font-size: 18px;
	font-size: 1.8rem;
}
body.contact #contact-block > section > .body .formblock dl dt p{
	text-align: center;
	display: flex;
	align-items: center;
}
body.contact #contact-block > section > .body .formblock dl dt p span{
	display: inline-block;
	vertical-align: middle;
}
body.contact #contact-block > section > .body .formblock dl dt p > span:nth-child(1){
	width: 160px;
}
body.contact #contact-block > section > .body .formblock dl dt p span:nth-child(2){
	border-radius: 20px;
	width: 60px;
	margin-left: 10px;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
}
body.contact #contact-block > section > .body .formblock dl dt p .txt-red{
	background: red;
	color: #fff;
}
body.contact #contact-block > section > .body .formblock dl dt p .txt-bla{
	border-radius: 20px;
	width: 60px;
	margin-left: 10px;
	font-size: 12px;
	font-size: 1.2rem;
	background: #000;
	color: #fff;
	text-align: center;
}
body.contact #contact-block > section > .body .formblock dl dt p span >span{
	font-size: 12px;
	font-size: 1.2rem;
}
body.contact #contact-block > section > .body .formblock dl dd {
	width: 70%;
	background: #fff;
}
body.contact #contact-block > section > .body .formblock dl dd input[type="text"],body.contact #contact-block > section > .body .formblock dl dd input[type="email"],body.contact #contact-block > section > .body .formblock dl dd input[type="tel"],body.contact #contact-block > section > .body .formblock dl dd input[type="date"]{
	width: 100%;
	height: 3.2em;
	border-radius: 0;
	border: 1px solid #000;
	padding: 0 1.4em;
}
body.contact #contact-block > section > .body .formblock dl dd textarea{
	width: 100%;
	border-radius: 0;
	border: 1px solid #000;
	padding: 1.4em 1.4em;
}
body.contact #contact-block > section > .body .formblock .button-erea{
	margin-top: 8rem;
	text-align: center;
}
body.contact #contact-block > section > .body .formblock input[type="submit"] {
	width: 50%;
	padding: 16px 40px;
	border-radius: 0;
	text-align: center;
	font-size: 20px;
	font-size: 2.0rem;
	background: #2262c3;
	color: #fff;
}
body.contact #contact-block > section > .body .formblock input[type="submit"]:hover{
	opacity: 0.6
}
.wpcf7-spinner{
	display:none;
}
.wpcf7 form .wpcf7-response-output,.wpcf7 form.sent .wpcf7-response-output{
	width: 40%;
	margin: 2em auto 0;
}