@charset "UTF-8";
.pc-mt0 {
  margin-top: 0 !important; }

.pc-mt10 {
  margin-top: 10px !important; }

.pc-mt20 {
  margin-top: 20px !important; }

.pc-mt30 {
  margin-top: 30px !important; }

.pc-mt40 {
  margin-top: 40px !important; }

.pc-mt50 {
  margin-top: 50px !important; }

.pc-mt-5 {
  margin-top: -5px !important; }

.pc-mt-10 {
  margin-top: -10px !important; }

.pc-mt-20 {
  margin-top: -20px !important; }

.pc-mt-40 {
  margin-top: -40px !important; }

.pc-mt-50 {
  margin-top: -50px !important; }

.pc-mt-65 {
  margin-top: -65px !important; }

.pc-mt-70 {
  margin-top: -70px !important; }

.pc-mt-80 {
  margin-top: -80px !important; }

.pc-ml2 {
  margin-left: 2px !important; }

.pc-ml10 {
  margin-left: 10px !important; }

.pc-ml20 {
  margin-left: 20px !important; }

.pc-ml80 {
  margin-left: 80px !important; }

.pc-ml-12 {
  margin-left: -12px !important; }

.pc-mb0 {
  margin-bottom: 0 !important; }

.pc-mb5 {
  margin-bottom: 5px !important; }

.pc-mb10 {
  margin-bottom: 10px !important; }

@media screen and (max-width: 639px) {
  .sp-mt0 {
    margin-top: 0 !important; }

  .sp-mt5 {
    margin-top: 0 !important; }

  .sp-mt10 {
    margin-top: 10px !important; }

  .sp-mt15 {
    margin-top: 15px !important; }

  .sp-mt20 {
    margin-top: 20px !important; }

  .sp-mt30 {
    margin-top: 30px !important; }

  .sp-mt40 {
    margin-top: 40px !important; }

  .sp-mt50 {
    margin-top: 50px !important; }

  .sp-mt80 {
    margin-top: 80px !important; }

  .sp-mt-5 {
    margin-top: -5px !important; }

  .sp-mt-10 {
    margin-top: -10px !important; }

  .sp-mt-15 {
    margin-top: -15px !important; }

  .sp-mt-20 {
    margin-top: -10px !important; }

  .sp-mt-50 {
    margin-top: -80px !important; }

  .sp-mt-80 {
    margin-top: -80px !important; }

  .sp-mt-20 {
    margin-top: -20px !important; }

  .sp-mt-40 {
    margin-top: -40px !important; }

  .sp-mt-60 {
    margin-top: -60px !important; }

  .sp-mt-70 {
    margin-top: -70px !important; }

  .sp-mb0 {
    margin-bottom: 0 !important; }

  .sp-mb3 {
    margin-bottom: 3px !important; }

  .sp-mb5 {
    margin-bottom: 5px !important; }

  .sp-mb10 {
    margin-bottom: 10px !important; }

  .sp-mb20 {
    margin-bottom: 20px !important; }

  .sp-ml2 {
    margin-left: 2px !important; }

  .sp-ml4 {
    margin-left: 4px !important; }

  .sp-ml10 {
    margin-left: 10px !important; }

  .sp-ml20 {
    margin-left: 20px !important; }

  .sp-ml68 {
    margin-left: 68px !important; }

  .sp-ml-12 {
    margin-left: -12px !important; } }
.pc-pt0 {
  padding-top: 0 !important; }

.pc-pb0 {
  padding-bottom: 0 !important; }

.pc-pb23 {
  padding-bottom: 23px !important; }

.pc-pb30 {
  padding-bottom: 30px !important; }

.pc-pl10 {
  padding-left: 10px !important; }

@media screen and (max-width: 639px) {
  .sp-pt0 {
    padding-top: 0 !important; }

  .sp-pt18 {
    padding-top: 18px !important; }

  .sp-pb18 {
    padding-bottom: 18px !important; }

  .sp-pb0 {
    padding-bottom: 0 !important; }

  .sp-pb30 {
    padding-bottom: 30px !important; }

  .sp-pl0 {
    padding-left: 0 !important; }

  .sp-pr0 {
    padding-right: 0 !important; }

  .sp-pl10 {
    padding-left: 10px !important; }

  .sp-pl76 {
    padding-left: 76px !important; }

  .sp-pl20 {
    padding-left: 20px !important; }

  .sp-pl15 {
    padding-left: 15px !important; }

  .sp-pr20 {
    padding-right: 20px !important; }

  .sp-pr76 {
    padding-right: 76px !important; } }
.SP {
  display: none; }

@media screen and (max-width: 639px) {
  .sp-fs12 {
    font-size: 12px !important; }

  　　.sp-fs13 {
    font-size: 13px !important; }

  .sp-fs14 {
    font-size: 14px !important; }

  .sp-fs16 {
    font-size: 16px !important; }

  .sp-fs18 {
    font-size: 18px !important; }

  .sp-fs20 {
    font-size: 20px !important; }

  .sp-fs24 {
    font-size: 24px !important; }

  .sp-fs28 {
    font-size: 28px !important; }

  .sp-fs32 {
    font-size: 32px !important; }

  .sp-fs40 {
    font-size: 40px !important; }

  .sp-fs48 {
    font-size: 48px !important; }

  .sp-fs3rem {
    font-size: 3rem !important; }

  .sp-mvt {
    font-size: 2.4rem !important; }

  .sp-mvst {
    font-size: 0.8rem !important; }

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

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

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

  :root :where(.smb-step.is-style-snow-monkey-143920) > .smb-step__body > .smb-step__item:not(:last-child) > .smb-step__item__title::after {
    display: none !important; }

  .page-id-3 .smb-section__inner .c-container {
    padding-left: 0 !important;
    padding-right: 0 !important; } }
/* 初期状態 */
.fadeup {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: .1s; }

.fadeup2 {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.6s, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.6s;
  transition-delay: .6s; }

/* 表示 */
.fadeup.is-show {
  opacity: 1;
  transform: translateY(0); }

.fadeup2.is-show {
  opacity: 1;
  transform: translateY(0); }

.tt-button {
  text-decoration: none !important;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 320px;
  padding: 20px 30px;
  border: none;
  border-radius: 100px;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  overflow: hidden;
  /* グラデーション本体（通常状態） */
  /* 枠線（ホバー用） */
  /* ホバー時 */ }
  .tt-button .text,
  .tt-button .arrow {
    position: relative;
    z-index: 2; }
  .tt-button .arrow {
    width: 18px;
    height: 18px;
    transition: transform 0.4s ease; }
  .tt-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #202050 0%, #7387b9 100%);
    transform: translateX(0);
    transition: transform 0.5s ease;
    z-index: 0; }
  .tt-button::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid #202050;
    border-radius: 100px;
    transform: scaleX(0);
    transform-origin: left;
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.2s ease;
    z-index: 1; }
  .tt-button:hover {
    color: #202050;
    background-color: rgba(0, 0, 0, 0); }
    .tt-button:hover::before {
      transform: translateX(100%);
      opacity: 0 !important; }
    .tt-button:hover::after {
      transform: scaleX(1);
      opacity: 1; }
    .tt-button:hover .arrow {
      transform: translateX(6px); }

/* 中央寄せ */
.is-center {
  margin-left: auto;
  margin-right: auto; }

/* 特定ボタンのみ白ホバー版 */
.tt-button--white::after {
  border-color: #fff; }
.tt-button--white:hover {
  color: #fff; }
.tt-button--white:hover .arrow {
  color: #fff; }

.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 20px 0; }

.marquee-track {
  display: flex;
  gap: 2rem;
  animation: marquee 6s linear infinite;
  white-space: nowrap;
  will-change: transform; }

/* 文字 */
.marquee-track span {
  font-size: 8rem;
  letter-spacing: 0em;
  color: white;
  white-space: nowrap; }

/* アニメーション */
@keyframes marquee {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-50%); } }
body {
  background: #f8f9fb !important;
  color: #0f1f38; }

h2, h3 {
  letter-spacing: .06em;
  font-weight: 600; }

.wp-block-button__link {
  border-radius: 999px;
  padding: 1rem 2rem; }

.fv-group {
  padding: 10px !important; }

.fv-sec {
  border-radius: 20px !important;
  position: relative;
  overflow: hidden; }

.fv-sec::after {
  content: "INNOVATION FOR A BETTER FUTURE.";
  position: absolute;
  top: 85%;
  right: 24px;
  font-weight: 100 !important;
  color: #bfbfbf;
  letter-spacing: 5px;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: right center;
  z-index: 10; }

.fv-title {
  padding-left: 40px; }

@media (max-width: 767px) {
  .fv-title {
    font-size: 24px !important;
    padding-left: 20px !important; }
    .fv-title span {
      letter-spacing: 0.3rem !important; }

  .fv-logo img {
    width: 120px !important; }

  .fv-sec::after {
    font-size: 12px;
    letter-spacing: 4px; } }
.home .l-header {
  margin-top: 30px !important; }
.home .l-1row-header__branding {
  padding-left: 30px !important; }
  @media (max-width: 767px) {
    .home .l-1row-header__branding {
      padding-left: 0px !important; } }

@media (max-width: 767px) {
  .gap0 {
    gap: 0 !important; }

  .sp-table table {
    border-bottom: 0 !important; } }
/* ======================================
ABOUT SECTION
====================================== */
.about-sec {
  position: relative;
  padding: 140px 0;
  overflow: hidden;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important; }

/* 背景回転図形 */
.about-rot-bg {
  position: absolute;
  right: -10%;
  top: 50%;
  width: 760px;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
  animation: rotateAbout 30s linear infinite; }

.about-rot-bg img {
  width: 100%;
  height: auto;
  display: block; }

/* コンテンツ */
.about-wrap {
  position: relative;
  z-index: 2;
  width: min(1920px, 94%);
  margin-left: auto;
  margin-right: 0;
  display: grid;
  grid-template-columns: 42% 58%;
  align-items: center;
  gap: 40px; }

/* 左 */
.about-left {
  color: #202050; }

.about-en {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: .08em; }

.about-ja {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 35px; }

.about-title {
  font-size: 2.3rem;
  line-height: 1.6;
  margin-bottom: 35px;
  font-weight: 700; }

.about-text {
  line-height: 2;
  margin-bottom: 45px;
  color: rgba(32, 32, 80, 0.85); }

/* 右 */
.about-right {
  text-align: center; }

.about-right img {
  width: 100%;
  max-width: 700px;
  height: auto;
  display: block; }

/* 回転 */
@keyframes rotateAbout {
  from {
    transform: translateY(-50%) rotate(0deg); }
  to {
    transform: translateY(-50%) rotate(360deg); } }
/* ======================================
SP
====================================== */
@media (max-width: 767px) {
  .about-sec {
    padding: 90px 0; }

  .about-wrap {
    grid-template-columns: 1fr;
    gap: 50px; }

  .about-rot-bg {
    width: 520px;
    right: -45%;
    opacity: .05; }

  .about-en {
    font-size: 2.2rem; }

  .about-title {
    font-size: 1.7rem; } }
@media screen and (max-width: 1399px) {
  .tab-fs3rem {
    font-size: 3rem !important; } }
@media screen and (max-width: 1389px) {
  .tab-fs13 {
    font-size: 13px !important; }

  .tab-fs14 {
    font-size: 14px !important; } }
@media screen and (max-width: 1024px) {
  .tab-block {
    display: block !important; }

  .tab-mb20 {
    margin-bottom: 20px !important; }

  .tab-txtc {
    text-align: center !important; }

  .tab-plr0 {
    padding-left: 0 !important;
    padding-right: 0 !important; } }
.td-none a {
  text-decoration: none !important; }

.z-index10 {
  z-index: 10 !important; }

.libre-baskerville-400 {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; }

.libre-baskerville-500 {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal; }

.libre-baskerville-600 {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal; }

.libre-baskerville-700 {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; }

.source-serif-4-200 {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal; }

.source-serif-4-300 {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal; }

.source-serif-4-400 {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; }

.source-serif-4-500 {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal; }

.source-serif-4-600 {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal; }

.source-serif-4-700 {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; }

.noto-serif-jp-400 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; }

.noto-serif-jp-600 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal; }

.fw-r {
  font-weight: 400 !important; }

#preloader {
  position: fixed;
  flex-direction: column;
  /* 縦方向に並べる */
  justify-content: center;
  /* 縦の中央 */
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(135deg, #e5f1ff, #e2eff9, #b3d3f0);
  /* 動きのある青いグラデーション */
  background-size: 400% 400%;
  /* 背景を広げて動きやすく */
  animation: gradientMove 5s ease infinite;
  /* 背景のアニメーション */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 1;
  transition: opacity 0.5s ease;
  transform: translateY(0);
  /* 初期状態で画面全体に表示 */ }

@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
    /* 初期位置 */ }
  50% {
    background-position: 100% 50%;
    /* 背景が動く途中 */ }
  100% {
    background-position: 0% 50%;
    /* 終了位置 */ } }
@keyframes slideUp {
  0% {
    transform: translateY(0);
    /* 最初は画面いっぱい */ }
  100% {
    transform: translateY(-100%);
    /* 下から上にスライドして消える */ } }
.preloader-text {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.3em;
  opacity: 0;
  animation: fadeInText 1.5s ease forwards;
  animation-delay: 0.1s; }
  @media screen and (max-width: 639px) {
    .preloader-text {
      font-size: 20px;
      margin-top: 0px !important;
      padding-left: 30px !important; } }

@keyframes fadeInText {
  to {
    opacity: 1; } }
.preloader-logo {
  margin-top: -100px;
  opacity: 0;
  animation: fadeInText 1.5s ease forwards;
  animation-delay: 0.1s;
  margin-bottom: 10px;
  width: 380px;
  display: block; }
  @media screen and (max-width: 639px) {
    .preloader-logo {
      width: 200px !important;
      margin-top: -50px !important; } }

.body {
  color: #444; }

.wp-block-separator {
  border-top: 1px solid !important; }

@media (min-width: 1024px) {
  [data-scrolled="false"] .logoTop + .custom-logo-link {
    display: none; }

  /* スクロールしていな状態ではカラーロゴ非表示 */
  [data-scrolled="true"] .logoTop {
    display: none; }

  /* スクロールしたら白ロゴを非表示 */ }
@media (max-width: 1023px) {
  [data-scrolled="false"] .logoTop + .custom-logo-link {
    display: none; }

  /* スクロールしていな状態ではカラーロゴ非表示 */
  [data-scrolled="true"] .logoTop {
    display: none; }

  /* スクロールしたら白ロゴを非表示 */ }
@media (min-width: 1239px) {
  .c-row__col--auto {
    max-width: auto; } }
@media (max-width: 1273px) {
  .c-row__col--auto {
    max-width: 280px; } }
@media (max-width: 1238px) {
  .c-row__col--auto {
    max-width: 260px; } }
@media (max-width: 1193px) {
  .c-row__col--auto {
    max-width: 240px; } }
@media (max-width: 1147px) {
  .c-row__col--auto {
    max-width: 210px; } }
@media (max-width: 1023px) {
  .c-row__col--auto {
    max-width: 90%; } }

@media (min-width: 1316px) {
  .p-global-nav .c-navbar__item > a {
    font-size: 15px; } }
@media (max-width: 1315px) {
  .p-global-nav .c-navbar__item > a {
    font-size: 13px; } }
@media (max-width: 1169px) {
  .p-global-nav .c-navbar__item > a {
    font-size: 12px; } }
@media (max-width: 1111px) {
  .p-global-nav .c-navbar__item > a {
    font-size: 11px; } }
@media (max-width: 1062px) {
  .p-global-nav .c-navbar__item > a {
    font-size: 10px; } }

.p-global-nav .c-navbar__submenu {
  background-color: #78b0d6;
  color: white;
  font-weight: bold; }

.p-global-nav .c-navbar__item[aria-haspopup=true]:before {
  display: none; }

.l-footer {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
  background: #cdcecf;
  font-weight: bold;
  border-top: 0;
  color: white !important; }
  .l-footer .wp-block-list {
    font-size: 14px;
    list-style: none; }
    @media screen and (max-width: 639px) {
      .l-footer .wp-block-list {
        font-size: 14px; }
        .l-footer .wp-block-list .wp-block-columns {
          gap: 15px; } }
    .l-footer .wp-block-list li a {
      text-decoration: none !important;
      color: #white !important; }
    .l-footer .wp-block-list li .wp-block-list li a {
      font-weight: 400; }
  .l-footer .pp a {
    text-decoration: none !important;
    color: #202050; }

.l-footer__footer {
  background-color: #cdcecf !important; }

@media screen and (max-width: 1205px) {
  .footer-1 {
    display: none !important; } }

@media screen and (min-width: 1206px) {
  .footer-2 {
    display: none !important; } }

:root :where(.wp-block-list.is-style-sme-list-check) :where(li):before {
  border-color: #24bdbc !important; }

.c-copyright {
  font-weight: 400;
  color: #202050;
  text-align: right !important; }

@media screen and (max-width: 1310px) {
  .wp-block-columns {
    padding-right: 50px !important;
    padding-left: 50px !important; }

  .tab1-mb0 {
    margin-bottom: 0 !important; }

  .tab1-mb25 {
    margin-bottom: 25px !important; } }
@media screen and (max-width: 1252px) {
  .tab2-pb0 {
    padding-bottom: 0 !important; } }
@media screen and (max-width: 1222px) {
  .wp-block-columns {
    padding-right: 20px !important;
    padding-left: 20px !important; }

  .wp-block-group {
    padding-left: 50px !important;
    padding-right: 50px !important; } }
@media screen and (max-width: 1099px) {
  .wp-container-core-columns-is-layout-effafc84 {
    gap: 1em !important; }

  .tab-mb25 {
    margin-bottom: 25px !important; } }
@media screen and (max-width: 1072px) {
  .tab2-mb0 {
    margin-bottom: 0 !important; } }
@media screen and (max-width: 822px) {
  .tab3-mb25 {
    margin-bottom: 25px !important; }

  .tab3-mb40 {
    margin-bottom: 40px !important; }

  .wp-block-group {
    padding-left: 20px !important;
    padding-right: 20px !important; } }
@media screen and (max-width: 639px) {
  .wp-block-columns {
    padding-left: 0 !important;
    padding-right: 0 !important; }

  .wp-block-group {
    padding-left: 10px !important;
    padding-right: 10px !important; } }
.wp-block-columns_soroe {
  align-items: stretch; }

.wp-block-column_soroe {
  display: flex; }

.wp-block-snow-monkey-blocks-box_soroe {
  flex: 1; }

.home {
  /* スマホ（768px以下）用画像に切り替える */
  /* 文字の共通表示部分 */ }
  .home .back-grade {
    padding-bottom: 0 !important; }
  .home .back-grade::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(150deg, #041936, #041936);
    z-index: -1; }
  .home .slide1 {
    background-image: url("https://demo03.teninalu.com/wp-content/uploads/2025/09/slide3-2.jpg"); }
  .home .slide2 {
    background-image: url("https://demo03.teninalu.com/wp-content/uploads/2025/09/slide2-1.jpg"); }
  .home .slide3 {
    background-image: url("https://demo03.teninalu.com/wp-content/uploads/2025/09/slide1-2.jpg"); }
  @media screen and (max-width: 768px) {
    .home .slide1 {
      background-image: url("https://demo03.teninalu.com/wp-content/uploads/2025/09/slide3-2.jpg"); }
    .home .slide2 {
      background-image: url("https://demo03.teninalu.com/wp-content/uploads/2025/09/slide2-1.jpg"); }
    .home .slide3 {
      background-image: url("https://demo03.teninalu.com/wp-content/uploads/2025/09/slide1-2.jpg"); } }
  .home .hero-slider {
    border-radius: 10px;
    position: relative;
    height: 60vh;
    overflow: hidden; }
    @media screen and (max-width: 1023px) {
      .home .hero-slider {
        height: 50vh;
        margin-top: 0 !important; } }
  .home .hero-slider .slide {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    z-index: 0;
    /* ← 追加 */
    transition: opacity 2s ease-in-out; }
  @media screen and (max-width: 1023px) {
    .home .sp-none {
      display: none; } }
  .home .pc-none {
    display: none; }
    @media screen and (max-width: 1023px) {
      .home .pc-none {
        display: block; } }
  .home .hero-slider .slide.active {
    opacity: 1;
    z-index: 1; }
  .home .hero-text {
    text-shadow: 1px 1px 100px rgba(0, 0, 0, 0.9);
    position: absolute;
    top: 35%;
    z-index: 2;
    text-align: center;
    max-width: 80%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1023px) {
      .home .hero-text {
        top: 33%;
        padding-left: 20px; } }
  .home .hero-text p {
    color: white;
    font-size: 6.5rem;
    line-height: 1.4;
    margin: 0;
    font-family: "Martel Sans", sans-serif;
    font-weight: 400;
    font-style: normal; }
    @media screen and (max-width: 639px) {
      .home .hero-text p {
        font-size: 2.5rem; } }
    @media screen and (max-width: 639px) {
      .home .hero-text p {
        line-height: 1.8; } }
  .home .mv-subtext {
    margin-top: -75px;
    margin-left: 10px !important; }
    @media screen and (max-width: 639px) {
      .home .mv-subtext {
        margin-top: -38px; } }
    .home .mv-subtext img {
      width: 727px !important; }
  .home .circle-text {
    position: absolute;
    bottom: -100px;
    right: 60px;
    width: 20vw;
    /* ビューポート幅の20% */
    max-width: 320px;
    /* 最大サイズ */
    min-width: 160px;
    /* 小さすぎないように制限 */
    aspect-ratio: 1 / 1;
    z-index: 3;
    animation: rotateText 15s linear infinite;
    pointer-events: none; }
    @media screen and (max-width: 639px) {
      .home .circle-text {
        right: 10px;
        min-width: 120px !important;
        bottom: -80px !important; } }
  .home .circle-text svg {
    width: 100%;
    height: 100%;
    display: block; }
@keyframes rotateText {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
  .home .c-entry-summary__title {
    font-weight: bold !important; }
    @media screen and (max-width: 639px) {
      .home .c-entry-summary__title {
        font-size: 14px !important; } }

.page-id-4670 .c-entry__title, .page-id-4672 .c-entry__title, .page-id-4674 .c-entry__title, .page-id-4674 .c-entry__title, .page-id-4676 .c-entry__title, .archive .c-entry__title, .page-id-4679 .c-entry__title, .page-id-4871 .c-entry__title {
  margin-top: 60px !important; }
.page-id-4670 .l-contents__inner, .page-id-4672 .l-contents__inner, .page-id-4674 .l-contents__inner, .page-id-4674 .l-contents__inner, .page-id-4676 .l-contents__inner, .archive .l-contents__inner, .page-id-4679 .l-contents__inner, .page-id-4871 .l-contents__inner {
  padding-bottom: 0 !important; }
.page-id-4670 .c-navbar, .page-id-4672 .c-navbar, .page-id-4674 .c-navbar, .page-id-4674 .c-navbar, .page-id-4676 .c-navbar, .archive .c-navbar, .page-id-4679 .c-navbar, .page-id-4871 .c-navbar {
  color: #202050; }
.page-id-4670 .p-global-nav a,
.page-id-4670 .p-header-content__navigation a, .page-id-4672 .p-global-nav a,
.page-id-4672 .p-header-content__navigation a, .page-id-4674 .p-global-nav a,
.page-id-4674 .p-header-content__navigation a, .page-id-4674 .p-global-nav a,
.page-id-4674 .p-header-content__navigation a, .page-id-4676 .p-global-nav a,
.page-id-4676 .p-header-content__navigation a, .archive .p-global-nav a,
.archive .p-header-content__navigation a, .page-id-4679 .p-global-nav a,
.page-id-4679 .p-header-content__navigation a, .page-id-4871 .p-global-nav a,
.page-id-4871 .p-header-content__navigation a {
  color: #202050 !important; }

.c-entry__title {
  margin-top: 60px !important; }

.l-contents__inner {
  padding-bottom: 0 !important; }

.post-template-default .c-entry__header, .column-template-default .c-entry__header {
  margin-top: 100px !important; }
.post-template-default .l-footer, .column-template-default .l-footer {
  margin-top: 80px !important; }

.c-prev-next-nav {
  margin-left: 10% !important;
  margin-right: 10% !important; }

@media screen and (max-width: 639px) {
  .page-id-759 .smb-section__inner .c-container {
    padding-left: 0 !important;
    padding-right: 0 !important; } }
@media screen and (max-width: 639px) {
  .kasou-title {
    padding-left: 8% !important; } }
.page-id-464 .smb-media-text__figure img {
  border-radius: 500px; }

.smf-form .smf-text-control__control {
  width: 100% !important; }

.p-breadcrumbs-wrapper {
  margin-top: 150px; }

.snow-monkey-archive-content-body {
  max-width: 100%; }

.category-interview .c-entry-summary__meta {
  display: none !important; }

.category-interview .c-entry__body {
  color: white !important; }
.category-interview .c-entry__header {
  display: none; }

:root :where(.wp-block-list.is-style-sme-list-arrow) :where(li):before {
  border-color: #78b0d6 !important; }

:root :where(.wp-block-list.is-style-sme-list-arrow) :where(li):after {
  border-color: #78b0d6 !important; }

.back-blue {
  background: linear-gradient(to bottom, rgba(0, 0, 255, 0), #f0f8fe); }

[data-scrolled=true] .l-header .c-hamburger-btn__bar {
  background-color: #202050 !important; }

[data-scrolled=false] .l-header--sticky-overlay-colored-sm .c-hamburger-btn__bar {
  background-color: #fff !important; }

[data-scrolled=false] .home .l-header--sticky-overlay-colored-sm .c-hamburger-btn__bar {
  background-color: #fff !important; }

.c-hamburger-btn__bars {
  width: 26px;
  height: 18px; }

.l-header .c-hamburger-btn__bar {
  height: 2px; }

.c-hamburger-btn__bar:nth-of-type(2) {
  top: 8px; }

.c-hamburger-btn__bar:nth-of-type(3) {
  top: 16px; }

.c-hamburger-btn__label {
  display: none; }

/* ヘッダー本体は固定 */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  transition: background .35s ease, box-shadow .35s ease; }

/* ロゴは常時表示 */
.c-site-branding {
  position: relative;
  z-index: 3; }

/* メニュー部分だけ動かす */
.p-global-nav,
.p-header-content__navigation {
  transition: transform .35s ease, opacity .35s ease; }

/* 最上部 */
body.menu-top .l-header {
  background: transparent; }

body.menu-top .p-global-nav a,
body.menu-top .p-header-content__navigation a {
  color: #fff; }

/* 下スクロールでメニューだけ消す */
body.menu-hide .p-global-nav,
body.menu-hide .p-header-content__navigation {
  transform: translateY(-20px);
  opacity: 0;
  pointer-events: none; }

/* 上スクロールで表示 */
body.menu-show .l-header {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06); }

body.menu-show .p-global-nav,
body.menu-show .p-header-content__navigation {
  transform: translateY(0);
  opacity: 1; }

body.menu-show .p-global-nav a,
body.menu-show .p-header-content__navigation a {
  color: #0b2e59; }

/* リンク */
.p-global-nav a,
.p-header-content__navigation a {
  position: relative;
  display: inline-block;
  overflow: hidden; }

/* 文字窓 */
.slot-wrap {
  position: relative;
  display: block;
  height: 1.2em;
  line-height: 1.2em;
  overflow: hidden; }

/* 文字共通 */
.slot-text {
  display: block;
  transition: transform .35s ease;
  white-space: nowrap; }

/* 下文字は待機 */
.slot-next {
  position: absolute;
  left: 0;
  top: 100%; }

/* hover */
.p-global-nav a:hover .slot-current,
.p-header-content__navigation a:hover .slot-current {
  transform: translateY(-100%); }

.p-global-nav a:hover .slot-next,
.p-header-content__navigation a:hover .slot-next {
  transform: translateY(-100%); }

 /* ======================================
PRELOADER
====================================== */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: linear-gradient(135deg, #394e77, #1c2444, #a9d5ea);
  background-size: 400% 400%;
  animation: gradientMove 6s ease infinite;
  z-index: 99999;
  overflow: hidden;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .5s ease; }

/* ======================================
ノイズ（ざらざら感）
====================================== */
#preloader::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.04) 100%), repeating-radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 4px), repeating-radial-gradient(circle at 70% 60%, rgba(0, 0, 0, 0.05) 0 1px, transparent 1px 5px);
  mix-blend-mode: overlay;
  opacity: .55;
  animation: noiseMove 0.18s steps(2) infinite;
  pointer-events: none;
  z-index: 1; }

/* ======================================
ロゴ
====================================== */
.preloader-logo {
  position: relative;
  z-index: 2;
  width: 240px;
  max-width: 72vw;
  height: auto;
  animation: logoFloat 2.8s ease-in-out infinite; }

/* ======================================
背景アニメーション
====================================== */
@keyframes gradientMove {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
/* ======================================
ロゴ浮遊
====================================== */
@keyframes logoFloat {
  0% {
    transform: translateY(0);
    opacity: .92; }
  50% {
    transform: translateY(-6px);
    opacity: 1; }
  100% {
    transform: translateY(0);
    opacity: .92; } }
/* ======================================
閉じる時 上へスライド
====================================== */
@keyframes slideUp {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-100%); } }
/* ======================================
ローディング中ヘッダー非表示
====================================== */
body.is-loading .l-header,
body.is-loading header,
body.is-loading .c-header,
body.is-loading .c-site-branding,
body.is-loading .p-global-nav {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important; }

.preloader-logo {
  width: 200px; }

/* ======================================
SP
====================================== */
@media (max-width: 767px) {
  .preloader-logo {
    width: 120px !important; }

  #preloader::before {
    opacity: .22; } }
