@charset "UTF-8";

/* =====================
  Custom Property
===================== */
:root {
  /* debug */
  --debug: false;

  /* color */
  --white: #ffffff;
  --primary: #0e41a4;
  --color-text-primary: #181818;
  --gray_text: #898989;
  --gray_border: #d9d9d9;
  --bg: #f2f2f2;
  --gold: #262b66;
  --gradation2: linear-gradient(112deg, #262b66 18.31%, #9c9eb8 104.48%);
  --form-input: #f0f3f7;
  --form-required: #b61024;
  --form-optional: #575757;
  --form-border: #b7b7b7;
  --form-input-placeholder: #bababa;

  /* font */
  --yumin: 'Yu Mincho Demibold', 'YuMincho Demibold', '游明朝', 'Yu Mincho Regular', 'Yu Mincho', 'YuMincho Medium', serif;
  --yugo: '游ゴシック', 'Yu Gothic', yugothic, 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'メイリオ', meiryo, 'ＭＳ ゴシック', sans-serif;
  --sanserif: 'Noto Sans JP', sans-serif;
  --title: 'Sorts Mill Goudy', serif;
  --serif: 'Shippori Mincho', serif;

  /* icon */
  --icon-arrow: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" fill="none"><path d="M8.12256 0L12 4.00879L8.12256 8L7.1532 6.9978L10.3287 4.00879L7.1532 1.0022L8.12256 0ZM0 4.67692V3.34066H10.9638V4.67692H0Z" fill="currentColor"/></svg>');
  --icon-home: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="13" height="12" viewBox="0 0 13 12" fill="none"><path d="M12.7309 5.90169L6.82435 0.131418C6.78182 0.0897586 6.73131 0.056708 6.6757 0.0341577C6.62009 0.0116074 6.56047 0 6.50027 0C6.44006 0 6.38045 0.0116074 6.32484 0.0341577C6.26923 0.056708 6.21872 0.0897586 6.17619 0.131418L0.26959 5.90169C0.0975112 6.06991 0 6.29843 0 6.53675C0 7.03163 0.411555 7.43397 0.917752 7.43397H1.5401V11.5514C1.5401 11.7995 1.74516 12 1.99898 12H5.58252V8.85972H7.18858V12H11.0016C11.2554 12 11.4604 11.7995 11.4604 11.5514V7.43397H12.0828C12.3266 7.43397 12.5603 7.34005 12.7324 7.17041C13.0894 6.81994 13.0894 6.25216 12.7309 5.90169Z" fill="currentColor"/></svg>');
  --icon-triangle: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="10" viewBox="0 0 25 10" fill="none"><path d="M24.5547 0.832031L12.2773 9.0166L0 0.832031L0.554688 0L12.2773 7.81445L24 0L24.5547 0.832031Z" fill="currentColor"/></svg>');
  --icon-tel: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="38" height="38" viewBox="0 0 38 38" fill="none"><path d="M7.54167 16.2292C10.5417 22.125 15.375 26.9583 21.2708 29.9583L25.8542 25.375C26.4375 24.7917 27.25 24.625 27.9792 24.8542C30.3125 25.625 32.8125 26.0417 35.4167 26.0417C35.9692 26.0417 36.4991 26.2612 36.8898 26.6519C37.2805 27.0426 37.5 27.5725 37.5 28.125V35.4167C37.5 35.9692 37.2805 36.4991 36.8898 36.8898C36.4991 37.2805 35.9692 37.5 35.4167 37.5C26.0236 37.5 17.0152 33.7686 10.3733 27.1267C3.73139 20.4848 0 11.4764 0 2.08333C0 1.5308 0.219493 1.00089 0.610194 0.610194C1.00089 0.219493 1.5308 0 2.08333 0H9.375C9.92753 0 10.4574 0.219493 10.8481 0.610194C11.2388 1.00089 11.4583 1.5308 11.4583 2.08333C11.4583 4.6875 11.875 7.1875 12.6458 9.52083C12.875 10.25 12.7083 11.0625 12.125 11.6458L7.54167 16.2292Z" fill="currentColor"/></svg>');
  --icon-instagram: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><g clip-path="url(%23clip0_4398_1857)"><path d="M11.7168 0.139875C9.58877 0.240275 8.13557 0.579875 6.86517 1.07908C5.55037 1.59148 4.43597 2.27908 3.32717 3.39188C2.21837 4.50468 1.53557 5.61988 1.02677 6.93668C0.534371 8.20988 0.200771 9.66428 0.106771 11.7935C0.0127714 13.9227 -0.00802861 14.6071 0.00237139 20.0383C0.0127714 25.4695 0.0367714 26.1503 0.139971 28.2839C0.241571 30.4115 0.579971 31.8643 1.07917 33.1351C1.59237 34.4499 2.27917 35.5639 3.39237 36.6731C4.50557 37.7823 5.61997 38.4635 6.93997 38.9731C8.21197 39.4647 9.66677 39.7999 11.7956 39.8931C13.9244 39.9863 14.6096 40.0079 20.0392 39.9975C25.4688 39.9871 26.1524 39.9631 28.2856 39.8619C30.4188 39.7607 31.864 39.4199 33.1352 38.9231C34.45 38.4087 35.5648 37.7231 36.6732 36.6095C37.7816 35.4959 38.464 34.3799 38.9724 33.0623C39.4652 31.7903 39.8 30.3355 39.8924 28.2083C39.9856 26.0735 40.0076 25.3919 39.9972 19.9615C39.9868 14.5311 39.9624 13.8503 39.8612 11.7175C39.76 9.58468 39.4212 8.13628 38.9224 6.86468C38.4084 5.54988 37.7224 4.43668 36.6096 3.32668C35.4968 2.21668 34.38 1.53468 33.0628 1.02748C31.79 0.535075 30.336 0.199475 28.2072 0.107475C26.0784 0.0154752 25.3932 -0.00812478 19.9616 0.00227522C14.53 0.0126752 13.85 0.0358752 11.7168 0.139875ZM11.9504 36.2951C10.0004 36.2103 8.94157 35.8863 8.23597 35.6151C7.30157 35.2551 6.63597 34.8199 5.93277 34.1235C5.22957 33.4271 4.79757 32.7591 4.43277 31.8267C4.15877 31.1211 3.82877 30.0635 3.73757 28.1135C3.63837 26.0059 3.61757 25.3731 3.60597 20.0335C3.59437 14.6939 3.61477 14.0619 3.70717 11.9535C3.79037 10.0051 4.11637 8.94508 4.38717 8.23988C4.74717 7.30428 5.18077 6.63988 5.87877 5.93708C6.57677 5.23428 7.24277 4.80148 8.17597 4.43668C8.88077 4.16148 9.93837 3.83428 11.8876 3.74148C13.9968 3.64148 14.6288 3.62148 19.9676 3.60988C25.3064 3.59828 25.94 3.61828 28.05 3.71108C29.9984 3.79588 31.0588 4.11868 31.7632 4.39108C32.698 4.75108 33.3632 5.18348 34.066 5.88268C34.7688 6.58188 35.202 7.24548 35.5668 8.18068C35.8424 8.88348 36.1696 9.94068 36.2616 11.8911C36.362 14.0003 36.3848 14.6327 36.3944 19.9711C36.404 25.3095 36.3852 25.9435 36.2928 28.0511C36.2076 30.0011 35.8844 31.0603 35.6128 31.7667C35.2528 32.7007 34.8188 33.3667 34.1204 34.0691C33.422 34.7715 32.7568 35.2043 31.8232 35.5691C31.1192 35.8439 30.0604 36.1719 28.1128 36.2647C26.0036 36.3639 25.3716 36.3847 20.0308 36.3963C14.69 36.4079 14.06 36.3863 11.9508 36.2951M28.2548 9.31068C28.2556 9.78538 28.3971 10.2492 28.6615 10.6435C28.9259 11.0377 29.3013 11.3447 29.7402 11.5256C30.1791 11.7065 30.6618 11.7532 31.1272 11.6597C31.5926 11.5663 32.0199 11.3369 32.3549 11.0006C32.69 10.6643 32.9178 10.2362 33.0095 9.77047C33.1013 9.30471 33.0528 8.82221 32.8703 8.38398C32.6878 7.94576 32.3794 7.5715 31.9842 7.30854C31.589 7.04558 31.1247 6.90573 30.65 6.90668C30.0136 6.90795 29.4038 7.16191 28.9546 7.61273C28.5054 8.06354 28.2537 8.67429 28.2548 9.31068ZM9.73077 20.0199C9.74197 25.6919 14.3484 30.2795 20.0192 30.2687C25.69 30.2579 30.2808 25.6519 30.27 19.9799C30.2592 14.3079 25.6516 9.71908 19.98 9.73028C14.3084 9.74148 9.71997 14.3487 9.73077 20.0199ZM13.3332 20.0127C13.3306 18.6941 13.719 17.4044 14.4494 16.3066C15.1798 15.2088 16.2193 14.3522 17.4365 13.8452C18.6537 13.3382 19.9939 13.2035 21.2876 13.4582C22.5814 13.7129 23.7705 14.3455 24.7048 15.276C25.639 16.2065 26.2763 17.3932 26.5361 18.6859C26.7959 19.9786 26.6665 21.3194 26.1643 22.5386C25.6621 23.7578 24.8097 24.8007 23.7148 25.5354C22.6199 26.2701 21.3317 26.6637 20.0132 26.6663C19.1376 26.6681 18.2703 26.4975 17.4608 26.1641C16.6512 25.8307 15.9152 25.3411 15.2949 24.7232C14.6746 24.1053 14.1821 23.3713 13.8455 22.5631C13.5089 21.7548 13.3348 20.8882 13.3332 20.0127Z" fill="currentColor"/></g><defs><clipPath><rect width="40" height="40" fill="currentColor"/></clipPath></defs></svg>');
  --icon-breadcrumb: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M10.824 0L11.184 0.36L0.36 11.184L0 10.824L10.824 0Z" fill="currentColor"/></svg>');
  --icon-pdf: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="24" viewBox="0 0 18 24" fill="none"><path d="M8.52656 12.0047C8.29219 11.2547 8.29688 9.80625 8.43281 9.80625C8.82656 9.80625 8.78906 11.5359 8.52656 12.0047ZM8.44687 14.2172C8.08594 15.1641 7.63594 16.2469 7.11563 17.1562C7.97344 16.8281 8.94375 16.35 10.0641 16.1297C9.46875 15.6797 8.89687 15.0328 8.44687 14.2172ZM4.03594 20.0672C4.03594 20.1047 4.65469 19.8141 5.67188 18.1828C5.35781 18.4781 4.30781 19.3313 4.03594 20.0672ZM11.625 7.5H18V22.875C18 23.4984 17.4984 24 16.875 24H1.125C0.501562 24 0 23.4984 0 22.875V1.125C0 0.501562 0.501562 0 1.125 0H10.5V6.375C10.5 6.99375 11.0063 7.5 11.625 7.5ZM11.25 15.5531C10.3125 14.9812 9.68906 14.1938 9.24844 13.0312C9.45938 12.1641 9.79219 10.8469 9.53906 10.0219C9.31875 8.64375 7.55156 8.77969 7.29844 9.70312C7.06406 10.5609 7.27969 11.7703 7.67813 13.3125C7.13438 14.6062 6.33281 16.3406 5.76562 17.3344C5.76094 17.3344 5.76094 17.3391 5.75625 17.3391C4.48594 17.9906 2.30625 19.425 3.20156 20.5266C3.46406 20.85 3.95156 20.9953 4.20938 20.9953C5.04844 20.9953 5.88281 20.1516 7.07344 18.0984C8.28281 17.7 9.60938 17.2031 10.7766 17.0109C11.7937 17.5641 12.9844 17.925 13.7766 17.925C15.1453 17.925 15.2391 16.425 14.7 15.8906C14.0484 15.2531 12.1547 15.4359 11.25 15.5531ZM17.6719 4.92188L13.0781 0.328125C12.8672 0.117188 12.5813 0 12.2812 0H12V6H18V5.71406C18 5.41875 17.8828 5.13281 17.6719 4.92188ZM14.1984 16.8891C14.3906 16.7625 14.0813 16.3312 12.1922 16.4672C13.9313 17.2078 14.1984 16.8891 14.1984 16.8891Z" fill="currentColor"/></svg>');
  --icon-mail: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="34" height="26" viewBox="0 0 34 26" fill="none"><path d="M34 5.74432V21.125C34.0001 22.3684 33.503 23.5649 32.6106 24.4697C31.7182 25.3744 30.4978 25.9189 29.1992 25.9919L28.9 26H5.1C3.79914 26.0001 2.54742 25.525 1.60096 24.6719C0.654488 23.8188 0.0848172 22.6523 0.0085002 21.411L0 21.125V5.74432L16.0565 15.977L16.2537 16.0842C16.4861 16.1928 16.7413 16.2492 17 16.2492C17.2587 16.2492 17.5139 16.1928 17.7463 16.0842L17.9435 15.977L34 5.74432Z" fill="currentColor"/><path d="M28.9013 0C30.7373 0 32.3472 0.926252 33.2448 2.31888L17.0013 12.6701L0.757812 2.31888C1.18416 1.65722 1.76981 1.10257 2.46593 0.701172C3.16204 0.299778 3.94846 0.0632732 4.75961 0.011375L5.10131 0H28.9013Z" fill="currentColor"/></svg>');

  /* ease */
  --slideInBezier: cubic-bezier(0.16, 0.5, 0.43, 1);
  --easeOutQuart: cubic-bezier(0.25, 1, 0.5, 1);
  --easeOutExpo: cubic-bezier(0.87, 0, 0.13, 1);
  --easeOutBack: cubic-bezier(0.34, 1.56, 0.64, 1);
  --easeOutQuint: cubic-bezier(0.22, 1, 0.36, 1);
  --easeInCirc: cubic-bezier(0.55, 0, 1, 0.45);
  --easeInOutBack: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
  --easeOutBounce: cubic-bezier(0.68, -0.55, 0.27, 1.55);

  /* ==== project ==== */
  --header-height: 92px;
}

@media only screen and (width <=768px) {
  :root {
    --header-height: calc((100 / 390) * 50 * 1vw);
  }
}

/* =====================
  nudge
===================== */
:root {
  --nudge-1: 8px;
  --nudge-2: 16px;
  --nudge-3: 24px;
  --nudge-4: 32px;
  --nudge-5: 40px;
  --nudge-6: 48px;
  --nudge-7: 56px;
  --nudge-8: 64px;
  --nudge-9: 70px;
  --nudge-10: 80px;
}

@media (width <=768px) {
  :root {
    --nudge-1: calc((100 / 390) * 8 * 1vw);
    --nudge-2: calc((100 / 390) * 16 * 1vw);
    --nudge-3: calc((100 / 390) * 24 * 1vw);
    --nudge-4: calc((100 / 390) * 32 * 1vw);
    --nudge-5: calc((100 / 390) * 40 * 1vw);
    --nudge-6: calc((100 / 390) * 48 * 1vw);
    --nudge-7: calc((100 / 390) * 56 * 1vw);
    --nudge-8: calc((100 / 390) * 64 * 1vw);
    --nudge-9: calc((100 / 390) * 70 * 1vw);
    --nudge-10: calc((100 / 390) * 80 * 1vw);
  }
}

/* =====================
  container context
===================== */
@container style(--debug:true) {
  * {
    outline: 1px solid tomato;

    &::before,
    &::after {
      outline: 1px solid tomato;
    }

    &:focus {
      outline: 2px solid var(--blue);
      outline-offset: 2px;
    }
  }
}

@layer style {
  /* =====================
    common
  ===================== */

  html,
  body {
    font-family: 'Shippori Mincho', serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    color: var(--color-text-primary);
    background: var(--bg);

    @media (width <=768px) {
      font-size: calc((100 / 390) * 16 * 1vw);
    }
  }

  body {
    background: var(--bg);

    @media (width > 768px) {
      min-inline-size: 1440px;
    }
  }

  @media (width > 768px) {
    .sp {
      display: none;
    }
  }

  @media (width <=768px) {
    .pc {
      display: none;
    }
  }

  /* =====================
    main
  ===================== */
  .main {
    position: relative;
    margin-block-start: calc(var(--header-height) * -1);
  }

  body:not([data-page='top']) .main {
    margin-block-start: 0;
  }

  @supports not (view-transition-name: none) {
    body:not([data-page='top'], [data-page='contact'], [data-page='entry'])::after {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 900;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100dvh;
      pointer-events: none;
      content: '';
      background: #fff;
      opacity: 1;
      transition: all 600ms ease-in-out 100ms;
    }

    .pageshow body::before {
      opacity: 0;
    }

    .pageshow body::after {
      opacity: 0;
    }
  }

  @supports (view-transition-name: none) {
    @view-transition {
      navigation: auto;
    }

    ::view-transition-old(root),
    ::view-transition-new(root) {
      animation-duration: 0.4s;
      animation-timing-function: ease-in-out;
    }

    ::view-transition-old(root) {
      animation: slide-out 0.4s ease-in-out;
    }

    ::view-transition-new(root) {
      animation: slide-in 0.4s ease-in-out;
    }

    @keyframes slide-out {
      to {
        opacity: 0;
      }
    }

    @keyframes slide-in {
      from {
        opacity: 0;
      }

      to {
        opacity: 1;
      }
    }
  }

  /* =====================
    data-page="error"
  ===================== */
  [data-page='error'] {
    .main {
      @media (width <=768px) {
        padding-block-start: calc((100 / 390) * 28 * 1vw);
      }

      .form-text {
        text-align: center;

        @media (width <=768px) {
          text-align: left;
        }
      }

      .u-anchor {
        margin-block: 4em;
        margin-inline: auto;
      }
    }
  }
}
