@charset "UTF-8";
/* constance variable */
/* noto sans font weight */

.service header.second .bg {
    padding: 0;
}
.service header.second h1 {
    margin: 0;
}
.service img {
    width: 100%;
}
.service .contents p.read {
    font-size: 16px;
    width: max-content;
}

@media only screen and (min-width: 768px) {
  .pc_disp {
    display: block;
  }
  .sp_disp {
    display: none;
  }

  .service section.contents01 {
      background: url("../service/img/bg_contents01.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
      /*padding: 140px 0 743px;*/
      padding: 8.4vw 0 50vw;
  }
  .service section.contents01 .contents01-inner {
    /*width: 544px;*/
    /*margin-left: 160px;*/
    width: 37.8vw;
    margin-left: 9.6vw;
  }
  .service section.contents01 .contents01-inner h2 {
    max-width: 443px;
  }
  .service section.contents01 .contents01-inner .read {
    width: auto;
  }
  .service section.contents01 .contents01-inner h2 img,
  .service section.contents02 .contents02-inner h2 img,
  .service section.contents03 .contents03-inner h2 img,
  .service section.contents04 .contents04-inner h2 img,
  .service section.contents05 .contents05-inner h2 img {
    width: 100%;
  }
  .service section.contents02 {
      background: url("../service/img/bg_contents02.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
      /*padding: 140px 0 743px;*/
      padding: 7.8vw 0 64vw;
  }
  .service section.contents02 .contents02-inner {
    /*width: 544px;
    margin-left: 160px;*/
    width: 48vw;
    margin: 0 auto;
    text-align: center;
  }
  .service section.contents02 .contents02-inner h2 {
    max-width: 277px;
    margin: 0 auto 1.5vw;
  }
  .service section.contents03 {
      background: url("../service/img/bg_contents03.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
      /*padding: 140px 0 743px;*/
      padding: 7.3vw 0 11.7vw;
  }
  .service section.contents03 .contents03-inner {
    /*width: 544px;
    margin-left: 160px;*/
    margin: 0 auto;
    text-align: center;
  }
  .service section.contents03 .contents03-inner h2 {
    max-width: 353px;
    margin: 0 auto 1.5vw;
  }
  .service section.contents03 .contents03-inner p.read {
    color: #FFF;
    margin: 0 auto 5.5vw;
  }
  .service section.contents03 .contents03-inner .inner-flex {
    display: flex;
    justify-content: space-between;
    column-gap: 10vw;
    width: 70vw;
    margin: 0 auto 4vw;
    max-width: 928px;
  }
  .service section.contents03 .contents03-inner .inner-flex .contents-left {
    max-width: 442px;
    display: block;
  }
  .service section.contents03 .contents03-inner .inner-flex .contents-right {
    max-width: 396px;
    display: block;
  }
  .service section.contents03 .contents03-inner .inner-flex .contents-left img {
    width: 28.2vw;
  }
  .service section.contents03 .contents03-inner .inner-flex .contents-right img {
    width: 25.2vw;
  }
  
  .service section.contents04 {
    position: relative;
    height: auto;
    padding: 151px 0 146px;
    /*padding: 9.0vw 0 0;*/
    /*margin-bottom: 7.5vw;*/
  }
  .service section.contents04:before {
    position: absolute;
    content: "";
    background: url("../service/img/bg_contents04_top_pc.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    width: 54.6vw;
    height: 27.9vw;
    top: 313px;
    right: 0;
  }
  .service section.contents04:after {
    position: absolute;
    content: "";
    background: url("../service/img/bg_contents04_bottom_pc.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    width: 48.6vw;
    height: 40vw;
    bottom: 125px;
    left: 0;
  }
  .service section.contents04 .contents04-inner {
    /*width: 544px;
    margin-left: 160px;*/
    width: auto;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
  }
  .service section.contents04 .contents04-inner h2 {
    max-width: 638px;
    margin: 0 auto 40px;
  }
  .service section.contents04 .contents04-inner .read {
    margin: 0 auto 40px;
  }
  .service section.contents04 .contents04-inner .content_img {
    max-width: 928px;
    margin: 0 auto;
    text-align: center;
  }
  .service section.contents04 .contents04-inner .content_img img {
    width: 100%;
  }

  .service section.contents05 {
      background: url("../service/img/bg_contents05.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
      /*padding: 140px 0 743px;*/
      padding: 7.8vw 0 260px;
  }
  .service section.contents05 .contents05-inner {
    /*width: 544px;
    margin-left: 160px;*/
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    text-align: center;
  }
  .service section.contents05 .contents05-inner h2 {
    max-width: 465px;
    margin: 0 auto 1.5vw;
  }
  .service section.contents05 .contents05-inner p.read {
    margin: 0 auto 80px;
  }
  .service section.contents05 .contents05-inner .inner-flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
  }
  .service section.contents05 .contents05-inner .inner-flex img {
    width: 100%;
  }
  .service section.contents05 .contents05-inner .inner-flex .contents-left {
    text-align: left;
    max-width: 556px;
    width: 100%;
  }
  .service section.contents05 .contents05-inner .inner-flex .contents-left .inner-text {
    font-size: 1.0vw;
    margin-bottom: 75px;
  }
  .service section.contents05 .contents05-inner .inner-flex .contents-left .inner-img {
    max-width: 470px;
    margin-left: auto;
  }
  .service section.contents05 .contents05-inner .inner-flex .contents-right {
    max-width: 544px;
    width: 100%;
  }
  .service section.contents05 .contents05-inner .inner-flex h3 {
    font-size: 36px;
    color: #00401F;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    width: fit-content;
    margin-bottom: 20px;
    position: relative;
  }
  .service section.contents05 .contents05-inner .inner-flex h3::after,
  .service section.contents05 .contents05-inner .inner-content02 .inner-wrap .inner-wrap_content h3::after {
    content:"";
    background-color: #F39800;
    width: 50px;
    height: 1px;
    position: absolute;
    top: 50%;
    right: -60px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  .service section.contents05 .contents05-inner .inner-content02 {
    position: relative;
  }
  .service section.contents05 .contents05-inner .inner-content02 .inner-wrap .inner-wrap_content {
    margin-left: auto;
    margin-bottom: 408px;
    width: 100%;
    max-width: 544px;
  }
  .service section.contents05 .contents05-inner .inner-content02 .inner-wrap .inner-wrap_content h3 {
    font-size: 36px;
    color: #00401F;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    width: fit-content;
    margin-bottom: 20px;
    position: relative;
  }
  .service section.contents05 .contents05-inner .inner-content02 .inner-wrap .inner-wrap_content .inner-text {
    text-align: left;
    font-size: 1.0vw;
  }
  .service section.contents05 .contents05-inner .inner-content02 .inner-img {
    position: absolute;
    top: 0;
    left: 0;
    /*display: block;*/
    max-width: 736px;
  }
  .service section.contents05 .contents05-inner .inner-content03 {
    max-width: 1116px;
  }
  .service section.contents05 .contents05-inner img {
    width: 100%;
  }

  .service section.contents06 {
      background: url("../service/img/bg_contents06.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
      /*padding: 140px 0 743px;*/
      padding: 7.8vw 0 22vw;
      position: relative;
  }
  .service section.contents06 .contents06-inner {
    /*width: 544px;
    margin-left: 160px;*/
    width: 48vw;
    margin: 0 auto;
    text-align: center;
  }
  .service section.contents06 .contents06-inner h2 {
    max-width: 277px;
    margin: 0 auto 1.5vw;
  }

  .hoken {
    position: absolute;
    top: -65%;
    left: 50%;
    transform: translate(-50%, 50%);
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
  }
  .hoken img {
    width: 100%;
  }

  .bg-corner-triangles {
    /* 調整用 */
    --corner-size: 50px;      /* 三角形の一辺の長さ */
    --corner-color: #00401F;  /* 濃い緑 */

    /* 背景レイヤー（左上／右下の三角形＋白） */
    background:
      /* 左上 */
      linear-gradient(135deg, var(--corner-color) 0 50%, transparent 50% 100%) top left /
        var(--corner-size) var(--corner-size) no-repeat,
      /* 右下 */
      linear-gradient(315deg, var(--corner-color) 0 50%, transparent 50% 100%) bottom right /
        var(--corner-size) var(--corner-size) no-repeat,
      /* ベース */
      #fff;
    max-width: 928px;
    margin: 0 auto;
    height: 460px;
    position: absolute;
    top: 0;
  }
}

@media only screen and (max-width: 767px) {
  .pc_disp {
    display: none;
  }
  .sp_disp {
    display: block;
  }
  .service .contents p.read {
    width: auto;
  }
  .service section.contents01 .contents01-inner h2 {
    max-width: 271px;
    margin: 0 auto 20px;
  }
  .service section.contents01 {
    background: url("../service/img/bg_contents01_sp.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    height: auto;
  }
  .service section.contents01 .contents01-inner {
    padding: 60px 20px;
  }
  .service section.contents01 .contents01-inner .read {
    font-size: 14px;
    line-height: 25px;
    margin-bottom: 20px;
  }

  .service section.contents02 {
    background: url("../service/img/bg_contents02_sp.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    height: auto;
  }
  .service section.contents02 .contents02-inner {
    padding: 60px 0;
    position: relative;
    min-height: 751px;
  }
  .service section.contents02 .contents02-inner h2 {
    max-width: 169px;
    margin: 0 auto 20px;
  }
  .service section.contents02 .contents02-inner .read {
    font-size: 14px;
    line-height: 25px;
    margin-bottom: 20px;
    padding: 0 20px;
  }

  .service section.contents03 {
      background: url("../service/img/bg_contents03.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
  }
  .service section.contents03 .contents03-inner {
    padding: 60px 20px;
  }
  .service section.contents03 .contents03-inner h2 {
    max-width: 214px;
    margin: 0 auto 20px;
  }
  .service section.contents03 .contents03-inner .read {
    font-size: 14px;
    line-height: 25px;
    margin-bottom: 20px;
    color: #FFF;
  }
  .service section.contents03 .contents03-inner .inner-flex {
    display: flex;
    flex-direction: column-reverse;
  }
  .service section.contents03 .contents03-inner .inner-flex .contents-right {
    max-width: 184px;
    margin: 0 auto;
  }

  .service section.contents04 {
      background: url("../service/img/bg_contents04_sp.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
  }
  .service section.contents04 .contents04-inner {
    padding: 60px 20px 150px;
  }
  .service section.contents04 .contents04-inner h2 {
    max-width: 220px;
    margin: 0 auto 20px;
  }
  .service section.contents04 .contents04-inner .read {
    font-size: 14px;
    line-height: 25px;
    margin-bottom: 30px;
  }

  .service section.contents05 {
      background: url("../service/img/bg_contents05_sp.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: auto;
  }
  .service section.contents05 .contents05-inner {
    padding: 60px 20px 300px;
  }
  .service section.contents05 .contents05-inner h2 {
    max-width: 283px;
    margin: 0 auto 20px;
  }
  .service section.contents05 .contents05-inner .read {
    font-size: 14px;
    line-height: 25px;
    margin-bottom: 30px;
  }
  .service section.contents05 .contents05-inner .inner-flex h3 {
    font-size: 24px;
    color: #00401F;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    width: fit-content;
    margin: 0 auto 20px;
    position: relative;
  }
  .service section.contents05 .contents05-inner .inner-flex h3::after,
  .service section.contents05 .contents05-inner .inner-content02 .inner-wrap .inner-wrap_content h3::after {
    content:"";
    background-color: #F39800;
    width: 50px;
    height: 1px;
    position: absolute;
    top: 50%;
    right: -60px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  .service section.contents05 .contents05-inner .inner-flex .contents-left .inner-text {
    font-size: 14px;
    line-height: 25px;
    margin-bottom: 20px;
  }
  .service section.contents05 .contents05-inner .inner-content02 .inner-wrap .inner-wrap_content h3 {
    font-size: 24px;
    color: #00401F;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    width: fit-content;
    margin: 0 2% 20px;
    position: relative;
  }
  .service section.contents05 .contents05-inner .inner-flex .contents-left {
    margin-bottom: 60px;
  }

  .service section.contents06 {
      background: url("../service/img/bg_contents06.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center top;
      height: 405px;
      /*padding: 7.8vw 0 22vw;*/
      position: relative;
  }
  .hoken {
    position: absolute;
    max-width: 314px;
    width: 100%;
    top: -65%;
    left: 50%;
    transform: translate(-50%, 50%);
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
  }
}