@charset "UTF-8";
:root {
  --c-gray: #ccc;
  --c-blue: #0070CE;
  --c-orange: #FFA10A;
  --c-green: #57AA2D;
  --c-red: #E30000;
  --c-white: #fff;
  --c-black: #1B1D31;
  --c-black02: #282B36;
  --c-black03: #4A505F;
  --bg-gray: #F5F5F5;
  --bd-gray: #ddd;
  --bg-color: var(--c-black02);
  --bg-sub-color: var(--c-white);
  --font-color: var(--c-white);
  --rem5: 0.5rem;
  --rem10: 1rem;
  --rem11: 1.1rem;
  --rem12: 1.2rem;
  --rem13: 1.3rem;
  --rem14: 1.4rem;
  --rem15: 1.5rem;
  --rem16: 1.6rem;
  --rem18: 1.8rem;
  --rem19: 1.9rem;
  --rem20: 2rem;
  --rem22: 2.2rem;
  --rem24: 2.4rem;
  --rem26: 2.6rem;
  --rem28: 2.8rem;
  --rem30: 3rem;
  --rem32: 3.2rem;
  --rem34: 3.4rem;
  --rem36: 3.6rem;
  --rem38: 3.8rem;
  --rem40: 4rem;
  --rem42: 4.2rem;
  --rem45: 4.5rem;
  --rem46: 4.6rem;
  --rem48: 4.8rem;
  --rem50: 5rem;
  --rem52: 5.2rem;
  --rem60: 6rem;
  --rem70: 7rem;
  --rem80: 8rem;
  --rem90: 9rem;
  --vw10: calc((10 / 1280) * 100vw);
  --vw12: calc((12 / 1280) * 100vw);
  --vw14: calc((14 / 1280) * 100vw);
  --vw16: calc((16 / 1280) * 100vw);
  --vw18: calc((18 / 1280) * 100vw);
  --vw19: calc((19 / 1280) * 100vw);
  --vw20: calc((20 / 1280) * 100vw);
  --vw22: calc((22 / 1280) * 100vw);
  --vw24: calc((24 / 1280) * 100vw);
  --vw26: calc((26 / 1280) * 100vw);
  --vw28: calc((28 / 1280) * 100vw);
  --vw30: calc((30 / 1280) * 100vw);
  --vw32: calc((32 / 1280) * 100vw);
  --vw34: calc((34 / 1280) * 100vw);
  --vw36: calc((36 / 1280) * 100vw);
  --vw38: calc((38 / 1280) * 100vw);
  --vw40: calc((40 / 1280) * 100vw);
  --vw42: calc((42 / 1280) * 100vw);
  --vw44: calc((44 / 1280) * 100vw);
  --vw45: calc((45 / 1280) * 100vw);
  --vw46: calc((46 / 1280) * 100vw);
  --vw54: calc((54 / 1280) * 100vw);
  --vw60: calc((60 / 1280) * 100vw);
  --vw70: calc((70 / 1280) * 100vw);
  --vw80: calc((80 / 1280) * 100vw);
  --vw90: calc((90 / 1280) * 100vw);
  --fs-bese: var(--rem14);
  --fs-default: var(--rem14);
  --post-fs: var(--rem14);
  --ff-yugo: "Noto Sans JP", sans-serif;
  --ff-en: "Poppins", sans-serif;
  --entry-h2-fs: var(--rem24);
  --entry-h3-fs: var(--rem20);
  --entry-h4-fs: var(--rem18);
  --entry-h5-fs: var(--rem16);
  --entry-h6-fs: var(--rem16);
  --h2-fs: var(--rem28);
  --h3-fs: var(--rem24);
  --h4-fs: var(--rem18);
  --hgroup-en: var(--rem14);
  --container-width: 1100px;
  --container-width-small: 960px;
  --container-width-xs: 880px;
  --container-padding: 4rem;
  --contents-margin-xl: 8rem;
  --contents-margin-l: 6rem;
  --contents-margin-m: 4rem;
  --contents-margin-s: 3rem;
  --contents-margin-xs: 1.5rem;
  --l-header-inner-height: 6rem;
  --l-header-height: calc(var(--l-header-inner-height) + var(--l-header-padding-y) * 2);
  --l-header-padding-x: 2rem;
  --l-header-padding-y: 1rem;
  --l-header-logo-width: 12.4rem;
  --l-header-logo-fs: 1rem;
  --l-header-bg-color: var(--c-white);
  --logo-aspect: 19.6/7.7;
  --drawer-wight: 100%;
  --main-wrap-padding-t: calc(var(--l-header-height));
  --l-foot-padding-t: 8rem;
  --l-foot-fs: var(--rem16);
  --l-foot-color: var(--c-black);
  --l-foot-nav-fs: var(--rem12);
  --l-foot-logo-width: 26.2rem;
  --l-foot-logo-fs: var(--rem14);
  --copyright-padding-y: 3.2rem;
  --copyright-fs: var(--rem10);
  --copyright-color: var(--c-black);
  --footer-nav-gap: 40px;
  --btn-min-height: 8rem;
  --btn-min-width: calc(100% - 4rem);
  --btn-bd-width: 0;
  --btn-icon-size: 2.5rem;
  --btn-icon-bg-color: var(--btn-bg-color);
  --btn-icon-bd-color: var(--btn-color);
  --zindex-header: 1100;
  --zindex-drawer: 1000;
  --zindex-modal: 10000;
  --wp-var: 32px;
  --post-element-margin-t: 0;
  --post-element-margin-b: 0;
  --post-block-margin-t: 0;
  --post-block-margin-b: 0;
  --t-page-header-bg-url: url(../img/common/mv-common.jpg);
  --t-page-body-padding-b: 160px;
  --t-page-body-padding-t: 90px;
  --t-page-title-fs: var(--rem30);
}
@media (min-width:768px) {
  :root {
    --fs-bese: var(--rem16);
    --fs-default: var(--rem16);
    --post-fs: var(--rem16);
  }
}
@media (min-width:768px) {
  :root {
    --entry-h2-fs: var(--rem36);
    --entry-h3-fs: var(--rem36);
    --entry-h4-fs: var(--rem24);
    --entry-h5-fs: var(--rem18);
    --entry-h6-fs: var(--rem16);
  }
}
@media (min-width:768px) {
  :root {
    --h2-fs: var(--rem50);
    --h3-fs: var(--rem36);
    --h4-fs: var(--rem22);
  }
}
@media (min-width:1081px) {
  :root {
    --h2-fs: var(--rem60);
    --h3-fs: var(--rem40);
    --h4-fs: var(--rem24);
  }
}
@media (min-width:768px) {
  :root {
    --hgroup-en: var(--rem24);
  }
}
@media (min-width:768px) {
  :root {
    --container-padding: 8rem;
  }
}
@media (min-width:992px) {
  :root {
    --container-padding: 12rem;
  }
}
@media (min-width:1280px) {
  :root {
    --container-padding: 15rem;
  }
}
@media (min-width:768px) {
  :root {
    --contents-margin-xl: 14.5rem;
    --contents-margin-l: 10rem;
    --contents-margin-m: 5rem;
    --contents-margin-s: 3rem;
    --contents-margin-xs: 2rem;
  }
}
@media (min-width:992px) {
  :root {
    --l-header-inner-height: 6rem;
    --l-header-padding-x: 2rem;
    --l-header-padding-y: 2.2rem;
    --l-header-logo-width: 16.2rem;
    --l-header-logo-fs: 1.1rem;
  }
}
@media (min-width:1081px) {
  :root {
    --l-header-inner-height: 8rem;
    --l-header-padding-x: 3rem;
    --l-header-padding-y: 2.2rem;
    --l-header-logo-width: 19.6rem;
    --l-header-logo-fs: 1.2rem;
  }
}
@media (min-width:768px) {
  :root {
    --l-foot-padding-t: 8rem;
    --copyright-padding-y: 6rem;
    --copyright-fs: var(--rem12);
    --l-foot-logo-fs: var(--rem14);
  }
}
@media (min-width:992px) {
  :root {
    --l-foot-padding-t: 10rem;
    --copyright-padding-y: 8rem;
    --copyright-fs: var(--rem12);
    --l-foot-logo-fs: var(--rem14);
  }
}
@media (min-width:768px) {
  :root {
    --btn-min-height: 8rem;
    --btn-min-width: 38rem;
  }
}
@media (max-width:991px) {
  :root {
    --wp-var: 32px;
  }
}
@media (max-width:767px) {
  :root {
    --wp-var: 46px;
  }
}
@media (min-width:768px) {
  :root {
    --t-page-title-fs: var(--rem60);
  }
}
@media (min-width:1081px) {
  :root {
    --t-page-title-fs: var(--rem70);
  }
}

/*
* base
* --------------------------------------------------*/
/* body
-----------------------------------------------------*/
html {
  scroll-padding-top: var(--l-header-height);
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-color);
  color: var(--font-color);
  padding-top: 0;
}

img {
  vertical-align: top;
}

/*
* font
* --------------------------------------------------*/
html {
  font-size: calc(10 / 375 * 100vw);
}
@media (min-width:768px) {
  html {
    font-size: 10px;
  }
}

html, body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
}

body {
  font-size: var(--fs-bese);
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 2;
  font-variation-settings: "wdth" 100;
}

.ff-en {
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

ul,
ol, h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
}

em {
  font-style: bold;
  font-style: italic;
}

strong {
  font-weight: bold;
}

a {
  color: var(--font-color);
}

a,
input[type=submit],
input[type=button],
button {
  text-decoration: none;
}

:where(a,
input[type=submit],
input[type=button],
button) {
  outline: none;
}
:where(a,
input[type=submit],
input[type=button],
button):hover, :where(a,
input[type=submit],
input[type=button],
button):active {
  color: #8c8c8c;
  outline: none;
  text-decoration: none;
  opacity: 0.7;
}
:where(a,
input[type=submit],
input[type=button],
button):focus, :where(a,
input[type=submit],
input[type=button],
button):active {
  outline: none;
  text-decoration: none;
}
:where(a,
input[type=submit],
input[type=button],
button):active:focus, :where(a,
input[type=submit],
input[type=button],
button):active.focus, :where(a,
input[type=submit],
input[type=button],
button).active:focus, :where(a,
input[type=submit],
input[type=button],
button).active.focus {
  outline: none;
  text-decoration: none;
}

figure {
  margin-top: 0;
}
figure img {
  margin-bottom: 0;
}

img {
  max-width: 100%;
  width: auto;
  margin-top: 0;
}

input:-moz-placeholder-shown, .form-control:-moz-placeholder-shown {
  color: #ddd;
}

input:-ms-input-placeholder, .form-control:-ms-input-placeholder {
  color: #ddd;
}

input:placeholder-shown,
.form-control:placeholder-shown {
  color: #ddd;
}
input::-webkit-input-placeholder,
.form-control::-webkit-input-placeholder {
  color: #ddd;
}
input:-moz-placeholder,
.form-control:-moz-placeholder {
  color: #ddd;
  opacity: 1;
}
input::-moz-placeholder,
.form-control::-moz-placeholder {
  color: #ddd;
  opacity: 1;
}
input:-ms-input-placeholder,
.form-control:-ms-input-placeholder {
  color: #ddd;
}
input:focus,
.form-control:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

hr {
  margin-top: 30px;
  margin-bottom: 30px;
  border: 0;
}

blockquote {
  padding: 30px 30px 30px 35px;
  position: relative;
}

/*
-- Layout CSS
-------------------------------------------------- */
.main-wrap {
  padding-top: var(--main-wrap-padding-t);
  width: 100%;
  overflow: hidden;
}

.l-section {
  padding: 60px 0;
}

.container {
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  max-width: calc(var(--container-width) + var(--container-padding) * 2);
  width: 100%;
  margin-inline: auto;
}

.container-small {
  --container-width: var(--container-width-small);
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  max-width: calc(var(--container-width-small) + var(--container-padding) * 2);
  width: 100%;
  margin-inline: auto;
}

.container-xs {
  --container-width: var(--container-width-xs);
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  max-width: calc(var(--container-width-xs) + var(--container-padding) * 2);
  width: 100%;
  margin-inline: auto;
}

.row {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.row > [class*=col-], .row .col {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.row-20 {
  margin-left: -1rem;
  margin-right: -1rem;
}
.row-20 > [class*=col-],
.row-20 .col {
  padding-left: 1rem;
  padding-right: 1rem;
}

.row-40 {
  margin-left: -2rem;
  margin-right: -2rem;
}
.row-40 > [class*=col-],
.row-40 .col {
  padding-left: 2rem;
  padding-right: 2rem;
}

.row-50 {
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}
.row-50 > [class*=col-],
.row-50 .col {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.row-10 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.row-10 > [class*=col-], .row-10 .col {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.row-0 {
  margin-left: 0;
  margin-right: 0;
}
.row-0 > [class*=col-], .row-0 .col {
  padding-left: 0;
  padding-right: 0;
}

@media (max-width:991px) {
  .row, .row-10, .row-20, .row-40 .row-50 {
    gap: 1.5rem 0;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .row > [class*=col-], .row .col, .row-10 > [class*=col-], .row-10 .col, .row-20 > [class*=col-], .row-20 .col, .row-40 .row-50 > [class*=col-], .row-40 .row-50 .col {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .row-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .row-0 > [class*=col-], .row-0 .col {
    padding-left: 0;
    padding-right: 0;
  }
}
.column5 > .col {
  max-width: 20%;
  -webkit-box-flex: 20%;
      -ms-flex: 20%;
          flex: 20%;
}

@media (max-width:991px) {
  .column5 > .col-sp-1 {
    max-width: 100%;
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%;
  }
}
@media (max-width:991px) {
  .column5 > .col-sp-1 {
    max-width: 100%;
    -webkit-box-flex: 100%;
        -ms-flex: 100%;
            flex: 100%;
  }
}
.l-header {
  width: 100%;
  height: var(--l-header-height);
  position: absolute;
  left: 0;
  top: 0;
  z-index: var(--zindex-header);
}
.l-header .inner {
  height: var(--l-header-height);
  padding: var(--l-header-padding-y) var(--l-header-padding-x);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  background-color: var(--c-white);
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
.l-header .l-header-logo {
  z-index: calc(var(--zindex-header) + 20);
}
.l-header .l-gnav-bar {
  z-index: calc(var(--zindex-header));
}
.l-header .l-header-fixed-wrap {
  z-index: calc(var(--zindex-header) - 50);
  display: none;
}
.l-header .l-header-drawer-wrap {
  z-index: calc(var(--zindex-header) + 20);
  padding: 1rem 1rem 1rem 0;
  position: fixed;
  right: 0;
  top: 0;
}
.logged-in .l-header .inner {
  margin-top: var(--wp-var);
}
.logged-in .l-header .l-header-drawer-wrap {
  top: var(--wp-var);
}

@media (min-width:992px) {
  .l-header .inner {
    position: static;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-header .l-header-fixed-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 2rem;
    position: fixed;
    right: 0;
    top: 0;
    height: var(--l-header-height);
    padding: var(--l-header-padding-y) calc(var(--l-header-inner-height) + var(--l-header-padding-x) * 2) var(--l-header-padding-y) var(--l-header-padding-x);
  }
  .l-header .l-header-drawer-wrap {
    position: fixed;
    padding: var(--l-header-padding-y) var(--l-header-padding-x) var(--l-header-padding-y) 0;
    right: 0;
    top: 0;
  }
  .logged-in .l-header .l-header-drawer-wrap,
  .logged-in .l-header .l-header-fixed-wrap {
    top: var(--wp-var);
  }
}
@media (min-width:1081px) {
  .l-header .l-header-fixed-wrap {
    gap: 3rem;
  }
}
.l-header-logo-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 0.7rem;
}

.l-header-logo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 -1rem 0 0;
}
.l-header-logo .logo-link {
  display: block;
}
.l-header-logo .logo-text {
  display: block;
  font-size: var(--l-header-logo-fs);
  font-weight: bold;
  color: var(--c-black);
  line-height: 1.3;
  white-space: nowrap;
  margin-bottom: 0.5rem;
}
.l-header-logo .logo-img {
  display: block;
  width: var(--l-header-logo-width);
  height: auto;
  margin-bottom: 0;
  aspect-ratio: var(--logo-aspect);
}

@media (min-width:992px) {
  .l-header-logo-wrap {
    gap: 0 1.5rem;
  }
  .l-header-logo {
    margin: 0;
  }
  .l-header-logo .logo-text {
    line-height: 1.1;
    margin-bottom: 0.6rem;
  }
}
@media (min-width:1081px) {
  .l-header-logo-wrap {
    gap: 0 2.5rem;
  }
  .l-header-logo .logo-text {
    margin-bottom: 1rem;
  }
}
.l-footer {
  --container-padding: 2rem;
  --font-color: var(--c-black);
  color: var(--font-color);
  background-color: var(--bg-sub-color);
  padding: var(--l-foot-padding-t) 0 0;
  position: relative;
}
.l-footer .l-footer-info {
  margin-top: 2.6rem;
}
.l-footer .l-footer-right {
  margin-top: 6rem;
}
.l-footer .l-fooer-copyright {
  font-size: var(--copyright-fs);
  padding: var(--copyright-padding-y) 0;
  letter-spacing: normal;
  text-align: left;
}

@media (min-width:768px) {
  .l-footer {
    --container-padding: 3rem;
    position: relative;
  }
  .l-footer .l-footer-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    z-index: 5;
    gap: 1rem;
  }
  .l-footer .l-footer-row .l-footer-left {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .l-footer .l-footer-row .l-footer-right {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 0;
  }
  .l-footer .l-footer-logo {
    margin-bottom: 0;
  }
  .l-footer .l-footer-info {
    margin-top: 3.6rem;
  }
  .l-footer .l-fooer-copyright {
    margin-top: 1.2rem;
    padding: 0 0 var(--copyright-padding-y);
    text-align: center;
  }
}
.l-footer-logo-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0 0.7rem;
}

.l-footer-logo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
.l-footer-logo .logo-link {
  display: block;
}
.l-footer-logo .logo-text {
  display: block;
  font-size: var(--l-foot-logo-fs);
  font-weight: bold;
  color: var(--c-black);
  line-height: 1.3;
  white-space: nowrap;
  margin-bottom: 1rem;
}
.l-footer-logo .logo-img {
  display: block;
  width: var(--l-foot-logo-width);
  height: auto;
  margin-bottom: 0;
  aspect-ratio: var(--logo-aspect);
}

.l-footer-badge {
  width: 5.5rem;
  margin-bottom: -0.5rem;
}
.l-footer-badge .img {
  max-width: 100%;
  display: block;
  margin: 0;
}

@media (min-width:992px) {
  .l-footer-logo-wrap {
    gap: 0 1.5rem;
  }
  .l-footer-logo .logo-text {
    line-height: 1.7;
    margin-bottom: 0.5rem;
  }
  .l-footer-badge {
    width: 7.3rem;
    margin-bottom: 0;
  }
}
@media (min-width:1280px) {
  .l-footer-logo-wrap {
    gap: 0 2.5rem;
  }
}
.l-footer-info {
  font-size: var(--rem14);
}
.l-footer-info .l-footer-info-heading {
  font-weight: bold;
}

@media (min-width:992px) {
  .l-footer-info {
    font-size: var(--rem16);
  }
}
.l-footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 0;
}
@media (min-width:768px) {
  .l-footer-nav {
    gap: 2rem;
  }
}
@media (min-width:992px) {
  .l-footer-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 5rem;
  }
}

.footer-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 1rem;
  width: 100%;
}
.footer-nav-list .item {
  padding: ０;
}
.footer-nav-list .link {
  font-size: var(--rem12);
  font-weight: bold;
  line-height: 1.1;
  width: 100%;
}
.footer-nav-list .link:hover {
  opacity: 1;
  color: var(--c-blue);
}

@media (min-width:768px) {
  .footer-nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem 8rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 100%;
  }
  .footer-nav-list .item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    text-align: center;
    line-height: 1.3;
    padding: 0;
    min-height: auto;
  }
  .footer-nav-list .item:nth-child(3n-1), .footer-nav-list .item:nth-child(3n) {
    border: 0;
  }
  .footer-nav-list .link {
    font-size: var(--l-foot-fs);
    min-height: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    display: block;
  }
  .footer-nav-list .link br {
    display: none;
  }
}
.l-gnav-bar {
  --l-gnav-color: var(--c-white);
  --btn-min-height: var(--l-header-height);
  --l-gnav-fs: var(--rem16);
  --l-gnav-gap: 20px;
  --btn-min-width: 170px;
}
@media (min-width:1280px) {
  .l-gnav-bar {
    --l-gnav-fs: clamp(var(--rem10), var(--rem-vw16), var(--rem16));
    --l-gnav-gap: clamp(10px, 3.2787vw, 40px);
    --btn-min-width: 240px;
  }
}
@media (min-width:1280px) {
  .l-gnav-bar {
    --l-gnav-fs: var(--rem16);
    --l-gnav-gap: 4rem;
    --btn-min-width: 24rem;
  }
}

.l-gnav-bar {
  color: var(--l-gnav-color);
  position: fixed;
  left: 0;
  top: 0;
  display: block;
  height: 100dvh;
  width: 100%;
  padding: var(--l-header-height) 0 0;
  overflow-y: scroll;
  background-color: #333;
}
.l-gnav-bar .gnav-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  padding: 3rem 3.5rem;
  min-height: 100%;
  gap: 3rem 3rem;
}
.l-gnav-bar .gnav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  height: auto;
}

@media (min-width:768px) {
  .l-gnav-bar .gnav-inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
@media (min-width:992px) {
  .l-gnav-bar {
    --l-gnav-gap: .5rem;
    height: auto;
    position: fixed;
    top: 0;
    left: auto;
    right: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    padding: 0;
    overflow: visible;
    background-color: transparent;
    width: 60rem;
    max-width: 60rem;
    height: 100dvh;
    background-color: #333;
  }
  .l-gnav-bar > .gnav-inner {
    max-width: var(--panel-width);
    height: auto;
    padding: calc(var(--l-header-height) + 2rem) 6rem 4rem;
    width: 100%;
    margin: 0 auto;
    gap: 4rem;
  }
  .l-gnav-bar .gnav-list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    height: 100%;
  }
}
.gnav-list .item {
  position: relative;
}
.gnav-list .link {
  font-size: var(--l-gnav-fs);
  font-weight: 700;
  color: var(--l-gnav-color);
}
.gnav-list .link br {
  display: none;
}
.gnav-list .link:hover, .gnav-list .link:active {
  opacity: 1;
  --l-gnav-color: var(--c-blue);
}

@media (min-width:992px) {
  .gnav-list {
    --l-gnav-fs: var(--rem18);
    --l-gnav-color: var(--c-white);
  }
  .gnav-list .item {
    min-height: auto;
  }
  .gnav-list .link {
    min-height: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.3;
    text-align: center;
  }
}
@media (max-width:991px) {
  .l-gnav-bar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transform: translateY(20vh);
        -ms-transform: translateY(20vh);
            transform: translateY(20vh);
    -webkit-transition-property: -webkit-transform opacity;
    transition-property: -webkit-transform opacity;
    transition-property: transform opacity;
    transition-property: transform opacity, -webkit-transform opacity;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-delay: 0.05;
            transition-delay: 0.05;
  }
  .l-gnav-bar.is-open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
}
@media (min-width:992px) {
  .l-gnav-bar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition-property: -webkit-transform opacity;
    transition-property: -webkit-transform opacity;
    transition-property: transform opacity;
    transition-property: transform opacity, -webkit-transform opacity;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-delay: 0.05;
            transition-delay: 0.05;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
  }
  .l-gnav-bar.is-open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
.pull-down {
  margin: 0;
  height: auto;
}
.pull-down .parent {
  display: none;
  gap: 0.7em;
}
.pull-down .parent::after {
  content: "";
  display: block;
  width: 1.4rem;
  height: 0.7rem;
  background-color: var(--c-black);
  -webkit-mask-image: url(../img/common/nav-parent-arrow.svg);
          mask-image: url(../img/common/nav-parent-arrow.svg);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: relative;
}
.pull-down .child-wrap {
  width: 100%;
  visibility: visible;
  opacity: 1;
  position: relative;
  top: 0;
  left: 0;
  border: 0;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.pull-down .child-wrap .item {
  width: 100%;
  max-width: 100%;
  background-color: transparent;
  border: 0;
}
.pull-down .child-wrap .item .link {
  font-size: var(--rem16);
}
.pull-down .child-wrap .item + .item {
  margin-top: 2rem;
}
.pull-down:hover .parent::after, .pull-down:active .parent::after {
  background-color: var(--c-orange);
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

@media (min-width:992px) {
  .pull-down {
    position: relative;
    height: 100%;
    z-index: 100;
  }
  .pull-down .parent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .pull-down:hover .child-wrap, .pull-down:active .child-wrap {
    width: 100%;
    visibility: visible;
    opacity: 1;
    height: 22rem;
  }
  .pull-down .child-wrap {
    visibility: hidden;
    background-color: var(--c-black03);
    min-width: 36rem;
    padding: 1.8rem 2.5rem;
    border: 0;
    border-radius: 0 0 1rem 1rem;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-transition-property: height;
    transition-property: height;
    -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
    opacity: 0;
    z-index: 10;
    height: 0;
    overflow: hidden;
  }
  .pull-down .child-wrap .item {
    min-height: auto;
    width: 100%;
    max-width: 100%;
    padding: 0;
    border: 0;
    text-align: left;
  }
  .pull-down .child-wrap .item + .item {
    margin-top: 0;
  }
  .pull-down .child-wrap .item .link {
    color: var(--c-white);
    min-height: auto;
    border: 0;
    padding: 8px 0;
    width: 100%;
    text-align: left;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .pull-down .child-wrap .item .link:hover, .pull-down .child-wrap .item .link::after {
    color: var(--c-orange);
  }
}
.logged-in .l-drawer {
  top: 32px;
  height: calc(100dvh - 32px);
}

.l-cta-sect {
  --l-cta-padding-t: 6.8rem;
  --l-cta-padding-b: 3rem;
  --l-cta-bg-img: url(../img/common/cta-bg.jpg);
  --l-cta-title-fs: var(--rem24);
  --l-cta-copy-fs: var(--rem14);
  --l-cta-gap: 2rem;
  --l-cta-btn-width: 100%;
  --l-cta-list-fs: var(--rem18);
  padding: var(--l-cta-padding-t) 0 var(--l-cta-padding-b);
  background-image: var(--l-cta-bg-img);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  height: var(--l-cta-height);
  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 (min-width:768px) {
  .l-cta-sect {
    --l-cta-padding-t: 8rem;
    --l-cta-padding-b: 8rem;
    --l-cta-bg-img: url(../img/common/cta-bg.jpg);
    --l-cta-title-fs: var(--rem50);
    --l-cta-height: auto;
    --l-cta-gap: 4rem;
    --l-cta-list-fs: var(--rem24);
  }
}
@media (min-width:992px) {
  .l-cta-sect {
    --l-cta-padding-t: 10rem;
    --l-cta-padding-b: 10rem;
    --l-cta-btn-width: 67.2rem;
    --l-cta-title-fs: var(--rem60);
  }
}
.l-cta-sect .l-cta-title {
  font-size: var(--l-cta-title-fs);
  font-weight: bold;
  text-align: center;
  color: var(--c-white);
  line-height: 1.3;
  margin-top: 0.7rem;
}
.l-cta-sect .l-cta-lead {
  font-size: var(--l-cta-copy-fs);
  color: var(--c-white);
  text-align: left;
  margin-top: 3rem;
}
.l-cta-sect .l-cta-list {
  margin-top: 3rem;
}
.l-cta-sect .cta-btns-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--l-cta-gap);
  margin-top: 5rem;
  position: relative;
  z-index: 1;
}
.l-cta-sect .cta-btns-wrap .btn {
  min-width: var(--l-cta-btn-width);
  width: var(--l-cta-btn-width);
}
@media (min-width:768px) {
  .l-cta-sect .l-cta-title {
    width: calc(100% + 6rem);
    margin-left: -3rem;
  }
  .l-cta-sect .l-cta-lead {
    margin-top: 4rem;
  }
  .l-cta-sect .l-cta-lead {
    margin-top: 3rem;
    text-align: center;
  }
  .l-cta-sect .cta-btns-wrap {
    margin-top: 5rem;
  }
}

.l-cta-list {
  --icon-size: var(--rem20);
  --icon-gap: var(--rem10);
  --li-fs: var(--rem18);
  font-size: var(--li-fs);
  width: var(--l-cta-btn-width);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-inline: auto;
  gap: 1rem 0;
}
@media (min-width:768px) {
  .l-cta-list {
    --icon-size: var(--rem20);
    --icon-gap: var(--rem10);
    --li-fs: var(--rem24);
  }
}
.l-cta-list li {
  padding-left: calc(var(--icon-size) + var(--icon-gap));
  position: relative;
  line-height: 1.5;
}
.l-cta-list li::before {
  content: "";
  display: inline-block;
  height: var(--rem20);
  width: var(--rem20);
  background-image: url(../img/common/icon-cta-list.svg);
  background-position: center center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.l-cta-common-box {
  --icon-size: var(--rem20);
  --icon-gap: var(--rem10);
  --li-widht: 100%;
  padding: 2rem;
  border: 2px solid var(--c-white);
  border-radius: var(--rem10);
}
@media (min-width:768px) {
  .l-cta-common-box {
    padding: 3rem;
  }
}

.l-cta-box {
  --icon-size: var(--rem20);
  --icon-gap: var(--rem10);
  --li-widht: 100%;
  padding: 2rem;
  border: 2px solid var(--c-white);
  border-radius: var(--rem10);
  margin-top: 2rem;
}
.l-cta-box .box-h {
  font-size: var(--rem22);
  border-bottom: 1px solid var(--c-white);
  padding-bottom: 5px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.l-cta-box .l-cta-list {
  margin-top: 2rem;
}
.l-cta-box .cta-btns-wrap {
  margin-top: 2rem;
}
@media (min-width:768px) {
  .l-cta-box {
    --icon-size: var(--rem20);
    --icon-gap: var(--rem10);
    --li-fs: var(--rem24);
    margin-top: 4rem;
    padding: 3.8rem 3rem;
  }
  .l-cta-box .box-h {
    font-size: var(--rem36);
  }
  .l-cta-box .l-cta-list {
    margin-top: 4rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    display: block;
  }
  .l-cta-box .cta-btns-wrap {
    margin-top: 4rem;
  }
}

/*
-- plugin
--------------------------------------------------*/
/*
-- Module CSS
-------------------------------------------------- */
/* 見出し
-----------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  word-wrap: break-word;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
  text-decoration: none;
}

.h2, :where(.entry-contents) h2 {
  --icon-size: 0;
  --icon-margin: 0;
  font-size: var(--entry-h2-fs);
  font-weight: bold;
  line-height: 1.3;
  position: relative;
  padding-left: calc(var(--icon-size) + var(--icon-margin));
}
.h2:not(.none-style, .hgroup-heading, .heading-fs60), :where(.entry-contents) h2:not(.none-style, .hgroup-heading, .heading-fs60) {
  --icon-size: 0.6rem;
  --icon-margin: 1rem;
  color: var(--c-orange);
  border-left: var(--icon-size) solid var(--c-orange);
}

.h3, :where(.entry-contents) h3 {
  --icon-size: 0;
  --icon-margin: 0;
  font-size: var(--entry-h3-fs);
  font-weight: bold;
  position: relative;
  padding-left: calc(var(--icon-size) + var(--icon-margin));
}
.h3:not(.none-style, .hgroup-heading, .heading-fs60), :where(.entry-contents) h3:not(.none-style, .hgroup-heading, .heading-fs60) {
  --icon-size: 0;
  --icon-margin: 0;
  color: var(--c-white);
}
@media (min-width:992px) {
  .h3:not(.none-style, .hgroup-heading, .heading-fs60), :where(.entry-contents) h3:not(.none-style, .hgroup-heading, .heading-fs60) {
    --icon-size: 0;
    --icon-margin: 0;
  }
}
.h3:not(.none-style, .hgroup-heading, .heading-fs60).none-icon, :where(.entry-contents) h3:not(.none-style, .hgroup-heading, .heading-fs60).none-icon {
  --icon-size: 0;
  --icon-margin: 0;
}
.h3:not(.none-style, .hgroup-heading, .heading-fs60).none-icon::before, :where(.entry-contents) h3:not(.none-style, .hgroup-heading, .heading-fs60).none-icon::before {
  content: none;
}

.num-h3 {
  --icon-fs: var(--rem24);
  --fs: var(--rem19);
  --gap: 0.6rem;
  margin-top: var(--contents-margin-m);
  margin-bottom: 1rem;
  line-height: 1.5;
  font-size: var(--entry-h3-fs);
  font-weight: bold;
  color: var(--c-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--gap);
  font-size: var(--fs);
}
@media (min-width:992px) {
  .num-h3 {
    --icon-fs: var(--rem50);
    --fs: var(--rem36);
    --gap: 1rem;
    margin-bottom: 0;
  }
}
.num-h3 .en {
  font-family: var(--ff-en);
  font-size: var(--icon-fs);
  color: var(--c-orange);
}

.h4, :where(.entry-contents) h4 {
  --icon-size: 0;
  --icon-margin: 0;
  font-size: var(--entry-h4-fs);
  font-weight: bold;
  position: relative;
  padding-left: calc(var(--icon-size) + var(--icon-margin));
}
.h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3), :where(.entry-contents) h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3) {
  color: var(--c-orange);
  --icon-size: 2rem;
  --icon-margin: 0.5rem;
}
@media (min-width:768px) {
  .h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3), :where(.entry-contents) h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3) {
    --icon-size: 1.6rem;
    --icon-margin: 0.5rem;
  }
}
.h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3)::before, :where(.entry-contents) h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3)::before {
  content: "";
  position: absolute;
  display: block;
  height: 2px;
  width: var(--icon-size);
  top: 0.8em;
  left: 0;
  margin: 0;
  background-color: var(--c-orange);
}
@media (min-width:768px) {
  .h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3)::before, :where(.entry-contents) h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3)::before {
    top: 0.7em;
  }
}
.h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3).text-black, :where(.entry-contents) h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .num-h3).text-black {
  color: var(--c-black);
}

.h5, :where(.entry-contents) h5 {
  --icon-size: 0;
  --icon-margin: 0;
  font-size: var(--entry-h5-fs);
  font-weight: bold;
  position: relative;
  padding-left: calc(var(--icon-size) + var(--icon-margin));
}
.h5:not(.none-style), :where(.entry-contents) h5:not(.none-style) {
  --icon-size: 1.5rem;
  --icon-margin: 0.5rem;
  color: var(--c-orange);
}
.h5:not(.none-style)::before, :where(.entry-contents) h5:not(.none-style)::before {
  content: "";
  display: inline-block;
  height: var(--icon-size);
  width: var(--icon-size);
  background-color: var(--c-orange);
  position: absolute;
  left: 0;
  top: 0.3em;
  border-radius: 100vmax;
}

.heading-fs60 {
  font-size: var(--h2-fs);
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 6rem;
}

.hgroup-has-en {
  --en-fs: clamp(var(--rem16), var(--vw24), var(--rem24));
  --en-color: var(--c-orange);
  --en-offset-y: clamp(var(--rem16), var(--vw40), var(--rem40));
  --en-offset-x: 0px;
  --en-icon-x: 3.3rem;
  --en-icon-y: 4rem;
  --en-icon-offset: 0.8rem;
  --margin-t: 8rem;
  --margin-b: 8rem;
  display: block;
  position: relative;
  margin-bottom: var(--margin-b);
  z-index: 10;
}
.hgroup-has-en.negativen-mr-20 {
  margin-right: -2rem;
  width: calc(100% + 2rem);
}
.hgroup-has-en:is(:not(:first-child)) {
  margin-top: var(--margin-t);
}
.hgroup-has-en .hgroup-heading-en {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-family: var(--ff-en);
  font-size: var(--en-fs);
  font-weight: 600;
  white-space: nowrap;
  color: var(--en-color);
  padding: calc(var(--en-icon-y) + var(--en-icon-offset)) 0 0;
  margin: 0;
  position: absolute;
  top: var(--en-offset-y);
  left: calc(var(--en-offset-x) * -1);
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: 10;
  letter-spacing: 0.1em;
}
.hgroup-has-en .hgroup-heading-en::before {
  display: block;
  height: var(--en-icon-y);
  width: var(--en-icon-x);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.hgroup-has-en .hgroup-heading:is(:not(:first-child)), .hgroup-has-en .hgroup-heading {
  margin: 0;
}
.hgroup-has-en h2, .hgroup-has-en h3, .hgroup-has-en h4 {
  margin: 0;
}
.hgroup-has-en h2 {
  font-size: var(--h2-fs);
}
.hgroup-has-en h3 {
  font-size: var(--h3-fs);
  letter-spacing: 0;
}
.hgroup-has-en:has(h2) {
  --en-fs: var(--rem12);
  --en-color: var(--c-orange);
  --en-offset-y: var(--rem10);
  --en-offset-x: var(--rem5);
  --en-icon-x: 2rem;
  --en-icon-y: 2.5rem;
  --en-icon-offset: 0.4rem;
  --margin-t: 4rem;
  --margin-b: 4rem;
}
@media (min-width:768px) {
  .hgroup-has-en:has(h2) {
    --en-fs: var(--rem20);
    --en-offset-y: var(--rem16);
    --en-offset-x: var(--rem14);
    --en-icon-x: 3.3rem;
    --en-icon-y: 4rem;
    --en-icon-offset: 0.8rem;
    --margin-t: 8rem;
    --margin-b: 4rem;
  }
}
@media (min-width:1420px) {
  .hgroup-has-en:has(h2) {
    --en-fs: var(--rem24);
    --en-offset-y: var(--rem16);
    --en-offset-x: var(--rem20);
    --en-icon-x: 3.3rem;
    --en-icon-y: 4rem;
    --en-icon-offset: 0.8rem;
    --margin-t: 8rem;
    --margin-b: 5rem;
  }
}
.hgroup-has-en:has(h2) .hgroup-heading-en {
  position: absolute;
}
.hgroup-has-en:has(h2) .hgroup-heading-en::before {
  content: "";
  background-image: url(../img/common/sect-h-en.svg);
}

.heading-dl {
  --bgc: var(--c-white);
  --dt-fs: var(--rem24);
  --dd-fs: var(--rem20);
  --arrow-x: 1.4rem;
  --arrow-y: 0.8rem;
  --gap: 1rem;
  margin-top: var(--contents-margin-l);
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--gap);
}
@media (min-width:768px) {
  .heading-dl {
    --dt-fs: var(--rem50);
    --dd-fs: var(--rem36);
    --arrow-x: 1.4rem;
    --arrow-y: 1.2rem;
    --gap: calc(var(--arrow-x) + 1.6rem);
  }
}
.heading-dl .dt-arrow {
  color: var(--c-black);
  background-color: var(--bgc);
  padding: 0 0.3em;
  font-size: var(--dt-fs);
  line-height: 1.5;
  position: relative;
}
.heading-dl .dt-arrow::after {
  content: "";
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  background-color: var(--bgc);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  -webkit-transform: translate(-50%, -1px);
      -ms-transform: translate(-50%, -1px);
          transform: translate(-50%, -1px);
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1;
}
.heading-dl .dd {
  font-size: var(--dd-fs);
  line-height: 1.3;
}
@media (min-width:768px) {
  .heading-dl {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .heading-dl .dt-arrow::after {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    -webkit-transform: translate(-1px, -50%);
        -ms-transform: translate(-1px, -50%);
            transform: translate(-1px, -50%);
    top: 50%;
    left: 100%;
  }
}

.h-bubble, .lead-bubble {
  --arrow-x: 3.8rem;
  --arrow-y: auto;
  font-size: var(--rem20);
  font-weight: bold;
  text-align: center;
  border: 2px solid var(--c-white);
  border-radius: 2rem;
  padding: 2rem 2.5rem 2.2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5;
  margin-inline: auto;
  position: relative;
}
.h-bubble::before, .h-bubble::after, .lead-bubble::before, .lead-bubble::after {
  content: "";
  aspect-ratio: 1/1.1578;
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  position: absolute;
  left: 50%;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.h-bubble::before, .lead-bubble::before {
  background-color: #fff;
  bottom: 0;
  -webkit-transform: translate(-50%, 100%);
      -ms-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
.h-bubble::after, .lead-bubble::after {
  background-color: var(--c-black02);
  width: calc(var(--arrow-x) - 3px);
  bottom: 1px;
  -webkit-transform: translate(-50%, 100%);
      -ms-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
.h-bubble.-top-arrow, .lead-bubble.-top-arrow {
  margin-top: 8rem;
}
.h-bubble.-top-arrow::before, .h-bubble.-top-arrow::after, .lead-bubble.-top-arrow::before, .lead-bubble.-top-arrow::after {
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.h-bubble.-top-arrow::before, .lead-bubble.-top-arrow::before {
  bottom: 100%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.h-bubble.-top-arrow::after, .lead-bubble.-top-arrow::after {
  bottom: 100%;
  -webkit-transform: translate(-50%, 1px);
      -ms-transform: translate(-50%, 1px);
          transform: translate(-50%, 1px);
}
@media (min-width:768px) {
  .h-bubble, .lead-bubble {
    font-size: var(--rem36);
    line-height: 1.3;
  }
}
.sect-bg .h-bubble::after, .sect-bg .lead-bubble::after {
  background-color: var(--c-black);
}

.sns-h:is(:not(:first-child)), .sns-h {
  content: none;
  color: var(--c-white);
  padding-left: 6.5rem;
}
.sns-h:is(:not(:first-child)) .icon, .sns-h .icon {
  width: 5.6rem;
  height: 5.6rem;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 0;
}

/* list
-----------------------------------------------------*/
.ul > li, .ul-simple > li,
.ol > li, .ol-simple > li {
  margin-bottom: 0;
  padding-left: 1.5em;
  position: relative;
}
.ul > li:last-child, .ul-simple > li:last-child,
.ol > li:last-child, .ol-simple > li:last-child {
  margin-bottom: 0;
}
.ul > li li, .ul-simple > li li,
.ol > li li, .ol-simple > li li {
  margin-top: 0;
  margin-bottom: 0;
}

.ul > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 1rem;
  height: 1rem;
  top: 0.73em;
  left: 0.3em;
  margin: 0;
  background-color: var(--c-orange);
  border-radius: 100vmax;
}
.ul > li li::before {
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 2px;
  top: 0.9em;
  left: 3px;
  margin: 0;
  background-color: var(--c-orange);
}

.ol > li {
  counter-increment: item;
  margin-bottom: 0;
}
.ol > li::before {
  content: counter(item) ".";
  font-weight: bold;
  color: var(--c-orange);
  position: absolute;
  left: 0.2em;
  padding-right: 0.5em;
}

:where(.entry-contents) ul > li,
:where(.entry-contents) ol > li {
  margin-bottom: 0;
  padding-left: 1.5em;
  position: relative;
}
:where(.entry-contents) ul > li:last-child,
:where(.entry-contents) ol > li:last-child {
  margin-bottom: 0;
}
:where(.entry-contents) ul > li li,
:where(.entry-contents) ol > li li {
  margin-top: 0;
  margin-bottom: 0;
}
:where(.entry-contents) ul > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 1rem;
  height: 1rem;
  top: 0.73em;
  left: 0.3em;
  margin: 0;
  background-color: var(--c-orange);
  border-radius: 100vmax;
}
:where(.entry-contents) ul > li li::before {
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 2px;
  top: 0.9em;
  left: 3px;
  margin: 0;
  background-color: var(--c-orange);
}
:where(.entry-contents) ol > li {
  counter-increment: item;
  margin-bottom: 0;
}
:where(.entry-contents) ol > li::before {
  content: counter(item) ".";
  font-weight: bold;
  color: var(--c-orange);
  position: absolute;
  left: 0.2em;
  padding-right: 0.5em;
}

.ul-lg > li {
  position: relative;
  font-size: var(--rem15);
}
.ul-lg > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 1rem;
  height: 1rem;
  top: 0.73em;
  left: 0.3em;
  margin: 0;
  border-radius: 100vmax;
}
@media (min-width:768px) {
  .ul-lg > li {
    font-size: var(--rem18);
  }
  .ul-lg > li::before {
    width: 1.2rem;
    height: 1.2rem;
    top: 0.73em;
    left: 0.3em;
  }
}

.ul-simple > li {
  position: relative;
}
.ul-simple > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  top: 0.99em;
  left: 0.5em;
  margin: 0;
  background-color: var(--c-white);
  border-radius: 100vmax;
}
.ul-simple > li .ul-simple {
  margin-top: 0;
  margin-bottom: 1rem;
}
.ul-simple > li .ul-simple > li::before {
  width: 1rem;
  height: 0.1rem;
  top: 0.99em;
  left: 0.5em;
  border-radius: 0;
}

.ol-simple > li {
  counter-increment: item;
  margin-bottom: 0;
}
.ol-simple > li::before {
  content: counter(item) ".";
  font-weight: normal;
  color: var(--c-white);
  position: absolute;
  left: 0.2em;
  padding-right: 0.5em;
}

.list-huff {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.list-huff > li {
  width: 100%;
}
@media (min-width:768px) {
  .list-huff > li {
    width: 50%;
  }
}

.list-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.list-col3 > li {
  width: 100%;
}
@media (min-width:768px) {
  .list-col3 > li {
    width: 50%;
  }
}
@media (min-width:1081px) {
  .list-col3 > li {
    width: 33%;
  }
}

.service-list > li::before {
  content: none;
}
.service-list .service-item {
  --padding-x: 0;
  --padding-y: 0;
  --icon-size: 9rem;
  --gap: 4.6rem;
  --h-fs: var(--rem24);
  --mt: 5rem;
  gap: var(--gap);
  padding: var(--padding-y) var(--padding-x);
}
@media (min-width:768px) {
  .service-list .service-item {
    --icon-size: 13rem;
    --gap: 3.5rem;
    --h-fs: var(--rem28);
  }
}
@media (min-width:1081px) {
  .service-list .service-item {
    --icon-size: 16rem;
    --gap: 4.6rem;
    --h-fs: var(--rem36);
  }
}
.service-list .service-item .col-img {
  width: var(--icon-size);
  height: var(--icon-size);
  margin: 0 auto;
}
.service-list .service-item .col-img img {
  width: var(--icon-size);
  height: var(--icon-size);
  margin: 0;
  display: block;
}
.service-list .service-item .col-text {
  width: 100%;
}
.service-list .service-item .item-h {
  color: var(--c-white);
  text-align: center;
  padding: 0;
  margin: 1rem 0 1rem;
}
.service-list .service-item ul {
  margin-top: 1rem;
}
.service-list .service-item ul > li {
  margin: 0;
}
.service-list .service-item ul > li::before {
  width: 1rem;
  height: 1rem;
  top: 0.73em;
  left: 0.3em;
  border-radius: 100vmax;
}
.service-list .service-item + .service-item {
  margin-top: var(--mt);
}
@media (min-width:768px) {
  .service-list .service-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .service-list .service-item .col-img {
    margin: 0;
  }
  .service-list .service-item .col-img img {
    margin: 0;
  }
  .service-list .service-item .col-text {
    width: calc(100% - var(--icon-size) - var(--gap));
  }
  .service-list .service-item .item-h {
    padding: 0;
    margin: 0 0 1rem;
    text-align: left;
  }
  .service-list .service-item ul > li {
    margin-top: 0;
  }
  .service-list .service-item ul > li::before {
    top: 0.73em;
    left: 0.3em;
    border-radius: 100vmax;
  }
}
.service-list .service-item.service-box {
  background-color: var(--c-black03);
  --padding-x: 2rem;
  --padding-y: 2rem;
  --radius: 1rem;
}
@media (min-width:768px) {
  .service-list .service-item.service-box {
    --padding-x: 3.5rem;
    --padding-y: 2.5rem;
  }
}
@media (min-width:1081px) {
  .service-list .service-item.service-box {
    --padding-x: 5rem;
    --padding-y: 3rem;
  }
}

.page-links {
  --fs: var(--rem15);
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5rem 0;
}
.page-links .item {
  padding: 0;
  width: 50%;
  border-right: 1px solid var(--c-white);
  text-align: center;
}
.page-links .item:nth-child(2n) {
  border-right: 0;
}
.page-links .item::before {
  content: none;
}
.page-links .link {
  font-size: var(--fs);
  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;
  width: 100%;
  gap: 0.6rem;
}
.page-links .link::after {
  content: "";
  display: block;
  border-bottom: 2px solid var(--c-white);
  border-right: 2px solid var(--c-white);
  width: 0.7rem;
  height: 0.7rem;
  -webkit-transform: translateY(-0.1em) rotate(45deg);
      -ms-transform: translateY(-0.1em) rotate(45deg);
          transform: translateY(-0.1em) rotate(45deg);
}
@media (min-width:768px) {
  .page-links {
    --fs: var(--rem18);
    gap: 2.5rem 0;
  }
  .page-links .item {
    padding: 0;
    width: 33.33%;
  }
  .page-links .item:nth-child(2n) {
    border-right: 1px solid var(--c-white);
  }
  .page-links .item:nth-child(3n) {
    border-right: 0;
  }
  .page-links .link {
    font-size: var(--fs);
  }
  .page-links .link::after {
    width: 1.3rem;
    height: 1.3rem;
  }
}
@media (min-width:1081px) {
  .page-links .item {
    width: 25%;
  }
  .page-links .item:nth-child(3n) {
    border-right: 1px solid var(--c-white);
  }
  .page-links .item:nth-child(4n) {
    border-right: 0;
  }
}
@media (min-width:1280px) {
  .page-links {
    --fs: var(--rem24);
  }
  .page-links .item {
    width: 25%;
  }
  .page-links .link::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* table
-----------------------------------------------------*/
.table, :where(.entry-contents) table {
  margin-inline: auto;
  width: 100%;
}
.table tbody tr th, .table tbody tr td, .table thead tr th, .table thead tr td, .table tfoot tr th, .table tfoot tr td, :where(.entry-contents) table tbody tr th, :where(.entry-contents) table tbody tr td, :where(.entry-contents) table thead tr th, :where(.entry-contents) table thead tr td, :where(.entry-contents) table tfoot tr th, :where(.entry-contents) table tfoot tr td {
  border-color: var(--bd-gray);
  background-color: transparent;
  border-style: solid;
  border-width: 0;
  border-bottom-width: 1px;
  vertical-align: top;
  padding: 3rem 0;
}
.table tbody tr th + th, .table tbody tr th + td, .table tbody tr td + th, .table tbody tr td + td, .table thead tr th + th, .table thead tr th + td, .table thead tr td + th, .table thead tr td + td, .table tfoot tr th + th, .table tfoot tr th + td, .table tfoot tr td + th, .table tfoot tr td + td, :where(.entry-contents) table tbody tr th + th, :where(.entry-contents) table tbody tr th + td, :where(.entry-contents) table tbody tr td + th, :where(.entry-contents) table tbody tr td + td, :where(.entry-contents) table thead tr th + th, :where(.entry-contents) table thead tr th + td, :where(.entry-contents) table thead tr td + th, :where(.entry-contents) table thead tr td + td, :where(.entry-contents) table tfoot tr th + th, :where(.entry-contents) table tfoot tr th + td, :where(.entry-contents) table tfoot tr td + th, :where(.entry-contents) table tfoot tr td + td {
  padding-left: 3rem;
}
.table tbody tr th, .table thead tr th, .table tfoot tr th, :where(.entry-contents) table tbody tr th, :where(.entry-contents) table thead tr th, :where(.entry-contents) table tfoot tr th {
  color: var(--c-white);
  font-weight: 700;
}
.table img, :where(.entry-contents) table img {
  vertical-align: top;
}
@media (max-width:767px) {
  .table.table-sp-break, :where(.entry-contents) table.table-sp-break {
    display: block;
  }
  .table.table-sp-break tbody, .table.table-sp-break thead, .table.table-sp-break tfoot, :where(.entry-contents) table.table-sp-break tbody, :where(.entry-contents) table.table-sp-break thead, :where(.entry-contents) table.table-sp-break tfoot {
    display: block;
  }
  .table.table-sp-break tbody tr, .table.table-sp-break thead tr, .table.table-sp-break tfoot tr, :where(.entry-contents) table.table-sp-break tbody tr, :where(.entry-contents) table.table-sp-break thead tr, :where(.entry-contents) table.table-sp-break tfoot tr {
    display: block;
  }
  .table.table-sp-break tbody tr th, .table.table-sp-break tbody tr td, .table.table-sp-break thead tr th, .table.table-sp-break thead tr td, .table.table-sp-break tfoot tr th, .table.table-sp-break tfoot tr td, :where(.entry-contents) table.table-sp-break tbody tr th, :where(.entry-contents) table.table-sp-break tbody tr td, :where(.entry-contents) table.table-sp-break thead tr th, :where(.entry-contents) table.table-sp-break thead tr td, :where(.entry-contents) table.table-sp-break tfoot tr th, :where(.entry-contents) table.table-sp-break tfoot tr td {
    display: block;
    width: 100%;
    padding: 2rem 1rem;
    line-height: 1.7;
  }
  .table.table-sp-break tbody tr th + th, .table.table-sp-break tbody tr th + td, .table.table-sp-break tbody tr td + th, .table.table-sp-break tbody tr td + td, .table.table-sp-break thead tr th + th, .table.table-sp-break thead tr th + td, .table.table-sp-break thead tr td + th, .table.table-sp-break thead tr td + td, .table.table-sp-break tfoot tr th + th, .table.table-sp-break tfoot tr th + td, .table.table-sp-break tfoot tr td + th, .table.table-sp-break tfoot tr td + td, :where(.entry-contents) table.table-sp-break tbody tr th + th, :where(.entry-contents) table.table-sp-break tbody tr th + td, :where(.entry-contents) table.table-sp-break tbody tr td + th, :where(.entry-contents) table.table-sp-break tbody tr td + td, :where(.entry-contents) table.table-sp-break thead tr th + th, :where(.entry-contents) table.table-sp-break thead tr th + td, :where(.entry-contents) table.table-sp-break thead tr td + th, :where(.entry-contents) table.table-sp-break thead tr td + td, :where(.entry-contents) table.table-sp-break tfoot tr th + th, :where(.entry-contents) table.table-sp-break tfoot tr th + td, :where(.entry-contents) table.table-sp-break tfoot tr td + th, :where(.entry-contents) table.table-sp-break tfoot tr td + td {
    padding-top: 0;
    padding-left: 1rem;
  }
  .table.table-sp-break tbody tr th, .table.table-sp-break thead tr th, .table.table-sp-break tfoot tr th, :where(.entry-contents) table.table-sp-break tbody tr th, :where(.entry-contents) table.table-sp-break thead tr th, :where(.entry-contents) table.table-sp-break tfoot tr th {
    border-bottom-width: 0;
    padding-bottom: 0.8rem;
  }
  .table.table-sp-break tbody tr td, .table.table-sp-break thead tr td, .table.table-sp-break tfoot tr td, :where(.entry-contents) table.table-sp-break tbody tr td, :where(.entry-contents) table.table-sp-break thead tr td, :where(.entry-contents) table.table-sp-break tfoot tr td {
    border-bottom-width: 1px;
    font-size: var(--rem14);
  }
}
.table.table-sp-break tbody th, .table.table-sp-break thead th, .table.table-sp-break tfoot th, :where(.entry-contents) table.table-sp-break tbody th, :where(.entry-contents) table.table-sp-break thead th, :where(.entry-contents) table.table-sp-break tfoot th {
  border-top: 0;
  border-bottom: 0;
}
.table.table-sp-break tbody td, .table.table-sp-break thead td, .table.table-sp-break tfoot td, :where(.entry-contents) table.table-sp-break tbody td, :where(.entry-contents) table.table-sp-break thead td, :where(.entry-contents) table.table-sp-break tfoot td {
  border-top: 0;
}

.table-sp-break, .wp-block-table table {
  margin-inline: auto;
  width: 100%;
}
.table-sp-break tbody tr th, .table-sp-break tbody tr td, .table-sp-break thead tr th, .table-sp-break thead tr td, .table-sp-break tfoot tr th, .table-sp-break tfoot tr td, .wp-block-table table tbody tr th, .wp-block-table table tbody tr td, .wp-block-table table thead tr th, .wp-block-table table thead tr td, .wp-block-table table tfoot tr th, .wp-block-table table tfoot tr td {
  border-color: var(--bd-gray);
  background-color: transparent;
  border-style: solid;
  border-width: 0;
  border-bottom-width: 1px;
  vertical-align: top;
  padding: 3rem 0;
}
.table-sp-break tbody tr th + th, .table-sp-break tbody tr th + td, .table-sp-break tbody tr td + th, .table-sp-break tbody tr td + td, .table-sp-break thead tr th + th, .table-sp-break thead tr th + td, .table-sp-break thead tr td + th, .table-sp-break thead tr td + td, .table-sp-break tfoot tr th + th, .table-sp-break tfoot tr th + td, .table-sp-break tfoot tr td + th, .table-sp-break tfoot tr td + td, .wp-block-table table tbody tr th + th, .wp-block-table table tbody tr th + td, .wp-block-table table tbody tr td + th, .wp-block-table table tbody tr td + td, .wp-block-table table thead tr th + th, .wp-block-table table thead tr th + td, .wp-block-table table thead tr td + th, .wp-block-table table thead tr td + td, .wp-block-table table tfoot tr th + th, .wp-block-table table tfoot tr th + td, .wp-block-table table tfoot tr td + th, .wp-block-table table tfoot tr td + td {
  padding-left: 3rem;
}
.table-sp-break tbody tr th, .table-sp-break thead tr th, .table-sp-break tfoot tr th, .wp-block-table table tbody tr th, .wp-block-table table thead tr th, .wp-block-table table tfoot tr th {
  color: var(--c-white);
  font-weight: 700;
}
.table-sp-break img, .wp-block-table table img {
  vertical-align: top;
}
@media (max-width:767px) {
  .table-sp-break, .wp-block-table table {
    display: block;
  }
  .table-sp-break tbody, .table-sp-break thead, .table-sp-break tfoot, .wp-block-table table tbody, .wp-block-table table thead, .wp-block-table table tfoot {
    display: block;
  }
  .table-sp-break tbody tr, .table-sp-break thead tr, .table-sp-break tfoot tr, .wp-block-table table tbody tr, .wp-block-table table thead tr, .wp-block-table table tfoot tr {
    display: block;
  }
  .table-sp-break tbody tr th, .table-sp-break tbody tr td, .table-sp-break thead tr th, .table-sp-break thead tr td, .table-sp-break tfoot tr th, .table-sp-break tfoot tr td, .wp-block-table table tbody tr th, .wp-block-table table tbody tr td, .wp-block-table table thead tr th, .wp-block-table table thead tr td, .wp-block-table table tfoot tr th, .wp-block-table table tfoot tr td {
    display: block;
    width: 100%;
    padding: 2rem 1rem;
    line-height: 1.7;
  }
  .table-sp-break tbody tr th + th, .table-sp-break tbody tr th + td, .table-sp-break tbody tr td + th, .table-sp-break tbody tr td + td, .table-sp-break thead tr th + th, .table-sp-break thead tr th + td, .table-sp-break thead tr td + th, .table-sp-break thead tr td + td, .table-sp-break tfoot tr th + th, .table-sp-break tfoot tr th + td, .table-sp-break tfoot tr td + th, .table-sp-break tfoot tr td + td, .wp-block-table table tbody tr th + th, .wp-block-table table tbody tr th + td, .wp-block-table table tbody tr td + th, .wp-block-table table tbody tr td + td, .wp-block-table table thead tr th + th, .wp-block-table table thead tr th + td, .wp-block-table table thead tr td + th, .wp-block-table table thead tr td + td, .wp-block-table table tfoot tr th + th, .wp-block-table table tfoot tr th + td, .wp-block-table table tfoot tr td + th, .wp-block-table table tfoot tr td + td {
    padding-top: 0;
    padding-left: 1rem;
  }
  .table-sp-break tbody tr th, .table-sp-break thead tr th, .table-sp-break tfoot tr th, .wp-block-table table tbody tr th, .wp-block-table table thead tr th, .wp-block-table table tfoot tr th {
    border-bottom-width: 0;
    padding-bottom: 0.8rem;
  }
  .table-sp-break tbody tr td, .table-sp-break thead tr td, .table-sp-break tfoot tr td, .wp-block-table table tbody tr td, .wp-block-table table thead tr td, .wp-block-table table tfoot tr td {
    border-bottom-width: 1px;
    font-size: var(--rem14);
  }
}

.wp-block-table table {
  margin: 0;
}

.table-scroll {
  overflow-x: scroll;
  width: calc(100% + 3rem);
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.table-scroll table {
  width: 100%;
}
.table-scroll table thead th {
  border-collapse: collapse;
  white-space: nowrap;
  min-width: 22rem;
}
.table-scroll table thead th:first-child {
  min-width: auto;
}
@media (min-width:768px) {
  .table-scroll {
    overflow-x: auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .table-scroll table {
    width: 100%;
  }
  .table-scroll table thead th {
    border-collapse: collapse;
    white-space: wrap;
    min-width: auto;
  }
  .table-scroll table thead th:first-child {
    min-width: auto;
  }
}

.t-wp30 {
  width: 30%;
}

.t-wp25 {
  width: 25%;
}

.t-wp20 {
  width: 20%;
}

.t-wp15 {
  width: 15%;
}

.front-table {
  border: 2px solid var(--bd-gray);
}
.front-table tbody th, .front-table tbody td, .front-table thead th, .front-table thead td, .front-table tfoot th, .front-table tfoot td {
  border: 2px solid var(--bd-gray);
  font-size: var(--rem14);
  text-align: center;
  line-height: 1.5;
  padding: 0.5rem 0.4rem;
  width: 33.3333%;
}
@media (min-width:992px) {
  .front-table tbody th, .front-table tbody td, .front-table thead th, .front-table thead td, .front-table tfoot th, .front-table tfoot td {
    font-size: var(--rem24);
    padding: 1.5rem 1rem;
    width: auto;
  }
}
.front-table tbody th, .front-table thead th, .front-table tfoot th {
  background-color: var(--bg-gray);
  white-space: b;
}

@media (min-width:768px) {
  .wp-block-table tbody tr th:first-child,
  .wp-block-table tbody tr td:first-child,
  .wp-block-table thead tr th:first-child,
  .wp-block-table thead tr td:first-child,
  .wp-block-table tfoot tr th:first-child,
  .wp-block-table tfoot tr td:first-child {
    width: 20%;
  }
}

.table-diff {
  --bd: 5px solid #FF4D4D;
  background-color: var(--c-white);
}
.table-diff thead, .table-diff tbody {
  color: var(--c-black);
}
.table-diff thead tr th, .table-diff thead tr td, .table-diff tbody tr th, .table-diff tbody tr td {
  color: var(--c-black);
  border: 1px solid var(--bd-gray);
  text-align: center;
  padding: 1rem 1.5rem;
  vertical-align: middle;
}
.table-diff thead tr th:last-child, .table-diff thead tr td:last-child, .table-diff tbody tr th:last-child, .table-diff tbody tr td:last-child {
  border-left: var(--bd);
  border-right: var(--bd);
}
.table-diff thead tr th, .table-diff tbody tr th {
  font-size: var(--rem14);
  background-color: #F5F5F5;
}
.table-diff thead tr th {
  font-size: var(--rem14);
}
.table-diff thead tr th:last-child {
  border-top: var(--bd);
}
.table-diff tbody tr th, .table-diff tbody tr td {
  padding: 1.5rem 1rem;
  font-size: var(--rem14);
}
.table-diff tbody tr th {
  width: 25.45%;
}
.table-diff tbody tr td {
  width: 15rem;
}
.table-diff tbody tr:last-child th, .table-diff tbody tr:last-child td {
  width: 15rem;
}
.table-diff tbody tr:last-child th:last-child, .table-diff tbody tr:last-child td:last-child {
  border-bottom: var(--bd);
}

@media (min-width:768px) {
  .table-diff thead tr th, .table-diff thead tr td, .table-diff tbody tr th, .table-diff tbody tr td {
    padding: 1rem 1.5rem;
  }
  .table-diff thead tr th, .table-diff tbody tr th {
    font-size: var(--rem24);
  }
  .table-diff thead tr th {
    font-size: var(--rem24);
  }
  .table-diff tbody tr th, .table-diff tbody tr td {
    font-size: var(--rem16);
    padding: 3rem 1.5rem;
  }
  .table-diff tbody tr th {
    width: 25.45%;
  }
  .table-diff tbody tr td {
    width: 37.2727%;
  }
}
.table-while {
  background-color: var(--c-white);
}
.table-while thead, .table-while tbody {
  color: var(--c-black);
}
.table-while thead tr th, .table-while thead tr td, .table-while tbody tr th, .table-while tbody tr td {
  color: var(--c-black);
  border: 1px solid var(--bd-gray);
  text-align: center;
  padding: 1rem 1.5rem;
  vertical-align: middle;
}
.table-while thead tr th, .table-while tbody tr th {
  font-size: var(--rem14);
  background-color: #F5F5F5;
}
.table-while thead tr th {
  font-size: var(--rem14);
}
.table-while thead tr th:last-child {
  border-top: var(--bd);
}
.table-while tbody tr th, .table-while tbody tr td {
  padding: 1.5rem 1rem;
  font-size: var(--rem14);
}

.btn {
  --btn-bg-color: var(--c-white);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--font-color);
  --btn-hover-bg-color: var(--c-gray);
  --btn-hover-bd-color: var(--c-gray);
  --btn-hover-color: var(--c-white);
  --btn-width-size: var(--btn-min-width);
  --btn-height-size: var(--btn-min-height);
  --btn-fs: var(--fs-default);
  text-decoration: none;
  background-color: var(--btn-bg-color);
  border: 0 solid var(--btn-bd-color);
  color: var(--btn-color);
  min-width: var(--btn-width-size);
  min-height: var(--btn-height-size);
  font-size: var(--btn-fs);
  font-weight: 700;
  border-radius: 0;
  white-space: normal;
  letter-spacing: 0.03em;
  text-align: center;
  padding: 0.5rem 2rem;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: none;
  transition: none;
}
.btn:focus, .btn:disabled, .btn:visited, .btn:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
}
.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active, .btn:not(:disabled):not(.disabled):active:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
}
.btn:hover, .btn:active, .btn.touch {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
}
.btn:focus, .btn:disabled, .btn:visited, .btn:focus {
  background-color: var(--btn-bg-color);
  border: 0 solid var(--btn-bd-color);
  color: var(--btn-color);
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active, .btn:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 0 solid inherit;
  color: inherit;
}
.btn:hover, .btn:active, .btn.touch {
  background-color: var(--btn-hover-bg-color);
  border: 0 solid var(--btn-hover-bd-color);
  color: var(--btn-hover-color);
  opacity: 1;
}
.btn:has(.icon) {
  gap: 10px;
}
.btn .icon {
  margin: 0;
}

.btn-orange, .btn-danger {
  --btn-bg-color: var(--c-orange);
  --btn-bd-color: var(--c-orange);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-orange);
  --btn-hover-bd-color: var(--c-orange);
  --btn-hover-color: var(--c-white);
}

.btn-header {
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-white);
  --btn-hover-color: var(--c-blue);
  --btn-width-size: 10rem;
  --btn-height-size: 6rem;
  width: 100%;
  max-width: 34rem;
  border-radius: 100vmax;
}
.btn-header:focus, .btn-header:disabled, .btn-header:visited, .btn-header:focus {
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn-header:not(:disabled):not(.disabled):active, .btn-header:not(:disabled):not(.disabled).active, .btn-header:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 2px solid inherit;
  color: inherit;
}
.btn-header:hover, .btn-header:active, .btn-header.touch {
  background-color: var(--btn-hover-bg-color);
  border: 2px solid var(--btn-hover-bd-color);
  color: var(--btn-hover-color);
  opacity: 1;
}
.btn-header::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  border: 2px solid transparent;
  border-radius: 100vmax;
  position: absolute;
  top: 0;
  left: 0;
}
.btn-header:hover, .btn-header:active {
  background-image: -webkit-gradient(linear, left bottom, left top, from(var(--c-white)), to(var(--c-white)));
  background-image: linear-gradient(0, var(--c-white), var(--c-white));
}
.btn-header:hover::after, .btn-header:active::after {
  border: 2px solid var(--c-grad-green);
}
@media (min-width:992px) {
  .btn-header {
    --btn-width-size: clamp(var(--rem10), 14vw, 200px);
    --btn-height-size: 6rem;
    font-size: clamp(var(--rem10), var(--vw18), var(--rem18));
  }
}
@media (min-width:1081px) {
  .btn-header {
    --btn-width-size: 23rem;
    --btn-height-size: 8rem;
    font-size: var(--rem18);
  }
}
.is-positon-top .btn-header {
  --btn-hover-bd-color: var(--c-blue);
}

.btn:where(:not(.btn-header)) {
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-blue);
  --btn-hover-color: var(--c-blue);
  --btn-icon-size: 2rem;
  --btn-icon-bg-color: var(--btn-color);
  border-radius: 100vmax;
  background-size: 100% 100%;
  background-image: var(--btn-bg-img);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.btn:where(:not(.btn-header)):focus, .btn:where(:not(.btn-header)):disabled, .btn:where(:not(.btn-header)):visited, .btn:where(:not(.btn-header)):focus {
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn:where(:not(.btn-header)):not(:disabled):not(.disabled):active, .btn:where(:not(.btn-header)):not(:disabled):not(.disabled).active, .btn:where(:not(.btn-header)):not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 2px solid inherit;
  color: inherit;
}
.btn:where(:not(.btn-header)):hover, .btn:where(:not(.btn-header)):active, .btn:where(:not(.btn-header)).touch {
  background-color: var(--btn-hover-bg-color);
  border: 2px solid var(--btn-hover-bd-color);
  color: var(--btn-hover-color);
  opacity: 1;
}
.btn:where(:not(.btn-header))::after {
  content: "";
  display: inline-block;
  height: var(--btn-icon-size);
  width: var(--btn-icon-size);
  background-color: var(--btn-icon-bg-color);
  -webkit-mask-image: url(../img/common/icon-arrow.svg);
          mask-image: url(../img/common/icon-arrow.svg);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  position: absolute;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.btn:where(:not(.btn-header)):hover, .btn:where(:not(.btn-header)):active {
  background-image: var(--btn-hover-bg-img);
}
.btn:where(:not(.btn-header)):hover::after, .btn:where(:not(.btn-header)):active::after {
  --btn-icon-bg-color: var(--btn-hover-color);
}
.btn.btn-cta {
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-white);
  --btn-hover-color: var(--c-blue);
  --btn-fs: var(--rem18);
  --btn-width-size: 100%;
  --btn-height-size: 8rem;
  border-radius: var(--rem10);
}
@media (min-width:992px) {
  .btn.btn-cta {
    --btn-fs: var(--rem24);
    --btn-height-size: 11rem;
  }
}
.btn.btn-lg {
  --btn-fs: var(1.8rem);
  --btn-width-size: 67.100%;
  --btn-height-size: 9rem;
  border-radius: 1rem;
}
@media (min-width:768px) {
  .btn.btn-lg {
    --btn-width-size: 67.8rem;
    --btn-height-size: 11rem;
  }
}

.btn-orange:where(:not(.btn-header)) {
  --btn-bg-color: var(--c-orange);
  --btn-bd-color: var(--c-orange);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-orange);
  --btn-hover-color: var(--c-orange);
}

.btn-blue:where(:not(.btn-header)) {
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-blue);
  --btn-hover-color: var(--c-blue);
}

.wp-block-button .wp-block-button__link {
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-blue);
  --btn-hover-color: var(--c-blue);
  --btn-icon-size: 2rem;
  --btn-icon-bg-color: var(--btn-color);
  border-radius: 100vmax;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  min-width: var(--btn-min-width);
  min-height: var(--btn-min-height);
  position: relative;
}
.wp-block-button .wp-block-button__link:focus, .wp-block-button .wp-block-button__link:disabled, .wp-block-button .wp-block-button__link:visited, .wp-block-button .wp-block-button__link:focus {
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.wp-block-button .wp-block-button__link:not(:disabled):not(.disabled):active, .wp-block-button .wp-block-button__link:not(:disabled):not(.disabled).active, .wp-block-button .wp-block-button__link:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 2px solid inherit;
  color: inherit;
}
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:active, .wp-block-button .wp-block-button__link.touch {
  background-color: var(--btn-hover-bg-color);
  border: 2px solid var(--btn-hover-bd-color);
  color: var(--btn-hover-color);
  opacity: 1;
}
.wp-block-button .wp-block-button__link::after {
  content: "";
  display: inline-block;
  height: var(--btn-icon-size);
  width: var(--btn-icon-size);
  background-color: var(--btn-icon-bg-color);
  -webkit-mask-image: url();
          mask-image: url();
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  position: absolute;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:active {
  background-image: var(--btn-hover-bg-img);
}
.wp-block-button .wp-block-button__link:hover::after, .wp-block-button .wp-block-button__link:active::after {
  --btn-icon-bg-color: var(--btn-hover-color);
}

.btn {
  --btn-icon-bg-color: var(--btn-color);
  --btn-icon-bd-color: var(--btn-color);
}

.btn.icon-arrow {
  --btn-icon-arrow-url: url(../img/common/icon-arrow.svg);
  --btn-icon-size: 20px;
  gap: 0 10px;
  padding: 5px calc(var(--btn-height-size) * 0.5);
}
.btn.icon-arrow::after {
  content: "";
  -webkit-transform: translate(20%, -50%);
      -ms-transform: translate(20%, -50%);
          transform: translate(20%, -50%);
}
.btn.icon-blank {
  --btn-icon-arrow-url: url();
  gap: 0 10px;
}
.btn.icon-blank::after {
  content: "";
}
.btn.icon-mail {
  --btn-icon-arrow-url: url();
  gap: 0 10px;
}
.btn.icon-mail::before {
  content: "";
}

.btns-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}
.btns-wrap.btns-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btns-wrap.btns-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.btns-wrap.btns-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.drawer-btn {
  --drawer-btn-size: 6rem;
  --drawer-btn-bar-widht: 1.6rem;
  --drawer-btn-bar-weight: 0.2rem;
  --drawer-btn-bar-color: var(--c-white);
  width: var(--drawer-btn-size);
  height: var(--drawer-btn-size);
  position: relative;
  padding: 0.9rem 1.3rem;
  background-color: transparent;
  border: 2px solid var(--drawer-btn-bar-color);
  border-radius: 100vmax;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
.drawer-btn .icon-bar {
  position: relative;
  display: block;
  border: 0;
  background-color: var(--drawer-btn-bar-color);
  width: var(--drawer-btn-bar-widht);
  height: var(--drawer-btn-bar-weight);
  margin: 0;
  overflow: visible;
}
.drawer-btn .icon-bar::before, .drawer-btn .icon-bar::after {
  background-color: var(--drawer-btn-bar-color);
  content: "";
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  display: block;
  position: absolute;
  height: var(--drawer-btn-bar-weight);
  width: var(--drawer-btn-bar-widht);
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(0);
      -ms-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
}
.drawer-btn .icon-bar::before, .drawer-btn .icon-bar::after {
  background-color: var(--drawer-btn-bar-color);
  content: "";
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  display: block;
  position: absolute;
  height: var(--drawer-btn-bar-weight);
  width: var(--drawer-btn-bar-widht);
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(0);
      -ms-transform: translate(-50%, -50%) rotate(0);
          transform: translate(-50%, -50%) rotate(0);
}
.drawer-btn .icon-bar::before {
  top: -0.5rem;
}
.drawer-btn .icon-bar::after {
  top: 0.7rem;
}
.drawer-btn:hover, .drawer-btn:active {
  opacity: 1;
  background-color: var(--c-white);
}
.drawer-btn:hover .icon-bar, .drawer-btn:active .icon-bar {
  background-color: var(--c-black);
}
.drawer-btn:hover .icon-bar::before, .drawer-btn:hover .icon-bar::after, .drawer-btn:active .icon-bar::before, .drawer-btn:active .icon-bar::after {
  background-color: var(--c-black);
}
.drawer-btn.active {
  opacity: 1;
}
.drawer-btn.active .icon-bar {
  border-top: 0;
  border-bottom: 0;
  background-color: transparent;
}
.drawer-btn.active .icon-bar::before {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
      -ms-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.drawer-btn.active .icon-bar::after {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
      -ms-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

body:not(.t-front-page) .is-positon-top .drawer-btn {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  --drawer-btn-bar-color: var(--c-blue);
}
body:not(.t-front-page) .is-positon-top .drawer-btn.active .icon-bar {
  background-color: transparent;
}
body:not(.t-front-page) .is-positon-top .drawer-btn:hover, body:not(.t-front-page) .is-positon-top .drawer-btn:active {
  opacity: 1;
  background-color: var(--c-blue);
}
body:not(.t-front-page) .is-positon-top .drawer-btn:hover .icon-bar, body:not(.t-front-page) .is-positon-top .drawer-btn:active .icon-bar {
  background-color: var(--c-white);
}
body:not(.t-front-page) .is-positon-top .drawer-btn:hover .icon-bar::before, body:not(.t-front-page) .is-positon-top .drawer-btn:hover .icon-bar::after, body:not(.t-front-page) .is-positon-top .drawer-btn:active .icon-bar::before, body:not(.t-front-page) .is-positon-top .drawer-btn:active .icon-bar::after {
  background-color: var(--c-white);
}
body:not(.t-front-page) .is-positon-top .drawer-btn:hover.active .icon-bar, body:not(.t-front-page) .is-positon-top .drawer-btn:active.active .icon-bar {
  background-color: transparent;
}

@media (min-width:992px) {
  .drawer-btn {
    --drawer-btn-size: 6rem;
    --drawer-btn-bar-widht: 1.8rem;
    --drawer-btn-bar-weight: 0.2rem;
    --drawer-btn-bar-color: var(--c-white);
    padding: 0.9rem 2.4rem;
    border: 2px solid var(--drawer-btn-bar-color);
  }
  .drawer-btn .icon-bar {
    border: 0;
    width: var(--drawer-btn-bar-widht);
    background-color: var(--drawer-btn-bar-color);
    height: var(--drawer-btn-bar-weight);
    overflow: visible;
  }
  .drawer-btn .icon-bar::before, .drawer-btn .icon-bar::after {
    background-color: var(--drawer-btn-bar-color);
    content: "";
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
    display: block;
    position: absolute;
    height: var(--drawer-btn-bar-weight);
    width: var(--drawer-btn-bar-widht);
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(0);
        -ms-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  .drawer-btn .icon-bar::before {
    top: -0.6rem;
  }
  .drawer-btn .icon-bar::after {
    top: 0.8rem;
  }
}
@media (min-width:1081px) {
  .drawer-btn {
    --drawer-btn-size: 8rem;
    --drawer-btn-bar-widht: 2.2rem;
    --drawer-btn-bar-weight: 0.3rem;
  }
  .drawer-btn .icon-bar::before {
    top: -0.7rem;
  }
  .drawer-btn .icon-bar::after {
    top: 1rem;
  }
}
.link-blank {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--rem5);
}
.link-blank::after {
  content: "";
  display: block;
  width: var(--rem14);
  height: var(--rem14);
  background-image: url();
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.icon-arrow {
  position: relative;
}

:root {
  --cat-bg-color: var(--c-blue);
  --cat-color: var(--c-black);
  --cat-fs: var(--rem14);
  --cat-width: 8.6rem;
  --cat-height: 2.8rem;
}

.blog-cat {
  min-width: var(--cat-width);
  min-height: var(--cat-height);
  font-size: var(--cat-fs);
  color: var(--cat-color);
  background-color: var(--c-white);
  padding: 0 0.5rem;
  display: -ms-grid;
  display: grid;
  place-content: center;
}

.card-blog .blog-link {
  --color: var(--c-black);
  --fs: var(--rem14);
  --date-width: 8.6rem;
  --cat-width: 8.6rem;
  --cat-height: 2.8rem;
  --cat-fs: var(--rem12);
  --gap: 0.8rem 1.2rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--fs);
  line-height: 1.3;
  padding: 0.5rem 2rem 0.5rem 0;
  margin: 0;
  position: relative;
  gap: var(--gap);
}
.card-blog .blog-link .blog-date {
  width: var(--date-width);
  white-space: nowrap;
  margin: 0;
}
.card-blog .blog-link .blog-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  width: 100%;
  margin: 0;
}
.card-blog .blog-link::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-top: 2px solid var(--color);
  border-right: 2px solid var(--color);
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
      -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.card-blog .blog-link:hover, .card-blog .blog-link:active {
  opacity: 0.5;
}

@media (min-width:768px) {
  .card-blog .blog-link {
    --fs: var(--rem18);
    --date-width: 11rem;
    --cat-width: 8.6rem;
    --cat-fs: var(--rem14);
  }
  .card-blog .blog-link .blog-title {
    width: auto;
  }
}
.blog-list:not(:first-child) {
  margin-top: 10rem;
}
.blog-list .item {
  border-bottom: 1px solid var(--bd-gray);
  padding-bottom: 3.5rem;
}
.blog-list .item + .item {
  padding-top: 3.5rem;
}

.case-list {
  --gap: 4rem;
  margin: var(--contents-margin-m) calc(var(--gap) / -2) 0;
  gap: var(--gap) 0;
}
.case-list .case-item {
  padding: 0 calc(var(--gap) / 2);
}

.card-case {
  --card-aspect-ratio: 1 / 0.6611;
  --card-title-fs: var(--rem24);
  --card-fs: var(--rem16);
  --color: var(--c-white);
  --card-paddng: 25px;
  width: 100%;
  height: auto;
}
.card-case .card-thumbnail-wrap {
  width: 100%;
  margin: 0;
  padding-top: 66%;
  aspect-ratio: var(--card-aspect-ratio);
  height: 0;
  position: relative;
  overflow: hidden;
  z-index: -1;
}
.card-case .card-thumbnail-wrap .thumbnail {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  margin: 0;
  aspect-ratio: 1/0.66;
  z-index: 0;
}
.card-case .card-title {
  font-size: var(--card-title-fs);
  font-weight: 700;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding: 0;
  margin: var(--rem20) 0 0;
}
.card-case .card-excerpt {
  font-size: var(--card-fs);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding: 0;
  margin: var(--rem10) 0 0;
}

.bg-full {
  margin-top: var(--contents-margin-l);
  margin-bottom: var(--contents-margin-l);
  position: relative;
  background-color: var(--bg-block-color);
  padding-top: var(--contents-margin-xl);
  padding-bottom: var(--contents-margin-xl);
}
.bg-full::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(100vw + 10px);
  height: 100%;
}
.bg-full .wp-block-group__inner-container {
  position: relative;
  z-index: 5;
}
.bg-full.bg-gray::before {
  background-color: var(--bg-gray);
}
.bg-full:first-child {
  margin-top: calc(var(--t-page-body-padding-t) * -1);
  padding-top: var(--t-page-body-padding-t);
}
.bg-full:last-child {
  margin-bottom: calc(var(--t-page-body-padding-b) * -1);
  padding-top: var(--t-page-body-padding-b);
}

.sect-bg {
  padding: 6rem var(--container-padding) 6rem var(--container-padding);
  margin-top: 8rem;
  margin-bottom: 8rem;
  position: relative;
}
@media (min-width:768px) {
  .sect-bg {
    padding: 14.5rem var(--container-padding) 14.5rem;
    margin-top: 15rem;
    margin-bottom: 8rem;
  }
}
.sect-bg::before, .sect-bg::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
}
.sect-bg::before {
  width: calc(100% - 1rem);
  background-color: var(--c-black);
  height: 100%;
  border-radius: 5rem 0 0 5rem;
  top: 0;
}
@media (min-width:768px) {
  .sect-bg::before {
    right: 0;
    width: calc(100% - 2rem);
    border-radius: 10rem 0 0 10rem;
    background-size: auto;
  }
}
@media (min-width:992px) {
  .sect-bg::before {
    right: 0;
    width: calc(100% - 4rem);
    border-radius: 10rem 0 0 10rem;
    background-size: auto;
  }
}
@media (min-width:1420px) {
  .sect-bg::before {
    right: calc((50vw - 50%) * -1);
    width: calc(50% + 50vw);
    border-radius: 10rem 0 0 10rem;
    background-size: auto;
  }
}
.sect-bg::after {
  top: -4rem;
  width: 54.5625%;
  height: auto;
  aspect-ratio: 100/68.7285;
  border-radius: 5rem 0 0 5rem;
  background-image: url(../img/top/sect-bg.png);
  background-position: top right;
  background-size: 100%;
  background-repeat: no-repeat;
  mix-blend-mode: soft-light;
  z-index: -1;
}
@media (min-width:768px) {
  .sect-bg::after {
    top: -8rem;
    right: calc((50vw - 50%) * -1);
  }
}
.sect-bg.-bg-lightblack::before {
  background-color: var(--c-black03);
}

.panel {
  margin-top: 10rem;
  margin-bottom: 10rem;
  padding: 8rem 2rem 3rem;
  border-radius: 5rem;
}
@media (min-width:768px) {
  .panel {
    padding: 10rem 6rem 10rem;
    border-radius: 10rem;
  }
}

.img-list {
  margin-left: -5px;
  margin-right: -5px;
  gap: 20px 0;
}
.img-list .list-item {
  padding: 0 5px;
}

.row-text-img {
  gap: 20px 0;
}

.img-block {
  position: relative;
}
.img-block .img-wrap {
  position: relative;
  display: block;
  z-index: 5;
}
.img-block .img-wrap .img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.img-block.img-type01 .img-wrap {
  width: calc(50% + 50dvw);
  margin-left: 0;
  margin-right: calc(100vw - (var(--container-width)) / 2 + 20px);
}
.img-block.img-type01 .img-wrap .img {
  aspect-ratio: 1180/600;
}

.sp-w80 {
  display: block;
  max-width: 80%;
  margin-inline: auto;
}

.box {
  --padding-x: 2rem;
  --padding-y: 2rem;
  --radius: 1rem;
  --color: var(--c-orange);
  --fs: var(--rem24);
  padding: var(--padding-y) var(--padding-x);
  border-radius: var(--radius);
}
@media (min-width:768px) {
  .box {
    --padding-x: 5rem;
    --padding-y: 3rem;
    --fs: var(--rem36);
  }
}
.box .box-h {
  margin: 0;
  padding: 0;
  color: var(--color);
  font-size: var(--fs);
  font-weight: bold;
}
.box .box-h:is(:not(:first-child)), .box .box-h {
  margin: 0;
  padding: 0;
}
@media (min-width:992px) {
  .box .box-h:is(:not(:first-child)), .box .box-h {
    margin: 0;
    padding: 0;
  }
}
.box p:where(:is(:not(:first-child))), .box ul:where(:is(:not(:first-child))), .box ol:where(:is(:not(:first-child))), .box dl:where(:is(:not(:first-child))) {
  --post-element-margin-t: 1rem;
}
@media (min-width:992px) {
  .box p:where(:is(:not(:first-child))), .box ul:where(:is(:not(:first-child))), .box ol:where(:is(:not(:first-child))), .box dl:where(:is(:not(:first-child))) {
    --post-element-margin-t: 1rem;
  }
}

.box-faq {
  --padding-x: 2rem;
  --padding-y: 2rem;
  --radius: 1rem;
  background-color: var(--c-black);
  margin-top: var(--contents-margin-s);
}
@media (min-width:768px) {
  .box-faq {
    --padding-x: 3rem;
    --padding-y: 3rem;
  }
}
.box-faq .box-h {
  margin: 0;
  color: var(--c-orange);
  font-size: var(--rem18);
  font-weight: bold;
}

.box-bubble {
  --icon-size: 9rem;
  --gap: 1.5rem;
  --arrow-x: 1.2rem;
  --arrow-y: 1.4rem;
  --padding-x: 1rem;
  --padding-y: 1rem;
  --fs: var(--rem16);
  --radius: 2rem;
  --bg-color: var(--bg-gray);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--gap);
  margin-top: 3rem;
}
@media (min-width:768px) {
  .box-bubble {
    --icon-size: 19.2rem;
    --gap: 6rem;
    --arrow-x: 2.4rem;
    --arrow-y: 2.8rem;
    --padding-x: 3rem;
    --padding-y: 3rem;
    --fs: var(--rem24);
    --radius: 5rem;
  }
}
.box-bubble .col-img {
  width: var(--icon-size);
  height: var(--icon-size);
}
.box-bubble .col-text {
  width: calc(100% - var(--icon-size) - var(--gap));
  border-radius: var(--radius);
  background-color: var(--bg-color);
  font-size: var(--fs);
  font-weight: bold;
  padding: var(--padding-y) var(--padding-x);
  position: relative;
  line-height: 1.5;
}
.box-bubble .col-text::before {
  content: "";
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  background-color: var(--bg-color);
  position: absolute;
  left: calc(var(--arrow-x) * -1);
  top: 3rem;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
@media (min-width:768px) {
  .box-bubble .col-text::before {
    top: calc(var(--icon-size) / 2 - var(--arrow-y) / 2);
  }
}

.box-fit {
  border-radius: 1rem;
  padding: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.box-contact {
  --color: var(--c-white);
  background-color: var(--c-black);
}
.box-contact .box-h {
  text-align: center;
}

.num-box-list > li {
  counter-increment: item;
  margin-bottom: 0;
}
.num-box-list .num-box {
  --num-size: 100%;
  --num-fs: var(--rem24);
  --text-width: 100%;
  background-color: rgba(74, 80, 95, 0.6);
}
.num-box-list .num-box::before {
  content: counter(item, decimal-leading-zero);
  display: block;
  width: var(--num-size);
  color: var(--c-orange);
  font-size: var(--num-fs);
  text-align: center;
  padding: 0;
  position: relative;
  left: 0;
  top: 0;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  margin-top: -1rem;
}
.num-box-list .num-box .box-h {
  color: var(--c-white);
  font-size: var(--rem18);
  line-height: 1.3;
  text-align: center;
}
.num-box-list .num-box + .num-box {
  margin-top: var(--rem30);
}
@media (min-width:768px) {
  .num-box-list .num-box {
    --num-size: 11rem;
    --text-width: calc(100% - var(--num-size));
    min-height: 16rem;
    padding-left: var(--num-size);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.5rem;
  }
  .num-box-list .num-box::before {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .num-box-list .num-box .box-h {
    font-size: var(--rem36);
    text-align: left;
  }
}
.num-box-list .num-box.-arrow:not(:last-child) {
  --arrow-x: 3.8rem;
  --arrow-y: 3.2rem;
  position: relative;
}
.num-box-list .num-box.-arrow:not(:last-child) + .num-box {
  margin-top: 4rem;
}
.num-box-list .num-box.-arrow:not(:last-child)::after {
  content: "";
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  background-color: rgba(74, 80, 95, 0.6);
  position: absolute;
  left: calc(50% - var(--arrow-x) / 2);
  top: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.dl-box {
  --gap: 1.5rem;
  --arrow-x: 1.4rem;
  --arrow-y: 1.2rem;
  --padding-x: 1rem;
  --padding-y: 2rem;
  --fs: var(--rem16);
  --radius: 1rem;
  --bg-color: var(--bg-gray);
  gap: var(--gap);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (min-width:768px) {
  .dl-box {
    --gap: 3.4rem;
    --arrow-x: 2rem;
    --arrow-y: 2.4rem;
    --padding-x: 1rem;
    --padding-y: 1.3rem;
    --fs: var(--rem18);
  }
}
.dl-box dt {
  width: 100%;
  border-radius: var(--radius);
  background-color: var(--bg-color);
  font-size: var(--fs);
  font-weight: bold;
  padding: var(--padding-y) var(--padding-x);
  position: relative;
  line-height: 1.5;
  text-align: center;
}
.dl-box dt::before {
  content: "";
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  background-color: var(--bg-color);
  position: absolute;
  left: calc(50% - var(--arrow-x) / 2);
  top: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.dl-box dd {
  width: 100%;
}
@media (min-width:768px) {
  .dl-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .dl-box dt {
    width: 20rem;
    min-height: 8rem;
    line-height: 1.3;
    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;
    text-align: center;
  }
  .dl-box dt::before {
    content: "";
    left: 100%;
    top: calc(50% - var(--arrow-y) / 2);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .dl-box dd {
    width: calc(100% - var(--gap) - 20rem);
  }
}

.dl-small-list {
  --gap: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--gap);
}
@media (min-width:768px) {
  .dl-small-list {
    --gap: 2rem;
  }
}
@media (min-width:992px) {
  .dl-small-list {
    --gap: 2rem;
  }
}
.dl-small-list.item-huff .item {
  gap: 1rem var(--gap);
  width: 100%;
}
@media (min-width:768px) {
  .dl-small-list.item-huff .item {
    gap: var(--gap);
    width: 100%;
  }
}
@media (min-width:992px) {
  .dl-small-list.item-huff .item {
    gap: var(--gap);
    width: calc(50% - var(--gap) / 2);
  }
}
.dl-small-list .item {
  --item-gap: 1.5rem;
  --arrow-x: 1rem;
  --arrow-y: 0.9rem;
  --padding-x: 1rem;
  --padding-y: 0.5rem;
  --fs: var(--rem16);
  --bg-color: var(--c-white);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--item-gap);
}
@media (min-width:768px) {
  .dl-small-list .item {
    --item-gap: 1.5rem;
    --arrow-x: 1rem;
    --arrow-y: 0.9rem;
    --padding-x: 0.5rem;
    --padding-y: 1.3rem;
    --fs: var(--rem18);
  }
}
.dl-small-list .item dt {
  width: 100%;
  background-color: var(--c-white);
  color: var(--c-black);
  font-size: var(--fs);
  font-weight: bold;
  padding: var(--padding-y) var(--padding-x);
  position: relative;
  line-height: 1.5;
  text-align: center;
}
.dl-small-list .item dt::before {
  content: "";
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  background-color: var(--bg-color);
  position: absolute;
  left: calc(50% - var(--arrow-x) / 2);
  top: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.dl-small-list .item dd {
  width: 100%;
}
@media (min-width:768px) {
  .dl-small-list .item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .dl-small-list .item dt {
    width: 17rem;
    min-height: 4.5rem;
    line-height: 1.3;
    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;
    text-align: center;
  }
  .dl-small-list .item dt::before {
    content: "";
    left: 100%;
    top: calc(50% - var(--arrow-y) / 2);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .dl-small-list .item dd {
    width: calc(100% - var(--gap) - 17rem);
  }
}

.pricing-dl-box {
  --dt-fs: var(--rem20);
  --gap: 4rem;
  border: 1px solid var(--c-white);
  border-radius: 2rem;
  padding: 0 2rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.pricing-dl-box dt {
  width: 36.8rem;
  border-radius: var(--radius);
  background-color: var(--bg-color);
  font-size: var(--dt-fs);
  font-weight: bold;
  padding: 1rem 0;
  position: relative;
  line-height: 1.5;
  text-align: center;
  border-bottom: 1px solid var(--c-white);
}
.pricing-dl-box dd {
  width: 100%;
  padding: 1rem 0 0;
}
@media (min-width:768px) {
  .pricing-dl-box {
    --dt-fs: var(--rem28);
    --gap: 8rem;
    padding: 1rem 3rem 2rem;
  }
  .pricing-dl-box dt {
    width: 100%;
    border-radius: var(--radius);
    background-color: var(--bg-color);
    font-size: var(--dt-fs);
    padding: 2rem 1rem;
  }
  .pricing-dl-box dd {
    width: 100%;
    padding: 2rem 0 0;
  }
}
@media (min-width:992px) {
  .pricing-dl-box {
    --dt-fs: var(--rem36);
    --gap: 8rem;
    padding: 3rem 0;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .pricing-dl-box dt {
    width: 36.8rem;
    border-radius: var(--radius);
    background-color: var(--bg-color);
    font-size: var(--dt-fs);
    padding: 2rem 1rem;
    border: 0;
    border-right: 1px solid var(--c-white);
  }
  .pricing-dl-box dd {
    width: 73.2rem;
    padding: 0 4rem;
  }
}

.img-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media (min-width:768px) {
  .img-flex {
    gap: 3rem;
  }
}
.img-flex img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
}

.diff-box {
  --padding-x: 2rem;
  --padding-y: 2rem;
  --dl-gap: 3rem;
}
@media (min-width:768px) {
  .diff-box {
    --padding-x: 2rem;
    --padding-y: 2.5rem;
    --dl-gap: 5rem;
  }
}
.diff-box .inner-box {
  --font-color: var(--c-black);
  padding: 0 var(--padding-x) var(--padding-y);
  background-color: var(--c-white);
  color: var(--font-color);
  width: 100%;
}
.diff-box .inner-box .item-h {
  font-size: var(--h4-fs);
  background-color: #F5F5F5;
  margin: 0 calc(var(--padding-x) * -1);
  padding: 0.8rem var(--padding-x);
  text-align: center;
  color: var(--c-black);
}
.diff-box .inner-box .item-h::before {
  content: none;
}
.diff-box .inner-box:last-child .item-h {
  background-color: var(--c-blue);
  color: var(--c-white);
}
.diff-box .inner-box:last-child .inner-dl dd {
  color: var(--c-blue);
}
.diff-box .inner-dl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.diff-box .inner-dl .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.diff-box .inner-dl .item + .item {
  margin-top: 1rem;
}
.diff-box .inner-dl dt {
  font-size: var(--rem16);
  padding-right: calc(var(--dl-gap) / 2);
  position: relative;
}
.diff-box .inner-dl dt::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  border-top: 2px solid var(--c-black);
  border-right: 2px solid var(--c-black);
  width: 1rem;
  height: 1rem;
  -webkit-transform: translate(35%, -50%) rotate(45deg);
      -ms-transform: translate(35%, -50%) rotate(45deg);
          transform: translate(35%, -50%) rotate(45deg);
}
.diff-box .inner-dl dd {
  font-size: var(--rem24);
  padding-left: calc(var(--dl-gap) / 2);
}
.diff-box .inner-dl dd .sm {
  font-size: var(--rem18);
}
.diff-box .arrow {
  --arrow-offset-x: 2rem;
  --arrow-offset-y: 4rem;
  margin: 1rem;
  margin-inline: auto;
  background-color: var(--c-blue);
  width: 12.4rem;
  height: 8.6rem;
  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;
  clip-path: polygon(var(--arrow-offset-x) 0, calc(100% - var(--arrow-offset-x)) 0, calc(100% - var(--arrow-offset-x)) calc(100% - var(--arrow-offset-y)), 100% calc(100% - var(--arrow-offset-y)), 50% 100%, 0 calc(100% - var(--arrow-offset-y)), var(--arrow-offset-x) calc(100% - var(--arrow-offset-y)));
  line-height: 1;
  font-size: var(--rem16);
  text-align: center;
}
.diff-box .arrow .lg {
  font-size: var(--rem30);
}
.diff-box .arrow .inner {
  display: block;
  padding: 0 0 6%;
}
@media (min-width:992px) {
  .diff-box .arrow {
    font-size: var(--rem16);
  }
  .diff-box .arrow .lg {
    font-size: var(--rem36);
  }
}
@media (min-width:1081px) {
  .diff-box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .diff-box .inner-box {
    width: 41.82%;
  }
  .diff-box .inner-box .item-h::before {
    content: none;
  }
  .diff-box .inner-dl {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
  .diff-box .inner-dl .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .diff-box .inner-dl dt {
    font-size: var(--rem18);
  }
  .diff-box .inner-dl dt::after {
    width: 1.5rem;
    height: 1.5rem;
  }
  .diff-box .inner-dl dd {
    font-size: var(--rem40);
  }
  .diff-box .inner-dl dd .sm {
    font-size: var(--rem24);
  }
  .diff-box .arrow {
    --arrow-offset-x: calc(100% - 4rem);
    --arrow-offset-y: 2rem;
    width: 8.4rem;
    height: 12rem;
    clip-path: polygon(0 var(--arrow-offset-y), var(--arrow-offset-x) var(--arrow-offset-y), var(--arrow-offset-x) 0, 100% 50%, var(--arrow-offset-x) 100%, var(--arrow-offset-x) calc(100% - var(--arrow-offset-y)), 0 calc(100% - var(--arrow-offset-y)));
    font-size: var(--rem15);
    padding-right: 0.5rem;
  }
  .diff-box .arrow .lg {
    font-size: var(--rem30);
  }
  .diff-box .arrow .inner {
    display: block;
    padding: 0 0 6%;
  }
}
@media (min-width:1280px) {
  .diff-box .arrow {
    font-size: var(--rem16);
    width: 9.8rem;
  }
  .diff-box .arrow .lg {
    font-size: var(--rem32);
  }
}
@media (min-width:1420px) {
  .diff-box .inner-box {
    width: 41.82%;
  }
  .diff-box .inner-dl dt {
    font-size: var(--rem18);
  }
  .diff-box .inner-dl dt::after {
    width: 1.5rem;
    height: 1.5rem;
  }
  .diff-box .inner-dl dd {
    font-size: var(--rem50);
  }
  .diff-box .inner-dl dd .sm {
    font-size: var(--rem28);
  }
  .diff-box .arrow {
    width: 12.4rem;
    height: 12rem;
    font-size: var(--rem19);
  }
  .diff-box .arrow .lg {
    font-size: var(--rem46);
  }
  .diff-box .arrow .inner {
    display: block;
    padding: 0 0 6%;
  }
}

.movie-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.ggmap {
  position: relative;
  padding-bottom: 62.45%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width:768px) {
  .ggmap {
    padding-bottom: 38.18%;
  }
}

.img-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.img-radius {
  border-radius: 1rem;
}
@media (min-width:992px) {
  .img-radius {
    border-radius: 2rem;
  }
}

.img-radius10 {
  border-radius: 1rem;
}

.thumbnail-wrap {
  padding-bottom: 68.45%;
  position: relative;
}
.thumbnail-wrap .thumbnail {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.thumbnail-square {
  padding-bottom: 97.5%;
  position: relative;
}
.thumbnail-square .thumbnail, .thumbnail-square img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.point-text {
  --icon-size-x: 4rem;
  --icon-size-y: 4.6rem;
  --padding-l: 5.5rem;
  --padding-t: 0;
  --fs: var(--rem16);
  --underline-offset: -0.5em;
  font-size: var(--fs);
  font-weight: bold;
  padding: var(--padding-t) 0 0 var(--padding-l);
  position: relative;
  z-index: 3;
  text-decoration: underline;
  text-underline-offset: var(--underline-offset);
  text-decoration-thickness: 0.7em;
  text-decoration-color: var(--c-green02);
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  line-height: 1.5;
}
@media (min-width:992px) {
  .point-text {
    --icon-size-x: 8rem;
    --icon-size-y: 9.2rem;
    --padding-l: 10rem;
    --padding-t: 2rem;
    --fs: var(--rem24);
    --underline-offset: -0.2em;
  }
}
.point-text::after {
  content: "";
  display: inline-block;
  height: var(--icon-size-x);
  width: var(--icon-size-y);
  background-image: url();
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

:where(.entry-contents) {
  font-size: var(--post-fs);
  line-height: 1.9;
}

.entry-contents :where(p, ul, ol, table, blockquote, img, figure, dl) {
  margin-bottom: var(--post-element-margin-b);
  margin-top: var(--post-element-margin-t);
}
.entry-contents h2, .entry-contents h3, .entry-contents h4, .entry-contents h5, .entry-contents h6 {
  margin-bottom: var(--post-element-margin-b);
  margin-top: var(--post-element-margin-t);
}
.entry-contents .btns-wrap, .entry-contents .hgroup-block, .entry-contents .wp-block-buttons, .entry-contents .wp-block-image {
  margin-bottom: var(--post-block-margin-b);
  margin-top: var(--post-block-margin-t);
}

.entry-contents p:where(:is(:not(:first-child))), .entry-contents ul:where(:is(:not(:first-child))), .entry-contents ol:where(:is(:not(:first-child))), .entry-contents dl:where(:is(:not(:first-child))) {
  --post-element-margin-t: 1.5rem;
}
@media (min-width:992px) {
  .entry-contents p:where(:is(:not(:first-child))), .entry-contents ul:where(:is(:not(:first-child))), .entry-contents ol:where(:is(:not(:first-child))), .entry-contents dl:where(:is(:not(:first-child))) {
    --post-element-margin-t: 1.5rem;
  }
}
.entry-contents table:where(:is(:not(:first-child))), .entry-contents blockquote:where(:is(:not(:first-child))), .entry-contents img:where(:is(:not(:first-child))), .entry-contents figure:where(:is(:not(:first-child))) {
  --post-element-margin-t: 3rem;
}
@media (min-width:992px) {
  .entry-contents table:where(:is(:not(:first-child))), .entry-contents blockquote:where(:is(:not(:first-child))), .entry-contents img:where(:is(:not(:first-child))), .entry-contents figure:where(:is(:not(:first-child))) {
    --post-element-margin-t: 4rem;
  }
}
.entry-contents .heading + p {
  --post-element-margin-t: 0.5rem;
}
.entry-contents .heading + p:where(:is(:not(:first-child))) {
  --post-element-margin-t: 0.5rem;
}
.entry-contents .btns-wrap, .entry-contents .wp-block-buttons, .entry-contents .wp-block-image {
  --post-block-margin-t: 2rem;
}
@media (min-width:992px) {
  .entry-contents .btns-wrap, .entry-contents .wp-block-buttons, .entry-contents .wp-block-image {
    --post-block-margin-t: 4rem;
  }
}

.entry-contents h2 {
  --post-element-margin-b: 1.5rem;
}
.entry-contents h2:is(:not(:first-child)) {
  --post-element-margin-t: 3rem;
}
@media (min-width:992px) {
  .entry-contents h2 {
    --post-element-margin-b: 3rem;
  }
  .entry-contents h2:is(:not(:first-child)) {
    --post-element-margin-t: 6rem;
  }
}
.entry-contents h3 {
  --post-element-margin-b: 1.5rem;
}
.entry-contents h3:is(:not(:first-child)) {
  --post-element-margin-t: 3rem;
}
@media (min-width:992px) {
  .entry-contents h3 {
    --post-element-margin-b: 3rem;
  }
  .entry-contents h3:is(:not(:first-child)) {
    --post-element-margin-t: 4rem;
  }
}
.entry-contents h4 {
  --post-element-margin-b: 1.5rem;
}
.entry-contents h4:is(:not(:first-child)) {
  --post-element-margin-t: 3rem;
}
@media (min-width:992px) {
  .entry-contents h4 {
    --post-element-margin-b: 2rem;
  }
  .entry-contents h4:is(:not(:first-child)) {
    --post-element-margin-t: 4rem;
  }
}
.entry-contents h5 {
  --post-element-margin-b: 1.5rem;
}
.entry-contents h5:is(:not(:first-child)) {
  --post-element-margin-t: 2rem;
}
@media (min-width:992px) {
  .entry-contents h5:is(:not(:first-child)) {
    --post-element-margin-t: 4rem;
  }
}
.entry-contents .ggmap {
  --post-block-margin-t: 5rem;
}

.entry-contents .wp-block-table:is(:not(:first-child)) {
  margin-top: 3rem;
}

.entry-contents .note-text, .note-text {
  font-size: var(--fs16);
  padding-left: 1.2em;
  position: relative;
}
.entry-contents .note-text::before, .note-text::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.img-full {
  --margin-x: calc((50vw - 50%) * -1);
  width: 100vw;
  margin: var(--contents-margin-l) var(--margin-x) var(--contents-margin-l);
}
.img-full .img {
  width: 100%;
  height: auto;
  margin: 0;
}

.wp-block-separator {
  border: 0;
  border-top: 1px solid var(--bd-gray);
  background: none;
  width: 100%;
  opacity: 1;
  margin: var(--contents-margin-m) 0 var(--contents-margin-m);
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  width: 100%;
}

.breadcrumbs-list {
  --color: var(--c-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  gap: 0.5rem 0;
}
.breadcrumbs-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.breadcrumbs-list .item + .item {
  padding-left: 2.4rem;
  position: relative;
}
.breadcrumbs-list .item + .item::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid var(--color);
  border-right: 1px solid var(--color);
  position: absolute;
  left: 0.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
      -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.breadcrumbs-list .link {
  font-size: var(--rem12);
  font-weight: 500;
  line-height: 1.1;
  color: var(--color);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.breadcrumbs-list .link:is(span) {
  color: var(--c-white);
}
.breadcrumbs-list .link .icon-svg {
  margin-right: 0.2rem;
}
@media (min-width:992px) {
  .breadcrumbs-list .link {
    font-size: var(--rem14);
  }
}

input, textarea {
  font-size: var(--rem16);
}

.required {
  color: var(--c-red);
}

.form-box {
  margin-top: 10rem;
}

.smf-form .smf-item__label__text {
  font-size: var(--fs18);
}
.smf-form .smf-item .smf-radio-button-control__control {
  margin-top: 1rem;
}
.smf-form .smf-item .smf-checkbox-control__control {
  margin-top: 1rem;
}

.smf-form--simple-table .smf-item {
  padding: 0;
  padding-bottom: 3rem;
  border-bottom: 1px solid var(--bg-gray);
}
.smf-form--simple-table .smf-item + .smf-item {
  padding-top: 3rem;
}
.smf-form--simple-table .smf-item.smf-item-text-top {
  padding-bottom: var(--contents-margin-m);
  border-bottom: 0;
}

.snow-monkey-form .smf-text-control__control {
  font-size: var(--rem16);
  height: 5rem;
  max-width: 100%;
  width: 100%;
}
.snow-monkey-form .smf-text-control__control:is([type=text], [type=mail], textarea, select) {
  max-width: 100%;
}
.snow-monkey-form .smf-text-control__control.form-control-small {
  max-width: 37rem;
}
.snow-monkey-form .smf-text-control__control.form-control-zip {
  max-width: 18rem;
}
.snow-monkey-form .smf-text-control__control:is([type=month]), .snow-monkey-form .smf-text-control__control:is([type=date]) {
  max-width: 220px;
}
.snow-monkey-form .smf-placeholder + .smf-placeholder {
  margin-top: 10px;
}
.snow-monkey-form .smf-placeholder:is([data-name=zip-code]) .smf-text-control::before {
  content: "〒";
}
.snow-monkey-form .smf-placeholder:is([data-name=zip-code]) .smf-text-control__control {
  max-width: 18rem;
}

.smf-action .smf-button-control__control {
  --btn-fs: var(--fs-default);
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-blue);
  --btn-hover-color: var(--c-blue);
  --btn-icon-size: 2rem;
  --btn-icon-bg-color: var(--btn-color);
  border-radius: 100vmax;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  min-width: var(--btn-min-width);
  min-height: var(--btn-min-height);
  background-image: none;
  position: relative;
}
.smf-action .smf-button-control__control:focus, .smf-action .smf-button-control__control:disabled, .smf-action .smf-button-control__control:visited, .smf-action .smf-button-control__control:focus {
  background-color: var(--btn-bg-color);
  border: 2px solid var(--btn-bd-color);
  color: var(--btn-color);
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.smf-action .smf-button-control__control:not(:disabled):not(.disabled):active, .smf-action .smf-button-control__control:not(:disabled):not(.disabled).active, .smf-action .smf-button-control__control:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 2px solid inherit;
  color: inherit;
}
.smf-action .smf-button-control__control:hover, .smf-action .smf-button-control__control:active, .smf-action .smf-button-control__control.touch {
  background-color: var(--btn-hover-bg-color);
  border: 2px solid var(--btn-hover-bd-color);
  color: var(--btn-hover-color);
  opacity: 1;
}
.smf-action .smf-button-control__control:is([data-action=back]) {
  --btn-bg-color: var(--c-black);
  --btn-bd-color: var(--c-black);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-black);
  --btn-hover-bd-color: var(--c-black);
  --btn-hover-color: var(--c-white);
}
.smf-action .smf-button-control__control:not([data-action=back]) {
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-blue);
  --btn-hover-color: var(--c-blue);
  --btn-icon-size: 2rem;
  --btn-icon-bg-color: var(--btn-color);
}
.smf-action .smf-button-control__control:not([data-action=back])::after {
  content: "";
  display: inline-block;
  height: var(--btn-icon-size);
  width: var(--btn-icon-size);
  background-color: var(--btn-icon-bg-color);
  -webkit-mask-image: url(../img/common/icon-arrow.svg);
          mask-image: url(../img/common/icon-arrow.svg);
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  position: absolute;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.smf-form--simple-table + .smf-action {
  margin-top: var(--contents-margin-l);
}

.smf-item:has([data-validations~=required]) .smf-item__label__text::after,
.smf-item.has-required .smf-item__label__text::after {
  content: "*";
  color: #E30000;
  margin-left: 0.4em;
}

.has-required {
  color: #E30000;
}

.snow-monkey-form .form-inout-wrap,
.snow-monkey-form .form-invalid-wrap,
.snow-monkey-form .form-confirm-wrap {
  display: none;
}
@media (min-width: 640px) {
  .snow-monkey-form .form-inout-wrap,
  .snow-monkey-form .form-invalid-wrap,
  .snow-monkey-form .form-confirm-wrap {
    display: none;
  }
}
.snow-monkey-form:is([data-screen=input]) .form-inout-wrap, .snow-monkey-form:is([data-screen=back]) .form-inout-wrap, .snow-monkey-form:is([data-screen=invalid]) .form-inout-wrap {
  display: block;
}
.snow-monkey-form:is([data-screen=invalid]) .form-invalid-wrap {
  display: block;
}
.snow-monkey-form:is([data-screen=confirm]) .form-confirm-wrap {
  display: block;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 30px;
}

.swiper-pagination-bullet {
  background-color: #666;
  border-radius: 0;
  height: 4px;
}

.swiper-pagination-bullet-active {
  background-color: #fff;
}

.popup-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(18, 18, 18, 0.8);
  z-index: 1000;
  visibility: hidden;
  padding: calc(var(--main-wrap-padding-t) + 3.5rem) var(--container-padding) 0;
  opacity: 0;
  -webkit-transition: ease 0.2s;
  transition: ease 0.2s;
}
.popup-wrap.is-open {
  visibility: visible;
  opacity: 1;
}

@media (min-width:992px) {
  .popup-wrap {
    padding: calc(var(--main-wrap-padding-t) + 8rem) var(--container-padding) 0;
  }
}
.popup-panel {
  --close-size: 3.2rem;
  --close-icon-size: 1rem;
  border-radius: 1rem;
  background-color: var(--c-white);
  margin-inline: auto;
  position: relative;
  padding: 0;
  max-width: var(--container-width);
  width: 100%;
  max-height: calc(100vh - var(--main-wrap-padding-t) - 7rem);
}
@media (min-width:992px) {
  .popup-panel {
    --close-size: 4.5rem;
    --close-icon-size: 1.2rem;
  }
}
.popup-panel .popup-close {
  position: absolute;
  display: block;
  top: calc(var(--close-size) / -2);
  right: calc(var(--close-size) / -2);
  background-color: var(--c-blue);
  border: 2px solid var(--c-blue);
  border-radius: 100vmax;
  width: var(--close-size);
  height: var(--close-size);
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 100;
}
.popup-panel .popup-close::before {
  content: "";
  height: var(--close-icon-size);
  width: var(--close-icon-size);
  background-color: var(--c-white);
  -webkit-mask-image: url();
          mask-image: url();
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.popup-panel .popup-close:hover, .popup-panel .popup-close:active {
  opacity: 1;
  border: 2px solid var(--c-blue);
  background-color: var(--c-white);
}
.popup-panel .popup-close:hover::before, .popup-panel .popup-close:active::before {
  background-color: var(--c-blue);
}
.popup-panel .panel-inner {
  padding: 3.6rem 2rem;
  height: 100%;
  max-height: calc(100vh - var(--main-wrap-padding-t) - 7rem);
  overflow: auto;
}
.popup-panel .panel-row .col-right {
  margin-top: 5rem;
}

@media (min-width:992px) {
  .popup-panel {
    max-height: calc(100vh - var(--main-wrap-padding-t) - 16rem);
  }
  .popup-panel .panel-inner {
    padding: 4rem;
    height: 100%;
    max-height: calc(100vh - var(--main-wrap-padding-t) - 16rem);
    overflow: auto;
  }
  .popup-panel .panel-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .popup-panel .panel-row .col-left {
    width: calc(39.2157% - 6rem);
    margin-top: 0;
  }
  .popup-panel .panel-row .col-right {
    width: 60.7843%;
    margin-top: 0;
  }
}
.faq-list {
  --en-size: 4rem;
  --en-fs: var(--rem18);
  --dt-fs: var(--rem18);
  --en-margin: 1.2rem;
  --en-bg: var(-bg-gray);
  --en-color: var(--c-black);
  --icon-x: 1.6rem;
  --icon-y: 0.1rem;
  --icon-color: var(--c-orange);
  --margin-y: 3rem;
  --padding-r: 0;
  --padding-y: 0;
}
@media (min-width:768px) {
  .faq-list {
    --en-size: clamp(var(--rem40), var(--vw90), var(--rem90));
    --en-fs: clamp(var(--rem24), var(--vw36), var(--rem36));
    --dt-fs: clamp(var(--rem24), var(--vw36), var(--rem36));
    --en-margin: clamp(var(--rem20), var(--vw40), var(--rem40));
    --en-bg: var(-bg-gray);
    --en-color: var(--c-black);
    --icon-x: clamp(var(--rem20), var(--vw30), var(--rem30));
    --icon-y: .4rem;
    --icon-color: var(--c-orange);
    --margin-y: clamp(var(--rem20), var(--vw40), var(--rem50));
    --padding-r: 0;
    --padding-y: 0;
  }
}
.faq-list .faq-item {
  padding-left: var(--en-size);
  -webkit-transition-property: height;
  transition-property: height;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  min-height: var(--en-size);
}
.faq-list .faq-item + .faq-item {
  padding-top: var(--margin-y);
}
.faq-list .faq-item:has(.js-open-btn) {
  --padding-r: var(--rem15);
}
@media (min-width:768px) {
  .faq-list .faq-item:has(.js-open-btn) {
    --padding-r: clamp(var(--rem24), var(--vw36), var(--rem60));
  }
}
.faq-list .faq-item:has(.js-open-btn) .faq-dd {
  -webkit-transition-property: -webkit-transform opacity height;
  transition-property: -webkit-transform opacity height;
  transition-property: transform opacity height;
  transition-property: transform opacity height, -webkit-transform opacity height;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  opacity: 0;
  height: 0;
  position: absolute;
}
.faq-list .faq-item:has(.js-open-btn) .faq-dt::after, .faq-list .faq-item:has(.js-open-btn) .faq-dt::before {
  content: "";
  width: var(--icon-x);
  height: var(--icon-y);
  background-color: var(--icon-color);
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.faq-list .faq-item:has(.js-open-btn) .faq-dt::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
      -ms-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.faq-list .faq-item:has(.js-open-btn) .faq-dt::before {
  -webkit-transform: translateY(-50%) rotate(180deg);
      -ms-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.faq-list .faq-item:has(.js-open-btn) .faq-dt.is-open::after, .faq-list .faq-item:has(.js-open-btn) .faq-dt.is-open::before {
  -webkit-transform: translateY(-50%) rotate(0);
      -ms-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
}
.faq-list .faq-item:has(.js-open-btn) .is-open + .faq-dd {
  opacity: 1;
  height: auto;
  position: relative;
}
.faq-list .en {
  width: var(--en-size);
  height: var(--en-size);
  font-family: var(--ff-en);
  font-size: var(--en-fs);
  font-weight: 600;
  display: -ms-grid;
  display: grid;
  place-content: center;
  position: absolute;
  right: 100%;
  top: 0;
  background-color: var(--en-bg);
  color: var(--en-color);
  border-radius: 100vmax;
}
.faq-list .faq-dt,
.faq-list .faq-dd {
  position: relative;
  min-height: var(--en-size);
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--padding-y) var(--padding-r) var(--padding-y) var(--en-margin);
}
.faq-list .faq-dt {
  --en-bg: var(--c-orange);
  --en-color: var(--c-white);
  min-height: var(--en-size);
  font-size: var(--dt-fs);
  font-weight: 700;
  line-height: 1.3;
}
.faq-list .faq-dd {
  --en-bg: var(--c-white);
  --en-color: var(--c-black);
  margin-top: var(--margin-y);
}

.navigation.pagination {
  --color: var(--c-black);
  --hover-color: var(--c-black);
  --bd-width: 2px;
  --opacity: 0.4;
  margin-top: 6rem;
}
.navigation.pagination .screen-reader-text {
  display: none;
}
.navigation.pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem 3rem;
}
.navigation.pagination .nav-links .page-numbers {
  font-size: var(--fs18);
  color: var(--color);
  border-radius: 0;
  opacity: var(--opacity);
  margin: 0;
  padding: 1rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.navigation.pagination .nav-links .page-numbers.current {
  --opacity: 1;
  color: var(--hover-color);
}
.navigation.pagination .nav-links .page-numbers:active, .navigation.pagination .nav-links .page-numbers:hover, .navigation.pagination .nav-links .page-numbers:focus {
  --opacity: 1;
  color: var(---hover-color);
}
.navigation.pagination .nav-links .page-numbers:active.current, .navigation.pagination .nav-links .page-numbers:hover.current, .navigation.pagination .nav-links .page-numbers:focus.current {
  opacity: 1;
  color: var(---hover-color);
}
.navigation.pagination .nav-links .dots {
  border: 0;
  background-color: transparent;
  pointer-events: none;
  padding-left: 0;
  padding-right: 0;
  min-width: 1rem;
}
.navigation.pagination .nav-links .prev,
.navigation.pagination .nav-links .next {
  --opacity: 1;
  padding: 1rem;
  color: var(--hover-color);
}
.navigation.pagination .nav-links .prev::after, .navigation.pagination .nav-links .prev::before,
.navigation.pagination .nav-links .next::after,
.navigation.pagination .nav-links .next::before {
  display: block;
  width: 1rem;
  height: 1rem;
  position: relative;
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  top: 0;
}
.navigation.pagination .nav-links .prev:active, .navigation.pagination .nav-links .prev:hover, .navigation.pagination .nav-links .prev:focus,
.navigation.pagination .nav-links .next:active,
.navigation.pagination .nav-links .next:hover,
.navigation.pagination .nav-links .next:focus {
  --opacity: 0.5;
}
.navigation.pagination .nav-links .prev::before {
  content: "";
  border-top: var(--bd-width) solid var(--hover-color);
  border-left: var(--bd-width) solid var(--hover-color);
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.navigation.pagination .nav-links .next::after {
  content: "";
  border-top: var(--bd-width) solid var(--hover-color);
  border-right: var(--bd-width) solid var(--hover-color);
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.categories-list-title {
  font-size: var(--rem18);
}
.categories-list-title + .categories-list {
  margin-top: 2rem;
}

.categories-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1rem 1rem;
}
@media (min-width:768px) {
  .categories-list {
    gap: 1rem 3rem;
  }
}
.categories-list .cat-link {
  background-color: var(--c-white);
  border: 1px solid var(--c-white);
  color: var(--c-black);
  display: block;
  min-width: 13rem;
  min-height: 5rem;
  padding: 0.1rem 1rem 0.2rem;
  border-radius: 100vmax;
  line-height: 1.7;
  text-align: center;
  position: relative;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
.categories-list .cat-link:focus, .categories-list .cat-link:disabled, .categories-list .cat-link:visited, .categories-list .cat-link:focus {
  background-color: var(--c-white);
  border: 1px solid var(--c-white);
  color: var(--c-black);
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.categories-list .cat-link:not(:disabled):not(.disabled):active, .categories-list .cat-link:not(:disabled):not(.disabled).active, .categories-list .cat-link:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 1px solid inherit;
  color: inherit;
}
.categories-list .cat-link:hover, .categories-list .cat-link:active, .categories-list .cat-link.touch {
  background-color: var(--c-blue);
  border: 1px solid var(--c-blue);
  color: var(--c-white);
  opacity: 1;
}
.categories-list .cat-link.current {
  background-color: var(--c-blue);
  border: 2px solid var(--c-blue);
  color: var(--c-white);
}
.categories-list .cat-link.current:focus, .categories-list .cat-link.current:disabled, .categories-list .cat-link.current:visited, .categories-list .cat-link.current:focus {
  background-color: var(--c-blue);
  border: 2px solid var(--c-blue);
  color: var(--c-white);
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.categories-list .cat-link.current:not(:disabled):not(.disabled):active, .categories-list .cat-link.current:not(:disabled):not(.disabled).active, .categories-list .cat-link.current:not(:disabled):not(.disabled):active:focus {
  background-color: inherit;
  border: 2px solid inherit;
  color: inherit;
}
.categories-list .cat-link.current:hover, .categories-list .cat-link.current:active, .categories-list .cat-link.current.touch {
  background-color: var(--c-blue);
  border: 2px solid var(--c-blue);
  color: var(--c-white);
  opacity: 1;
}

.js-scroll-event {
  -webkit-animation-delay: 0.2;
          animation-delay: 0.2;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.js-scroll-event.is-strat {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.cls-1 {
  fill: var(--c-blue);
  stroke: var(--c-blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.2px;
}

.sect02 .path {
  fill: var(--c-black);
  stroke: var(--c-black);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.2px;
}

/*
-- theme CSS
-------------------------------------------------- */
.t-page-header {
  --padding-t: 5.4rem;
  --padding-b: 5.4rem;
  --bg-size: cover;
  --radius: 0;
  background-image: var(--t-page-header-bg-url);
  background-size: var(--bg-size);
  background-position: center center;
  background-repeat: no-repeat;
  padding: var(--padding-t) 0 var(--padding-b);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 0 0 var(--radius) var(--radius);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  overflow: hidden;
  z-index: 5;
}
@media (min-width:992px) {
  .t-page-header {
    --padding-t: 14rem;
    --padding-b: 14rem;
    --radius: 0;
  }
}
.t-page-header::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #002869;
  mix-blend-mode: multiply;
  opacity: 0.7;
  z-index: 0;
}
.t-page-header .t-page-inner {
  position: relative;
  z-index: 3;
}
.t-page-header .t-page-title {
  color: var(--c-white);
  font-size: var(--t-page-title-fs);
  font-weight: bold;
  line-height: 1.3;
}
.t-page-header .container {
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (min-width:992px) {
  .t-page-header .container {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
  }
}

.t-page-breadcrumbs {
  padding: 1.5rem 0 0;
  line-height: 1.3;
  margin-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.t-page-breadcrumbs .breadcrumbs-list {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

:where(.main-wrap:has(.bg-full.bg-gray:first-child)) .t-page-breadcrumbs {
  background-color: var(--c-bg-gray);
}

.t-page-body {
  position: relative;
  padding-top: calc(var(--t-page-body-padding-t) - 2rem);
  padding-bottom: var(--t-page-body-padding-b);
}

.t-page-lp .sect + .sect {
  padding-top: var(--contents-margin-xl);
}
.t-page-lp .sect + .sect .sect-bg {
  margin-top: 0;
  margin-bottom: 0;
}

.t-post-header {
  --date-fs: var(--rem18);
  --padding-b: 3rem;
  padding: 0;
}
.t-post-header .t-post-title {
  font-size: var(--h3-fs);
  margin-bottom: 0;
  position: relative;
  z-index: 10;
  border-bottom: 1px solid var(--bd-gray);
  padding-bottom: var(--padding-b);
  line-height: 1.3;
}
.t-post-header .t-post-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem 2.8rem;
  margin-bottom: 1rem;
}
.t-post-header .post-date {
  font-size: var(--rem18);
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.t-post-header .post-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}
.t-post-header .post-category .cat-link {
  font-size: 1rem;
  line-height: 1.3;
  padding: 2px 8px;
}

.t-post-body {
  margin-top: 6rem;
}

.t-post-footer {
  margin-top: var(--contents-margin-m);
}
.t-post-footer:only-child:has(.next) {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.t-front-sect {
  margin-bottom: var(--contents-margin-xl);
}
.t-front-sect + .t-front-sect {
  margin-top: var(--contents-margin-xl);
}

.t-front-page .l-header .inner {
  background-color: transparent;
}
.t-front-page .l-header .l-header-logo .logo-text {
  color: var(--c-white);
}
.t-front-page .l-header .l-gnav-bar {
  --l-gnav-color: var(--c-white);
}
.t-front-page .l-header .l-gnav-bar .pull-down .parent::after {
  background-color: var(--c-white);
}
.t-front-page .t-front-mv {
  margin-top: calc(var(--l-header-height) * -1);
}

.sect-lead {
  font-size: var(--rem18);
  line-height: 1.5;
  margin-bottom: 2rem;
}
@media (min-width:768px) {
  .sect-lead {
    font-size: var(--rem24);
    line-height: 1.9;
    margin-bottom: 0;
  }
}

.t-front-mv {
  --padding-t: 2.5rem;
  --padding-b: 2.5rem;
  --height: 64rem;
  --copy-fs: var(--rem50);
  --sub-copy-fs: var(--rem14);
  --container-padding: 2rem;
  padding: var(--padding-t) 0 var(--padding-b);
  margin: 0;
  height: var(--height);
  background-color: var(--c-black);
  background-position: left bottom;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width:768px) {
  .t-front-mv {
    --padding-t: calc(var(--l-header-height) + 2.5rem);
    --padding-b: 2.5rem;
    --height: 100dvh;
    --copy-fs: var(--rem90);
    --sub-copy-fs: var(--rem18);
    --list-fs: var(--rem18);
    --bg-logo-size: 48rem;
    --container-padding: 12rem;
  }
}
.t-front-mv .mv-copy {
  width: calc(var(--container-width) + var(--container-padding) * 2);
  padding: 0 var(--container-padding);
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
.t-front-mv .mv-copy .main-copy {
  font-size: var(--copy-fs);
  font-weight: bold;
  margin: 0;
  color: var(--c-white);
  letter-spacing: 0.05em;
  line-height: 1.3;
}
.t-front-mv .mv-copy .sub-copy {
  font-size: var(--sub-copy-fs);
  margin: 2.2rem 0 0;
  color: var(--c-white);
  line-height: 1.3;
}
@media (min-width:992px) {
  .t-front-mv .mv-copy .main-copy {
    margin: 0;
  }
  .t-front-mv .mv-copy .sub-copy {
    font-size: var(--sub-copy-fs);
    margin: 3rem 0 0;
    line-height: 1.9;
  }
}
.t-front-mv .mv-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}

.t-front-first {
  --padding-t: var(--contents-margin-xl);
  --padding-b: var(--contents-margin-xl);
  padding: var(--padding-t) 0 var(--padding-b);
  background-image: url(../img/top/sect-top-bg.jpg);
  background-position: right top, center bottom;
  background-size: 51% auto, 100% auto;
  background-repeat: no-repeat;
  font-size: var(--rem14);
}
@media (min-width:992px) {
  .t-front-first {
    --padding-t: 21rem;
    --padding-b: var(--contents-margin-l);
  }
}
@media (min-width:992px) {
  .t-front-first {
    font-size: var(--rem16);
  }
}

.first-massege {
  position: relative;
  z-index: 5;
}
.first-massege .h2-massege {
  font-size: var(--rem28);
  margin: 0;
  font-weight: bold;
  letter-spacing: normal;
  line-height: 1.5;
}
.first-massege .h4-massege {
  font-size: var(--rem18);
  margin: 4rem 0 0;
  color: var(--c-orange);
  font-weight: bold;
  letter-spacing: normal;
  line-height: 1.7;
}
@media (min-width:992px) {
  .first-massege .h2-massege {
    font-size: var(--rem60);
  }
  .first-massege .h4-massege {
    font-size: var(--rem24);
    margin: 4rem 0 0;
  }
}

.first-bad_case {
  --padding-t: var(--contents-margin-xl);
  --padding-b: 4rem;
  position: relative;
  z-index: 5;
  padding: var(--padding-t) 0 var(--padding-b);
}
.first-bad_case .h-bubble {
  margin-bottom: 7rem;
  font-size: var(--rem20);
}
@media (min-width:768px) {
  .first-bad_case {
    --padding-b: 8rem;
  }
  .first-bad_case .h-bubble {
    margin-bottom: 7rem;
    font-size: var(--rem36);
  }
}
.first-bad_case .bad_case-box {
  --img-size: 10rem;
  --text-width: 10%rem;
  background-color: rgba(74, 80, 95, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
.first-bad_case .bad_case-box::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  background-image: url(../img/top/icon-bad.svg);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}
.first-bad_case .bad_case-box .col-img {
  width: var(--img-size);
  height: var(--img-size);
  margin: 0;
}
.first-bad_case .bad_case-box .col-img img {
  margin: 0;
}
.first-bad_case .bad_case-box .col-text {
  width: var(--text-width);
}
.first-bad_case .bad_case-box .box-h {
  font-size: var(--rem24);
}
@media (min-width:768px) {
  .first-bad_case .bad_case-box {
    --img-size: 10rem;
    --text-width: 76.5rem;
    min-height: 16rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.5rem;
  }
  .first-bad_case .bad_case-box::before {
    content: "";
    display: block;
    width: 5.3rem;
    height: 5.3rem;
    margin-right: 1rem;
  }
  .first-bad_case .bad_case-box .box-h {
    font-size: var(--rem24);
  }
}
.first-bad_case .bad_case-list .box + .box {
  margin-top: 2rem;
}

.first-resolve {
  position: relative;
  z-index: 3;
}
.first-resolve::before, .first-resolve::after {
  content: "";
  display: block;
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
.first-resolve::before {
  width: 126rem;
  height: 58rem;
  background-image: url(../img/top/resolve-bg.png);
  background-size: contain;
  top: -20rem;
  mix-blend-mode: soft-light;
  opacity: 0.5;
}
.first-resolve::after {
  width: 100vw;
  height: 40rem;
  background-image: url(../img/top/sect-bottom-bg.jpg);
  background-size: cover;
  bottom: calc(var(--padding-b) * -1);
}
.first-resolve .h2-resolve {
  background-color: var(--c-blue);
  color: var(--c-white);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 1px 1rem;
  font-size: var(--rem28);
}
@media (min-width:768px) {
  .first-resolve .h2-resolve {
    font-size: var(--rem50);
  }
}
.first-resolve .resolve-lead {
  font-size: var(--rem18);
  line-height: 1.5;
  margin-top: 2rem;
}
@media (min-width:768px) {
  .first-resolve .resolve-lead {
    font-size: var(--rem24);
    text-align: center;
  }
}
.first-resolve .resolve-list {
  --gap: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--gap);
  margin-top: 2rem;
}
.first-resolve .resolve-list .box {
  width: 100%;
}
@media (min-width:768px) {
  .first-resolve .resolve-list {
    --gap: 2.4rem;
    margin-top: 2rem;
  }
  .first-resolve .resolve-list .box {
    width: calc(50% - var(--gap) / 2);
  }
}
.first-resolve .resolve-box {
  --img-size: 5.5rem;
  --text-width: calc(100% - 6.5rem);
  color: var(--c-black);
  background-color: var(--c-white);
  min-height: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 1rem;
}
.first-resolve .resolve-box .col-img {
  width: var(--img-size);
  height: var(--img-size);
  margin: 0;
}
.first-resolve .resolve-box .col-text {
  width: var(--text-width);
  line-height: 1.7;
}
.first-resolve .resolve-box .box-h {
  font-size: var(--rem18);
  color: var(--c-blue);
}
@media (min-width:768px) {
  .first-resolve .resolve-box {
    --img-size: 12rem;
    --text-width: 33.3rem;
    min-height: 16rem;
    gap: 2.5rem;
    padding: 3rem;
  }
  .first-resolve .resolve-box .box-h {
    font-size: var(--rem24);
  }
}

.strengths-flow {
  --bgc: var(--c-white);
  --arrow: 1.5rem;
  --padding-y: 2.5rem;
  --padding-x: 2.5rem;
  --num-fs: var(--rem16);
  --num-fs-lg: var(--rem28);
  --h-fs: var(--rem20);
  --lead-fs: var(--rem15);
  --text-fs: var(--rem14);
  --gap: 1rem;
  margin-top: var(--contents-margin-m);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.strengths-flow li {
  width: 100%;
  color: var(--c-black);
  background-color: var(--bgc);
  padding: var(--padding-y) var(--padding-x);
  font-size: var(--text-fs);
  line-height: 1.5;
  position: relative;
  clip-path: polygon(0 0, 50% var(--arrow), 100% 0, 100% calc(100% - var(--arrow)), 50% 100%, 0 calc(100% - var(--arrow)));
}
.strengths-flow li + li {
  margin-top: calc(var(--gap) * -1);
}
.strengths-flow li p {
  margin: 0;
}
.strengths-flow li .num {
  font-size: var(--num-fs);
  font-family: var(--ff-en);
  line-height: 1.1;
  color: var(--c-blue);
  margin: 0;
  text-align: center;
  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;
  gap: 0.5rem;
}
.strengths-flow li .num .lg {
  font-size: var(--num-fs-lg);
}
.strengths-flow li .heading {
  color: var(--c-blue);
  text-align: center;
  line-height: 1.1;
  font-size: var(--h-fs);
  letter-spacing: 0;
  margin: 0;
}
.strengths-flow li .img-icon {
  width: 7.6rem;
  height: 7.6rem;
  display: block;
  margin-inline: auto;
  margin-top: 1rem;
}
.strengths-flow li .lead-text {
  text-align: center;
  font-size: var(--lead-fs);
  font-weight: bold;
  margin-top: 1rem;
}
.strengths-flow li:nth-child(2) {
  --bgc: #EAF2F5;
}
.strengths-flow li:nth-child(3) {
  --bgc: #D7E4EA;
}
.strengths-flow li:nth-child(4) {
  --bgc: #C1D8E0;
}
@media (min-width:768px) {
  .strengths-flow {
    --arrow: 5rem;
    --padding-y: 1.5rem;
    --padding-x: 5.5rem;
    --gap: .6rem;
    --num-fs: var(--rem16);
    --num-fs-lg: var(--rem24);
    --h-fs: var(--rem20);
    --lead-fs: var(--rem13);
    --text-fs: var(--rem12);
    gap: var(--gap);
  }
  .strengths-flow li {
    width: calc((100% + var(--arrow) * 3 + var(--gap)) / 4 - var(--gap));
    clip-path: polygon(0 0, calc(100% - var(--arrow)) 0, 100% 50%, calc(100% - var(--arrow)) 100%, 0 100%, var(--arrow) 50%);
  }
  .strengths-flow li + li {
    margin-top: 0;
    margin-left: calc(var(--arrow) * -1);
  }
}

.strengths-row {
  --gap: 2.4rem;
  margin: var(--contents-margin-m) 0 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--gap) 0;
}
.strengths-row .item-col {
  padding: 0 0;
  width: 100%;
}
.strengths-row .item-col .item-h {
  font-size: var(--rem18);
  font-weight: bold;
  text-align: center;
}
.strengths-row .strengths-item {
  border-top: 1px solid var(--c-white);
  padding: 2rem 0;
}
.strengths-row .item-col:last-child .strengths-item {
  border-bottom: 1px solid var(--c-white);
}
.strengths-row .strengths-link {
  border: 2px solid var(--c-white);
  border-radius: 2rem;
  padding: 2rem 2rem 5.5rem;
  display: block;
  position: relative;
}
.strengths-row .strengths-link:hover, .strengths-row .strengths-link:active {
  background-color: var(--c-white);
  color: var(--c-blue);
  opacity: 1;
}
.strengths-row .strengths-link:hover::after, .strengths-row .strengths-link:active::after {
  background-color: var(--c-blue);
}
.strengths-row .strengths-link:hover::before, .strengths-row .strengths-link:active::before {
  background-color: var(--c-white);
}
.strengths-row .strengths-link::after, .strengths-row .strengths-link::before {
  content: "";
  display: block;
  left: 50%;
  bottom: 2rem;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.strengths-row .strengths-link::before {
  position: absolute;
  background-color: var(--c-black02);
  -webkit-mask-image: url(../img/top/strengths-link-arrow.svg);
          mask-image: url(../img/top/strengths-link-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  z-index: 2;
  width: 0.5rem;
  height: 2.5rem;
  -webkit-transform: translateX(-42%);
      -ms-transform: translateX(-42%);
          transform: translateX(-42%);
}
.strengths-row .strengths-link::after {
  position: absolute;
  background-color: var(--c-white);
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100vmax;
}
.strengths-row .strengths-link .br {
  display: none;
}
.strengths-row:not(:has(.strengths-link)) {
  gap: 0;
}
.strengths-row .item-col:not(:has(.strengths-link)) {
  padding: 0;
}
@media (min-width:768px) {
  .strengths-row {
    --gap: 2.4rem;
    margin: var(--contents-margin-m) calc(var(--gap) / -2) 0;
    gap: var(--gap) 0;
  }
  .strengths-row .item-col {
    padding: 0 calc(var(--gap) / 2);
    width: 50%;
  }
  .strengths-row .item-col .item-h {
    font-size: var(--rem24);
    text-align: center;
  }
  .strengths-row .strengths-item {
    border-top: 0;
    padding: 0 4.5rem;
    border-left: 1px solid var(--c-white);
    height: 100%;
  }
  .strengths-row .item-col:last-child .strengths-item {
    border-right: 1px solid var(--c-white);
    border-bottom: 0;
  }
  .strengths-row .strengths-link {
    border-radius: 2rem;
    padding: 2rem 2rem 5.5rem;
    height: 100%;
  }
  .strengths-row .strengths-link .br {
    display: none;
  }
}
@media (min-width:992px) {
  .strengths-row .strengths-link {
    padding: 2rem 2rem 6rem;
  }
  .strengths-row .strengths-link::after, .strengths-row .strengths-link::before {
    bottom: 2rem;
  }
  .strengths-row .strengths-link::before {
    width: 0.6rem;
    height: 3rem;
  }
  .strengths-row .strengths-link::after {
    width: 3rem;
    height: 3rem;
  }
  .strengths-row .strengths-link .br {
    display: block;
  }
}
@media (min-width:1081px) {
  .strengths-row .strengths-link {
    padding: 2.5rem 2.5rem 7.5rem;
  }
  .strengths-row .strengths-link::after, .strengths-row .strengths-link::before {
    bottom: 2.5rem;
  }
  .strengths-row .strengths-link::before {
    width: 0.8rem;
    height: 4rem;
  }
  .strengths-row .strengths-link::after {
    width: 4rem;
    height: 4rem;
  }
}
@media (min-width:1420px) {
  .strengths-row .strengths-link {
    padding: 3.5rem 2.5rem 8rem;
  }
  .strengths-row .strengths-link .br {
    display: none;
  }
}

.t-front-solutions .faq-list {
  margin-top: var(--contents-margin-m);
}

.t-front-service02 {
  padding-bottom: var(--contents-margin-xl);
}

.sns-box {
  --padding-x: 2rem;
  --padding-y: 2rem;
  --radius: 1rem;
  --color: var(--c-white);
  --fs: var(--rem18);
  background-color: var(--c-black);
  padding: var(--padding-y) var(--padding-x);
  border-radius: var(--radius);
}
@media (min-width:768px) {
  .sns-box {
    --padding-x: 3rem;
    --padding-y: 3rem;
    --fs: var(--rem20);
    height: 100%;
  }
}
@media (min-width:1081px) {
  .sns-box {
    --padding-x: 5rem;
    --padding-y: 4rem;
    --fs: var(--rem24);
  }
}
.sns-box .box-h {
  text-align: center;
  color: var(--color);
  font-size: var(--fs);
  font-weight: bold;
}
.sns-box .box-h:is(:not(:first-child)), .sns-box .box-h {
  margin: -1rem 0 0;
  padding: 0;
}
@media (min-width:768px) {
  .sns-box .box-h:is(:not(:first-child)), .sns-box .box-h {
    margin: -2rem 0 0;
  }
}
.sns-box ul:is(:not(:first-child)), .sns-box ul {
  margin-top: 0;
}

.landing-block .inner-box {
  --padding-x: 2rem;
  --padding-y: 2rem;
  --radius: 1rem;
  --color: var(--c-white);
  --fs: var(--rem20);
  --arrow-x: 3.8rem;
  --arrow-y: 3.2rem;
  padding: var(--padding-y) var(--padding-x);
  background-color: var(--c-black03);
  position: relative;
}
@media (min-width:768px) {
  .landing-block .inner-box {
    --padding-x: 5rem;
    --padding-y: 3rem;
    --fs: var(--rem36);
  }
}
.landing-block .inner-box::after {
  content: "";
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  background-color: var(--c-black03);
  position: absolute;
  left: calc(50% - var(--arrow-x) / 2);
  top: calc(100% - 1px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.landing-block .inner-box .box-h {
  margin: 0;
  padding: 0;
  color: var(--color);
  text-align: center;
  font-size: var(--fs);
  font-weight: bold;
  line-height: 1.3;
}
@media (min-width:768px) {
  .landing-block .inner-box .box-h {
    line-height: 1.5;
  }
}
.landing-block .inner-box .box-h::before {
  content: none;
}
.landing-block .inner-box .box-h:is(:not(:first-child)), .landing-block .inner-box .box-h {
  margin: 0;
  padding: 0;
}
@media (min-width:992px) {
  .landing-block .inner-box .box-h:is(:not(:first-child)), .landing-block .inner-box .box-h {
    margin: 0;
    padding: 0;
  }
}
.landing-block .inner-box + .inner-box {
  margin-top: 5.8rem;
}
.landing-block .last-box {
  background-color: var(--c-blue);
  text-align: left;
}
.landing-block .last-box::before {
  content: "";
  width: 8rem;
  height: 8rem;
  display: block;
  background-image: url(../img/landing/icon-landing.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-inline: auto;
  margin-bottom: 2rem;
}
.landing-block .last-box::after {
  content: none;
}
@media (min-width:768px) {
  .landing-block .last-box {
    text-align: center;
  }
  .landing-block .last-box::before {
    width: 8rem;
    height: 11rem;
  }
}

.landing-pricing-row {
  gap: 2rem 0;
}

.landing-pricing-box {
  --padding-x: 2rem;
  --padding-y: 2rem;
  --radius: 1rem;
  --color: var(--c-white);
  --fs: var(--rem24);
  --arrow-x: 3.8rem;
  --arrow-y: 3.2rem;
  padding: var(--padding-y) var(--padding-x);
  background-color: var(--c-black03);
}
@media (min-width:768px) {
  .landing-pricing-box {
    --padding-x: 5rem;
    --padding-y: 3rem;
    --fs: var(--rem36);
  }
}
.landing-pricing-box .box-h {
  margin: 0;
  padding: 0;
  color: var(--color);
  text-align: center;
  font-size: var(--fs);
  font-weight: bold;
}
.landing-pricing-box .box-h::before {
  content: none;
}
.landing-pricing-box .dl-small-list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.landing-pricing-box .dl-small-list .item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.landing-pricing-box .dl-small-list .item dd {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--rem18);
}
@media (min-width:768px) {
  .landing-pricing-box .dl-small-list .item dd {
    font-size: var(--rem24);
  }
}

.lp-wrak-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 2rem;
}
.lp-wrak-row .col-pc,
.lp-wrak-row .col-sp {
  width: 100%;
}
.lp-wrak-row .col-pc {
  --aspect: 1/1;
}
.lp-wrak-row .col-sp {
  --aspect: 1/2.1;
}
.lp-wrak-row .landing-wrak-wrap {
  overflow: hidden;
  height: auto;
  position: relative;
  aspect-ratio: var(--aspect);
}
.lp-wrak-row .landing-wrak-wrap img {
  display: block;
  margin: auto;
}
.lp-wrak-row p {
  text-align: center;
  margin-bottom: 1rem;
}
@media (min-width:768px) {
  .lp-wrak-row {
    gap: 4rem;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .lp-wrak-row .landing-wrak-wrap {
    height: auto;
    position: relative;
  }
  .lp-wrak-row .landing-wrak-wrap img {
    position: relative;
    height: auto;
  }
  .lp-wrak-row .col-pc,
  .lp-wrak-row .col-sp {
    --aspect: auto;
    width: auto;
  }
  .lp-wrak-row .col-pc {
    width: calc(72.7273% - 2rem);
  }
  .lp-wrak-row .col-sp {
    width: calc(30.9091% - 2rem);
  }
}

.recruit-massage {
  font-size: var(--rem18);
}
@media (min-width:768px) {
  .recruit-massage {
    font-size: var(--rem24);
  }
}

.voice-row {
  gap: 2rem 0;
}
@media (min-width:768px) {
  .voice-row {
    gap: 3rem 0;
  }
}

.voice-box {
  --padding-x: 2rem;
  --padding-y: 2rem;
  --radius: 1rem;
  background-color: var(--c-black03);
  margin-top: 0;
  height: 100%;
}
@media (min-width:768px) {
  .voice-box {
    --padding-x: 3rem;
    --padding-y: 3rem;
  }
}
.voice-box .box-h {
  margin: 0;
  color: var(--c-white);
  font-size: var(--rem18);
  font-weight: bold;
  text-align: center;
}
.voice-box .box-h::before {
  content: "";
  width: 5.6rem;
  height: 6.6rem;
  display: block;
  background-image: url(../img/recruit/icon-voice.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-inline: auto;
  margin-bottom: 2rem;
}
.voice-box .age {
  font-size: var(--rem18);
  text-align: center;
  line-height: 1.3;
  margin-top: 0;
}
@media (min-width:768px) {
  .voice-box .box-h {
    font-size: var(--rem24);
    font-weight: bold;
  }
  .voice-box .box-h::before {
    width: 5.6rem;
    height: 6.6rem;
    margin-bottom: 2rem;
  }
  .voice-box .age {
    font-size: var(--rem18);
  }
}

.recruit-dl {
  --gap: 3rem;
  --arrow-x: 1.8rem;
  --arrow-y: 1.2rem;
  --padding-x: 1rem;
  --padding-y: 2rem;
  --fs: var(--rem16);
  --bg-color: var(--c-black);
}
@media (min-width:768px) {
  .recruit-dl {
    --gap: 4.5rem;
    --arrow-x: 3.8rem;
    --arrow-y: 3.4rem;
    --padding-x: 1.5rem;
    --padding-y: 2.5rem;
    --fs: var(--rem24);
  }
}
.recruit-dl .item {
  gap: var(--gap);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.recruit-dl .item + .item {
  margin-top: 3rem;
}
.recruit-dl .item .dt {
  margin: 0;
  color: var(--c-white);
  background-color: var(--bg-color);
  padding: var(--padding-y) var(--padding-x);
  font-size: var(--fs);
  font-weight: bold;
  width: 100%;
  text-align: center;
  line-height: 1.3;
  position: relative;
  border-radius: 1rem;
}
.recruit-dl .item .dt::before {
  content: "";
  width: 5.6rem;
  height: 6.6rem;
  display: block;
  background-image: url(../img/recruit/icon-voice.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-inline: auto;
  margin-bottom: 2rem;
}
.recruit-dl .item .dt::after {
  content: "";
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  background-color: var(--bg-color);
  position: absolute;
  left: calc(50% - var(--arrow-x) / 2);
  top: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.recruit-dl .item dd {
  width: 100%;
}
@media (min-width:768px) {
  .recruit-dl .item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .recruit-dl .item .dt {
    width: 48rem;
  }
  .recruit-dl .item .dt::before {
    width: 5.6rem;
    height: 6.6rem;
    margin-bottom: 2rem;
  }
  .recruit-dl .item .dt::after {
    left: 100%;
    top: calc(50% - var(--arrow-y) / 2);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .recruit-dl .item .dd {
    width: calc(100% - 48rem - var(--gap));
  }
}

.seek-box {
  --arrow-x: 1.8rem;
  --arrow-y: 1.2rem;
  --padding-x: 1rem;
  --padding-y: 2rem;
  --fs: var(--rem16);
  --bg-color: var(--c-white);
  background-color: var(--bg-color);
  color: var(--c-black);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width:768px) {
  .seek-box {
    --gap: 4.5rem;
    --arrow-x: 1.8rem;
    --arrow-y: 1.8rem;
    --padding-x: 1.5rem;
    --padding-y: 2.5rem;
    --fs: var(--rem24);
  }
}
.seek-box .col-left {
  margin: 0;
  padding: 0 0 var(--arrow-y);
  font-size: var(--fs);
  font-weight: bold;
  width: 100%;
  text-align: center;
  line-height: 1.3;
  position: relative;
  border-radius: 1rem;
}
.seek-box .col-left::before, .seek-box .col-left::after {
  content: "";
  aspect-ratio: 1/1.1578;
  display: block;
  width: var(--arrow-x);
  height: var(--arrow-y);
  position: absolute;
  left: 50%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.seek-box .col-left::before {
  background-color: var(--c-blue);
  top: 100%;
  -webkit-transform: translate(-50%, 1px);
      -ms-transform: translate(-50%, 1px);
          transform: translate(-50%, 1px);
}
.seek-box .col-left::after {
  background-color: var(--c-white);
  top: 100%;
  -webkit-transform: translate(-50%, -2px);
      -ms-transform: translate(-50%, -2px);
          transform: translate(-50%, -2px);
}
.seek-box .col-right {
  padding: 2rem 0 0;
  border-top: 2px solid var(--c-blue);
  width: 100%;
}
.seek-box .box-h {
  position: relative;
  color: var(--c-blue);
}
.seek-box .box-h::before {
  content: "";
  width: 8rem;
  height: 9rem;
  display: block;
  background-image: url(../img/recruit/seek-icon04.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-inline: auto;
  margin-bottom: 1rem;
}
.seek-box ul li::before {
  background-color: var(--c-blue);
}
@media (min-width:768px) {
  .seek-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: var(--padding-y) 0;
  }
  .seek-box .col-left {
    padding: 0 var(--padding-y);
    width: 44.5rem;
  }
  .seek-box .col-left::before, .seek-box .col-left::after {
    top: 50%;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .seek-box .col-left::before {
    left: 100%;
    -webkit-transform: translate(1px, -50%);
        -ms-transform: translate(1px, -50%);
            transform: translate(1px, -50%);
  }
  .seek-box .col-left::after {
    left: 100%;
    -webkit-transform: translate(-4px, -50%);
        -ms-transform: translate(-4px, -50%);
            transform: translate(-4px, -50%);
  }
  .seek-box .col-right {
    border-top: 0;
    border-left: 3px solid var(--c-blue);
    width: calc(100% - 44.5rem);
    padding: 0 0 0 3rem;
  }
  .seek-box .box-h::before {
    width: 8rem;
    height: 11rem;
    margin-bottom: 2rem;
  }
}

.listing-table-img {
  max-width: 48rem;
  width: 48rem;
  margin: 0;
}
@media (min-width:768px) {
  .listing-table-img {
    max-width: 100%;
    width: auto;
  }
}

.mailmaga-table-img {
  max-width: 78rem;
  width: 78rem;
  margin: 0;
}
@media (min-width:768px) {
  .mailmaga-table-img {
    max-width: 100%;
    width: auto;
  }
}

/*
-- Utility CSS
-------------------------------------------------- */
.mb-0 {
  margin-bottom: 0 !important;
}

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

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

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

.mb-5 {
  margin-bottom: 0.5rem !important;
}

.mt-5 {
  margin-top: 0.5rem !important;
}

.mb-10 {
  margin-bottom: 1rem !important;
}

.mt-10 {
  margin-top: 1rem !important;
}

.mb-15 {
  margin-bottom: 1.5rem !important;
}

.mt-15 {
  margin-top: 1.5rem !important;
}

.mb-20 {
  margin-bottom: 2rem !important;
}

.mt-20 {
  margin-top: 2rem !important;
}

.mb-25 {
  margin-bottom: 2.5rem !important;
}

.mt-25 {
  margin-top: 2.5rem !important;
}

.mb-30 {
  margin-bottom: 3rem !important;
}

.mt-30 {
  margin-top: 3rem !important;
}

.mb-35 {
  margin-bottom: 3.5rem !important;
}

.mt-35 {
  margin-top: 3.5rem !important;
}

.mb-40 {
  margin-bottom: 4rem !important;
}

.mt-40 {
  margin-top: 4rem !important;
}

.mb-45 {
  margin-bottom: 4.5rem !important;
}

.mt-45 {
  margin-top: 4.5rem !important;
}

.mb-50 {
  margin-bottom: 5rem !important;
}

.mt-50 {
  margin-top: 5rem !important;
}

.mb-55 {
  margin-bottom: 5.5rem !important;
}

.mt-55 {
  margin-top: 5.5rem !important;
}

.mb-60 {
  margin-bottom: 6rem !important;
}

.mt-60 {
  margin-top: 6rem !important;
}

.mb-65 {
  margin-bottom: 6.5rem !important;
}

.mt-65 {
  margin-top: 6.5rem !important;
}

.mb-70 {
  margin-bottom: 7rem !important;
}

.mt-70 {
  margin-top: 7rem !important;
}

.mb-75 {
  margin-bottom: 7.5rem !important;
}

.mt-75 {
  margin-top: 7.5rem !important;
}

.mb-80 {
  margin-bottom: 8rem !important;
}

.mt-80 {
  margin-top: 8rem !important;
}

.mb-85 {
  margin-bottom: 8.5rem !important;
}

.mt-85 {
  margin-top: 8.5rem !important;
}

.mb-90 {
  margin-bottom: 9rem !important;
}

.mt-90 {
  margin-top: 9rem !important;
}

.mb-95 {
  margin-bottom: 9.5rem !important;
}

.mt-95 {
  margin-top: 9.5rem !important;
}

.mb-100 {
  margin-bottom: 10rem !important;
}

.mt-100 {
  margin-top: 10rem !important;
}

@media (max-width:767px) {
  .mb-sp-0 {
    margin-bottom: 0px !important;
  }
  .mt-sp-0 {
    margin: 0px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-0 {
    margin-bottom: 0px !important;
  }
  .mt-sp-0 {
    margin-top: 0px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-5 {
    margin-bottom: 5px !important;
  }
  .mt-sp-5 {
    margin-top: 5px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-10 {
    margin-bottom: 10px !important;
  }
  .mt-sp-10 {
    margin-top: 10px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-15 {
    margin-bottom: 15px !important;
  }
  .mt-sp-15 {
    margin-top: 15px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-20 {
    margin-bottom: 20px !important;
  }
  .mt-sp-20 {
    margin-top: 20px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-25 {
    margin-bottom: 25px !important;
  }
  .mt-sp-25 {
    margin-top: 25px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-30 {
    margin-bottom: 30px !important;
  }
  .mt-sp-30 {
    margin-top: 30px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-35 {
    margin-bottom: 35px !important;
  }
  .mt-sp-35 {
    margin-top: 35px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-40 {
    margin-bottom: 40px !important;
  }
  .mt-sp-40 {
    margin-top: 40px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-45 {
    margin-bottom: 45px !important;
  }
  .mt-sp-45 {
    margin-top: 45px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-50 {
    margin-bottom: 50px !important;
  }
  .mt-sp-50 {
    margin-top: 50px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-55 {
    margin-bottom: 55px !important;
  }
  .mt-sp-55 {
    margin-top: 55px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-60 {
    margin-bottom: 60px !important;
  }
  .mt-sp-60 {
    margin-top: 60px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-65 {
    margin-bottom: 65px !important;
  }
  .mt-sp-65 {
    margin-top: 65px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-70 {
    margin-bottom: 70px !important;
  }
  .mt-sp-70 {
    margin-top: 70px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-75 {
    margin-bottom: 75px !important;
  }
  .mt-sp-75 {
    margin-top: 75px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-80 {
    margin-bottom: 80px !important;
  }
  .mt-sp-80 {
    margin-top: 80px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-85 {
    margin-bottom: 85px !important;
  }
  .mt-sp-85 {
    margin-top: 85px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-90 {
    margin-bottom: 90px !important;
  }
  .mt-sp-90 {
    margin-top: 90px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-95 {
    margin-bottom: 95px !important;
  }
  .mt-sp-95 {
    margin-top: 95px !important;
  }
}
@media (max-width:767px) {
  .mb-sp-100 {
    margin-bottom: 100px !important;
  }
  .mt-sp-100 {
    margin-top: 100px !important;
  }
}
.mb-xs {
  margin-bottom: 2rem !important;
}

.mt-xs {
  margin-top: 2rem !important;
}

.mb-s {
  margin-bottom: 4rem !important;
}

.mt-s {
  margin-top: 4rem !important;
}

.mb-m {
  margin-bottom: 6rem !important;
}

.mt-m {
  margin-top: 6rem !important;
}

.mb-l {
  margin-bottom: 10rem !important;
}

.mt-l {
  margin-top: 10rem !important;
}

.mb-xl {
  margin-bottom: 18rem !important;
}

.mt-xl {
  margin-top: 18rem !important;
}

@media (max-width:767px) {
  .mb-xs {
    margin-bottom: 1rem !important;
  }
  .mt-xs {
    margin-top: 1rem !important;
  }
  .mb-s {
    margin-bottom: 2rem !important;
  }
  .mt-s {
    margin-top: 2rem !important;
  }
  .mb-m {
    margin-bottom: 4rem !important;
  }
  .mt-m {
    margin-top: 4rem !important;
  }
  .mb-l {
    margin-bottom: 8rem !important;
  }
  .mt-l {
    margin-top: 8rem !important;
  }
  .mb-xl {
    margin-bottom: 12rem !important;
  }
  .mt-xl {
    margin-top: 12rem !important;
  }
}
.sp-break {
  display: block;
}

@media (min-width:768px) {
  .sp-break {
    display: inline;
  }
}
.pc-visible {
  display: none;
}

.sp-visible {
  display: block;
}

.xl-visible {
  display: none;
}

.lg-visible {
  display: none;
}

.md-visible {
  display: none;
}

@media (min-width:768px) {
  .pc-visible {
    display: block;
  }
  .sp-visible {
    display: none;
  }
}
@media (min-width:992px) {
  .md-visible {
    display: block;
  }
}
@media (min-width:1081px) {
  .lg-visible {
    display: block;
  }
}
@media (min-width:1280px) {
  .xl-visible {
    display: block;
  }
}
.marker-yellow {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#C0D619), to(#C0D619));
  background-image: linear-gradient(#C0D619, #C0D619);
  background-size: 100% 0.6em;
  background-position: left 0.75em;
  background-repeat: no-repeat;
  display: inline;
}

.marker {
  text-decoration: underline;
  text-underline-offset: -0.7em;
  text-decoration-thickness: 0.7em;
  text-decoration-color: var(--c-green02);
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.marker-blue {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#1D1F87), to(#1D1F87));
  background-image: linear-gradient(#1D1F87, #1D1F87);
  background-size: 100% 0.6em;
  background-position: left 0.75em;
  background-repeat: no-repeat;
  display: inline;
}

.bg-navy {
  background-color: #373767;
}

.bg-gray {
  background-color: #F5F5F5;
}

.bg-orange {
  background-color: #F88836;
}

.img-center {
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.img-fit-center {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.hr-dashed {
  border-top: 1px dashed #121212;
}

.visually-hidden {
  position: fixed !important;
  /* keep it on viewport */
  top: 0px !important;
  left: 0px !important;
  /* give it non-zero size, VoiceOver on Safari requires at least 2 pixels
     before allowing buttons to be activated. */
  width: 4px !important;
  height: 4px !important;
  /* visually hide it with overflow and opacity */
  opacity: 0 !important;
  overflow: hidden !important;
  /* remove any margin or padding */
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  /* ensure no other style sets display to none */
  display: block !important;
  visibility: visible !important;
}

.txt-bold {
  font-weight: bold;
}

.txt-lg {
  font-size: 110%;
}

.txt-xl {
  font-size: 120%;
}

.txt-huge {
  font-size: 150%;
}

.txt-sm {
  font-size: 85%;
}

.txt-xs {
  font-size: 70%;
}

.txt-3s {
  font-size: 50%;
}

.fz-ss {
  font-size: 0.625rem !important;
}

.fz-s {
  font-size: 0.75rem !important;
}

.fz-m {
  font-size: 0.875rem !important;
}

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

.fz-ll {
  font-size: 1.125rem !important;
}

.txt-orange,
.has-orange-color {
  color: var(--c-orange) !important;
}

.txt-green,
.has-green-color {
  color: var(--c-green) !important;
}

.txt-gray,
.has-gray-color {
  color: #969696 !important;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

@media (min-width:768px) {
  .text-left-pc {
    text-align: left;
  }
  .text-center-pc {
    text-align: center;
  }
  .text-right-pc {
    text-align: right;
  }
}
@media (max-width:767px) {
  .text-left-sp {
    text-align: left !important;
  }
  .text-center-sp {
    text-align: center !important;
  }
  .text-right-sp {
    text-align: right !important;
  }
}
.v-top {
  vertical-align: top;
}

.v-middle {
  vertical-align: middle;
}

.v-bottom {
  vertical-align: bottom;
}

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

.fw-normal {
  font-weight: normal !important;
}
/*# sourceMappingURL=style.css.map */