﻿.content-area {
   font-size: 1.8rem;
   line-height: 25px;
   letter-spacing: 0;
}

.content-area p,
.content-area .template-paragraph {
   margin: 0;
}

.sp {
   display: none;
}

@media screen and (max-width: 768px) {
   .content-area {
      /*font-size: 3.8vw;*/
      font-size: 3.0vw;
      line-height: 1.5;
   }

   .sp {
      display: block;
   }
}

/* -- -- */
.h2 {
   display: inline-block;
   font-weight: 500;
   font-size: 4rem;
   line-height: 50px;
   letter-spacing: 0;
   text-align: center;
   background-color: #006437;
   color: #fff;
   padding: 0 40px 4px 90px;
   position: relative;
}

.h2:before {
   content: '';
   width: 88px;
   height: 92px;
   background: url("../image/h2-icon.png") no-repeat center top/cover;
   position: absolute;
   bottom: 12px;
   left: 0;
}

.h-25 {
   font-weight: bold;
   font-size: 25px;
   line-height: 48px;
   letter-spacing: 0;
}

.h-30 {
   font-weight: bold;
   font-size: 30px;
   line-height: 36px;
   letter-spacing: 0;
}

@media screen and (max-width: 768px) {
   .h2 {
      display: block;
      font-size: 4.8vw;
      line-height: 1.5;
      padding: 2vw 0;
   }

   .h2:before {
      width: 14vw;
      height: 14.5vw;
      bottom: 70%;
   }

   .h-25 {
      /*font-size: 4.5vw;*/
      font-size: 3.6vw;
      line-height: 1.5;
   }

   .h-30 {
      font-size: 4.26667vw;
      line-height: 1.5;
   }
}

/* -- -- */
.cl-green {
   color: #006437;
}

.udl {
   font-weight: bold;
   border-bottom: 1px solid;
}

.udl:hover {
   border-color: transparent;
}

.box-img-tr {
   background-color: #fff;
   font-size: 2.2rem;
   line-height: 40px;
   letter-spacing: 0;
   margin-top: 20px;
   padding: 70px 70px;
   position: relative;
}

.box-img-tr:after {
   content: "." !important;
   clear: both !important;
   display: block !important;
   height: 0 !important;
   visibility: hidden !important;
}

.box-img-tr h3 {
   padding-bottom: 15px;
}

.box-img-tr .txt a {
   color: #006437;
}

.box-img-tr .txt+h3 {
   padding-top: 50px;
}

.box-img-tr .photo {
   width: 385px;
   float: right;
   margin: -130px -130px 0 40px;
}

.box-img-br {
   background-color: #fff;
   font-size: 2.2rem;
   line-height: 40px;
   letter-spacing: 0;
   margin-top: 20px;
   padding: 70px 70px;
   position: relative;
}

.box-img-br:after {
   content: "." !important;
   clear: both !important;
   display: block !important;
   height: 0 !important;
   visibility: hidden !important;
}

.box-img-br h3 {
   padding-bottom: 15px;
}

.box-img-br .txt a {
   color: #006437;
}

.box-img-br .txt+h3 {
   padding-top: 50px;
}

.box-img-br .photo {
   width: 385px;
   float: right;
   margin: 0 -130px -130px 40px;
}

.box-note {
   width: 100%;
   max-width: 850px;
   margin: 0 auto;
   padding-top: 40px;
}

.box-note h3 {
   color: #006437;
   padding: 5px 0;
   position: relative;
   z-index: 1;
}

.box-note h3:before {
   content: '';
   border-top: 58px solid #bed2aa;
   border-right: 58px solid transparent;
   position: absolute;
   top: 0;
   left: -15px;
   z-index: -1;
}

.box-note h4 {
   font-size: inherit;
   padding-top: 20px;
}

.box-table {
   width: 100%;
   max-width: 975px;
   margin: 0 auto;
   padding-top: 120px;
}

.box-table h3 {
   text-align: center;
   position: relative;
   z-index: 1;
}

.box-table h3:before {
   content: '';
   width: 100%;
   height: 40%;
   background-color: #fff;
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: -1;
}

.box-table .list {
   background-color: #fff;
   padding: 30px 30px 50px;
}

.box-table .list dl {
   display: table;
   width: calc(100% - 40px);
   height: 80px;
   box-sizing: content-box;
   padding: 20px 20px;
}

.box-table .list dl>* {
   display: table-cell;
   vertical-align: middle;
}

.box-table .list dl dt {
   width: 40%;
   line-height: 35px;
}

.box-table .list dl dt small {
   display: inline-block;
   vertical-align: top;
   font-size: 18px;
}

.box-table .list dl dd p+p {
   padding-top: 15px;
}

.box-table .list dl dd strong {
   font-weight: inherit;
   color: #006437;
}

.box-table .list dl+dl {
   margin-top: 10px;
}

.box-table .list dl:nth-child(odd) {
   background-color: #bed2aa;
}

.box-table .list dl:nth-child(odd) dt {
   color: #006437;
}

.box-table .list dl:nth-child(even) {
   background-color: #006437;
}

.box-table .list dl:nth-child(even) dt {
   color: #bed2aa;
}

.box-table .list dl:nth-child(even) dd {
   color: #fff;
}

.box-table .note {
   padding-top: 20px;
}

@media screen and (max-width: 768px) {
   .box-img-tr {
      font-size: 3.8vw;
      line-height: 1.5;
      margin-top: 4vw;
      padding: 8vw 4vw;
   }

   .box-img-tr .photo {
      width: 100%;
      float: none;
      margin: 0 0 4vw;
   }

   .box-img-tr h3 {
      padding-bottom: 4vw;
   }

   .box-img-tr .txt+h3 {
      padding-top: 8vw;
   }

   .box-img-br {
      display: flex;
      flex-direction: column;
      font-size: 3.8vw;
      line-height: 1.5;
      margin-top: 4vw;
      padding: 8vw 4vw;
   }

   .box-img-br>* {
      order: 2;
   }

   .box-img-br .photo {
      width: 100%;
      float: none;
      margin: 0 0 4vw;
      order: 1;
   }

   .box-img-br h3 {
      padding-bottom: 4vw;
   }

   .box-img-br .txt+h3 {
      padding-top: 8vw;
   }

   .box-note {
      padding: 8vw 2vw 0;
   }

   .box-note h3 {
      padding: 1vw 0;
      margin-bottom: 2vw;
   }

   .box-note h3:before {
      border-top-width: 10vw;
      border-right-width: 10vw;
      left: -2vw;
   }

   .box-table {
      padding-top: 12vw;
   }

   .box-table .list {
      padding: 4vw 4vw 8vw;
   }

   .box-table .list dl {
      display: block;
      width: 76vw;
      height: auto;
      padding: 4vw;
   }

   .box-table .list dl>* {
      display: block;
   }

   .box-table .list dl dt {
      width: 100%;
      line-height: 1.5;
	  /*font-size: 4.0vw;*/
	  font-size: 3.6vw;
   }

   .box-table .list dl dt small {
      /*font-size: 3.8vw;*/
      font-size: 3.0vw;
      line-height: 2;
   }

   .box-table .list dl dt br {
      display: none;
   }

   .box-table .list dl dd {
      padding-top: 2vw;
	  /*font-size: 3.4vw;*/
	  font-size: 3.0vw;
   }

   .box-table .list dl dd p+p {
      padding-top: 4vw;
   }

   .box-table .note {
      padding-top: 4vw;
   }
}

/* -- -- */
#sdgs__sec1 {
   padding: 110px 0 150px;
}

#sdgs__sec1 h2 {
   display: block;
   width: 497px;
   letter-spacing: 1em;
   margin: 0 auto -27px;
   position: relative;
   z-index: 1;
}

#sdgs__sec1 .box {
   display: flex;
   flex-wrap: wrap;
   align-items: flex-end;
   justify-content: center;
   background-color: #fff;
   padding: 70px 0;
}

#sdgs__sec1 ul {
   font-size: 3rem;
   line-height: 40px;
   letter-spacing: 0;
}

#sdgs__sec1 ul li+li {
   padding-top: 20px;
}

#sdgs__sec1 ul li a {
   display: inline-block;
   color: #006437;
   padding-left: 40px;
   position: relative;
}

#sdgs__sec1 ul li a:before {
   content: '';
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background-color: #006437;
   position: absolute;
   top: 6px;
   left: 0;
}

#sdgs__sec1 .photo {
   width: 482px;
}

@media screen and (max-width: 768px) {
   #sdgs__sec1 {
      padding: 12vw 0;
   }

   #sdgs__sec1 h2 {
      width: 100%;
      margin-bottom: 0;
      padding-left: 0;
   }

   #sdgs__sec1 .box {
      padding: 12vw 4vw 4vw;
   }

   #sdgs__sec1 .box .photo {
      width: 100%;
      padding-top: 4vw;
   }

   #sdgs__sec1 .box ul {
      font-size: 3.8vw;
      line-height: 1.5;
   }

   #sdgs__sec1 .box ul li+li {
      padding-top: 4vw;
   }

   #sdgs__sec1 .box ul li a {
      padding-left: 6vw;
   }

   #sdgs__sec1 .box ul li a:before {
      width: 3.8vw;
      height: 3.8vw;
      top: 1vw;
   }
}

/* -- -- */
#sdgs__sec2 {
   padding: 150px 0;
}

#sdgs__sec2 .box2 {
   width: 100%;
   max-width: 975px;
   margin: 0 auto;
   padding-top: 150px;
}

#sdgs__sec2 .box2 h3 {
   text-align: center;
   position: relative;
   z-index: 1;
}

#sdgs__sec2 .box2 h3:before {
   content: '';
   width: 100%;
   height: 40%;
   background-color: #fff;
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: -1;
}

#sdgs__sec2 .box2 h3 span {
   font-size: 4.5rem;
}

#sdgs__sec2 .box2 ul {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 10px;
   background-color: #fff;
   padding: 50px 0;
}

#sdgs__sec2 .box2 ul li {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 15px;
   width: 445px;
   position: relative;
}

#sdgs__sec2 .box2 ul li img {
   width: 115px;
}

#sdgs__sec2 .box2 ul li span {
   display: block;
   width: calc(100% - 130px);
}

#sdgs__sec2 .box2 ul li:last-child img {
   width: 100%;
}

@media screen and (max-width: 768px) {
   #sdgs__sec2 {
      padding: 12vw 0;
   }

   #sdgs__sec2 .box2 {
      padding-top: 12vw;
   }

   #sdgs__sec2 .box2 h3 span {
      font-size: 6vw;
   }

   #sdgs__sec2 .box2 ul {
      padding: 8vw 4vw;
   }

   #sdgs__sec2 .box2 ul li {
      width: 100%;
   }
	
   #sdgs__sec2 .box2 ul li img {
	   width: 90px;
   }

   /*#sdgs__sec2 .box2 ul li span , #sdgs__sec2 .box2 .box-note .txt{
	   font-size: 3.4vw;
   }*/
	
   #sdgs__sec2 .box2 ul li span , #sdgs__sec2 .box2 .box-note .txt{
	   font-size: 3.0vw;
   }
	
}

/* -- -- */
#sdgs__sec3 {
   padding: 150px 0;
}

#sdgs__sec3 .box1 {
   background-color: #fff;
   font-size: 2.2rem;
   line-height: 40px;
   letter-spacing: 0;
   margin-top: 20px;
   padding: 80px 80px;
   position: relative;
}

#sdgs__sec3 .box1:after {
   content: "." !important;
   clear: both !important;
   display: block !important;
   height: 0 !important;
   visibility: hidden !important;
}

#sdgs__sec3 .box1 .txt a {
   color: #006437;
}

#sdgs__sec3 .box1 .photo {
   width: 385px;
   float: right;
   margin: 0 -130px -130px 40px;
}

#sdgs__sec3 .box2 {
   width: 100%;
   max-width: 830px;
   margin: 0 auto;
   padding-top: 40px;
}

#sdgs__sec3 .box2 h3 {
   padding: 5px 0;
   position: relative;
   z-index: 1;
}

#sdgs__sec3 .box2 h3:before {
   content: '';
   border-top: 58px solid #bed2aa;
   border-right: 58px solid transparent;
   position: absolute;
   top: 0;
   left: -15px;
   z-index: -1;
}

@media screen and (max-width: 768px) {
   #sdgs__sec3 {
      padding: 12vw 0;
   }
}

/* -- -- */
#sdgs__sec4 {
   padding: 150px 0;
}

@media screen and (max-width: 768px) {
   #sdgs__sec4 {
      padding: 12vw 0;
   }
}

/* -- -- */
#sdgs__sec5 {
   padding: 150px 0;
}

#sdgs__sec5 .box {
   background-color: #fff;
   margin-top: 20px;
   padding: 70px 70px;
}

#sdgs__sec5 .item+.item {
   padding-top: 70px;
}

#sdgs__sec5 h3 {
   font-size: 2.2rem;
   line-height: 25px;
}

#sdgs__sec5 .video {
   position: relative;
   width: 100%;
   max-width: 740px;
   margin: 35px auto 0;
   padding-top: 56.25%;
}

#sdgs__sec5 .video iframe {
   position: absolute;
   top: 0;
   right: 0;
   width: 100%;
   height: 100%;
}

@media screen and (max-width: 768px) {
   #sdgs__sec5 {
      padding: 12vw 0;
   }

   #sdgs__sec5 .box {
      margin-top: 4vw;
      padding: 8vw 4vw;
   }

   #sdgs__sec5 .item+.item {
      padding-top: 12vw;
   }

   #sdgs__sec5 h3 {
      font-size: 3.8vw;
      line-height: 1.5;
      text-align: center;
   }

   #sdgs__sec5 .video {
      margin-top: 5vw;
   }
}

/* -- -- */
#sdgs__sec6 {
   padding: 150px 0;
}

#sdgs__sec6 .box {
   background-color: #fff;
   font-size: 2.2rem;
   line-height: 30px;
   color: #006437;
   margin-top: 20px;
   padding: 70px 80px;
}

#sdgs__sec6 .box p+p {
   padding-top: 25px;
}

#sdgs__sec6 .box a {
   color: #006437;
   word-break: break-all;
}

@media screen and (max-width: 768px) {
   #sdgs__sec6 {
      padding: 12vw 0;
   }

   #sdgs__sec6 .box {
      font-size: 3.8vw;
      line-height: 1.5;
      padding: 10vw 4vw;
   }

   #sdgs__sec6 .box p+p {
      padding-top: 4vw;
   }
}

/* -- -- */