@charset "UTF-8";
/* =============================================================================
   #Foundation
   ========================================================================== */
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0px;
  padding: 0px;
}

table {
  border-collapse: collapse;
  border-spacing: 0px;
}

fieldset, img, abbr, acronym {
  border: 0px;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}

img {
  vertical-align: bottom;
}

caption, th {
  text-align: left;
}

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

q:before, q:after {
  content: "";
}

ol, ul {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

#tinymce {
  list-style: initial !important;
  padding: initial !important;
  margin: initial !important;
}

main {
  display: block;
}

input[type=submit],
input[type=button] {
  border-radius: 0 !important;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

input[type=radio] {
  opacity: 0; /* デフォルトのボタンを非表示 */
  position: absolute;
}

/*input[type="radio"]:checked + label {
    background: #ff0000;
}*/
input, textarea {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-appearance: none;
  max-width: 100%;
}

/* ブラウザの薄い枠線を消す */
:focus {
  outline: none;
}

@-webkit-keyframes basic {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(359.9deg);
            transform: rotate(359.9deg);
  }
}

@keyframes basic {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(359.9deg);
            transform: rotate(359.9deg);
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
body {
  font-style: normal;
  font-weight: normal;
  font-family: "Heebo", "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  /*-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;*/
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
}

:root {
  --spacer: 0.5rem;
  --header-h-sp: 60px;
  --header-h: 60px;
  --s-spacer:48px;
  --s-spacer-s:25px;
}

@media screen and (min-width: 980px) {
  :root {
    --spacer: 0.8rem;
    --header-h-sp: 80px;
    --header-h: min(13vh, 120px);
    --s-spacer:max(12vh, 100px);
    --s-spacer-s:40px;
  }
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  height: 100%;
  color: #13334e;
  outline: 0;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  margin-bottom: 0 !important;
}

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

img[src$=".svg"] {
  width: 100%;
}

a {
  color: #13334e;
  text-decoration: none;
}

.a-link a {
  text-decoration: underline;
  -webkit-transition: all 0.2s cubic-bezier(0, 0.5, 0.5, 1);
  transition: all 0.2s cubic-bezier(0, 0.5, 0.5, 1);
}
.a-link a:hover {
  opacity: 0.8;
  text-decoration: none;
}

/*
=============================================================================
   #Layout
=============================================================================
*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  height: var(--header-h-sp);
  background-color: #0042bb;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 3vw;
  padding-right: 3vw;
  -webkit-column-gap: calc(var(--spacer) * 9);
     -moz-column-gap: calc(var(--spacer) * 9);
          column-gap: calc(var(--spacer) * 9);
  width: 100%;
}
@media screen and (min-width: 980px) {
  .l-header {
    height: clamp(calc(74 * 1px), calc((100 / 1680) * 100 * 1vw), calc(100 * 1px));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 2vw;
    padding-right: 3vw;
    width: initial;
    border-bottom-right-radius: 40px;
  }
}

.l-header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: calc(var(--spacer) * 1.5);
     -moz-column-gap: calc(var(--spacer) * 1.5);
          column-gap: calc(var(--spacer) * 1.5);
  color: #FFF;
}
.l-header-logo img {
  width: clamp(calc(220 * 1px), calc((100 / 1680) * 330 * 1vw), calc(330 * 1px));
  line-height: 1 !important;
}
.l-header-logo .text .sub {
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: clamp(calc(12 * 1px), calc((100 / 1680) * 14 * 1vw), calc(14 * 1px));
  margin-bottom: 0.6em;
  padding-top: 0.2em;
  color: #FFF;
}
.l-header-logo .text .main {
  line-height: 1;
  letter-spacing: 0.03em;
  font-size: clamp(calc(17 * 1px), calc((100 / 1680) * 32 * 1vw), calc(32 * 1px));
  font-weight: 500;
}

.l-header-tel {
  color: #FFF;
  display: none;
  -webkit-column-gap: calc(var(--spacer) * 1.5);
     -moz-column-gap: calc(var(--spacer) * 1.5);
          column-gap: calc(var(--spacer) * 1.5);
}
@media screen and (min-width: 980px) {
  .l-header-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-header-tel .tel {
  line-height: 1;
  margin-right: 0.3em;
}
.l-header-tel .number {
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-size: clamp(calc(18 * 1px), calc((100 / 1680) * 28 * 1vw), calc(28 * 1px));
  font-weight: 500;
  vertical-align: middle;
}
.l-header-tel .sub {
  line-height: 1.2;
  letter-spacing: 0em;
  font-size: clamp(calc(11 * 1px), calc((100 / 1680) * 13 * 1vw), calc(13 * 1px));
}

.l-container {
  width: 100%;
  padding-top: var(--header-h-sp);
}
@media screen and (min-width: 980px) {
  .l-container {
    padding-top: initial;
  }
}

.l-main-image {
  position: relative;
}
.l-main-image .map {
  width: clamp(calc(96 * 1px), calc((100 / 1680) * 200 * 1vw), calc(200 * 1px));
  position: absolute;
  left: 4vw;
  bottom: 5%;
  z-index: 5;
}
@media screen and (min-width: 600px) {
  .l-main-image .map {
    bottom: initial;
    left: initial;
    right: 3vw;
    top: 3%;
  }
}

.l-main-image-photo {
  position: relative;
  width: 100%;
  margin-right: 0;
  margin-left: auto;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 980px) {
  .l-main-image-photo {
    width: 80%;
    border-bottom-left-radius: 10vw;
  }
}
.l-main-image-photo .swiper-slide {
  position: relative;
  width: 100%;
}
.l-main-image-photo .swiper-slide:before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
}
.l-main-image-photo img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-main-image-hdg {
  position: absolute;
  left: 3vw;
  bottom: 5%;
  z-index: 3;
}
.l-main-image-hdg .l-main-image-hdg-inner {
  display: none;
}
@media screen and (min-width: 980px) {
  .l-main-image-hdg .l-main-image-hdg-inner {
    display: -ms-grid;
    display: grid;
    row-gap: 1.5em;
    justify-items: start;
  }
}
@media screen and (min-width: 980px) {
  .l-main-image-hdg {
    top: 60%;
    bottom: initial;
  }
}
.l-main-image-hdg .text {
  line-height: 1;
  letter-spacing: 0em;
  font-size: clamp(calc(24 * 1px), calc((100 / 1680) * 54 * 1vw), calc(54 * 1px));
  font-weight: 600;
  background-color: #FFF;
  padding: 0.2em 0.2em 0.1em 0.2em;
}

.l-main-image-hdg-sp {
  display: block;
  padding: 0 5vw;
  text-align: center;
}
@media screen and (min-width: 980px) {
  .l-main-image-hdg-sp {
    display: none;
  }
}
.l-main-image-hdg-sp .l-main-image-hdg-sp-inner {
  display: inline-block;
  /*
  padding: 0.7em 0.9em 0.8em 0.9em;
  border: 2px solid $color-a;*/
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(24 * 1px), calc((100 / 1680) * 72 * 1vw), calc(72 * 1px));
  font-weight: 600;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.l-main-image-hdg-sp .l-main-image-hdg-sp-inner .inyofu-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  left: 3%;
  top: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #FFF;
  padding: 5px;
  /*
      &::before {
        content: "";
         @include width(16, 48);
         @include height(16, 48);


          mask-repeat: no-repeat;
  mask-position: center;
  background-color: $color-a;
  mask-size: cover;
  mask-image: url("../image/inyofu.svg");
         }*/
}
.l-main-image-hdg-sp .l-main-image-hdg-sp-inner .inyofu-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 3%;
  bottom: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  background-color: #FFF;
  padding: 5px;
  /*
      &::before {
        content: "";

         @include width(16, 48);
         @include height(16, 48);
        transform: scale(-1, -1);
          mask-repeat: no-repeat;
  mask-position: center;
  background-color: $color-a;
  mask-size: cover;
  mask-image: url("../image/inyofu.svg");
         }*/
}

.swiper-pagination {
  position: relative !important;
  z-index: 1 !important;
  bottom: initial !important;
  left: initial !important;
}
.swiper-pagination .swiper-pagination-bullet {
  width: clamp(calc(15 * 1px), calc((100 / 1680) * 20 * 1vw), calc(20 * 1px));
  height: clamp(calc(15 * 1px), calc((100 / 1680) * 20 * 1vw), calc(20 * 1px));
  margin: 0 calc(var(--spacer) * 1.5) !important;
  background-color: #e8f3f9 !important;
  border: 1px solid #0042bb !important;
  opacity: 1 !important;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #0042bb !important;
  border: 1px solid #0042bb !important;
}

.l-copyright {
  text-align: center;
  height: var(--header-h-sp);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #e8f3f9;
  background-color: #13334e;
}

.l-contact-sp {
  display: -ms-grid;
  display: grid;
  width: 100%;
  background-color: #e8f3f9;
  padding-top: 1px;
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 0.3s cubic-bezier(0, 0.5, 0.5, 1);
  transition: all 0.3s cubic-bezier(0, 0.5, 0.5, 1);
  -ms-grid-columns: 1fr 1px 1fr;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 1px;
     -moz-column-gap: 1px;
          column-gap: 1px;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 20;
}
@media screen and (min-width: 980px) {
  .l-contact-sp {
    display: none;
  }
}
.l-contact-sp .btn {
  background-color: #0099ff;
  height: 56px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 7% auto;
  grid-template-columns: auto auto;
  place-items: center;
  color: #FFF;
  -webkit-column-gap: 7%;
     -moz-column-gap: 7%;
          column-gap: 7%;
}
.l-contact-sp .btn .icon {
  text-align: right;
  line-height: 1;
  -ms-grid-column-align: end;
      justify-self: end;
  width: 20px;
  height: 20px;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #e8f3f9;
  -webkit-mask-size: cover;
          mask-size: cover;
}
.l-contact-sp .btn .tel-icon {
  -webkit-mask-image: url("../image/tel-icon.svg");
          mask-image: url("../image/tel-icon.svg");
}
.l-contact-sp .btn .mail-icon {
  -webkit-mask-image: url("../image/mail-icon.svg");
          mask-image: url("../image/mail-icon.svg");
}
.l-contact-sp .btn .text {
  -ms-grid-column-align: start;
      justify-self: start;
  font-weight: 500;
}
.l-contact-sp .btn img {
  width: 16px;
  line-height: 1;
}
.l-contact-sp.is-in {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/*
=============================================================================
   #Object
=============================================================================
*/
/* -----------------------------------------------------------------------------
   #Component
   -------------------------------------------------------------------------- */
.c-hdg-a {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(24 * 1px), calc((100 / 1680) * 42 * 1vw), calc(42 * 1px));
  font-weight: 600;
  margin-bottom: 1em;
}

.c-hdg-b {
  font-weight: 600;
  text-align: center;
  margin-bottom: 2em;
  padding: 0.5em 0;
  background-color: #d5e5ed;
}

.c-btn-a {
  height: clamp(calc(48 * 1px), calc((100 / 1680) * 60 * 1vw), calc(60 * 1px));
  width: clamp(calc(200 * 1px), calc((100 / 1680) * 260 * 1vw), calc(260 * 1px));
  background-color: #0099ff;
  margin-left: auto;
  margin-right: auto;
  display: -ms-inline-grid;
  display: inline-grid;
  color: #FFF;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500 !important;
  position: relative;
  /*
  .arrow {
     @include width(16, 18);
     transition: all 0.3s $bezier-A;
  }
  &:hover {
    .arrow {
       transform: translateX( 30%);
    }
  }*/
}
.c-btn-a::after {
  line-height: 1;
  letter-spacing: 0em;
  font-size: clamp(calc(28 * 1px), calc((100 / 1680) * 36 * 1vw), calc(36 * 1px));
  color: #FFF;
  position: absolute;
  right: calc(var(--spacer) * 1.5);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: "Material Symbols Outlined";
  line-height: 1;
  content: "\e941";
  font-weight: 300;
}
.c-btn-a input[type=submit] {
  font-family: "Heebo", "Noto Sans JP", sans-serif;
  font-weight: 500 !important;
  color: #FFF;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  text-align: left;
}

.l-bg-a {
  padding: var(--s-spacer) 0;
  background-color: #e8f3f9;
}
.l-bg-a.type-b {
  background-color: #FFF;
}
.l-bg-a.type-c {
  background-color: initial;
}

.l-oss-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  margin-top: 1em;
}
.l-oss-icon .hojin {
  background-color: #0042bb;
  width: 50%;
  font-weight: 500;
  padding: 0.2em 0 0 0;
}
.l-oss-icon .kojin {
  background-color: #00c7bd;
  width: 50%;
  font-weight: 500;
  padding: 0.2em 0 0 0;
}

.p-list-a {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: calc(var(--spacer) * 6);
}
.p-list-a .list-hdg {
  cursor: pointer;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5% auto;
  grid-template-columns: 1fr auto;
      grid-template-areas: "hdg btn" "text text";
  -webkit-column-gap: 5%;
     -moz-column-gap: 5%;
          column-gap: 5%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #FFF;
  padding: 1em;
  position: relative;
}
@media screen and (min-width: 980px) {
  .p-list-a .list-hdg {
    padding: 2em;
  }
}
.p-list-a .list-hdg .q-icon {
  position: absolute;
  left: 0.5%;
  top: 0;
  z-index: 1;
  color: #e8f3f9;
  line-height: 0.8;
  letter-spacing: 0em;
  font-size: clamp(calc(54 * 1px), calc((100 / 1680) * 92 * 1vw), calc(92 * 1px));
  font-weight: 600;
}
.p-list-a .list-hdg .hdg {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  position: relative;
  z-index: 3;
  font-weight: 700;
  grid-area: hdg;
}
@media screen and (min-width: 600px) {
  .p-list-a .list-hdg .hdg {
    font-weight: 600;
  }
}
.p-list-a .list-hdg .btn {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: btn;
  line-height: 1.6;
  letter-spacing: 0em;
  font-size: clamp(calc(10 * 1px), calc((100 / 1680) * 11 * 1vw), calc(11 * 1px));
  color: #0042bb;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: calc(var(--spacer) * 1);
}
.p-list-a .list-hdg .btn::after {
  content: "";
  background-color: #0042bb;
  width: 15px;
  height: 10px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
          clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.p-list-a .list-hdg .list-text {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: text;
  display: none;
  padding-top: 1em;
  line-height: 2;
  letter-spacing: 0.05em;
  font-size: clamp(calc(16 * 1px), calc((100 / 1680) * 18 * 1vw), calc(18 * 1px));
}
@media screen and (min-width: 980px) {
  .p-list-a .list-hdg .list-text {
    padding-top: 2em;
  }
}
.p-list-a .list-hdg .list-text.open {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
  row-gap: calc(var(--spacer) * 4);
  -webkit-animation: fade 0.5s;
          animation: fade 0.5s;
}
@media screen and (min-width: 600px) {
  .p-list-a .list-hdg .list-text.open {
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
  }
}

.p-list-b {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: 0.4em;
}
.p-list-b li {
  padding-left: 1em;
  position: relative;
}
.p-list-b li:before {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  background-color: #13334e;
  position: absolute;
  left: 0;
  top: 0.4em;
}

.u-c-width-a {
  margin-left: auto;
  margin-right: auto;
  width: min(90vw, 1680 * 1px);
}
@media screen and (min-width: 1280px) {
  .u-c-width-a {
    width: min(82vw, 1680 * 1px);
  }
}

.u-c-width-b {
  margin-left: auto;
  margin-right: auto;
  width: min(90vw, 900 * 1px);
}

.u-c-width-c {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 980px) {
  .u-c-width-c {
    width: 90vw;
  }
}

.u-c-width-d {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(1360 * 1px);
}

.u-c-width-e {
  margin-left: auto;
  margin-right: auto;
  width: min(90vw, 1140 * 1px);
}

.u-c-width-f {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(1140 * 1px);
}

/* -----------------------------------------------------------------------------
   #Project
   -------------------------------------------------------------------------- */
.p-contact-table {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  row-gap: calc(var(--spacer) * 4);
  -webkit-column-gap: calc(var(--spacer) * 4);
     -moz-column-gap: calc(var(--spacer) * 4);
          column-gap: calc(var(--spacer) * 4);
  /* チェック後のボタン */
}
@media screen and (min-width: 980px) {
  .p-contact-table {
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
  }
}
.p-contact-table .wpcf7-radio {
  display: -ms-inline-grid;
  display: inline-grid;
  -ms-grid-columns: auto calc(var(--spacer) * 6) auto;
  grid-template-columns: auto auto;
  -webkit-column-gap: calc(var(--spacer) * 6);
     -moz-column-gap: calc(var(--spacer) * 6);
          column-gap: calc(var(--spacer) * 6);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-contact-table .wpcf7-list-item-label {
  display: -ms-inline-grid;
  display: inline-grid;
  -ms-grid-columns: auto 0.4em auto;
  grid-template-columns: auto auto;
  -webkit-column-gap: 0.4em;
     -moz-column-gap: 0.4em;
          column-gap: 0.4em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-contact-table .wpcf7-list-item-label::before {
  content: "\e836";
  font-family: "Material Symbols Outlined";
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0em;
  font-size: clamp(calc(28 * 1px), calc((100 / 1680) * 36 * 1vw), calc(36 * 1px));
}
.p-contact-table input[type=radio]:checked + .wpcf7-list-item-label::before {
  content: "\e837";
}
.p-contact-table .td.input-text input[type=text], .p-contact-table .td.input-text input[type=email], .p-contact-table .td.input-text textarea {
  background-color: #FFF;
  border: 1px solid #13334e;
  border-radius: 0.3em;
  padding: 0.5em;
  width: 100%;
}
.p-contact-table .td.text-area {
  /*@include height(300, 300);*/
}
.p-contact-table .td.pd-none {
  padding: initial;
}
.p-contact-table .cf7-error input[type=text], .p-contact-table .cf7-error input[type=email], .p-contact-table .cf7-error textarea {
  background-color: #FFF;
  border: 1px solid #ff2a00 !important;
}
.p-contact-table .th {
  margin-bottom: calc(-1 * calc(var(--spacer) * 2.5));
}
.p-contact-table .must {
  display: -ms-inline-grid;
  display: inline-grid;
  -ms-grid-columns: auto 0.3em auto;
  grid-template-columns: auto auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.3em;
     -moz-column-gap: 0.3em;
          column-gap: 0.3em;
}
.p-contact-table .must:after {
  content: "必須";
  line-height: 1;
  letter-spacing: 0em;
  font-size: clamp(calc(11 * 1px), calc((100 / 1680) * 12 * 1vw), calc(12 * 1px));
  display: inline-block;
  background-color: #ff2a00;
  color: #FFF;
  padding: 0.3em 0.3em 0.2em 0.3em;
}

.screen-reader-response {
  color: #ff2a00 !important;
}
.screen-reader-response ul {
  display: none;
}

.wpcf7-not-valid-tip {
  color: #ff2a00;
}

.wpcf7-response-output {
  display: none;
}

.p-contact-thanks {
  height: calc(100vh - ( 2 * var(--header-h-sp) ));
  background-color: #e8f3f9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 980px) {
  .p-contact-thanks {
    height: calc( 100vh - var(--header-h-sp) );
  }
}
.p-contact-thanks .hdg {
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-size: clamp(calc(21 * 1px), calc((100 / 1680) * 32 * 1vw), calc(32 * 1px));
  margin-bottom: 1em;
}

.page-template-thanks .l-contact-sp {
  display: none;
}

.p-top-result {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  row-gap: calc(var(--spacer) * 12);
}
@media screen and (min-width: 980px) {
  .p-top-result {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
.p-top-result .result-item {
  text-align: center;
  width: 85%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 600px) {
  .p-top-result .result-item {
    width: 60%;
  }
}
@media screen and (min-width: 980px) {
  .p-top-result .result-item {
    width: 100%;
  }
}
.p-top-result .result-item .hdg {
  font-weight: 600;
}
.p-top-result .result-item .item-inner {
  display: -ms-grid;
  display: grid;
  margin-left: auto;
  margin-right: auto;
  -ms-grid-columns: auto 1fr auto;
  grid-template-columns: auto 1fr auto;
  justify-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 980px) {
  .p-top-result .result-item .item-inner {
    display: -ms-grid;
    display: grid;
  }
}
.p-top-result .result-item .item-inner .main {
  display: -ms-inline-grid;
  display: inline-grid;
  -ms-grid-columns: auto 0.1em auto;
  grid-template-columns: auto auto;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-column-gap: 0.1em;
     -moz-column-gap: 0.1em;
          column-gap: 0.1em;
}
.p-top-result .result-item .item-inner .main .number {
  line-height: 1;
  letter-spacing: 0em;
  font-size: clamp(calc(68 * 1px), calc((100 / 1680) * 92 * 1vw), calc(92 * 1px));
  font-weight: 600;
  white-space: nowrap;
}
.p-top-result .result-item .item-inner .main .text {
  line-height: 2;
  letter-spacing: 0em;
  font-size: clamp(calc(20 * 1px), calc((100 / 1680) * 32 * 1vw), calc(32 * 1px));
  font-weight: 600;
  white-space: nowrap;
}
.p-top-result .result-item .dec {
  width: clamp(calc(30 * 1px), calc((100 / 1680) * 45 * 1vw), calc(45 * 1px));
}
.p-top-result .result-item .dec.right {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-top-result .result-item .dec-bottom {
  width: clamp(calc(90 * 1px), calc((100 / 1680) * 120 * 1vw), calc(120 * 1px));
  margin-left: auto;
  margin-right: auto;
}

.p-problem-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-column-gap: 3vw;
     -moz-column-gap: 3vw;
          column-gap: 3vw;
  row-gap: calc(var(--spacer) * 9);
}
@media screen and (min-width: 980px) {
  .p-problem-list {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.p-problem-list .problem-item .problem-number {
  padding-left: calc(var(--spacer) * 2.5);
  line-height: 1;
  letter-spacing: 0em;
  font-size: clamp(calc(48 * 1px), calc((100 / 1680) * 60 * 1vw), calc(60 * 1px));
  font-weight: 600;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
.p-problem-list .problem-item .problem-item-inner {
  border: 3px solid #13334e;
  border-radius: 4vw;
  padding: 1em;
  position: relative;
}
@media screen and (min-width: 980px) {
  .p-problem-list .problem-item .problem-item-inner {
    border-radius: 1vw;
  }
}
.p-problem-list .problem-item .problem-item-inner .hdg {
  font-weight: 600;
  text-align: center;
}
.p-problem-list .problem-item .problem-item-inner .problem-image {
  position: relative;
}
.p-problem-list .problem-item .problem-item-inner .problem-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-problem-list .problem-item .problem-item-inner .problem-image:before {
  content: "";
  display: block;
  padding-top: 62.5%;
}

.p-sodan {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  position: relative;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (min-width: 980px) {
  .p-sodan {
    -ms-grid-columns: 1fr 1.2fr;
    grid-template-columns: 1fr 1.2fr;
  }
}
@media screen and (min-width: 1280px) {
  .p-sodan {
    -ms-grid-columns: 1fr 1.4fr;
    grid-template-columns: 1fr 1.4fr;
  }
}
.p-sodan .sodan-text {
  position: relative;
  z-index: 3;
  color: #FFF;
  padding: calc(var(--spacer) * 6) 5vw;
}
@media screen and (min-width: 980px) {
  .p-sodan .sodan-text {
    padding: calc(var(--spacer) * 9) calc(var(--spacer) * 6);
  }
}
@media screen and (min-width: 1280px) {
  .p-sodan .sodan-text {
    padding: calc(var(--spacer) * 12) calc(var(--spacer) * 9);
  }
}
.p-sodan .sodan-text:before {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: #0042bb;
  z-index: -1;
}
@media screen and (min-width: 980px) {
  .p-sodan .sodan-text:before {
    width: 65vw;
  }
}
.p-sodan .sodan-text-inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -webkit-column-gap: calc(var(--spacer) * 4);
     -moz-column-gap: calc(var(--spacer) * 4);
          column-gap: calc(var(--spacer) * 4);
  row-gap: calc(var(--spacer) * 4);
}
@media screen and (min-width: 1280px) {
  .p-sodan .sodan-text-inner {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
  }
}
.p-sodan .sodan-text-inner .image {
  width: clamp(calc(220 * 1px), calc((100 / 1680) * 280 * 1vw), calc(280 * 1px));
  -ms-grid-column-align: center;
      justify-self: center;
}
.p-sodan .sodan-image {
  position: relative;
  z-index: 5;
}
.p-sodan .sodan-image .sodan-image-inner {
  position: relative;
  -webkit-box-shadow: 10px 10px 25px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 10px 10px 25px 0 rgba(0, 0, 0, 0.1);
}
.p-sodan .sodan-image .sodan-image-inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-sodan .sodan-image .sodan-image-inner:before {
  content: "";
  display: block;
  padding-top: 71.4285714286%;
}

.p-about-table {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  border: 3px solid #13334e;
  background-color: #13334e;
  border-radius: 3vw;
  row-gap: 1px;
  overflow: hidden;
}
@media screen and (min-width: 980px) {
  .p-about-table {
    border-radius: 1vw;
  }
}
@media screen and (min-width: 980px) {
  .p-about-table {
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
  }
}
.p-about-table .th {
  background-color: #e8f3f9;
  text-align: center;
}
@media screen and (min-width: 980px) {
  .p-about-table .th {
    text-align: left;
  }
}
.p-about-table .td {
  background-color: #FFF;
}
.p-about-table .th {
  padding-top: calc(var(--spacer) * 1.5);
  padding-bottom: calc(var(--spacer) * 1.5);
}
@media screen and (min-width: 980px) {
  .p-about-table .th {
    padding-top: calc(var(--spacer) * 4);
    padding-bottom: calc(var(--spacer) * 4);
  }
}
.p-map {
  height: clamp(calc(300 * 1px), calc((100 / 1680) * 500 * 1vw), calc(500 * 1px));
  width: 100%;
}
.p-map iframe {
  height: 100%;
  width: 100%;
}

.p-plan-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 3% 1fr 3% 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
  row-gap: 2em;
}
@media screen and (min-width: 600px) {
  .p-plan-list {
    -ms-grid-columns: 1fr 4% 1fr 4% 1fr 4% 1fr;
    grid-template-columns: repeat(4, 1fr);
    -webkit-column-gap: 4%;
       -moz-column-gap: 4%;
            column-gap: 4%;
  }
}
@media screen and (min-width: 980px) {
  .p-plan-list {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
    row-gap: 3em;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan-list {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
}
.p-plan-list .list-item {
  text-align: center;
}
.p-plan-list .list-item .icon {
  background-color: #e8f3f9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
}
.p-plan-list .list-item .icon img {
  width: 55%;
  line-height: 1;
}
.p-plan-list .list-item .icon:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.p-plan-list .list-item .hdg {
  margin-top: 0.6em;
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(15 * 1px), calc((100 / 1680) * 20 * 1vw), calc(20 * 1px));
  font-weight: 500;
}
.p-plan-list .list-item .hdg .sub {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(12 * 1px), calc((100 / 1680) * 15 * 1vw), calc(15 * 1px));
}
.p-plan-list.type-b .list-item .icon {
  background-color: #FFF;
}
.p-plan-list.type-b .list-item .hdg {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(12 * 1px), calc((100 / 1680) * 18 * 1vw), calc(18 * 1px));
}
.p-plan-list.type-b .list-item .hdg .sub {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(11 * 1px), calc((100 / 1680) * 15 * 1vw), calc(15 * 1px));
}

/* -----------------------------------------------------------------------------
   #Utility
   -------------------------------------------------------------------------- */
.u-d-pc {
  display: none !important;
}
@media screen and (min-width: 980px) {
  .u-d-pc {
    display: block !important;
  }
}

.u-d-pc-b {
  display: none !important;
}
@media screen and (min-width: 1280px) {
  .u-d-pc-b {
    display: block !important;
  }
}

.u-d-sp {
  display: block !important;
}
@media screen and (min-width: 980px) {
  .u-d-sp {
    display: none !important;
  }
}

.u-di-pc {
  display: none !important;
}
@media screen and (min-width: 980px) {
  .u-di-pc {
    display: inline-block !important;
  }
}

.u-di-sp {
  display: inline-block !important;
}
@media screen and (min-width: 980px) {
  .u-di-sp {
    display: none !important;
  }
}

.u-d-i {
  display: inline-block;
}

.u-m-xxs {
  margin: calc(var(--spacer) * 1);
}

.u-m-xs {
  margin: calc(var(--spacer) * 1.5);
}

.u-m-sm {
  margin: calc(var(--spacer) * 2.5);
}

.u-m-md {
  margin: calc(var(--spacer) * 4);
}

.u-m-lg {
  margin: calc(var(--spacer) * 6);
}

.u-m-xl {
  margin: calc(var(--spacer) * 9);
}

.u-m-xxl {
  margin: calc(var(--spacer) * 12);
}

.u-mt-none {
  margin-top: 0 !important;
}

.u-mt-xxs {
  margin-top: calc(var(--spacer) * 1);
}

.u-mt-xs {
  margin-top: calc(var(--spacer) * 1.5);
}

.u-mt-sm {
  margin-top: calc(var(--spacer) * 2.5);
}

.u-mt-md {
  margin-top: calc(var(--spacer) * 4);
}

.u-mt-lg-sp {
  margin-top: calc(var(--spacer) * 6);
}
@media screen and (min-width: 980px) {
  .u-mt-lg-sp {
    margin-top: 0;
  }
}

.u-mt-lg, .l-main-image-hdg-sp, .swiper-pagination {
  margin-top: calc(var(--spacer) * 6);
}

.u-mt-xl {
  margin-top: calc(var(--spacer) * 9);
}

.u-mt-xxl {
  margin-top: calc(var(--spacer) * 12);
}

.u-mr-xxs {
  margin-right: calc(var(--spacer) * 1);
}

.u-mr-xs {
  margin-right: calc(var(--spacer) * 1.5);
}

.u-mr-sm {
  margin-right: calc(var(--spacer) * 2.5);
}

.u-mr-md {
  margin-right: calc(var(--spacer) * 4);
}

.u-mr-lg {
  margin-right: calc(var(--spacer) * 6);
}

.u-mr-xl {
  margin-right: calc(var(--spacer) * 9);
}

.u-mr-xxl {
  margin-right: calc(var(--spacer) * 12);
}

.u-mb-xxs {
  margin-bottom: calc(var(--spacer) * 1);
}

.u-mb-xs {
  margin-bottom: calc(var(--spacer) * 1.5);
}

.u-mb-sm, .p-problem-list .problem-item .problem-item-inner .problem-image {
  margin-bottom: calc(var(--spacer) * 2.5);
}

.u-mb-md, .screen-reader-response {
  margin-bottom: calc(var(--spacer) * 4);
}

.u-mb-lg {
  margin-bottom: calc(var(--spacer) * 6);
}

.u-mb-xl {
  margin-bottom: calc(var(--spacer) * 9);
}

.u-mb-xxl {
  margin-bottom: calc(var(--spacer) * 12);
}

.u-mb-none {
  margin-bottom: 0 !important;
}

.u-ml-xxs {
  margin-left: calc(var(--spacer) * 1);
}

.u-ml-xs {
  margin-left: calc(var(--spacer) * 1.5);
}

.u-ml-sm {
  margin-left: calc(var(--spacer) * 2.5);
}

.u-ml-md {
  margin-left: calc(var(--spacer) * 4);
}

.u-ml-lg {
  margin-left: calc(var(--spacer) * 6);
}

.u-ml-xl {
  margin-left: calc(var(--spacer) * 9);
}

.u-ml-xxl {
  margin-left: calc(var(--spacer) * 12);
}

.u-mx-xxs {
  margin-left: calc(var(--spacer) * 1);
  margin-right: calc(var(--spacer) * 1);
}

.u-mx-xs {
  margin-left: calc(var(--spacer) * 1.5);
  margin-right: calc(var(--spacer) * 1.5);
}

.u-mx-sm {
  margin-left: calc(var(--spacer) * 2.5);
  margin-right: calc(var(--spacer) * 2.5);
}

.u-mx-md {
  margin-left: calc(var(--spacer) * 4);
  margin-right: calc(var(--spacer) * 4);
}

.u-mx-lg {
  margin-left: calc(var(--spacer) * 6);
  margin-right: calc(var(--spacer) * 6);
}

.u-mx-xl {
  margin-left: calc(var(--spacer) * 9);
  margin-right: calc(var(--spacer) * 9);
}

.u-mx-xxl {
  margin-left: calc(var(--spacer) * 12);
  margin-right: calc(var(--spacer) * 12);
}

.u-my-xxs {
  margin-top: calc(var(--spacer) * 1);
  margin-bottom: calc(var(--spacer) * 1);
}

.u-my-xs {
  margin-top: calc(var(--spacer) * 1.5);
  margin-bottom: calc(var(--spacer) * 1.5);
}

.u-my-sm {
  margin-top: calc(var(--spacer) * 2.5);
  margin-bottom: calc(var(--spacer) * 2.5);
}

.u-my-sm {
  margin-top: calc(var(--spacer) * 2.5);
  margin-bottom: calc(var(--spacer) * 2.5);
}

.u-my-md {
  margin-top: calc(var(--spacer) * 4);
  margin-bottom: calc(var(--spacer) * 4);
}

.u-my-lg {
  margin-top: calc(var(--spacer) * 6);
  margin-bottom: calc(var(--spacer) * 6);
}

.u-my-xl {
  margin-top: calc(var(--spacer) * 9);
  margin-bottom: calc(var(--spacer) * 9);
}

.u-my-xxl {
  margin-top: calc(var(--spacer) * 12);
  margin-bottom: calc(var(--spacer) * 12);
}

.u-p-xxs {
  padding: calc(var(--spacer) * 1);
}

.u-p-xs {
  padding: calc(var(--spacer) * 1.5);
}

.u-p-sm {
  padding: calc(var(--spacer) * 2.5);
}

.u-p-md, .p-about-table .td {
  padding: calc(var(--spacer) * 4);
}

.u-p-lg {
  padding: calc(var(--spacer) * 6);
}

.u-p-xl {
  padding: calc(var(--spacer) * 9);
}

.u-p-xxl {
  padding: calc(var(--spacer) * 12);
}

.u-pt-xxs {
  padding-top: calc(var(--spacer) * 1);
}

.u-pt-xs {
  padding-top: calc(var(--spacer) * 1.5);
}

.u-pt-sm {
  padding-top: calc(var(--spacer) * 2.5);
}

.u-pt-md {
  padding-top: calc(var(--spacer) * 4);
}

.u-pt-lg {
  padding-top: calc(var(--spacer) * 6);
}

.u-pt-xl {
  padding-top: calc(var(--spacer) * 9);
}

.u-pt-xxl {
  padding-top: calc(var(--spacer) * 12);
}

.u-pr-xxs {
  padding-right: calc(var(--spacer) * 1);
}

.u-pr-xs {
  padding-right: calc(var(--spacer) * 1.5);
}

.u-pr-sm {
  padding-right: calc(var(--spacer) * 2.5);
}

.u-pr-md {
  padding-right: calc(var(--spacer) * 4);
}

.u-pr-lg {
  padding-right: calc(var(--spacer) * 6);
}

.u-pr-xl {
  padding-right: calc(var(--spacer) * 9);
}

.u-pr-xxl {
  padding-right: calc(var(--spacer) * 12);
}

.u-pb-xxs {
  padding-bottom: calc(var(--spacer) * 1);
}

.u-pb-xs {
  padding-bottom: calc(var(--spacer) * 1.5);
}

.u-pb-sm {
  padding-bottom: calc(var(--spacer) * 2.5);
}

.u-pb-md {
  padding-bottom: calc(var(--spacer) * 4);
}

.u-pb-lg {
  padding-bottom: calc(var(--spacer) * 6);
}

.u-pb-xl {
  padding-bottom: calc(var(--spacer) * 9);
}

.u-pb-xxl {
  padding-bottom: calc(var(--spacer) * 12);
}

.u-pl-xxs {
  padding-left: calc(var(--spacer) * 1);
}

.u-pl-xs {
  padding-left: calc(var(--spacer) * 1.5);
}

.u-pl-sm {
  padding-left: calc(var(--spacer) * 2.5);
}

.u-pl-md {
  padding-left: calc(var(--spacer) * 4);
}

.u-pl-lg {
  padding-left: calc(var(--spacer) * 6);
}

.u-pl-xl {
  padding-left: calc(var(--spacer) * 9);
}

.u-pl-xxl {
  padding-left: calc(var(--spacer) * 12);
}

.u-px-xxs {
  padding-left: calc(var(--spacer) * 1);
  padding-right: calc(var(--spacer) * 1);
}

.u-px-xs {
  padding-left: calc(var(--spacer) * 1.5);
  padding-right: calc(var(--spacer) * 1.5);
}

.u-px-sm, .c-btn-a, .c-btn-a input[type=submit] {
  padding-left: calc(var(--spacer) * 2.5);
  padding-right: calc(var(--spacer) * 2.5);
}

.u-px-md, .p-about-table .th {
  padding-left: calc(var(--spacer) * 4);
  padding-right: calc(var(--spacer) * 4);
}

.u-px-lg {
  padding-left: calc(var(--spacer) * 6);
  padding-right: calc(var(--spacer) * 6);
}

.u-px-xl {
  padding-left: calc(var(--spacer) * 9);
  padding-right: calc(var(--spacer) * 9);
}

.u-px-xxl {
  padding-left: calc(var(--spacer) * 12);
  padding-right: calc(var(--spacer) * 12);
}

.u-py-xxs {
  padding-top: calc(var(--spacer) * 1);
  padding-bottom: calc(var(--spacer) * 1);
}

.u-py-xs {
  padding-top: calc(var(--spacer) * 1.5);
  padding-bottom: calc(var(--spacer) * 1.5);
}

.u-py-sm {
  padding-top: calc(var(--spacer) * 2.5);
  padding-bottom: calc(var(--spacer) * 2.5);
}

.u-py-md {
  padding-top: calc(var(--spacer) * 4);
  padding-bottom: calc(var(--spacer) * 4);
}

.u-py-lg {
  padding-top: calc(var(--spacer) * 6);
  padding-bottom: calc(var(--spacer) * 6);
}

.u-py-xl {
  padding-top: calc(var(--spacer) * 9);
  padding-bottom: calc(var(--spacer) * 9);
}

.u-py-xxl {
  padding-top: calc(var(--spacer) * 12);
  padding-bottom: calc(var(--spacer) * 12);
}

.u-fs-xxl {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(30 * 1px), calc((100 / 1680) * 42 * 1vw), calc(42 * 1px));
}

.u-fs-xl, .p-top-result .result-item .hdg, .p-problem-list .problem-item .problem-item-inner .hdg {
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-size: clamp(calc(21 * 1px), calc((100 / 1680) * 32 * 1vw), calc(32 * 1px));
}

.u-fs-lg, .c-hdg-b, .p-list-a .list-hdg .hdg {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(19 * 1px), calc((100 / 1680) * 24 * 1vw), calc(24 * 1px));
}

.u-fs-md, .c-btn-a, .c-btn-a input[type=submit], .p-contact-table, .p-about-table {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(17 * 1px), calc((100 / 1680) * 20 * 1vw), calc(20 * 1px));
}

.u-fs-n, body, .p-contact-table .td.input-text input[type=text], .p-contact-table .td.input-text input[type=email], .p-contact-table .td.input-text textarea {
  line-height: 2;
  letter-spacing: 0em;
  font-size: clamp(calc(16 * 1px), calc((100 / 1680) * 18 * 1vw), calc(18 * 1px));
}

.u-fs-n-b {
  line-height: 1.8;
  letter-spacing: 0em;
  font-size: clamp(calc(16 * 1px), calc((100 / 1680) * 18 * 1vw), calc(18 * 1px));
}

.u-fs-sm, .l-oss-icon .hojin, .l-oss-icon .kojin, .wpcf7-not-valid-tip {
  line-height: 1.7;
  letter-spacing: 0em;
  font-size: clamp(calc(12 * 1px), calc((100 / 1680) * 14 * 1vw), calc(14 * 1px));
}

.u-fs-xs {
  line-height: 1.6;
  letter-spacing: 0em;
  font-size: clamp(calc(11 * 1px), calc((100 / 1680) * 12 * 1vw), calc(12 * 1px));
}

.u-ff-a {
  font-family: "Roboto", sans-serif;
}

.u-ff-b {
  font-family: "Noto Sans JP", sans-serif;
}

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

.u-fw-b {
  font-weight: bold !important;
}

.u-fw-br {
  font-weight: bolder !important;
}

.u-fw-lr {
  font-weight: lighter !important;
}

.u-fw100 {
  font-weight: 100 !important;
}

.u-fw200 {
  font-weight: 200 !important;
}

.u-fw300 {
  font-weight: 300 !important;
}

.u-fw400 {
  font-weight: 400 !important;
}

.u-fw500 {
  font-weight: 500 !important;
}

.u-fw600 {
  font-weight: 600 !important;
}

.u-fw700 {
  font-weight: 700 !important;
}

.u-fw800 {
  font-weight: 800 !important;
}

.u-fw900 {
  font-weight: 900 !important;
}

.u-fsmt {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

.u-ta-j {
  text-align: justify !important;
}

.u-br-sp {
  display: block;
}
@media screen and (min-width: 600px) {
  .u-br-sp {
    display: none;
  }
}

.u-br-p {
  display: none;
}
@media screen and (min-width: 600px) {
  .u-br-p {
    display: block;
  }
}

span.br {
  display: inline-block;
}

@-webkit-keyframes effect1 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes effect1 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@-webkit-keyframes effect2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes effect2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@-webkit-keyframes effect3 {
  0% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@keyframes effect3 {
  0% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeout-b {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeout-b {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes effect7 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
@keyframes effect7 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
}
.u-inview-step .step-item-b {
  opacity: 0;
}
.u-inview-step .step-item {
  opacity: 0;
}

.u-inview1 {
  opacity: 0;
}

.animation-a, .u-inview4.iv4-effect:after, .iv1-effect {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.iv1-effect {
  -webkit-animation-name: effect1;
          animation-name: effect1;
  -webkit-animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);
          animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);
}

.u-inview4 {
  position: relative;
}
.u-inview4:after {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 8;
}
.u-inview4.iv4-effect:after {
  -webkit-animation-name: effect3;
          animation-name: effect3;
  -webkit-animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);
          animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);
}

.u-alink a {
  text-decoration: underline;
}
.u-alink a:hover {
  text-decoration: none;
}

.u-ul-a {
  /*background:linear-gradient(transparent 60%, rgb(255, 242, 0) 60%);*/
  color: #ffea00;
  font-weight: 600;
}