@charset "UTF-8";

/*	m-link_about
**************************************************** */
.m-link_about { background-color: #ededed; padding: 80px 0; }
.m-link_about .m-link_about__list { }
.m-link_about .m-link_about__list > a { box-sizing: border-box; background-position: center center; background-repeat: no-repeat; background-size: cover; color: #ffffff; display: block; text-decoration: none; padding: 15px 20px 10px 20px; }
.m-link_about .m-link_about__block { overflow: hidden; position: relative; }
.m-link_about .m-link_about__block > dl > dd { font-size: 175%; font-weight: 700; line-height: 1.2857; margin: 5px 0 -1.1428em 0; padding-left: 18px; }
.m-link_about .m-link_about__block > p { color: #ffffff; font-weight: 700; line-height: 1.25; text-align: right; overflow: hidden; position: relative; padding-top: 120px; }
.m-link_about .m-link_about__block > p::before { background-color: rgba(212,212,212,0.4); content: ""; position: absolute; bottom: calc(0.625em + 1px); left: 0px; width: 1px; height: 100%; }
.m-link_about .m-link_about__block > p > span { padding-left: 10px; }
.m-link_about .m-link_about__block > p > span::before { background-color: rgba(212,212,212,0.4); content: ""; position: absolute; bottom: 0.625em; right: 100%; width: 1174px; height: 1px; }
.m-link_about .m-link_about__list > a.technology { background-image: url(/shared/img/bg_link_about_technology.jpg); }
.m-link_about .m-link_about__list > a.engineers { background-image: url(/shared/img/bg_link_about_engineers.jpg); }
@media only screen and (min-width:768px) {
.m-link_about .m-link_about__list > a { transition: opacity .25s ease-out; }
.m-link_about .m-link_about__list > a:hover { opacity: 0.7; text-decoration: none; }
}
@media only screen and (max-width:767px) {
.m-link_about { padding: 40px 0; }
.m-link_about .m-link_about__list { display: block; }
.m-link_about .m-link_about__list > a { padding: 10px 12px 5px 12px; width: auto; }
.m-link_about .m-link_about__list > a:nth-of-type(n+2) { margin-top: 20px; }
.m-link_about .m-link_about__block > dl > dt { font-size: 62.5%; line-height: 2.4; }
.m-link_about .m-link_about__block > dl > dd { font-size: 106.25%; line-height: 1.4285; margin: 0 0 -1.4285em 0; padding-left: 10px; }
.m-link_about .m-link_about__block > p { font-size: 62.5%; line-height: 1.6; padding-top: 70px; }
.m-link_about .m-link_about__block > p::before { bottom: calc(0.8em + 1px); }
.m-link_about .m-link_about__block > p > span { padding-left: 5px; }
.m-link_about .m-link_about__block > p > span::before { bottom: 0.8em; width: 100vw; }
}

/*sustainability*/
.m-link_sustainability .container {width: 100%;}
.m-link_sustainability > a {background: url(/shared/img/bg_link_sustainability.jpg) center top no-repeat;background-size: cover;color: #ffffff;display: flex;text-decoration: none;height: 360px;text-align: center;}
.m-link_sustainability .m-link_sustainability__block {overflow: hidden;position: relative;padding-top: 120px;}
.m-link_sustainability .m-link_sustainability__block > p {font-size: 106.5%;color: #ffffff;font-weight: 700;line-height: 1.25;text-align: right;overflow: hidden;position: relative;}
.m-link_sustainability .m-link_sustainability__block > dl{padding-bottom: 45px;}
.m-link_sustainability .m-link_sustainability__block > dl > dt{font-size: 169%;font-weight: 700;text-shadow: 0 0 20px rgba(0, 0, 0, 0.80);}
.m-link_sustainability .m-link_sustainability__block > dl > dd{font-size: 106.5%;padding-top: 5px;text-shadow: 0 0 20px rgba(0, 0, 0, 0.80);}
.m-link_sustainability .m-link_sustainability__block > p > span::before {background-color: rgba(212, 212, 212, 0.4);content: "";position: absolute;bottom: 0.625em;right: 100%;width: 1174px;height: 1px;}
.m-link_sustainability .m-link_sustainability__block > p > span {padding-left: 10px;}
.m-link_sustainability__block{text-align: center;}
/*sustainability*/

@media only screen and (min-width:768px) {
.m-link_sustainability > a { transition: opacity .25s ease-out; }
.m-link_sustainability > a:hover { opacity: 0.7; text-decoration: none; }
}

@media only screen and (max-width:767px) {
/*sustainability*/
.m-link_sustainability > a {background: url(/shared/img/bg_link_sustainability_sp.jpg) center top no-repeat;background-size: cover;height: 180px;}
.m-link_sustainability .m-link_sustainability__block > dl > dt {font-size: 131.25%;line-height: 1.1904;}
.m-link_sustainability .m-link_sustainability__block > dl > dd {font-size: 62.5%;line-height: 1.5;}
.m-link_sustainability .m-link_sustainability__block > p {font-size: 62.5%;line-height: 1.6;}
.m-link_sustainability .m-link_sustainability__block{padding-top: 47px;}
.m-link_sustainability .m-link_sustainability__block > dl > dd{padding-top: 7px;}
.m-link_sustainability .m-link_sustainability__block > dl {padding-bottom: 22px;}
/*sustainability*/
}

/*	m-link_recruit
**************************************************** */
.m-link_recruit > a { background: url(/shared/img/bg_link_recruit.jpg) center top no-repeat; background-size: cover; color: #181818; display: flex; align-items: center; text-decoration: none; height: 360px; }
.m-link_recruit .container { width: 100%; }
.m-link_recruit .m-link_recruit__block { overflow: hidden; position: relative; }
.m-link_recruit .m-link_recruit__block > dl > dt { margin-bottom: 5px; }
.m-link_recruit .m-link_recruit__block > dl > dd { font-size: 175%; font-weight: 700; line-height: 1.2857; margin: 5px 0 -1.1428em 0; padding-left: 18px; }
.m-link_recruit .m-link_recruit__block > p { color: #ffffff; font-weight: 700; line-height: 1.25; text-align: right; overflow: hidden; position: relative; padding-top: 165px; }
.m-link_recruit .m-link_recruit__block > p::before { background-color: rgba(212,212,212,0.4); content: ""; position: absolute; bottom: calc(0.625em + 1px); left: 0px; width: 1px; height: 100%; }
.m-link_recruit .m-link_recruit__block > p > span { padding-left: 10px; }
.m-link_recruit .m-link_recruit__block > p > span::before { background-color: rgba(212,212,212,0.4); content: ""; position: absolute; bottom: 0.625em; right: 100%; width: 1174px; height: 1px; }
@media only screen and (min-width:768px) {
.m-link_recruit > a { transition: opacity .25s ease-out; }
.m-link_recruit > a:hover { opacity: 0.7; text-decoration: none; }
}
@media only screen and (max-width:767px) {
.m-link_recruit > a { background: url(/shared/img/bg_link_recruit_sp.jpg) center top no-repeat; background-size: cover; height: 180px; }
.m-link_recruit .m-link_recruit__block > dl > dt { font-size: 62.5%; line-height: 1.5; }
.m-link_recruit .m-link_recruit__block > dl > dd { font-size: 131.25%; line-height: 1.1904; margin: 0 0 -2em 0; padding-left: 10px; }
.m-link_recruit .m-link_recruit__block > dl > dd small { display: block; font-size: 66.6666%; line-height: 1.7857; }
.m-link_recruit .m-link_recruit__block > p { font-size: 62.5%; line-height: 1.6; padding-top: 70px; }
.m-link_recruit .m-link_recruit__block > p::before { bottom: calc(0.8em + 1px); }
.m-link_recruit .m-link_recruit__block > p > span { padding-left: 5px; }
.m-link_recruit .m-link_recruit__block > p > span::before { bottom: 0.8em; }
}

/*	m-pagetop
**************************************************** */
.m-pagetop { position: relative; z-index: 90; }
.m-pagetop .m-pagetop__btn { font-size: 0; line-height: 0; position: absolute; bottom: 0px; right: 0px; display: none; }
.m-pagetop .m-pagetop__btn.is-fixed { position: fixed; }
.m-pagetop .m-pagetop__btn > a { background: #1d95d2 url(/shared/img/arw_pagetop.svg) center center no-repeat; background-size: 15px 8px; display: block; width: 50px; height: 50px; }
@media only print {
.m-pagetop { display: none; }
}

/*	m-heading
**************************************************** */
.m-heading--A { font-size: 225%; line-height: 1.1111; position: relative; }
.m-heading--A::before { background-color: #1d95d2; content: ""; position: absolute; top: 0.4166em; right: calc(100% + 15px); width: 100vw; height: 10px; }
.m-heading--B { font-size: 175%; line-height: 1.0714; }
.m-heading--C { font-size: 125%; line-height: 1.5; position: relative; padding-left: 40px; }
.m-heading--C::before { background-color: #1d95d2; content: ""; position: absolute; top: 0.65em; left: 0px; width: 30px; height: 4px; }
.m-heading--C--large { font-size: 175%; line-height: 1.5; position: relative; padding-left: 40px; }
.m-heading--C--large::before { background-color: #1d95d2; content: ""; position: absolute; top: 0.65em; left: 0px; width: 30px; height: 4px; }
.m-heading--D { background-color: #181818; color: #ffffff; font-size: 125%; font-weight: 700; line-height: 1.5; padding: 15px 20px; }
@media only screen and (max-width:767px) {
.m-heading--A { font-size: 175%; line-height: 1.25; }
.m-heading--A::before { top: 0.4821em; right: calc(100% + 5px); height: 8px; }
.m-heading--B { font-size: 150%; }
.m-heading--C { font-size: 143.75%; line-height: 1.5217; padding-left: 25px; }
.m-heading--C::before { top: 0.6738em; width: 20px; height: 4px; }
.m-heading--C--large { font-size: 143.75%; line-height: 1.5217; padding-left: 25px; }
.m-heading--C--large::before { top: 0.6738em; width: 20px; height: 4px; }
.m-heading--D { font-size: 112.5%; padding: 10px 20px; }
}

/*	m-column
**************************************************** */
.m-column--1 { display: flex; justify-content: center; }
.m-column--2,
.m-column--3,
.m-column--4,
.m-column--5 { display: flex; flex-wrap: wrap; }
.m-column--2 { margin-right: -4.5996%; }
.m-column--2 .m-column__cell { margin-right: 4.3973%; width: calc(50% - 4.3973%); }
.m-column--3 { margin-right: -4.5144%; }
.m-column--3 .m-column__cell { margin-right: 4.2194%; width: calc(33.3333% - 4.2194%); max-width: 356px; }
.m-column--4 { margin-right: -4.5996%; }
.m-column--4 .m-column__cell { margin-right: 4.3973%; width: calc(25% - 4.3973%); }
.m-column--5 { margin-right: -4.3441%; }
.m-column--5 .m-column__cell { margin-right: 4.1632%; width: calc(20% - 4.1632%); }
.container--narrow .m-column--2 { margin-right: -5.3254%; }
.container--narrow .m-column--2 .m-column__cell { margin-right: 5.0561%; width: calc(50% - 5.0561%); }
.container--narrow .m-column--3 { margin-right: -5.3254%; }
.container--narrow .m-column--3 .m-column__cell { margin-right: 5.0461%; width: calc(33.3333% - 5.0461%); max-width: 302px; }
.container--narrow .m-column--4 { margin-right: -5.3254%; }
.container--narrow .m-column--4 .m-column__cell { margin-right: 5.0561%; width: calc(25% - 5.0561%); }
.container--narrow .m-column--5 { margin-right: -5.3254%; }
.container--narrow .m-column--5 .m-column__cell { margin-right: 5.0561%; width: calc(20% - 5.0561%); }
@media (min-width:768px) {
.m-column--2 .m-column__cell:nth-of-type(n+3),
.m-column--3 .m-column__cell:nth-of-type(n+4),
.m-column--4 .m-column__cell:nth-of-type(n+5),
.m-column--5 .m-column__cell:nth-of-type(n+6) { margin-top: 50px; }
}
@media only screen and (max-width:767px) {
.m-column--1 { display: block; }
.m-column--2,
.m-column--3,
.m-column--4,
.m-column--5 { display: block; }
.m-column--2,
.m-column--3,
.m-column--4,
.m-column--5 { margin-right: 0; }
.m-column--2 .m-column__cell,
.m-column--3 .m-column__cell,
.m-column--4 .m-column__cell,
.m-column--5 .m-column__cell { margin-right: 0; width: auto; max-width: none; }
.container--narrow .m-column--2,
.container--narrow .m-column--3,
.container--narrow .m-column--4,
.container--narrow .m-column--5 { margin-right: 0; }
.container--narrow .m-column--2 .m-column__cell,
.container--narrow .m-column--3 .m-column__cell,
.container--narrow .m-column--4 .m-column__cell,
.container--narrow .m-column--5 .m-column__cell { margin-right: 0; width: auto; max-width: none; }
.m-column--2 .m-column__cell:nth-of-type(n+2),
.m-column--3 .m-column__cell:nth-of-type(n+2),
.m-column--4 .m-column__cell:nth-of-type(n+2),
.m-column--5 .m-column__cell:nth-of-type(n+2) { margin-top: 40px; }
}

/*	m-table
**************************************************** */
.m-table--A { table-layout: fixed; width: 100%; }
.m-table--A > tbody > tr > th { background-color: #ededed; border-top: 1px solid #c2c2c2; border-bottom: 1px solid #c2c2c2; font-weight: 700; text-align: left; vertical-align: top; padding: 20px; }
.m-table--A > tbody > tr > td { border-top: 1px solid #c2c2c2; border-bottom: 1px solid #c2c2c2; text-align: left; padding: 20px 0 20px 20px; }
.m-table--A .m-table--middle { vertical-align: middle; }
@media only screen and (max-width:767px) {
.m-table--A > tbody > tr > th { line-height: 1.5625; padding: 15px; }
.m-table--A > tbody > tr > td { line-height: 1.5625; padding: 15px 0 15px 15px; }
}

/*	m-spScroller
**************************************************** */
@media only screen and (max-width:767px) {
.m-spScroller { overflow-x: auto; }
.m-spScroller__inner { display: table; padding-right: 20px; }
}

/*	m-spScroller
**************************************************** */
.m-spScroller__icon { display: none; }
@media only screen and (max-width:767px) {
.m-spScroller { position: relative; }
.m-spScroller__icon { background: url(/shared/img/icon_scroll_black.svg) left center no-repeat; background-size: 19px 25px; color: #181818; display: block; font-size: 87.5%; line-height: 1.8; padding-left: 27px; position: absolute; top: 10px; left: 0px; height: 25px; opacity: 0; }
.m-spScroller__scroll { overflow-x: auto; margin-top: 10px; }
.m-spScroller__scroll__inner { display: table; padding-right: 1px; }
}

/*	m-card--A
**************************************************** */
.m-card--A { line-height: 1.875; }
.m-card--A .m-card__img { font-size: 0; line-height: 0; }
.m-card--A .m-card__img img { width: 100%; }
.m-card--A .m-card__text { margin-top: 25px; }
.m-card--A .m-card__text > dt { display: flex; align-items: center; justify-content: center; font-size: 125%; font-weight: 700; line-height: 1.5; text-align: center; }
.m-card--A .m-card__text > dd { line-height: 1.875; margin-top: 15px; }
.m-card--A .m-card__link { font-weight: 700; margin-top: 20px; }
.m-card--A .m-card__link > a { text-decoration: none; }
.m-card--A .m-card__link > a:hover { text-decoration: underline; }
@media only screen and (max-width:767px) {
.m-card--A .m-card__text { margin-top: 30px; }
.m-card--A .m-card__text > dt { font-size: 112.5%; line-height: 1.3888; }
.m-card--A .m-card__text > dd { margin-top: 20px; }
.m-card--A .m-card__link { margin-top: 15px; }
}

/*	m-pageTitleWrap
**************************************************** */
.m-pageTitleWrap { position: relative; min-height: 240px; }
.m-pageTitleWrap noscript { position: absolute; top: 0px; left: 0px; width: 100%; height: 240px; }
.m-pageTitleWrap .m-pageTitle { display: block; }
.m-pageTitleWrap noscript .m-pageTitle { display: block; }
@media only screen and (max-width:767px) {
}

/*	m-pageTitle
**************************************************** */
.m-pageTitle { background-position: center center; background-repeat: no-repeat; background-size: cover; }
.m-pageTitle__heading { color: #ffffff; display: flex; align-items: center; justify-content: center; font-size: 225%; font-weight: 700; line-height: 1.2; text-align: center; height: 240px; }
.m-pageTitle__heading > span { display: block; }
.m-pageTitle__heading > span > small { display: block; font-size: 55.5555%; margin-bottom: 15px; }
@media only screen and (max-width:767px) {
.m-pageTitle__heading { font-size: 200%; }
.m-pageTitle__heading > span > small { font-size: 51.6129%; margin-bottom: 12px; }
}

/*	m-pageNavi
**************************************************** */
.m-pageNavi { background-color: #181818; border-top: 1px solid rgba(255,255,255,0.5); }
.m-pageNavi .container { display: flex; }
.m-pageNavi .container > a { flex: 1; color: #ffffff; display: flex; align-items: center; justify-content: center; font-size: 87.5%; line-height: 1.4285; text-align: center; padding: 0 10px; height: 60px; }
.m-pageNavi .container > a.current { background-color: #ffffff; color: #1d95d2; font-weight: 700; }
@media only screen and (min-width:768px) {
.m-pageNavi .container > a { transition: background-color .25s ease-out, color .25s ease-out; }
.m-pageNavi .container > a:hover { background-color: #ffffff; color: #1d95d2; text-decoration: none; }
}
@media only screen and (max-width:767px) {
.m-pageNavi { background-color: transparent; border-top: none; }
.m-pageNavi .container { background-color: #ffffff; box-shadow: 0 0 9px 5px rgba(0,0,0,0.05); display: block; margin: -35px 20px 0 20px; padding: 5px; }
.m-pageNavi .container > a { background-color: #f5f5f5; flex: initial; color: #181818; font-size: 100%; line-height: 1.25; padding: 0 10px; height: 56px; }
.m-pageNavi .container > a + a { margin-top: 5px; }
}

/*	m-bread
**************************************************** */
.m-bread { background-color: #ffffff; padding: 17px 0; }
.m-bread .m-bread__list { display: flex; flex-wrap: wrap; font-size: 75%; font-weight: 700; line-height: 1.5; }
.m-bread .m-bread__list > li { background: url(/shared/img/arw_black_A.svg) left center no-repeat; background-size: 4px 7px; display: flex; flex-wrap: wrap; margin-right: 10px; padding-left: 15px; }
.m-bread .m-bread__list > li:first-child { background: none; padding-left: 0; }
.m-bread .m-bread__list > li:last-child { margin-right: 0; }
.m-bread .m-bread__list > li > a { color: #1d95d2; }
@media only screen and (max-width:767px) {
.m-bread { display: none; }
}

/*	m-list
**************************************************** */
.m-list--no { counter-reset: number 0; }
.m-list--no > li { position: relative; padding-left: 1.5em; }
.m-list--no > li::before { counter-increment: number 1; content: ""counter(number)"."; position: absolute; top: 0px; left: 0px; }
.m-list--no--B { counter-reset: number 0; }
.m-list--no--B > li { position: relative; padding-left: 2.5em; }
.m-list--no--B > li::before { counter-increment: number 1; content: "（"counter(number)"）"; position: absolute; top: 0px; left: 0px; }
.m-list--no--C { counter-reset: number 0; }
.m-list--no--C > li { position: relative; padding-left: 1.5em; }
.m-list--no--C > li::before { counter-increment: number 1; content: ""counter(number)"）"; position: absolute; top: 0px; left: 0px; }
.m-list--dot > li { position: relative; padding-left: 20px; }
.m-list--dot > li::before { background-color: #181818; border-radius: 50%; content: ""; position: absolute; top: 0.7187em; left: 0px; width: 7px; height: 7px; }
.m-list--square > li { position: relative; padding-left: 12px; }
.m-list--square > li::before { background-color: #181818; content: ""; position: absolute; top: 0.625em; left: 0px; width: 10px; height: 10px; }
.m-list--square > li + li { margin-top: 10px; }
.m-list--em1 > li { position: relative; padding-left: 1em; }
.m-list--em1 > li > span { position: absolute; top: 0px; left: 0px; }
@media only screen and (max-width:767px) {
.m-list--square > li + li { margin-top: 5px; }
}

/*	m-anchor
**************************************************** */
.m-anchor .m-anchor__block { display: flex; }
.m-anchor .m-anchor__block > a { flex: 1; background-color: #181818; color: #ffffff; display: flex; align-items: center; justify-content: center; font-size: 112.5%; font-weight: 700; text-align: center; position: relative; height: 120px; }
.m-anchor .m-anchor__block > a:hover { text-decoration: none; }
.m-anchor .m-anchor__block > a::after { background: url(/shared/img/arw_downward_white.svg) no-repeat; background-size: 100% 100%; content: ""; position: absolute; bottom: 20px; left: calc(50% - 8px); width: 16px; height: 8px; }
@media only screen and (min-width:768px) {
.m-anchor .m-anchor__block > a { transition: opacity .25s ease-out; }
.m-anchor .m-anchor__block > a:hover { opacity: 0.7; }
}
@media only screen and (max-width:767px) {
.m-anchor { box-shadow: 0 0 7px 3px rgba(0,0,0,0.05); background-color: #ffffff; margin-top: -85px; padding: 5px; }
.m-anchor .m-anchor__block { flex-wrap: wrap; margin: -5px -5px 0 0; }
.m-anchor .m-anchor__block > a { flex: initial; font-size: 100%; line-height: 1.25; margin: 5px 5px 0 0; width: calc(50% - 5px); height: 80px; }
.m-anchor .m-anchor__block > a::after { bottom: 7px; }
}

/*	m-anchorPoint
**************************************************** */
.m-anchorPoint { font-size: 0; line-height: 0; position: relative; top: -70px; }
@media only screen and (max-width:767px) {
.m-anchorPoint { top: -110px; }
}

/* m-anchorPointProducts
**************************************************** */
.m-anchorPointProducts { font-size: 0; line-height: 0; position: relative; top: -10px; }
@media only screen and (max-width:767px) {
.m-anchorPointProducts { top: -20px; }
}








