@charset "UTF-8";
/* CSS Document */
main { font-size: 14px; font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'メイリオ', Verdana, 'ＭＳ Ｐゴシック', sans-serif; }

main sub { vertical-align: baseline; font-size: 60%; position: static; line-height: inherit; }

main sup { vertical-align: top; font-size: 60%; position: static; line-height: inherit; }

main section { font-size: 92%; }

/* 汎用・common */
body { background: #fff; }

/*#side_navi {
	z-index: 2;
}*/
.sp-dsp-block { display: none; }

sub { vertical-align: baseline; font-size: 60%; }

sup { vertical-align: top; font-size: 60%; }

/*#ir_wrapper {
}*/
#contents { display: block; width: 100%; max-width: 100%; font-size: 85%; }

/* imgArea */
.imgArea { width: 100%; background: url("../image/co2netzero_bg_01.png") no-repeat center; background-size: cover; padding: 90px 0; text-align: center; color: #fff; }

.imgArea_inner { width: 950px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

.h1 { font-size: 286%; font-weight: bold; margin-bottom: 50px; }

.imgArea_inner .catch { font-size: 135%; font-weight: bold; line-height: 1.8; }

/* #contentsArea */
.contentsArea { width: 950px; margin: 0 auto; }

.h2 { font-size: 200%; font-weight: bold; text-align: center; margin: 100px 0 70px; position: relative; z-index: 1; }

.h2:after { display: block; content: ""; width: 30px; height: 3px; background: #0d4da1; position: absolute; bottom: -25px; left: calc(50% - 15px); }

.contents_inner .catch { font-size: 126%; margin-bottom: 60px; line-height: 1.8; }

.h3 { font-size: 126%; font-weight: bold; text-align: center; margin-bottom: 25px; padding: 0 !important; }

.imgBox { background: #f2f2f2; padding: 55px 150px 40px; box-sizing: border-box; margin-bottom: 25px; border-radius: 10px; }

.imgBox img { max-width: 100%; margin: 0 auto; }

.caption { font-size: 110%; }

.caption + .caption { margin-top: 10px; }

.dl { display: flex; flex-wrap: wrap; border: 1px solid #999; }

.dl dt { width: 180px; background: #40ae7b; color: #fff; font-size: 126%; line-height: 1.5; padding: 35px 40px; box-sizing: border-box; }

.dl dt:nth-of-type(2) { border-top: 1px solid #fff; }

.dl dd { width: calc(100% - 180px); font-size: 126%; line-height: 1.8; padding: 20px; box-sizing: border-box; }

.dl dd:nth-of-type(2) { border-top: 1px solid #333; }

.dl ul li { line-height: 1.8; position: relative; padding-left: 15px; }

.dl ul li + li { margin-top: 10px; }

.dl ul li:before { display: block; content: ""; width: 10px; height: 10px; border-radius: 50%; background: #3fad7a; position: absolute; top: calc(0.5em - 2px); left: 0; }

.dl dd p { font-size: 107%; font-weight: bold; color: #3fad7a; margin-bottom: 20px; }

.dl dd ul + p { margin-top: 35px; }

/* fotoerAra */
.footerArea { background: url("../image/co2netzero_bg_02.png") no-repeat center; background-size: cover; padding: 140px 0; margin-top: 135px; }

.footerArea .btn { width: 390px; margin: 0 auto; }

.footerArea .btn a { padding: 16px 74px 14px; margin: 0 auto; display: inline-block; position: relative; box-sizing: border-box; color: #ff0000 !important; font-size: 126%; font-weight: bold; line-height: 1.5; letter-spacing: 0.025em; background-color: #fff; border: solid 1px #ff0000; border-radius: 28px / 28px; box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.35); transition: background 0.2s ease, border 0.2s ease; text-decoration: none; }

.footerArea .btn a:before { content: ""; width: 8px; height: 8px; margin: auto; display: block; position: absolute; left: 23px; top: 50%; border-right: solid 1px #ff0000; border-top: solid 1px #ff0000; transform: translateY(-4px) rotate(45deg); transition: border 0.2s ease; }

.footerArea .btn a:hover { color: #fff !important; background: #f00; border-color: #fff; }

.footerArea .btn a:hover:before { border-color: #fff; }

/*----------------------------
SP
--------------*/
@media screen and (max-width: 767px) { /* 汎用・common */
  .sp-dsp-block { display: block; }
  .sp-dsp-none { display: none; }
  #ir_wrapper { margin-top: 0; }
  /* #contents */
  #contents { padding: 0; font-size: 100%; }
  /* imgArea */
  .imgArea { width: 100%; padding: 35px 0; }
  .imgArea_inner { width: 100%; }
  #contents .h1 { font-size: 155%; margin-bottom: 25px; padding: 0; border-left: none; }
  .imgArea_inner .catch { font-size: 108%; }
  /* .contentsArea */
  .contentsArea { width: 100%; padding: 0 10px 80px; box-sizing: border-box; }
  .h2 { font-size: 155%; margin: 60px 0; line-height: 1.5; }
  .h2:after { bottom: -16px; }
  .contents_inner .catch { font-size: 108%; margin-bottom: 75px; }
  .h3 { font-size: 123%; margin-bottom: 15px; }
  .imgBox { padding: 25px 20px; }
  .dl { display: block; border: none; margin-top: -45px; }
  .dl dt { width: 100%; font-size: 123%; padding: 15px; border: 1px solid #999; border-bottom: none; }
  .dl dt:nth-of-type(2) { margin-top: 18px; border-top: 1px solid #999; }
  .dl dd { width: 100%; padding: 20px 15px; border: 1px solid #999; border-top: none; font-size: 107.14%; }
  .dl dd:nth-of-type(2) { border-top: none; }
  .dl dd p { font-size: 115%; margin-bottom: 18px; }
  .dl dd ul + p { margin-top: 40px; }
  .dl ul li:before { top: 0.5em; }
  /* fotoerAra */
  .footerArea { padding: 80px 25px 90px; box-sizing: border-box; margin-top: 0; margin-bottom: 80px; }
  .footerArea .btn { width: 100%; max-width: 320px; }
  .footerArea .btn a { display: block; font-size: 108%; text-align: center; padding: 16px 50px 15px; border-radius: 27px / 27px; } }
