@charset "UTF-8";
:root {
  --container-width: 1100px;
  --container-width-small: 960px;
  --container-width-xs: 880px;
  --container-padding: 2rem;
  --contents-margin-xl: 10rem;
  --contents-margin-l: 6rem;
  --contents-margin-m: 4rem;
  --contents-margin-s: 3rem;
  --contents-margin-xs: 1.5rem;
  --l-header-height: 4rem;
  --l-header-padding-x: 2rem;
  --l-header-padding-y: 2rem;
  --l-header-logo-width: 6rem;
  --l-header-logo-fs: 1.2rem;
  --l-header-bg-color: var(--c-white);
  --logo-aspect: 6/2.4;
  --drawer-wight: 100%;
  --main-wrap-padding-t: calc(var(--l-header-height) + var(--l-header-padding-y) * 2);
  --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: 7.9rem;
  --l-foot-logo-fs: var(--rem16);
  --copyright-padding-y: 3.3rem;
  --copyright-fs: var(--rem10);
  --copyright-color: var(--c-black);
  --footer-nav-gap: 40px;
  --btn-min-height: 8rem;
  --btn-min-width: 100%;
  --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;
  --c-gray: #ccc;
  --c-orange: #F88836;
  --c-blue: #3A75BB;
  --c-blue02: #2C9EE5;
  --c-lightblue: #D7E7F7;
  --c-lightblue02: #F5F9FF;
  --c-red: #E30000;
  --c-white: #fff;
  --c-black: #333333;
  --bg-gray: #ccc;
  --bd-gray: #ccc;
  --bg-color: var(--c-white);
  --bg-sub-color: var(--c-navy);
  --font-color: var(--c-black);
  --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;
  --rem52: 5.2rem;
  --rem60: 6rem;
  --rem70: 7rem;
  --rem80: 8rem;
  --vw10: calc((10 / 1220) * 100vw);
  --vw12: calc((12 / 1220) * 100vw);
  --vw14: calc((14 / 1220) * 100vw);
  --vw16: calc((16 / 1220) * 100vw);
  --vw18: calc((18 / 1220) * 100vw);
  --vw19: calc((19 / 1220) * 100vw);
  --vw20: calc((20 / 1220) * 100vw);
  --vw22: calc((22 / 1220) * 100vw);
  --vw24: calc((24 / 1220) * 100vw);
  --vw26: calc((26 / 1220) * 100vw);
  --vw28: calc((28 / 1220) * 100vw);
  --vw30: calc((30 / 1220) * 100vw);
  --vw32: calc((32 / 1220) * 100vw);
  --vw34: calc((34 / 1220) * 100vw);
  --vw36: calc((36 / 1220) * 100vw);
  --vw38: calc((38 / 1220) * 100vw);
  --vw40: calc((40 / 1220) * 100vw);
  --vw42: calc((42 / 1220) * 100vw);
  --vw44: calc((44 / 1220) * 100vw);
  --vw45: calc((45 / 1220) * 100vw);
  --vw46: calc((46 / 1220) * 100vw);
  --vw54: calc((54 / 1220) * 100vw);
  --vw60: calc((60 / 1220) * 100vw);
  --vw70: calc((70 / 1220) * 100vw);
  --vw80: calc((80 / 1220) * 100vw);
  --fs-bese: var(--rem16);
  --fs-default: var(--rem16);
  --ff-yugo: Yu Gothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
  --ff-en: Roboto, sans-serif ;
  --entry-h2-fs: var(--rem24);
  --entry-h3-fs: var(--rem18);
  --entry-h4-fs: var(--rem16);
  --entry-h5-fs: var(--rem16);
  --entry-h6-fs: var(--rem16);
  --post-element-margin-t: 0;
  --post-element-margin-b: 0;
  --post-block-margin-t: 0;
  --post-block-margin-b: 0;
  --post-fs: var(--rem16);
  --t-page-body-padding-b: 160px;
  --t-page-body-padding-t: 90px;
  --btn-fiexd-contact-sp-height: 90px;
  --t-page-header-bg-url: url(../img/common/mv.jpg);
}
@media (min-width:768px) {
  :root {
    --container-padding: 8rem;
  }
}
@media (min-width:768px) {
  :root {
    --contents-margin-xl: 16rem;
    --contents-margin-l: 10rem;
    --contents-margin-m: 6rem;
    --contents-margin-s: 4rem;
    --contents-margin-xs: 2rem;
  }
}
@media (min-width:768px) {
  :root {
    --l-header-height: 8rem;
    --l-header-padding-x: 2rem;
    --l-header-padding-y: 2rem;
    --l-header-logo-width: 8.8rem;
    --l-header-logo-fs: 1.8rem;
    --drawer-wight: 100%;
  }
}
@media (min-width:1280px) {
  :root {
    --l-header-padding-x: 3rem;
  }
}
@media (min-width:768px) {
  :root {
    --l-foot-padding-t: 16rem;
    --l-foot-logo-width: 11.2rem;
    --copyright-fs: var(--rem12);
    --l-foot-logo-fs: var(--rem24);
  }
}
@media (min-width:768px) {
  :root {
    --btn-min-height: 8rem;
    --btn-min-width: 31rem;
  }
}
@media (max-width:991px) {
  :root {
    --wp-var: 32px;
  }
}
@media (max-width:767px) {
  :root {
    --wp-var: 46px;
  }
}
@media (min-width:768px) {
  :root {
    --entry-h2-fs: var(--rem52);
    --entry-h3-fs: var(--rem36);
    --entry-h4-fs: var(--rem24);
    --entry-h5-fs: var(--rem16);
    --entry-h6-fs: var(--rem16);
  }
}

/*
* base
* --------------------------------------------------*/
/* body
-----------------------------------------------------*/
html {
  scroll-padding-top: calc(var(--l-header-height) + var(--l-header-padding-y) * 2);
}

body {
  background-color: var(--c-lightblue02);
  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: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  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: initial;
}

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 .inner-small {
  max-width: 640px;
  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: -15px;
  margin-right: -15px;
}
.row > [class*=col-], .row .col {
  padding-left: 15px;
  padding-right: 15px;
}

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

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

.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 {
    margin-left: -5px;
    margin-right: -5px;
  }
  .row > [class*=col-], .row .col, .row-10 > [class*=col-], .row-10 .col, .row-20 > [class*=col-], .row-20 .col {
    padding-left: 5px;
    padding-right: 5px;
  }
  .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: 0;
  position: fixed;
  left: 0;
  top: 0;
  z-index: var(--zindex-header);
  background-color: var(--c-white);
}
.l-header .inner {
  position: relative;
  height: calc(var(--l-header-height) + var(--l-header-padding-t) * 2);
  padding: var(--l-header-padding-y) var(--l-header-padding-x);
  background-color: var(--l-header-bg-color);
  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%;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition-property: -webkit-transform background-color opacity;
  transition-property: -webkit-transform background-color opacity;
  transition-property: transform background-color opacity;
  transition-property: transform background-color opacity, -webkit-transform background-color opacity;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.l-header .drawer-btn {
  display: block;
  z-index: calc(var(--zindex-header) + 20);
}
.l-header .l-header-logo {
  z-index: calc(var(--zindex-header) + 20);
}
.l-header .l-gnav-bar {
  z-index: calc(var(--zindex-header));
}
.logged-in .l-header {
  top: var(--wp-var);
}
.l-header .corporate-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
}

@media (min-width:992px) {
  .l-header .inner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    z-index: var(--zindex-header);
  }
  .l-header .drawer-btn {
    display: none;
  }
  .l-header .corporate-link {
    display: none;
  }
}
.l-header-logo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 3rem;
  padding: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
.l-header-logo .logo-link {
  height: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
}
.l-header-logo .logo-text {
  display: block;
  font-size: var(--l-header-logo-fs);
  font-weight: bold;
  color: var(--c-blue);
  line-height: 1.1;
  white-space: nowrap;
}
.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 {
    width: 40rem;
  }
}
.pagetop {
  display: block;
  position: fixed;
  background-color: var(--c-blue);
  background-image: radial-gradient(var(--c-white) 0, var(--c-white) 1.1rem, var(--c-blue) 1.1rem);
  background-size: 2.3rem 2.3rem;
  background-position: center center;
  background-repeat: no-repeat;
  right: 1rem;
  bottom: 1.5rem;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 100vmax;
  z-index: 10;
}
.pagetop::after {
  content: "";
  display: block;
  height: 2.5rem;
  width: 2.5rem;
  background-color: var(--c-blue);
  -webkit-mask-image: url(../img/common/circle-arrow.svg);
          mask-image: url(../img/common/circle-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;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
}

.l-footer {
  background-color: var(--c-white);
  padding: var(--l-foot-padding-t) 0 0;
  position: relative;
}
.l-footer .l-footer-logo {
  width: 100%;
  padding: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
.l-footer .l-footer-logo .logo-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.2rem;
}
.l-footer .l-footer-logo .logo-text {
  display: block;
  font-size: var(--l-foot-logo-fs);
  font-weight: bold;
  color: var(--c-blue);
  line-height: 1.1;
  white-space: nowrap;
}
.l-footer .l-footer-logo .logo-img {
  display: block;
  width: var(--l-foot-logo-width);
  height: auto;
  margin: 0;
  aspect-ratio: var(--logo-aspect);
}
.l-footer .l-footer-link {
  margin-top: 2.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.l-footer .l-footer-right {
  margin-top: 5rem;
}
.l-footer .l-fooer-copyright {
  color: var(--copyright-color);
  font-size: var(--copyright-fs);
  text-align: center;
  padding: var(--copyright-padding-y) 0;
  width: calc(100% + 2rem);
  margin: 0 -1rem;
  letter-spacing: normal;
}

@media (min-width:768px) {
  .l-footer {
    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;
  }
  .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: 30px;
  }
  .l-footer .l-footer-link {
    margin-top: 8rem;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    text-align: left;
  }
  .l-footer .l-fooer-copyright {
    margin-top: 4.2rem;
    text-align: center;
  }
}
.footer-nav-list {
  -webkit-column-count: none;
     -moz-column-count: none;
          column-count: none;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 0;
  width: 100%;
}
.footer-nav-list .item {
  width: 33.3333%;
  padding: 0 10px;
  text-align: center;
  line-height: 1.1;
  min-height: 30px;
  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;
}
.footer-nav-list .item:nth-child(3n-1), .footer-nav-list .item:nth-child(3n) {
  border-left: 1px solid var(--c-black);
}
.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: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    -ms-grid-rows: auto 2.5rem auto 2.5rem auto 2.5rem auto;
    grid-template-rows: repeat(4, auto);
    gap: 2.5rem 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-black);
  --btn-min-height: var(--l-header-height);
  --l-gnav-fs: var(--rem16);
  --l-gnav-gap: 20px;
}
@media (min-width:992px) {
  .l-gnav-bar {
    --l-gnav-fs: clamp(var(--rem10), var(--vw16), var(--rem16));
    --l-gnav-gap: clamp(var(--rem10), 1.8vw, var(--rem15));
  }
}
@media (min-width:1280px) {
  .l-gnav-bar {
    --l-gnav-fs: var(--rem16);
    --l-gnav-gap: var(--rem40);
  }
}

.l-gnav-bar {
  color: var(--l-gnav-color);
  position: fixed;
  left: 0;
  top: calc(var(--l-header-height) + var(--l-header-padding-y) * 2);
  display: block;
  height: calc(100dvh - (var(--l-header-height) + var(--l-header-padding-y) * 2));
  width: 100%;
  padding: var(--l-header-height) 0;
  overflow-y: scroll;
  background-color: var(--c-lightblue);
}
.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: 2rem 4rem;
  min-height: 100%;
  gap: 4rem 4rem;
}
.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: 20px;
  height: auto;
}
.logged-in .l-gnav-bar {
  top: calc(var(--l-header-height) + var(--wp-var));
}

@media (min-width:992px) {
  .l-gnav-bar {
    height: auto;
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: none;
            transform: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    overflow: visible;
    background-color: transparent;
  }
  .l-gnav-bar > .gnav-inner {
    max-width: var(--panel-width);
    height: auto;
    padding: 0;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-gnav-bar .gnav-list {
    -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;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--l-gnav-gap);
    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;
  color: var(--c-blue);
}

@media (min-width:992px) {
  .gnav-list .link {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    display: block;
    line-height: 1.3;
    text-align: center;
  }
  .gnav-list .link br {
    display: block;
  }
}
@media (max-width:991px) {
  .l-gnav-bar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-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);
            transform: translateY(0);
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
}
.pull-down {
  position: relative;
  height: 100%;
  z-index: 100;
}
.pull-down .child {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 10;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 220px;
  border: 0;
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.pull-down .child .item {
  width: 100%;
  max-width: 100%;
  border: 0;
  background-color: var(--c-bg-gray);
  padding: 5px 0;
  border-top: 1px solid var(--c-white);
}
.pull-down .child .item::before, .pull-down .child .item::after {
  content: none !important;
}
.pull-down .child .item:first-child {
  border-radius: 5px 5px 0 0;
}
.pull-down .child .item:last-child {
  border-radius: 0 0 5px 5px;
}
.pull-down .child .item .link {
  border: 0;
  padding: 0 10px;
  width: 100%;
}
.pull-down:hover .child, .pull-down:active .child {
  width: 100%;
  visibility: visible;
  opacity: 1;
  height: auto;
}

@media (max-width:991px) {
  .pull-down {
    margin: 0;
    height: auto;
  }
  .pull-down .child {
    width: 100%;
    visibility: visible;
    opacity: 1;
    position: relative;
    top: 0;
    left: 0;
    border: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    margin-bottom: 20px;
  }
  .pull-down .child .item {
    width: 100%;
    max-width: 100%;
    padding: 5px 0;
    background-color: transparent;
    border: 0;
  }
  .pull-down .child .item:not(:first-child) {
    border-top: 1px dotted #fff;
  }
  .pull-down .child .item .link {
    padding: 5px;
    font-size: var(--rem16);
  }
  .pull-down:hover .child, .pull-down:active .child {
    width: 100%;
    visibility: visible;
    opacity: 1;
  }
}
.logged-in .l-drawer {
  top: 32px;
  height: calc(100dvh - 32px);
}

.l-cta-sect {
  --l-cta-padding-y: 8rem;
  --l-cta-bg-img: url(../img/common/cta-bg-sp.jpg);
  --l-cta-title-fs: var(--rem42);
  --l-cta-title-en-fs: var(--rem18);
  --l-cta-copy-fs: var(--rem14);
  --l-cta-gap: 2rem;
  --l-cta-btn-width: 100%;
  padding: var(--l-cta-padding-y) 0 var(--l-cta-padding-y);
  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:992px) {
  .l-cta-sect {
    --l-cta-padding-y: 16rem;
    --l-cta-bg-img: url(../img/common/cta-bg.jpg);
    --l-cta-title-fs: var(--rem60);
    --l-cta-title-en-fs: var(--rem24);
    --l-cta-height: auto;
    --l-cta-gap: 4rem;
    --l-cta-btn-width: calc(50% - 2rem);
  }
}
.l-cta-sect .l-cta-title-en {
  font-family: var(--ff-en);
  font-size: var(--l-cta-title-en-fs);
  font-weight: bold;
  text-align: center;
  color: var(--c-blue);
  line-height: 1.1;
}
.l-cta-sect .l-cta-title {
  font-size: var(--l-cta-title-fs);
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
.l-cta-sect .l-cta-lead {
  font-size: var(--l-cta-copy-fs);
  text-align: left;
  margin-top: 2rem;
}
.l-cta-sect .cta-btns-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--l-cta-gap);
  margin-top: 4rem;
}
.l-cta-sect .cta-btns-wrap .btn {
  min-width: var(--l-cta-btn-width);
  width: var(--l-cta-btn-width);
}
@media (min-width:992px) {
  .l-cta-sect .l-cta-lead {
    text-align: center;
    margin-top: 4.5rem;
  }
  .l-cta-sect .cta-btns-wrap {
    margin-top: 8rem;
  }
}

/*
-- 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 {
  font-size: var(--entry-h2-fs);
  font-weight: bold;
  line-height: 1.3;
}
.h2:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .has-text-align-center), :where(.entry-contents) h2:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .has-text-align-center) {
  --icon-size: 2rem;
  --icon-margin: 1.5rem;
  position: relative;
  padding-left: calc(var(--icon-size) + var(--icon-margin));
}
.h2:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .has-text-align-center)::before, :where(.entry-contents) h2:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading, .has-text-align-center)::before {
  content: "";
  display: inline-block;
  height: 0.2rem;
  width: var(--icon-size);
  background-color: var(--c-black);
  position: absolute;
  left: 0;
  top: 0.71em;
}

.h3, :where(.entry-contents) h3 {
  font-size: var(--entry-h3-fs);
  font-weight: bold;
}
.h3:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading), :where(.entry-contents) h3:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading) {
  --icon-size: 2rem;
  --icon-margin: 0.8rem;
  position: relative;
  padding-left: calc(var(--icon-size) + var(--icon-margin));
  color: var(--c-blue);
}
.h3:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading)::before, :where(.entry-contents) h3:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading)::before {
  content: "";
  display: inline-block;
  height: var(--icon-size);
  width: var(--icon-size);
  background-image: url(../img/common/icon-h3.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 0.45em;
}
@media (min-width:992px) {
  .h3:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading), :where(.entry-contents) h3:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading) {
    --icon-size: 3rem;
    --icon-margin: 1rem;
  }
}

.h4, :where(.entry-contents) h4 {
  font-size: var(--entry-h4-fs);
  font-weight: bold;
}
.h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading), :where(.entry-contents) h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading) {
  --icon-size: 0.8em;
  --icon-margin: 0.8rem;
  position: relative;
  padding-left: calc(var(--icon-size) + var(--icon-margin));
}
.h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading)::before, :where(.entry-contents) h4:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading)::before {
  content: "";
  position: absolute;
  display: block;
  height: var(--icon-size);
  width: var(--icon-size);
  top: 0.4em;
  left: 0;
  margin: 0;
  background-color: var(--c-blue);
  border-radius: 100vmax;
}

.h5, :where(.entry-contents) h5 {
  font-size: var(--entry-h5-fs);
  font-weight: bold;
}
.h5:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading), :where(.entry-contents) h5:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading) {
  --icon-size: 6px;
  position: relative;
  padding-left: 1.4em;
}
.h5:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading)::before, :where(.entry-contents) h5:not(.none-style, .heading-fs70, .heading-fs40, .hgroup-heading)::before {
  content: "";
  display: inline-block;
  height: var(--icon-size);
  width: var(--icon-size);
  border-radius: 100vmax;
  background-color: var(--c-black);
  position: absolute;
  left: 0.4;
  top: 0.8em;
}

/* list
-----------------------------------------------------*/
.ul > li,
.ol > li {
  margin-bottom: 0;
  padding-left: 1.5em;
  position: relative;
}
.ul > li:last-child,
.ol > li:last-child {
  margin-bottom: 0;
}
.ul > li li,
.ol > 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-blue);
  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-blue);
}
.ol > li {
  counter-increment: item;
  margin-bottom: 0;
}
.ol > li::before {
  content: counter(item) ".";
  font-weight: bold;
  color: var(--c-blue);
  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-blue);
  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-blue);
}
: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-blue);
  position: absolute;
  left: 0.2em;
  padding-right: 0.5em;
}
/* 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-black);
  font-weight: 700;
  white-space: nowrap;
}
.table tbody tr:first-child th, .table tbody tr:first-child td, .table thead tr:first-child th, .table thead tr:first-child td, .table tfoot tr:first-child th, .table tfoot tr:first-child td, :where(.entry-contents) table tbody tr:first-child th, :where(.entry-contents) table tbody tr:first-child td, :where(.entry-contents) table thead tr:first-child th, :where(.entry-contents) table thead tr:first-child td, :where(.entry-contents) table tfoot tr:first-child th, :where(.entry-contents) table tfoot tr:first-child td {
  border-top-width: 1px;
}
.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 + td, .table.table-sp-break tbody tr td + td, .table.table-sp-break thead tr th + td, .table.table-sp-break thead tr td + td, .table.table-sp-break tfoot tr th + td, .table.table-sp-break tfoot tr td + td, :where(.entry-contents) table.table-sp-break tbody tr th + td, :where(.entry-contents) table.table-sp-break tbody tr td + td, :where(.entry-contents) table.table-sp-break thead tr th + td, :where(.entry-contents) table.table-sp-break thead tr td + td, :where(.entry-contents) table.table-sp-break tfoot tr th + td, :where(.entry-contents) table.table-sp-break tfoot tr td + td {
    padding-top: 0;
  }
  .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;
    white-space: normal;
  }
  .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 tr:first-child th + td, .table.table-sp-break tbody tr:first-child td + td, .table.table-sp-break thead tr:first-child th + td, .table.table-sp-break thead tr:first-child td + td, .table.table-sp-break tfoot tr:first-child th + td, .table.table-sp-break tfoot tr:first-child td + td, :where(.entry-contents) table.table-sp-break tbody tr:first-child th + td, :where(.entry-contents) table.table-sp-break tbody tr:first-child td + td, :where(.entry-contents) table.table-sp-break thead tr:first-child th + td, :where(.entry-contents) table.table-sp-break thead tr:first-child td + td, :where(.entry-contents) table.table-sp-break tfoot tr:first-child th + td, :where(.entry-contents) table.table-sp-break tfoot tr:first-child td + td {
    border-top-width: 0;
  }
}
.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-black);
  font-weight: 700;
  white-space: nowrap;
}
.table-sp-break tbody tr:first-child th, .table-sp-break tbody tr:first-child td, .table-sp-break thead tr:first-child th, .table-sp-break thead tr:first-child td, .table-sp-break tfoot tr:first-child th, .table-sp-break tfoot tr:first-child td, .wp-block-table table tbody tr:first-child th, .wp-block-table table tbody tr:first-child td, .wp-block-table table thead tr:first-child th, .wp-block-table table thead tr:first-child td, .wp-block-table table tfoot tr:first-child th, .wp-block-table table tfoot tr:first-child td {
  border-top-width: 1px;
}
.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 + td, .table-sp-break tbody tr td + td, .table-sp-break thead tr th + td, .table-sp-break thead tr td + td, .table-sp-break tfoot tr th + td, .table-sp-break tfoot tr td + td, .wp-block-table table tbody tr th + td, .wp-block-table table tbody tr td + td, .wp-block-table table thead tr th + td, .wp-block-table table thead tr td + td, .wp-block-table table tfoot tr th + td, .wp-block-table table tfoot tr td + td {
    padding-top: 0;
  }
  .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;
    white-space: normal;
  }
  .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);
  }
  .table-sp-break tbody tr:first-child th + td, .table-sp-break tbody tr:first-child td + td, .table-sp-break thead tr:first-child th + td, .table-sp-break thead tr:first-child td + td, .table-sp-break tfoot tr:first-child th + td, .table-sp-break tfoot tr:first-child td + td, .wp-block-table table tbody tr:first-child th + td, .wp-block-table table tbody tr:first-child td + td, .wp-block-table table thead tr:first-child th + td, .wp-block-table table thead tr:first-child td + td, .wp-block-table table tfoot tr:first-child th + td, .wp-block-table table tfoot tr:first-child td + td {
    border-top-width: 0;
  }
}

.t-wp30 {
  width: 30%;
}

.t-wp25 {
  width: 25%;
}

.t-wp20 {
  width: 20%;
}

.t-wp15 {
  width: 15%;
}

.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: 0 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-width-size: 100%;
  --btn-height-size: 8rem;
  border-radius: 100vmax;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--c-blue02)), to(var(--c-blue)));
  background-image: linear-gradient(90deg, var(--c-blue02), var(--c-blue));
}
.btn-header:focus, .btn-header:disabled, .btn-header:visited, .btn-header: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-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: 0 solid inherit;
  color: inherit;
}
.btn-header:hover, .btn-header:active, .btn-header.touch {
  background-color: var(--btn-hover-bg-color);
  border: 0 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-blue);
}
@media (min-width:992px) {
  .btn-header {
    --btn-width-size: clamp(var(--rem10), 14vw, 180px);
    font-size: clamp(var(--rem10), var(--vw20), var(--rem20));
  }
}
@media (min-width:1280px) {
  .btn-header {
    --btn-width-size: 23rem;
    font-size: var(--rem24);
  }
}

.btn:where(:not(.btn-header)),
.wp-block-button .wp-block-button__link:where(:not(.btn-header)) {
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-bg-img: linear-gradient(90deg, var(--c-blue02), var(--c-blue));
  --btn-hover-bg-color: var(--c-white);
  --btn-hover-bd-color: var(--c-white);
  --btn-hover-color: var(--c-blue);
  --btn-hover-bg-img: linear-gradient(90deg, var(--c-white), var(--c-white));
  --btn-icon-size: 3.6rem;
  --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))::after,
.wp-block-button .wp-block-button__link: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);
  background-image: var(--btn-hover-bg-img);
  -webkit-mask-image: url(../img/common/circle-arrow.png);
          mask-image: url(../img/common/circle-arrow.png);
  -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%);
          transform: translateY(-50%);
}
.btn:where(:not(.btn-header)):hover, .btn:where(:not(.btn-header)):active,
.wp-block-button .wp-block-button__link:where(:not(.btn-header)):hover,
.wp-block-button .wp-block-button__link: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,
.wp-block-button .wp-block-button__link:where(:not(.btn-header)):hover::after,
.wp-block-button .wp-block-button__link:where(:not(.btn-header)):active::after {
  background-image: var(--btn-bg-img);
}
.btn.btn-cta,
.wp-block-button .wp-block-button__link.btn-cta {
  --btn-bg-color: var(--c-white);
  --btn-bd-color: var(--c-white);
  --btn-color: var(--c-black);
  --btn-bg-img: linear-gradient(0, var(--c-white), var(--c-white));
  --btn-hover-bg-color: var(--c-blue);
  --btn-hover-bd-color: var(--c-blue);
  --btn-hover-color: var(--c-white);
  --btn-hover-bg-img: linear-gradient(0, var(--c-blue02), var(--c-blue));
  --btn-height-size: 9rem;
  --btn-icon-size: 2.5rem;
  border-radius: 2rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  text-align: center;
}
@media (min-width:992px) {
  .btn.btn-cta,
  .wp-block-button .wp-block-button__link.btn-cta {
    --btn-height-size: 12rem;
    --btn-icon-size: 3.6rem;
  }
}

.wp-block-buttons {
  margin-top: 4rem;
}
@media (min-width:992px) {
  .wp-block-buttons {
    margin-top: 8rem;
  }
}
.wp-block-buttons .wp-block-button {
  width: 100%;
}
@media (min-width:992px) {
  .wp-block-buttons .wp-block-button {
    width: auto;
  }
}

.wp-block-button .wp-block-button__link {
  min-width: var(--btn-min-width);
  min-height: var(--btn-min-height);
  position: relative;
}
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:active {
  opacity: 1;
}

.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: 14px;
  gap: 0 10px;
  padding: 5px calc(var(--btn-height-size) * 0.5);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.btn.icon-arrow::after {
  content: "";
  -webkit-transform: translateX(20%);
          transform: translateX(20%);
}
.btn.icon-blank {
  --btn-icon-arrow-url: url(../img/common/icon-blank.svg);
  gap: 0 10px;
}
.btn.icon-blank::after {
  content: "";
}
.btn.icon-mail {
  --btn-icon-arrow-url: url(../img/common/icon-mail.svg);
  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: 4rem;
  --drawer-btn-bar-widht: 1.4rem;
  --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;
  border: 0;
  border-radius: 100vmax;
  background-color: var(--c-blue);
  background-image: -webkit-gradient(linear, left bottom, left top, from(var(--c-blue02)), to(var(--c-blue)));
  background-image: linear-gradient(0, var(--c-blue02), var(--c-blue));
}
.drawer-btn .icon-bar {
  position: relative;
  display: block;
  border-top: var(--drawer-btn-bar-weight) solid var(--drawer-btn-bar-color);
  border-bottom: var(--drawer-btn-bar-weight) solid var(--drawer-btn-bar-color);
  border-left: 0;
  border-right: 0;
  width: var(--drawer-btn-bar-widht);
  height: 1.2rem;
  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);
          transform: translate(-50%, -50%) rotate(0);
}
.drawer-btn:hover, .drawer-btn:active {
  opacity: 1;
}
.drawer-btn.active {
  opacity: 1;
}
.drawer-btn.active .drawer-btn-text.open {
  opacity: 0;
}
.drawer-btn.active .drawer-btn-text.close {
  opacity: 1;
}
.drawer-btn.active .icon-bar {
  border-top: 0;
  border-bottom: 0;
}
.drawer-btn.active .icon-bar::before {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-225deg);
          transform: translate(-50%, -50%) rotate(-225deg);
}
.drawer-btn.active .icon-bar::after {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(225deg);
          transform: translate(-50%, -50%) rotate(225deg);
}

.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(../img/common/icon-blank.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.icon-arrow {
  position: relative;
}

.work-card .catch-wrap {
  width: 100%;
  margin: 0;
  padding-top: 100%;
  height: 0;
  position: relative;
}
.work-card .catch-wrap .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
}
.work-card .titel {
  font-size: var(--rem36);
  font-weight: bold;
  color: var(--c-blue);
  text-align: center;
  margin-top: 1.4rem;
}
.work-card .bg-list {
  margin-top: 1.5rem;
  padding: 1rem 2rem;
  background-color: var(--c-lightblue02);
  border-radius: 1rem;
  min-height: 8.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.work-card .desc {
  margin-top: 2rem;
  font-size: var(--rem14);
}
@media (min-width:992px) {
  .work-card .desc {
    font-size: var(--rem16);
  }
}

.people-card {
  --bg-size-x: 21.1rem;
  --open-size: 2.5rem;
  --open-icon-size: 0.9rem;
  --message-fs: var(--rem18);
  background-color: transparent;
  background-image: url(../img/top/people-card-bg.svg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: var(--bg-size-x) auto;
  padding: 0 0 3rem;
  border: 0;
  text-align: center;
  position: relative;
  margin: 0 auto;
  display: block;
}
@media (min-width:992px) {
  .people-card {
    --bg-size-x: 32rem;
    --open-size: 3.6rem;
    --open-icon-size: 1.2rem;
    --message-fs: var(--rem24);
  }
}
.people-card .card-message {
  background-color: var(--c-white);
  padding: 2rem;
  border-radius: 1rem;
  font-size: var(--message-fs);
  font-weight: bold;
  line-height: 1.5;
  color: var(--c-blue);
  text-align: left;
  position: relative;
}
.people-card .card-message::before {
  content: "";
  background-color: var(--c-white);
  position: absolute;
  width: 3rem;
  height: 3rem;
  display: block;
  top: 100%;
  left: 3rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.people-card .catch-wrap {
  padding: 0;
  width: 100%;
  margin-inline: auto;
  margin-top: 2rem;
}
.people-card .catch-wrap .img {
  max-width: var(--bg-size-x);
}
.people-card .titel {
  font-size: var(--rem16);
  color: var(--c-black);
  font-weight: bold;
  line-height: 1.3;
}
.people-card .age {
  font-size: var(--rem14);
  color: var(--c-black);
  font-weight: bold;
  line-height: 1.3;
}
.people-card .open {
  display: block;
  border-radius: 100vmax;
  border: 2px solid var(--c-blue);
  background-color: var(--c-white);
  width: var(--open-size);
  height: var(--open-size);
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.people-card .open::after {
  content: "";
  display: block;
  height: var(--open-icon-size);
  width: var(--open-icon-size);
  background-color: var(--c-blue);
  -webkit-mask-image: url(../img/top/people-plus.svg);
          mask-image: url(../img/top/people-plus.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;
  -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%);
          transform: translate(-50%, -50%);
}
.people-card:hover, .people-card:active {
  opacity: 1;
  color: var(--c-black);
}
.people-card:hover .open, .people-card:active .open {
  border: 2px solid var(--c-blue);
  background-color: var(--c-blue);
}
.people-card:hover .open::after, .people-card:active .open::after {
  background-color: var(--c-white);
}
.people-card:focus, .people-card:focus-visible, .people-card:focus-within {
  opacity: 1;
  color: var(--c-black);
}

.people-list {
  --gap: 7rem;
  gap: var(--gap);
}
.people-list .item {
  width: 100%;
}
.people-list .item:nth-child(2) .people-card {
  background-image: url(../img/top/people-card-bg02.svg);
}
.people-list .item:nth-child(3) .people-card {
  background-image: url(../img/top/people-card-bg03.svg);
}
@media (min-width:992px) {
  .people-list {
    --gap: 14px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .people-list .item {
    width: calc((100% + var(--gap)) / 3 - var(--gap));
  }
}

.data-list {
  --padding-x: 2rem;
  --padding-t: 2rem;
  --padding-b: 2rem;
  --gap: 2rem;
  --heading-fs: var(--rem18);
  --heading-arrow-size: 1.5rem;
  --heading-mb: 1.5rem;
  gap: var(--gap);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  -ms-grid-rows: ;
  grid-template-rows: repeat(auto, 1fr);
}
@media (min-width:992px) {
  .data-list {
    --padding-x: 3.5rem;
    --padding-t: 3.5rem;
    --padding-b: 2rem;
    --gap: 2.5rem;
    --heading-fs: var(--rem24);
    --heading-arrow-size: 1.5rem;
    --heading-mb: 1.5rem;
  }
}
.data-list .item {
  width: 100%;
  background-color: var(--c-white);
  border-radius: 1rem;
  padding: var(--padding-t) var(--padding-x) var(--padding-b);
}
.data-list .item .heading {
  background-color: var(--c-lightblue);
  padding: 0.7rem 0.3rem;
  border-radius: 1rem;
  font-size: var(--heading-fs);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  position: relative;
  margin-bottom: var(--heading-mb);
}
.data-list .item .heading::before {
  content: "";
  background-color: var(--c-lightblue);
  position: absolute;
  width: var(--heading-arrow-size);
  height: var(--heading-arrow-size);
  display: block;
  top: calc(100% - 1px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.data-list .item.pb0 {
  padding-bottom: 0;
}
.data-list .item .note {
  text-align: center;
  line-height: 1.1;
  width: calc(100% + var(--padding-x) * 2 - 10px);
  margin: 0 calc((var(--padding-x) - 5px) * -1);
  font-size: var(--rem12);
}
.data-list .item img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width:992px) {
  .data-list {
    --gap: 25px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    -ms-grid-rows: (1fr)[auto];
    grid-template-rows: repeat(auto, 1fr);
  }
  .data-list .item:nth-child(4) {
    -ms-grid-column-span: 2;
    grid-column: span 2/span 2;
    -ms-grid-row-span: 2;
    grid-row: span 2/span 2;
  }
  .data-list .item:nth-child(8) {
    -ms-grid-column-span: 1;
    grid-column: span 1/span 1;
    -ms-grid-column: 1;
        grid-column-start: 1;
    -ms-grid-row: 5;
        grid-row-start: 5;
  }
  .data-list .item:nth-child(9) {
    -ms-grid-column-span: 2;
    grid-column: span 2/span 2;
    -ms-grid-row-span: 2;
    grid-row: span 2/span 2;
  }
  .data-list .item .note {
    font-size: var(--rem16);
  }
}

.bg-box, .bg-panel {
  --box-padding: 60px;
  color: var(--font-color);
  padding: var(--box-padding);
}
@media (max-width:767px) {
  .bg-box, .bg-panel {
    width: calc(100% + var(--container-padding));
    margin-left: calc(var(--container-padding) / -2);
    margin-right: calc(var(--container-padding) / -2);
    padding: 0 calc(var(--container-padding) / 2);
  }
}
.bg-box.bg-gray, .bg-panel.bg-gray {
  --bg-color: var(--c-gray);
}
.bg-box.bg-white, .bg-panel.bg-white {
  --bg-color: var(--c-navy);
  --font-color: var(--c-white);
}
@media (max-width:767px) {
  .container-wide-sp {
    width: calc(100% + var(--container-padding));
    margin-left: calc(var(--container-padding) / -2);
    margin-right: calc(var(--container-padding) / -2);
  }
}

.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%);
          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(--c-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);
}

.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;
}

.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: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

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

.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;
}

.img-radius {
  border-radius: 2rem;
}

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

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

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

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

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

.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-black);
  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: 5px 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: 24px;
  position: relative;
}
.breadcrumbs-list .item + .item::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--color);
  border-right: 1px solid var(--color);
  position: absolute;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.breadcrumbs-list .link {
  font-size: var(--fs16);
  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(var(--c-blue));
}
.breadcrumbs-list .link .icon-svg {
  margin-right: 2px;
}

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

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

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

.form-group {
  border-bottom: 1px solid var(--bd-gray);
  padding: 3rem 0;
}
.form-group.row {
  margin-left: 0;
  margin-right: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.form-group .col-left {
  width: 100%;
  padding: 0;
}
.form-group .col-right {
  width: 100%;
  padding: 0;
}
.form-group .required {
  margin-left: 1rem;
}
.form-group p:is(:not(:first-child)) {
  --post-element-margin-t: 1.5rem;
}

@media (min-width:768px) {
  .form-box {
    margin-top: 5rem;
  }
  .form-group.row {
    margin-left: 0;
    margin-right: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .form-group .col-left {
    max-width: 35%;
    -webkit-box-flex: 35%;
        -ms-flex: 35%;
            flex: 35%;
    position: relative;
    padding-right: 50px;
  }
  .form-group .col-right {
    max-width: 65%;
    -webkit-box-flex: 65%;
        -ms-flex: 65%;
            flex: 65%;
  }
}
.wpcf7-form-control-wrap + .wpcf7-form-control-wrap .form-control {
  margin-top: 1.5rem;
}

.form-control, .form-select {
  height: 5rem;
  font-size: var(--rem16);
  display: inline-block;
  border: 0;
  border-radius: 1rem;
}

textarea.form-control {
  height: auto;
  padding: 1rem;
}

.form-label {
  font-weight: bold;
}

.form-zip {
  max-width: 18rem;
}

.form-short {
  max-width: 37rem;
}

.checkbox {
  max-width: 37rem;
  display: block;
}
.checkbox .wpcf7-list-item {
  margin-right: 2rem;
}
.checkbox .wpcf7-list-item input {
  margin-right: 1rem;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-image: url("../img/common/select-arrow.svg");
  background-repeat: no-repeat;
  background-size: 1.5rem auto;
  /* 画像のサイズ（幅 高さ）*/
  background-position: calc(100% - 12px) center;
  /* 画像の位置 */
}

.form-btns-wrap {
  margin-top: 5rem;
}
@media (min-width:768px) {
  .form-btns-wrap {
    margin-top: 10rem;
  }
}
.form-btns-wrap p {
  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: 20px;
}
.form-btns-wrap .btn {
  margin: 0;
}
.form-btns-wrap .wpcf7-spinner {
  height: 0;
  width: 100%;
}
.form-btns-wrap .btn-back {
  background: none;
  border: 0;
}

.btn.form-btn {
  --btn-bg-color: var(--c-blue);
  --btn-bd-color: var(--c-blue);
  --btn-color: var(--c-white);
  --btn-bg-img: linear-gradient(90deg, var(--c-blue02), var(--c-blue));
  --btn-icon-img: url(../img/common/icon-input-w.svg);
  --btn-icon-size: 3.6rem;
  background-image: var(--btn-icon-img), var(--btn-bg-img);
  background-size: var(--btn-icon-size) var(--btn-icon-size), 100% 100%;
  background-position: calc(100% - 2rem) center, center center;
  background-repeat: no-repeat;
}
.btn.form-btn:hover, .btn.form-btn:active {
  --btn-bg-img: linear-gradient(90deg, var(--c-white), var(--c-white));
  --btn-icon-img: url(../img/common/icon-input-b.svg);
}

.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);
          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(../img/top/people-plus.svg);
          mask-image: url(../img/top/people-plus.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;
  -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%);
          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-dl {
  --en-size: 5rem;
  --en-fs: var(--rem24);
  --en-bg: var(--c-blue);
  --en-color: var(--c-white);
  --en-margin: 1.9rem;
  --dt-fs: var(--rem18);
  --dd-fs: var(--rem14);
  margin: 0;
}
.faq-dl + .faq-dl {
  margin-top: 3rem;
}
.faq-dl .faq-dt, .faq-dl .faq-dd {
  position: relative;
  padding-left: calc(var(--en-size) + var(--en-margin));
}
.faq-dl .faq-dt::before, .faq-dl .faq-dd::before {
  content: "Q";
  background-color: var(--en-bg);
  display: -ms-grid;
  display: grid;
  position: absolute;
  left: 0;
  top: 0;
  height: var(--en-size);
  width: var(--en-size);
  border: 0;
  border-radius: 100vmax;
  place-content: center;
  z-index: 1;
  color: var(--en-color);
  font-size: var(--en-fs);
  font-family: var(--ff-en);
  font-weight: bold;
  line-height: 1;
}
.faq-dl .faq-dt {
  --en-bg: var(--c-blue);
  --en-color: var(--c-white);
  font-size: var(--dt-fs);
  color: var(--c-blue);
  font-weight: 700;
  line-height: 1.3;
  min-height: var(--en-size);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.faq-dl .faq-dt::before {
  content: "Q";
}
.faq-dl .faq-dd {
  --en-bg: var(--c-lightblue02);
  --en-color: var(--c-black);
  font-size: var(--dd-fs);
  margin-top: 2rem;
}
.faq-dl .faq-dd::before {
  content: "A";
}

.navigation.pagination {
  --color: var(--c-bd-gray);
  --hover-color: var(--c-black);
  margin-top: 90px;
}
.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: 5px 30px;
}
.navigation.pagination .nav-links .page-numbers {
  font-size: var(--fs18);
  color: var(--color);
  border-radius: 0;
  margin: 0;
  padding: 10px 10px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.navigation.pagination .nav-links .page-numbers.current {
  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 {
  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: 10px;
}
.navigation.pagination .nav-links .prev,
.navigation.pagination .nav-links .next {
  padding: 10px;
  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: 10px;
  height: 10px;
  position: relative;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  top: 0;
}
.navigation.pagination .nav-links .prev::before {
  content: "";
  border-top: 1px solid var(--hover-color);
  border-left: 1px solid var(--hover-color);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.navigation.pagination .nav-links .next::after {
  content: "";
  border-top: 1px solid var(--hover-color);
  border-right: 1px solid var(--hover-color);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.news-label {
  --cat-bg-color: var(--c-blue);
  --cat-color: var(--c-white);
}

.blog-label {
  --cat-bg-color: var(--c-lightblue);
  --cat-color: var(--c-black);
}

.categories-list-title {
  font-size: 1.5rem;
  font-weight: bold;
}
.categories-list-title + .categories-list {
  margin-top: 20px;
}

.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: 10px 30px;
}
.categories-list .cat-link {
  background-color: var(--c-white);
  border: 1px solid var(--c-bd-gray);
  color: var(--c-black);
  display: block;
  min-width: 130px;
  min-height: 50px;
  padding: 1px 10px 2px;
  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-bd-gray);
  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-white);
  border: 1px solid var(--c-bd-gray);
  color: var(--c-black);
  opacity: 0.7;
}
.categories-list .cat-link.current {
  background-color: var(--c-blue);
  border: 1px 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: 1px 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: 1px 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: 1px 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: 4.5rem;
  --padding-b: 20vw;
  --bg-size: 100% auto;
  --title-fs: var(--rem38);
  --title-en-fs: var(--rem18);
  background-image: url(../img/common/header-bg.png);
  background-size: var(--bg-size);
  background-position: center bottom;
  background-repeat: no-repeat;
  padding: var(--padding-t) 0 var(--padding-b);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 5;
}
@media (min-width:992px) {
  .t-page-header {
    --padding-t: 9.5rem;
    --padding-b: clamp(8rem, 21.5vw, 34.4rem) ;
    --title-fs: var(--rem60);
    --title-en-fs: var(--rem24);
  }
}
.t-page-header .t-page-title {
  color: var(--c-black);
  font-size: var(--title-fs);
  font-weight: bold;
  line-height: 1.3;
}
.t-page-header .t-page-title-en {
  font-family: var(--ff-en);
  color: var(--c-blue);
  font-size: var(--title-en-fs);
  font-weight: bold;
  line-height: 1.3;
}

.t-page-breadcrumbs {
  padding: 25px 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);
}

@media (max-width:991px) {
  .t-page-breadcrumbs {
    margin-top: 0;
  }
}
.t-page-body {
  position: relative;
  padding-top: var(--t-page-body-padding-t);
  padding-bottom: var(--t-page-body-padding-b);
}

.t-post-header {
  padding-bottom: var(--contents-margin-s);
}
.t-post-header .t-post-title {
  font-size: 2rem;
  font-weight: bold;
  font-family: var(--ff-en);
  margin-bottom: 0;
  position: relative;
  z-index: 10;
  border-bottom: 4px solid var(--c-blue);
  padding-bottom: 5px;
}
.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: 5px 15px;
  margin-top: 10px;
}
.t-post-header .post-date {
  font-size: 0.875rem;
  -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-header .post-category .tag-link {
  font-size: 0.8125rem;
  line-height: 1.3;
  padding: 2px 5px 1px;
}

.t-post-body {
  margin-top: 40px;
}

.t-post-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: var(--contents-margin-m);
  border-top: 1px dotted var(--c-bd-gray);
  padding-top: 20px;
}
.t-post-link:only-child:has(.next) {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.t-front-page .is-positon-top {
  --l-header-bg-color: var(--c-white);
}
.t-front-page .is-positon-top .l-gnav-bar {
  --l-gnav-color: var(--c-black);
}
@media (min-width:992px) {
  .t-front-page .l-header {
    --l-header-bg-color: transparent;
  }
  .t-front-page .is-view {
    --l-header-bg-color: var(--c-white);
  }
}

.sect-hgroup {
  --en-fs: var(--rem18);
  --fs: var(--rem42);
  position: relative;
  z-index: 2;
}
@media (min-width:992px) {
  .sect-hgroup {
    --en-fs: var(--rem24);
    --fs: var(--rem60);
  }
}
.sect-hgroup .hgroup-heading-en {
  font-family: var(--ff-en);
  font-size: var(--en-fs);
  font-weight: bold;
  color: var(--c-blue);
  line-height: 1.1;
}
.sect-hgroup .hgroup-heading {
  font-size: var(--fs);
  font-weight: bold;
  line-height: 1.2;
  margin-top: 0.5rem;
}
.sect-hgroup::before {
  content: "";
  height: 8.6rem;
  width: 8.6rem;
  position: absolute;
  left: 0;
  top: -3rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/top/heading.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  z-index: -1;
}
@media (min-width:992px) {
  .sect-hgroup::before {
    width: 13.6rem;
    height: 13.6rem;
    top: -5rem;
  }
}
.sect-hgroup.-deco-none::before {
  content: none;
}
.sect-hgroup.-center {
  text-align: center;
}
.sect-hgroup.-center::before {
  content: none;
}

.t-front-mv {
  --padding-t: 3.8rem;
  --padding-b: 54vw;
  --copy-en-fs: var(--rem14);
  padding: var(--padding-t) 0 var(--padding-b);
  background-image: url(../img/top/mv-bg.png);
  background-position: left bottom;
  background-size: 110% auto;
  background-repeat: no-repeat;
}
@media (min-width:992px) {
  .t-front-mv {
    --padding-t: 18.5rem;
    --padding-b: 26vw;
    --copy-en-fs: var(--rem24);
  }
}
.t-front-mv .en-copy {
  font-family: var(--ff-en);
  font-size: var(--copy-en-fs);
  font-weight: bold;
  letter-spacing: 0.05rem;
  color: var(--c-blue);
}
.t-front-mv .copy {
  margin-top: 1rem;
}
.t-front-mv .copy img {
  width: 30.8rem;
}
@media (min-width:992px) {
  .t-front-mv {
    background-size: 100% auto;
  }
  .t-front-mv .copy {
    margin-top: 4rem;
  }
  .t-front-mv .copy img {
    width: 58.6rem;
  }
}

.t-front-mv {
  --padding-t: 3.8rem;
  --padding-b: 54vw;
  --copy-en-fs: var(--rem14);
  padding: var(--padding-t) 0 var(--padding-b);
  background-image: url(../img/top/mv-bg.png);
  background-position: left bottom;
  background-size: 110% auto;
  background-repeat: no-repeat;
}
@media (min-width:992px) {
  .t-front-mv {
    --padding-t: 18.5rem;
    --padding-b: 26vw;
    --copy-en-fs: var(--rem24);
  }
}
.t-front-mv .en-copy {
  font-family: var(--ff-en);
  font-size: var(--copy-en-fs);
  letter-spacing: 0.05rem;
  color: var(--c-blue);
}
.t-front-mv .copy {
  margin-top: 1rem;
}
.t-front-mv .copy img {
  width: 30.8rem;
}
@media (min-width:992px) {
  .t-front-mv {
    background-size: 100% auto;
  }
  .t-front-mv .copy {
    margin-top: 4rem;
  }
  .t-front-mv .copy img {
    width: 58.6rem;
  }
}

.t-front-message {
  --padding-t: 3.8rem;
  --padding-b: 8rem;
  padding: var(--padding-t) 0 var(--padding-b);
  position: relative;
}
@media (min-width:992px) {
  .t-front-message {
    --padding-t: 8rem;
    --padding-b: 20vw;
  }
}
.t-front-message::after {
  content: "";
  height: 64.54vw;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -12rem;
  background-image: url(../img/top/message-bg-sp.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}
@media (min-width:992px) {
  .t-front-message::after {
    height: 39.375vw;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -2vw;
    background-image: url(../img/top/message-bg.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
  }
}
.t-front-message .message-wrap {
  margin-top: 4rem;
  font-weight: bold;
  letter-spacing: normal;
}
.t-front-message .message-wrap p + p {
  margin-top: 3rem;
}
@media (min-width:992px) {
  .t-front-message .message-wrap {
    font-size: var(--rem24);
  }
}
.t-front-message .panle-small {
  padding: 1px 2rem 2rem;
  background-color: var(--c-white);
  border-radius: 2rem;
  font-size: var(--rem14);
  margin-top: 5rem;
}
.t-front-message .panle-small .panle-heading {
  margin-top: -1.4rem;
  font-size: var(--rem24);
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  color: var(--c-blue);
}
@media (min-width:992px) {
  .t-front-message .panle-small {
    padding: 1px 4rem 4rem;
  }
  .t-front-message .panle-small .panle-heading {
    margin-top: -2.4rem;
    font-size: var(--rem36);
    text-align: left;
    margin-left: -4rem;
  }
}
.t-front-message .panle-num-list {
  --num-size: 4.8rem;
  margin-top: 2rem;
}
.t-front-message .panle-num-list li + li {
  margin-top: 2rem;
}
.t-front-message .panle-num-list .heading {
  line-height: 1.3;
  font-size: var(--rem18);
  padding-left: calc(var(--num-size) + 0.5rem);
  min-height: var(--num-size);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
.t-front-message .panle-num-list .num {
  font-family: var(--ff-en);
  width: var(--num-size);
  height: var(--num-size);
  border-radius: 100vmax;
  position: absolute;
  font-size: var(--rem18);
  display: -ms-grid;
  display: grid;
  place-content: center;
  color: var(--c-blue);
  background-color: var(--c-lightblue02);
  left: 0;
  top: 0;
}
@media (min-width:992px) {
  .t-front-message .panle-num-list {
    --num-size: 9rem;
    margin-top: 3rem;
  }
  .t-front-message .panle-num-list li {
    padding-left: calc(var(--num-size) + 4rem);
    position: relative;
  }
  .t-front-message .panle-num-list li + li {
    margin-top: 2rem;
  }
  .t-front-message .panle-num-list .heading {
    font-size: var(--rem24);
    padding: 0;
    min-height: auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0.5rem;
    position: static;
  }
  .t-front-message .panle-num-list .num {
    font-size: var(--rem36);
    left: 0;
    top: 0;
  }
}

.t-front-work {
  --padding-t: 0;
  --padding-b: 7rem;
  padding: var(--padding-t) 0 var(--padding-b);
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--c-white)), to(var(--c-white)));
  background-image: linear-gradient(var(--c-white), var(--c-white));
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 50%;
}
@media (min-width:992px) {
  .t-front-work {
    --padding-t: 0;
    --padding-b: 0.1rem;
  }
}
.t-front-work .panle {
  background-color: var(--c-white);
  max-width: 1380px;
  width: calc(100% - 4rem);
  border-radius: 5rem;
  padding: 4rem 0 0;
  margin-inline: auto;
  position: relative;
  z-index: 10;
}
.t-front-work .lead-text {
  font-size: var(--rem14);
  font-weight: normal;
  margin-top: 4rem;
}
.t-front-work .work-list {
  margin-top: 4rem;
  gap: 4rem 0;
}
@media (min-width:992px) {
  .t-front-work .lead-text {
    font-size: var(--rem16);
    text-align: center;
    margin-top: 4.5rem;
  }
  .t-front-work .work-list {
    margin: 8rem -3.5rem 0;
  }
  .t-front-work .work-list .item {
    padding: 0 3.5rem;
  }
}

.t-front-people {
  --padding-t: 7rem;
  --padding-b: 7rem;
  padding: var(--padding-t) 0 var(--padding-b);
  background-color: var(--c-white);
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--c-lightblue02)), to(var(--c-lightblue02))), url(../img/top/people-bg01.svg), url(../img/top/people-bg02.svg);
  background-image: linear-gradient(var(--c-lightblue02), var(--c-lightblue02)), url(../img/top/people-bg01.svg), url(../img/top/people-bg02.svg);
  background-position: center 5rem, center 1rem, center calc(100% - 16rem);
  background-size: 100% calc(100% - 24rem), 100% 5.8rem, 100% 5.8rem;
  background-repeat: no-repeat;
}
@media (min-width:992px) {
  .t-front-people {
    --padding-t: 15.625vw;
    --padding-b: 4vw;
  }
}
@media (min-width:992px) {
  .t-front-people {
    padding: var(--padding-t) 0 var(--padding-b);
    background-color: var(--c-white);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--c-lightblue02)), to(var(--c-lightblue02))), url(../img/top/people-bg01.svg), url(../img/top/people-bg02.svg);
    background-image: linear-gradient(var(--c-lightblue02), var(--c-lightblue02)), url(../img/top/people-bg01.svg), url(../img/top/people-bg02.svg);
    background-position: center 15.625vw, center 1rem, center calc(100% - 5vw);
    background-size: 100% calc(100% - 34.25vw), 100% auto, 100% auto;
    background-repeat: no-repeat;
  }
}
.t-front-people .people-list {
  margin-top: 4rem;
}
.t-front-people .profile-img {
  width: 20.2rem;
  height: auto;
  aspect-ratio: 1/1.3267;
  -o-object-fit: cover;
     object-fit: cover;
  margin-inline: auto;
}
.t-front-people .profile-message {
  font-size: var(--rem24);
  margin-top: 3rem;
  line-height: 1.5;
}
.t-front-people .profile-info {
  background-color: transparent;
  background-image: url(../img/top/people-popup-bg01.svg), url(../img/top/people-popup-bg02.svg);
  background-repeat: no-repeat;
  background-position: left bottom, right top;
  background-size: 5rem 5rem;
  padding: 2.4rem 1rem;
  text-align: center;
}
.t-front-people .profile-info .titel {
  font-size: var(--rem18);
  font-weight: bold;
  line-height: 1.3;
}
.t-front-people .profile-info .age {
  font-size: var(--rem14);
  font-weight: bold;
  line-height: 1.3;
  margin-top: 1rem;
}
.t-front-people .people-img {
  display: block;
  border-radius: 4rem;
}
.t-front-people .people-img:where(:is(:not(:first-child))) {
  margin-top: 3rem;
}
.t-front-people .sect-hgroup {
  text-align: center;
}
@media (min-width:992px) {
  .t-front-people .sect-hgroup {
    text-align: left;
  }
  .t-front-people .profile-img {
    width: 100%;
  }
  .t-front-people .profile-message {
    font-size: var(--rem36);
    margin-top: 4rem;
  }
  .t-front-people .profile-info {
    background-size: 7rem 7rem;
    padding: 3.8rem 1rem;
    margin-top: 2rem;
  }
  .t-front-people .profile-info .titel {
    font-size: var(--rem18);
  }
  .t-front-people .profile-info .age {
    font-size: var(--rem16);
  }
  .t-front-people .people-img {
    display: block;
    border-radius: 4rem;
  }
  .t-front-people .people-img:where(:is(:not(:first-child))) {
    margin-top: 3rem;
  }
}

.t-front-data {
  --padding-t: 15.625vw;
  --padding-b: 20.625vw;
  padding: var(--padding-t) 0 var(--padding-b);
  background-color: var(--c-white);
  background-image: url(../img/top/data-bg02.svg), -webkit-gradient(linear, left top, left bottom, from(var(--c-lightblue)), to(var(--c-lightblue))), url(../img/top/data-bg01.svg), url(../img/top/data-bg01.svg);
  background-image: url(../img/top/data-bg02.svg), linear-gradient(var(--c-lightblue), var(--c-lightblue)), url(../img/top/data-bg01.svg), url(../img/top/data-bg01.svg);
  background-position: center bottom, center 15.625vw, center top, center bottom;
  background-size: 100% auto, 100% calc(100% - 31.25vw), 100% auto, 100% auto;
  background-repeat: no-repeat;
}
@media (min-width:992px) {
  .t-front-data {
    --padding-t: 15.625vw;
    --padding-b: 15.625vw;
  }
}
.t-front-data .data-list {
  margin-top: 3rem;
  position: relative;
  z-index: 5;
}
@media (min-width:992px) {
  .t-front-data .data-list {
    margin-top: 6rem;
  }
}
.t-front-data .sect-hgroup {
  position: relative;
  z-index: 2;
}
.t-front-data .sect-hgroup::before {
  content: "";
  height: 10.5rem;
  width: 10.5rem;
  top: 2rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  background-image: url(../img/top/data-bg03.svg);
}
@media (min-width:992px) {
  .t-front-data .sect-hgroup::before {
    width: 19.8rem;
    height: 19.8rem;
    top: 0.5rem;
    -webkit-transform: translateX(-65%);
            transform: translateX(-65%);
  }
}

.t-front-career {
  --padding-t: 23vw;
  --padding-b: 20vw;
  background-color: var(--c-white);
  padding: var(--padding-t) 0 var(--padding-b);
}
@media (min-width:992px) {
  .t-front-career {
    --padding-t: 8.625vw;
    --padding-b: 16rem;
  }
}
.t-front-career .sect-hgroup {
  margin-bottom: 4rem;
}
.t-front-career .entry-contents {
  font-size: var(--rem14);
}
@media (min-width:992px) {
  .t-front-career {
    font-size: var(--rem16);
  }
}

.career-dl {
  --triangle-x: 1.8rem;
  font-size: var(--rem14);
}
.career-dl dt {
  background-color: var(--c-lightblue02);
  font-weight: bold;
  min-height: 3.2rem;
  min-width: 13.8rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem calc(var(--triangle-x) + 1rem) 0.5rem 1rem;
  clip-path: polygon(0 0, calc(100% - var(--triangle-x)) 0, 100% 50%, calc(100% - var(--triangle-x)) 100%, 0 100%);
  text-align: center;
}
.career-dl dd {
  line-height: 1.5;
  margin-top: 0.5rem;
}
@media (min-width:992px) {
  .career-dl {
    font-size: var(--rem18);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .career-dl dt {
    min-height: 4rem;
    min-width: 17rem;
  }
  .career-dl dd {
    padding-top: 0.5rem;
    margin-left: 1.5rem;
  }
}

/*
-- 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;
}

@media (min-width:768px) {
  .pc-visible {
    display: block;
  }
  .sp-visible {
    display: none;
  }
}
.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-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-blue-color {
  color: #F88836 !important;
}

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

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

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

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

.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 */