body {
  color: #1e1e1e;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8; }

img {
  max-width: 100%;
  height: auto; }

.pc-no {
  display: none; }
  @media screen and (max-width: 767px) {
    .pc-no {
      display: block; } }

.sp-no {
  display: block; }
  @media screen and (max-width: 767px) {
    .sp-no {
      display: none; } }

.section-turquoise {
  background-color: #2eabb5; }

.section-gray {
  background-color: #f8f8f8; }

.center {
  text-align: center; }

.serif {
  font-family: "Noto Serif JP", serif; }

.block {
  height: auto;
  margin: 0 auto;
  padding: 7vh 0; }
  @media screen and (max-width: 767px) {
    .block {
      padding: 7vh 1em; } }

.block-width {
  width: 1000px; }
  @media screen and (max-width: 767px) {
    .block-width {
      width: 100%; } }

.block-width2 {
  width: 1100px; }
  @media screen and (max-width: 767px) {
    .block-width2 {
      width: 100%; } }

.bg-black {
  background-color: #1e1e1e;
  padding: .5em .3em; }

.bg-gray {
  background-color: #f8f8f8;
  padding: .5em .3em; }

.bg-cerulean {
  background-color: #2eabb5; }

.bg-yellow {
  font-size: 1.3em;
  color: #2eabb5;
  font-family: "Noto Serif JP", serif;
  background-color: #fef550;
  padding: .3em; }

.ajustment-top {
  margin-top: 2em; }

header {
  width: 100%;
  height: auto;
  padding-top: 5vh;
  padding-bottom: 15vh;
  text-align: center;
  background-image: url("../img/header-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

.header-under {
  width: 100%;
  height: 365.5px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  background-color: #f7f0e6; }
  .header-under img {
    margin-right: 10px;
    margin-left: 10px;
    position: relative;
    top: -10vh;
    z-index: 2; }
    @media screen and (max-width: 767px) {
      .header-under img {
        width: 47%;
        margin: 5px;
        top: -10vh;
        z-index: 1; } }

.bg-svg {
  background-repeat: no-repeat;
  background-position: top;
  background-size: auto;
  padding-top: 3.5em;
  padding-bottom: 3.5em; }

.svg1 {
  background-image: url("../img/bg-triangle.svg"); }

.svg2 {
  background-image: url("../img/bg-triangle2.svg"); }

.trouble-ul {
  width: 700px;
  height: auto;
  margin-top: 5vh;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto; }
  @media screen and (max-width: 767px) {
    .trouble-ul {
      width: 90%; } }
  .trouble-ul li {
    font-size: 1.6em;
    font-weight: 600;
    position: relative;
    line-height: 3em;
    text-indent: 3em; }
    @media screen and (max-width: 767px) {
      .trouble-ul li {
        font-size: 1.2em;
        line-height: 2;
        text-indent: 0;
        margin-bottom: 1em;
        padding-left: 2em; } }
    .trouble-ul li::before {
      position: absolute;
      top: .3em;
      left: 0;
      content: "";
      display: inline-block;
      width: 1.85em;
      height: 1.85em;
      background-image: url("../img/list-icon.png");
      background-repeat: no-repeat;
      background-size: contain; }
      @media screen and (max-width: 767px) {
        .trouble-ul li::before {
          top: .1em;
          width: 1.5em;
          height: 1.5em; } }

.img-top {
  height: 550px;
  display: flex;
  flex-direction: column; }
  @media screen and (max-width: 767px) {
    .img-top {
      height: 110px; } }
  .img-top img {
    position: relative;
    top: -14vh;
    z-index: 2;
    align-self: center; }
    @media screen and (max-width: 767px) {
      .img-top img {
        top: -20vh; } }

.bg-town {
  background-image: url("../img/bg-town.png");
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat; }
  @media screen and (max-width: 767px) {
    .bg-town {
      background-size: auto;
      background-position: center bottom;
      background-repeat: no-repeat; } }

.achiev {
  width: 1000px;
  margin: 0 auto;
  padding: 2em 0; }
  @media screen and (max-width: 767px) {
    .achiev {
      width: 100%; } }
  .achiev .achiev-block {
    width: 100%; }
  .achiev .achiev-h2 {
    color: #304586;
    font-size: 2.5em;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 30px; }
  .achiev p {
    line-height: 2; }

.bg-dotted {
  background-image: url("../img/bg-dotted.png");
  background-size: auto;
  background-repeat: repeat; }

.efficacy {
  width: 100%;
  height: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  padding-top: 2em;
  padding-right: 3vw;
  padding-bottom: 2em;
  padding-left: 3vw;
  background-color: #e8e8e8;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .efficacy {
      height: auto; } }
  .efficacy .text-container {
    width: 50%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-content: space-around; }
    @media screen and (max-width: 767px) {
      .efficacy .text-container {
        width: 100%; } }
    .efficacy .text-container h3 {
      color: #fff;
      font-size: 30px;
      font-weight: 900;
      line-height: 2.3; }
    .efficacy .text-container p {
      margin-top: 1.5em;
      padding-left: 1em;
      line-height: 2; }
  .efficacy .img-container {
    width: 50%;
    height: auto;
    display: flex;
    align-self: center; }
    @media screen and (max-width: 767px) {
      .efficacy .img-container {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center; }
        .efficacy .img-container img {
          margin-top: 1.5em; } }
  .efficacy .text-container2 {
    width: 50%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-content: space-around; }
    @media screen and (max-width: 767px) {
      .efficacy .text-container2 {
        width: 100%; } }
    .efficacy .text-container2 h3 {
      font-size: 30px;
      font-weight: 900;
      line-height: 3;
      color: #fff; }
  .efficacy .img-container2 {
    width: 50%;
    height: auto;
    display: flex;
    align-self: center; }
    @media screen and (max-width: 767px) {
      .efficacy .img-container2 {
        width: 100%;
        order: 2;
        justify-content: center; }
        .efficacy .img-container2 img {
          margin-top: 1.5em; } }

.big {
  font-size: 1.5em;
  font-weight: 900; }

.yellow {
  color: #fef550; }

.ajustment-top_efficary {
  position: relative;
  top: .2em; }

.reason-h2 {
  color: #fff;
  font-size: 3em;
  font-weight: 900;
  line-height: 2;
  padding: .5em;
  background-color: #2eabb5;
  background-image: url("../img/reason-h2_bg.png");
  background-size: cover;
  background-position: left;
  background-repeat: no-repeat; }
  @media screen and (max-width: 767px) {
    .reason-h2 {
      font-size: 2em;
      font-weight: 900;
      padding: .5em 5px;
      line-height: 1.7;
      background-size: cover; } }

.reason01 {
  height: auto;
  margin: 0 auto;
  padding: 5vh 0;
  display: flex;
  flex-wrap: wrap; }
  .reason01 .reason01-block {
    width: 50%;
    height: 300px;
    margin-bottom: 2em;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .reason01 .reason01-block {
        width: 100%;
        height: auto; } }
  .reason01 .reason-img1 {
    width: 100%;
    height: 200px; }
  .reason01 .img1 {
    background-image: url("../img/img1.png");
    background-size: cover;
    background-position: center; }
  .reason01 .img2 {
    background-image: url("../img/img2.png");
    background-size: cover;
    background-position: center; }
  .reason01 .img3 {
    background-image: url("../img/img3.png");
    background-size: cover;
    background-position: center; }
  .reason01 .img4 {
    background-image: url("../img/img4.png");
    background-size: cover;
    background-position: center; }
  .reason01 .reason01-h4 {
    font-size: 1.5em;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    margin-top: .5em;
    margin-left: .5em;
    line-height: 1.5; }
    @media screen and (max-width: 767px) {
      .reason01 .reason01-h4 {
        margin-bottom: 5px; } }
  .reason01 p {
    line-height: 1.5;
    margin-left: .75em; }
    @media screen and (max-width: 767px) {
      .reason01 p {
        margin-left: 1em; } }
  .reason01 .tips {
    max-width: 810px;
    width: auto;
    height: auto;
    margin: 3em auto 0; }

.reason2-img {
  margin-top: 3em;
  margin-bottom: 3em; }

.reason3_4-block {
  margin-top: 3em;
  margin-bottom: 3em;
  display: flex;
  flex-wrap: wrap; }
  .reason3_4-block .reason3_4-left {
    width: 53%;
    height: auto;
    padding-right: 1em; }
    @media screen and (max-width: 767px) {
      .reason3_4-block .reason3_4-left {
        width: 100%;
        padding-right: 0; } }
  .reason3_4-block .reason3_4-right {
    width: 47%;
    height: auto; }
    @media screen and (max-width: 767px) {
      .reason3_4-block .reason3_4-right {
        width: 100%;
        margin-top: 1.5em; } }

.qabox {
  padding: 2em;
  background-color: #fff; }
  @media screen and (max-width: 767px) {
    .qabox {
      padding: 1em; } }
  .qabox .qr-h2 {
    margin-bottom: 2em; }

footer {
  color: #fff;
  padding: 3em;
  background-color: #2eabb5; }

footer .list-div {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  position: relative;
  justify-content: center; }
  @media screen and (max-width: 767px) {
    footer .list-div {
      display: block; } }

footer .list-div li {
  width: 50%; }
  @media screen and (max-width: 767px) {
    footer .list-div li {
      width: 100%;
      text-align: center; } }

.center-font {
  margin-left: 10%; }
  @media screen and (max-width: 767px) {
    .center-font {
      margin-left: 0; } }

.center-font ul {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%); }
  @media screen and (max-width: 767px) {
    .center-font ul {
      position: relative;
      top: 0;
      transform: translate(0);
      -webkit-transform: translate(0);
      -ms-transform: translate(0); } }

.center-font ul li {
  width: auto;
  display: inline-block; }

.center-font ul li a {
  text-decoration: underline; }
