@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,800;1,700&display=swap');

/* -----------------------index--------------------------- */

/*--------------------------------------------------------*/
/*							slide						  */
/*--------------------------------------------------------*/
.slideshow{
	overflow: hidden;
	position: relative;
}
.slideshow-cover{
	position: absolute;
	top: -1px;
	right: 0;
	z-index: 100;
	width: 61%;
	height: auto;
}
.slideshow-cover-text{
	position: absolute;
	top: 32%;
	left: 14%;
	color: #fff;
	font-size: 54px;
	font-weight: 800;
	letter-spacing: 0.1em !important;
	line-height: 140% !important;
}
.slideshow-cover-text-sbu{
	display: block;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 250%;
	letter-spacing: 0.08em;
}
.sp_slide{
	display: none;
}
.slideshow-slide{
	position: relative;
}
.slideshow img{
	width: 100%;
	height: auto;
}

/*--------------------------------------------------------*/
/*						   inner						  */
/*--------------------------------------------------------*/
.news-inner,
.about-inner,
.service-inner,
.recruit-inner{
	display: flex;
	justify-content: flex-start;
}

/*--------------------------------------------------------*/
/*						   news							  */
/*--------------------------------------------------------*/
.news-section{
	padding: 99px 0 83px;
}
.news-container{
	width: 100%;
	border-top: solid 1px #dcdcdc;
}
.news-title{
	border-bottom: solid 1px #dcdcdc;
}
.news-title a{
	display: block;
	padding: 22px 0;
	background-image: url(../iamges/ic_arrow.png);
	background-repeat: no-repeat;
	background-position: center right 1px;
}
.news-title time{
	padding-right: 47px;
	font-size: 14px;
	font-weight: 500;
	line-height: 200%;
	letter-spacing: 0.08em;
	color: #868686;
}
.news-title p{
	display: inline;
	font-size: 14px;
	font-weight: 500;
}

/*--------------------------------------------------------*/
/*						   about						  */
/*--------------------------------------------------------*/

.about{
	padding: 94px 0 92px;
	background-image: url(../iamges/index/bg_about.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}
.about-title{
	margin-bottom: 35px;
	font-size: 24px;
	color: #025cac;
}

/*--------------------------------------------------------*/
/*						   service						  */
/*--------------------------------------------------------*/

.service{
	padding: 94px 0 92px;
	background-image: url(../iamges/index/bg_service.png);
	background-repeat: no-repeat;
	background-position: top -50px right;
}
.service-container{
	display: flex;
	justify-content: flex-start;
}
.service-box{
	position: relative;
	width: 400px;
	height: 250px;
	overflow: hidden;
}
.service-box:hover img{
	top: -10%;
	left: -5%;
	width: 110%;
}
.service-box:last-child{
	margin-left: 50px;
}
.service-box-mask{
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.4;
	z-index: 50;
}
.service-box span{
	position: absolute;
	top: 145px;
	right: 0;
	padding: 0 85px 25px 0;
	font-size: 24px;
	line-height: 100%;
	letter-spacing: 0.08em;
	font-weight: 700;
	color: #fff;
	border-bottom: solid #fff 1px;
	z-index: 100;
}
.service-box img{
	position: absolute;
	top: -5%;
	left: 0;
	width: 100%;
	height: auto;
	transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	z-index: 0;
}

/*--------------------------------------------------------*/
/*						   recruit						  */
/*--------------------------------------------------------*/

.recruit{
	padding: 85px 0 75px;
	background-image: url(../iamges/index/bg_recruit.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.recruit-button{
	position: relative;
	width: 240px;
	margin: 115px auto 0 0;
	padding: 15px 0;
	border: solid 1px #025cac;
	box-sizing: border-box;
	transition: 0.3s ease;
}
.recruit-button:after{
	position: absolute;
	top: 27px;
	right: -25px;
	content: '';
	width: 50px;
	height: 1px;
	background-color: #025cac;
}
.recruit-button:hover{
	background-color: #025cac;
}
.recruit-button p{
	text-align: center;
	color: #025cac;
	line-height: 160%;
	transition: 0.3s ease;
}
.recruit-button:hover p{
	color: #fff;
}

/*--------------------------------------------------------*/
/*						   banner						  */
/*--------------------------------------------------------*/

.banner{
	display: flex;
	justify-content: center;
	padding: 79px 0 60px;
}
.banner-box{
	width: 260px;
	height: 79px;
	margin: 0 20px;
	border: solid 1px #868686;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.banner-box a{
	display: block;
	width: 100%;
	height: 100%;
}
.diagnosis{
	background-image: url(../iamges/index/banner_diagnosis.jpg);
}
.copita{
	background-image: url(../iamges/index/banner_copita.jpg);
}
.association{
	background-image: url(../iamges/index/banner_association.jpg);
}

/* --------------------end index---------------------- */

/*--------------------------------------------------------*/
/*						   about						  */
/*--------------------------------------------------------*/

.abou .page-visual{
	background-image: url(../iamges/about/mv_about.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.about-title-l{
	font-size: 30px;
	font-weight: 700;
	line-height: 80%;
	letter-spacing: 0.08em;
	color: #025cac;
} 
.about-title-m{
	font-size: 26px;
	font-weight: 700;
	line-height: 90%;
	letter-spacing: 0;
	color: #025cac;
	text-align: center;
}
.about-message{
	padding: 110px 0 76px;
}
.about-message-box > p{
	padding-top: 50px;
}
.about-message-profile{
	padding-top: 15px;
}
.about-message-profile p{
	font-weight: 700;
}
.profile-name{
	font-size: 18px;
	line-height: 160%;
}
.about-message-box{
	width: 683px;
}
.about-message-flex{
	display: flex;
	justify-content: space-between;
}
/*
.about-message-flex .about-message-box {
	order: 2;
}
.about-message-flex .about-message-intro {
	order: 1;
}*/
.about-company .about-table{
	padding: 82px 0 70px;
}
.about-product.top{
	background-color: #eef4fb;
}
.about-product .about-table:first-child{
	padding: 81px 0 89px;
}
.about-product .about-table:nth-child(2){
	padding: 0px 0px 80px;
}
.about-history .about-table{
	padding: 83px 0px 71px;
}
.about-table-frame,
.about-flex-frame{
	margin-top: 18px;
	padding: 38px 25px 50px;
	border-top: solid 2px #025cac;
	background-color: #fff;
}
.about-flex-frame{
	display: flex;
	justify-content: space-between;
}
.about-company,
.about-history{
	background-color: #eef4fb;
}
.about-company .about-table-frame table th,
.about-company .about-table-frame table td,
.about-product .about-table-frame table th,
.about-product .about-table-frame table td{
	padding: 15px 19px;
}
.about-history .about-table-frame table th,
.about-history .about-table-frame table td{
	padding: 12px 19px;
}
.about-table-frame table tr{
	width: 100%;
	border-bottom: 1px dotted #c0bad7;
	vertical-align: top;
}
.about-table-frame table tr:first-child th,
.about-table-frame table tr:first-child td{
	padding-top: 0;
}
.about-table-frame table tr:last-child{
	border-bottom: none;
}
.about-table-frame table th{
	font-size: 14px;
	font-weight: 700;
	line-height: 200%;
	letter-spacing: 0.03em;
	color: #025cac;
	text-align: right;
}
.about-table-frame table td,
.product-box ul li{
	font-size: 14px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: 0.05em;
}
.about-table-frame table td{
	border-left: solid 1px #dcdcdc;
}
.dots-blue > li{
	padding-left: 22px;
	background-image: url(../iamges/about/ic_dots_blue.svg);
	background-repeat: no-repeat;
	background-position: top 8.4px left 7px;
}
.product-box-title{
	padding: 9px 18px;
	font-size: 14px;
	color: #025cac;
	border: solid 1px #025cac;
}
.product-box-title em{
	padding-right: 10px;
	font-size: 18px;
}
.about-flex-box{
	width: 450px;
}
.product-box > ul{
	padding: 15px 0 15px 40px;
}
.dots-blue-inner li{
	padding-left: 20px;
	background-image: url(../iamges/about/ic_dots_gray.svg);
	background-repeat: no-repeat;
	background-position: center left 7px;
}
.product-box ul li > ul li{
	font-size: 12px;
	font-weight: 500;
	line-height: 140%;
	letter-spacing: 0.05em;
}
.access-flex{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.access-info{
	width: 50%;
	padding: 5vw 0 0 97px;
	box-sizing: border-box;
}
.access-img{
	width: 50%;
}
.access-img img{
	width: 100%;
	height: 100%;
}
.g-map{
	width: 100%;
	height: 400px;
}
.g-map iframe{
	width: 100%;
	height: 100%;
}
.company-name{
	padding-top: 45px;
}
.company-name p{
	font-size: 20px;
	font-weight: 700;
	line-height: 140%;
}
.company-adress{
	padding-top: 35px;
}
.company-tell{
	padding-top: 20px;
}
.about-health-flex{
	display: flex;
	justify-content: flex-start;
}
.about-health-img{
	padding-left: 57px;
}
.about-health-content{
	padding-left: 65px;
}
.about-health-content p{
	font-size: 14px;
}
.about-health-list{
	margin-top: 20px;
	padding: 30px 40px;
	background-color: #eef4fb;
}
.about-health-list-title{
	font-size: 14px;
	color: #025cac;
}
.about-health-list ul{
	margin-top: 26px;
}
.about-health-list ul li{
	padding-left: 30px;
	font-size: 14px;
	font-weight: 700;
	line-height: 220%;
	letter-spacing: 0.07em;
	background-image: url(../iamges/about/ic_square_blue.png);
	background-position: left 10px center;
	background-repeat: no-repeat;
}

/*--------------------------------------------------------*/
/*						   service						  */
/*--------------------------------------------------------*/

.serv .page-visual{
	background-image: url(../iamges/service/mv_service.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.service-intro{
	padding: 80px 0 90px;
	text-align: center;
}
.service-intro p{
	padding-top: 35px;
	font-weight: 500;
}
.service-flex-box{
	display: flex;
	justify-content: space-between;
	padding-bottom: 108px;
}
.service-flex-reverse-box{
	display: flex;
	justify-content: space-between;
	flex-flow: row-reverse;
	padding-bottom: 108px;
}
.service-content{
	width: 470px;
}
.middle-text{
	padding-top: 35px;
	font-size: 20px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.small-text{
	padding-top: 25px;
	font-size: 14px;
}

/*--------------------------------------------------------*/
/*						   poll 						  */
/*--------------------------------------------------------*/

.poll .page-visual{
	background-image: url(../iamges/service/pole/mv_pole.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.poll-intro-flex{
	display: flex;
	justify-content: space-between;
	padding: 100px 0 130px;
}
.poll-intro-content{
	width: 478px;
}
.poll-intro-content p{
	padding-top: 40px;
}
.poll-prof{
	width: 460px;
	padding: 70px 60px;
	box-sizing: border-box;
	background-color: #eef4fb;
}
.poll-prof-img{
	text-align: center;
}
.poll-prof-button{
	margin-top: 32px;
}
.poll-prof-button .pdf-button{
	background-position: center right 9px ;
}
.poll-outframe{
	padding: 80px 0;
	background-color: #eef4fb;
}
.poll-innerframe{
	width: 1120px;
	margin: 0 auto;
	padding: 80px 0 84px;
	background-color: #fff;
}
.poll-center-flex-top,
.poll-center-flex-middle,
.poll-center-flex-bottom{
	display: flex;
	justify-content: center;
	width: 1000px;
	margin: 0 auto;
}
.poll-center-flex-top,
.poll-center-flex-middle{
	border-bottom: solid 1px #eef4fb;
}
.poll-center-flex-top{
	padding: 45px 0 40px;
}
.poll-center-flex-middle{
	padding: 50px 0 47px;
}
.poll-center-flex-bottom{
	padding: 35px 0 0;
}
.poll-flex-box p{
	padding: 20px 0 22px;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}
.poll-flex-box{
	padding: 0 20px;
}
.poll-flex-tex{
	display: block;
	text-align: center;
	font-size: 14px;
	line-height: 120%;
	letter-spacing: 0.08em;
}
.text-center{
	text-align: center;
}
.text-center p{
	padding-top: 45px;
}
.concreate_product{
	padding: 80px 0 110px;
}
.concreate_product-button{
	width: 416px;
	margin: 28px auto 0;
}

/*--------------------------------------------------------*/
/*						   pile 						  */
/*--------------------------------------------------------*/

.pile .page-visual{
	background-image: url(../iamges/service/pile/mv_pile.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.pile-work{
	padding: 80px 0 100px;
}
.pile-work-flex{
	display: flex;
	justify-content: center;
	padding-top: 47px;
}
.pile-work-box{
	width: 250px;
}
.pile-work-box p{
	padding-top: 10px;
}
.work-img img{
	width: 100%;
}
.pile-content{
	width: 460px;
	margin-right: 50px;
}
.left-leaning-box{
	position: relative;
	width: calc(100% - (50% - 500px));
	height: 540px;
	margin-top: 75px;
	background-color: #eef4fb;
}
.left-flex{
	position: absolute;
	display: flex;
	top: 65px;
	right: -100px;
}
.pile-discription-flex{
	display: flex;
	justify-content: space-between;
	padding: 80px 0 100px;
}
.pile-dis-box{
	width: 620px;
}
.pile-dis-title{
	font-size: 20px;
	color: #025cac;
}
.pile-dis-box p{
	padding-top: 30px;
	font-size: 14px;
	font-weight: 500;
}
.pile-nav-frame{
	padding: 50px 0 30px;
	background-color: #eef4fb;
}
.pile-nav{
	background-color: #fff;
}
.pile-nav ul{
	display: flex;
	justify-content: center;
	padding: 20px 0;
}
.pile-nav a{
	display: block;
	padding: 0 55px 0 30px;
}
.pile-nav span{
	display: block;
	padding: 7px 0px 7px 25px;
	font-size: 16px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.pile-nav li{
	border-left: solid 1px #eef4fb;
	background-image: url(../iamges/ic_arrow_under.png);
	background-repeat: no-repeat;
	background-position: center left 30px;
}
.pile-nav li:hover span{
	color: #025cac;
	border-bottom: solid 1px #025cac;
}
.pile-nav li:last-child{
	border-right: solid 1px #eef4fb;
}
.pile-prodcts,
.pile-method,
.pile-foundation-work{
	background-color: #eef4fb;
}
.pile-prodcts{
	padding-bottom: 35px;
}
.pile-method{
	padding-bottom: 40px;
}
.pile-foundation-work{
	padding-bottom: 79px;
}
.pile-inner{
	padding: 70px 60px 85px;
	background-color: #fff;
	box-sizing: border-box;
}
.products-content-box{
	padding-top: 70px;
}
.products-content-box:first-child{
	padding-top: 100px;
}
.products-content-box > p{
	padding-top: 25px;
	font-weight: 500;
}
.products-content-flex{
	display: flex;
	justify-content: space-between;
	padding-top: 25px;
}
.products-content-table{
	width: 595px;
}
.products-content-pdf{
	width: 360px;
}
.products-content-pdf .pdf-button{
	margin-bottom: 10px;
}
.products-content-title{
	padding-bottom: 10px;
	font-size: 20px;
	border-bottom: solid 1px #025cac;
}
.products-content-table-title{
	padding-bottom: 10px;
	font-size: 14px;
}
.products-content-table table{
	width: 100%;
}
.products-content-table th,
.products-content-table td{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 160%;
}
.products-content-table th{
	padding: 10px 15px 15px;
	text-align: right;
	background-color: #f6f7f8;
}
.products-content-table td{
	padding: 10px 15px 20px;
	border-left: 1px solid #dcdcdc;
}
.products-content-table tr{
	border-top: solid 1px #dcdcdc;
}
.products-content-table tr:last-child{
	border-bottom: solid 1px #dcdcdc;
}
.method-pdf-img{
	width: 178px;
	margin: 0 auto;
}
.method-pdf .pdf-button{
	margin-top: 30px;
}
.method-pdf{
	width: 360px;
}
.method-flex{
	display: flex;
	justify-content: space-between;
	padding-top: 85px;
}
.method-flex:first-child{
	padding-top: 65px;
}
.method-content{
	width: 590px;
}
.method-content-title{
	padding-bottom: 20px;
	font-size: 20px;
	border-bottom: solid 1px #025cac;
}
.method-content-title-aside{
	float: right;
	padding: 5px 10px;
	border: solid 1px #025cac;
}
.method-content-title-aside p{
	font-size: 15px;
	font-weight: 700;
	line-height: 100%;
	color: #025cac;
}
.method-content > p{
	padding-top: 29px;
	font-weight: 500;
}
.method-table{
	padding-top: 40px;
}
.method-table-title{
	padding-bottom: 15px;
	font-size: 14px;
}
.method-table th,
.method-table td{
	font-size: 14px;
	font-weight: 500;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.method-table th{
	text-align: left;
	padding: 11px 11px 13px;
	background-color: #f6f7f8;
}
.method-table td{
	width: 485px;
	padding: 11px 18px;
	box-sizing: border-box;
	border-left: solid 1px #dcdcdc;
}
.method-table tr{
	border-top: solid 1px #dcdcdc;
}
.method-table tr:last-child{
	border-bottom: solid 1px #dcdcdc;
}
.oversky{
	padding-top: 70px;
}
.foundation-flex{
	display: flex;
	justify-content: center;
	padding-top: 35px;
}
.foundation-flex:first-child{
	padding-top: 50px;
}
.faundation-box{
	width: 360px;
	margin: 0 30px;
}
.faundation-title-aside{
	display: inline-block;
	margin-top: 20px;
	padding: 5px 10px;
	border: solid 1px #025cac;
}
.faundation-title-aside p{
	font-size: 15px;
	font-weight: 700;
	line-height: 100%;
	color: #025cac;
}
.faundation-title{
	padding: 20px 0 15px;
	font-size: 20px;
	border-bottom: solid 1px #025cac;
}
.faundation-box > p{
	padding-top: 15px;
	font-weight: 500;
}

/*--------------------------------------------------------*/
/*						   recruit 						  */
/*--------------------------------------------------------*/

.recr .page-visual,
.inte .page-visual,
.new- .page-visual,
.care .page-visual{
	background-image: url(../iamges/recruit/mv_recruit.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.recruit-intro{
	padding: 80px 0;
	text-align: center;
}
.recruit-intro > P{
	padding-top: 40px;
}
.career-path{
	padding: 60px 0 80px;
	background-color: #eef4fb;
}
.career-path-inner .common-title{
	font-size: 24px;
	text-align: center;
}
.career-path-inner > p{
	padding-top: 40px;
}
.career-path-img{
	width: 100%;
	height: 318px;
	margin-top: 40px;
	padding-top: 30px;
	background-color: #fff;
	text-align: center;
	box-sizing: border-box;
}
.recuruit-interview{
	padding: 80px 0 160px;
	background-color: #eef4fb;
}
.recuruit-interview .common-title{
	text-align: center;
}
.recuruit-interview-bg{
	width: 100%;
	height: auto;
	padding-top: 50px;
}
.recuruit-interview-bg img{
	width: 100%;
	height: 100%;
}
.recuruit-button-frame{
    width: 240px;
    margin: 0 auto;
    padding-top: 50px;
}
.recuruit-button-frame .common-button{
	margin: 0 auto;
}
.recuruit-info{
	position: relative;
	width: 100%;
	padding: 150px 0 100px;
	background-image: url(../iamges/recruit/bg_panf.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.recuruit-info-button-frame{
	display: flex;
	justify-content: center;
	position: absolute;
	top: -58px;
	width: 100%;
}
.recuruit-info-button{
	display: block;
	width: 489px;
	margin: 0 11px;
	box-sizing: border-box;
	transition: .3s ease;
}
.recuruit-info-button a{
	display: block;
	padding: 45px 0;
}
.recuruit-info-button p{
	font-size: 24px;
	font-weight: 700;
	line-height: 100%;
	text-align: center;
}
.recuruit-info-button.new{
	background-color: #025cac;
	opacity: 1;
	transition: .3s ease;
}
.recuruit-info-button.new:hover{
	opacity: 0.7;
}
.recuruit-info-button.new a{
	background-image: url(../iamges/recruit/ic_arrow_white.png);
	background-repeat: no-repeat;
	background-position: center right 30px;
}
.recuruit-info-button.new p{
	color: #fff;
}
.recuruit-info-button.halfway{
	background-color: #feef49;
	transition: .3s ease;
}
.recuruit-info-button.halfway:hover{
	opacity: 0.7;
}
.recuruit-info-button.halfway a{
	background-image: url(../iamges/recruit/ic_arrow_blue.png);
	background-repeat: no-repeat;
	background-position: center right 30px;
}
.recuruit-info-button.halfway p{
	color: #025cac;
}
.recruit-info-innner{
	height: 230px;
	background-color: #fff;
}
.punf-img{
	float: left;
	margin-top: -27px;
	padding-left: 50px;
}
.punf-pdf{
	float: right;
	padding: 60px 100px 0 0;
}
.punf-pdf .common-title{
	font-size: 24px;
}
.punfp-pdf-button-frame{
	padding-top: 25px;
}
.punfp-pdf-button-frame .pdf-button{
	width: 300px;
	background-position: center left 57px;
	box-sizing: border-box;
}
.punfp-pdf-button-frame .pdf-button a{
	padding: 10px 25px 10px 50px;
}
.recuruit-content-top,
.recuruit-content-bottom{
	padding-top: 60px;
	background-color: #eef4fb;
}
.recuruit-content-inner{
	position: relative;
	background-color: #fff;
}
.recuruit-content-dis{
	width: 470px;
}
.recuruit-content-flex{
	position: relative;
	display: flex;
	justify-content: space-between;
}
.recuruit-content-top .recuruit-content-flex{
	padding: 60px 0 73px;
}
.recuruit-content-bottom .recuruit-content-flex{
	padding: 80px 0 114px;
}
.recuruit-bg-top-object{
	position: absolute;
	left: -100%;
	width: calc(30vw + 100%);
	height: 428px;
	transform: skewX(-20deg);
	transform-origin: bottom left;
	background-color: #eef4fb;
}
.recuruit-bg-bottom-object{
	position: absolute;
	top: 0;
	right: -100%;
	width: calc(27.5vw + 100%);
	height: 450px;
	transform: skewX(-20deg);
	transform-origin: bottom left;
	background-color: #eef4fb;
}
.recuruit-content-dis .common-title{
	font-size: 24px;
}
.recuruit-content-dis > p{
	padding-top: 35px;
	font-size: 14px;
}
.recuruit-content-dis-list{
	margin-top: 20px;
	padding: 18px 29px;
	border: solid 1px #eef4fb;
}
.recuruit-content-dis-list .common-title-blue{
	font-size: 16px;
}
.recuruit-content-dis-list ul{
	padding-right: 35px;
}
.recuruit-content-dis-list li{
	padding-left: 15px;
	font-size: 14px;
	font-weight: 700;
	line-height: 200%;
	letter-spacing: 0.08em;
	background-image: url(../iamges/recruit/ic_dots_blue.png);
	background-repeat: no-repeat;
	background-position: center left;
}
.recuruit-content-dis-list-flex{
	display: flex;
	padding-top: 18px;
}

/*--------------------------------------------------------*/
/*						 interview 						  */
/*--------------------------------------------------------*/

.inte .page-visual-title-box {
    position: absolute;
    top: 120px;
    right: 50px;
    color: #fff;
}
.inte-nav-container{
	padding: 78px 0 87px;
}
.inte-nav-container .common-title{
	text-align: center;
}
.inte-nav-frame{
	padding-top: 55px;
}
.inte-nav-frame ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 1000px;
	margin: 0 auto;

}
.inte-nav-frame li{
	width: 309px;
	margin: 0 24px 31px 0;
	box-sizing: border-box;
	border-top: solid 1px #025cac;
	border-bottom: solid 1px #025cac;
	background-image: url(../iamges/ic_arrow_under.png);
	background-position: center right;
	background-repeat: no-repeat;
	transition: 0.3s ease;
}
.inte-nav-frame li:hover{
	background-color: #eef4fb;
}
.inte-nav-frame li a{
	display: block;
	padding: 22px 0;
}
.inte-belong{
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 160%;
	color: #025cac;
	padding-bottom: 15px;
}
.inte-nav-frame li p{
	font-size: 20px;
	font-weight: 700;
	line-height: 100%;
}
.hire-data{
	display: inline-block;
	vertical-align: bottom;
	padding-left: 22px;
	font-size: 14px;
	font-weight: 700;
}
.interview-image{
	width: 100%;
	height: 520px;
	background-repeat: no-repeat;
}
.cover-flex{
	display: flex;
	justify-self: flex-start;
	width: 100%;
	height: 100%;
}
.cover-box{
	width: calc(100% - 1590px);
	height: 100%;
	background-color: #025cac;
}
.cover-right{
	width: 1590px;
	height: 100%;
	background-image: url(../iamges/recruit/interview/p_interview_cover_right.png);
	background-repeat: no-repeat;
	background-position: top right;
}
.cover-left{
	width: 1590px;
	height: 100%;
	background-image: url(../iamges/recruit/interview/p_interview_cover_left.png);
	background-repeat: no-repeat;
	background-position: top left;
}
.cover-comment{
	font-size: 28px;
	font-weight: 700;
	line-height: 210%;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	color: #fff;
}
.cover-right .cover-comment{
	float: right;
	padding: 56px 138px 0 0;
}
.cover-left .cover-comment{
	float: left;
	padding: 56px 0 0 138px;
}
.interview-content-title{
	text-align: center;
}
.interview-content-title .common-title-blue{
	font-size: 15px;
}
.interview-content-title p{
	padding-top: 20px;
	font-size: 24px;
	font-weight: 700;
	line-height: 100%;
}
.interview-content-title span{
	display: block;
	padding-top: 13px;
	font-size: 14px;
	font-weight: 700;
	line-height: 160%;
	letter-spacing: 0.08em;
}
.interview-content{
	padding: 37px 0 120px;
}
.interview-content-flex{
	display: flex;
	justify-content: space-between;
	padding-top: 44px;
}
.interview-content-box{
	width: 450px;
}
.interview-q{
	padding-top: 35px;
	font-weight: 700;
	line-height: 100%;
	color: #025cac;
}
.interview-answer{
	display: flex;
	justify-content: start;
	padding-top: 20px;
}
.interview-answer span{
	display: block;
	font-size: 17px;
	font-weight: 700;
}
.interview-answer p{
	padding-left: 11px;
	font-size: 14px;
	line-height: 160%;
}
.interview-content-image{
	margin-right: -100px;
}
.interview-content-image img{
	width: 100%;
}
.interview-image.mikai{
	background-image: url(../iamges/recruit/interview/p_interview_mikai_01.png);
	background-position: top left;
}
.interview-image.hukuda{
	background-image: url(../iamges/recruit/interview/p_interview_hukuda_01.png);
	background-position: top left;
}
.interview-image.mino{
	background-image: url(../iamges/recruit/interview/p_interview_mino_01.png);
	background-position: top right;
}
.interview-image.nogami{
	background-image: url(../iamges/recruit/interview/p_interview_nogami_01.png);
	background-position: top right;
}
.interview-image.yasuda{
	background-image: url(../iamges/recruit/interview/p_interview_yasuda_01.png);
	background-position: top left;
}
.interview-image.kyouda{
	background-image: url(../iamges/recruit/interview/p_interview_kyouda_01.png);
	background-position: top right;
}
.interview-image.hamada{
	background-image: url(../iamges/recruit/interview/p_interview_hamada_01.png);
	background-position: top right;
}
.interview-image.takano{
	background-image: url(../iamges/recruit/interview/p_interview_takano_01.png);
	background-position: top left;
}

/*--------------------------------------------------------*/
/*			     	new-graduate  career  				  */
/*--------------------------------------------------------*/
.requirements-table{
	padding: 78px 0 35px;
}
.requirements-table .about-table-frame{
    margin-top: 30px;
}
.requirements-table .about-table-frame table th, .requirements-table .about-table-frame table td{
    padding: 15px 19px;
}
.contact{
	padding: 46px 0 83px;
	background-color: #eef4fb;
}
.contact-title{
	text-align: center;
}
.contact-title .common-title{
	font-size: 20px;
}
.contact-title p{
	padding-top: 20px;
	font-weight: 500;
}
.contact-button{
	display: block;
	width: 470px;
	margin: 38px auto 0;
	border: solid 1px #025cac;
	transition: 0.3s ease;
}
.contact-button a{
	display: block;
	padding: 30px 0;
	text-align: center;
}
.contact-button span{
	padding-right: 45px;
	font-size: 16px;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 0.07em;
	color: #025cac;
	transition: 0.3s ease;
}
.contact-button p{
	display: inline;
	font-size: 26px;
	font-weight: 400;
	line-height: 120%;
	letter-spacing: 0.07em;
	color: #025cac;
	transition: 0.3s ease;
}
.contact-button:hover{
	background-color: #025cac;
}
.contact-button:hover span,
.contact-button:hover p{
	color: #fff;
}

/*--------------------------------------------------------*/
/*						   news 						  */
/*--------------------------------------------------------*/

.news .page-visual{
	background-image: url(../iamges/about/mv_about.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.news-frame{
	padding: 98px 0 89px;
}
.news-flex{
	display: flex;
	justify-content: space-between;
}
.news-area{
	width: 660px;
	box-sizing: border-box;
}
.news-box{
	margin-bottom: 90px;
}
.news-box time{
	padding-right: 47px;
    font-size: 14px;
    font-weight: 500;
    line-height: 200%;
    letter-spacing: 0.08em;
    color: #868686;
}
.news-box-title{
	margin: 25px 0;
    padding-bottom: 10px;
	font-size: 18px;
	font-weight: 500;
    border-bottom: 1px solid #dcdcdc;
}
.side-nav{
	width: 250px;
}
.archive-title{
	font-size: 20px;
	font-weight: 400;
}
.side-nav li{
	background-image: url(../iamges/ic_arrow.png);
    background-repeat: no-repeat;
    background-position: center right 3px;
	transition: .3s ease;
}
.side-nav li:hover{
	opacity: 0.6;
}
.side-nav li a{
	display: block;
    padding: 15px 0;
    border-top: 1px solid #dcdcdc;
}
.side-nav li:last-child a{
    border-bottom: 1px solid #dcdcdc;
}
.news .nav-links {
    font-size: 0;
    margin-bottom: 70px;
    clear: both;
}
.nav-links a, .nav-links span {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
    color: rgb(27,27,27);
    border: solid 1px #025cac;
    margin-right: 10px;
    text-align: center;
    transition: all .2s ease-in;
}
.nav-links .current {
    background-color: #025cac;
    color: #fff;
}
.nav-links a, .nav-links span {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
    color: rgb(27,27,27);
    border: solid 1px #025cac;
    margin-right: 10px;
    text-align: center;
    transition: all .2s ease-in;
}
.nav-links a:hover{
	background-color: #025cac;
	color: #fff;
}

/*--------------------------------------------------------*/
/*						   single 						  */
/*--------------------------------------------------------*/

.single-post-time{
	padding-right: 47px;
	font-size: 14px;
	font-weight: 500;
	line-height: 200%;
	letter-spacing: 0.08em;
	color: #868686;
}
.single-post-title{
	margin: 25px 0;
	padding-bottom: 10px;
	font-size: 18px;
	font-weight: 500;
	line-height: 140%;
	border-bottom: 1px solid #dcdcdc;
}

/*--------------------------------------------------------*/
/*						privacypolicy 					  */
/*--------------------------------------------------------*/

.priv .page-visual{
	background-image: url(../iamges/about/mv_about.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
}
.priv .page-visual-title-box{
    right: 25px;
}
.priv #privacypolicy {
    padding: 100px 0 70px;
}
.priv #privacypolicy .top_txt {
    margin-bottom: 70px;
    line-height: 200%;
}
.priv #privacypolicy section{
	margin-bottom: 60px;
}
.priv #privacypolicy section h3 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
.priv #privacypolicy section p {
    line-height: 200%;
}

/*--------------------------------------------------------*/
/*					       	 sp     					  */
/*--------------------------------------------------------*/

@media only screen and (max-width: 759px){

	/* -----------------------index--------------------------- */

	/*--------------------------------------------------------*/
	/*							slide						  */
	/*--------------------------------------------------------*/
	.slideshow{
		overflow: hidden;
		position: relative;
		width: 100%;
		height: calc(100vh - 50px);
	}
	.slideshow-cover{
		position: absolute;
		top: auto;
		bottom: 0;
		left: 0;
		right: auto;
		z-index: 100;
		width: 100%;
		height: 60.98vh;
	}
	.slideshow_cover_img{
		width: 100%;
		height: 100%;
	}
	.slideshow_cover_img img{
		position: absolute;
		bottom: -26vh;
		width: 100%;
		height: 100vh;
		transform: rotate(90deg);
	}
	.slideshow-cover-text{
		position: absolute;
		top: auto;
		bottom: 40px;
		left: 7.17vw;
		right: 7.17vw;
		font-size: 9vw;
		letter-spacing: 0.02em;
		line-height: 125%;
	}
	.slideshow-cover-text-sbu{
		display: block;
		text-align: center;
		font-size: 4vw;
	}
	.sp_slide{
		display: none;
	}
	.slideshow-slide{
		position: absolute;
		left: -33.5vh;
		width: 175.5vh;
		height: 100%;
	}
	.slideshow-slide img{
		width: 100%;
		height: 100%;
	}

	/*--------------------------------------------------------*/
	/*						   inner						  */
	/*--------------------------------------------------------*/
	.news-inner,
	.about-inner,
	.service-inner,
	.recruit-inner{
		display: block;
	}

	/*--------------------------------------------------------*/
	/*						   news							  */
	/*--------------------------------------------------------*/
	.news-section{
		padding: 63px 0;
	}
	.news-container{
		width: 100%;
		margin: 49px 0;
		border-top: none;
	}
	.news-title{
		border-bottom: solid 1px #dcdcdc;
	}
	.news-title:first-child{
		border-top: solid 1px #dcdcdc;
	}
	.news-title a{
		display: block;
		padding: 13px 0;
		background-image: url(../iamges/ic_arrow.png);
		background-repeat: no-repeat;
		background-position: center right 1px;
	}
	.news-title time{
		padding-right: 0px;
		font-size: 12px;
	}
	.news-title p{
		display: block;
		font-size: 13px;
	}

	/*--------------------------------------------------------*/
	/*						   about						  */
	/*--------------------------------------------------------*/

	.about{
		padding: 63px 0;
		background-size: 200vw;
		background-position: bottom right;
		background-color: #eef4fb;
	}
	.about-container{
		padding-top: 28px;
	}
	.about-title{
		margin-bottom: 35px;
		font-size: 20px;
		color: #025cac;
	}

	/*--------------------------------------------------------*/
	/*						   service						  */
	/*--------------------------------------------------------*/

	.service{
		padding: 63px 0;
		background-image: url(../iamges/index/bg_service_sp.png);
		background-size: cover;
		background-position: bottom;
	}
	.service-container{
		display: block;
		margin-top: 30px;
	}
	.service-box{
		position: relative;
		width: 100%;
		height: 53.517vw;		
	}
	.service-box:hover{
		background-size: 110%;
	}
	.service-box:last-child{
		margin-top: 30px;
		margin-left: 0px;
	}
	.service-box span{
		position: absolute;
		top: 29.931vw;
		right: 0;
		padding: 0 8.275vw 3,448vw 0;
	}

	/*--------------------------------------------------------*/
	/*						   recruit						  */
	/*--------------------------------------------------------*/

	.recruit{
		padding: 63px 0 172px;
		background-size: 200vw;
		background-position: bottom right;
		background-color: #eceff4;
	}
	.recruit-button{
		position: relative;
		width: 240px;
		margin: 115px calc(50% - 120px) 0 calc(50% - 120px);
		padding: 15px 0;
		border: solid 1px #025cac;
		box-sizing: border-box;
		transition: 0.3s ease;
	}
	.recruit-button:after{
		position: absolute;
		top: 27px;
		right: -25px;
		content: '';
		width: 50px;
		height: 1px;
		background-color: #025cac;
	}
	.recruit-button:hover{
		background-color: #025cac;
	}
	.recruit-button p{
		text-align: center;
		color: #025cac;
		line-height: 160%;
		transition: 0.3s ease;
	}
	.recruit-button:hover p{
		color: #fff;
	}

	/*--------------------------------------------------------*/
	/*						   banner						  */
	/*--------------------------------------------------------*/

	.banner{
		display: block;
		padding: 32px 0 12px;
	}
	.banner-box{
		width: 260px;
		height: 80px;
		margin: 0px auto 20px;
	}

	/* --------------------end index---------------------- */

	/*--------------------------------------------------------*/
	/*						   about						  */
	/*--------------------------------------------------------*/

	.abou .page-visual{
		background-position: center;
	}
	.about-title-l{
		font-size: 24px;
	} 
	.about-title-m{
		font-size: 23px;
	}
	.about-message-flex{
		display: block;
	}
	.about-img-box{
		padding: 30px 0 0;
		text-align: center;
	}
	.about-message{
		padding: 65px 0 0;
	}
	.about-message-box > p{
		padding-top: 50px;
	}
	.about-message-profile{
		padding: 20px 0 50px;
	}
	.profile-name{
		font-size: 15px;
	}
	.about-message-box{
		width: 100%;
	}
	.about-message{
		background-size: auto 500px;
		background-position: bottom right -70vw;
	}
	.about-company .about-table{
		padding: 50px 0;
	}
	.about-product .about-table:first-child{
		padding: 81px 0 89px;
	}
	.about-product .about-table:nth-child(2){
		padding: 0px 0px 80px;
	}
	.about-product .about-flex-frame{
		padding: 0px;
	}
	.about-history .about-table{
		padding: 83px 0px 71px;
	}
	.about-table-frame,
	.about-flex-frame{
		margin-top: 25px;
		padding: 0px 10px;
	}
	.about-flex-frame{
		display: block;
	}
	.about-company,
	.about-history{
		background-color: #eef4fb;
	}
	.about-company .about-table-frame table th,
	.about-company .about-table-frame table td,
	.about-product .about-table-frame table th,
	.about-product .about-table-frame table td{
		display: block;
		padding: 5px 10px;
	}
	.about-company .about-table-frame table th,
	.about-product .about-table-frame table th{
		text-align: left;
	}
	.about-company .about-table-frame table td,
	.about-product .about-table-frame table td{
		padding: 15px 10px;
	}
	.about-history .about-table-frame table th,
	.about-history .about-table-frame table td{
		display: block;
		padding: 12px 19px;
	}
	.about-history .about-table-frame table th{
		text-align: left;
	}
	.about-table-frame table tr{
		width: 100%;
		border-bottom: 1px dotted #c0bad7;
		vertical-align: top;
	}
	.about-table-frame table tr:first-child th,
	.about-table-frame table tr:first-child td{
		padding-top: 15px;
	}
	.about-table-frame table tr:last-child{
		border-bottom: none;
	}
	.about-table-frame table th{
		font-size: 13px;
	}
	.about-table-frame table td,
	.product-box ul li{
		font-size: 13px;
	}
	.about-table-frame table td{
		border-left: none;
	}
	.dots-blue > li{
		padding-left: 22px;
		background-image: url(../iamges/about/ic_dots_blue.svg);
		background-repeat: no-repeat;
		background-position: top 8.4px left 7px;
	}
	.product-box{
		padding-top: 15px;
	}
	.product-box-title{
		padding: 9px 18px;
		font-size: 14px;
		color: #025cac;
		border: solid 1px #025cac;
	}
	.product-box-title em{
		padding-right: 10px;
		font-size: 18px;
	}
	.about-flex-box{
		width: 100%;
	}
	.product-box > ul{
		padding: 15px 0;
	}
	.dots-blue-inner li{
		padding-left: 20px;
		background-image: url(../iamges/about/ic_dots_gray.svg);
		background-repeat: no-repeat;
		background-position: center left 7px;
	}
	.product-box ul li > ul li{
		font-size: 12px;
		font-weight: 500;
		line-height: 140%;
		letter-spacing: 0.05em;
	}
	.access-flex{
		display: block;
		width: 100%;
	}
	.access-info{
		width: 100%;
		padding: 35px 7.17vw;
		box-sizing: border-box;
	}
	.access-img{
		width: 100%;
	}
	.access-img img{
		width: 100%;
		height: 100%;
	}
	.g-map{
		width: 100%;
		height: 400px;
	}
	.g-map iframe{
		width: 100%;
		height: 100%;
	}
	.company-name{
		padding-top: 20px;
	}
	.company-name p{
		font-size: 16px;
	}
	.company-adress{
		padding-top: 20px;
	}
	.company-tell{
		padding-top: 20px;
	}
	.about-health-flex{
		display: block;
	}
	.about-health-img{
		padding: 32px 0;
		text-align: center;
	}
	.about-health-content{
		padding-left: 0;
	}
	.about-health-content p{
		font-size: 14px;
	}
	.about-health-list{
		margin: 20px auto 50px;
		padding: 30px 40px;
	}
	.about-health-list-title{
		font-size: 13px;
	}
	.about-health-list ul{
		margin-top: 13px;
	}
	.about-health-list ul li{
		padding-left: 15px;
		font-size: 13px;
		font-weight: 500;
		background-position: left top 10px;
	}

	/*--------------------------------------------------------*/
	/*						   service						  */
	/*--------------------------------------------------------*/

	.serv .page-visual{
		background-position: top center;
	}
	.service-intro{
		padding: 32px 0;
		text-align: left;
	}
	.service-intro p{
		padding-top: 35px;
		font-weight: 500;
	}
	.service-flex-box{
		display: block;
		padding-bottom: 60px;
	}
	.service-flex-reverse-box{
		display: block;
		padding-bottom: 108px;
	}
	.service-flex-img img{
		width: 100%;
	}
	.service-content{
		width: 100%;
		padding-top: 30px;
	}
	.middle-text{
		padding-top: 25px;
		font-size: 20px;
		text-align: center !important;
	}
	.small-text{
		padding-top: 25px;
		font-size: 14px;
	}

	/*--------------------------------------------------------*/
	/*						   poll 						  */
	/*--------------------------------------------------------*/

	.poll .page-visual{
		background-position: top center;
	}
	.poll-intro-flex{
		display: block;
		padding: 50px 0 70px;
	}
	.poll-intro-content{
		width: 100%;
	}
	.poll-intro-content p{
		padding-top: 32px;
	}
	.poll-prof{
		width: 100%;
		margin-top: 30px;
		padding: 35px 20px;
		box-sizing: border-box;
		background-color: #eef4fb;
	}
	.poll-prof-img{
		text-align: center;
	}
	.poll-prof-button{
		margin-top: 32px;
	}
	.poll-prof-button .pdf-button{
		background-position: center right 9px ;
	}
	.poll-outframe{
		padding: 30px 0;
		background-color: #eef4fb;
	}
	.poll-innerframe{
		width: 85.66vw;
		margin: 0 auto;
		padding: 43px 15px;
		box-sizing: border-box;
	}
	.poll-center-flex-top,
	.poll-center-flex-middle,
	.poll-center-flex-bottom{
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	.poll-center-flex-top,
	.poll-center-flex-middle{
		border-bottom: solid 1px #eef4fb;
	}
	.poll-center-flex-top{
		padding: 45px 0 40px;
	}
	.poll-center-flex-middle{
		padding: 50px 0 47px;
	}
	.poll-center-flex-bottom{
		padding: 35px 0 0;
	}
	.poll-flex-box p{
		padding: 15px 0;
		font-size: 16px;
	}
	.poll-flex-box{
		padding: 0px;
	}
	.poll-center-flex-middle .poll-flex-box:first-child{
		padding-bottom: 40px;
	}
	.poll-flex-img{
		width: 100%;
	}
	.poll-flex-img img{
		width: 100%;
	}
	.poll-flex-tex{
		display: block;
		text-align: center;
		font-size: 12px;
	}
	.text-center{
		text-align: center;
	}
	.text-center p{
		padding-top: 30px;
		text-align: left;
	}
	.concreate_product{
		width: 85.66vw;
		margin: 0 auto;
		padding: 35px 0 50px;
		box-sizing: border-box;
	}
	.concreate_product-button{
		max-width: 416px;
		width: 100%;
		margin: 28px auto 0;
	}

	/*--------------------------------------------------------*/
	/*						   pile 						  */
	/*--------------------------------------------------------*/

	.pile .page-visual{
		background-position: top center;
	}
	.pile-work{
		padding: 32px 0;
	}
	.pile-work-flex{
		display: block;
		width: 86.55vw;
		margin: 0 auto;
		padding-top: 27px;
	}
	.pile-work-box{
		width: 100%;
		margin-bottom: 30px;
	}
	.work-img img{
		width: 100%;
	}
	.pile-work-box p{
		padding-top: 10px;
	}
	.pile-content{
		width: 86.55vw;
		margin: 0 auto;
		padding: 20px 15px;
	}
	.left-leaning-box{
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	.left-flex{
		position: static;
		display: block;
		padding: 32px 0 60px;
	}
	.left-flex-img{
		width: 86.55vw;
		margin: 0 auto;
	}
	.left-flex-img img{
		width: 100%;
	}
	.pile-discription-flex{
		display: block;
		padding: 32px 0 64px;
	}
	.pile-dis-img{
		margin-bottom: 30px;
	}
	.pile-dis-img img{
		width: 100%;
	}
	.pile-dis-box{
		width: 100%;
	}
	.pile-dis-title{
		font-size: 18px;
	}
	.pile-dis-box p{
		padding-top: 30px;
		font-size: 14px;
		font-weight: 500;
	}
	.pile-nav-frame{
		padding: 50px 0 30px;
		background-color: #eef4fb;
	}
	.pile-nav{
		width: 86.55vw;
		margin: 0 auto;
		background-color: #fff;
	}
	.pile-nav ul{
		display: block;
		padding: 20px 10px;
	}
	.pile-nav a{
		display: block;
		padding: 0 55px 0 30px;
	}
	.pile-nav span{
		display: block;
		padding: 7px 0px 7px 25px;
		font-size: 16px;
		font-weight: 700;
		line-height: 160%;
		letter-spacing: 0.08em;
	}
	.pile-nav li{
		margin-bottom: 20px;
		border-left: none;
		background-image: url(../iamges/ic_arrow_under.png);
		background-repeat: no-repeat;
		background-position: center left 30px;
	}
	.pile-nav li:hover span{
		color: #505050;
		border-bottom: none;
	}
	.pile-nav li:last-child{
		border-right: none;
	}
	.pile-prodcts,
	.pile-method,
	.pile-foundation-work{
		background-color: #eef4fb;
	}
	.pile-prodcts{
		padding-bottom: 35px;
	}
	.pile-method{
		padding-bottom: 40px;
	}
	.pile-foundation-work{
		padding-bottom: 79px;
	}
	.pile-inner{
		width: 86.55vw;
		margin: 0 auto;
		padding: 32px 15px 64px;
		background-color: #fff;
		box-sizing: border-box;
	}
	.products-content-box{
		padding-top: 60px;
	}
	.products-content-box > p{
		padding-top: 25px;
		font-weight: 500;
	}
	.products-content-flex{
		display: block;
		padding-top: 25px;
	}
	.products-content-table{
		width: 100%;
	}
	.products-content-pdf{
		max-width: 360px;
		width: 100%;
	}
	.products-content-pdf .pdf-button{
		margin-bottom: 10px;
	}
	.products-content-title{
		padding-bottom: 10px;
		font-size: 18px;
	}
	.products-content-table-title{
		padding-bottom: 10px;
		font-size: 14px;
	}
	.products-content-table table{
		width: 100%;
		margin: 30px 0;
	}
	.products-content-table th,
	.products-content-table td{
		display: block;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.08em;
		line-height: 160%;
	}
	.products-content-table th{
		padding: 10px 15px 15px;
		text-align: center;
	}
	.products-content-table td{
		padding: 10px 15px 20px;
		border-left: none;
	}
	.products-content-table tr{
		border-top: solid 1px #dcdcdc;
	}
	.products-content-table tr:last-child{
		border-bottom: solid 1px #dcdcdc;
	}
	.method-pdf-img{
		width: 178px;
		margin: 0 auto;
	}
	.method-pdf .pdf-button{
		margin-top: 30px;
	}
	.method-pdf{
		width: 100%;
	}
	.method-flex{
		display: block;
		padding-top: 75px;
	}
	.method-flex:first-child{
		padding-top: 65px;
	}
	.method-content{
		width: 100%;
		margin-top: 32px;
	}
	.method-content-title{
		padding-bottom: 10px;
		font-size: 18px;
	}
	.method-content-title-aside{
		float: none;
		display: inline-block;
		margin-top: 7px;
		padding: 5px 10px;
		border: solid 1px #025cac;
	}
	.method-content-title-aside p{
		font-size: 13px;
	}
	.method-content > p{
		padding-top: 29px;
		font-weight: 500;
	}
	.method-table{
		padding-top: 40px;
	}
	.method-table-title{
		padding-bottom: 15px;
		font-size: 13px;
	}
	.method-table th,
	.method-table td{
		display: block;
		font-size: 13px;
	}
	.method-table th{
		text-align: left;
		padding: 11px 11px 13px;
		background-color: #f6f7f8;
		border-bottom : solid 1px #dcdcdc;
	}
	.method-table td{
		width: 100%;
		padding: 11px 18px;
		box-sizing: border-box;
		border-left: none;
	}
	.method-table tr{
		border-top: solid 1px #dcdcdc;
	}
	.method-table tr:last-child{
		border-bottom: none;
	}
	.oversky{
		padding-top: 70px;
	}
	.oversky img{
		width: 100%;
	}
	.foundation-flex{
		display: block;
		padding-top: 0;
	}
	.foundation-flex:first-child{
		padding-top: 50px;
	}
	.faundation-box{
		width: 100%;
		margin: 60px 0 0;
	}
	.faundation-box-img img{
		width: 100%;
	}
	.faundation-title-aside{
		display: inline-block;
		margin-top: 20px;
		padding: 5px 10px;
		border: solid 1px #025cac;
	}
	.faundation-title-aside p{
		font-size: 13px;
	}
	.faundation-title{
		padding: 15px 0 12px;
		font-size: 18px;
	}
	.faundation-box > p{
		padding-top: 13px;
	}

	/*--------------------------------------------------------*/
	/*						   recruit 						  */
	/*--------------------------------------------------------*/

	.recr .page-visual,
	.inte .page-visual,
	.new- .page-visual,
	.care .page-visual{
		background-position: top center;
	}
	.recruit-intro{
		padding: 80px 0;
	}
	.recruit-intro > P{
		padding-top: 40px;
		text-align: left;
	}
	.career-path{
		padding: 32px 0 64px;
		background-color: #eef4fb;
	}
	.career-path-inner .common-title{
		font-size: 24px;
		text-align: center;
	}
	.career-path-inner > p{
		padding-top: 40px;
	}
	.career-path-img{
		width: 100%;
		height: auto;
		margin-top: 40px;
		padding-top: 30px;
	}
	.career-path-img img{
		width: 100%;
	}
	.recuruit-interview{
		padding: 20px 0 32px;
		background-color: #eef4fb;
	}
	.recuruit-interview .common-title{
		text-align: center;
	}
	.recuruit-interview-bg{
		width: 100%;
		height: auto;
		padding-top: 50px;
	}
	.recuruit-interview-bg img{
		width: 100%;
		height: 100%;
	}
	.recuruit-button-frame{
		padding-top: 50px;
	}
	.recuruit-button-frame .common-button{
		margin: 0 auto;
	}
	.recuruit-info{
		position: relative;
		width: 100%;
		padding: 35px 0 98px;
	}
	.recuruit-info-button-frame{
		display: block;
		position: static;
		width: 86.55vw;
		margin: 0 auto;
	}
	.recuruit-info-button{
		display: block;
		max-width: 489px;
		width: 100%;
		margin: 0 0 20px;
		box-sizing: border-box;
	}
	.recuruit-info-button a{
		display: block;
		padding: 25px 0;
	}
	.recuruit-info-button p{
		font-size: 18px;
	}
	.recuruit-info-button.new{
		background-color: #025cac;
	}
	.recuruit-info-button.new a{
		background-position: center right 20px;
	}
	.recuruit-info-button.halfway a{
		background-position: center right 20px;
	}
	.recruit-info-innner{
		height: auto;
		background-color: #fff;
	}
	.punf-img{
		float: none;
		width: 110%;
		margin: 0 0 0 -5%;
		padding-left: 0px;
	}
	.punf-img img{
		width: 100%;
	}
	.punf-pdf{
		position: static;
		float: none;
		padding: 0 0 0 0;
	}
	.punf-pdf .common-title{
		font-size: 22px;
		text-align: center;
	}
	.punfp-pdf-button-frame{
		padding: 25px 0;
	}
	.punfp-pdf-button-frame .pdf-button{
		max-width: 300px;
		width: 85%;
		margin: 0 auto;
		background-position: center left 30px;
		box-sizing: border-box;
	}
	.punfp-pdf-button-frame .pdf-button a{
		padding: 10px 25px 10px 50px;
	}
	.punfp-pdf-button-frame .pdf-button p{
		text-align: center;
	}
	.recuruit-content-top,
	.recuruit-content-bottom{
		padding-top: 60px;
		background-color: #eef4fb;
	}
	.recuruit-content-inner{
		position: relative;
		background-color: #fff;
	}
	.recuruit-content-dis{
		width: 100%;
		padding-bottom: 20px;
	}
	.recuruit-content-flex{
		position: relative;
		display: block;
	}
	.recuruit-content-flex-img img{
		width: 100%;
	}
	.recuruit-content-top .recuruit-content-flex{
		padding: 20px 0 32px;
	}
	.recuruit-content-bottom .recuruit-content-flex{
		padding: 32px 0 64px;
	}
	.recuruit-bg-top-object{
		display: none;
	}
	.recuruit-bg-bottom-object{
		display: none;
	}
	.recuruit-content-dis .common-title{
		padding-top: 20px;
		font-size: 20px;
	}
	.recuruit-content-dis > p{
		padding-top: 20px;
		font-size: 13px;
	}
	.recuruit-content-dis-list{
		margin-top: 20px;
		padding: 12px 20px;
		border: solid 1px #eef4fb;
	}
	.recuruit-content-dis-list .common-title-blue{
		font-size: 13px;
	}
	.recuruit-content-dis-list ul{
		padding-right: 35px;
	}
	.recuruit-content-dis-list li{
		padding-left: 15px;
		font-size: 13px;
	}
	.recuruit-content-dis-list-flex{
		display: block;
		padding-top: 18px;
	}

	/*--------------------------------------------------------*/
	/*						 interview 						  */
	/*--------------------------------------------------------*/

	.inte .page-visual-title-box {
		position: absolute;
		top: 75%;
		right: auto;
		color: #fff;
	}
	.inte-nav-container{
		padding: 32px 0 64px;
	}
	.inte-nav-container .common-title{
		text-align: center;
	}
	.inte-nav-frame{
		padding-top: 32px;
	}
	.inte-nav-frame ul{
		display: block;
		width: 86.55vw;
		margin: 0 auto;

	}
	.inte-nav-frame li{
		width: 100%;
		margin: 0 24px 25px 0;
		box-sizing: border-box;
		border-top: solid 1px #025cac;
		border-bottom: solid 1px #025cac;
		background-image: url(../iamges/ic_arrow_under.png);
		background-position: center right;
		background-repeat: no-repeat;
		transition: 0.3s ease;
	}
	.inte-nav-frame li:hover{
		background-color: #eef4fb;
	}
	.inte-nav-frame li a{
		display: block;
		padding: 12px 0;
	}
	.inte-belong{
		font-size: 12px;
		padding-bottom: 15px;
	}
	.inte-nav-frame li p{
		font-size: 16px;
	}
	.hire-data{
		padding-left: 12px;
		font-size: 12px;
	}
	.interview-image{
		position: relative;
		width: 100%;
		background-repeat: no-repeat;
	}
	.interview-content-title{
		text-align: center;
	}
	.interview-content-title .common-title-blue{
		font-size: 13px;
	}
	.interview-content-title p{
		padding-top: 20px;
		font-size: 21px;
	}
	.interview-content-title span{
		display: block;
		padding-top: 13px;
		font-size: 12px;
	}
	.interview-content{
		padding: 32px 0 64px;
	}
	.interview-content-flex{
		display: block;
		padding-top: 44px;
	}
	.interview-content-box{
		width: 100%;
	}
	.interview-q{
		padding-top: 35px;
		font-weight: 700;
		line-height: 100%;
		color: #025cac;
	}
	.interview-answer{
		display: flex;
		justify-content: start;
		padding-top: 20px;
	}
	.interview-answer span{
		display: block;
		font-size: 17px;
		font-weight: 700;
	}
	.interview-answer p{
		padding-left: 11px;
		font-size: 14px;
		line-height: 160%;
	}
	.interview-content-image{
		margin-right: -7.1vw;
		padding-top: 30px;
	}
	.interview-content-image img{
		width: 100%;
	}
	.cover-flex{
		position: absolute;
		width: 100%;
		height: 30%;
		bottom: 0;
		background-color: #025cac;
	}
	.cover-box{
		display: none;
	}
	.cover-comment{
		margin: 15px auto 0;
		font-size: 18px;
		text-align: center;
		writing-mode: horizontal-tb;
	}
	.cover-right{
		width: 100%;
	}
	.cover-left{
		width: 100%;
	}
	.cover-right .cover-comment{
		float: none;
		padding: 0;
	}
	.cover-left .cover-comment{
		float: none;
		padding: 0;
	}
	.interview-image.mikai {
		background-position: top left 30%;
		background-size: 200%;
	}
	.interview-image.hukuda {
		background-position: top left 30%;
		background-size: 200%;
	}
	.interview-image.mino {
		background-position: top right 37%;
		background-size: 170%;
	}
	.interview-image.nogami {
		background-position: top right 40%;
		background-size: 170%;
	}
	.interview-image.yasuda {
		background-position: top left 35%;
		background-size: 170%;
	}
	.interview-image.kyouda {
		background-position: top right 30%;
		background-size: 170%;
	}
	.interview-image.hamada {
		background-position: top right 30%;
		background-size: 170%;
	}
	.interview-image.takano {
		background-position: top left 20%;
		background-size: 170%;
	}

	/*--------------------------------------------------------*/
	/*			     	new-graduate  career  				  */
	/*--------------------------------------------------------*/
	.requirements-table{
		padding: 32px 0 64px;
	}
	.requirements-table .about-table-frame{
		margin-top: 30px;
	}
	.requirements-table .about-table-frame table th{
		text-align: left;
	}
	.requirements-table .about-table-frame table th, .requirements-table .about-table-frame table td{
		display: block;
		padding: 15px 19px;
	}
	.contact{
		padding: 32px 6.725vw 64px;
		background-color: #eef4fb;
	}
	.contact-title{
		text-align: center;
	}
	.contact-title .common-title{
		font-size: 18px;
	}
	.contact-title p{
		padding-top: 13px;
	}
	.contact-button{
		display: block;
		max-width: 470px;
		width: 100%;
		margin: 38px auto 0;
		border: solid 1px #025cac;
		transition: 0.3s ease;
	}
	.contact-button a{
		display: block;
		padding: 15px 0;
	}
	.contact-button span{
		display: block;
		padding-right: 0px;
		font-size: 13px;
	}
	.contact-button p{
		font-size: 23px;
	}
	.contact-button:hover{
		background-color: #025cac;
	}
	.contact-button:hover span,
	.contact-button:hover p{
		color: #fff;
	}

	/*--------------------------------------------------------*/
	/*						   news 						  */
	/*--------------------------------------------------------*/

	.news .page-visual{
		background-position: top center;
	}
	.news-frame{
		padding: 32px 0 64px;
	}
	.news-flex{
		display: block;
	}
	.news-area{
		width: 100%;
	}
	.news-box{
		margin-bottom: 35px;
	}
	.news-box time{
		padding-right: 0px;
		font-size: 11px;
	}
	.news-box-title{
		margin: 16px 0;
		padding-bottom: 10px;
		font-size: 13px;
	}
	.side-nav{
		max-width: 250px;
		width: 100%;
		margin: 50px auto 0;
	}
	.archive-title{
		font-size: 16px;
	}
	.side-nav li:hover{
		opacity: 0.6;
	}
	.side-nav li a{
		display: block;
		padding: 12px 0;
		border-top: 1px solid #dcdcdc;
	}
	.side-nav li:last-child a{
		border-bottom: 1px solid #dcdcdc;
	}
	.news .nav-links {
		text-align: center;
		margin-bottom: 0;
	}
	.nav-links a, .nav-links span {
		width: 9.375vw;
		height: 9.375vw;
		line-height: 9.375vw;
		font-size: 3.75vw;
	}
	.nav-links .current {
		background-color: #025cac;
		color: rgb(255,255,255);
	}
	.nav-links a:hover{
		background-color: #025cac;
		color: #fff;
	}
	.nav-links a, .nav-links {
		margin-bottom: 15.62vw;
	}

	/*--------------------------------------------------------*/
	/*						   single 						  */
	/*--------------------------------------------------------*/

	.single-post-time{
		padding-right: 0px;
		font-size: 11px;
	}
	.single-post-title{
		margin: 16px 0;
		padding-bottom: 10px;
		font-size: 13px;
	}

	/*--------------------------------------------------------*/
	/*						privacypolicy 					  */
	/*--------------------------------------------------------*/

	.priv .page-visual{
		background-position: top center;
	}
	.priv #privacypolicy {
		padding: 50px 0 20px;
	}
	.priv #privacypolicy .top_txt {
		margin-bottom: 50px;
		line-height: 180%;
	}
	.priv #privacypolicy section {
		margin-bottom: 40px;
	}
	.priv #privacypolicy section h3 {
		font-size: 16px;
		line-height: 180%;
		margin-bottom: 10px;
	}
	.priv #privacypolicy section p {
		line-height: 180%;
	}
}