@charset "utf-8";

.about {display:flex; align-items:center; justify-content:space-between;}
.about h2 {margin-bottom:27px; font-size:var(--fz40); font-weight:600; letter-spacing:0; line-height:1.45em;}
.about h2 span {font-size:.9em; color:var(--color-primary); line-height:1.45em;}
.about p {font-size:var(--fz18); color:#222;}
.about p:not(:last-child) {margin-bottom:24px;}
.about .img {margin-left:30px;}

.core-group {box-shadow:0 4px 20px rgba(0,0,0,.2); margin-bottom:30px; align-items:center; border-radius:100px; display:flex; color:#fff;}
.core-group:last-chlid {margin-bottom:0;}
.core-group .char {margin-left:-1px; width:200px;}
.core-group dl {flex:1 1 auto; min-width:0; width:1%;}
.core-group dl dt {margin-bottom:3px; font-size:var(--fz30); font-weight:500; letter-spacing:0; line-height:1.4em;}
.core-group dl dd {font-size:var(--fz18); font-weight:400; letter-spacing:0; line-height:1.56em;}
.core-group:nth-child(odd) {background:var(--color-primary);}
.core-group:nth-child(odd) dl {padding:0 90px 0 80px;}
.core-group:nth-child(even) {flex-direction:row-reverse; background:var(--color-secondary);}
.core-group:nth-child(even) dl {padding:0 80px 0 100px;}

.prod-group {padding:35px 0; border-bottom:1px solid #ccc;}
.prod-group:first-child {border-top:2px solid #ccc;}
.prod-group .head {margin-bottom:47px;}
.prod-group .head h2 {margin-bottom:7px; font-size:var(--fz30); font-weight:500; letter-spacing:0; line-height:1.4em;}
.prod-group .head h2 img {vertical-align:middle;}
.prod-group .head p {font-size:var(--fz18); font-weight:400; letter-spacing:0; line-height:1.4em; color:#505050;}
.prod-group .wrap .row {display:flex;}
.prod-group .wrap .col {width:33.333%; padding:0 30px;}
.prod-group .desc .tit {margin-bottom:8px; font-size:var(--fz22); font-weight:500; letter-spacing:0; line-height:1.4em;}
.prod-group .desc ul li {padding-left:20px; position:relative; line-height:1.75em;}
.prod-group .desc ul li:before {content:''; position:absolute; left:0; top:.7em; width:5px; height:5px; border-radius:100%; background:var(--color-primary);}
.prod-group .desc ul li > div {padding-left:10px;}

.esg-txt {margin-bottom:110px; text-align:center; color:#505050; font-size:var(--fz18); font-weight:400; line-height:1.56em; letter-spacing:0;}

.esg-tit {margin-bottom:70px; font-size:var(--fz40); font-weight:700; letter-spacing:0; line-height:1.4em; text-align:center;}

.esg-group:not(:last-child) {margin-bottom:95px;}
.esg-group h2 {position:relative; margin-bottom:30px; padding-left:50px; font-size:var(--fz30); font-weight:700; letter-spacing:0; line-height:1.4em; color:var(--color-primary);} 
.esg-group h2:before {width:36px; height:35px; content:''; position:absolute; left:0; top:.1em; background-repeat:no-repeat; background-size:contain;}
.esg-group h2.ico1:before {background-image:url('/images/sub/tit-ico.png');}
.esg-group h2.ico2:before {background-image:url('/images/sub/tit-ico2.png');}
.esg-group h2.ico3:before {background-image:url('/images/sub/tit-ico3.png');}
.esg-group .desc .row {display:flex; flex-wrap:wrap; margin:-10px;}
.esg-group .desc .col {width:50%; padding:10px;}
.esg-group .desc dl {height:100%; padding:37px; border-radius:12px; background:#f5f5f5;}
.esg-group .desc dl dt {margin-bottom:5px; font-size:var(--fz22); font-weight:600; letter-spacing:0; line-height:1.4em;}
.esg-group .desc dl dd {font-weight:400; letter-spacing:0; line-height:1.5em; color:#505050;}
.esg-group .desc.col-2 .col {width:33.333%;}

.address-info {display:flex; margin-bottom:40px;}
.address-info .comp {margin-right:60px; vertical-align:middle;}
.address-info .addr {margin-bottom:5px; font-size:var(--fz21); font-weight:500; letter-spacing:-.03em; line-height:1.4em; color:#242424;}

.contact-info {border-top:2px solid var(--color-primary); line-height:1.5em;}
.contact-info dl {display:flex; padding:28px 0; border-bottom:1px solid #ddd;}
.contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.contact-info dt path {fill:#7facd5;}
.contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#505050;}

.sub-map {height:430px; margin-bottom:30px; border-radius:16px; overflow:hidden;}
.sub-map iframe {width:100%; height:100%;}

.inquiry-txt {margin-bottom:35px; font-size:var(--fz19); font-weight:500; letter-spacing:0; line-height:1.4em;}