@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@500&family=Noto+Sans+JP:wght@400;700&display=swap");
/* --------------------------------------------------------------------------------------
 base
--------------------------------------------------------------------------------------- */
a[href^="tel:"] {
  pointer-events: none;
}

a[href^="tel:"]:link, a[href^="tel:"]:visited {
  color: #231815;
  text-decoration: none;
}

a[href^="tel:"]:hover, a[href^="tel:"]:active {
  color: #231815;
  text-decoration: none;
}

html, body {
  font-size: 14px;
}
@media (max-width: 756px) {
  html, body {
    font-size: 3.6vw;
  }
}

body {
  color: #231815;
  font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 2.14;
  text-align: center;
  background: #fff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -webkit-text-size-adjust: none;
}

input, textarea, select {
  font-size: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 300;
}

b, strong, fontBold {
  font-weight: 700;
}

/* reset ------------------------------ */
body, div,
h1, h2, h3, h4, h5, h6,
dl, dt, dd, ul, ol, li, figure,
p, blockquote, pre, cite, code, caption,
header, footer, section,
tr, th, td,
form, fieldset, legend, input, textarea, select, option, label {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img, table {
  border: none;
}

img {
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
}

ul, ol {
  list-style: none;
}

li img,
dt img {
  vertical-align: bottom;
}

/* textlink ------------------------------ */
a,
a img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a {
  color: #1a73e8;
  text-decoration: none;
}

a:hover,
a:hover img,
input[type=submit]:hover,
input[type=image]:hover {
  opacity: 0.7;
}

a:hover,
a:hover img {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------------------
 float
--------------------------------------------------------------------------------------- */
.clearfix::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/*font-size
-----------------------------------------------*/
.fs12 {
  font-size: 0.86rem !important;
}

.fs14 {
  font-size: 1rem !important;
}

.fs16 {
  font-size: 1.14rem !important;
}

.fs17 {
  font-size: 1.21rem !important;
}

.fs18 {
  font-size: 1.29rem !important;
}

.fs20 {
  font-size: 1.43rem !important;
}

.fs21 {
  font-size: 1.5rem !important;
}

.fs30 {
  font-size: 2.14rem !important;
}

/*margin
-----------------------------------------------*/
.bot005px {
  margin-bottom: 5px !important;
}

.bot010px {
  margin-bottom: 10px !important;
}

.bot015px {
  margin-bottom: 15px !important;
}

.bot020px {
  margin-bottom: 20px !important;
}

.bot025px {
  margin-bottom: 25px !important;
}

.bot030px {
  margin-bottom: 30px !important;
}

.bot035px {
  margin-bottom: 35px !important;
}

.bot040px {
  margin-bottom: 40px !important;
}

.bot045px {
  margin-bottom: 45px !important;
}

.bot050px {
  margin-bottom: 50px !important;
}

.bot060px {
  margin-bottom: 60px !important;
}

.bot070px {
  margin-bottom: 70px !important;
}

.bot100px {
  margin-bottom: 100px !important;
}

/*align
-----------------------------------------------*/
.alright {
  text-align: right !important;
}

.alcenter {
  text-align: center !important;
}

.alleft {
  text-align: left !important;
}

/* FOR smartphone landscape
***************************************************************************/
@media screen and (max-width: 756px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
  a:hover img,
  input[type=submit]:hover,
  input[type=image]:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  /* ----------------------- iOS用フォームのリセット ------- */
  input[type=submit],
  input[type=button] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
         appearance: button;
    border: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    cursor: pointer;
  }
  input[type=submit]::-webkit-search-decoration,
  input[type=button]::-webkit-search-decoration {
    display: none;
  }
  input[type=submit]::focus,
  input[type=button]::focus {
    outline-offset: -2px;
  }
  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
  }
  button,
  input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
  }
  input[type=radio] {
    display: none;
  }
  input[type=radio]:checked + label {
    background: #ff0000;
  }
}
.forpc {
  display: block;
}

.forsp {
  display: none;
}

.forpcinline {
  display: inline;
}

.forspinline {
  display: none;
}

.subContents {
  width: 1010px;
  text-align: left;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 756px) {
  .subContents {
    width: 100vw;
    min-width: initial;
    padding: 0 5vw;
  }
}

.subContents .inner {
  width: 710px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 756px) {
  .subContents .inner {
    width: 100%;
  }
}
html, body {
  color: #009944;
  position: relative;
}

header {
  text-align: center;
  background: #ECF2E8;
  padding: 50px 0;
}
header img {
  width: 150px;
  mix-blend-mode: multiply;
}

footer .flink {
  border-top: solid 1px #009944;
  border-bottom: solid 1px #009944;
  padding: 15px 0;
}
footer .flink ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer .flink ul li {
  font-size: 1.43rem;
  border-right: solid 1px #009944;
}
footer .flink ul li:first-child {
  border-left: solid 1px #009944;
}
footer .flink ul li a {
  color: #009944;
  padding: 10px 2em;
  display: inline-block;
}
footer .flink ul li a:hover {
  text-decoration: none;
}
footer .copyright {
  font-size: 0.86rem;
  padding: 30px 0 40px;
}

.disclist li {
  list-style: disc;
  margin-left: 20px;
}

.linkarea,
.linkarea a {
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.linkarea a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  font-size: 0;
  text-indent: -9999px;
  overflow: visible;
  z-index: 999;
}

.linkarea:hover {
  opacity: 0.7;
}

@media screen and (max-width: 756px) {
  .forpc {
    display: none;
  }
  .forsp {
    display: block;
  }
  .forpcinline {
    display: none;
  }
  .forspinline {
    display: inline;
  }
  img {
    width: 100%;
  }
  header {
    padding: 5vw 0;
  }
  header img {
    width: 20vw;
  }
  footer .flink {
    padding: 10px 0;
  }
  footer .copyright {
    padding: 20px 0 20px;
  }
}
/* ----------------------- form -------------- */
form input[type=text],
form input[type=email],
form input[type=tel],
form textarea {
  width: 100%;
  background: #fff;
  border: solid 1px #999;
  border-radius: 6px;
  padding: 10px;
}
form textarea {
  height: 100px;
}
form select {
  color: #231815;
  height: calc(2em + 20px);
  border: solid 1px #999;
  border-radius: 6px;
  padding: 0 10px;
}
form input[type=submit] {
  -webkit-appearance: none;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: #000;
  border-radius: 50vh;
  margin-bottom: 15px;
  padding: 15px 100px;
  cursor: pointer;
}
form input[type=submit][name=submitBack] {
  font-size: 0.9375rem;
  color: #231815;
  text-align: center;
  text-decoration: underline;
  border-radius: 0;
  background: transparent;
  padding: 0;
}
form input[type=radio] + span,
form input[type=checkbox] + span {
  font-weight: 700;
}
form .error-input input[type=text],
form .error-input input[type=email],
form .error-input input[type=tel],
form .error-input input[type=url] {
  border: solid 2px #ed5353;
  background: #ffe2e2;
}
form .sizeZip {
  width: 120px !important;
}
form .mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

@media screen and (max-width: 756px) {
  form input[type=submit] {
    width: 100%;
    margin-bottom: 15px;
    padding: 15px 0;
  }
}
body.toppage #sec-lead {
  padding: 80px 0;
}
body.toppage #sec-lead .subContents {
  text-align: center;
}
body.toppage #sec-lead .subContents h1 {
  font-size: 2.14rem;
  margin-bottom: 20px;
}
body.toppage #sec-lead .subContents .inner {
  text-align: left;
}
body.toppage #sec-lead .subContents .layout-3 {
  margin: 5.7rem auto 0;
  position: relative;
}
body.toppage #sec-lead .subContents .layout-3::before {
  content: "";
  width: 1100px;
  height: 1px;
  background: #009944;
  position: absolute;
  top: 50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.toppage #sec-lead .subContents .layout-3 ul {
  width: 850px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body.toppage #sec-lead .subContents .layout-3 ul li {
  width: 33.3333333333%;
  text-align: center;
  padding: 0 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
body.toppage #sec-lead .subContents .layout-3 ul li::after {
  content: "";
  width: 1px;
  height: 238px;
  background: #009944;
  position: absolute;
  bottom: 0;
  right: 0;
}
body.toppage #sec-lead .subContents .layout-3 ul li:first-child::before {
  content: "";
  width: 1px;
  height: 238px;
  background: #009944;
  position: absolute;
  bottom: 0;
  left: 0;
}
body.toppage #sec-lead .subContents .layout-3 ul li figure {
  width: 225px;
  height: 164px;
  margin: 0 auto;
  overflow: hidden;
}
body.toppage #sec-lead .subContents .layout-3 ul li figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover {
  opacity: 1;
}
body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup {
  margin: 10px 0 10px;
  padding-bottom: 25px;
  position: relative;
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup h2 {
  color: #969696;
  font-size: 2.14rem;
  line-height: 1;
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup p {
  font-size: 0.86rem;
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 23px 23px 0px 23px;
  border-color: #009944 transparent transparent transparent;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.toppage #sec-lead .subContents .layout-3 ul li h3 {
  font-size: 0.86rem;
  line-height: 1.6;
  margin-top: auto;
}
body.toppage #sec-lead .subContents .layout-3 ul li h3 span {
  font-size: 2.08rem;
}
body.toppage #sec-profile {
  background: #ECF2E8;
  padding: 80px 0;
}
body.toppage #sec-profile .katagaki {
  font-size: 1.43rem;
  position: relative;
}
body.toppage #sec-profile .katagaki::after {
  content: "";
  width: 75px;
  aspect-ratio: 150/121;
  background: url(../images/common/logo.png) no-repeat left top/100% auto;
  position: absolute;
  top: 0;
  right: 0;
}
body.toppage #sec-profile .name {
  line-height: 1.4;
}
body.toppage #sec-profile .name span {
  font-size: 2.14rem;
  margin-right: 20px;
}
body.toppage #sec-profile .honbun {
  margin: 20px 0 0 0;
}
body.toppage #sec-sdgs {
  padding: 80px 0;
}

@media screen and (max-width: 756px) {
  body.toppage #sec-lead {
    padding: 15vw 0;
  }
  body.toppage #sec-lead .subContents h1 {
    font-size: 1.8rem;
    margin-bottom: 5vw;
  }
  body.toppage #sec-lead .subContents .layout-3 {
    margin: 2rem auto 0;
    position: relative;
  }
  body.toppage #sec-lead .subContents .layout-3::before {
    content: none;
  }
  body.toppage #sec-lead .subContents .layout-3 ul {
    width: 100%;
    display: block;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li {
    width: 60vw;
    margin: 0 auto 10vw;
    padding: 0 0 5vw;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li:first-child::before {
    content: none;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li figure {
    width: 100%;
    height: auto;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover {
    opacity: 1;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  body.toppage #sec-lead .subContents .layout-3 ul li hgroup {
    margin: 10px 0 10px;
    padding-bottom: 25px;
    position: relative;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li hgroup h2 {
    color: #969696;
    font-size: 2.14rem;
    line-height: 1;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li hgroup p {
    font-size: 0.86rem;
  }
  body.toppage #sec-profile {
    padding: 15vw 0;
  }
  body.toppage #sec-profile .katagaki::after {
    width: 60px;
    top: -15px;
  }
  body.toppage #sec-profile .name {
    line-height: 1.4;
  }
  body.toppage #sec-profile .honbun {
    margin: 10vw 0 0 0;
  }
  body.toppage #sec-sdgs {
    padding: 15vw 0;
  }
}
body.sdgs .l-h-type01 {
  font-size: 2.14rem;
}
body.sdgs .mksdgs {
  margin: 50px 0 0;
  padding: 100px 0 0 0;
  position: relative;
}
body.sdgs .mksdgs::before {
  content: "";
  width: 84px;
  aspect-ratio: 1/1;
  background: url(../images/sdgs/p_03.png) no-repeat center center/100% auto;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.sdgs #sec-lead {
  color: #0599D9;
  padding: 80px 0;
}
body.sdgs #sec-lead h1 {
  margin: 20px 0 40px;
  padding: 0 0 30px;
  position: relative;
}
body.sdgs #sec-lead h1::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 14px 0px 14px;
  border-color: #0599D9 transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.sdgs #sec-lead .midashi {
  font-size: 1.29rem;
  margin: 40px 0 20px;
}
body.sdgs #sec-about {
  color: #0599D9;
  padding: 0 0 80px;
}
body.sdgs #sec-about h2 {
  margin: 10px 0 20px;
}
body.sdgs #sec-about .list {
  margin-bottom: 15px;
}
body.sdgs #sec-about .list li {
  color: #fff;
  font-size: 1.21rem;
  text-align: center;
  background: #0599D9;
  margin: 0 0 10px;
  padding: 5px 0;
}
body.sdgs #sec-torikumi {
  color: #0599D9;
}
body.sdgs #sec-torikumi .torikumis {
  margin: 80px 0 0 0;
}
body.sdgs #sec-torikumi .torikumis > li {
  margin: 0 0 100px;
  padding: 115px 0 0 0;
  position: relative;
}
body.sdgs #sec-torikumi .torikumis > li::before {
  content: "";
  width: 102px;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.sdgs #sec-torikumi .torikumis > li h3 {
  font-size: 2.14rem;
  text-align: center;
  margin-bottom: 15px;
}
body.sdgs #sec-torikumi .torikumis > li .icns {
  width: 220px;
  margin: 0 auto 25px;
}
body.sdgs #sec-torikumi .torikumis > li .icns li {
  color: #fff;
  font-size: 1.14rem;
  text-align: center;
  border-radius: 50vh;
  margin: 0 0 10px;
  padding: 2px 0;
}
body.sdgs #sec-torikumi .torikumis > li p {
  color: #231815;
}
body.sdgs #sec-torikumi .torikumis > li.g3 {
  color: #1b973a;
}
body.sdgs #sec-torikumi .torikumis > li.g3::before {
  background-image: url(../images/sdgs/sdgs3.png);
}
body.sdgs #sec-torikumi .torikumis > li.g3 .icns li {
  background: #1b973a;
}
body.sdgs #sec-torikumi .torikumis > li.g4 {
  color: #c50e28;
}
body.sdgs #sec-torikumi .torikumis > li.g4::before {
  background-image: url(../images/sdgs/sdgs4.png);
}
body.sdgs #sec-torikumi .torikumis > li.g4 .icns li {
  background: #c50e28;
}
body.sdgs #sec-torikumi .torikumis > li.g5 {
  color: #e83418;
}
body.sdgs #sec-torikumi .torikumis > li.g5::before {
  background-image: url(../images/sdgs/sdgs5.png);
}
body.sdgs #sec-torikumi .torikumis > li.g5 .icns li {
  background: #e83418;
}
body.sdgs #sec-torikumi .torikumis > li.g8 {
  color: #970a31;
}
body.sdgs #sec-torikumi .torikumis > li.g8::before {
  background-image: url(../images/sdgs/sdgs8.png);
}
body.sdgs #sec-torikumi .torikumis > li.g8 .icns li {
  background: #970a31;
}
body.sdgs #sec-korekara {
  color: #0599D9;
  padding: 0 0 80px;
}
body.sdgs #sec-korekara .list {
  margin: 40px 0 150px 0;
}
body.sdgs #sec-korekara .list li {
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  background: #023067;
  margin: 0 0 10px;
  padding: 2px 0;
}
body.sdgs #sec-korekara .seiteibi {
  margin: 40px 0 0 0;
}
body.sdgs #sec-sdgs {
  padding: 80px 0;
}
body.sdgs #sec-sdgs .subContents {
  text-align: center;
}

@media screen and (max-width: 756px) {
  body.sdgs .l-h-type01 {
    font-size: 2.14rem;
    line-height: 1.5;
  }
  body.sdgs .mksdgs {
    margin: 5vw 0 0;
    padding: 80px 0 0 0;
    position: relative;
  }
  body.sdgs .mksdgs::before {
    width: 60px;
  }
  body.sdgs #sec-lead {
    padding: 15vw 0;
  }
  body.sdgs #sec-lead h1 {
    margin: 20px 0 40px;
    padding: 0 0 30px;
  }
  body.sdgs #sec-lead .fig2 {
    width: 40vw;
    margin: 0 auto;
  }
  body.sdgs #sec-about {
    padding: 0 0 15vw;
  }
  body.sdgs #sec-about .fig1 {
    width: 30vw;
    margin: 0 auto;
  }
  body.sdgs #sec-about .list li {
    font-size: 1rem;
  }
  body.sdgs #sec-torikumi .torikumis {
    margin: 15vw 0 0 0;
  }
  body.sdgs #sec-torikumi .torikumis > li {
    margin: 0 0 15vw;
    padding: 75px 0 0 0;
  }
  body.sdgs #sec-torikumi .torikumis > li::before {
    width: 70px;
  }
  body.sdgs #sec-torikumi .torikumis > li h3 {
    font-size: 1.43rem;
  }
  body.sdgs #sec-torikumi .torikumis > li .icns {
    width: 50vw;
    margin: 0 auto 6vw;
  }
  body.sdgs #sec-torikumi .torikumis > li .icns li {
    padding: 0;
  }
  body.sdgs #sec-torikumi .torikumis > li p {
    color: #231815;
  }
  body.sdgs #sec-korekara {
    padding: 0 0 15vw;
  }
  body.sdgs #sec-korekara h2 {
    margin-bottom: 5vw;
  }
  body.sdgs #sec-korekara .subtit {
    line-height: 1.5;
  }
  body.sdgs #sec-korekara .subtit2 {
    line-height: 1.5;
  }
  body.sdgs #sec-korekara .list {
    margin: 5vw 0 15vw 0;
  }
  body.sdgs #sec-korekara .list li {
    font-size: 1.14rem;
    line-height: 1.6;
    padding: 3vw 5vw;
  }
  body.sdgs #sec-korekara .seiteibi {
    margin: 5vw 0 0 0;
  }
  body.sdgs #sec-sdgs {
    padding: 80px 0;
  }
  body.sdgs #sec-sdgs .subContents {
    text-align: center;
  }
}
body.toppage #sec-lead {
  padding: 80px 0;
}
body.toppage #sec-lead .subContents {
  text-align: center;
}
body.toppage #sec-lead .subContents h1 {
  font-size: 2.14rem;
  margin-bottom: 20px;
}
body.toppage #sec-lead .subContents .inner {
  text-align: left;
}
body.toppage #sec-lead .subContents .layout-3 {
  margin: 5.7rem auto 0;
  position: relative;
}
body.toppage #sec-lead .subContents .layout-3::before {
  content: "";
  width: 1100px;
  height: 1px;
  background: #009944;
  position: absolute;
  top: 50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.toppage #sec-lead .subContents .layout-3 ul {
  width: 850px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body.toppage #sec-lead .subContents .layout-3 ul li {
  width: 33.3333333333%;
  text-align: center;
  padding: 0 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
body.toppage #sec-lead .subContents .layout-3 ul li::after {
  content: "";
  width: 1px;
  height: 238px;
  background: #009944;
  position: absolute;
  bottom: 0;
  right: 0;
}
body.toppage #sec-lead .subContents .layout-3 ul li:first-child::before {
  content: "";
  width: 1px;
  height: 238px;
  background: #009944;
  position: absolute;
  bottom: 0;
  left: 0;
}
body.toppage #sec-lead .subContents .layout-3 ul li figure {
  width: 225px;
  height: 164px;
  margin: 0 auto;
  overflow: hidden;
}
body.toppage #sec-lead .subContents .layout-3 ul li figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover {
  opacity: 1;
}
body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup {
  margin: 10px 0 10px;
  padding-bottom: 25px;
  position: relative;
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup h2 {
  color: #969696;
  font-size: 2.14rem;
  line-height: 1;
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup p {
  font-size: 0.86rem;
}
body.toppage #sec-lead .subContents .layout-3 ul li hgroup::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 23px 23px 0px 23px;
  border-color: #009944 transparent transparent transparent;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
body.toppage #sec-lead .subContents .layout-3 ul li h3 {
  font-size: 0.86rem;
  line-height: 1.6;
  margin-top: auto;
}
body.toppage #sec-lead .subContents .layout-3 ul li h3 span {
  font-size: 2.08rem;
}
body.toppage #sec-profile {
  background: #ECF2E8;
  padding: 80px 0;
}
body.toppage #sec-profile .katagaki {
  font-size: 1.43rem;
  position: relative;
}
body.toppage #sec-profile .katagaki::after {
  content: "";
  width: 75px;
  aspect-ratio: 150/121;
  background: url(../images/common/logo.png) no-repeat left top/100% auto;
  position: absolute;
  top: 0;
  right: 0;
}
body.toppage #sec-profile .name {
  line-height: 1.4;
}
body.toppage #sec-profile .name span {
  font-size: 2.14rem;
  margin-right: 20px;
}
body.toppage #sec-profile .honbun {
  margin: 20px 0 0 0;
}
body.toppage #sec-sdgs {
  padding: 80px 0;
}
body.toppage #sec-sdgs .subContents > div {
  text-align: center;
}

@media screen and (max-width: 756px) {
  body.toppage #sec-lead {
    padding: 15vw 0;
  }
  body.toppage #sec-lead .subContents h1 {
    font-size: 1.8rem;
    margin-bottom: 5vw;
  }
  body.toppage #sec-lead .subContents .layout-3 {
    margin: 2rem auto 0;
    position: relative;
  }
  body.toppage #sec-lead .subContents .layout-3::before {
    content: none;
  }
  body.toppage #sec-lead .subContents .layout-3 ul {
    width: 100%;
    display: block;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li {
    width: 60vw;
    margin: 0 auto 10vw;
    padding: 0 0 5vw;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li:first-child::before {
    content: none;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li figure {
    width: 100%;
    height: auto;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover {
    opacity: 1;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li.linkarea:hover img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  body.toppage #sec-lead .subContents .layout-3 ul li hgroup {
    margin: 10px 0 10px;
    padding-bottom: 25px;
    position: relative;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li hgroup h2 {
    color: #969696;
    font-size: 2.14rem;
    line-height: 1;
  }
  body.toppage #sec-lead .subContents .layout-3 ul li hgroup p {
    font-size: 0.86rem;
  }
  body.toppage #sec-profile {
    padding: 15vw 0;
  }
  body.toppage #sec-profile .katagaki::after {
    width: 60px;
    top: -15px;
  }
  body.toppage #sec-profile .name {
    line-height: 1.4;
  }
  body.toppage #sec-profile .honbun {
    margin: 10vw 0 0 0;
  }
  body.toppage #sec-sdgs {
    padding: 15vw 0;
  }
}