@charset "UTF-8";
/* --------------------------------
* PC/SPココから
* -------------------------------- */
#spirit #mainContents { padding-bottom: 0 !important;}
#spirit h4.blue-ttl { font-weight: 500; }

#policy .policy-list { text-align: center; }
#policy .policy-list dt { color: #003466; }
#policy .policy-list dd { color: #333333; }
#policy .img-container .inner { -ms-flex-pack: distribute; justify-content: space-around; }

#profile .profile-list dl dt { font-weight: bold; }
#profile .profile-list dl .attestation { display: block; margin-top: 10px; }

#environment .initiatives .flexbox dl dt { color: #003466; font-weight: 400; }
#environment .plan .flexbox dl:first-of-type dt { color: #003466; }
#environment .plan .flexbox dl:first-of-type dd:nth-of-type(1) ul li { list-style: decimal; padding-left: 1em; text-indent: -1em; list-style-position: inside; }
#environment .plan .flexbox dl:first-of-type dd:nth-of-type(2) { text-align: right; }
#environment .plan .flexbox dl:last-of-type { text-align: center; }
#environment .plan .flexbox dl:last-of-type dd:first-of-type { color: #003466; }

#environment .goal .flexbox dl:first-of-type dt { color: #003466; }
#environment .goal .flexbox dl:first-of-type dd:nth-of-type(1) ul li {  padding-left: 2em; text-indent: -1em; list-style-position: inside; }
#environment .goal .flexbox dl:first-of-type dd:nth-of-type(2) ul li {  padding-left: 2em; text-indent: -1em; list-style-position: inside; }
#environment .goal .flexbox dl:last-of-type { text-align: left; }
#environment .goal .flexbox dl:last-of-type dd:first-of-type { color: #000000; }

/* --------------------------------
* PCココから
* -------------------------------- */
@media (min-width: 769px) { #spirit h4.blue-ttl { margin-bottom: 30px; }
  #spirit .greeting { padding: 40px 0 60px; }
  #spirit .greeting p { font-size: 14px; line-height: 1.8; margin-bottom: 40px; }
  #spirit .greeting img { display: block; margin-left: auto; }
  #spirit .spirit { padding: 40px 0 60px; }
  #spirit .spirit:after { content: ""; display: block; clear: both; }
  #spirit .spirit p { font-size: 14px; line-height: 1.8; float: left; width: 70%; }
  #spirit .spirit p:first-of-type { margin-bottom: 1em; }
  #spirit .spirit img { width: 30%; }
  #spirit .vision { padding: 40px 0 30px; }
  #spirit .vision p { font-size: 14px; line-height: 1.8; }
  #spirit .vision p:first-of-type { margin-bottom: 1em; }
  #policy .maxImage { margin-bottom: 60px; }
  #policy .policy-list { padding: 70px 0 40px; margin-bottom: 60px; }
  #policy .policy-list dt { font-size: 20px; margin-bottom: 15px; }
  #policy .policy-list dd { font-size: 14px; line-height: 1.8; margin-bottom: 30px; }
  #policy .img-container .inner img { width: 227px; height: 170px; }
  #profile .profile-list dl dt { width: 210px; }
  #office_list h4.blue-ttl { margin-bottom: 25px; }
  #office_list .head-office-list { margin-bottom: 42px; }
  #office_list .map-container { width: 1024px; margin: 0 auto; margin-bottom: 50px; }
  #office_list .map-container .Gmap { width: 100%; height: 350px; }
  #history .history-list dl dt { width: 210px; }
  #environment .initiatives { padding-bottom: 70px; }
  #environment .initiatives p:first-of-type { font-size: 18px; line-height: 1.4; margin-bottom: 50px; }
  #environment .initiatives .flexbox { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #environment .initiatives .flexbox dl { width: 48%; margin-bottom: 25px; }
  #environment .initiatives .flexbox dl dt { font-size: 20px; margin-bottom: 15px; }
  #environment .initiatives .flexbox dl .description { font-size: 14px; line-height: 1.8; margin-bottom: 20px; }
  #environment .initiatives .annotation { font-size: 12px; line-height: 1.8; }
  #environment .idea .inner { padding: 60px 0 50px; }
  #environment .idea .inner h4 { margin-bottom: 40px; }
  #environment .idea .inner p { font-size: 18px; line-height: 1.4; }
  #environment .plan { padding-top: 60px; }
  #environment .plan h4 { margin-bottom: 30px; }
  #environment .plan .flexbox dl:first-of-type { width: 45%; }
  #environment .plan .flexbox dl:first-of-type dt { font-size: 20px; margin-bottom: 10px; }
  #environment .plan .flexbox dl:first-of-type dd:nth-of-type(1) { font-size: 14px; line-height: 1.8; margin-bottom: 50px; }
  #environment .plan .flexbox dl:first-of-type dd:nth-of-type(2) { font-size: 14px; line-height: 1.8; margin-bottom: 40px; }
  #environment .plan .flexbox dl:first-of-type dd:nth-of-type(3) { font-size: 14px; }
  #environment .plan .flexbox dl:last-of-type dt { padding-top: 40px; margin-bottom: 10px; }
  #environment .plan .flexbox dl:last-of-type dd:nth-of-type(1) { font-size: 14px; margin-bottom: 40px; } }
  #environment .goal .inner { padding: 60px 0 50px; }
  #environment .goal .inner h4 { margin-bottom: 40px; }
  #environment .goal .inner p { font-size: 18px; line-height: 1.4; }
  #environment .goal .flexbox dl:first-of-type dt { font-size: 18px; margin-bottom: 10px; }
  #environment .goal .flexbox dl:first-of-type dd:nth-of-type(1) { font-size: 14px; line-height: 1.8; margin-bottom: 50px; }
  #environment .goal .flexbox dl:first-of-type dd:nth-of-type(2) { font-size: 14px; line-height: 1.8; margin-bottom: 40px; }
  #environment .goal .flexbox dl:first-of-type dd:nth-of-type(3) { font-size: 14px; }
  #environment .goal .flexbox dl:last-of-type dt { padding-top: 10px; margin-bottom: 10px; }
  #environment .goal .flexbox dl:last-of-type dd:nth-of-type(1) { font-size: 14px; margin-bottom: 40px; } }
/* --------------------------------
* SPココから
* -------------------------------- */
@media screen and (max-width: 768px) { #spirit h4.blue-ttl { margin-bottom: 4.6875vw; }
  #spirit .greeting .inner { padding: 8.59375vw 0; }
  #spirit .greeting .inner p { font-size: 3.125vw; line-height: 1.8; margin-bottom: 6.25vw; }
  #spirit .greeting .inner img { display: block; margin-left: auto; width: 60%; }
  #spirit .spirit .inner { padding: 7.8125vw 0 6.25vw; }
  #spirit .spirit .inner p { font-size: 3.125vw; line-height: 1.8; }
  #spirit .spirit .inner p:first-of-type { margin-bottom: 1em; }
  #spirit .spirit .inner p:last-of-type { margin-bottom: 3.125vw; }
  #spirit .spirit .inner img { display: block; width: 70%; margin: 0 auto; }
  #spirit .vision .inner { padding: 7.8125vw 0 6.25vw; }
  #spirit .vision .inner p { font-size: 3.125vw; line-height: 1.8; }
  #spirit .vision .inner p:first-of-type { margin-bottom: 1em; }
  #policy .maxImage { margin-bottom: 7.8125vw; }
  #policy .policy-list { padding: 12.5vw 0 10.9375vw; margin-bottom: 10.9375vw; }
  #policy .policy-list dt { font-size: 3.75vw; margin-bottom: 2.34375vw; }
  #policy .policy-list dd { font-size: 3.125vw; line-height: 1.8; margin-bottom: 4.6875vw; }
  #policy .img-container .inner { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #policy .img-container .inner img { width: 50%; height: 26.5625vw; }
  #office_list h4.blue-ttl { margin-bottom: 6.25vw; }
  #office_list .head-office-list { margin-bottom: 9.375vw; }
  #office_list .map-container { margin-bottom: 7.8125vw; }
  #office_list .map-container .Gmap { width: 100%; height: 71.875vw; }
  #office_list .three-line { height: 23.4375vw !important; }
  #environment .initiatives { padding-bottom: 7.8125vw; }
  #environment .initiatives p:first-of-type { font-size: 3.125vw; line-height: 1.8; margin-bottom: 6.25vw; }
  #environment .initiatives .flexbox { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  #environment .initiatives .flexbox dl { margin-bottom: 9.375vw; }
  #environment .initiatives .flexbox dl dt { font-size: 4.6875vw; margin-bottom: 1.5625vw; }
  #environment .initiatives .flexbox dl .description { font-size: 3.125vw; line-height: 1.8; margin-bottom: 20px; }
  #environment .initiatives .annotation { font-size: 3.125vw; line-height: 1.8; }
  #environment .idea .inner { padding: 6.25vw 0; }
  #environment .idea .inner h4 { margin-bottom: 4.6875vw; }
  #environment .idea .inner p { font-size: 3.125vw; line-height: 1.8; }
  #environment .plan { padding-top: 7.8125vw; }
  #environment .plan h4 { margin-bottom: 6.25vw; }
  #environment .plan .flexbox { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  #environment .plan .flexbox dl:first-of-type dt { font-size: 4.6875vw; margin-bottom: 3.125vw; }
  #environment .plan .flexbox dl:first-of-type dd:nth-of-type(1) { font-size: 3.125vw; line-height: 1.8; margin-bottom: 50px; }
  #environment .plan .flexbox dl:first-of-type dd:nth-of-type(2) { font-size: 3.125vw; line-height: 1.8; margin-bottom: 7.8125vw; }
  #environment .plan .flexbox dl:first-of-type dd:nth-of-type(3) { font-size: 3.125vw; }
  #environment .plan .flexbox dl:last-of-type dt { padding-top: 6.25vw; margin-bottom: 3.125vw; }
  #environment .plan .flexbox dl:last-of-type dt img { width: 63.4375vw; height: 25.9375vw; }
  #environment .plan .flexbox dl:last-of-type dd:nth-of-type(1) { font-size: 3.4375vw; margin-bottom: 4.6875vw; } }
  #environment .goal .inner { padding: 6.25vw 0; }
  #environment .goal .inner h4 { margin-bottom: 4.6875vw; }
  #environment .goal .inner p { font-size: 3.125vw; line-height: 1.8; }
  #environment .goal .flexbox { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

   /* flexbox 自体に適用 */
.flexbox {
  display: flex;          
  flex-wrap: wrap;        
  justify-content: space-between;
  gap: 4%;                
  box-sizing: border-box; 
  
}

/* モバイル対応 */
@media (max-width: 768px) {
  .flexbox dl:nth-child(3) { 
    width: 48%;  
    margin-bottom: 25px;
  }
  .flexbox dl:nth-child(1),
  .flexbox dl:nth-child(2) {
    width: 100%;
    margin-bottom: 20px;
  }
}