@charset "UTF-8";
header.l-header {
  transition-duration: 0.3s;
  pointer-events: none;
}
header.l-header div.c-container {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 20px;
  width: 100vw;
  max-width: 100vw;
}
header.l-header div.c-container a {
  pointer-events: auto;
}
header.l-header div.c-container div.l-center-header__row {
  margin: 0 !important;
}
header.l-header div.c-container div.l-center-header__row div.c-row___col {
  padding: 0 !important;
}

footer.l-footer {
  border: none;
}
footer.l-footer div.l-footer-widget-area {
  position: fixed;
  bottom: 0;
  right: 0;
  max-width: none;
  width: 100vw;
  padding: 0;
}
footer.l-footer div.l-footer-widget-area * {
  margin: 0;
  padding: 0;
}
footer.l-footer div.l-footer-widget-area > div.c-container {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
footer.l-footer div.l-footer-widget-area > div.c-container > div.c-row {
  justify-content: flex-end;
  height: 70px;
}
footer.l-footer div.l-footer-widget-area > div.c-container > div.c-row a.wp-block-button__link {
  width: 160px;
  background-color: #ffffff;
}
@media screen and (max-width: 1023px) {
  footer.l-footer div.l-footer-widget-area > div.c-container > div.c-row a.wp-block-button__link {
    width: 120px;
  }
}
footer.l-footer div.l-footer-widget-area > div.c-container > div.c-row div.smb-box div.smb-box__background {
  border: none;
}
footer.l-footer div.l-footer-widget-area > div.c-container > div.c-row div.smb-box div.smb-box__body {
  width: 200px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  footer.l-footer div.l-footer-widget-area > div.c-container > div.c-row div.smb-box div.smb-box__body {
    width: 100px;
  }
}
footer.l-footer div.c-copyright {
  background-color: #ffffff;
}
footer.l-footer div.c-copyright div.c-container {
  font-size: 16px;
  font-weight: 700;
  color: #000000;
}

div.contact-button {
  margin: 0;
  padding: 120px;
}
div.contact-button div.smb-buttons {
  justify-content: center;
}
div.contact-button div.smb-buttons div.smb-btn-wrapper a.smb-btn {
  width: 680px;
  position: relative;
  padding: 40px 100px;
  border-radius: 0;
}
@media screen and (max-width: 1023px) {
  div.contact-button div.smb-buttons div.smb-btn-wrapper a.smb-btn {
    width: calc(100vw - 40px);
  }
}
div.contact-button div.smb-buttons div.smb-btn-wrapper a.smb-btn span.smb-btn__label {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.4rem;
  text-align: center;
}
div.contact-button div.smb-buttons div.smb-btn-wrapper a.smb-btn::after {
  position: absolute;
  right: 32px;
  top: 50%;
  content: "";
  background-image: url("../image/arrow-right.svg");
  background-repeat: no-repeat;
  display: inline-block;
  width: 41px;
  height: 15px;
  transform: translateY(-60%);
}
div.contact-button div.smb-buttons div.smb-btn-wrapper a.smb-btn:hover {
  background-color: #ffffff !important;
}
div.contact-button div.smb-buttons div.smb-btn-wrapper a.smb-btn:hover span {
  color: #000000 !important;
}
div.contact-button div.smb-buttons div.smb-btn-wrapper a.smb-btn:hover::after {
  filter: invert(100%);
}

div.l-front-page-widget-area--bottom div.c-container {
  margin: 0;
  padding: 0;
  max-width: none;
}
div.l-front-page-widget-area--bottom div.c-container figure {
  margin: 0;
}
div.l-front-page-widget-area--bottom div.c-container figure img {
  width: 100vw;
  max-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}

div.l-contents-bottom-widget-area figure {
  margin: 0;
}
div.l-contents-bottom-widget-area figure img {
  width: 100vw;
  max-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}

div.nav-container {
  width: 100vw;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  position: absolute;
  bottom: 0;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  div.nav-container {
    position: fixed;
    bottom: 0;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  div.nav-container.fixed {
    position: fixed;
    top: 0;
    width: 100vw;
    bottom: auto;
  }
}
div.nav-container div.btn-about {
  margin-right: 30px;
  width: 180px;
}
@media screen and (max-width: 1023px) {
  div.nav-container div.btn-about {
    margin-right: 12px;
    width: -moz-fit-content;
    width: fit-content;
  }
}
div.nav-container div.btn-about a.btn-about__link {
  width: 100%;
  background-color: #ffffff;
  color: #0c4da2;
  border: solid 2px #0c4da2;
  border-radius: 24px;
  padding: 12px 50px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}
@media screen and (max-width: 1023px) {
  div.nav-container div.btn-about a.btn-about__link {
    width: 115px;
    padding: 12px 24px;
  }
}
div.nav-container div.btn-calin {
  width: 200px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  div.nav-container div.btn-calin {
    width: 115px;
  }
}
div.nav-container div.btn-calin a.btn-calin__link {
  width: 100%;
  height: 100%;
  padding: auto;
  background-color: #f2f4f7;
  color: #0c4da2;
  font-size: 14px;
  font-weight: 700;
  line-height: 70px;
  text-decoration: none;
  text-align: center;
}
div.nav-container div.btn-entry {
  width: 200px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  div.nav-container div.btn-entry {
    width: 115px;
  }
}
div.nav-container div.btn-entry a.btn-entry__link {
  width: 100%;
  height: 100%;
  padding: auto;
  background-color: #0c4da2;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 70px;
  text-decoration: none;
  text-align: center;
}

body {
  background-color: #0c4da2;
  transition: background-color 0.1s ease-in-out;
}

body > *:not(.splashbg) {
  opacity: 0;
  transition: opacity 0s 0.1s; /* Don't fade in until loading screen is gone */
}

body.appear {
  background-color: #ffffff;
}

body.appear > *:not(.splashbg) {
  opacity: 1;
}

/* Loading screen CSS */
.splashbg {
  display: block;
  content: "";
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: #0c4da2;
  transform: scaleY(1);
  transition: transform 1.2s cubic-bezier(0.95, 0.05, 0.795, 0.035);
}

/* Page transition CSS */
body.appear .splashbg {
  transform: scaleY(0);
  transform-origin: bottom;
}

.scroll-animation.scroll-fadein__left {
  opacity: 0;
  transform: translateX(50px);
}
.scroll-animation.scroll-fadein__left.on {
  opacity: 1;
  transform: translateX(0);
  transition: all 0.4s 0.2s ease;
}

.scroll-animation.scroll-fadein__right {
  opacity: 0;
  transform: translateX(-50px);
}
.scroll-animation.scroll-fadein__right.on {
  opacity: 1;
  transform: translateX(0);
  transition: all 0.4s 0.2s ease;
}

.scroll-animation.scroll-fadein__up {
  opacity: 0;
  transform: translateY(20px);
}
.scroll-animation.scroll-fadein__up.on {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.4s 0.2s ease;
}

.scroll-animation.scroll-blur {
  opacity: 0;
  filter: blur(10px);
}
.scroll-animation.scroll-blur.on {
  opacity: 1;
  filter: blur(0);
  transition: all 0.7s 0.2s ease;
}

.scroll-animation.scroll-mask-bg__right {
  opacity: 0;
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.scroll-animation.scroll-mask-bg__right::after {
  background-color: #000000;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.scroll-animation.scroll-mask-bg__right.on {
  opacity: 1;
}
.scroll-animation.scroll-mask-bg__right.on::after {
  transform: translateX(100%);
  transition: opacity 0.01s ease;
  transition: all 0.2s 0.2s ease-in;
}

/* その場で */
.fadein-animation__in {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* 下から */
.fadein-animation__up {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 上から */
.fadein-animation__down {
  animation-name: fadeDownAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 左から */
.fadein-animation__left {
  animation-name: fadeLeftAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 右から */
.fadein-animation__right {
  animation-name: fadeRightAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@font-face {
  font-family: "Sarabun";
  font-style: "light";
  font-weight: 300;
  src: url("../fonts/Sarabun-Light.ttf") format("opentype"), url("../fonts/Sarabun-Light.ttf") format("truetype"), url("../fonts/Sarabun-Light.ttf") format("woff2"), url("../fonts/Sarabun-Light.ttf") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Sarabun";
  font-style: "regular";
  font-weight: 400;
  src: url("../fonts/Sarabun-Regular.ttf") format("opentype"), url("../fonts/Sarabun-Regular.ttf") format("truetype"), url("../fonts/Sarabun-Regular.ttf") format("woff2"), url("../fonts/Sarabun-Regular.ttf") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Sarabun";
  font-style: "medium";
  font-weight: 500;
  src: url("../fonts/Sarabun-Medium.ttf") format("opentype"), url("../fonts/Sarabun-Medium.ttf") format("truetype"), url("../fonts/Sarabun-Medium.ttf") format("woff2"), url("../fonts/Sarabun-Medium.ttf") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Sarabun";
  font-style: "semi-bold";
  font-weight: 600;
  src: url("../fonts/Sarabun-SemiBold.ttf") format("opentype"), url("../fonts/Sarabun-SemiBold.ttf") format("truetype"), url("../fonts/Sarabun-SemiBold.ttf") format("woff2"), url("../fonts/Sarabun-SemiBold.ttf") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Sarabun";
  font-style: "bold";
  font-weight: 700;
  src: url("../fonts/Sarabun-Bold.ttf") format("opentype"), url("../fonts/Sarabun-Bold.ttf") format("truetype"), url("../fonts/Sarabun-Bold.ttf") format("woff2"), url("../fonts/Sarabun-Bold.ttf") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Sarabun";
  font-style: "extra-bold";
  font-weight: 800;
  src: url("../fonts/Sarabun-ExtraBold.ttf") format("opentype"), url("../fonts/Sarabun-ExtraBold.ttf") format("truetype"), url("../fonts/Sarabun-ExtraBold.ttf") format("woff2"), url("../fonts/Sarabun-ExtraBold.ttf") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Sarabun";
  font-style: "extra-bold";
  font-weight: 800;
  src: url("../fonts/Sarabun-ExtraBold.ttf") format("opentype"), url("../fonts/Sarabun-ExtraBold.ttf") format("truetype"), url("../fonts/Sarabun-ExtraBold.ttf") format("woff2"), url("../fonts/Sarabun-ExtraBold.ttf") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP-Thin.woff2") format("woff2"), url("../fonts/NotoSansJP-Thin.woff") format("woff"), url("../fonts/NotoSansJP-Thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP-Light.woff2") format("woff2"), url("../fonts/NotoSansJP-Light.woff") format("woff"), url("../fonts/NotoSansJP-Light.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP-DemiLight.woff2") format("woff2"), url("../fonts/NotoSansJP-DemiLight.woff") format("woff"), url("../fonts/NotoSansJP-DemiLight.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2"), url("../fonts/NotoSansJP-Regular.woff") format("woff"), url("../fonts/NotoSansJP-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP-Black.woff2") format("woff2"), url("../fonts/NotoSansJP-Black.woff") format("woff"), url("../fonts/NotoSansJP-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
html,
body {
  font-family: "Sarabun", "NotoSansJP";
  letter-spacing: 0.04rem;
  line-height: 1.75;
  color: #000000;
}

:root {
  --entry-content-h2-border-left: none;
  --entry-content-h2-background-color: none;
  --entry-content-h2-padding: none;
  --entry-content-h3-border-bottom: none;
  --entry-content-h3-padding: none;
  --wp--style--block-gap: 0;
  --accent-color: #000000;
  --_color-text: #000000;
}

.p-breadcrumbs-wrapper {
  display: none;
}

#splash,
#splash_logo {
  z-index: 10000;
}

@media screen and (min-width: 1024px) {
  .sp-only {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .pc-only {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */