@charset "UTF-8";
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 100;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 200;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 300;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 500;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 600;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 800;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 900;
  src: url("/fonts/Outfit-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/Oswald-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 600;
  src: url("/fonts/Oswald-VariableFont_wght.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: normal;
  font-weight: 300;
  src: url("/fonts/Avenir_Light.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/Avenir_Roman.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: normal;
  font-weight: 500;
  src: url("/fonts/Avenir_Medium.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: normal;
  font-weight: 800;
  src: url("/fonts/Avenir_Black.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir Heavy";
  font-style: normal;
  font-weight: 900;
  src: url("/fonts/Avenir_Heavy.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: oblique;
  font-weight: 300;
  src: url("/fonts/Avenir_Light_Oblique.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: oblique;
  font-weight: 400;
  src: url("/fonts/Avenir_Oblique.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: oblique;
  font-weight: 500;
  src: url("/fonts/Avenir_Medium_Oblique.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir";
  font-style: oblique;
  font-weight: 800;
  src: url("/fonts/Avenir_Black_Oblique.woff2") format("woff2"); }

@font-face {
  font-family: "Avenir Heavy";
  font-style: oblique;
  font-weight: 900;
  src: url("/fonts/Avenir_Heavy_Oblique.woff2") format("woff2"); }

/* Noto Sans */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/NotoSansJP-Regular.woff2") format("woff2"); }

@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 500;
  src: url("/fonts/NotoSansJP-Medium.woff2") format("woff2"); }

@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/NotoSansJP-Bold.woff2") format("woff2"); }

/* Lato - Normal */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 100;
  src: url("/fonts/Lato-Thin.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 300;
  src: url("/fonts/Lato-Light.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/Lato-Regular.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/Lato-Bold.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  src: url("/fonts/Lato-Black.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 100;
  src: url("/fonts/Lato-ThinItalic.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 300;
  src: url("/fonts/Lato-LightItalic.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 400;
  src: url("/fonts/Lato-Italic.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 700;
  src: url("/fonts/Lato-BoldItalic.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 900;
  src: url("/fonts/Lato-BlackItalic.woff2") format("woff2"); }

html[lang="ja"] {
  font-family: "Noto Sans";
  color: dimgray; }

h2 {
  display: flex;
  align-items: center; }

h3 {
  display: flex;
  align-items: center; }

h4 {
  display: flex;
  align-items: center; }

h1.masthead {
  padding: .25rem .5rem; }

.headline {
  color: #00ab7f; }
  .headline h2 {
    display: block;
    text-align: center; }
  .headline h3 {
    display: block;
    text-align: center; }
  .headline h4 {
    display: block;
    text-align: center; }

ul {
  padding: 0; }

ol {
  padding: 0; }

li {
  list-style: none; }

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

a {
  color: dimgray;
  text-decoration: none; }
  a:hover {
    opacity: .5; }

.only-pc {
  display: none; }

.only-cs {
  display: none; }

.only-sp {
  display: none; }

@media only screen and (min-width: 768px) {
  .block {
    padding: 0 1rem; } }

@media only screen and (max-width: 1200px) {
  .block {
    padding: 0 1rem; } }

@media only screen and (max-width: 767px) {
  .block {
    padding: 0 .5rem; } }

.gallery .textarea {
  margin: .5rem 0; }

.header-contents {
  width: 100%;
  caret-color: transparent; }

.aspect-16-9 {
  aspect-ratio: 16 / 9; }

em {
  font-style: normal;
  margin: 0 .125rem;
  color: #00ab7f; }

header .header-top {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  header .header-top .logo-mark {
    display: flex;
    align-items: center;
    margin-right: auto; }
    header .header-top .logo-mark .mark {
      display: flex;
      align-items: center;
      margin: 0; }
      @media only screen and (min-width: 768px) {
        header .header-top .logo-mark .mark {
          padding: 0 clamp(0.5rem, calc(0.00rem + 0.63vw), 0.75rem); } }
      @media only screen and (max-width: 1200px) {
        header .header-top .logo-mark .mark {
          padding: 0 clamp(0.25rem, calc(-0.25rem + 0.63vw), 0.5rem); } }
      @media only screen and (max-width: 767px) {
        header .header-top .logo-mark .mark {
          padding: 0 clamp(0.1rem, calc(-0.01rem + 0.54vw), 0.25rem); } }
      header .header-top .logo-mark .mark svg {
        height: auto; }
        @media only screen and (min-width: 768px) {
          header .header-top .logo-mark .mark svg {
            width: 4rem; } }
        @media only screen and (max-width: 1200px) {
          header .header-top .logo-mark .mark svg {
            width: clamp(3rem, calc(1.50rem + 3.13vw), 4rem); } }
        @media only screen and (max-width: 767px) {
          header .header-top .logo-mark .mark svg {
            width: clamp(1.5rem, calc(0.43rem + 5.36vw), 3rem); } }
    @media only screen and (min-width: 768px) {
      header .header-top .logo-mark .logo {
        padding: 0 clamp(0.75rem, calc(0.25rem + 0.63vw), 1rem); } }
    @media only screen and (max-width: 1200px) {
      header .header-top .logo-mark .logo {
        padding: 0 clamp(0.25rem, calc(-0.75rem + 1.25vw), 0.75rem); } }
    @media only screen and (max-width: 767px) {
      header .header-top .logo-mark .logo {
        padding: 0 clamp(0.125rem, calc(0.04rem + 0.45vw), 0.25rem); } }
    header .header-top .logo-mark .logo h1, header .header-top .logo-mark .logo p {
      display: flex;
      align-items: center;
      margin: 0; }
      header .header-top .logo-mark .logo h1 img, header .header-top .logo-mark .logo p img {
        width: auto; }
        @media only screen and (min-width: 768px) {
          header .header-top .logo-mark .logo h1 img, header .header-top .logo-mark .logo p img {
            height: 3.25rem; } }
        @media only screen and (max-width: 1200px) {
          header .header-top .logo-mark .logo h1 img, header .header-top .logo-mark .logo p img {
            height: clamp(2.25rem, calc(0.75rem + 3.13vw), 3.25rem); } }
        @media only screen and (max-width: 767px) {
          header .header-top .logo-mark .logo h1 img, header .header-top .logo-mark .logo p img {
            height: clamp(1.125rem, calc(0.32rem + 4.02vw), 2.25rem); } }
  header .header-top .phone {
    display: flex;
    align-items: center;
    font-family: Avenir;
    font-weight: 800; }
    @media only screen and (min-width: 768px) {
      header .header-top .phone {
        font-size: 2.75rem; } }
    @media only screen and (max-width: 1200px) {
      header .header-top .phone {
        font-size: clamp(1.75rem, calc(0.25rem + 3.13vw), 2.75rem); } }
    @media only screen and (max-width: 767px) {
      header .header-top .phone {
        font-size: clamp(1.125rem, calc(0.68rem + 2.23vw), 1.75rem); } }
    header .header-top .phone svg {
      height: auto;
      fill: black; }
      @media only screen and (min-width: 768px) {
        header .header-top .phone svg {
          width: 2rem; } }
      @media only screen and (max-width: 1200px) {
        header .header-top .phone svg {
          width: clamp(1.25rem, calc(0.13rem + 2.34vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        header .header-top .phone svg {
          width: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
      header .header-top .phone svg path {
        fill: black; }
    header .header-top .phone a {
      display: flex;
      align-items: center;
      padding: .5rem; }
    header .header-top .phone .number {
      padding: 0 .125rem;
      color: black; }
  header .header-top .link-contactus a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-weight: 600;
    background: linear-gradient(to left, #00ac7e, #00a385); }
    @media only screen and (min-width: 768px) {
      header .header-top .link-contactus a {
        font-size: 1.75rem; } }
    @media only screen and (max-width: 1200px) {
      header .header-top .link-contactus a {
        font-size: clamp(1.5rem, calc(1.13rem + 0.78vw), 1.75rem); } }
    @media only screen and (max-width: 767px) {
      header .header-top .link-contactus a {
        font-size: clamp(1.125rem, calc(0.86rem + 1.34vw), 1.5rem); } }
    @media only screen and (min-width: 768px) {
      header .header-top .link-contactus a {
        padding: .75rem 2rem; } }
    @media only screen and (max-width: 1200px) {
      header .header-top .link-contactus a {
        padding: clamp(0.25rem, calc(-0.75rem + 1.25vw), 0.75rem) clamp(1.5rem, calc(0.50rem + 1.25vw), 2rem); } }
    @media only screen and (min-width: 768px) {
      header .header-top .link-contactus a {
        border-radius: .75rem; } }
    @media only screen and (max-width: 1200px) {
      header .header-top .link-contactus a {
        border-radius: clamp(0.5rem, calc(0.00rem + 0.63vw), 0.75rem); } }
    @media only screen and (max-width: 767px) {
      header .header-top .link-contactus a {
        color: inherit;
        background: none;
        padding: 0; } }
  header .header-top .link-contactus .icon svg {
    display: flex;
    align-items: center;
    width: clamp(1.25rem, calc(0.36rem + 4.46vw), 2.5rem);
    height: auto;
    fill: #00ab7f; }
    header .header-top .link-contactus .icon svg path {
      fill: #00ab7f; }
  @media only screen and (min-width: 768px) {
    header .header-top .link-contactus {
      margin: 0 .75rem 0 0; } }
  @media only screen and (max-width: 1200px) {
    header .header-top .link-contactus {
      margin: 0 clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem) 0 0; } }
  @media only screen and (max-width: 767px) {
    header .header-top .link-contactus {
      margin: 0 clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem) 0 0; } }
  @media only screen and (min-width: 768px) {
    header .header-top .link-contactus .pc, header .header-top .link-contactus .cs {
      display: flex; } }
  @media only screen and (max-width: 1200px) {
    header .header-top .link-contactus .pc, header .header-top .link-contactus .cs {
      display: flex; } }
  @media only screen and (max-width: 767px) {
    header .header-top .link-contactus .pc, header .header-top .link-contactus .cs {
      display: none; } }
  @media only screen and (min-width: 768px) {
    header .header-top .link-contactus .sp {
      display: none; } }
  @media only screen and (max-width: 1200px) {
    header .header-top .link-contactus .sp {
      display: none; } }
  @media only screen and (max-width: 767px) {
    header .header-top .link-contactus .sp {
      display: flex; } }

header .main-visual {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  width: 100%; }
  @media only screen and (min-width: 768px) {
    header .main-visual {
      height: 768px; } }
  @media only screen and (max-width: 1200px) {
    header .main-visual {
      height: calc(100vw * (768 / 1280)); } }
  @media only screen and (max-width: 767px) {
    header .main-visual {
      height: calc(100vw * (768 / 768)); } }
  header .main-visual:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1; }
    @media only screen and (min-width: 768px) {
      header .main-visual:before {
        background-image: url("/wp-content/uploads/main-visual-pc.webp"); } }
    @media only screen and (max-width: 1200px) {
      header .main-visual:before {
        background-image: url("/wp-content/uploads/main-visual-cs.webp"); } }
    @media only screen and (max-width: 767px) {
      header .main-visual:before {
        background-image: url("/wp-content/uploads/main-visual-sp.webp"); } }
    @media only screen and (min-width: 768px) {
      header .main-visual:before {
        background-size: auto; } }
    @media only screen and (max-width: 1200px) {
      header .main-visual:before {
        background-size: cover; } }
    @media only screen and (max-width: 767px) {
      header .main-visual:before {
        background-size: cover; } }
  header .main-visual .contents {
    font-family: "Noto sans";
    font-weight: 600;
    text-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.25); }
    @media only screen and (min-width: 768px) {
      header .main-visual .contents {
        margin-top: 13rem; } }
    @media only screen and (max-width: 1200px) {
      header .main-visual .contents {
        margin-top: clamp(6rem, calc(-4.50rem + 21.88vw), 13rem); } }
    @media only screen and (max-width: 767px) {
      header .main-visual .contents {
        margin-top: clamp(4rem, calc(2.57rem + 7.14vw), 6rem); } }
    header .main-visual .contents .service {
      font-family: Avenir;
      font-weight: 800;
      color: #00ab7f;
      text-shadow: 0.5rem 0.5rem 0.25rem rgba(255, 255, 255, 0.5); }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents .service {
          font-size: 3.5rem; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents .service {
          font-size: clamp(3rem, calc(2.25rem + 1.56vw), 3.5rem); } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents .service {
          font-size: clamp(1.5rem, calc(0.79rem + 3.57vw), 2.5rem); } }
    header .main-visual .contents .catch {
      font-weight: 600;
      line-height: 1.125;
      color: white; }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents .catch {
          font-size: 2.75rem; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents .catch {
          font-size: clamp(1.75rem, calc(0.25rem + 3.13vw), 2.75rem); } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents .catch {
          font-size: clamp(1.125rem, calc(0.68rem + 2.23vw), 1.75rem); } }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents .catch {
          margin-bottom: 3rem; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents .catch {
          margin-bottom: clamp(2rem, calc(0.50rem + 3.13vw), 3rem); } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents .catch {
          margin-bottom: clamp(1rem, calc(0.29rem + 3.57vw), 2rem); } }
    header .main-visual .contents h2 {
      font-weight: 600;
      color: white; }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents h2 {
          margin: 1rem 0 2rem; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents h2 {
          margin: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0 clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents h2 {
          margin: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0 clamp(0.55rem, calc(0.23rem + 1.61vw), 1rem); } }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents h2 {
          font-size: 3.5rem; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents h2 {
          font-size: clamp(3rem, calc(2.25rem + 1.56vw), 3.5rem); } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents h2 {
          font-size: clamp(2rem, calc(1.29rem + 3.57vw), 3rem); } }
    header .main-visual .contents .points {
      display: inline-flex;
      flex-direction: column; }
      header .main-visual .contents .points em {
        color: #00ab7f; }
    header .main-visual .contents .point {
      width: auto;
      display: flex;
      text-shadow: none;
      margin: .5rem 0;
      justify-content: flex-start;
      background-color: white;
      padding: .125rem 0; }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents .point {
          width: max-content; } }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents .point {
          font-size: 1.75rem; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents .point {
          font-size: clamp(1.3rem, calc(0.63rem + 1.41vw), 1.75rem); } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents .point {
          font-size: clamp(0.9rem, calc(0.61rem + 1.43vw), 1.3rem); } }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents .point {
          border-radius: .5rem; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents .point {
          border-radius: clamp(0.4rem, calc(0.25rem + 0.31vw), 0.5rem); } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents .point {
          border-radius: clamp(0.3rem, calc(0.23rem + 0.36vw), 0.4rem); } }
      header .main-visual .contents .point .marker {
        font-family: Avenir;
        font-weight: 800;
        color: #00ab7f;
        padding: .125rem .5rem;
        border-right: 1px solid darkgray; }
        @media only screen and (min-width: 768px) {
          header .main-visual .contents .point .marker {
            padding: .5rem 1rem; } }
        @media only screen and (max-width: 1200px) {
          header .main-visual .contents .point .marker {
            padding: clamp(0.25rem, calc(-0.13rem + 0.78vw), 0.5rem) clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          header .main-visual .contents .point .marker {
            padding: clamp(0.125rem, calc(0.04rem + 0.45vw), 0.25rem) clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      header .main-visual .contents .point .text {
        font-family: Avenir; }
        @media only screen and (min-width: 768px) {
          header .main-visual .contents .point .text {
            padding: .5rem 1rem; } }
        @media only screen and (max-width: 1200px) {
          header .main-visual .contents .point .text {
            padding: clamp(0.25rem, calc(-0.13rem + 0.78vw), 0.5rem) clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          header .main-visual .contents .point .text {
            padding: clamp(0.125rem, calc(0.04rem + 0.45vw), 0.25rem) clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    header .main-visual .contents .button-contactus {
      padding: 0;
      display: flex;
      align-items: center; }
      @media only screen and (min-width: 768px) {
        header .main-visual .contents .button-contactus {
          margin: clamp(1.75rem, calc(1.25rem + 0.63vw), 2rem) 0 0; } }
      @media only screen and (max-width: 1200px) {
        header .main-visual .contents .button-contactus {
          margin: clamp(1.5rem, calc(1.13rem + 0.78vw), 1.75rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        header .main-visual .contents .button-contactus {
          margin: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem) 0 0; } }
      header .main-visual .contents .button-contactus a {
        color: white;
        display: flex;
        align-items: center;
        gap: 2rem;
        border-radius: .25rem;
        background: linear-gradient(to right, #00ac7e, #00a385);
        width: max-content;
        justify-content: flex-start;
        padding: .25rem 1rem .5rem;
        text-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.5); }
        @media only screen and (min-width: 768px) {
          header .main-visual .contents .button-contactus a {
            font-size: clamp(1.25rem, calc(0.75rem + 0.63vw), 1.5rem); } }
        @media only screen and (max-width: 1200px) {
          header .main-visual .contents .button-contactus a {
            font-size: clamp(1.125rem, calc(0.94rem + 0.39vw), 1.25rem); } }
        @media only screen and (max-width: 767px) {
          header .main-visual .contents .button-contactus a {
            font-size: clamp(1rem, calc(0.91rem + 0.45vw), 1.125rem); } }
      header .main-visual .contents .button-contactus svg {
        fill: white;
        filter: drop-shadow(0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.5)); }
        header .main-visual .contents .button-contactus svg path {
          fill: white; }

#home .breadcrumbs {
  display: none; }

@media only screen and (min-width: 768px) {
  .description {
    line-height: 2; } }

@media only screen and (max-width: 1200px) {
  .description {
    line-height: 1.75; } }

@media only screen and (max-width: 767px) {
  .description {
    line-height: 1.5; } }

.comment {
  display: inline-block;
  padding-left: 1rem;
  color: dimgray; }
  @media only screen and (min-width: 768px) {
    .comment {
      line-height: 2; } }
  @media only screen and (max-width: 1200px) {
    .comment {
      line-height: 1.75; } }
  @media only screen and (max-width: 767px) {
    .comment {
      line-height: 1.5; } }
  .comment:before {
    content: "※";
    margin-left: -1rem; }

@media only screen and (min-width: 768px) {
  .gallery {
    margin-top: 4rem; } }

@media only screen and (max-width: 1200px) {
  .gallery {
    margin-top: clamp(3rem, calc(1.50rem + 3.13vw), 4rem); } }

@media only screen and (max-width: 767px) {
  .gallery {
    margin-top: clamp(2rem, calc(1.29rem + 3.57vw), 3rem); } }

@media only screen and (min-width: 768px) {
  .gallery {
    gap: 2rem; } }

@media only screen and (max-width: 1200px) {
  .gallery {
    gap: clamp(1.75rem, calc(1.38rem + 0.78vw), 2rem); } }

@media only screen and (max-width: 767px) {
  .gallery {
    gap: clamp(1rem, calc(0.46rem + 2.68vw), 1.75rem); } }

.gallery .part, .infographic .part {
  text-align: center; }

.gallery img, .infographic img {
  box-shadow: 0.25rem 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  aspect-ratio: 16 / 9;
  object-fit: cover; }
  @media only screen and (min-width: 768px) {
    .gallery img, .infographic img {
      border-radius: .75rem; } }
  @media only screen and (max-width: 1200px) {
    .gallery img, .infographic img {
      border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
  @media only screen and (max-width: 767px) {
    .gallery img, .infographic img {
      border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
  @media only screen and (max-width: 767px) {
    .gallery img, .infographic img {
      width: 80%; } }

.section.hidden {
  margin: 0;
  padding: 0; }

@media only screen and (min-width: 768px) {
  .section {
    padding: 4rem 0; } }

@media only screen and (max-width: 1200px) {
  .section {
    padding: clamp(3rem, calc(1.50rem + 3.13vw), 4rem) clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }

@media only screen and (max-width: 767px) {
  .section {
    padding: clamp(2rem, calc(1.29rem + 3.57vw), 3rem) clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }

.section h2 {
  color: black; }
  @media only screen and (min-width: 768px) {
    .section h2 {
      font-size: 2.25rem; } }
  @media only screen and (max-width: 1200px) {
    .section h2 {
      font-size: clamp(1.75rem, calc(1.00rem + 1.56vw), 2.25rem); } }
  @media only screen and (max-width: 767px) {
    .section h2 {
      font-size: clamp(1.4rem, calc(1.15rem + 1.25vw), 1.75rem); } }
  @media only screen and (min-width: 768px) {
    .section h2 {
      margin: 1rem 0; } }
  @media only screen and (max-width: 1200px) {
    .section h2 {
      margin: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0; } }
  @media only screen and (max-width: 767px) {
    .section h2 {
      margin: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0; } }
  @media only screen and (max-width: 767px) {
    .section h2 {
      display: block;
      text-align: center; } }

.section h3 {
  color: black; }
  @media only screen and (min-width: 768px) {
    .section h3 {
      font-size: 2rem; } }
  @media only screen and (max-width: 1200px) {
    .section h3 {
      font-size: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    .section h3 {
      font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
  @media only screen and (min-width: 768px) {
    .section h3 {
      margin: .75rem 0 1rem; } }
  @media only screen and (max-width: 1200px) {
    .section h3 {
      margin: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem) 0 clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section h3 {
      margin: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem) 0 clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
  @media only screen and (max-width: 767px) {
    .section h3 {
      display: block;
      text-align: center; } }

.section h4 {
  color: black; }
  @media only screen and (min-width: 768px) {
    .section h4 {
      font-size: 1.75rem; } }
  @media only screen and (max-width: 1200px) {
    .section h4 {
      font-size: clamp(1.25rem, calc(0.50rem + 1.56vw), 1.75rem); } }
  @media only screen and (max-width: 767px) {
    .section h4 {
      font-size: clamp(1.125rem, calc(1.04rem + 0.45vw), 1.25rem); } }
  @media only screen and (min-width: 768px) {
    .section h4 {
      margin: .75rem 0 1rem; } }
  @media only screen and (max-width: 1200px) {
    .section h4 {
      margin: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem) 0 clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section h4 {
      margin: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem) 0 clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
  @media only screen and (max-width: 767px) {
    .section h4 {
      display: block;
      text-align: center; } }

.section p {
  color: #111111; }
  @media only screen and (min-width: 768px) {
    .section p {
      line-height: 2; } }
  @media only screen and (max-width: 1200px) {
    .section p {
      line-height: 1.75; } }
  @media only screen and (max-width: 767px) {
    .section p {
      line-height: 1.5; } }

.headline.caption {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  font-family: Avenir;
  font-weight: 800;
  text-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.25); }
  @media only screen and (min-width: 768px) {
    .headline.caption {
      font-size: 3.5rem; } }
  @media only screen and (max-width: 1200px) {
    .headline.caption {
      font-size: clamp(2.5rem, calc(1.00rem + 3.13vw), 3.5rem); } }
  @media only screen and (max-width: 767px) {
    .headline.caption {
      font-size: clamp(1.5rem, calc(0.79rem + 3.57vw), 2.5rem); } }

.section-introduction {
  background: linear-gradient(to right, #ff8f0d 30%, #ff644d 100%); }
  @media only screen and (min-width: 768px) {
    .section-introduction {
      padding: 4rem 1.5; } }
  @media only screen and (max-width: 1200px) {
    .section-introduction {
      padding: clamp(3rem, calc(1.50rem + 3.13vw), 4rem) clamp(1rem, calc(0.25rem + 1.56vw), 1.5rem); } }
  @media only screen and (max-width: 767px) {
    .section-introduction {
      padding: clamp(2rem, calc(1.29rem + 3.57vw), 3rem) clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
  .section-introduction .block-introduction-head .caption {
    color: white; }
  .section-introduction .block-introduction {
    background: white; }
    @media only screen and (min-width: 768px) {
      .section-introduction .block-introduction {
        margin-top: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-introduction .block-introduction {
        margin-top: clamp(1.25rem, calc(0.13rem + 2.34vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-introduction .block-introduction {
        margin-top: clamp(0.5rem, calc(-0.04rem + 2.68vw), 1.25rem); } }
    @media only screen and (min-width: 768px) {
      .section-introduction .block-introduction {
        padding: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-introduction .block-introduction {
        padding: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-introduction .block-introduction {
        padding: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
    @media only screen and (min-width: 768px) {
      .section-introduction .block-introduction {
        border-radius: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-introduction .block-introduction {
        border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-introduction .block-introduction {
        border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    @media only screen and (min-width: 768px) {
      .section-introduction .block-introduction .gallery h3 {
        font-size: 1.9rem; } }
    @media only screen and (max-width: 1200px) {
      .section-introduction .block-introduction .gallery h3 {
        font-size: clamp(1.15rem, calc(0.02rem + 2.34vw), 1.9rem); } }
    @media only screen and (max-width: 767px) {
      .section-introduction .block-introduction .gallery h3 {
        font-size: clamp(1.25rem, calc(0.89rem + 1.79vw), 1.75rem); } }
    @media only screen and (min-width: 768px) {
      .section-introduction .block-introduction .text h3 {
        font-size: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-introduction .block-introduction .text h3 {
        font-size: clamp(1.4rem, calc(0.50rem + 1.88vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-introduction .block-introduction .text h3 {
        font-size: clamp(1.25rem, calc(0.89rem + 1.79vw), 1.75rem); } }
    .section-introduction .block-introduction .text .dt {
      width: 100%;
      font-weight: 600; }
      @media only screen and (min-width: 768px) {
        .section-introduction .block-introduction .text .dt {
          gap: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-introduction .block-introduction .text .dt {
          gap: 1rem; } }
      @media only screen and (max-width: 767px) {
        .section-introduction .block-introduction .text .dt {
          flex-direction: column;
          gap: 0; } }
      .section-introduction .block-introduction .text .dt > * {
        display: flex;
        align-items: center;
        align-self: stretch; }
        @media only screen and (min-width: 768px) {
          .section-introduction .block-introduction .text .dt > * {
            font-size: 2.25rem; } }
        @media only screen and (max-width: 1200px) {
          .section-introduction .block-introduction .text .dt > * {
            font-size: clamp(1.4rem, calc(0.13rem + 2.66vw), 2.25rem); } }
        @media only screen and (max-width: 767px) {
          .section-introduction .block-introduction .text .dt > * {
            font-size: clamp(1.125rem, calc(0.32rem + 4.02vw), 2.25rem); } }
      .section-introduction .block-introduction .text .dt .dl {
        justify-content: flex-end; }
        @media only screen and (max-width: 767px) {
          .section-introduction .block-introduction .text .dt .dl {
            justify-content: center; } }
      .section-introduction .block-introduction .text .dt .dd {
        justify-content: flex-start;
        align-items: center; }
        @media only screen and (max-width: 767px) {
          .section-introduction .block-introduction .text .dt .dd {
            justify-content: center; } }
        .section-introduction .block-introduction .text .dt .dd .value {
          font-family: Avenir;
          color: #00ab7f; }
          @media only screen and (min-width: 768px) {
            .section-introduction .block-introduction .text .dt .dd .value {
              font-size: 6rem; } }
          @media only screen and (max-width: 1200px) {
            .section-introduction .block-introduction .text .dt .dd .value {
              font-size: clamp(4rem, calc(1.00rem + 6.25vw), 6rem); } }
          @media only screen and (max-width: 767px) {
            .section-introduction .block-introduction .text .dt .dd .value {
              font-size: clamp(3rem, calc(2.29rem + 3.57vw), 4rem); } }
          @media only screen and (min-width: 768px) {
            .section-introduction .block-introduction .text .dt .dd .value {
              padding: 0 .5rem 1rem; } }
          @media only screen and (max-width: 1200px) {
            .section-introduction .block-introduction .text .dt .dd .value {
              padding: 0 clamp(0.25rem, calc(-0.13rem + 0.78vw), 0.5rem) clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
          @media only screen and (max-width: 767px) {
            .section-introduction .block-introduction .text .dt .dd .value {
              padding: 0 clamp(0.125rem, calc(0.04rem + 0.45vw), 0.25rem) clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    .section-introduction .block-introduction .features {
      box-sizing: border-box;
      width: 100%;
      margin: 1rem auto; }
      @media only screen and (min-width: 768px) {
        .section-introduction .block-introduction .features {
          gap: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-introduction .block-introduction .features {
          gap: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-introduction .block-introduction .features {
          gap: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-introduction .block-introduction .features {
          flex-direction: column; } }
      .section-introduction .block-introduction .features p {
        color: white; }
      .section-introduction .block-introduction .features .feature {
        display: flex;
        flex-direction: column;
        flex: 1 1 0px;
        justify-content: center;
        align-items: center;
        background: #00ab7f;
        margin: 0; }
        @media only screen and (min-width: 768px) {
          .section-introduction .block-introduction .features .feature {
            border-radius: 1rem; } }
        @media only screen and (max-width: 1200px) {
          .section-introduction .block-introduction .features .feature {
            border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          .section-introduction .block-introduction .features .feature {
            border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
        @media only screen and (min-width: 768px) {
          .section-introduction .block-introduction .features .feature {
            padding: 1rem 2rem; } }
        @media only screen and (max-width: 1200px) {
          .section-introduction .block-introduction .features .feature {
            padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) clamp(0.5rem, calc(-1.75rem + 4.69vw), 2rem); } }
        @media only screen and (max-width: 767px) {
          .section-introduction .block-introduction .features .feature {
            padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) clamp(0.125rem, calc(-0.50rem + 3.13vw), 1rem); } }
        @media only screen and (min-width: 768px) {
          .section-introduction .block-introduction .features .feature .head {
            font-size: 2rem; } }
        @media only screen and (max-width: 1200px) {
          .section-introduction .block-introduction .features .feature .head {
            font-size: clamp(1.25rem, calc(0.13rem + 2.34vw), 2rem); } }
        @media only screen and (max-width: 767px) {
          .section-introduction .block-introduction .features .feature .head {
            font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
        .section-introduction .block-introduction .features .feature .body {
          font-weight: 600; }
          @media only screen and (min-width: 768px) {
            .section-introduction .block-introduction .features .feature .body {
              font-size: 2.5rem; } }
          @media only screen and (max-width: 1200px) {
            .section-introduction .block-introduction .features .feature .body {
              font-size: clamp(1.5rem, calc(0.00rem + 3.13vw), 2.5rem); } }
          @media only screen and (max-width: 767px) {
            .section-introduction .block-introduction .features .feature .body {
              font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }

.section-problem .block-problem-head {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #333333;
  position: relative; }
  @media only screen and (min-width: 768px) {
    .section-problem .block-problem-head {
      margin: 0; } }
  @media only screen and (max-width: 1200px) {
    .section-problem .block-problem-head {
      margin: 0 calc(-1 * clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem)); } }
  @media only screen and (max-width: 767px) {
    .section-problem .block-problem-head {
      margin: 0 calc(-1 * clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem)); } }
  .section-problem .block-problem-head h2 {
    color: white; }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem-head h2 {
        font-size: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem-head h2 {
        font-size: clamp(1.7rem, calc(1.25rem + 0.94vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem-head h2 {
        font-size: clamp(1.125rem, calc(0.71rem + 2.05vw), 1.7rem); } }
  .section-problem .block-problem-head:after {
    content: "";
    position: absolute;
    box-sizing: content-box;
    bottom: 0;
    transform: translate(0, 100%); }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem-head:after {
        border: 8rem solid transparent; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem-head:after {
        border: clamp(6rem, calc(3.00rem + 6.25vw), 8rem) solid transparent; } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem-head:after {
        border: clamp(4rem, calc(2.57rem + 7.14vw), 6rem) solid transparent; } }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem-head:after {
        border-bottom: 3rem solid transparent; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem-head:after {
        border-bottom: clamp(2rem, calc(0.50rem + 3.13vw), 3rem) solid transparent; } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem-head:after {
        border-bottom: clamp(1.5rem, calc(1.14rem + 1.79vw), 2rem) solid transparent; } }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem-head:after {
        border-top: 3rem solid #333333; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem-head:after {
        border-top: clamp(2rem, calc(0.50rem + 3.13vw), 3rem) solid #333333; } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem-head:after {
        border-top: clamp(1.5rem, calc(1.14rem + 1.79vw), 2rem) solid #333333; } }

.section-problem .block-problem {
  padding: 0; }
  .section-problem .block-problem h3 {
    margin-left: -.5rem;
    margin-right: -.5rem;
    text-align: center;
    justify-content: center;
    text-shadow: 0.25rem 0.25rem 0.5rem white; }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem h3 {
        font-size: 1.75rem; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem h3 {
        font-size: clamp(1.25rem, calc(0.50rem + 1.56vw), 1.75rem); } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem h3 {
        font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
  .section-problem .block-problem h4 {
    margin-left: -1rem;
    margin-right: -1rem;
    text-align: center;
    justify-content: center; }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem h4 {
        font-size: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem h4 {
        font-size: clamp(1.25rem, calc(0.13rem + 2.34vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem h4 {
        font-size: clamp(1rem, calc(0.46rem + 2.68vw), 1.75rem); } }
  @media only screen and (min-width: 768px) {
    .section-problem .block-problem .gallery {
      gap: 2rem; } }
  @media only screen and (max-width: 1200px) {
    .section-problem .block-problem .gallery {
      gap: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    .section-problem .block-problem .gallery {
      gap: clamp(1rem, calc(0.29rem + 3.57vw), 2rem); } }
  @media only screen and (min-width: 768px) {
    .section-problem .block-problem .gallery {
      padding: 0 2rem; } }
  @media only screen and (max-width: 1200px) {
    .section-problem .block-problem .gallery {
      padding: 0 clamp(0.1rem, calc(-2.75rem + 5.94vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    .section-problem .block-problem .gallery {
      padding: 0 clamp(0.5rem, calc(-2.00rem + 12.50vw), 4rem); } }
  .section-problem .block-problem img {
    box-shadow: none; }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem img {
        border-radius: .75rem .75rem 0 0; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem img {
        border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem) clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem) 0 0; } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem img {
        border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem) clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem) 0 0; } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem img {
        width: 100%; } }
  .section-problem .block-problem .part {
    background: whitesmoke;
    box-shadow: 0.25rem 0.25rem 0.25rem rgba(0, 0, 0, 0.25); }
    @media only screen and (min-width: 768px) {
      .section-problem .block-problem .part {
        border-radius: .75rem; } }
    @media only screen and (max-width: 1200px) {
      .section-problem .block-problem .part {
        border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem .part {
        border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-problem .block-problem .part {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; } }
    .section-problem .block-problem .part .textarea {
      box-sizing: border-box; }
      @media only screen and (min-width: 768px) {
        .section-problem .block-problem .part .textarea {
          padding: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-problem .block-problem .part .textarea {
          padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-problem .block-problem .part .textarea {
          padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }

.section-information {
  background: linear-gradient(to right, #ff8f0d 30%, #ff644d 100%); }
  @media only screen and (min-width: 768px) {
    .section-information {
      padding-left: 1rem;
      padding-right: 1rem; } }
  .section-information.section {
    margin-bottom: 0;
    padding-bottom: 0; }
  .section-information .caption {
    color: white; }
  .section-information .headline h3 {
    justify-content: center;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      .section-information .headline h3 {
        padding: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-information .headline h3 {
        padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-information .headline h3 {
        padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    @media only screen and (min-width: 768px) {
      .section-information .headline h3 {
        font-size: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-information .headline h3 {
        font-size: clamp(1.75rem, calc(1.38rem + 0.78vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-information .headline h3 {
        font-size: clamp(1.5rem, calc(1.32rem + 0.89vw), 1.75rem); } }
  @media only screen and (min-width: 768px) {
    .section-information .radius-top {
      border-radius: 1rem 1rem 0 0; } }
  @media only screen and (max-width: 1200px) {
    .section-information .radius-top {
      border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0 0; } }
  @media only screen and (max-width: 767px) {
    .section-information .radius-top {
      border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0 0; } }
  @media only screen and (min-width: 768px) {
    .section-information .radius-bottom {
      border-radius: 0 0 1rem 1rem; } }
  @media only screen and (max-width: 1200px) {
    .section-information .radius-bottom {
      border-radius: 0 0 clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section-information .radius-bottom {
      border-radius: 0 0 clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
  .section-information .block-information {
    background: white;
    counter-reset: part-counter; }
    @media only screen and (min-width: 768px) {
      .section-information .block-information {
        margin-top: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-information .block-information {
        margin-top: clamp(1.25rem, calc(0.13rem + 2.34vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-information .block-information {
        margin-top: clamp(0.5rem, calc(-0.04rem + 2.68vw), 1.25rem); } }
    @media only screen and (min-width: 768px) {
      .section-information .block-information {
        padding: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-information .block-information {
        padding: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-information .block-information {
        padding: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
    .section-information .block-information .headline h3 {
      display: inline-block;
      text-align: center;
      margin-left: auto;
      margin-right: auto; }
      @media only screen and (min-width: 768px) {
        .section-information .block-information .headline h3 {
          font-size: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-information .block-information .headline h3 {
          font-size: clamp(1.75rem, calc(1.38rem + 0.78vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-information .block-information .headline h3 {
          font-size: clamp(1.5rem, calc(1.32rem + 0.89vw), 1.75rem); } }
    .section-information .block-information .headline.caption {
      color: black; }
    @media only screen and (min-width: 768px) {
      .section-information .block-information .headline.padding-top {
        padding-top: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-information .block-information .headline.padding-top {
        padding-top: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-information .block-information .headline.padding-top {
        padding-top: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    @media only screen and (min-width: 768px) {
      .section-information .block-information .headline.border-top {
        margin-top: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-information .block-information .headline.border-top {
        margin-top: clamp(1.75rem, calc(1.38rem + 0.78vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-information .block-information .headline.border-top {
        margin-top: clamp(1.5rem, calc(1.32rem + 0.89vw), 1.75rem); } }
    @media only screen and (min-width: 768px) {
      .section-information .block-information .headline.border-top {
        border-top: .25rem solid dimgray; } }
    @media only screen and (max-width: 1200px) {
      .section-information .block-information .headline.border-top {
        border-top: clamp(0.125rem, calc(-0.06rem + 0.39vw), 0.25rem) solid dimgray; } }
    @media only screen and (max-width: 767px) {
      .section-information .block-information .headline.border-top {
        border-top: clamp(0.1rem, calc(0.08rem + 0.09vw), 0.125rem) solid dimgray; } }
    @media only screen and (min-width: 768px) {
      .section-information .block-information .headline.border-bottom {
        border-bottom: .25rem solid dimgray; } }
    @media only screen and (max-width: 1200px) {
      .section-information .block-information .headline.border-bottom {
        border-bottom: clamp(0.125rem, calc(-0.06rem + 0.39vw), 0.25rem) solid dimgray; } }
    @media only screen and (max-width: 767px) {
      .section-information .block-information .headline.border-bottom {
        border-bottom: clamp(0.1rem, calc(0.08rem + 0.09vw), 0.125rem) solid dimgray; } }
    @media only screen and (min-width: 768px) {
      .section-information .block-information .headline.margin-bottom {
        margin-bottom: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-information .block-information .headline.margin-bottom {
        margin-bottom: clamp(1.75rem, calc(1.38rem + 0.78vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-information .block-information .headline.margin-bottom {
        margin-bottom: clamp(1.5rem, calc(1.32rem + 0.89vw), 1.75rem); } }
    .section-information .block-information .gallery em {
      color: #00ab7f; }
    .section-information .block-information .gallery .part {
      counter-increment: part-counter;
      position: relative; }
    .section-information .block-information .description {
      display: block;
      text-align: center; }
    .section-information .block-information .capsule {
      background: #ffac7e;
      color: black;
      margin-left: auto;
      margin-right: auto;
      width: auto;
      padding: .25em .75em .4em; }
      @media only screen and (min-width: 768px) {
        .section-information .block-information .capsule {
          font-size: 1.75rem; } }
      @media only screen and (max-width: 1200px) {
        .section-information .block-information .capsule {
          font-size: clamp(1.5rem, calc(1.13rem + 0.78vw), 1.75rem); } }
      @media only screen and (max-width: 767px) {
        .section-information .block-information .capsule {
          font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
    .section-information .block-information h3 {
      display: inline-block;
      text-align: center;
      margin-left: auto;
      margin-right: auto; }
      @media only screen and (min-width: 768px) {
        .section-information .block-information h3 {
          font-size: 1.75rem; } }
      @media only screen and (max-width: 1200px) {
        .section-information .block-information h3 {
          font-size: clamp(1.3rem, calc(0.63rem + 1.41vw), 1.75rem); } }
      @media only screen and (max-width: 767px) {
        .section-information .block-information h3 {
          font-size: clamp(1.25rem, calc(0.89rem + 1.79vw), 1.75rem); } }
    .section-information .block-information .textarea {
      text-align: center; }
      .section-information .block-information .textarea p {
        text-align: justify; }
    .section-information .block-information .text .textarea {
      text-align: center; }
      .section-information .block-information .text .textarea p {
        text-align: center;
        font-weight: 600; }
        @media only screen and (min-width: 768px) {
          .section-information .block-information .text .textarea p {
            font-size: 2rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information .text .textarea p {
            font-size: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information .text .textarea p {
            font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
        .section-information .block-information .text .textarea p.note {
          font-weight: 400; }
          @media only screen and (min-width: 768px) {
            .section-information .block-information .text .textarea p.note {
              font-size: 1.25rem; } }
          @media only screen and (max-width: 1200px) {
            .section-information .block-information .text .textarea p.note {
              font-size: clamp(1.125rem, calc(0.94rem + 0.39vw), 1.25rem); } }
          @media only screen and (max-width: 767px) {
            .section-information .block-information .text .textarea p.note {
              font-size: clamp(0.9rem, calc(0.74rem + 0.80vw), 1.125rem); } }
    .section-information .block-information .infographic {
      counter-increment: part-counter;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .section-information .block-information .infographic {
          width: 80%;
          margin-left: auto;
          margin-right: auto; } }
      .section-information .block-information .infographic h3 {
        display: inline-block;
        text-align: center;
        margin-left: auto;
        margin-right: auto; }
        @media only screen and (min-width: 768px) {
          .section-information .block-information .infographic h3 {
            font-size: 1.75rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information .infographic h3 {
            font-size: clamp(1.35rem, calc(0.75rem + 1.25vw), 1.75rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information .infographic h3 {
            font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
      .section-information .block-information .infographic.infographic-1-2 .image {
        flex: 1 1 0px; }
      .section-information .block-information .infographic.infographic-1-2 .textarea {
        flex: 2 1 0px; }
      .section-information .block-information .infographic .extend {
        position: relative;
        text-align: right; }
        .section-information .block-information .infographic .extend img {
          position: absolute;
          aspect-ratio: unset;
          box-shadow: none;
          right: 0;
          transform: translate(0, -100%);
          height: auto; }
      .section-information .block-information .infographic.images {
        position: relative; }
        .section-information .block-information .infographic.images img {
          width: 80%; }
        .section-information .block-information .infographic.images .extend picture:after {
          display: none; }
        .section-information .block-information .infographic.images .extend picture:before {
          display: none; }
        .section-information .block-information .infographic.images .extend picture img {
          height: auto; }
          @media only screen and (min-width: 768px) {
            .section-information .block-information .infographic.images .extend picture img.router {
              width: 15rem; } }
          @media only screen and (max-width: 1200px) {
            .section-information .block-information .infographic.images .extend picture img.router {
              width: clamp(8rem, calc(-2.50rem + 21.88vw), 15rem); } }
          @media only screen and (max-width: 767px) {
            .section-information .block-information .infographic.images .extend picture img.router {
              width: clamp(6rem, calc(-0.43rem + 32.14vw), 15rem); } }
          .section-information .block-information .infographic.images .extend picture img.access-point {
            transform: translate(-75%, -100%) rotate(25deg); }
            @media only screen and (min-width: 768px) {
              .section-information .block-information .infographic.images .extend picture img.access-point {
                width: 8rem; } }
            @media only screen and (max-width: 1200px) {
              .section-information .block-information .infographic.images .extend picture img.access-point {
                width: clamp(4rem, calc(-2.00rem + 12.50vw), 8rem); } }
            @media only screen and (max-width: 767px) {
              .section-information .block-information .infographic.images .extend picture img.access-point {
                width: clamp(3rem, calc(-0.57rem + 17.86vw), 8rem); } }
    .section-information .block-information picture {
      position: relative; }
      .section-information .block-information picture:before {
        background: #00ab7f;
        border-radius: 50%;
        color: white;
        font-family: Avenir;
        position: absolute;
        content: "POINT";
        line-height: 3;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        white-space: pre;
        font-weight: bold; }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:before {
            width: 7rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:before {
            width: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:before {
            width: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:before {
            height: 7rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:before {
            height: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:before {
            height: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:before {
            font-size: 1.25rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:before {
            font-size: clamp(1rem, calc(0.63rem + 0.78vw), 1.25rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:before {
            font-size: clamp(0.8rem, calc(0.66rem + 0.71vw), 1rem); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:before {
            top: calc(-1 * 1rem); } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:before {
            top: calc(-1 * clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem)); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:before {
            top: calc(-1 * clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem)); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:before {
            left: calc(-1 * 1rem); } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:before {
            left: calc(-1 * clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem)); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:before {
            left: 0; } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:before {
            line-height: 2.7; } }
      .section-information .block-information picture:after {
        color: white;
        font-family: Avenir;
        position: absolute;
        line-height: 3;
        content: counter(part-counter, decimal-leading-zero);
        display: flex;
        justify-content: center;
        align-items: flex-start;
        font-weight: bold; }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:after {
            width: 7rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:after {
            width: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:after {
            width: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:after {
            height: 7rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:after {
            height: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:after {
            height: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:after {
            font-size: 3rem; } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:after {
            font-size: clamp(2rem, calc(0.50rem + 3.13vw), 3rem); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:after {
            font-size: clamp(1.25rem, calc(0.71rem + 2.68vw), 2rem); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:after {
            top: calc(-1 * 1rem); } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:after {
            top: calc(-1 * clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem)); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:after {
            top: calc(-1 * clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem)); } }
        @media only screen and (min-width: 768px) {
          .section-information .block-information picture:after {
            left: calc(-1 * 1rem); } }
        @media only screen and (max-width: 1200px) {
          .section-information .block-information picture:after {
            left: calc(-1 * clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem)); } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:after {
            left: 0; } }
        @media only screen and (max-width: 767px) {
          .section-information .block-information picture:after {
            line-height: 3.3; } }
    .section-information .block-information .flags {
      display: flex; }
      @media only screen and (min-width: 768px) {
        .section-information .block-information .flags {
          margin-top: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-information .block-information .flags {
          margin-top: .75rem; } }
      @media only screen and (max-width: 767px) {
        .section-information .block-information .flags {
          margin-top: .5rem; } }
      @media only screen and (min-width: 768px) {
        .section-information .block-information .flags {
          gap: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-information .block-information .flags {
          gap: .75rem; } }
      @media only screen and (max-width: 767px) {
        .section-information .block-information .flags {
          gap: .5rem; } }
      .section-information .block-information .flags .flag svg .st0 {
        filter: drop-shadow(0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.25)); }

.section-0.section {
  margin-top: 0;
  padding-top: 0;
  margin-bottom: 0;
  padding-bottom: 0; }
  .section-0.section .block {
    margin-top: 0;
    padding-top: 0; }
    @media only screen and (min-width: 768px) {
      .section-0.section .block {
        margin: 0; } }

.section-1200.section {
  gap: 0; }
  @media only screen and (min-width: 768px) {
    .section-1200.section {
      padding: 0 calc((100% - 1200px) / 2 - 2rem); } }
  @media only screen and (max-width: 767px) {
    .section-1200.section {
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    .section-1200.section .gallery {
      margin-top: 1rem; } }
  @media only screen and (max-width: 1200px) {
    .section-1200.section .gallery {
      margin-top: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section-1200.section .gallery {
      margin-top: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
  @media only screen and (min-width: 768px) {
    .section-1200.section .gallery {
      margin-top: 2rem; } }
  @media only screen and (max-width: 1200px) {
    .section-1200.section .gallery {
      margin-top: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    .section-1200.section .gallery {
      margin-top: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
  .section-1200.section .block {
    flex: 1 1 0px;
    box-sizing: content-box;
    position: relative; }
    @media only screen and (max-width: 1200px) {
      .section-1200.section .block:first-child {
        margin-left: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block:first-child {
        margin: 0; } }
    .section-1200.section .block:last-child {
      border-right: none; }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block:last-child {
          margin-right: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block:last-child {
          margin: 0; } }
    @media only screen and (max-width: 1200px) {
      .section-1200.section .block {
        min-width: unset; } }
    @media only screen and (min-width: 768px) {
      .section-1200.section .block {
        margin: 0; } }
    @media only screen and (min-width: 768px) {
      .section-1200.section .block {
        padding: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-1200.section .block {
        padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block {
        padding: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block {
        box-sizing: border-box; } }
    .section-1200.section .block.border-right {
      border-right: 1px solid gray; }
    .section-1200.section .block picture:before {
      display: none; }
    .section-1200.section .block picture:after {
      display: none; }
    @media only screen and (max-width: 1200px) {
      .section-1200.section .block.block-merit-01 {
        margin-left: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block.block-merit-01 {
        border: none; } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block.block-merit-01 {
        margin: 0; } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block.block-merit-01:after {
        display: inline-block;
        content: "";
        width: 100%;
        height: 0;
        border-bottom: 1px solid gray; } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block.block-merit-02:after {
        display: inline-block;
        content: "";
        width: 100%;
        height: 0;
        border-bottom: 1px solid gray; } }
    .section-1200.section .block.block-merit-03 {
      border-right: none; }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block.block-merit-03 {
          margin-right: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block.block-merit-03 {
          border: none; } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block.block-merit-03 {
          margin: 0; } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block {
        border: none; } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block {
        margin: 0; } }
    .section-1200.section .block img {
      width: 80%;
      object-fit: contain;
      border: .5rem solid whitesmoke;
      background: whitesmoke; }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block img {
          width: 50%; } }
    .section-1200.section .block .caption {
      color: #00ab7f; }
      @media only screen and (min-width: 768px) {
        .section-1200.section .block .caption {
          font-size: 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block .caption {
          font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block .caption {
          font-size: clamp(1.125rem, calc(1.04rem + 0.45vw), 1.25rem); } }
    .section-1200.section .block h4 {
      text-align: center;
      justify-content: center; }
      @media only screen and (min-width: 768px) {
        .section-1200.section .block h4 {
          font-size: 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block h4 {
          font-size: clamp(1.2rem, calc(0.75rem + 0.94vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block h4 {
          font-size: clamp(1.125rem, calc(1.04rem + 0.45vw), 1.25rem); } }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block h4 {
          margin-left: -1rem;
          margin-right: -1rem; } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block h4 {
          margin-left: -1rem;
          margin-right: -1rem; } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block {
        width: 100% !important; } }
  .section-1200.section .block-small h3 {
    margin-bottom: 0; }
    @media only screen and (min-width: 768px) {
      .section-1200.section .block-small h3 {
        font-size: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-1200.section .block-small h3 {
        font-size: clamp(1.35rem, calc(0.38rem + 2.03vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block-small h3 {
        font-size: clamp(1.5rem, calc(1.32rem + 0.89vw), 1.75rem); } }
    @media only screen and (max-width: 1200px) {
      .section-1200.section .block-small h3 {
        margin-left: -1rem;
        margin-right: -1rem;
        width: calc(100% + 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block-small h3 {
        margin-left: -1rem;
        margin-right: -1rem;
        width: calc(100% + 2rem); } }
  .section-1200.section.section-support {
    position: relarive; }
  .section-1200.section .block-support {
    flex: 1 1 0px;
    width: 34%;
    flex-direction: column;
    border: none; }
    @media only screen and (max-width: 767px) {
      .section-1200.section .block-support {
        margin: 0; } }
    .section-1200.section .block-support .caption {
      text-align: left;
      justify-content: flex-start; }
    .section-1200.section .block-support.supports h3 {
      text-align: justify;
      margin: 0; }
    .section-1200.section .block-support.supports img {
      aspect-ratio: unset;
      background: white;
      border: 1rem solid white; }
    .section-1200.section .block-support.supports .infographic {
      align-self: stretch;
      width: auto;
      background: whitesmoke;
      border-bottom: 0 !important;
      margin: 0; }
      @media only screen and (min-width: 768px) {
        .section-1200.section .block-support.supports .infographic {
          gap: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block-support.supports .infographic {
          gap: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block-support.supports .infographic {
          gap: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
      @media only screen and (min-width: 768px) {
        .section-1200.section .block-support.supports .infographic {
          border: 2rem solid whitesmoke; } }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block-support.supports .infographic {
          border: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem) solid whitesmoke; } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block-support.supports .infographic {
          border: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem) solid whitesmoke; } }
      .section-1200.section .block-support.supports .infographic .textarea {
        border: none; }
    .section-1200.section .block-support.supports .textarea {
      box-sizing: border-box;
      background: whitesmoke;
      text-align: justify;
      justify-content: flex-start; }
      @media only screen and (min-width: 768px) {
        .section-1200.section .block-support.supports .textarea {
          border: 2rem solid whitesmoke; } }
      @media only screen and (max-width: 1200px) {
        .section-1200.section .block-support.supports .textarea {
          border: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem) solid whitesmoke; } }
      @media only screen and (max-width: 767px) {
        .section-1200.section .block-support.supports .textarea {
          border: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem) solid whitesmoke; } }
    .section-1200.section .block-support.supports .image {
      flex: 1 1 0px; }
    .section-1200.section .block-support.supports .textarea {
      flex: 2 1 0px; }

@media only screen and (min-width: 768px) {
  .section-other.section {
    padding-bottom: 2rem; } }

@media only screen and (max-width: 1200px) {
  .section-other.section {
    padding-bottom: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }

@media only screen and (max-width: 767px) {
  .section-other.section {
    padding-bottom: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }

.section-other .block-other {
  margin-top: 0; }
  @media only screen and (min-width: 768px) {
    .section-other .block-other .flex {
      gap: 4rem; } }
  @media only screen and (max-width: 1200px) {
    .section-other .block-other .flex {
      gap: clamp(3rem, calc(1.50rem + 3.13vw), 4rem); } }
  @media only screen and (max-width: 767px) {
    .section-other .block-other .flex {
      gap: 1rem; } }
  .section-other .block-other .flex p {
    background: linear-gradient(to right, #ff8f0d 30%, #ff644d 100%);
    color: white; }
    @media only screen and (min-width: 768px) {
      .section-other .block-other .flex p {
        padding: 1rem 0; } }
    @media only screen and (max-width: 1200px) {
      .section-other .block-other .flex p {
        padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0; } }
    @media only screen and (max-width: 767px) {
      .section-other .block-other .flex p {
        padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0; } }
    @media only screen and (min-width: 768px) {
      .section-other .block-other .flex p {
        border-radius: .75rem; } }
    @media only screen and (max-width: 1200px) {
      .section-other .block-other .flex p {
        border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
    @media only screen and (max-width: 767px) {
      .section-other .block-other .flex p {
        border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }

.section-contactus-link {
  background: linear-gradient(to right, rgba(0, 128, 255, 0.6), rgba(0, 128, 255, 0.4)), url("/wp-content/uploads/background-contactus.webp") no-repeat 45% 35%;
  background: url("/wp-content/uploads/background-contactus.webp") no-repeat center; }
  @media only screen and (min-width: 768px) {
    .section-contactus-link {
      padding: 2rem 0; } }
  @media only screen and (max-width: 1200px) {
    .section-contactus-link {
      padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem) 0; } }
  @media only screen and (max-width: 767px) {
    .section-contactus-link {
      padding: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem) 0; } }
  .section-contactus-link.section {
    margin: 0;
    padding: 0; }
  @media only screen and (max-width: 767px) {
    .section-contactus-link {
      background-position: 35% 30%; } }
  @media only screen and (min-width: 768px) {
    .section-contactus-link {
      background-size: cover; } }
  @media only screen and (max-width: 1200px) {
    .section-contactus-link {
      background-size: 1920px auto; } }
  @media only screen and (max-width: 767px) {
    .section-contactus-link {
      background-size: 1920px auto; } }
  .section-contactus-link .block-contactus-link {
    color: black; }
    @media only screen and (min-width: 768px) {
      .section-contactus-link .block-contactus-link {
        padding: 2rem 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-contactus-link .block-contactus-link {
        padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem) 1rem; } }
    @media only screen and (max-width: 767px) {
      .section-contactus-link .block-contactus-link {
        padding: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem) 1rem; } }
    .section-contactus-link .block-contactus-link .catch {
      color: black;
      text-align: center;
      font-weight: 600; }
      @media only screen and (min-width: 768px) {
        .section-contactus-link .block-contactus-link .catch {
          font-size: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-contactus-link .block-contactus-link .catch {
          font-size: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-contactus-link .block-contactus-link .catch {
          font-size: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
    .section-contactus-link .block-contactus-link h2 {
      display: flex;
      justify-content: space-between;
      text-align: center; }
      @media only screen and (min-width: 768px) {
        .section-contactus-link .block-contactus-link h2 {
          margin: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-contactus-link .block-contactus-link h2 {
          margin: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-contactus-link .block-contactus-link h2 {
          margin: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (min-width: 768px) {
        .section-contactus-link .block-contactus-link h2 {
          gap: 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-contactus-link .block-contactus-link h2 {
          gap: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-contactus-link .block-contactus-link h2 {
          gap: clamp(0.75rem, calc(0.39rem + 1.79vw), 1.25rem); } }
      .section-contactus-link .block-contactus-link h2 span:first-child {
        margin-left: auto; }
      .section-contactus-link .block-contactus-link h2 span:last-child {
        margin-right: auto; }
      .section-contactus-link .block-contactus-link h2 svg {
        width: auto;
        fill: #ff743f; }
        @media only screen and (min-width: 768px) {
          .section-contactus-link .block-contactus-link h2 svg {
            height: 4rem; } }
        @media only screen and (max-width: 1200px) {
          .section-contactus-link .block-contactus-link h2 svg {
            height: clamp(3.5rem, calc(2.75rem + 1.56vw), 4rem); } }
        @media only screen and (max-width: 767px) {
          .section-contactus-link .block-contactus-link h2 svg {
            height: clamp(2rem, calc(0.93rem + 5.36vw), 3.5rem); } }
        .section-contactus-link .block-contactus-link h2 svg path {
          fill: #ff743f; }
    .section-contactus-link .block-contactus-link .hollow {
      background: white;
      border-radius: 1rem;
      max-width: calc(768px - 2rem);
      margin: 1rem auto; }
      @media only screen and (min-width: 768px) {
        .section-contactus-link .block-contactus-link .hollow {
          padding: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-contactus-link .block-contactus-link .hollow {
          padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-contactus-link .block-contactus-link .hollow {
          padding: clamp(0.5rem, calc(-0.21rem + 3.57vw), 1.5rem); } }
      .section-contactus-link .block-contactus-link .hollow .head {
        margin-bottom: 1rem; }
        .section-contactus-link .block-contactus-link .hollow .head p {
          color: black;
          text-align: center;
          font-weight: 600; }
          @media only screen and (min-width: 768px) {
            .section-contactus-link .block-contactus-link .hollow .head p {
              font-size: 2rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contactus-link .block-contactus-link .hollow .head p {
              font-size: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
          @media only screen and (max-width: 767px) {
            .section-contactus-link .block-contactus-link .hollow .head p {
              font-size: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
    .section-contactus-link .block-contactus-link .contents {
      color: black;
      display: flex; }
      .section-contactus-link .block-contactus-link .contents .phone {
        flex: 1 1 0px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center; }
        .section-contactus-link .block-contactus-link .contents .phone p {
          display: flex;
          justify-content: center;
          align-items: center; }
          .section-contactus-link .block-contactus-link .contents .phone p a {
            display: flex;
            align-items: center;
            font-family: Avenir;
            font-weight: 800;
            color: black; }
            @media only screen and (min-width: 768px) {
              .section-contactus-link .block-contactus-link .contents .phone p a {
                font-size: 3rem; } }
            @media only screen and (max-width: 1200px) {
              .section-contactus-link .block-contactus-link .contents .phone p a {
                font-size: clamp(2.5rem, calc(1.75rem + 1.56vw), 3rem); } }
            @media only screen and (max-width: 767px) {
              .section-contactus-link .block-contactus-link .contents .phone p a {
                font-size: clamp(1rem, calc(-0.07rem + 5.36vw), 2.5rem); } }
            .section-contactus-link .block-contactus-link .contents .phone p a .icon {
              display: flex;
              align-items: center; }
              @media only screen and (min-width: 768px) {
                .section-contactus-link .block-contactus-link .contents .phone p a .icon {
                  margin: 0 .5rem 0 0; } }
              @media only screen and (max-width: 1200px) {
                .section-contactus-link .block-contactus-link .contents .phone p a .icon {
                  margin: 0 .25rem 0 0; } }
              @media only screen and (max-width: 767px) {
                .section-contactus-link .block-contactus-link .contents .phone p a .icon {
                  margin: 0 .125rem 0 0; } }
              .section-contactus-link .block-contactus-link .contents .phone p a .icon svg {
                height: auto;
                fill: black; }
                @media only screen and (min-width: 768px) {
                  .section-contactus-link .block-contactus-link .contents .phone p a .icon svg {
                    width: 2.5rem; } }
                @media only screen and (max-width: 1200px) {
                  .section-contactus-link .block-contactus-link .contents .phone p a .icon svg {
                    width: clamp(1.75rem, calc(0.63rem + 2.34vw), 2.5rem); } }
                @media only screen and (max-width: 767px) {
                  .section-contactus-link .block-contactus-link .contents .phone p a .icon svg {
                    width: clamp(0.8rem, calc(0.12rem + 3.39vw), 1.75rem); } }
                .section-contactus-link .block-contactus-link .contents .phone p a .icon svg path {
                  fill: black; }
        .section-contactus-link .block-contactus-link .contents .phone .available-time {
          display: flex;
          align-items: center; }
          @media only screen and (max-width: 767px) {
            .section-contactus-link .block-contactus-link .contents .phone .available-time {
              flex-direction: column;
              margin-top: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
          @media only screen and (min-width: 768px) {
            .section-contactus-link .block-contactus-link .contents .phone .available-time {
              gap: 1rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contactus-link .block-contactus-link .contents .phone .available-time {
              gap: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
          @media only screen and (max-width: 767px) {
            .section-contactus-link .block-contactus-link .contents .phone .available-time {
              gap: 0; } }
          @media only screen and (min-width: 768px) {
            .section-contactus-link .block-contactus-link .contents .phone .available-time {
              font-size: 1.25rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contactus-link .block-contactus-link .contents .phone .available-time {
              font-size: clamp(1.125rem, calc(0.94rem + 0.39vw), 1.25rem); } }
          @media only screen and (max-width: 767px) {
            .section-contactus-link .block-contactus-link .contents .phone .available-time {
              font-size: clamp(1rem, calc(0.91rem + 0.45vw), 1.125rem); } }
      .section-contactus-link .block-contactus-link .contents .requests {
        flex: 1 1 0px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center; }
        .section-contactus-link .block-contactus-link .contents .requests p {
          display: flex;
          justify-content: center;
          align-items: center; }
        @media only screen and (min-width: 768px) {
          .section-contactus-link .block-contactus-link .contents .requests .available-24 {
            font-size: 1.25rem; } }
        @media only screen and (max-width: 1200px) {
          .section-contactus-link .block-contactus-link .contents .requests .available-24 {
            font-size: clamp(1.125rem, calc(0.94rem + 0.39vw), 1.25rem); } }
        @media only screen and (max-width: 767px) {
          .section-contactus-link .block-contactus-link .contents .requests .available-24 {
            font-size: clamp(1rem, calc(0.91rem + 0.45vw), 1.125rem); } }
        .section-contactus-link .block-contactus-link .contents .requests .button {
          margin-top: .5rem;
          color: white;
          display: flex;
          align-items: center;
          border-radius: .25rem;
          background: linear-gradient(to right, #00ac7e 30%, #00a385 100%);
          width: max-content;
          justify-content: flex-start;
          text-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.5); }
          @media only screen and (min-width: 768px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              font-size: 1.5rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              font-size: clamp(1.125rem, calc(0.56rem + 1.17vw), 1.5rem); } }
          @media only screen and (max-width: 767px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              font-size: clamp(0.8rem, calc(0.57rem + 1.16vw), 1.125rem); } }
          @media only screen and (min-width: 768px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              gap: 1rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              gap: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem); } }
          @media only screen and (max-width: 767px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              gap: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
          @media only screen and (min-width: 768px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              padding: 1rem 2rem 1.25rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) clamp(0.5rem cs, 2rem) clamp(1rem, calc(0.63rem + 0.78vw), 1.25rem); } }
          @media only screen and (max-width: 767px) {
            .section-contactus-link .block-contactus-link .contents .requests .button {
              padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem) clamp(0.75rem, calc(0.57rem + 0.89vw), 1rem); } }
        .section-contactus-link .block-contactus-link .contents .requests svg {
          fill: white;
          filter: drop-shadow(0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.5)); }
          .section-contactus-link .block-contactus-link .contents .requests svg path {
            fill: white; }

.section-contact-form {
  background: linear-gradient(to right, #ff8f0d 30%, #ff644d 100%); }
  .section-contact-form .block-contact-form {
    background: white; }
    @media only screen and (min-width: 768px) {
      .section-contact-form .block-contact-form {
        border-radius: 1.5rem; } }
    @media only screen and (max-width: 1200px) {
      .section-contact-form .block-contact-form {
        border-radius: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-contact-form .block-contact-form {
        border-radius: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
    @media only screen and (min-width: 768px) {
      .section-contact-form .block-contact-form {
        padding: 2.5rem 2rem 2.5rem 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-contact-form .block-contact-form {
        padding: clamp(2rem, calc(1.25rem + 1.56vw), 2.5rem) clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-contact-form .block-contact-form {
        padding: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem) clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
    .section-contact-form .block-contact-form .caption {
      color: black; }
    .section-contact-form .block-contact-form .head h2 {
      align-items: center;
      text-align: center;
      font-weight: 600;
      justify-content: center; }
      @media only screen and (min-width: 768px) {
        .section-contact-form .block-contact-form .head h2 {
          font-size: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-contact-form .block-contact-form .head h2 {
          font-size: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-contact-form .block-contact-form .head h2 {
          font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
    .section-contact-form .block-contact-form .fieldset {
      display: flex; }
      @media only screen and (min-width: 768px) {
        .section-contact-form .block-contact-form .fieldset {
          margin: 2rem 0; } }
      @media only screen and (max-width: 1200px) {
        .section-contact-form .block-contact-form .fieldset {
          margin: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem) 0; } }
      @media only screen and (max-width: 767px) {
        .section-contact-form .block-contact-form .fieldset {
          margin: 1rem 0; } }
      .section-contact-form .block-contact-form .fieldset .field {
        flex: 1 1 0px; }
        .section-contact-form .block-contact-form .fieldset .field p {
          text-align: center; }
      .section-contact-form .block-contact-form .fieldset .submit-wrapper p {
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
        position: relative; }
        .section-contact-form .block-contact-form .fieldset .submit-wrapper p:after {
          position: absolute;
          top: 0;
          bottom: 0;
          height: 100%;
          content: "";
          background-color: white;
          mask-image: url(/wp-content/uploads/icon-arrow-right.svg);
          mask-repeat: no-repeat;
          mask-size: contain;
          mask-position: center;
          display: flex;
          align-items: center;
          flex: 1 1 0px; }
          @media only screen and (min-width: 768px) {
            .section-contact-form .block-contact-form .fieldset .submit-wrapper p:after {
              right: 2rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contact-form .block-contact-form .fieldset .submit-wrapper p:after {
              right: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
          @media only screen and (max-width: 767px) {
            .section-contact-form .block-contact-form .fieldset .submit-wrapper p:after {
              right: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
          @media only screen and (min-width: 768px) {
            .section-contact-form .block-contact-form .fieldset .submit-wrapper p:after {
              width: 2rem; } }
          @media only screen and (max-width: 1200px) {
            .section-contact-form .block-contact-form .fieldset .submit-wrapper p:after {
              width: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
          @media only screen and (max-width: 767px) {
            .section-contact-form .block-contact-form .fieldset .submit-wrapper p:after {
              width: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
      .section-contact-form .block-contact-form .fieldset .submit-wrapper input {
        width: auto;
        flex: 1 1 0px;
        margin: 0;
        font-weight: 600;
        background: linear-gradient(to right, #00ac7e 30%, #00a385 100%);
        display: block;
        color: white;
        border: none;
        border-radius: 1rem;
        justify-content: space-between;
        position: relative; }
        @media only screen and (min-width: 768px) {
          .section-contact-form .block-contact-form .fieldset .submit-wrapper input {
            padding: 2rem; } }
        @media only screen and (max-width: 1200px) {
          .section-contact-form .block-contact-form .fieldset .submit-wrapper input {
            padding: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
        @media only screen and (max-width: 767px) {
          .section-contact-form .block-contact-form .fieldset .submit-wrapper input {
            padding: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
      .section-contact-form .block-contact-form .fieldset input, .section-contact-form .block-contact-form .fieldset textarea {
        margin: 0 auto;
        width: calc(100% - 1rem); }
        @media only screen and (min-width: 768px) {
          .section-contact-form .block-contact-form .fieldset input, .section-contact-form .block-contact-form .fieldset textarea {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 1200px) {
          .section-contact-form .block-contact-form .fieldset input, .section-contact-form .block-contact-form .fieldset textarea {
            font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
        @media only screen and (max-width: 767px) {
          .section-contact-form .block-contact-form .fieldset input, .section-contact-form .block-contact-form .fieldset textarea {
            font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
      .section-contact-form .block-contact-form .fieldset textarea {
        min-height: 10rem; }
      .section-contact-form .block-contact-form .fieldset div {
        width: 100%; }
      @media only screen and (max-width: 767px) {
        .section-contact-form .block-contact-form .fieldset {
          flex-direction: column; } }
      @media only screen and (min-width: 768px) {
        .section-contact-form .block-contact-form .fieldset {
          font-size: 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-contact-form .block-contact-form .fieldset {
          font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-contact-form .block-contact-form .fieldset {
          font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
      @media only screen and (min-width: 768px) {
        .section-contact-form .block-contact-form .fieldset .legend {
          width: 18rem; } }
      @media only screen and (max-width: 1200px) {
        .section-contact-form .block-contact-form .fieldset .legend {
          width: clamp(14rem, calc(8.00rem + 12.50vw), 18rem); } }
      @media only screen and (max-width: 767px) {
        .section-contact-form .block-contact-form .fieldset .legend {
          width: 100%; } }
      @media only screen and (max-width: 767px) {
        .section-contact-form .block-contact-form .fieldset .legend {
          margin: 0 0 .25rem 0; } }
    .section-contact-form .block-contact-form .privacy-policy-text {
      display: block; }
      .section-contact-form .block-contact-form .privacy-policy-text h2 {
        font-size: 2rem;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          .section-contact-form .block-contact-form .privacy-policy-text h2 {
            font-size: 1.25rem; } }
      .section-contact-form .block-contact-form .privacy-policy-text p {
        font-weight: 400;
        margin: 1rem 0; }
    .section-contact-form .block-contact-form .privacy-policy-check {
      display: block; }
      .section-contact-form .block-contact-form .privacy-policy-check label {
        display: flex;
        justify-content: center;
        align-items: center; }
        .section-contact-form .block-contact-form .privacy-policy-check label input {
          width: 2rem;
          height: 2rem; }
          @media only screen and (max-width: 767px) {
            .section-contact-form .block-contact-form .privacy-policy-check label input {
              width: 1rem;
              height: 1rem; } }
        .section-contact-form .block-contact-form .privacy-policy-check label span {
          font-size: 1.5rem; }
          @media only screen and (max-width: 767px) {
            .section-contact-form .block-contact-form .privacy-policy-check label span {
              font-size: .9rem; } }

@media only screen and (min-width: 768px) {
  body:not(#home) footer {
    margin: 4rem 0 0; } }

@media only screen and (max-width: 1200px) {
  body:not(#home) footer {
    margin: clamp(3rem, calc(1.50rem + 3.13vw), 4rem) 0 0; } }

@media only screen and (max-width: 767px) {
  body:not(#home) footer {
    margin: clamp(2rem, calc(1.29rem + 3.57vw), 3rem) 0 0; } }

footer .contents {
  background-color: dimgray;
  display: flex; }
  footer .contents summary {
    list-style: none;
    text-align: center;
    cursor: pointer; }
    footer .contents summary:hover {
      color: gray; }
  @media only screen and (min-width: 768px) {
    footer .contents {
      font-size: 1.125rem; } }
  @media only screen and (max-width: 1200px) {
    footer .contents {
      font-size: clamp(1rem, calc(0.81rem + 0.39vw), 1.125rem); } }
  @media only screen and (max-width: 767px) {
    footer .contents {
      font-size: clamp(0.8rem, calc(0.66rem + 0.71vw), 1rem); } }
  footer .contents > div {
    flex: 1 1 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column; }
    @media only screen and (min-width: 768px) {
      footer .contents > div {
        padding: 2rem; } }
    @media only screen and (max-width: 1200px) {
      footer .contents > div {
        padding: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      footer .contents > div {
        padding: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
  footer .contents .company {
    color: white; }
    footer .contents .company .information {
      margin-top: 1rem;
      font-size: .9rem;
      font-weight: 400; }
      footer .contents .company .information a {
        color: white; }
        footer .contents .company .information a:visited {
          color: white; }
        footer .contents .company .information a:hover {
          color: #ffac7e; }
  footer .contents .credit {
    font-family: Outfit; }
    footer .contents .credit p {
      display: flex;
      align-items: center;
      justify-content: center;
      color: white; }
      footer .contents .credit p .circle {
        font-weight: 400;
        border: .5px solid white;
        display: flex;
        line-height: .75;
        align-items: baseline;
        justify-content: center;
        border-radius: 50%; }
        @media only screen and (min-width: 768px) {
          footer .contents .credit p .circle {
            margin-right: .25rem; } }
        @media only screen and (max-width: 1200px) {
          footer .contents .credit p .circle {
            margin-right: clamp(0.125rem, calc(-0.06rem + 0.39vw), 0.25rem); } }
        @media only screen and (max-width: 767px) {
          footer .contents .credit p .circle {
            margin-right: .125rem; } }
        @media only screen and (min-width: 768px) {
          footer .contents .credit p .circle {
            width: 1rem; } }
        @media only screen and (max-width: 1200px) {
          footer .contents .credit p .circle {
            width: clamp(0.9rem, calc(0.75rem + 0.31vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          footer .contents .credit p .circle {
            width: clamp(0.75rem, calc(0.64rem + 0.54vw), 0.9rem); } }
        @media only screen and (min-width: 768px) {
          footer .contents .credit p .circle {
            height: 1rem; } }
        @media only screen and (max-width: 1200px) {
          footer .contents .credit p .circle {
            height: clamp(0.9rem, calc(0.75rem + 0.31vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          footer .contents .credit p .circle {
            height: clamp(0.75rem, calc(0.64rem + 0.54vw), 0.9rem); } }

@media only screen and (min-width: 768px) {
  .section-point .block-point .point-03, .section-point .block-point .point-04 {
    flex: 1 0 51%;
    display: flex;
    align-items: flex-start; } }

@media only screen and (max-width: 1200px) {
  .section-point .block-point .point-03, .section-point .block-point .point-04 {
    flex: 1 0 51%;
    display: flex;
    align-items: flex-start; } }

@media only screen and (max-width: 767px) {
  .section-point .block-point .point-03, .section-point .block-point .point-04 {
    display: block; } }

@media only screen and (min-width: 768px) {
  .section-point .block-point .point-03, .section-point .block-point .point-04 {
    gap: 2rem; } }

@media only screen and (max-width: 1200px) {
  .section-point .block-point .point-03, .section-point .block-point .point-04 {
    gap: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }

@media only screen and (min-width: 768px) {
  .section-point .block-point .point-03 picture, .section-point .block-point .point-04 picture {
    display: flex;
    flex: 1 1 0px; } }

@media only screen and (max-width: 1200px) {
  .section-point .block-point .point-03 picture, .section-point .block-point .point-04 picture {
    display: flex;
    flex: 1 1 0px; } }

@media only screen and (max-width: 767px) {
  .section-point .block-point .point-03 picture, .section-point .block-point .point-04 picture {
    display: contents; } }

@media only screen and (min-width: 768px) {
  .section-point .block-point .point-03 .textarea, .section-point .block-point .point-04 .textarea {
    margin-top: 0;
    flex: 2 1 0px; } }

@media only screen and (max-width: 1200px) {
  .section-point .block-point .point-03 .textarea, .section-point .block-point .point-04 .textarea {
    margin-top: 0;
    flex: 2 1 0px; } }

@media only screen and (max-width: 767px) {
  .section-point .block-point .point-03 .textarea, .section-point .block-point .point-04 .textarea {
    margin-top: .5rem; } }

@media only screen and (min-width: 768px) {
  .section-point .block-point .point-03 h3, .section-point .block-point .point-04 h3 {
    margin-top: 0;
    justify-content: flex-start; } }

@media only screen and (max-width: 1200px) {
  .section-point .block-point .point-03 h3, .section-point .block-point .point-04 h3 {
    margin-top: 0;
    justify-content: flex-start; } }

@media only screen and (max-width: 767px) {
  .section-point .block-point .point-03 h3, .section-point .block-point .point-04 h3 {
    margin-top: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }

.section-point .block-point .gallery {
  counter-reset: part-counter; }
  @media only screen and (min-width: 768px) {
    .section-point .block-point .gallery {
      gap: 2rem; } }
  @media only screen and (max-width: 1200px) {
    .section-point .block-point .gallery {
      gap: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    .section-point .block-point .gallery {
      gap: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
  .section-point .block-point .gallery .part {
    counter-increment: part-counter;
    position: relative;
    background: #ffac7e; }
    @media only screen and (min-width: 768px) {
      .section-point .block-point .gallery .part {
        padding: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-point .block-point .gallery .part {
        padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-point .block-point .gallery .part {
        padding: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
    @media only screen and (min-width: 768px) {
      .section-point .block-point .gallery .part {
        border-radius: .75rem; } }
    @media only screen and (max-width: 1200px) {
      .section-point .block-point .gallery .part {
        border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
    @media only screen and (max-width: 767px) {
      .section-point .block-point .gallery .part {
        border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
    .section-point .block-point .gallery .part::before {
      background: #00ab7f;
      border-radius: 50%;
      color: white;
      font-family: Avenir;
      position: absolute;
      content: "POINT";
      line-height: 3;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      white-space: pre;
      font-weight: bold; }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::before {
          width: 7rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::before {
          width: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::before {
          width: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::before {
          height: 7rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::before {
          height: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::before {
          height: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::before {
          font-size: 1.25rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::before {
          font-size: clamp(1rem, calc(0.63rem + 0.78vw), 1.25rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::before {
          font-size: clamp(0.8rem, calc(0.66rem + 0.71vw), 1rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::before {
          top: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::before {
          top: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::before {
          top: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::before {
          left: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::before {
          left: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::before {
          left: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::before {
          line-height: 2.7; } }
    .section-point .block-point .gallery .part::after {
      color: white;
      font-family: Avenir;
      position: absolute;
      line-height: 3;
      content: counter(part-counter, decimal-leading-zero);
      display: flex;
      justify-content: center;
      align-items: flex-start;
      font-weight: bold; }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::after {
          width: 7rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::after {
          width: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::after {
          width: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::after {
          height: 7rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::after {
          height: clamp(5rem, calc(2.00rem + 6.25vw), 7rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::after {
          height: clamp(3rem, calc(1.57rem + 7.14vw), 5rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::after {
          font-size: 3rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::after {
          font-size: clamp(2rem, calc(0.50rem + 3.13vw), 3rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::after {
          font-size: clamp(1.25rem, calc(0.71rem + 2.68vw), 2rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::after {
          top: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::after {
          top: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::after {
          top: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (min-width: 768px) {
        .section-point .block-point .gallery .part::after {
          left: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-point .block-point .gallery .part::after {
          left: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::after {
          left: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (max-width: 767px) {
        .section-point .block-point .gallery .part::after {
          line-height: 3.3; } }

.section-point .block-point h3 {
  justify-content: center;
  text-align: center; }

.section-specs {
  background: linear-gradient(to right, #00ac7e 30%, #00a385 100%); }
  .section-specs .block-specs {
    background: white; }
    @media only screen and (min-width: 768px) {
      .section-specs .block-specs {
        padding: 2rem 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-specs .block-specs {
        padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem) 1rem; } }
    @media only screen and (max-width: 767px) {
      .section-specs .block-specs {
        padding: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem) 1rem; } }
    @media only screen and (min-width: 768px) {
      .section-specs .block-specs {
        border-radius: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-specs .block-specs {
        border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-specs .block-specs {
        border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    .section-specs .block-specs h3 {
      display: inline-block; }
      @media only screen and (min-width: 768px) {
        .section-specs .block-specs h3 {
          font-size: 1.75rem; } }
      @media only screen and (max-width: 1200px) {
        .section-specs .block-specs h3 {
          font-size: clamp(1.5rem, calc(1.13rem + 0.78vw), 1.75rem); } }
      @media only screen and (max-width: 767px) {
        .section-specs .block-specs h3 {
          font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
      .section-specs .block-specs h3 em {
        color: #00ab7f; }
    .section-specs .block-specs .infographic .image {
      position: relative; }
      .section-specs .block-specs .infographic .image img {
        width: 80%;
        aspect-ratio: unset; }
      .section-specs .block-specs .infographic .image .extend {
        position: absolute;
        bottom: 0;
        right: 0%;
        text-align: right; }
        .section-specs .block-specs .infographic .image .extend img {
          position: absolute;
          width: 30%;
          aspect-ratio: unset;
          box-shadow: none;
          transform: translate(-100%, -100%); }
    .section-specs .block-specs .text {
      background: #ffac7e; }
      @media only screen and (min-width: 768px) {
        .section-specs .block-specs .text h3 {
          font-size: 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-specs .block-specs .text h3 {
          font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-specs .block-specs .text h3 {
          font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
      @media only screen and (max-width: 767px) {
        .section-specs .block-specs .text h3 {
          margin-left: auto;
          margin-right: auto; } }
      @media only screen and (min-width: 768px) {
        .section-specs .block-specs .text {
          padding: 1.5rem 4rem; } }
      @media only screen and (max-width: 1200px) {
        .section-specs .block-specs .text {
          padding: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem) clamp(3rem, calc(1.50rem + 3.13vw), 4rem); } }
      @media only screen and (max-width: 767px) {
        .section-specs .block-specs .text {
          padding: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem) clamp(0.5rem, calc(-1.29rem + 8.93vw), 3rem); } }
      @media only screen and (max-width: 767px) {
        .section-specs .block-specs .text {
          gap: 0; } }

.section-support {
  margin: 0 auto;
  display: flex;
  flex-direction: row; }
  @media only screen and (min-width: 768px) {
    .section-support {
      gap: 2rem; } }
  @media only screen and (max-width: 1200px) {
    .section-support {
      gap: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    .section-support {
      gap: clamp(0.25rem, calc(-0.64rem + 4.46vw), 1.5rem); } }
  @media only screen and (max-width: 767px) {
    .section-support {
      flex-direction: column; } }
  .section-support h2 {
    margin-bottom: 0; }
  .section-support .block-support {
    box-sizing: border-box; }
    .section-support .block-support .text {
      flex-direction: column;
      text-align: center; }
      .section-support .block-support .text .flex {
        justify-content: center;
        align-items: center; }
    .section-support .block-support.other {
      background: #ffac7e; }
      @media only screen and (min-width: 768px) {
        .section-support .block-support.other {
          padding: 2rem 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-support .block-support.other {
          padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem) 1rem; } }
      @media only screen and (max-width: 767px) {
        .section-support .block-support.other {
          padding: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem) 1rem; } }
      @media only screen and (min-width: 768px) {
        .section-support .block-support.other {
          border-radius: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-support .block-support.other {
          border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-support .block-support.other {
          border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      .section-support .block-support.other h3 {
        text-align: center;
        justify-content: center; }
        @media only screen and (min-width: 768px) {
          .section-support .block-support.other h3 {
            font-size: 1.75rem; } }
        @media only screen and (max-width: 1200px) {
          .section-support .block-support.other h3 {
            font-size: clamp(1.5rem, calc(1.13rem + 0.78vw), 1.75rem); } }
        @media only screen and (max-width: 767px) {
          .section-support .block-support.other h3 {
            font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
      @media only screen and (min-width: 768px) {
        .section-support .block-support.other .flex {
          gap: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-support .block-support.other .flex {
          gap: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-support .block-support.other .flex {
          gap: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }
      .section-support .block-support.other .flex p {
        background: linear-gradient(to right, #00ac7e 30%, #00a385 100%);
        font-weight: 600;
        color: white; }
        @media only screen and (min-width: 768px) {
          .section-support .block-support.other .flex p {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 1200px) {
          .section-support .block-support.other .flex p {
            font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
        @media only screen and (max-width: 767px) {
          .section-support .block-support.other .flex p {
            font-size: clamp(1.125rem, calc(1.04rem + 0.45vw), 1.25rem); } }
        @media only screen and (min-width: 768px) {
          .section-support .block-support.other .flex p {
            padding: 1rem; } }
        @media only screen and (max-width: 1200px) {
          .section-support .block-support.other .flex p {
            padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          .section-support .block-support.other .flex p {
            padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
        @media only screen and (min-width: 768px) {
          .section-support .block-support.other .flex p {
            border-radius: .75rem; } }
        @media only screen and (max-width: 1200px) {
          .section-support .block-support.other .flex p {
            border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
        @media only screen and (max-width: 767px) {
          .section-support .block-support.other .flex p {
            border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
  .section-support .block-support-point {
    box-sizing: border-box;
    flex: 1 1 0px;
    min-width: 34%;
    background: #ffac7e; }
    @media only screen and (min-width: 768px) {
      .section-support .block-support-point {
        padding: 2rem 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-support .block-support-point {
        padding: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem) 1rem; } }
    @media only screen and (max-width: 767px) {
      .section-support .block-support-point {
        padding: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem) 1rem; } }
    @media only screen and (min-width: 768px) {
      .section-support .block-support-point {
        border-radius: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-support .block-support-point {
        border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-support .block-support-point {
        border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    .section-support .block-support-point h3 {
      display: inline-block; }
      @media only screen and (min-width: 768px) {
        .section-support .block-support-point h3 {
          font-size: 1.75rem; } }
      @media only screen and (max-width: 1200px) {
        .section-support .block-support-point h3 {
          font-size: clamp(1.5rem, calc(1.13rem + 0.78vw), 1.75rem); } }
      @media only screen and (max-width: 767px) {
        .section-support .block-support-point h3 {
          font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
      .section-support .block-support-point h3 em {
        color: #00ab7f; }
    .section-support .block-support-point h4 {
      text-align: left;
      color: #00ab7f; }
      .section-support .block-support-point h4:before {
        content: "【";
        margin-left: -.5em; }
      .section-support .block-support-point h4:after {
        content: "】"; }
    @media only screen and (min-width: 768px) {
      .section-support .block-support-point .infographic {
        gap: 3rem; } }
    @media only screen and (max-width: 1200px) {
      .section-support .block-support-point .infographic {
        gap: clamp(2rem, calc(0.50rem + 3.13vw), 3rem); } }
    @media only screen and (max-width: 767px) {
      .section-support .block-support-point .infographic {
        gap: 0;
        margin-bottom: clamp(0.25rem, calc(-0.29rem + 2.68vw), 1rem); } }
    .section-support .block-support-point .infographic img {
      aspect-ratio: unset;
      box-sizing: border-box;
      border: 1rem solid white;
      background: white; }
      @media only screen and (max-width: 767px) {
        .section-support .block-support-point .infographic img {
          border: .5rem solid white; } }
    .section-support .block-support-point .infographic .image {
      flex: 2 1 0px; }
      @media only screen and (max-width: 767px) {
        .section-support .block-support-point .infographic .image {
          flex: 1 1 0px; } }
    .section-support .block-support-point .infographic .textarea {
      flex: 3 1 0px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      align-self: stretch; }
      .section-support .block-support-point .infographic .textarea .catch {
        color: #00ab7f; }
        @media only screen and (min-width: 768px) {
          .section-support .block-support-point .infographic .textarea .catch {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 1200px) {
          .section-support .block-support-point .infographic .textarea .catch {
            font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
        @media only screen and (max-width: 767px) {
          .section-support .block-support-point .infographic .textarea .catch {
            font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
      @media only screen and (min-width: 768px) {
        .section-support .block-support-point .infographic .textarea h3 {
          font-size: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-support .block-support-point .infographic .textarea h3 {
          font-size: clamp(1.75rem, calc(1.38rem + 0.78vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-support .block-support-point .infographic .textarea h3 {
          font-size: clamp(1rem, calc(0.46rem + 2.68vw), 1.75rem); } }

.section-plan .block-plan {
  color: black; }
  @media only screen and (min-width: 768px) {
    .section-plan .block-plan h4 {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 1200px) {
    .section-plan .block-plan h4 {
      font-size: clamp(1rem, calc(0.25rem + 1.56vw), 1.5rem); } }
  @media only screen and (max-width: 767px) {
    .section-plan .block-plan h4 {
      font-size: clamp(0.9rem, calc(0.83rem + 0.36vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section-plan .block-plan h4 {
      justify-content: flex-start;
      align-items: center;
      text-align: justify; } }
  @media only screen and (max-width: 767px) {
    .section-plan .block-plan {
      padding-left: 0;
      padding-right: 0; } }
  .section-plan .block-plan .head {
    display: flex;
    justify-content: center;
    align-items: center; }
  .section-plan .block-plan table {
    margin: 0; }
    .section-plan .block-plan table.plan tr:nth-child(2) {
      color: #ff743f;
      font-weight: 600; }
    .section-plan .block-plan table.plan tr:nth-child(even) {
      background: #ffac7e; }
    .section-plan .block-plan table.option tr:nth-child(3) {
      background: #ffac7e; }
    .section-plan .block-plan table tr:first-child {
      background: #00ab7f;
      color: white;
      font-weight: 600;
      font-size: 1.1em;
      padding-left: 0;
      padding-right: 0; }
      .section-plan .block-plan table tr:first-child span {
        font-size: .9em;
        font-weight: 400; }
    .section-plan .block-plan table tr td {
      text-align: center;
      border: 1px solid gainsboro; }
      @media only screen and (min-width: 768px) {
        .section-plan .block-plan table tr td {
          font-size: 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-plan .block-plan table tr td {
          font-size: clamp(1rem, calc(0.25rem + 1.56vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-plan .block-plan table tr td {
          font-size: clamp(0.7rem, calc(0.49rem + 1.07vw), 1rem); } }
      @media only screen and (min-width: 768px) {
        .section-plan .block-plan table tr td {
          padding: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-plan .block-plan table tr td {
          padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-plan .block-plan table tr td {
          padding: clamp(0.125rem, calc(-0.32rem + 2.23vw), 0.75rem); } }
      .section-plan .block-plan table tr td .value {
        font-size: 1.25em; }
  .section-plan .block-plan ul {
    margin-left: 1rem;
    margin-bottom: 0; }
    .section-plan .block-plan ul li {
      text-align: justify;
      list-style-type: disc; }
      @media only screen and (min-width: 768px) {
        .section-plan .block-plan ul li {
          margin: .5rem 0; } }
      @media only screen and (max-width: 1200px) {
        .section-plan .block-plan ul li {
          margin: clamp(0.4rem, calc(0.25rem + 0.31vw), 0.5rem) 0; } }
      @media only screen and (max-width: 767px) {
        .section-plan .block-plan ul li {
          margin: clamp(0.3rem, calc(0.23rem + 0.36vw), 0.4rem) 0; } }

.section-plan .sims {
  background: whitesmoke;
  border: 1px solid gainsboro; }
  .section-plan .sims .capsule {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    background: white; }
    @media only screen and (min-width: 768px) {
      .section-plan .sims .capsule {
        padding: 0 1.5rem; } }
    @media only screen and (max-width: 1200px) {
      .section-plan .sims .capsule {
        padding: 0 clamp(1rem, calc(0.25rem + 1.56vw), 1.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-plan .sims .capsule {
        padding: 0 clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
  @media only screen and (min-width: 768px) {
    .section-plan .sims {
      padding: 1rem; } }
  @media only screen and (max-width: 1200px) {
    .section-plan .sims {
      padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section-plan .sims {
      padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
  .section-plan .sims .flex {
    width: 100%;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .section-plan .sims .flex {
        flex-direction: row; } }
    .section-plan .sims .flex .plan-name {
      flex: 2 1 0px;
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        .section-plan .sims .flex .plan-name {
          flex-grow: 3; } }
      @media only screen and (min-width: 768px) {
        .section-plan .sims .flex .plan-name {
          font-size: 1.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-plan .sims .flex .plan-name {
          font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-plan .sims .flex .plan-name {
          font-size: clamp(0.8rem, calc(0.48rem + 1.61vw), 1.25rem); } }
      .section-plan .sims .flex .plan-name .num {
        color: #00ab7f;
        font-weight: 800;
        font-size: 1.5em;
        padding-right: .125em;
        font-family: Avenir; }
        @media only screen and (max-width: 767px) {
          .section-plan .sims .flex .plan-name .num {
            font-size: 1.25em; } }
    .section-plan .sims .flex .plan-sims {
      display: flex;
      flex: 5 1 0px; }
      @media only screen and (max-width: 767px) {
        .section-plan .sims .flex .plan-sims {
          flex-grow: 4; } }
      @media only screen and (min-width: 768px) {
        .section-plan .sims .flex .plan-sims {
          gap: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-plan .sims .flex .plan-sims {
          gap: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-plan .sims .flex .plan-sims {
          gap: clamp(0.125rem, calc(-0.14rem + 1.34vw), 0.5rem); } }
      .section-plan .sims .flex .plan-sims svg {
        width: auto; }
        @media only screen and (min-width: 768px) {
          .section-plan .sims .flex .plan-sims svg {
            height: 3rem; } }
        @media only screen and (max-width: 1200px) {
          .section-plan .sims .flex .plan-sims svg {
            height: clamp(2.5rem, calc(1.75rem + 1.56vw), 3rem); } }
        @media only screen and (max-width: 767px) {
          .section-plan .sims .flex .plan-sims svg {
            height: clamp(1rem, calc(-0.07rem + 5.36vw), 2.5rem); } }
    .section-plan .sims .flex .plan-accesspoint {
      flex: 4 0 0px;
      display: flex;
      align-items: center; }
      .section-plan .sims .flex .plan-accesspoint img {
        width: auto; }
        @media only screen and (min-width: 768px) {
          .section-plan .sims .flex .plan-accesspoint img {
            height: 5rem; } }
        @media only screen and (max-width: 1200px) {
          .section-plan .sims .flex .plan-accesspoint img {
            height: clamp(4rem, calc(2.50rem + 3.13vw), 5rem); } }
        @media only screen and (max-width: 767px) {
          .section-plan .sims .flex .plan-accesspoint img {
            height: clamp(1.5rem, calc(-0.29rem + 8.93vw), 4rem); } }
      .section-plan .sims .flex .plan-accesspoint .image {
        flex: 0 1 0px; }
      .section-plan .sims .flex .plan-accesspoint .text {
        flex: 1 1 0px; }
        @media only screen and (max-width: 767px) {
          .section-plan .sims .flex .plan-accesspoint .text {
            font-size: .8rem;
            line-height: 1; } }
      .section-plan .sims .flex .plan-accesspoint:before {
        content: "";
        border-top: 2px dotted #00ab7f; }
        @media only screen and (min-width: 768px) {
          .section-plan .sims .flex .plan-accesspoint:before {
            width: 6rem; } }
        @media only screen and (max-width: 1200px) {
          .section-plan .sims .flex .plan-accesspoint:before {
            width: clamp(5rem, calc(3.50rem + 3.13vw), 6rem); } }
        @media only screen and (max-width: 767px) {
          .section-plan .sims .flex .plan-accesspoint:before {
            width: clamp(1rem, calc(-1.86rem + 14.29vw), 5rem); } }
  .section-plan .sims ul.note {
    margin-top: 0; }
    @media only screen and (min-width: 768px) {
      .section-plan .sims ul.note {
        font-size: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-plan .sims ul.note {
        font-size: clamp(0.9rem, calc(0.75rem + 0.31vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-plan .sims ul.note {
        font-size: clamp(0.8rem, calc(0.73rem + 0.36vw), 0.9rem); } }

@media only screen and (max-width: 767px) {
  .section-case .block-case {
    padding: 0; } }

@media only screen and (min-width: 768px) {
  .section-case .block-case .gallery {
    gap: 2rem; } }

@media only screen and (max-width: 1200px) {
  .section-case .block-case .gallery {
    gap: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }

@media only screen and (max-width: 767px) {
  .section-case .block-case .gallery {
    gap: clamp(0.5rem, calc(-0.21rem + 3.57vw), 1.5rem); } }

.section-case .block-case .gallery .part {
  background: #ffac7e;
  display: flex; }
  @media only screen and (min-width: 768px) {
    .section-case .block-case .gallery .part {
      padding: 1rem; } }
  @media only screen and (max-width: 1200px) {
    .section-case .block-case .gallery .part {
      padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section-case .block-case .gallery .part {
      padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
  @media only screen and (min-width: 768px) {
    .section-case .block-case .gallery .part {
      border-radius: .75rem; } }
  @media only screen and (max-width: 1200px) {
    .section-case .block-case .gallery .part {
      border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
  @media only screen and (max-width: 767px) {
    .section-case .block-case .gallery .part {
      border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
  @media only screen and (min-width: 768px) {
    .section-case .block-case .gallery .part {
      gap: 1.5rem; } }
  @media only screen and (max-width: 1200px) {
    .section-case .block-case .gallery .part {
      gap: clamp(0.5rem, calc(-1.00rem + 3.13vw), 1.5rem); } }
  @media only screen and (max-width: 767px) {
    .section-case .block-case .gallery .part {
      gap: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
  .section-case .block-case .gallery .part img {
    aspect-ratio: unset;
    border: none !important;
    box-shadow: none;
    object-fit: contain; }
    @media only screen and (max-width: 767px) {
      .section-case .block-case .gallery .part img {
        border: .5rem solid white; } }
  .section-case .block-case .gallery .part picture {
    background: #ffac7e;
    display: flex;
    flex: 1 1 0px;
    background: transparent;
    border: none; }
  .section-case .block-case .gallery .part .textarea {
    flex: 2 1 0px;
    display: flex;
    align-items: center; }
    @media only screen and (min-width: 768px) {
      .section-case .block-case .gallery .part .textarea {
        font-size: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-case .block-case .gallery .part .textarea {
        font-size: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-case .block-case .gallery .part .textarea {
        font-size: clamp(1rem, calc(0.64rem + 1.79vw), 1.5rem); } }

.divergent-archivements {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.5)), url("/wp-content/uploads/background-archivements.webp") no-repeat center center;
  background-size: cover;
  color: white; }
  @media only screen and (min-width: 768px) {
    .divergent-archivements {
      padding: 4rem 0; } }
  @media only screen and (max-width: 1200px) {
    .divergent-archivements {
      padding: clamp(3rem, calc(1.50rem + 3.13vw), 4rem) 0; } }
  @media only screen and (max-width: 767px) {
    .divergent-archivements {
      padding: clamp(1rem, calc(-0.43rem + 7.14vw), 3rem) 0; } }
  .divergent-archivements .head {
    position: relative; }
    @media only screen and (min-width: 768px) {
      .divergent-archivements .head {
        margin: 0 0 3rem; } }
    @media only screen and (max-width: 1200px) {
      .divergent-archivements .head {
        margin: 0 0 clamp(2.5rem, calc(1.75rem + 1.56vw), 3rem); } }
    @media only screen and (max-width: 767px) {
      .divergent-archivements .head {
        margin: 0 0 clamp(1rem, calc(-0.07rem + 5.36vw), 2.5rem); } }
    .divergent-archivements .head .headline {
      flex-direction: column; }
    .divergent-archivements .head .caption {
      text-align: center;
      color: white; }
    .divergent-archivements .head h2 {
      text-align: center;
      font-weight: 600;
      justify-content: center;
      color: white; }
      @media only screen and (min-width: 768px) {
        .divergent-archivements .head h2 {
          margin: 2rem 0; } }
      @media only screen and (max-width: 1200px) {
        .divergent-archivements .head h2 {
          margin: clamp(0.5rem, calc(-1.75rem + 4.69vw), 2rem) 0; } }
      @media only screen and (max-width: 767px) {
        .divergent-archivements .head h2 {
          margin: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem) 0; } }
      @media only screen and (min-width: 768px) {
        .divergent-archivements .head h2 {
          font-size: 2.5rem; } }
      @media only screen and (max-width: 1200px) {
        .divergent-archivements .head h2 {
          font-size: clamp(2rem, calc(1.25rem + 1.56vw), 2.5rem); } }
      @media only screen and (max-width: 767px) {
        .divergent-archivements .head h2 {
          font-size: clamp(1.5rem, calc(1.14rem + 1.79vw), 2rem); } }
    .divergent-archivements .head .buttons {
      position: absolute;
      display: flex;
      align-items: center;
      top: 0;
      bottom: 0;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .divergent-archivements .head .buttons {
          margin: 3rem 0 0; } }
      .divergent-archivements .head .buttons .button {
        display: flex;
        flex: 1 1 0px; }
        .divergent-archivements .head .buttons .button.button-left {
          justify-content: flex-start; }
          @media only screen and (min-width: 768px) {
            .divergent-archivements .head .buttons .button.button-left {
              margin-left: 10rem; } }
          @media only screen and (max-width: 1200px) {
            .divergent-archivements .head .buttons .button.button-left {
              margin-left: clamp(1rem, calc(-12.50rem + 28.13vw), 10rem); } }
          @media only screen and (max-width: 767px) {
            .divergent-archivements .head .buttons .button.button-left {
              margin-left: clamp(0.5rem, calc(-0.21rem + 3.57vw), 1.5rem); } }
        .divergent-archivements .head .buttons .button.button-right {
          justify-content: flex-end; }
          @media only screen and (min-width: 768px) {
            .divergent-archivements .head .buttons .button.button-right {
              margin-right: 10rem; } }
          @media only screen and (max-width: 1200px) {
            .divergent-archivements .head .buttons .button.button-right {
              margin-right: clamp(1rem, calc(-12.50rem + 28.13vw), 10rem); } }
          @media only screen and (max-width: 767px) {
            .divergent-archivements .head .buttons .button.button-right {
              margin-right: clamp(0.5rem, calc(-0.21rem + 3.57vw), 1.5rem); } }
        .divergent-archivements .head .buttons .button .icon {
          box-sizing: boder-box;
          background-color: white;
          display: flex;
          justify-content: center;
          align-items: center; }
          @media only screen and (min-width: 768px) {
            .divergent-archivements .head .buttons .button .icon {
              border-radius: .75rem; } }
          @media only screen and (max-width: 1200px) {
            .divergent-archivements .head .buttons .button .icon {
              border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
          @media only screen and (max-width: 767px) {
            .divergent-archivements .head .buttons .button .icon {
              border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
          @media only screen and (min-width: 768px) {
            .divergent-archivements .head .buttons .button .icon {
              width: 3.5rem; } }
          @media only screen and (max-width: 1200px) {
            .divergent-archivements .head .buttons .button .icon {
              width: clamp(3rem, calc(2.25rem + 1.56vw), 3.5rem); } }
          @media only screen and (max-width: 767px) {
            .divergent-archivements .head .buttons .button .icon {
              width: clamp(2.5rem, calc(2.14rem + 1.79vw), 3rem); } }
          @media only screen and (min-width: 768px) {
            .divergent-archivements .head .buttons .button .icon {
              height: 3.5rem; } }
          @media only screen and (max-width: 1200px) {
            .divergent-archivements .head .buttons .button .icon {
              height: clamp(3rem, calc(2.25rem + 1.56vw), 3.5rem); } }
          @media only screen and (max-width: 767px) {
            .divergent-archivements .head .buttons .button .icon {
              height: clamp(2.5rem, calc(2.14rem + 1.79vw), 3rem); } }
          .divergent-archivements .head .buttons .button .icon svg {
            width: 50%;
            height: 50%; }
  .divergent-archivements .contents {
    justify-content: center; }
    .divergent-archivements .contents .gallery {
      display: flex;
      justify-content: center;
      flex-wrap: nowrap; }
      .divergent-archivements .contents .gallery .part {
        display: flex;
        justify-content: center;
        flex-direction: column;
        background-color: white;
        border-radius: 1rem;
        box-sizing: border-box; }
        @media only screen and (min-width: 768px) {
          .divergent-archivements .contents .gallery .part {
            min-width: 15rem; } }
        @media only screen and (max-width: 1200px) {
          .divergent-archivements .contents .gallery .part {
            min-width: clamp(10rem, calc(2.50rem + 15.63vw), 15rem); } }
        @media only screen and (max-width: 767px) {
          .divergent-archivements .contents .gallery .part {
            min-width: clamp(10rem, calc(2.86rem + 35.71vw), 20rem); } }
        @media only screen and (min-width: 768px) {
          .divergent-archivements .contents .gallery .part {
            padding: 2rem; } }
        @media only screen and (max-width: 1200px) {
          .divergent-archivements .contents .gallery .part {
            padding: clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
        @media only screen and (max-width: 767px) {
          .divergent-archivements .contents .gallery .part {
            padding: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
        .divergent-archivements .contents .gallery .part picture {
          display: flex;
          justify-content: center;
          align-items: center;
          aspect-ratio: 16 / 9;
          overflow: hidden;
          border-radius: .5rem;
          box-shadow: 0.25rem 0.25rem 0.25rem rgba(0, 0, 0, 0.25); }
          .divergent-archivements .contents .gallery .part picture img {
            object-fit: contain; }
        .divergent-archivements .contents .gallery .part p {
          text-align: center; }
        .divergent-archivements .contents .gallery .part a {
          display: flex;
          justify-content: center;
          padding: .5rem 0;
          line-height: 1.25; }
        .divergent-archivements .contents .gallery .part .meta {
          font-weight: 300; }
        .divergent-archivements .contents .gallery .part .title {
          font-weight: 800; }
          @media only screen and (min-width: 768px) {
            .divergent-archivements .contents .gallery .part .title {
              font-size: 1.25rem; } }
          @media only screen and (max-width: 1200px) {
            .divergent-archivements .contents .gallery .part .title {
              font-size: clamp(1.125rem, calc(0.94rem + 0.39vw), 1.25rem); } }
          @media only screen and (max-width: 767px) {
            .divergent-archivements .contents .gallery .part .title {
              font-size: clamp(1rem, calc(0.91rem + 0.45vw), 1.125rem); } }
        .divergent-archivements .contents .gallery .part .button {
          font-weight: 800;
          background: linear-gradient(to right, #00ac7e, #00a385);
          padding: .5rem 2rem .75rem;
          display: inline-flex;
          color: white; }
          @media only screen and (min-width: 768px) {
            .divergent-archivements .contents .gallery .part .button {
              margin: 1rem 0 0; } }
          @media only screen and (max-width: 1200px) {
            .divergent-archivements .contents .gallery .part .button {
              margin: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0 0; } }
          @media only screen and (max-width: 767px) {
            .divergent-archivements .contents .gallery .part .button {
              margin: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0 0; } }
  .divergent-archivements .foot .link .link-button {
    color: white; }

.section-system {
  background: whitesmoke; }
  .section-system .block-system {
    padding: 0; }
    .section-system .block-system img {
      box-sizing: border-box;
      width: 100%;
      aspect-ratio: unset;
      object-fit: contain;
      box-shadow: none; }
      @media only screen and (min-width: 768px) {
        .section-system .block-system img {
          padding: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-system .block-system img {
          padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-system .block-system img {
          padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (max-width: 767px) {
        .section-system .block-system img {
          margin: 0 clamp(0rem, calc(-2.86rem + 14.29vw), 4rem); } }
    @media only screen and (min-width: 768px) {
      .section-system .block-system .only-pc {
        display: flex; } }
    @media only screen and (max-width: 767px) {
      .section-system .block-system .only-sp {
        display: flex; } }
    .section-system .block-system .gallery {
      margin-top: 0; }
    .section-system .block-system .headline {
      color: black;
      text-align: center;
      justify-content: center; }
    @media only screen and (max-width: 767px) {
      .section-system .block-system .text {
        gap: 0; } }
    @media only screen and (min-width: 768px) {
      .section-system .block-system .text {
        padding: 1.5rem; } }
    @media only screen and (max-width: 1200px) {
      .section-system .block-system .text {
        padding: clamp(0.5rem, calc(-1.00rem + 3.13vw), 1.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-system .block-system .text {
        padding: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem); } }
    @media only screen and (min-width: 768px) {
      .section-system .block-system .text {
        border-radius: .75rem; } }
    @media only screen and (max-width: 1200px) {
      .section-system .block-system .text {
        border-radius: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
    @media only screen and (max-width: 767px) {
      .section-system .block-system .text {
        border-radius: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
    @media only screen and (min-width: 768px) {
      .section-system .block-system .text h3 {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 1200px) {
      .section-system .block-system .text h3 {
        font-size: clamp(1rem, calc(0.25rem + 1.56vw), 1.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-system .block-system .text h3 {
        font-size: clamp(1.125rem, calc(1.04rem + 0.45vw), 1.25rem); } }
    @media only screen and (max-width: 767px) {
      .section-system .block-system .text h3 {
        margin-left: auto;
        margin-right: auto; } }

.section-faq.divergent .block-faq {
  padding: 0; }
  .section-faq.divergent .block-faq .caption {
    color: black; }
  .section-faq.divergent .block-faq h2 {
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    text-align: center;
    font-weight: 600; }
    @media only screen and (min-width: 768px) {
      .section-faq.divergent .block-faq h2 {
        font-size: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-faq.divergent .block-faq h2 {
        font-size: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-faq.divergent .block-faq h2 {
        font-size: clamp(1.25rem, calc(1.07rem + 0.89vw), 1.5rem); } }
  @media only screen and (min-width: 768px) {
    .section-faq.divergent .block-faq details {
      margin: 1rem 0; } }
  @media only screen and (max-width: 1200px) {
    .section-faq.divergent .block-faq details {
      margin: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem) 0; } }
  @media only screen and (max-width: 767px) {
    .section-faq.divergent .block-faq details {
      margin: .5rem 0; } }
  .section-faq.divergent .block-faq details .answer {
    font-weight: 300; }
    @media only screen and (min-width: 768px) {
      .section-faq.divergent .block-faq details .answer {
        padding: 1rem 0 1rem 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-faq.divergent .block-faq details .answer {
        padding: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem) 0 clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem) clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-faq.divergent .block-faq details .answer {
        padding: 0.5rem 0 0.5rem clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem); } }
    @media only screen and (min-width: 768px) {
      .section-faq.divergent .block-faq details .answer {
        font-size: 1.25rem; } }
    @media only screen and (max-width: 1200px) {
      .section-faq.divergent .block-faq details .answer {
        font-size: clamp(1.125rem, calc(0.94rem + 0.39vw), 1.25rem); } }
    @media only screen and (max-width: 767px) {
      .section-faq.divergent .block-faq details .answer {
        font-size: clamp(1rem, calc(0.91rem + 0.45vw), 1.125rem); } }
    @media only screen and (min-width: 768px) {
      .section-faq.divergent .block-faq details .answer {
        line-height: 2; } }
    @media only screen and (max-width: 1200px) {
      .section-faq.divergent .block-faq details .answer {
        line-height: 1.75; } }
    @media only screen and (max-width: 767px) {
      .section-faq.divergent .block-faq details .answer {
        line-height: 1.5; } }
  .section-faq.divergent .block-faq details summary {
    list-style: none;
    background-color: whitesmoke;
    border-radius: .5rem;
    color: #333333;
    display: flex;
    align-items: center; }
    @media only screen and (min-width: 768px) {
      .section-faq.divergent .block-faq details summary {
        font-size: 1.5rem; } }
    @media only screen and (max-width: 1200px) {
      .section-faq.divergent .block-faq details summary {
        font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-faq.divergent .block-faq details summary {
        font-size: clamp(1.125rem, calc(1.04rem + 0.45vw), 1.25rem); } }
    @media only screen and (min-width: 768px) {
      .section-faq.divergent .block-faq details summary {
        padding: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-faq.divergent .block-faq details summary {
        padding: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-faq.divergent .block-faq details summary {
        padding: .5rem; } }
    .section-faq.divergent .block-faq details summary:before {
      content: "Q";
      font-family: Avenir;
      font-weight: 800;
      color: #00ab7f; }
      @media only screen and (min-width: 768px) {
        .section-faq.divergent .block-faq details summary:before {
          margin: 0 1rem 0 0; } }
      @media only screen and (max-width: 1200px) {
        .section-faq.divergent .block-faq details summary:before {
          margin: 0 clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        .section-faq.divergent .block-faq details summary:before {
          margin: 0 clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0 0; } }
      @media only screen and (min-width: 768px) {
        .section-faq.divergent .block-faq details summary:before {
          font-size: 2.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-faq.divergent .block-faq details summary:before {
          font-size: clamp(2rem, calc(1.25rem + 1.56vw), 2.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-faq.divergent .block-faq details summary:before {
          font-size: clamp(1.75rem, calc(1.57rem + 0.89vw), 2rem); } }
    .section-faq.divergent .block-faq details summary:after {
      margin-left: auto;
      content: "+";
      font-family: Outfit;
      font-weight: 300;
      display: flex;
      align-items: baseline;
      line-height: 1;
      position: relative;
      top: -.025em;
      color: #00ab7f; }
      @media only screen and (min-width: 768px) {
        .section-faq.divergent .block-faq details summary:after {
          font-size: 3rem; } }
      @media only screen and (max-width: 1200px) {
        .section-faq.divergent .block-faq details summary:after {
          font-size: clamp(2.5rem, calc(1.75rem + 1.56vw), 3rem); } }
      @media only screen and (max-width: 767px) {
        .section-faq.divergent .block-faq details summary:after {
          font-size: clamp(2rem, calc(1.64rem + 1.79vw), 2.5rem); } }
  .section-faq.divergent .block-faq details[open] summary:after {
    content: "-";
    top: -.125em; }

.section-faq.divergent ol {
  counter-reset: section; }
  .section-faq.divergent ol h3:before {
    counter-increment: section;
    content: counter(section) ". "; }

.section-faq .caption {
  color: #00ab7f; }

.section-flow {
  background: linear-gradient(to right, #ff8f0d 30%, #ff644d 100%); }
  .section-flow .block-flow {
    padding: 0; }
    .section-flow .block-flow .caption {
      color: white; }
    .section-flow .block-flow h2 {
      color: white; }
    .section-flow .block-flow .steps ol {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 2rem 4rem;
      counter-reset: flow; }
      @media only screen and (max-width: 1200px) {
        .section-flow .block-flow .steps ol {
          gap: 2rem clamp(2rem, calc(-1.00rem + 6.25vw), 4rem); } }
      @media only screen and (max-width: 767px) {
        .section-flow .block-flow .steps ol {
          gap: 2rem clamp(1.5rem, calc(-0.29rem + 8.93vw), 4rem); } }
      @media only screen and (max-width: 767px) {
        .section-flow .block-flow .steps ol {
          margin-left: -1rem;
          margin-right: -1rem; } }
      .section-flow .block-flow .steps ol li {
        background: white;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        line-height: 1.2;
        position: relative; }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .steps ol li {
            min-width: calc((100% - 12rem) / 4); } }
        @media only screen and (max-width: 1200px) {
          .section-flow .block-flow .steps ol li {
            min-width: calc((100% - clamp(8rem, calc(2.00rem + 12.50vw), 12rem)) / 4); } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .steps ol li {
            min-width: calc((100% - clamp(6rem, calc(1.71rem + 21.43vw), 12rem)) / 2); } }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .steps ol li {
            padding: 1.25rem 0; } }
        @media only screen and (max-width: 1200px) {
          .section-flow .block-flow .steps ol li {
            padding: clamp(1rem, calc(0.63rem + 0.78vw), 1.25rem) 0; } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .steps ol li {
            padding: clamp(0.75rem, calc(0.57rem + 0.89vw), 1rem) 0; } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .steps ol li {
            font-size: clamp(0.8rem, calc(0.66rem + 0.71vw), 1rem); } }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .steps ol li {
            border-radius: 1rem; } }
        @media only screen and (max-width: 1200px) {
          .section-flow .block-flow .steps ol li {
            border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .steps ol li {
            border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
        .section-flow .block-flow .steps ol li:before {
          counter-increment: flow;
          content: counter(flow, decimal-leading-zero);
          font-size: 1.5em;
          font-family: Avenir;
          font-weight: 800;
          color: #00ab7f; }
          @media only screen and (min-width: 768px) {
            .section-flow .block-flow .steps ol li:before {
              padding: .125rem .5rem 0 0; } }
          @media only screen and (max-width: 1200px) {
            .section-flow .block-flow .steps ol li:before {
              padding: 0.125rem clamp(0.4rem, calc(0.25rem + 0.31vw), 0.5rem) 0 0; } }
          @media only screen and (max-width: 767px) {
            .section-flow .block-flow .steps ol li:before {
              padding: 0.125rem clamp(0.25rem, calc(0.14rem + 0.54vw), 0.4rem) 0 0; } }
        .section-flow .block-flow .steps ol li:after {
          content: "";
          position: absolute;
          width: 0rem;
          height: 0rem;
          border: 1rem solid transparent;
          border-left: 1rem solid white;
          top: 50%;
          transform: translate(0, -50%); }
          @media only screen and (max-width: 767px) {
            .section-flow .block-flow .steps ol li:after {
              border: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem) solid transparent;
              border-left: clamp(0.5rem, calc(0.14rem + 1.79vw), 1rem) solid white; } }
          @media only screen and (min-width: 768px) {
            .section-flow .block-flow .steps ol li:after {
              left: calc(-1 * 2.25rem); } }
          @media only screen and (max-width: 1200px) {
            .section-flow .block-flow .steps ol li:after {
              left: calc(-1 * clamp(1.5rem, calc(0.38rem + 2.34vw), 2.25rem)); } }
          @media only screen and (max-width: 767px) {
            .section-flow .block-flow .steps ol li:after {
              left: calc(-1 * clamp(1rem, calc(0.11rem + 4.46vw), 2.25rem)); } }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .steps ol li:nth-child(1):after {
            display: none; } }
        @media only screen and (max-width: 1200px) {
          .section-flow .block-flow .steps ol li:nth-child(1):after {
            display: none; } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .steps ol li:nth-child(1):after {
            display: none; } }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .steps ol li:nth-child(2):after {
            display: none; } }
    @media only screen and (min-width: 768px) {
      .section-flow .block-flow .gallery {
        gap: 1.25rem; } }
    @media only screen and (max-width: 1200px) {
      .section-flow .block-flow .gallery {
        gap: clamp(1rem, calc(0.63rem + 0.78vw), 1.25rem); } }
    @media only screen and (max-width: 767px) {
      .section-flow .block-flow .gallery {
        gap: clamp(0.75rem, calc(0.57rem + 0.89vw), 1rem); } }
    .section-flow .block-flow .gallery .part {
      background: white; }
      @media only screen and (min-width: 768px) {
        .section-flow .block-flow .gallery .part {
          border-radius: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-flow .block-flow .gallery .part {
          border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-flow .block-flow .gallery .part {
          border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (min-width: 768px) {
        .section-flow .block-flow .gallery .part {
          padding: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-flow .block-flow .gallery .part {
          padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-flow .block-flow .gallery .part {
          padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      .section-flow .block-flow .gallery .part .caption {
        margin-left: -1rem;
        margin-right: -1rem;
        color: black;
        font-weight: 600; }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .gallery .part .caption {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 1200px) {
          .section-flow .block-flow .gallery .part .caption {
            font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .gallery .part .caption {
            font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .gallery .part .caption {
            margin-bottom: 1rem; } }
        @media only screen and (max-width: 1200px) {
          .section-flow .block-flow .gallery .part .caption {
            margin-bottom: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .gallery .part .caption {
            margin-bottom: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      .section-flow .block-flow .gallery .part img {
        aspect-ratio: unset;
        background: none;
        box-shadow: none;
        object-fit: contain; }
        @media only screen and (min-width: 768px) {
          .section-flow .block-flow .gallery .part img {
            height: 10rem; } }
        @media only screen and (max-width: 1200px) {
          .section-flow .block-flow .gallery .part img {
            height: clamp(8rem, calc(5.00rem + 6.25vw), 10rem); } }
        @media only screen and (max-width: 767px) {
          .section-flow .block-flow .gallery .part img {
            height: clamp(6rem, calc(4.57rem + 7.14vw), 8rem); } }
      .section-flow .block-flow .gallery .part .textarea {
        justify-content: center;
        align-items: center; }
        .section-flow .block-flow .gallery .part .textarea p {
          display: inline-flex;
          justify-content: flex-start;
          align-items: flex-start; }
          @media only screen and (min-width: 768px) {
            .section-flow .block-flow .gallery .part .textarea p {
              margin: .5rem 0; } }
          @media only screen and (max-width: 1200px) {
            .section-flow .block-flow .gallery .part .textarea p {
              margin: clamp(0.5rem, calc(0.50rem + 0.00vw), 0.5rem) 0; } }
          @media only screen and (max-width: 767px) {
            .section-flow .block-flow .gallery .part .textarea p {
              margin: clamp(0.5rem, calc(0.50rem + 0.00vw), 0.5rem) clamp(0rem, calc(-7.14rem + 35.71vw), 10rem); } }
          @media only screen and (min-width: 768px) {
            .section-flow .block-flow .gallery .part .textarea p {
              gap: .75rem; } }
          @media only screen and (max-width: 1200px) {
            .section-flow .block-flow .gallery .part .textarea p {
              gap: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
          @media only screen and (max-width: 767px) {
            .section-flow .block-flow .gallery .part .textarea p {
              gap: clamp(0.125rem, calc(-0.14rem + 1.34vw), 0.5rem); } }
          @media only screen and (min-width: 768px) {
            .section-flow .block-flow .gallery .part .textarea p {
              font-size: 1rem; } }
          @media only screen and (max-width: 1200px) {
            .section-flow .block-flow .gallery .part .textarea p {
              font-size: clamp(0.9rem, calc(0.75rem + 0.31vw), 1rem); } }
          @media only screen and (max-width: 767px) {
            .section-flow .block-flow .gallery .part .textarea p {
              font-size: clamp(0.8rem, calc(0.73rem + 0.36vw), 0.9rem); } }
          .section-flow .block-flow .gallery .part .textarea p label {
            background: #00ab7f;
            color: white;
            margin: 0 auto 0 0;
            display: flex;
            width: 6rem;
            justify-content: center; }
            @media only screen and (min-width: 768px) {
              .section-flow .block-flow .gallery .part .textarea p label {
                padding: .5rem; } }
            @media only screen and (max-width: 1200px) {
              .section-flow .block-flow .gallery .part .textarea p label {
                padding: clamp(0.25rem, calc(-0.13rem + 0.78vw), 0.5rem); } }
            @media only screen and (max-width: 767px) {
              .section-flow .block-flow .gallery .part .textarea p label {
                padding: clamp(0.125rem, calc(0.04rem + 0.45vw), 0.25rem); } }
          .section-flow .block-flow .gallery .part .textarea p span {
            display: flex;
            justify-content: flex-start;
            align-items: flex-start;
            flex: 1 1 0px;
            white-space: nowrap; }
      .section-flow .block-flow .gallery .part:nth-child(3) .textarea p:nth-child(2) span {
        padding-right: 7em; }

.section-case {
  background: linear-gradient(to right, #ff8f0d 30%, #ff644d 100%); }
  .section-case .block-case {
    padding: 0; }
    .section-case .block-case .caption {
      color: white; }
    .section-case .block-case h2 {
      color: white; }
    @media only screen and (min-width: 768px) {
      .section-case .block-case .gallery {
        gap: 1.25rem; } }
    @media only screen and (max-width: 1200px) {
      .section-case .block-case .gallery {
        gap: clamp(1rem, calc(0.63rem + 0.78vw), 1.25rem); } }
    @media only screen and (max-width: 767px) {
      .section-case .block-case .gallery {
        gap: clamp(0.75rem, calc(0.57rem + 0.89vw), 1rem); } }
    .section-case .block-case .gallery .part {
      flex-direction: column;
      background: white; }
      @media only screen and (min-width: 768px) {
        .section-case .block-case .gallery .part {
          border-radius: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-case .block-case .gallery .part {
          border-radius: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-case .block-case .gallery .part {
          border-radius: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      @media only screen and (min-width: 768px) {
        .section-case .block-case .gallery .part {
          padding: 1rem; } }
      @media only screen and (max-width: 1200px) {
        .section-case .block-case .gallery .part {
          padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
      @media only screen and (max-width: 767px) {
        .section-case .block-case .gallery .part {
          padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      .section-case .block-case .gallery .part .caption {
        margin-left: -1rem;
        margin-right: -1rem;
        color: black;
        font-weight: 600; }
        @media only screen and (min-width: 768px) {
          .section-case .block-case .gallery .part .caption {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 1200px) {
          .section-case .block-case .gallery .part .caption {
            font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
        @media only screen and (max-width: 767px) {
          .section-case .block-case .gallery .part .caption {
            font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
        @media only screen and (min-width: 768px) {
          .section-case .block-case .gallery .part .caption {
            margin-bottom: 1rem; } }
        @media only screen and (max-width: 1200px) {
          .section-case .block-case .gallery .part .caption {
            margin-bottom: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          .section-case .block-case .gallery .part .caption {
            margin-bottom: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
      .section-case .block-case .gallery .part img {
        aspect-ratio: unset;
        background: none;
        box-shadow: none;
        object-fit: contain; }
        @media only screen and (min-width: 768px) {
          .section-case .block-case .gallery .part img {
            height: 10rem; } }
        @media only screen and (max-width: 1200px) {
          .section-case .block-case .gallery .part img {
            height: clamp(8rem, calc(5.00rem + 6.25vw), 10rem); } }
        @media only screen and (max-width: 767px) {
          .section-case .block-case .gallery .part img {
            height: clamp(6rem, calc(4.57rem + 7.14vw), 8rem); } }
      .section-case .block-case .gallery .part .textarea {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start; }
        .section-case .block-case .gallery .part .textarea p {
          display: inline-flex;
          justify-content: flex-start;
          align-items: flex-start; }
          @media only screen and (min-width: 768px) {
            .section-case .block-case .gallery .part .textarea p {
              margin: .5rem 0; } }
          @media only screen and (max-width: 1200px) {
            .section-case .block-case .gallery .part .textarea p {
              margin: clamp(0.5rem, calc(0.50rem + 0.00vw), 0.5rem) 0; } }
          @media only screen and (max-width: 767px) {
            .section-case .block-case .gallery .part .textarea p {
              margin: clamp(0.5rem, calc(0.50rem + 0.00vw), 0.5rem) clamp(0rem, calc(-7.14rem + 35.71vw), 10rem); } }
          @media only screen and (min-width: 768px) {
            .section-case .block-case .gallery .part .textarea p {
              gap: .75rem; } }
          @media only screen and (max-width: 1200px) {
            .section-case .block-case .gallery .part .textarea p {
              gap: clamp(0.5rem, calc(0.13rem + 0.78vw), 0.75rem); } }
          @media only screen and (max-width: 767px) {
            .section-case .block-case .gallery .part .textarea p {
              gap: clamp(0.125rem, calc(-0.14rem + 1.34vw), 0.5rem); } }
          @media only screen and (min-width: 768px) {
            .section-case .block-case .gallery .part .textarea p {
              font-size: 1rem; } }
          @media only screen and (max-width: 1200px) {
            .section-case .block-case .gallery .part .textarea p {
              font-size: clamp(0.9rem, calc(0.75rem + 0.31vw), 1rem); } }
          @media only screen and (max-width: 767px) {
            .section-case .block-case .gallery .part .textarea p {
              font-size: clamp(0.8rem, calc(0.73rem + 0.36vw), 0.9rem); } }
          .section-case .block-case .gallery .part .textarea p label {
            background: #00ab7f;
            color: white;
            margin: 0 auto 0 0;
            display: flex;
            width: 6rem;
            justify-content: center; }
            @media only screen and (min-width: 768px) {
              .section-case .block-case .gallery .part .textarea p label {
                padding: .5rem; } }
            @media only screen and (max-width: 1200px) {
              .section-case .block-case .gallery .part .textarea p label {
                padding: clamp(0.25rem, calc(-0.13rem + 0.78vw), 0.5rem); } }
            @media only screen and (max-width: 767px) {
              .section-case .block-case .gallery .part .textarea p label {
                padding: clamp(0.125rem, calc(0.04rem + 0.45vw), 0.25rem); } }
          .section-case .block-case .gallery .part .textarea p span {
            display: flex;
            justify-content: flex-start;
            align-items: flex-start;
            flex: 1 1 0px;
            white-space: nowrap; }
      .section-case .block-case .gallery .part:nth-child(3) .textarea p:nth-child(2) span {
        padding-right: 7em; }

.foot {
  padding: 0 .5rem;
  box-sizing: border-box; }
  .foot .link {
    margin: 0;
    text-align: right; }
    .foot .link .link-button:after {
      content: ">>";
      margin-left: .25rem; }

.button-contactus .button {
  font-weight: 500;
  background: linear-gradient(to right, #00ac7e, #00a385);
  padding: .5rem 2rem .75rem;
  display: inline-flex;
  color: white; }
  @media only screen and (min-width: 768px) {
    .button-contactus .button {
      margin: 1rem 0 0; } }
  @media only screen and (max-width: 1200px) {
    .button-contactus .button {
      margin: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0 0; } }
  @media only screen and (max-width: 767px) {
    .button-contactus .button {
      margin: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0 0; } }

@media only screen and (min-width: 768px) {
  .section-form-confirmation .block-form-confirmation {
    padding: 0 0; } }

@media only screen and (max-width: 1200px) {
  .section-form-confirmation .block-form-confirmation {
    padding: 0 clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }

@media only screen and (max-width: 767px) {
  .section-form-confirmation .block-form-confirmation {
    padding: 0 clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }

.section-form-confirmation .block-form-confirmation .form2 .form-button-fix, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
  color: white;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (min-width: 768px) {
    .section-form-confirmation .block-form-confirmation .form2 .form-button-fix, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
      padding: 1rem; } }
  @media only screen and (max-width: 1200px) {
    .section-form-confirmation .block-form-confirmation .form2 .form-button-fix, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
      padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .section-form-confirmation .block-form-confirmation .form2 .form-button-fix, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
      padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
  @media only screen and (min-width: 768px) {
    .section-form-confirmation .block-form-confirmation .form2 .form-button-fix, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
      border-radius: .5rem; } }
  @media only screen and (max-width: 1200px) {
    .section-form-confirmation .block-form-confirmation .form2 .form-button-fix, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
      border-radius: clamp(0.4rem, calc(0.25rem + 0.31vw), 0.5rem); } }
  @media only screen and (max-width: 767px) {
    .section-form-confirmation .block-form-confirmation .form2 .form-button-fix, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
      border-radius: clamp(0.3rem, calc(0.23rem + 0.36vw), 0.4rem); } }
  .section-form-confirmation .block-form-confirmation .form2 .form-button-fix.hidden, .section-form-confirmation .block-form-confirmation .form2 .form-button-fixed.hidden {
    display: none; }

.section-form-confirmation .block-form-confirmation .form2 .form-button-fix {
  background: #ff743f; }

.section-form-confirmation .block-form-confirmation .form2 .form-button-fixed {
  background: #00ab7f; }

@media only screen and (min-width: 768px) {
  .section-form-confirmation .block-form-confirmation .form2 {
    font-size: 1.5rem; } }

@media only screen and (max-width: 1200px) {
  .section-form-confirmation .block-form-confirmation .form2 {
    font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }

@media only screen and (max-width: 767px) {
  .section-form-confirmation .block-form-confirmation .form2 {
    font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }

.section-form-confirmation .block-form-confirmation .form2 input, .section-form-confirmation .block-form-confirmation .form2 textarea {
  box-sizing: border-box;
  flex: 1 1 0px; }
  @media only screen and (min-width: 768px) {
    .section-form-confirmation .block-form-confirmation .form2 input, .section-form-confirmation .block-form-confirmation .form2 textarea {
      padding: .5rem; } }
  @media only screen and (max-width: 1200px) {
    .section-form-confirmation .block-form-confirmation .form2 input, .section-form-confirmation .block-form-confirmation .form2 textarea {
      padding: clamp(0.4rem, calc(0.25rem + 0.31vw), 0.5rem); } }
  @media only screen and (max-width: 767px) {
    .section-form-confirmation .block-form-confirmation .form2 input, .section-form-confirmation .block-form-confirmation .form2 textarea {
      padding: clamp(0.3rem, calc(0.23rem + 0.36vw), 0.4rem); } }
  @media only screen and (min-width: 768px) {
    .section-form-confirmation .block-form-confirmation .form2 input, .section-form-confirmation .block-form-confirmation .form2 textarea {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 1200px) {
    .section-form-confirmation .block-form-confirmation .form2 input, .section-form-confirmation .block-form-confirmation .form2 textarea {
      font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
  @media only screen and (max-width: 767px) {
    .section-form-confirmation .block-form-confirmation .form2 input, .section-form-confirmation .block-form-confirmation .form2 textarea {
      font-size: clamp(1rem, calc(0.82rem + 0.89vw), 1.25rem); } }
  .section-form-confirmation .block-form-confirmation .form2 input[readonly], .section-form-confirmation .block-form-confirmation .form2 textarea[readonly] {
    border-color: transparent;
    background: whitesmoke;
    pointer-events: none;
    cursor: not-allowed;
    caret-color: transparent; }

.section-form-confirmation .block-form-confirmation .form2 ul {
  display: flex;
  flex-direction: column; }
  @media only screen and (min-width: 768px) {
    .section-form-confirmation .block-form-confirmation .form2 ul {
      gap: 1.25rem; } }
  @media only screen and (max-width: 1200px) {
    .section-form-confirmation .block-form-confirmation .form2 ul {
      gap: clamp(1rem, calc(0.63rem + 0.78vw), 1.25rem); } }
  @media only screen and (max-width: 767px) {
    .section-form-confirmation .block-form-confirmation .form2 ul {
      gap: clamp(0.75rem, calc(0.57rem + 0.89vw), 1rem); } }
  .section-form-confirmation .block-form-confirmation .form2 ul li {
    list-style: none;
    display: flex; }
    @media only screen and (max-width: 767px) {
      .section-form-confirmation .block-form-confirmation .form2 ul li {
        flex-direction: column; } }
    @media only screen and (min-width: 768px) {
      .section-form-confirmation .block-form-confirmation .form2 ul li {
        gap: 2rem; } }
    @media only screen and (max-width: 1200px) {
      .section-form-confirmation .block-form-confirmation .form2 ul li {
        gap: clamp(1.5rem, calc(0.75rem + 1.56vw), 2rem); } }
    @media only screen and (max-width: 767px) {
      .section-form-confirmation .block-form-confirmation .form2 ul li {
        gap: clamp(0.25rem, calc(0.07rem + 0.89vw), 0.5rem); } }
    .section-form-confirmation .block-form-confirmation .form2 ul li label {
      min-width: 8em;
      color: #00afa9;
      text-align: right;
      padding-top: .25em; }
      @media only screen and (max-width: 767px) {
        .section-form-confirmation .block-form-confirmation .form2 ul li label {
          text-align: left; } }
    .section-form-confirmation .block-form-confirmation .form2 ul li textarea {
      resize: vertical; }

.section-form-confirmation .block-form-confirmation .form2 .form-button-send {
  padding: 0; }
  .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
    border: none;
    background: #254f7e;
    color: white;
    width: 100%; }
    @media only screen and (min-width: 768px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        margin: 1rem 0; } }
    @media only screen and (max-width: 1200px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        margin: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0; } }
    @media only screen and (max-width: 767px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        margin: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0; } }
    @media only screen and (min-width: 768px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        padding: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        padding: clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        padding: clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem); } }
    @media only screen and (min-width: 768px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        border-radius: .5rem; } }
    @media only screen and (max-width: 1200px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        border-radius: clamp(0.4rem, calc(0.25rem + 0.31vw), 0.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"] {
        border-radius: clamp(0.3rem, calc(0.23rem + 0.36vw), 0.4rem); } }
    .section-form-confirmation .block-form-confirmation .form2 .form-button-send input[type="submit"][disabled] {
      opacity: .25;
      cursor: not-allowed; }

@media only screen and (min-width: 768px) {
  .divergent-faq .block-faq details {
    margin: 1rem; } }

@media only screen and (max-width: 1200px) {
  .divergent-faq .block-faq details {
    margin: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem); } }

@media only screen and (max-width: 767px) {
  .divergent-faq .block-faq details {
    margin: .5rem; } }

.divergent-faq .block-faq details .answer {
  font-weight: 300; }
  @media only screen and (min-width: 768px) {
    .divergent-faq .block-faq details .answer {
      padding: 1rem 0 1rem 2rem; } }
  @media only screen and (max-width: 1200px) {
    .divergent-faq .block-faq details .answer {
      padding: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem) 0 clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem) clamp(1rem, calc(-0.50rem + 3.13vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    .divergent-faq .block-faq details .answer {
      padding: 0.5rem 0 0.5rem clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem); } }
  @media only screen and (min-width: 768px) {
    .divergent-faq .block-faq details .answer {
      font-size: 1.25rem; } }
  @media only screen and (max-width: 1200px) {
    .divergent-faq .block-faq details .answer {
      font-size: clamp(1.125rem, calc(0.94rem + 0.39vw), 1.25rem); } }
  @media only screen and (max-width: 767px) {
    .divergent-faq .block-faq details .answer {
      font-size: clamp(1rem, calc(0.91rem + 0.45vw), 1.125rem); } }
  @media only screen and (min-width: 768px) {
    .divergent-faq .block-faq details .answer {
      line-height: 2; } }
  @media only screen and (max-width: 1200px) {
    .divergent-faq .block-faq details .answer {
      line-height: 1.75; } }
  @media only screen and (max-width: 767px) {
    .divergent-faq .block-faq details .answer {
      line-height: 1.5; } }

.divergent-faq .block-faq details summary {
  list-style: none;
  background-color: #99ffdd;
  border-radius: .5rem;
  color: #333333;
  display: flex;
  align-items: center; }
  @media only screen and (min-width: 768px) {
    .divergent-faq .block-faq details summary {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 1200px) {
    .divergent-faq .block-faq details summary {
      font-size: clamp(1.25rem, calc(0.88rem + 0.78vw), 1.5rem); } }
  @media only screen and (max-width: 767px) {
    .divergent-faq .block-faq details summary {
      font-size: clamp(1.125rem, calc(1.04rem + 0.45vw), 1.25rem); } }
  @media only screen and (min-width: 768px) {
    .divergent-faq .block-faq details summary {
      padding: 1rem; } }
  @media only screen and (max-width: 1200px) {
    .divergent-faq .block-faq details summary {
      padding: clamp(0.5rem, calc(-0.25rem + 1.56vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .divergent-faq .block-faq details summary {
      padding: .5rem; } }
  .divergent-faq .block-faq details summary:before {
    content: "Q";
    font-family: Lato;
    font-weight: 500;
    color: #00ab7f; }
    @media only screen and (min-width: 768px) {
      .divergent-faq .block-faq details summary:before {
        margin: 0 1rem 0 0; } }
    @media only screen and (max-width: 1200px) {
      .divergent-faq .block-faq details summary:before {
        margin: 0 clamp(0.75rem, calc(0.38rem + 0.78vw), 1rem) 0 0; } }
    @media only screen and (max-width: 767px) {
      .divergent-faq .block-faq details summary:before {
        margin: 0 clamp(0.5rem, calc(0.32rem + 0.89vw), 0.75rem) 0 0; } }
    @media only screen and (min-width: 768px) {
      .divergent-faq .block-faq details summary:before {
        font-size: 2.5rem; } }
    @media only screen and (max-width: 1200px) {
      .divergent-faq .block-faq details summary:before {
        font-size: clamp(2rem, calc(1.25rem + 1.56vw), 2.5rem); } }
    @media only screen and (max-width: 767px) {
      .divergent-faq .block-faq details summary:before {
        font-size: clamp(1.75rem, calc(1.57rem + 0.89vw), 2rem); } }
  .divergent-faq .block-faq details summary:after {
    margin-left: auto;
    content: "+";
    font-family: Outfit;
    font-weight: 300;
    display: flex;
    align-items: baseline;
    line-height: 1;
    position: relative;
    top: -.025em;
    color: #00ab7f; }
    @media only screen and (min-width: 768px) {
      .divergent-faq .block-faq details summary:after {
        font-size: 3rem; } }
    @media only screen and (max-width: 1200px) {
      .divergent-faq .block-faq details summary:after {
        font-size: clamp(2.5rem, calc(1.75rem + 1.56vw), 3rem); } }
    @media only screen and (max-width: 767px) {
      .divergent-faq .block-faq details summary:after {
        font-size: clamp(2rem, calc(1.64rem + 1.79vw), 2.5rem); } }

.divergent-faq .block-faq details[open] summary:after {
  content: "-";
  top: -.125em; }

.divergent-faq .link .link-button {
  color: #00ab7f; }

.divergent-faq ol {
  counter-reset: section; }
  .divergent-faq ol h3:before {
    counter-increment: section;
    content: counter(section) ". "; }

main {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }

#home .exception-home {
  display: none; }

#home main {
  max-width: unset; }
