@charset "utf-8";

header.navi{
	display: none !important;
}
header.navi.fixed{
    position: fixed !important;
    top: 0;
    left: 0;
	right: 0;
	margin: auto;
	z-index: 9999;
	display: block !important;
}

/*main
************************************************************************************/
.eye-catch{
	background: url("../../img/toppage/mainphoto.jpg") no-repeat right top #171c60;
	-moz-background-size: 70% auto;
	-webkit-background-size: 70% auto;
	background-size: 70% auto;
	color: #FFF;
	padding: 40px 0;
}

.eye-catch .gnav ul{
	display: table;
	margin-left: auto;
}
.eye-catch .gnav ul li{
	display: table-cell;
	padding: 0 1.5em;
	vertical-align: middle;
}
.eye-catch .gnav ul li a{
	text-decoration: none;
	color: #FFF;
	position: relative;
	display: inline-block;
	-webkit-transition: .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
	text-decoration: none;
	text-shadow: 1px 1px 4px #000;
}
.eye-catch .gnav ul li a::after{
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background-color: #FFF;
	-webkit-transition: .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.eye-catch .gnav ul li a:hover::after{
	width: 100%;
}

.eye-catch .logo{
	width: 30%;
	vertical-align: middle;
	text-align: center;
	margin: 80px 0;
}

.eye-catch .copy-area{
	font-weight: 700;
	font-size: 1.25em;
	padding-bottom: 50px;
}
.eye-catch .copy-area p{
	margin: 0 0 .5em;
}
.eye-catch .copy-area p span{
	background: #000;
	padding: 0 .5em 0 2.5em;
}
.eye-catch .btn_sign{
    margin: 20px 0 0 20px;
}
.eye-catch .btn_sign a{
    display: inline-block;
    border-radius: 5px;
    padding: .7em 2em;
    background: #1a83c4;
    color: #FFF;
    text-decoration: none;
}
@media screen and (max-width: 768px){
.eye-catch .gnav{
	display: none;
}
header.navi{
	display: block !important;
}
header.navi.fixed{
	position: static;
}
.eye-catch .copy-area{
	font-size: 1.05em;
	padding: 60px 0 70px;
}
.eye-catch .copy-area p span{
	padding: 0 .5em 0 .5em;
}
.eye-catch .logo{
	display: none;
}
}
@media screen and (max-width: 620px) {
.eye-catch{
	padding-bottom: 30px;
}
.eye-catch .copy-area{
	padding: 70px 0 0px;
}
}

/*common
************************************************************************************/
.titlebox h1{
	font-size: 3em;
	font-weight: 700;
	color: #171c60;
}
.titlebox .sub{
	font-size: 1.125em;
	font-weight: 700;
	color: #757575;
}

.btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 1em 2em;
	background: #fff600;
    color: #000;
    font-size: 1em;
	margin-top: 1em;
	margin-bottom: 1em;
	width: 300px;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.btn a:hover {
    animation: anima-button-030 1s;
}

@keyframes anima-button-030 {
    0% {
        box-shadow: 0 0 0 0 rgb(255 246 0 / 50%);
    }
    100% {
        box-shadow: 0 0 0 1.2em rgb(0 0 0 / 0%);
    }
}

.btn a img{
	vertical-align: middle;
	margin: 0 1em;
}



.text p{
	padding-bottom: 1em;
}
.text p:last-child{
	padding-bottom: 0;
}
@media screen and (max-width: 979px) {
.btn a{
	width: 100%;
    padding: 1em;
}
}
@media screen and (max-width: 768px){
.titlebox h1{
	font-size: 2.5em;
}
.titlebox .sub{
	font-size: 1em;
}
}

/*area
************************************************************************************/
#area{
	padding: 80px 0 40px 0;
	position: relative;
}
#area:before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
	background-color: #eaf1f4;
	display: block;
	width: 100%;
	height: 50%;
	z-index: 0;
}
#area .wrapper{
	z-index: 10;
	position: relative;
}

#area .text{
	font-size: 1.313em;
	font-weight: 500;
	padding: 50px 0;
}

#area .btn a{
	width: 40%;
	text-align: center;
}

#area .map{
	position: absolute;
	top: -40%;
	right: 0;
	width: 50%;
	z-index: 10;
}
#area .map img{
	width: 100%;
	height: auto;
}
@media screen and (max-width: 979px) {
#area .details-wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: left;
	justify-content: left;
}
#area .details-wrap .details{
	width: 60%;
}
#area .btn a{
	width: 100%;
}
#area .details-wrap .map{
	position: static;
	width: 40%;
}
}
@media screen and (max-width: 620px) {
#area .details-wrap .details{
	width: 100%;
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	-webkit-order:2;
	order:2;
}
#area .details-wrap .map{
	-webkit-box-ordinal-group:1;
	-ms-flex-order:1;
	-webkit-order:1;
	order:1;
	width: 100%;
	text-align: center;
}
#area .details-wrap .map img{
	width: 60%;
}
}

/*business
************************************************************************************/
#business{
	border-top: 1px solid #000;
	padding: 2px 0;
}

#business .container{
	display: grid;
	grid-template-columns: 1fr 3fr 3fr;
	grid-template-rows: auto;
	align-items: stretch;
}
@media screen and (min-width: 980px) {
#business .container .titlebox{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding: 40px 30% 0 0;
}
}
#business .container section{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: left;
	justify-content: left;
	padding: 30px;
}
#business .container section .icon{
	width: 25%;
}
#business .container section .icon img{
	width: 100%;
	height: auto;
}
#business .container section .details{
	width: 75%;
	color: #FFF;
	font-weight: 500;
	padding: 0 0 0 5%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#business .container section .details h2{
	font-size: 2.25em;
	margin-bottom: 0.7em;
}
#business .container section .details .comment{
	font-size: 1.313em;
	padding-bottom: 1em;
}
#business .container section.keibi{
	background: url("../../img/toppage/bussiness_keibi_bg.jpg") no-repeat left top;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
#business .container section.bouhan{
	background: url("../../img/toppage/bussiness_bouhan_bg.jpg") no-repeat left top;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
@media screen and (max-width: 979px) {
#business .container{
	display: block;
}
#business .container .titlebox{
	width: 100%;
	padding: .9em 0;
	text-align: center;
}
}
@media screen and (max-width: 768px){
#business .container section .details h2{
	font-size: 1.95em;
}
}

/*recruit
************************************************************************************/
#recruit{
	background: url("../../img/toppage/recruit_bg.jpg") no-repeat bottom;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
#recruit .wrapper{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	align-items: stretch;
	padding: 80px 0;
	align-items: center;
}
#recruit .wrapper .text{
	font-size: 1.875em;
	font-weight: 500;
	color: #FFF;
}
@media screen and (max-width: 979px) {
#recruit .wrapper{
	grid-template-columns: 1fr;
	text-align: center;
}
#recruit .wrapper .text{
	padding-bottom: 1.5em;
}
#recruit .wrapper .banner img{
	max-width: 100%;
	height: auto;
}
}

/*greeting
************************************************************************************/
#greeting{
	padding: 60px 0 80px 0;
	position: relative;
}
#greeting:before{
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	-webkit-clip-path: polygon(0 100%, 100% 20%, 100% 100%, 0 100%);
	clip-path: polygon(0 100%, 100% 20%, 100% 100%, 0 100%);
	background-color: #f1f1f1;
	display: block;
	width: 100%;
	height: 60%;
	z-index: 0;
}
#greeting .wrapper{
	z-index: 10;
	position: relative;
}
#greeting .titlebox{
	text-align: center;
	margin-bottom: 50px;
}
#greeting img.photo{
	width: 250px;
	height: auto;
	float: left;
	margin: 0 20px 20px 0;
	border-radius: 30px;
}
#greeting .container{
	display: grid;
	grid-template-columns: 3fr 5fr;
	grid-template-rows: auto;
	align-items: stretch;
	column-gap: 20px;
	row-gap: 20px;
}
#greeting .container .catch{
	color: #171c60;
	font-size: 2.25em;
	font-weight: 700;
}
#greeting .container .sign{
	text-align: right;
	font-size: 1.313em;
	font-weight: 500;
	padding: .5em 0 0;
}
@media screen and (max-width: 979px) {
#greeting .container{
	grid-template-columns: 1fr;
}
}
@media screen and (max-width: 768px){
#greeting .container .catch{
	color: #171c60;
	font-size: 1.95em;
	font-weight: 700;
}
}

/*rinen
************************************************************************************/
#rinen{
	padding: 60px 0 80px 0;
}
#rinen .titlebox{
	text-align: center;
	padding-bottom: 40px;
}

#rinen .container{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	align-items: stretch;
	column-gap: 20px;
	row-gap: 20px;
}
#rinen .container .wrap img{
	max-width: 100%;
	height: auto;
}
#rinen .container .wrap .subtitlebox{
	color: #171c60;
	font-weight: 700;
}
#rinen .container .wrap .subtitlebox .no{
	font-size: 4.5em;
	font-family: Impact, noto-sans-cjk-jp,sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
	display: inline-block;
	min-height: 100px;
	padding-right: 120px;
} 
#rinen .container .wrap .subtitlebox .no1{
	background: url("../../img/toppage/rinen_ico01.svg") no-repeat right center;
	background-size: 90px 90px;
}
#rinen .container .wrap .subtitlebox .no2{
	background: url("../../img/toppage/rinen_ico02.svg") no-repeat right center;
	background-size: 90px 90px;
}
#rinen .container .wrap .subtitlebox .no3{
	background: url("../../img/toppage/rinen_ico03.svg") no-repeat right center;
	background-size: 90px 90px;
}
#rinen .container .wrap .subtitlebox .no4{
	background: url("../../img/toppage/rinen_ico04.svg") no-repeat right center;
	background-size: 90px 90px;
}
#rinen .container .wrap .subtitlebox .no5{
	background: url("../../img/toppage/rinen_ico05.svg") no-repeat right center;
	background-size: 90px 90px;
}
#rinen .container .wrap .subtitlebox h2{
	font-size: 1.875em;
	display: block;
	margin-bottom: .5em;
} 
#rinen .container .wrap .subtitlebox h2 span{
	position: relative;
}
#rinen .container .wrap .subtitlebox h2 span:after{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 15px;
	background: #fff600;
	z-index: -1;
	content: "";
	display: inline-block;
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 768px){
#rinen .container{
	grid-template-columns: 1fr;
}
#rinen .container .wrap .subtitlebox h2 br{
	display: none;
}
#rinen .container .wrap .subtitlebox .no{
	position: relative;
}
#rinen .container .wrap .subtitlebox .no:before{
	content: "";
	width: 1em;
	height: 2px;
	background: #ededed;
	position: absolute;
	top: 0;
	left: 0;
}
}

/*news
************************************************************************************/
#news{
	padding: 60px 0 80px 0;
	background: #f1fbfe;
	border-top: 1px solid #eee;
}
#news .titlebox{
	text-align: center;
}

#news ul.news-list{
	border-top: 1px solid #c0d5db;
	margin: 60px 0;
}
#news ul.news-list li{
	display: table;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border-bottom: 1px solid #c0d5db;
	padding: .8em;
}
#news ul.news-list li p{
	display: table-cell;
	vertical-align: top;
}
#news ul.news-list li p.date{
	width: 8em;
}

#news .btn a{
	margin-left: auto;
}
@media screen and (max-width: 400px){
#news ul.news-list li{
	display: block;
}
#news ul.news-list li p{
	display: block;
}
#news ul.news-list li p.date{
	width: auto;
	font-weight: bold;
}
}

/*about
************************************************************************************/
#about{
	padding: 60px 0 80px 0;
	background: #171c60;
	color: #FFF;
}
#about .titlebox h1{
	text-align: center;
	color: #FFF;
	padding: 0 1em;
}
#about .titlebox h1:before,
#about .titlebox h1:after{
	content: "";
	display: inline-block;
	background:  url("../../img/common/title_line.svg") no-repeat center center;
	width: 60px;
	height: 60px;
	padding: 0 1em;
	vertical-align: middle;
}

#about .container{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	align-items: stretch;
	column-gap: 50px;
	row-gap: 50px;
	margin-top: 60px;
}

#about .container .gmap iframe{
	width: 100%;
	height: 500px;
}

#about .container .data table{
	width: 100%;
	margin: 0 auto 30px;
	border-collapse:collapse;
	border-top: 1px solid #FFF;
}

#about .container .data table th{
	padding: 1em;
	text-align: left;
	border-bottom: 1px solid #FFF;
	width: 4em;
}

#about .container .data table td{
	padding: 1em;
	text-align: left;
	border-bottom: 1px solid #FFF;
}
#about .container .data table td a{
	color: #FFF;
}
#about .container .data .bn img{
	max-width: 100%;
	height: auto;
	display: block;
	margin: auto;
}
@media screen and (max-width: 768px){
#about .container{
	grid-template-columns: 1fr;
}
#about .titlebox h1{
	padding: 0 .7em;
}
#about .titlebox h1:before,
#about .titlebox h1:after{
	width: 40px;
	height: 40px;
	padding: 0 .7em;
}
}

/*contact
************************************************************************************/
#contact{
	padding: 60px 0 80px 0;
	background: url("../../img/toppage/contact_bg.jpg") no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	color: #FFF;
}
#contact .wrapper{
	text-align: center;
}
#contact .titlebox{
	margin-bottom: 30px;
}
#contact h1,
#contact .sub{
	color: #FFF;
}

#contact .phonebox{
	background: url("../../img/common/ico_tel.svg") no-repeat left top;
	padding: 0 0 30px 40px;
	text-align: left;
	display: inline-block;
	font-weight: 700;
}
#contact .phonebox .phonenumber{
	font-size: 2.25em;
}
#contact .phonebox .phonenumber a{
	color: #FFF;
}
#contact .btn a{
	margin: auto;
}

@media screen and (min-width: 980px) {
/*pc*/
}
@media screen and (max-width: 979px) {
/*tablet*/
}
@media screen and (max-width: 768px){
#contact .phonebox{
	background: url("../../img/common/ico_tel.svg") no-repeat left .6em;
}
}
@media screen and (max-width: 620px) {
/*sp*/
}
@media screen and (max-width: 480px){
}
