/* -----------------------------------------------------------
共通パーツ
------------------------------------------------------------- */

@media(max-width:768px){
	.sp_none {
		display: none !important;
	}
}
@media(min-width:769px){
	.pc_none {
		display: none !important;
	}
}

.txtC { text-align: center; }
.txtR{	text-align: right;}
.txtL{	text-align: left;}
.bold{	font-weight: bold;}

.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {    clear: both; }
.cf {    *zoom: 1; }

.w100{width:100%;}

/*_____フレックス_____*/
.flex{
	display: -ms-flexbox;
	display: flex;
}
.justC{justify-content: center;}
.justB{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.justA{
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flexW{
	flex-wrap: wrap;
}
.alignC{align-items: center;}
.alignB{align-items: baseline;}
@media (max-width: 768px) {
	.sp_flclear{
		display: block;
	}
}

/*_____余白_____*/
.m0auto{margin: 0 auto}

.mb0{margin-bottom: 0;}
.mb10{margin-bottom: 10px;}
.mb15{margin-bottom: 15px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}

.mt0{margin-top: 0;}
.mt10{margin-top: 10px;}
.mt15{margin-top: 15px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}

.mar10{margin:10px;}
.mar15{margin:15px;}
.mar20{margin:20px;}
.mar30{margin:30px;}

.pt10{padding-top:10px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}

.pb10{padding-bottom:10px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}

@media (max-width: 768px){
  .sp_mb0{margin-bottom: 0;}
  .sp_mb10{margin-bottom: 10px;}
  .sp_mb15{margin-bottom: 15px;}
  .sp_mb20{margin-bottom: 20px;}
  .sp_mb30{margin-bottom: 30px;}
  .sp_mb0{margin-top: 0;}
  .sp_mt10{margin-top: 10px;}
  .sp_mt15{margin-top: 15px;}
  .sp_mt20{margin-top: 20px;}
  .sp_mt30{margin-top: 30px;}
}




html{
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'Yu Gothic Medium', 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
main{
  margin: auto;
}
section{
  margin: 60px 0;
}
.txtC{text-align: center;}
.logo{
  margin:10px 0 10px 10px;
}
article.block{
  padding: 0 15px;
}
.center{
  text-align: center;
}
.link{
  color:#555;
}
.pc_mt40{
  margin-top:40px!important;
}
p{
  font-size: 15px;
  line-height: 27px;
  max-width: 920px;
  margin: auto;
}
a{
  font-size: 15px;
}
.gray{
  background: #f6f3f7;
}
.gray img{
  width: 100%;
  max-width: 1100px;
}
hr{
  display: block;
  width: 100%;
  height: 5px;
  margin: 0;
  border: 0;
}

section.mainimage{
  margin:auto;
  max-width: 1280px;
}

section.mainimage img{
  width: 100%;
}

/* section.mainimage a{
  position: absolute;
  top:0;
  left:0;
} */
section.mainimage a img,footer a img{
  width: 150px;
}

article.block{
  max-width: 1100px;
  margin: auto;
}
div.subtitle{
  height: 100px;
  margin: 40px 0 10px;
  background-repeat: no-repeat!important;
  background-position:center!important;
  display: flex;
  justify-content: center;
  align-items: center;
}
h1{
  font-size: 28px;
  line-height: 34px;
  text-align: center;
  font-weight: 600;
}
img.backtxt{
}

h1 span{
  color: #21569f;
}
p span{
  background: linear-gradient(transparent 60%, #b0c9eb 60%);
}

/* SDGs貢献事例 */

h4{font-size:15px; line-height: 30px; font-weight: 600;}
h2{font-size: 20px; line-height: 25px; font-weight: 600;}

.color{
  text-decoration: none;
}
.bar{
  display: inline;
}

.no04 .color{color:#e83819;}
.no04 .bar{background: linear-gradient(transparent 60%, #f8c3ba 60%);}

.no05 .color{color: #c60f28;}
.no05 .bar{background: linear-gradient(transparent 60%, #eeb7bf 60%);}

.no07 .color{color: #fabd00;}
.no07 .bar{background: linear-gradient(transparent 60%, #f1d06a 60%);}

.no08 .color{color: #970b31;}
.no08 .bar{background: linear-gradient(transparent 60%, #e096aa 60%);}

.no10 .color{color:#dc007a;}
.no10 .bar{background: linear-gradient(transparent 60%, #f5b2d7 60%);}

.no12 .color{color:#d39200;}
.no12 .bar{background: linear-gradient(transparent 60%, #e6c887 60%);}

.no13 .color{color:#427935;}
.no13 .bar{background: linear-gradient(transparent 60%, #a9cca3 60%);}

.no14 .color{color:#0075bd;}
.no14 .bar{background: linear-gradient(transparent 60%, #a2d4f2 60%);}

.no15 .color{color:#28a838;}
.no15 .bar{background: linear-gradient(transparent 60%, #bfe5c3 60%);}

section.case_back{
  margin: 80px 0;
  padding: 0 0 30px;
}
section.case_back:nth-child(odd){
  background:linear-gradient(-75deg, #f6f3f7 80%, #fff 80%);
}

section.case_back:nth-child(even){
  background:linear-gradient(75deg, #f6f3f7 80%, #fff 80%);
}
div.case{
  margin-bottom: 100px;
  display: flex;
  align-items:center;
}
div.case_caption,div.case_img{
  width: 50%;
  display: block;
  padding: 0 8px;
}
div.case_caption{
  background-repeat:no-repeat!important;
  background-position-x:60%!important;
  background-position-y:80%!important;
}
div.case_caption img{
  width: 60px;
  margin-right: 10px;
}
div.case_caption img.icon_big{
  width: 100px;
  padding-right: 10px;
}
div.case_caption p{
  margin: 15px 0;
}
div.case_caption h3{
  font-size: 15px;
  line-height: 30px;
  font-weight: normal;
}
article.case_title{
  display: flex;
  align-items: center;
}
article.case_title div{
  display: inline-block;
}
div.case_img img{
  width: 100%;
}

article.certification{
  display: flex;
}
article.certification div.certification_div{
  display: flex;
  width: 50%;
}
article.certification img{
  height: fit-content;
}
article.certification h2.barC{
  display: inline;
  background: linear-gradient(transparent 60%, #b0c9eb 60%);
}
article.certification p{
  margin-top:10px;
}
article.certification div.license_img{
  width: 130px;
  min-width: 130px;
  padding-right: 15px;
}
article.certification div.license_img img{
  width: 100%;
  height: auto;
}
article.certification div.certification_txt{
  padding-right:50px;
}

section.contact{
  margin: 0;
  padding: 100px 0;
  background: url(../imgs/contact-back.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size:cover;
}
section.contact h1,section.contact p{
  text-shadow: 0px 0px 10px #fff,0px 0px 10px #fff,0px 0px 10px #fff,0px 0px 10px #fff,0px 0px 5px #fff;
}
section.contact h1{
  padding:0 0 10px 0;
}
section.contact p{
  padding: 20px 0;
  font-weight: 600;
}
section.contact a{
  display: flex;
  max-width: 470px;
  width: 80%;
  height: 50px;
  margin: 0 auto 0;
  background-color: #ed6a02;
  color: white;
  text-decoration: none;
  font-weight: bold;
  justify-content: center;
  align-items: center;
}

.arrow{
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.contact_arrow::before{
    right: -360px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* footer{
  display: flex;
  justify-content: space-around;
  align-items: center;
}
footer img{
  width: 260px;
}
footer p{
  color: #999999;
  margin: 0;
} */

@media (min-width:500px) {
  br.spbr{
    display: none;
  }
}
@media (max-width:900px) {
  div.subtitle{
    background-size: contain!important;
  }

  section.case_back div.sp_column{
    flex-direction: column;
  }
  section.case_back div.sp_column_r{
    flex-direction: column-reverse;
  }
  div.case_caption{
    width: 100%;
    padding-bottom: 20px;
  }
  div.case_img{
    width: 300px;
    margin: 0 auto 0 0;
  }

  article.certification{
    flex-direction: column;
  }
  article.certification div.certification_div{
    width: 100%;
    margin-bottom: 50px;
  }
  article.certification div.certification_txt{
    padding: 0;
  }

  section.contact a{
    width: 80%;
  }

  .contact_arrow::before{
      right: -220px;
  }
  footer{
    flex-direction: column;
  }
  .pc_mt40{
    margin-top:0px!important;
  }
}

@media (max-width:500px) {
  article.certification div.certification_div{
    flex-direction: column;
  }
  article.certification div.license_img{
    margin: auto;
    padding: 0;
  }

  article.certification div.certification_txt div.license_name{
    text-align: center;
  }

  footer p{
    text-align: center;
    font-size: 10px;
  }
}



.btn_sdgs_wrap {
  margin: auto auto 28px;
}
.btn_sdgs {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 210px;
  height: 60px;
  position: relative;
  background: #21569f;
  border: 1px solid #21569f;
  box-sizing: border-box;
  /* padding: 0 25px 0 40px; */
  color: #fff;
  font-weight:bold;
  font-size:16px;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
.btn_sdgs:hover, .shiryou_btn:hover {
  background: #fff;
  color: #21569f;
}



.acc_toggle {
  display: none;
}
.acc_wrap {
  position: relative;
  margin-bottom: 24px;
}
.acc_title , .acc_content{
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.acc_title {
  border-left: solid 5px #21569f;
  padding: 1em;
  display: block;
  color: #21569f;
  font-weight: bold;
  background-color: #f6f3f7;
  font-size:2.0rem;
}
.acc_title::after,
.acc_title::before {
  content: "";
  position: absolute;
  right: 1.25em;
  top: 1.25em;
  width: 2px;
  height: 0.75em;
  background-color: #999;
  transition: all 0.3s;
}
.acc_title::after {
  transform: rotate(90deg);
}
.acc_content {
  max-height: 0;
  overflow: hidden;
}
.acc_toggle:checked + .acc_title + .acc_content {
  max-height: 9999px;
  transition: all 1.0s;
}
.acc_toggle:checked + .acc_title::before {
  transform: rotate(90deg) !important;
}

.acc_box{
  width:45%;
  box-shadow: 2px 2px 7px #ddd;
  margin:24px 10px;
  display: flex;
  flex-direction: column;
}
.acc_box img{
  max-width:100%;
}
.acc_box p{
  margin:0;
}
.acc_box_txt{
  margin:28px;
}
.acc_box_title_wrap{
  padding-left:1rem;
}
.acc_box_title{
  font-size:2.0rem;
  font-weight: bold;
}
.acc_box_icon img{
  width:60px;
  margin-right:1rem;
}

@media(max-width:768px){
  .acc_box{
    width:95%;
  }
}

/* 色 */
.acc_border_green{
  border-left: solid 5px #219d45;
}
.acc_green{
  color:#219d45;
}
.acc_border_blue{
  border-left: solid 5px #21569f;
}
.acc_blue{
  color:#21569f;
}
.acc_border_yellow{
  border-left: solid 5px #e0ad1e;
}
.acc_yellow{
  color:#e0ad1e;
}
.acc_border_red{
  border-left: solid 5px #c33830;
}
.acc_red{
  color:#c33830;
}

/* ボタン */
.shiryou_btn{
	font-size:1.6rem;
	font-weight: bold;
  display: block;
  max-width: 300px;
	margin:0 auto;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
	background: #21569f;
	border: 1px solid #21569f;
	color:#fff;
	text-decoration: none;
  transition-duration: 0.3s;
}
