@charset "utf-8";
/*------------------------------
contents.css
------------------------------*/

/*
common
-------------------*/

.list-row { display: table; width: 100%; border-bottom: #ccc 1px solid; }
.list-header,
.list-body { display: table-cell; vertical-align: top; padding-top: 0.8em; padding-bottom: 0.7em; }
.list-header { padding-right: 1em; }
@media screen and (min-width:769px){
	.list-header,
	.list-body { padding-top: 1.2em; padding-bottom: 1.1em; }
	.list-header { padding-left: 2em; padding-right: 5em; }
}

.pager { margin-top: 1em; }
@media screen and (min-width:769px){
	.pager { margin-top: 4rem; text-align: center; }
}


/*
page-contact
-------------------*/
.page-contact { background-color: #e0e0e0; }
.page-contact-header { color: #c30d23; text-align: center; margin-bottom: 2em; }
.page-contact-header i { font-size: 3rem; display: block; }
.page-contact-header span { font-size: 3.2rem; display: block; }
.page-contact-lead { 
	text-align: center; 
	border-top: #b5b5b5 1px solid; border-bottom: #b5b5b5 1px solid; 
	padding-top: 0.6em; padding-bottom: 0.6em; margin-top: 2em; margin-bottom: 2em; 
}
.page-contact-phone-block { float: left; width: 48%; }
.page-contact-mail-block { float: right; width: 48%; }
.page-contact-phone { display: block; }
.page-contact-phone-header { color: #fff; background: #014195; padding: 0.2em 0.8em; font-weight: bold; }
.page-contact-phone-num { color: #014195; font-size: 4rem; margin-left: 0.5em; position: relative; top: 0.2em; line-height: 1; }
.page-contact-phone-note { display: block; color: #595656; text-align: center; font-size: 1.4rem; margin-top: 0.5em; }
.page-contact-anchor { font-size: 2rem; display: block; padding-left: 1em; padding-right: 1em; }
@media screen and (max-width: 989px) {
	.page-contact-phone-num { font-size: 3.6rem; }
	.page-contact-phone-note { font-size: 1.2rem; }
	.page-contact-anchor { font-size: 1.7rem; }
}
@media screen and (max-width: 687px) {
	.page-contact-phone-block,
	.page-contact-mail-block { float: none; width: 100%; max-width: 400px; margin: auto; }
	.page-contact-phone-block { margin-bottom: 1.5rem; }
}

/*
home
-------------------*/
/* hero */
.page-ttl.home-hero { width: 100%; height: 610px; text-align: center; background-image: none; background-color: #0c1529; position: relative; z-index: 0; }
.home-hero-copy { 
	color: #fff; font-size: 3.6rem; font-weight: bold; background-color: rgba(12,21,41,0.1);
	display: inline-block; border: #fff 2px solid; position: relative; padding: 3em; margin-top: 110px; z-index: 1;
}
.home-hero-copy:before { 
	content: ""; display: inline-block; border: #fff 2px solid; opacity: 0.6; 
	position: absolute; top: 5px; left: 5px; width: 100%; height: 100%; z-index: -1;
}
.home-copy-txt { display: block; }
.home-copy-txt.line2 { font-size: 140%; }
.home-hero-img { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; height: 100%; max-width: 1920px; }
.home-hero-img .item { width: 100%; height: 755px; /*position: absolute; top: 0; left: 0;*/ }
@media screen and (max-width: 989px) {
	.page-ttl.home-hero { height: 450px; }
	.home-hero-copy { font-size: 3rem; padding: 2em 1.5em; margin-top: 3.5em; }
	.home-hero-img .item { height: 550px; }
}
@media screen and (max-width: 687px) {
	.page-ttl.home-hero { height: 100vw; }
	.home-hero-copy { font-size: 6.2vw; }
	.home-hero-img .item { height: calc(100px + 100vw); }
}

/* lead */
.home-lead-block.section-block { padding-top: 12rem; padding-bottom: 12rem; }

/* anchor */
.home-anchor-block { padding-top: 0; }
.row.home-anchor-row { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.home-anchor-item { 
	width: 48%; max-width: 294px; margin-right: 4%; margin-top: 1em; 
	position: relative; box-sizing: border-box; overflow: hidden; 
	background-repeat: no-repeat; background-position: 50% 50%; background-size: cover;
}
.home-anchor-item.service { background-image: url(../img/home_service.jpg); }
.home-anchor-item.company { background-image: url(../img/home_company.jpg); margin-right: 0; }
.home-anchor-item.csr { background-image: url(../img/home_csr.jpg); }
.home-anchor-item.recruit { background-image: url(../img/home_recruit.jpg); margin-right: 0; }
.home-anchor { 
	display: block; border: #014195 1px solid; padding: 80px 1em; 
	text-decoration: none; color: #014195; text-align: center; 
	background-color: rgba(255,255,255,0.6);
}
.home-anchor-ttl { font-size: 3rem; font-weight: bold; text-shadow: 0px 0px 10px #ffffff; display: block; margin-bottom: 0.8em; }
.home-anchor-btn { display: inline-block; font-size: 1.6rem; font-weight: bold; color: #fff; background: #c30d23; padding: 0.4em 1em; }
.home-anchor,
.home-anchor-ttl,
.home-anchor-btn { transition: all 0.3s; }
.home-anchor:hover { background: rgba(1,65,149,0.6);}
.home-anchor:hover .home-anchor-ttl { color: #fff; text-shadow: 0 0 10px #014195; }
.home-anchor:hover .home-anchor-btn { background: #fff; color: #c30d23; }

.home-coop-block { padding-top: 0; }
.home-coop-block .head { fon-size: 1.8rem; font-weight: 700; margin-bottom: 1rem; }
@media screen and (max-width: 687px) {
	.home-anchor-block { margin-top: -1.5rem; }
	.home-anchor-item { float: none; width: 100%; max-width: 400px; margin: 1.5rem auto 0!important; }
	.home-anchor-item.recruit { margin-right: auto; }
	.home-coop-block .body { font-size: 87.5%; }
}


/*
service
-------------------*/
.service-lead { text-align: center; margin-top: 5rem; }
.service-lead-header { margin-bottom: 1.5em; }
.service-lead-thumb { width: 100%; max-width: 980px; height: 230px; margin: auto; overflow: hidden; }
.service-content { margin-top: 6rem; }
.service-item { float: left; width: 48%; }
.service-item:first-of-type { margin-right: 4%; }
.service-content-thumb { margin: 1rem auto 2rem; width: 100%; max-width: 460px; height: 250px; overflow: hidden; }
.service-content-body { font-size: 1.4rem; }
@media screen and (max-width: 687px) {
	.service-item { float: none; width: 100%; }
	.service-item:first-of-type { margin-right: 0; margin-bottom: 3em; }
}

/*
company
-------------------*/
.company-theme-lead { text-align: center; font-size: 2rem; }
.company-theme-header { padding-top: 4em; }
.company-theme { margin: 2em auto 0; }
.company-theme-item { margin: 1em 0 1em 1em; list-style: decimal outside; padding-left: 0.5em; }
.company-nintei-paragraph { margin-top: 2em;}
.company-nintei { display: flex; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 4em; padding-bottom: 6rem;}
.company-info-table { font-size: 1.5rem; }
.company-info-table .company-info-item:last-of-type { border-bottom: 0; }
.list-header.company-info-header { padding-left: 0; }
.company-info-header { font-weight: bold; width: 6em; }

/* access */
.company-access-block.section-block { padding-bottom: 0; }
.company-business-policy { text-align: center; font-size: 1.5rem; }
.company-access-way { text-align: center; font-size: 1.5rem; }
.company-access-map { margin-top: 3em; position: relative; width: 100%; padding: 30% 0 0 0; }
.company-access-map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
@media screen and (max-width: 989px) {
	.company-access-map { padding-top: 56%; }
}
@media screen and (max-width: 687px) {
	.company-theme-header { padding-top: 2em; }
	.company-access-map { padding-top: 100%; }
}

/*
recruit
-------------------*/
.recruit-lead-header { margin-bottom: 1em; }
.recruit-lead-body { text-align: center; }
.recruit-bnr { text-align: center; margin-bottom: 2em; }
.rikunavi { display: inline-block; margin-left: 1em; margin-right: 1em; }
.rikunavi img { vertical-align: middle; }

.recruit-lead { margin-bottom: 1em; }

/* table */
.recruit-info-table { font-size: 1.5rem; }
.recruit-info-table .recruit-info-item:last-of-type { border-bottom: 0; }
.list-header.recruit-info-header { padding-left: 0; }
.recruit-info-header { font-weight: bold; width: 5em; }
@media screen and (min-width: 688px) {
	.recruit-lead { text-align: center; }
}

/*
contact
-------------------*/
/* form */
.contact-form-block.section-block { padding-bottom: 12rem; }
.contact-lead { text-align: center; }
.contact-form-line { display: block; margin-top: 1rem; }
.contact-form-line:first-of-type { margin-top: 0; }
.form-input-block { margin-top: 5rem;  border-top: #c1c6c6 1px solid; }
.list-header.contact-form-header { padding-right: 2em; padding-left: 0; width: 20em; padding-top: 2.7rem; font-weight: bold; }
.cfm .list-header.contact-form-header { padding-top: 1.2em; width: 10em; }
.list-body.contact-form-body { padding-left: 2em; }
.contact-form-line.col2 { display: inline-block; margin-top: 0; width: 49%; vertical-align: top; }
@media screen and (max-width:989px){
	.list-header.contact-form-header { width: 10em; }
}
@media screen and (max-width:687px){
	.contact-lead { text-align: left; }
	.form-input-block .list-row { display: block; }
	.list-header.contact-form-header { display: block; padding: 1.5rem 0 1rem; width: 100%; }
	.list-body.contact-form-body { display: block; padding: 0 0 1.5rem 0; }
	.contact-form-line.col2 { display: block; width: 100%; }
	.contact-form-line.col2:not(:last-child){ margin-bottom: 1rem; }
}

/* error */
.contact-err-item { color: #f00; font-size: 120%; margin: 1em auto; }
.contact-err-list { margin-top: 5rem; text-align: center; }
.form-submit-block .anchor { display: inline-block; }

/* privacy */
.contact-privacy-block.section-block { background-color: #f8f8f8; padding-top: 12rem; }
.contact-privacy { border: #d8d8d8 1px solid; height: 200px; overflow-y: scroll; }
.contact-privacy-inner { padding: 1em; background: #fff; }
.privacy-header1 { font-weight: bold; font-size: 122%; margin-bottom: 1em; }
.privacy-header-2 { font-weight: bold; margin-top: 1.5em; margin-bottom: 1em; }
@media screen and (min-width:688px){
	.contact-privacy-inner { padding: 1em 2em; }
}


/*
csr
-------------------*/
.bgg {
	background-color: #e5ebee;
}
.row {
	display:-webkit-box; display:-ms-flexbox; display: flex;
	-ms-flex-wrap: wrap; flex-wrap: wrap;
}
.section-block.full { padding-top: 8rem; padding-bottom: 8rem; }
@media screen and (min-width:688px){
	.section-block.full { padding-top: 12rem; padding-bottom: 12rem; }
}

.csr-lead .header-two { text-align: left; }

.csr-sdgslead { margin-bottom: 4em; }
.csr-sdgs-logo { width: 100%; max-width: 784px; margin: 2em auto 0; }

.csr-sdgs-row,
.csr-area-row {
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;
	margin-bottom: 2em;
}
.csr-area-row { margin-bottom: 3em; }
.csr-area-row:last-child { margin-bottom: 0; }
.csr-sdgs-head,
.csr-area-head {
	width: 100%; margin-bottom: 1em;
	color: #014195; font-size: 1.8rem; font-weight: bold;
}
.csr-sdgs-ico {
	width: 100%; margin-bottom: 1em;
	display:-webkit-box; display:-ms-flexbox; display: flex;
}
.csr-sdgs-ico li { width: 30%; margin-left: calc(10% / 2); }
.csr-sdgs-ico li:first-child { margin-left: 0; }
.csr-sdgs-txt { width: 100%; }
.csr-sdgs-btn { margin: 4em auto 0; max-width: 18em; }
.csr-area-btn { max-width: 15em; margin-top: 1em; font-size: 87.5%; }
.csr-area-row .txt { margin-bottom: 2em; }
.csr-officer-logo { width: 80%; max-width: 216px; margin: 0 auto 2em; }
.csr-officer {
	width: 100%; max-width: 640px; margin: 0 auto;
}
.csr-officer-sns {
	-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
	margin-top: 2em;
}
.csr-officer-sns li { width: 7em; max-width: 48%; margin-left: 4%; }
.csr-officer-sns li:first-child { margin-left: 0; }
.scr-officer-btn {
	display: block; background: #014195; color: #fff; text-decoration: none; transition: all .3s;
	text-align: center; font-size: 1.1rem;
	padding: 1em 2em;
}
.scr-officer-btn:hover { opacity: 0.8; }
.scr-officer-btn i { font-size: 2rem; display: block; }
@media screen and (min-width:688px){
	.csr-lead,
	.csr-lead .header-two { text-align: center; }
	.csr-sdgslead { text-align: center; }
	.csr-sdgs-ico { width: 48%; }
	.csr-sdgs-txt { width: 48%; }
	.csr-area-row.two { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
	.csr-area-row .txt { width: 58%; }
	.csr-area-row .photo { width: 38%; }
}