@charset "UTF-8";
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Variables
 */
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Mixins
 * 変数（_variables.scss）を参照するため、variables の後に読み込むこと
 */
/**
 * Reset / Normalize (minimal)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Base styles
 */
html {
  scroll-behavior: smooth;
}

.scroll-margin-top,
*[id] {
  scroll-margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .scroll-margin-top,
  *[id] {
    scroll-margin-top: 82px;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.8;
  color: #231815;
  background-color: #FFFFFF;
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
@media screen and (min-width: 768px) {
  body {
    font-size: 16px;
  }
}

a {
  color: inherit;
}
a:hover {
  color: inherit;
}

.alignwide {
  max-width: 90vw;
}

/* Utility */
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: calc(768px - 1px)) {
  .pc {
    display: none;
  }
}

.fs-0-pct {
  font-size: 0% !important;
}

.fs-5-pct {
  font-size: 5% !important;
}

.fs-10-pct {
  font-size: 10% !important;
}

.fs-15-pct {
  font-size: 15% !important;
}

.fs-20-pct {
  font-size: 20% !important;
}

.fs-25-pct {
  font-size: 25% !important;
}

.fs-30-pct {
  font-size: 30% !important;
}

.fs-35-pct {
  font-size: 35% !important;
}

.fs-40-pct {
  font-size: 40% !important;
}

.fs-45-pct {
  font-size: 45% !important;
}

.fs-50-pct {
  font-size: 50% !important;
}

.fs-55-pct {
  font-size: 55% !important;
}

.fs-60-pct {
  font-size: 60% !important;
}

.fs-65-pct {
  font-size: 65% !important;
}

.fs-70-pct {
  font-size: 70% !important;
}

.fs-75-pct {
  font-size: 75% !important;
}

.fs-80-pct {
  font-size: 80% !important;
}

.fs-85-pct {
  font-size: 85% !important;
}

.fs-90-pct {
  font-size: 90% !important;
}

.fs-95-pct {
  font-size: 95% !important;
}

.fs-100-pct {
  font-size: 100% !important;
}

.fs-105-pct {
  font-size: 105% !important;
}

.fs-110-pct {
  font-size: 110% !important;
}

.fs-115-pct {
  font-size: 115% !important;
}

.fs-120-pct {
  font-size: 120% !important;
}

.fs-125-pct {
  font-size: 125% !important;
}

.fs-130-pct {
  font-size: 130% !important;
}

.fs-135-pct {
  font-size: 135% !important;
}

.fs-140-pct {
  font-size: 140% !important;
}

.fs-145-pct {
  font-size: 145% !important;
}

.fs-150-pct {
  font-size: 150% !important;
}

.fs-155-pct {
  font-size: 155% !important;
}

.fs-160-pct {
  font-size: 160% !important;
}

.fs-165-pct {
  font-size: 165% !important;
}

.fs-170-pct {
  font-size: 170% !important;
}

.fs-175-pct {
  font-size: 175% !important;
}

.fs-180-pct {
  font-size: 180% !important;
}

.fs-185-pct {
  font-size: 185% !important;
}

.fs-190-pct {
  font-size: 190% !important;
}

.fs-195-pct {
  font-size: 195% !important;
}

.fs-200-pct {
  font-size: 200% !important;
}

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

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

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

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

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

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

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

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

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

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

.align-center,
.alC {
  text-align: center !important;
}

.align-left,
.alL {
  text-align: left !important;
}

.align-right,
.alR {
  text-align: right !important;
}

.display-none {
  display: none !important;
}

.display-inline {
  display: inline !important;
}

.display-block {
  display: block !important;
}

.display-inline-block {
  display: inline-block !important;
}

.display-flex {
  display: flex !important;
}

.display-grid {
  display: grid !important;
}

.display-inline-flex {
  display: inline-flex !important;
}

.display-inline-grid {
  display: inline-grid !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: calc(768px - 1px)) {
  .mt-0-sp {
    margin-top: 0px !important;
  }
  .mt-5-sp {
    margin-top: 5px !important;
  }
  .mt-10-sp {
    margin-top: 10px !important;
  }
  .mt-15-sp {
    margin-top: 15px !important;
  }
  .mt-20-sp {
    margin-top: 20px !important;
  }
  .mt-25-sp {
    margin-top: 25px !important;
  }
  .mt-30-sp {
    margin-top: 30px !important;
  }
  .mt-35-sp {
    margin-top: 35px !important;
  }
  .mt-40-sp {
    margin-top: 40px !important;
  }
  .mt-45-sp {
    margin-top: 45px !important;
  }
  .mt-50-sp {
    margin-top: 50px !important;
  }
  .mt-55-sp {
    margin-top: 55px !important;
  }
  .mt-60-sp {
    margin-top: 60px !important;
  }
  .mt-65-sp {
    margin-top: 65px !important;
  }
  .mt-70-sp {
    margin-top: 70px !important;
  }
  .mt-75-sp {
    margin-top: 75px !important;
  }
  .mt-80-sp {
    margin-top: 80px !important;
  }
  .mt-85-sp {
    margin-top: 85px !important;
  }
  .mt-90-sp {
    margin-top: 90px !important;
  }
  .mt-95-sp {
    margin-top: 95px !important;
  }
  .mt-100-sp {
    margin-top: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .mt-0-pc {
    margin-top: 0px !important;
  }
  .mt-5-pc {
    margin-top: 5px !important;
  }
  .mt-10-pc {
    margin-top: 10px !important;
  }
  .mt-15-pc {
    margin-top: 15px !important;
  }
  .mt-20-pc {
    margin-top: 20px !important;
  }
  .mt-25-pc {
    margin-top: 25px !important;
  }
  .mt-30-pc {
    margin-top: 30px !important;
  }
  .mt-35-pc {
    margin-top: 35px !important;
  }
  .mt-40-pc {
    margin-top: 40px !important;
  }
  .mt-45-pc {
    margin-top: 45px !important;
  }
  .mt-50-pc {
    margin-top: 50px !important;
  }
  .mt-55-pc {
    margin-top: 55px !important;
  }
  .mt-60-pc {
    margin-top: 60px !important;
  }
  .mt-65-pc {
    margin-top: 65px !important;
  }
  .mt-70-pc {
    margin-top: 70px !important;
  }
  .mt-75-pc {
    margin-top: 75px !important;
  }
  .mt-80-pc {
    margin-top: 80px !important;
  }
  .mt-85-pc {
    margin-top: 85px !important;
  }
  .mt-90-pc {
    margin-top: 90px !important;
  }
  .mt-95-pc {
    margin-top: 95px !important;
  }
  .mt-100-pc {
    margin-top: 100px !important;
  }
}
.mb-0 {
  margin-bottom: 0px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: calc(768px - 1px)) {
  .mb-0-sp {
    margin-bottom: 0px !important;
  }
  .mb-5-sp {
    margin-bottom: 5px !important;
  }
  .mb-10-sp {
    margin-bottom: 10px !important;
  }
  .mb-15-sp {
    margin-bottom: 15px !important;
  }
  .mb-20-sp {
    margin-bottom: 20px !important;
  }
  .mb-25-sp {
    margin-bottom: 25px !important;
  }
  .mb-30-sp {
    margin-bottom: 30px !important;
  }
  .mb-35-sp {
    margin-bottom: 35px !important;
  }
  .mb-40-sp {
    margin-bottom: 40px !important;
  }
  .mb-45-sp {
    margin-bottom: 45px !important;
  }
  .mb-50-sp {
    margin-bottom: 50px !important;
  }
  .mb-55-sp {
    margin-bottom: 55px !important;
  }
  .mb-60-sp {
    margin-bottom: 60px !important;
  }
  .mb-65-sp {
    margin-bottom: 65px !important;
  }
  .mb-70-sp {
    margin-bottom: 70px !important;
  }
  .mb-75-sp {
    margin-bottom: 75px !important;
  }
  .mb-80-sp {
    margin-bottom: 80px !important;
  }
  .mb-85-sp {
    margin-bottom: 85px !important;
  }
  .mb-90-sp {
    margin-bottom: 90px !important;
  }
  .mb-95-sp {
    margin-bottom: 95px !important;
  }
  .mb-100-sp {
    margin-bottom: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .mb-0-pc {
    margin-bottom: 0px !important;
  }
  .mb-5-pc {
    margin-bottom: 5px !important;
  }
  .mb-10-pc {
    margin-bottom: 10px !important;
  }
  .mb-15-pc {
    margin-bottom: 15px !important;
  }
  .mb-20-pc {
    margin-bottom: 20px !important;
  }
  .mb-25-pc {
    margin-bottom: 25px !important;
  }
  .mb-30-pc {
    margin-bottom: 30px !important;
  }
  .mb-35-pc {
    margin-bottom: 35px !important;
  }
  .mb-40-pc {
    margin-bottom: 40px !important;
  }
  .mb-45-pc {
    margin-bottom: 45px !important;
  }
  .mb-50-pc {
    margin-bottom: 50px !important;
  }
  .mb-55-pc {
    margin-bottom: 55px !important;
  }
  .mb-60-pc {
    margin-bottom: 60px !important;
  }
  .mb-65-pc {
    margin-bottom: 65px !important;
  }
  .mb-70-pc {
    margin-bottom: 70px !important;
  }
  .mb-75-pc {
    margin-bottom: 75px !important;
  }
  .mb-80-pc {
    margin-bottom: 80px !important;
  }
  .mb-85-pc {
    margin-bottom: 85px !important;
  }
  .mb-90-pc {
    margin-bottom: 90px !important;
  }
  .mb-95-pc {
    margin-bottom: 95px !important;
  }
  .mb-100-pc {
    margin-bottom: 100px !important;
  }
}
.ml-0 {
  margin-left: 0px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: calc(768px - 1px)) {
  .ml-0-sp {
    margin-left: 0px !important;
  }
  .ml-5-sp {
    margin-left: 5px !important;
  }
  .ml-10-sp {
    margin-left: 10px !important;
  }
  .ml-15-sp {
    margin-left: 15px !important;
  }
  .ml-20-sp {
    margin-left: 20px !important;
  }
  .ml-25-sp {
    margin-left: 25px !important;
  }
  .ml-30-sp {
    margin-left: 30px !important;
  }
  .ml-35-sp {
    margin-left: 35px !important;
  }
  .ml-40-sp {
    margin-left: 40px !important;
  }
  .ml-45-sp {
    margin-left: 45px !important;
  }
  .ml-50-sp {
    margin-left: 50px !important;
  }
  .ml-55-sp {
    margin-left: 55px !important;
  }
  .ml-60-sp {
    margin-left: 60px !important;
  }
  .ml-65-sp {
    margin-left: 65px !important;
  }
  .ml-70-sp {
    margin-left: 70px !important;
  }
  .ml-75-sp {
    margin-left: 75px !important;
  }
  .ml-80-sp {
    margin-left: 80px !important;
  }
  .ml-85-sp {
    margin-left: 85px !important;
  }
  .ml-90-sp {
    margin-left: 90px !important;
  }
  .ml-95-sp {
    margin-left: 95px !important;
  }
  .ml-100-sp {
    margin-left: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .ml-0-pc {
    margin-left: 0px !important;
  }
  .ml-5-pc {
    margin-left: 5px !important;
  }
  .ml-10-pc {
    margin-left: 10px !important;
  }
  .ml-15-pc {
    margin-left: 15px !important;
  }
  .ml-20-pc {
    margin-left: 20px !important;
  }
  .ml-25-pc {
    margin-left: 25px !important;
  }
  .ml-30-pc {
    margin-left: 30px !important;
  }
  .ml-35-pc {
    margin-left: 35px !important;
  }
  .ml-40-pc {
    margin-left: 40px !important;
  }
  .ml-45-pc {
    margin-left: 45px !important;
  }
  .ml-50-pc {
    margin-left: 50px !important;
  }
  .ml-55-pc {
    margin-left: 55px !important;
  }
  .ml-60-pc {
    margin-left: 60px !important;
  }
  .ml-65-pc {
    margin-left: 65px !important;
  }
  .ml-70-pc {
    margin-left: 70px !important;
  }
  .ml-75-pc {
    margin-left: 75px !important;
  }
  .ml-80-pc {
    margin-left: 80px !important;
  }
  .ml-85-pc {
    margin-left: 85px !important;
  }
  .ml-90-pc {
    margin-left: 90px !important;
  }
  .ml-95-pc {
    margin-left: 95px !important;
  }
  .ml-100-pc {
    margin-left: 100px !important;
  }
}
.mr-0 {
  margin-right: 0px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mr-55 {
  margin-right: 55px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mr-65 {
  margin-right: 65px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.mr-75 {
  margin-right: 75px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.mr-85 {
  margin-right: 85px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.mr-95 {
  margin-right: 95px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

@media screen and (max-width: calc(768px - 1px)) {
  .mr-0-sp {
    margin-right: 0px !important;
  }
  .mr-5-sp {
    margin-right: 5px !important;
  }
  .mr-10-sp {
    margin-right: 10px !important;
  }
  .mr-15-sp {
    margin-right: 15px !important;
  }
  .mr-20-sp {
    margin-right: 20px !important;
  }
  .mr-25-sp {
    margin-right: 25px !important;
  }
  .mr-30-sp {
    margin-right: 30px !important;
  }
  .mr-35-sp {
    margin-right: 35px !important;
  }
  .mr-40-sp {
    margin-right: 40px !important;
  }
  .mr-45-sp {
    margin-right: 45px !important;
  }
  .mr-50-sp {
    margin-right: 50px !important;
  }
  .mr-55-sp {
    margin-right: 55px !important;
  }
  .mr-60-sp {
    margin-right: 60px !important;
  }
  .mr-65-sp {
    margin-right: 65px !important;
  }
  .mr-70-sp {
    margin-right: 70px !important;
  }
  .mr-75-sp {
    margin-right: 75px !important;
  }
  .mr-80-sp {
    margin-right: 80px !important;
  }
  .mr-85-sp {
    margin-right: 85px !important;
  }
  .mr-90-sp {
    margin-right: 90px !important;
  }
  .mr-95-sp {
    margin-right: 95px !important;
  }
  .mr-100-sp {
    margin-right: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .mr-0-pc {
    margin-right: 0px !important;
  }
  .mr-5-pc {
    margin-right: 5px !important;
  }
  .mr-10-pc {
    margin-right: 10px !important;
  }
  .mr-15-pc {
    margin-right: 15px !important;
  }
  .mr-20-pc {
    margin-right: 20px !important;
  }
  .mr-25-pc {
    margin-right: 25px !important;
  }
  .mr-30-pc {
    margin-right: 30px !important;
  }
  .mr-35-pc {
    margin-right: 35px !important;
  }
  .mr-40-pc {
    margin-right: 40px !important;
  }
  .mr-45-pc {
    margin-right: 45px !important;
  }
  .mr-50-pc {
    margin-right: 50px !important;
  }
  .mr-55-pc {
    margin-right: 55px !important;
  }
  .mr-60-pc {
    margin-right: 60px !important;
  }
  .mr-65-pc {
    margin-right: 65px !important;
  }
  .mr-70-pc {
    margin-right: 70px !important;
  }
  .mr-75-pc {
    margin-right: 75px !important;
  }
  .mr-80-pc {
    margin-right: 80px !important;
  }
  .mr-85-pc {
    margin-right: 85px !important;
  }
  .mr-90-pc {
    margin-right: 90px !important;
  }
  .mr-95-pc {
    margin-right: 95px !important;
  }
  .mr-100-pc {
    margin-right: 100px !important;
  }
}
.pt-0 {
  padding-top: 0px !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pt-55 {
  padding-top: 55px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pt-65 {
  padding-top: 65px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pt-75 {
  padding-top: 75px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pt-85 {
  padding-top: 85px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pt-95 {
  padding-top: 95px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

@media screen and (max-width: calc(768px - 1px)) {
  .pt-0-sp {
    padding-top: 0px !important;
  }
  .pt-5-sp {
    padding-top: 5px !important;
  }
  .pt-10-sp {
    padding-top: 10px !important;
  }
  .pt-15-sp {
    padding-top: 15px !important;
  }
  .pt-20-sp {
    padding-top: 20px !important;
  }
  .pt-25-sp {
    padding-top: 25px !important;
  }
  .pt-30-sp {
    padding-top: 30px !important;
  }
  .pt-35-sp {
    padding-top: 35px !important;
  }
  .pt-40-sp {
    padding-top: 40px !important;
  }
  .pt-45-sp {
    padding-top: 45px !important;
  }
  .pt-50-sp {
    padding-top: 50px !important;
  }
  .pt-55-sp {
    padding-top: 55px !important;
  }
  .pt-60-sp {
    padding-top: 60px !important;
  }
  .pt-65-sp {
    padding-top: 65px !important;
  }
  .pt-70-sp {
    padding-top: 70px !important;
  }
  .pt-75-sp {
    padding-top: 75px !important;
  }
  .pt-80-sp {
    padding-top: 80px !important;
  }
  .pt-85-sp {
    padding-top: 85px !important;
  }
  .pt-90-sp {
    padding-top: 90px !important;
  }
  .pt-95-sp {
    padding-top: 95px !important;
  }
  .pt-100-sp {
    padding-top: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .pt-0-pc {
    padding-top: 0px !important;
  }
  .pt-5-pc {
    padding-top: 5px !important;
  }
  .pt-10-pc {
    padding-top: 10px !important;
  }
  .pt-15-pc {
    padding-top: 15px !important;
  }
  .pt-20-pc {
    padding-top: 20px !important;
  }
  .pt-25-pc {
    padding-top: 25px !important;
  }
  .pt-30-pc {
    padding-top: 30px !important;
  }
  .pt-35-pc {
    padding-top: 35px !important;
  }
  .pt-40-pc {
    padding-top: 40px !important;
  }
  .pt-45-pc {
    padding-top: 45px !important;
  }
  .pt-50-pc {
    padding-top: 50px !important;
  }
  .pt-55-pc {
    padding-top: 55px !important;
  }
  .pt-60-pc {
    padding-top: 60px !important;
  }
  .pt-65-pc {
    padding-top: 65px !important;
  }
  .pt-70-pc {
    padding-top: 70px !important;
  }
  .pt-75-pc {
    padding-top: 75px !important;
  }
  .pt-80-pc {
    padding-top: 80px !important;
  }
  .pt-85-pc {
    padding-top: 85px !important;
  }
  .pt-90-pc {
    padding-top: 90px !important;
  }
  .pt-95-pc {
    padding-top: 95px !important;
  }
  .pt-100-pc {
    padding-top: 100px !important;
  }
}
.pb-0 {
  padding-bottom: 0px !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

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

.pb-35 {
  padding-bottom: 35px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pb-55 {
  padding-bottom: 55px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pb-65 {
  padding-bottom: 65px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pb-75 {
  padding-bottom: 75px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pb-85 {
  padding-bottom: 85px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pb-95 {
  padding-bottom: 95px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

@media screen and (max-width: calc(768px - 1px)) {
  .pb-0-sp {
    padding-bottom: 0px !important;
  }
  .pb-5-sp {
    padding-bottom: 5px !important;
  }
  .pb-10-sp {
    padding-bottom: 10px !important;
  }
  .pb-15-sp {
    padding-bottom: 15px !important;
  }
  .pb-20-sp {
    padding-bottom: 20px !important;
  }
  .pb-25-sp {
    padding-bottom: 25px !important;
  }
  .pb-30-sp {
    padding-bottom: 30px !important;
  }
  .pb-35-sp {
    padding-bottom: 35px !important;
  }
  .pb-40-sp {
    padding-bottom: 40px !important;
  }
  .pb-45-sp {
    padding-bottom: 45px !important;
  }
  .pb-50-sp {
    padding-bottom: 50px !important;
  }
  .pb-55-sp {
    padding-bottom: 55px !important;
  }
  .pb-60-sp {
    padding-bottom: 60px !important;
  }
  .pb-65-sp {
    padding-bottom: 65px !important;
  }
  .pb-70-sp {
    padding-bottom: 70px !important;
  }
  .pb-75-sp {
    padding-bottom: 75px !important;
  }
  .pb-80-sp {
    padding-bottom: 80px !important;
  }
  .pb-85-sp {
    padding-bottom: 85px !important;
  }
  .pb-90-sp {
    padding-bottom: 90px !important;
  }
  .pb-95-sp {
    padding-bottom: 95px !important;
  }
  .pb-100-sp {
    padding-bottom: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .pb-0-pc {
    padding-bottom: 0px !important;
  }
  .pb-5-pc {
    padding-bottom: 5px !important;
  }
  .pb-10-pc {
    padding-bottom: 10px !important;
  }
  .pb-15-pc {
    padding-bottom: 15px !important;
  }
  .pb-20-pc {
    padding-bottom: 20px !important;
  }
  .pb-25-pc {
    padding-bottom: 25px !important;
  }
  .pb-30-pc {
    padding-bottom: 30px !important;
  }
  .pb-35-pc {
    padding-bottom: 35px !important;
  }
  .pb-40-pc {
    padding-bottom: 40px !important;
  }
  .pb-45-pc {
    padding-bottom: 45px !important;
  }
  .pb-50-pc {
    padding-bottom: 50px !important;
  }
  .pb-55-pc {
    padding-bottom: 55px !important;
  }
  .pb-60-pc {
    padding-bottom: 60px !important;
  }
  .pb-65-pc {
    padding-bottom: 65px !important;
  }
  .pb-70-pc {
    padding-bottom: 70px !important;
  }
  .pb-75-pc {
    padding-bottom: 75px !important;
  }
  .pb-80-pc {
    padding-bottom: 80px !important;
  }
  .pb-85-pc {
    padding-bottom: 85px !important;
  }
  .pb-90-pc {
    padding-bottom: 90px !important;
  }
  .pb-95-pc {
    padding-bottom: 95px !important;
  }
  .pb-100-pc {
    padding-bottom: 100px !important;
  }
}
.pl-0 {
  padding-left: 0px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

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

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

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

.pl-25 {
  padding-left: 25px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.pl-55 {
  padding-left: 55px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pl-65 {
  padding-left: 65px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.pl-75 {
  padding-left: 75px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.pl-85 {
  padding-left: 85px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.pl-95 {
  padding-left: 95px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

@media screen and (max-width: calc(768px - 1px)) {
  .pl-0-sp {
    padding-left: 0px !important;
  }
  .pl-5-sp {
    padding-left: 5px !important;
  }
  .pl-10-sp {
    padding-left: 10px !important;
  }
  .pl-15-sp {
    padding-left: 15px !important;
  }
  .pl-20-sp {
    padding-left: 20px !important;
  }
  .pl-25-sp {
    padding-left: 25px !important;
  }
  .pl-30-sp {
    padding-left: 30px !important;
  }
  .pl-35-sp {
    padding-left: 35px !important;
  }
  .pl-40-sp {
    padding-left: 40px !important;
  }
  .pl-45-sp {
    padding-left: 45px !important;
  }
  .pl-50-sp {
    padding-left: 50px !important;
  }
  .pl-55-sp {
    padding-left: 55px !important;
  }
  .pl-60-sp {
    padding-left: 60px !important;
  }
  .pl-65-sp {
    padding-left: 65px !important;
  }
  .pl-70-sp {
    padding-left: 70px !important;
  }
  .pl-75-sp {
    padding-left: 75px !important;
  }
  .pl-80-sp {
    padding-left: 80px !important;
  }
  .pl-85-sp {
    padding-left: 85px !important;
  }
  .pl-90-sp {
    padding-left: 90px !important;
  }
  .pl-95-sp {
    padding-left: 95px !important;
  }
  .pl-100-sp {
    padding-left: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .pl-0-pc {
    padding-left: 0px !important;
  }
  .pl-5-pc {
    padding-left: 5px !important;
  }
  .pl-10-pc {
    padding-left: 10px !important;
  }
  .pl-15-pc {
    padding-left: 15px !important;
  }
  .pl-20-pc {
    padding-left: 20px !important;
  }
  .pl-25-pc {
    padding-left: 25px !important;
  }
  .pl-30-pc {
    padding-left: 30px !important;
  }
  .pl-35-pc {
    padding-left: 35px !important;
  }
  .pl-40-pc {
    padding-left: 40px !important;
  }
  .pl-45-pc {
    padding-left: 45px !important;
  }
  .pl-50-pc {
    padding-left: 50px !important;
  }
  .pl-55-pc {
    padding-left: 55px !important;
  }
  .pl-60-pc {
    padding-left: 60px !important;
  }
  .pl-65-pc {
    padding-left: 65px !important;
  }
  .pl-70-pc {
    padding-left: 70px !important;
  }
  .pl-75-pc {
    padding-left: 75px !important;
  }
  .pl-80-pc {
    padding-left: 80px !important;
  }
  .pl-85-pc {
    padding-left: 85px !important;
  }
  .pl-90-pc {
    padding-left: 90px !important;
  }
  .pl-95-pc {
    padding-left: 95px !important;
  }
  .pl-100-pc {
    padding-left: 100px !important;
  }
}
.pr-0 {
  padding-right: 0px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

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

.pr-25 {
  padding-right: 25px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pr-55 {
  padding-right: 55px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pr-65 {
  padding-right: 65px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pr-75 {
  padding-right: 75px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pr-85 {
  padding-right: 85px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pr-95 {
  padding-right: 95px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

@media screen and (max-width: calc(768px - 1px)) {
  .pr-0-sp {
    padding-right: 0px !important;
  }
  .pr-5-sp {
    padding-right: 5px !important;
  }
  .pr-10-sp {
    padding-right: 10px !important;
  }
  .pr-15-sp {
    padding-right: 15px !important;
  }
  .pr-20-sp {
    padding-right: 20px !important;
  }
  .pr-25-sp {
    padding-right: 25px !important;
  }
  .pr-30-sp {
    padding-right: 30px !important;
  }
  .pr-35-sp {
    padding-right: 35px !important;
  }
  .pr-40-sp {
    padding-right: 40px !important;
  }
  .pr-45-sp {
    padding-right: 45px !important;
  }
  .pr-50-sp {
    padding-right: 50px !important;
  }
  .pr-55-sp {
    padding-right: 55px !important;
  }
  .pr-60-sp {
    padding-right: 60px !important;
  }
  .pr-65-sp {
    padding-right: 65px !important;
  }
  .pr-70-sp {
    padding-right: 70px !important;
  }
  .pr-75-sp {
    padding-right: 75px !important;
  }
  .pr-80-sp {
    padding-right: 80px !important;
  }
  .pr-85-sp {
    padding-right: 85px !important;
  }
  .pr-90-sp {
    padding-right: 90px !important;
  }
  .pr-95-sp {
    padding-right: 95px !important;
  }
  .pr-100-sp {
    padding-right: 100px !important;
  }
}
@media screen and (min-width: 768px) {
  .pr-0-pc {
    padding-right: 0px !important;
  }
  .pr-5-pc {
    padding-right: 5px !important;
  }
  .pr-10-pc {
    padding-right: 10px !important;
  }
  .pr-15-pc {
    padding-right: 15px !important;
  }
  .pr-20-pc {
    padding-right: 20px !important;
  }
  .pr-25-pc {
    padding-right: 25px !important;
  }
  .pr-30-pc {
    padding-right: 30px !important;
  }
  .pr-35-pc {
    padding-right: 35px !important;
  }
  .pr-40-pc {
    padding-right: 40px !important;
  }
  .pr-45-pc {
    padding-right: 45px !important;
  }
  .pr-50-pc {
    padding-right: 50px !important;
  }
  .pr-55-pc {
    padding-right: 55px !important;
  }
  .pr-60-pc {
    padding-right: 60px !important;
  }
  .pr-65-pc {
    padding-right: 65px !important;
  }
  .pr-70-pc {
    padding-right: 70px !important;
  }
  .pr-75-pc {
    padding-right: 75px !important;
  }
  .pr-80-pc {
    padding-right: 80px !important;
  }
  .pr-85-pc {
    padding-right: 85px !important;
  }
  .pr-90-pc {
    padding-right: 90px !important;
  }
  .pr-95-pc {
    padding-right: 95px !important;
  }
  .pr-100-pc {
    padding-right: 100px !important;
  }
}
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Header layout
 */
/*** SP ***/
@media screen and (max-width: calc(768px - 1px)) {
  .site-header {
    position: sticky;
    left: 0;
    right: 0;
    top: 0;
    z-index: 20;
  }
  .site-header .site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    background-color: #FFFFFF;
    padding-left: 16px;
    padding-right: 16px;
    height: 50px;
  }
}
@media screen and (max-width: calc(768px - 1px)) and (min-width: 768px) {
  .site-header .site-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: calc(768px - 1px)) {
  .site-header .site-header__logo img {
    height: 30px;
  }
  .menu-logo {
    margin-bottom: 24px;
  }
  .menu-logo img {
    width: 180px;
  }
  .header-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .header-nav-list > li {
    position: relative;
    border-bottom: 2px dashed #FFFFFF;
  }
  .header-nav-list > li:first-child {
    border-top: 2px dashed #FFFFFF;
  }
  .header-nav-list > li > a {
    display: block;
    padding: 16px 0;
    font-size: 1.13em;
    font-weight: 500;
    color: inherit;
  }
  .header-nav-list > li .sub-menu {
    list-style: none;
    margin: 0 0 16px 24px;
    padding: 0;
  }
  .header-nav-list > li .sub-menu li a {
    padding: 8px 0;
    font-size: 1em;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
  }
  .header-nav-list > li .sub-menu li a::before {
    content: "";
    display: inline-block;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z" /></svg>');
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    width: 1em;
    height: 1em;
    background-color: currentColor;
  }
  .menu_content {
    width: 100%;
    max-width: 100%;
    background-color: #d3edfb;
    color: #f97316;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
  }
  .menu_content .menu-content__inner {
    padding: 50px 24px;
  }
}
@media screen and (max-width: calc(768px - 1px)) {
  /*** menu ***/
  #menu {
    position: relative;
    z-index: 9;
  }
  #menu .filter {
    content: "";
    display: block;
    position: fixed;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    background-color: transparent;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  #menu .menu_content {
    position: fixed;
    right: 0px;
    top: 0px;
    bottom: 0px;
    transform: translate3d(0, 0, 0);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  body.menu_active #menu {
    position: fixed;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
  }
  body.menu_active #menu .filter {
    opacity: 1;
    visibility: visible;
  }
  body.menu_active #menu .menu_content {
    position: absolute;
    transform: translate3d(0, 0, 0);
    opacity: 1;
    visibility: visible;
    overflow-y: auto;
  }
  /*メニューボタン*/
  #spnav_buttonwrap {
    display: block;
    position: fixed;
    right: 0px;
    top: 0px;
    background-color: transparent;
    z-index: 10;
  }
  #spnav_buttonwrap #spnav_button {
    border: none;
    background-color: #0065b5;
    padding: 0;
    margin: 0;
    width: 50px;
    height: 50px;
    cursor: pointer;
    position: relative;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #spnav_buttonwrap #spnav_button > span {
    position: relative;
    width: 50%;
    height: 50%;
    display: inline-block;
  }
  #spnav_buttonwrap #spnav_button > span span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    left: 0;
    transition: all 0.3s ease-in-out;
    background-color: #FFFFFF;
    border-radius: 2px;
  }
  #spnav_buttonwrap #spnav_button > span span:nth-child(1) {
    top: 14%;
  }
  #spnav_buttonwrap #spnav_button > span span:nth-child(2) {
    top: 50%;
    transform: translate3d(0, -50%, 0);
  }
  #spnav_buttonwrap #spnav_button > span span:nth-child(3) {
    bottom: 14%;
  }
  #spnav_buttonwrap.open {
    position: fixed;
  }
  #spnav_buttonwrap.open #spnav_button > span span:nth-child(1) {
    top: 50%;
    transform: rotate(137deg);
  }
  #spnav_buttonwrap.open #spnav_button > span span:nth-child(2) {
    width: 0;
  }
  #spnav_buttonwrap.open #spnav_button > span span:nth-child(3) {
    top: 50%;
    transform: rotate(-137deg);
  }
}
/*** PC ***/
@media screen and (min-width: 768px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    transition: background-color 0.3s ease;
  }
  .site-header.show {
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
  }
  .site-header .site-header__inner {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 20px 40px;
    min-height: 60px;
    background-color: #FFFFFF;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .site-header .site-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (min-width: 768px) {
  .site-header .site-header__logo img {
    height: 50px;
  }
  .site-header .header-button-wrapper {
    margin-left: auto;
  }
  .menu-logo,
  #spnav_buttonwrap,
  .menu-close,
  .menu-open {
    display: none;
  }
  .header-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 24px;
    justify-content: flex-end;
  }
  .header-nav-list > li {
    position: relative;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .header-nav-list > li:hover .sub-menu {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 768px) {
  .header-nav-list > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875em;
    color: inherit;
    padding: 8px 0;
    transition: color 0.3s ease;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .header-nav-list > li > a:hover {
    color: #2563eb;
  }
}
@media screen and (min-width: 768px) {
  .header-nav-list > li .sub-menu {
    list-style: none;
    margin: 0;
    padding: 24px;
    background-color: #f97316;
    color: #FFFFFF;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    flex-direction: column;
    width: 300px;
    gap: 8px;
  }
  .header-nav-list > li .sub-menu::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #f97316 transparent;
  }
  .header-nav-list > li .sub-menu li a {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    font-size: 0.875em;
    color: #FFFFFF;
    transition: color 0.3s ease;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .header-nav-list > li .sub-menu li a:hover {
    color: #2563eb;
  }
}
@media screen and (min-width: 768px) {
  .header-nav-list > li .sub-menu li a::before {
    content: "";
    display: inline-block;
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z" /></svg>');
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    width: 1em;
    height: 1em;
    background-color: currentColor;
  }
}
@media screen and (max-width: 1400px) and (min-width: 1200px) {
  .site-header .site-header__inner {
    padding-left: 2.8571428571vw;
    padding-right: 2.8571428571vw;
  }
  .site-header .site-header__logo img {
    height: 3.5714285714vw;
  }
  .header-nav-list {
    gap: 0 1.7142857143vw;
  }
  .header-nav-list > li > a {
    font-size: 1vw;
  }
  .header-nav-list .sub-menu {
    width: 21.4285714286vw;
  }
  .header-nav-list .sub-menu li a {
    font-size: 1vw;
  }
}
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Footer layout
 */
.site-footer {
  background-color: #0f172a;
  color: #94a3b8;
}
.site-footer .footer-main {
  padding: 0 0 16px 0;
  text-align: center;
}
.site-footer .footer-main .nav-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
.site-footer .footer-main .nav-menu a {
  font-size: 0.875em;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .site-footer .footer-main .nav-menu a:hover {
    color: #2563eb;
  }
}
.site-footer .footer-main .nav-menu .sub-menu {
  margin: 0 0 0 8px;
  padding: 0;
  list-style: none;
}
.site-footer .footer-main .nav-menu .sub-menu li {
  font-size: 0.875em;
  margin-top: 8px;
}
.site-footer .footer-main .nav-menu .sub-menu li a {
  display: flex;
  align-items: center;
  gap: 8px;
}
.site-footer .footer-main .nav-menu .sub-menu li a::before {
  content: "";
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}
.site-footer .footer-main .footer-logo {
  margin-top: 0;
}
.site-footer .footer-main .footer-logo .footer-logo-title {
  color: #FFFFFF;
  font-size: 1.5em;
  font-weight: 700;
  margin: 0 0 1em;
}
.site-footer .footer-main .address {
  font-size: 0.875em;
}
.site-footer .footer-main .access {
  margin: 24px 0;
}
@media screen and (min-width: 768px) {
  .site-footer .footer-main .access {
    margin: 32px 0;
  }
}
.site-footer .footer-main .access .map-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 0.875em;
  line-height: 1.5;
  color: inherit;
  text-decoration: none;
  background-color: #FFFFFF;
  border: 1px solid #f97316;
  border-radius: 8px;
  padding: 8px 24px;
  width: 240px;
  max-width: 100%;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .site-footer .footer-main .access .map-btn:hover {
    background-color: #f97316;
    color: #FFFFFF;
  }
}
.site-footer .footer-main .contact-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .site-footer .footer-main .contact-links {
    gap: 32px;
  }
}
.site-footer .footer-main .contact-links .contact-link .contact-link-title {
  display: block;
  font-size: 0.875em;
  margin-bottom: 8px;
}
.site-footer .footer-main .contact-links .contact-link .contact-link-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.375em;
  line-height: 1.2;
  color: #FFFFFF;
  text-decoration: none;
  background-color: #727171;
  padding: 16px 24px;
  width: 340px;
  max-width: 100%;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .site-footer .footer-main .contact-links .contact-link .contact-link-btn {
    font-size: 1.5em;
    padding: 16px 24px;
  }
}
@media (hover: hover) {
  .site-footer .footer-main .contact-links .contact-link .contact-link-btn:hover {
    background-color: #f97316;
  }
}
.site-footer .footer-bottom {
  padding: 16px 0 0 0;
  border-top: 1px solid #1e293b;
}

.copyright {
  font-size: 0.75em;
  text-align: center;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Main content area
 */
#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#wrapper > header {
  flex: 0 0 auto;
}
#wrapper > main {
  flex: 1 0 auto;
  position: relative;
}
#wrapper > footer {
  flex: 0 0 auto;
}

.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media screen and (min-width: 768px) {
  .container {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.section {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.bg-section {
  background-color: #f8fafc;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Utility classes
 */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  overflow: hidden;
  position: absolute;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  clip: auto;
  clip-path: none;
  height: auto;
  width: auto;
  padding: 0.5em 1em;
  background: #FFFFFF;
  border: 1px solid #9e9e9e;
  z-index: 100000;
}

.alignleft {
  float: left;
  margin-right: 1em;
  margin-bottom: 0.5em;
}

.alignright {
  float: right;
  margin-left: 1em;
  margin-bottom: 0.5em;
}

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

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.youtube-video {
  position: relative;
  padding-top: 56.25%;
}

.youtube-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Animation
 */
.hover-opacity {
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .hover-opacity:hover {
    opacity: 0.8;
  }
}

.hover-scale {
  overflow: hidden;
  display: block;
}
.hover-scale img {
  transition: transform 0.3s ease;
}
@media (hover: hover) {
  .hover-scale:hover img {
    transform: scale(1.05);
  }
}

.hover-border {
  display: block;
  border: 3px solid #9e9e9e;
  transition: border-color 0.3s ease;
}
@media screen and (min-width: 768px) {
  .hover-border {
    border-width: 4px;
  }
}
@media (hover: hover) {
  .hover-border:hover {
    border-color: #d3edfb;
  }
}

.hover-shadow {
  transition: box-shadow 0.3s ease;
}
@media (hover: hover) {
  .hover-shadow:hover {
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.05);
  }
}

.hover-filter {
  transition: filter 0.3s ease;
}
@media (hover: hover) {
  .hover-filter:hover {
    filter: brightness(0.9);
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * item (post / page content)
 */
.item-header {
  margin: 16px 0 0;
}

.item-title {
  margin: 0 0 16px;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .item-title {
    font-size: 1.13em;
  }
}

.item-categories {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.item-categories li {
  font-size: 0.75em;
  line-height: 1.2;
  border: 1px solid #9e9e9e;
  padding: 4px 8px;
  border-radius: 4px;
}

.item-meta {
  font-size: 0.875em;
}

.item-summary {
  font-size: 0.875em;
}

.item-footer {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #9e9e9e;
  font-size: 0.875em;
  color: #FFFFFF;
}

.item-thumbnail {
  display: block;
  overflow: hidden;
}
/* Read more */
.read-more-container {
  margin-top: 16px;
  text-align: right;
}
.read-more-container .read-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.read-more-container .read-more .read-more-icon {
  line-height: 1;
  transition: transform 0.3s ease;
}

@media (hover: hover) {
  a:hover .read-more-icon {
    transform: translate3d(4px, 0, 0);
  }
}
/* Post list */
.posts-list,
.entries {
  list-style: none;
  margin: 0;
  padding: 0;
}
.posts-list .item,
.entries .item {
  padding: 0;
  margin: 0;
}
.posts-list .item a,
.entries .item a {
  color: inherit;
  text-decoration: none;
}
@media (hover: hover) {
  .posts-list .item a,
  .entries .item a {
    transition: all 0.3s ease;
  }
  .posts-list .item a:hover,
  .entries .item a:hover {
    cursor: pointer;
    color: inherit;
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Navigation
 */
.main-navigation {
  width: 100%;
}

.main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.main-navigation a {
  display: block;
  padding: 16px 16px;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  color: #231815;
}

.main-navigation a:hover,
.main-navigation .current-menu-item a {
  color: inherit;
}

/* Sub menu */
.main-navigation ul ul {
  display: none;
  flex-direction: column;
}

.main-navigation li:hover > ul,
.main-navigation li.focus > ul {
  display: flex;
}

.main-navigation ul ul a {
  padding-left: 32px;
}

/* Mobile menu toggle */
.menu-toggle {
  display: none;
}

@media screen and (max-width: calc(768px - 1px)) {
  .menu-toggle {
    display: block;
    padding: 16px 24px;
    margin: 0 16px 16px 0;
  }
  .main-navigation ul {
    display: none;
    flex-direction: column;
  }
  .main-navigation ul.toggled {
    display: flex;
  }
}
/* Pagination */
.pagination,
.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 32px 0;
  justify-content: center;
}

.pagination a,
.pagination span,
.nav-links a,
.nav-links span {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #9e9e9e;
  border-radius: 2px;
  font-size: 0.875em;
}

.pagination .current,
.nav-links .current {
  background-color: #f8fafc;
}

.pagination a:hover,
.nav-links a:hover {
  border-color: inherit;
  color: inherit;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Widgets
 */
.widget {
  margin-bottom: 32px;
}
.widget .widget-title {
  margin: 0;
  font-size: 1.13em;
  font-weight: 600;
  padding: 8px 0;
  border-bottom: 1px solid #9e9e9e;
}
.widget > ul > li {
  border-bottom: 1px dashed #9e9e9e;
  font-size: 1em;
  letter-spacing: 0.02em;
}
.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.widget ul li {
  padding: 8px 16px;
}
.widget ul li a:hover {
  color: #2563eb;
}
.widget ul li .posted-on {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-size: 0.875em;
}
.widget ul li .title {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1em;
}

/* tagcloud */
.tagcloud {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.tagcloud a {
  display: inline-block;
  font-size: 0.75em;
  line-height: 1.2;
  padding: 4px 8px;
  background-color: #ededed;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.tagcloud a:hover {
  background-color: #2563eb;
  color: #FFFFFF;
}

.archive-year .archive-year-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  cursor: pointer;
  border: none;
  background-color: transparent;
  outline: none;
  padding: 0;
  margin: 0;
  font: inherit;
}
.archive-year .archive-year-toggle .toggle-icon {
  display: inline-block;
  line-height: 0;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .archive-year .archive-year-toggle:hover {
    color: #2563eb;
  }
}
.archive-year.is-open .archive-year-toggle .toggle-icon {
  transform: rotate(180deg);
}
.archive-year .archive-months li a {
  display: block;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Buttons
 */
@media (hover: hover) {
  input[type=submit]:hover,
  input[type=button]:hover,
  button:hover {
    cursor: pointer;
  }
}

.button,
.btn,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 32px;
  font-size: 0.875em;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-align: center;
  background-color: #FFFFFF;
  color: #f97316;
  text-decoration: none !important;
  border: 1px solid #f97316;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 260px;
  max-width: 100%;
  height: 46px;
  position: relative;
}
@media (hover: hover) {
  .button:hover,
  .btn:hover,
  .wp-block-button__link:hover {
    background-color: #f97316;
    color: #FFFFFF !important;
  }
}
.button .btn-icon-right,
.btn .btn-icon-right,
.wp-block-button__link .btn-icon-right {
  display: inline-block;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  line-height: 0;
}

.icon-instagram {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23000" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-twitter {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1220 1227"><path fill="%23000" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-youtube {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="%23000" d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-facebook {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="%23000" d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-tiktok {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23000" d="M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-arrow-top-right {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path fill="%23000" d="M160.933-750l-.933-.933,7.733-7.733h-4.4V-760H170v6.667h-1.333v-4.4Z" transform="translate(-160 760)" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-arrow-bottom-right {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23000" d="M384 320h102.059l-225.07-225.07c-9.373-9.373-24.568-9.373-33.941 0l-225.07 225.07V320H96v128H0V114.667L256 256 0 397.333V512h96v-128h128v128h96V320z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-arrow-right {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23000" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-arrow-right-long-solid-full {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M598.6 342.6C611.1 330.1 611.1 309.8 598.6 297.3L470.6 169.3C458.1 156.8 437.8 156.8 425.3 169.3C412.8 181.8 412.8 202.1 425.3 214.6L498.7 288L64 288C46.3 288 32 302.3 32 320C32 337.7 46.3 352 64 352L498.7 352L425.3 425.4C412.8 437.9 412.8 458.2 425.3 470.7C437.8 483.2 458.1 483.2 470.6 470.7L598.6 342.7z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-arrow-left {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 447.975 384.15"><path fill="%23000" d="M9.375,278.6a32.049,32.049,0,0,1,0-45.3l160-160a32.032,32.032,0,0,1,45.3,45.3L109.175,224h306.8a32,32,0,1,1,0,64h-306.7l105.3,105.4a32.032,32.032,0,0,1-45.3,45.3l-160-160Z" transform="translate(0 -63.925)" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-angle-right {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  line-height: 1;
  vertical-align: middle;
}

.icon-angle-left {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M200.9 297.4C188.4 309.9 188.4 330.2 200.9 342.7L360.9 502.7C373.4 515.2 393.7 515.2 406.2 502.7C418.7 490.2 418.7 469.9 406.2 457.4L268.8 320L406.1 182.6C418.6 170.1 418.6 149.8 406.1 137.3C393.6 124.8 373.3 124.8 360.8 137.3L200.8 297.3z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  line-height: 1;
  vertical-align: middle;
}

.icon-angle-down {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M297.4 438.6C309.9 451.1 330.2 451.1 342.7 438.6L502.7 278.6C515.2 266.1 515.2 245.8 502.7 233.3C490.2 220.8 469.9 220.8 457.4 233.3L320 370.7L182.6 233.4C170.1 220.9 149.8 220.9 137.3 233.4C124.8 245.9 124.8 266.2 137.3 278.7L297.3 438.7z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  line-height: 1;
  vertical-align: middle;
}

.icon-angle-up {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23000" d="M297.4 201.4C309.9 188.9 330.2 188.9 342.7 201.4L502.7 361.4C515.2 373.9 515.2 394.2 502.7 406.7C490.2 419.2 469.9 419.2 457.4 406.7L320 269.3L182.6 406.6C170.1 419.1 149.8 419.1 137.3 406.6C124.8 394.1 124.8 373.8 137.3 361.3L297.3 201.3z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  line-height: 1;
  vertical-align: middle;
}

.icon-search {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23000" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-circle-caret-right {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="%23000" d="m10 0c-5.523 0-10 4.477-10 10s4.477 10 10 10 10-4.477 10-10-4.477-10-10-10zm-2.579 15.677v-11.354l8.2 5.677z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Sidebar layout
 */
.sidebar {
  padding: 24px 0;
}

@media screen and (min-width: 768px) {
  .has-sidebar {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 48px;
    align-items: start;
  }
}
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/* ページタイトル */
.mv .mv__inner .mv-content {
  padding: 24px 0;
}
@media screen and (min-width: 768px) {
  .mv .mv__inner .mv-content {
    padding: 32px 0;
  }
}
.mv .mv__inner .mv-content .mv-title-wrap .mv-title .mv-title-main {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 16px;
}
@media screen and (min-width: 768px) {
  .mv .mv__inner .mv-content .mv-title-wrap .mv-title .mv-title-main {
    font-size: 2rem;
    margin-bottom: 16px;
  }
}
.mv .mv__inner .mv-content .mv-title-wrap .mv-title .mv-title-sub {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .mv .mv__inner .mv-content .mv-title-wrap .mv-title .mv-title-sub {
    font-size: 1rem;
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/* パンくずリスト */
.crumb .crumb-inner ol, .crumb .crumb-inner ul {
  padding: 0.3rem 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .crumb .crumb-inner ol, .crumb .crumb-inner ul {
    padding: 0.5rem 0;
  }
}
.crumb .crumb-inner ol li, .crumb .crumb-inner ul li {
  display: inline;
  font-size: 0.75em;
}
.crumb .crumb-inner ol li:not(:last-child)::after, .crumb .crumb-inner ul li:not(:last-child)::after {
  content: "/";
  display: inline;
}
.crumb .crumb-inner ol li a, .crumb .crumb-inner ul li a {
  color: #2563eb;
  font-weight: 500;
  text-decoration: none;
}
@media (hover: hover) {
  .crumb .crumb-inner ol li a, .crumb .crumb-inner ul li a {
    transition: color 0.3s ease;
  }
  .crumb .crumb-inner ol li a:hover, .crumb .crumb-inner ul li a:hover {
    cursor: pointer;
    color: inherit;
  }
}
.crumb .crumb-inner ol li span, .crumb .crumb-inner ul li span {
  opacity: 0.8;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Comments
 */
#comment-area .comment-title {
  font-size: 1.25em;
  font-weight: 500;
  margin: 0 0 16px;
}
#comment-area .comments-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  #comment-area .comments-list {
    gap: 24px;
  }
}
#comment-area .comments-list .comment {
  border: 1px solid #9e9e9e;
  border-radius: 4px;
  padding: 16px;
}
@media screen and (min-width: 768px) {
  #comment-area .comments-list .comment {
    padding: 24px;
  }
}
#comment-area .comments-list .comment .comment-body .comment-meta {
  overflow: hidden;
}
#comment-area .comments-list .comment .comment-body .comment-meta .comment-author img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  float: left;
  margin-right: 8px;
}
#comment-area .comments-list .comment .comment-body .comment-meta .comment-author .fn {
  font-weight: 500;
}
#comment-area .comments-list .comment .comment-body .comment-meta .comment-author .says {
  display: none;
}
#comment-area .comments-list .comment .comment-body .comment-meta .comment-metadata {
  font-size: 0.875em;
}
#comment-area .comments-list .comment .comment-body .comment-meta .comment-metadata .edit-link {
  margin-left: 8px;
}
#comment-area .comments-list .comment .comment-body .comment-meta .comment-metadata .edit-link .comment-edit-link {
  display: inline-flex;
  align-items: center;
  font-size: 0.9em;
  font-weight: 500;
  line-height: 1;
  border: 1px solid #9e9e9e;
  padding: 4px 8px;
  border-radius: 4px;
  text-decoration: none;
  color: #FFFFFF;
}
@media (hover: hover) {
  #comment-area .comments-list .comment .comment-body .comment-meta .comment-metadata .edit-link .comment-edit-link {
    transition: opacity 0.3s ease;
  }
  #comment-area .comments-list .comment .comment-body .comment-meta .comment-metadata .edit-link .comment-edit-link:hover {
    opacity: 0.8;
  }
}
#comment-area .comments-list .comment .comment-body .comment-content {
  border: 1px solid #9e9e9e;
  border-radius: 4px;
  padding: 16px;
  background-color: #FFFFFF;
  margin-top: 16px;
  font-size: 0.875em;
}
#comment-area .comments-list .comment .comment-body .comment-content p {
  margin: 0;
}
#comment-area .comments-list .comment .comment-body .reply {
  margin-top: 4px;
  text-align: right;
  margin-bottom: 0;
}
#comment-area .comments-list .comment .comment-body .reply .comment-reply-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #f8fafc;
  color: inherit;
  padding: 4px 8px;
  border: 1px solid #9e9e9e;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.75em;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media (hover: hover) {
  #comment-area .comments-list .comment .comment-body .reply .comment-reply-link {
    transition: all 0.3s ease;
  }
  #comment-area .comments-list .comment .comment-body .reply .comment-reply-link:hover {
    background-color: #000000;
    color: #FFFFFF;
  }
}
#comment-area .comments-list .comment .children {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  #comment-area .comments-list .comment .children {
    margin: 24px 0 0;
  }
}
#comment-area .comment-respond {
  background-color: #f8fafc;
  padding: 16px;
  border-radius: 4px;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  #comment-area .comment-respond {
    padding: 24px;
    margin-top: 16px;
  }
}
#comment-area .comment-respond .comment-reply-title {
  font-size: 1.25em;
  font-weight: 500;
  margin: 0 0 16px;
}
#comment-area .comment-respond .comment-form .required-field-message {
  display: block;
  font-size: 0.875em;
}
#comment-area .comment-respond .comment-form .required-field-message a {
  color: #2563eb;
  text-decoration: none;
}
@media (hover: hover) {
  #comment-area .comment-respond .comment-form .required-field-message a {
    transition: color 0.3s ease;
  }
  #comment-area .comment-respond .comment-form .required-field-message a:hover {
    color: inherit;
  }
}
#comment-area .comment-respond .comment-form .comment-form-comment label,
#comment-area .comment-respond .comment-form .comment-form-author label,
#comment-area .comment-respond .comment-form .comment-form-email label,
#comment-area .comment-respond .comment-form .comment-form-url label {
  display: block;
  font-size: 0.875em;
  font-weight: 500;
  margin-bottom: 4px;
}
#comment-area .comment-respond .comment-form .form-submit input[type=submit] {
  background-color: #FFFFFF;
  color: #FFFFFF;
  border: none;
  padding: 8px 16px;
  border: 1px solid #9e9e9e;
  border-radius: 4px;
  font-size: 0.875em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  cursor: pointer;
}
@media (hover: hover) {
  #comment-area .comment-respond .comment-form .form-submit input[type=submit] {
    transition: background-color 0.3s ease, color 0.3s ease;
  }
  #comment-area .comment-respond .comment-form .form-submit input[type=submit]:hover {
    background-color: #000000;
    color: #FFFFFF;
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Form
 */
input[type=text],
input[type=number],
input[type=tel],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=url],
select,
textarea {
  width: 100%;
  padding: 8px 16px;
  background-color: #FFFFFF;
  border: 1px solid #9e9e9e;
  border-radius: 4px;
  font: inherit;
  line-height: 1.5;
  outline: none;
}
input[type=text]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
  outline: #2563eb auto 1px;
}
input[type=text]:-webkit-autofill,
input[type=number]:-webkit-autofill,
input[type=tel]:-webkit-autofill,
input[type=email]:-webkit-autofill,
input[type=url]:-webkit-autofill,
input[type=password]:-webkit-autofill,
input[type=search]:-webkit-autofill,
input[type=url]:-webkit-autofill,
select:-webkit-autofill,
textarea:-webkit-autofill {
  box-shadow: 0 0 0px 100px #FFFFFF inset;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23000" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z" /></svg>');
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 1em 1em;
  padding-right: 2.5em !important;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Editor Styles
 */
.alignfull {
  max-width: none;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.page-content,
.entry-content {
  line-height: 2;
}
.page-content a,
.entry-content a {
  color: #f97316;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: all 0.3s ease;
}
.page-content a:hover,
.entry-content a:hover {
  text-decoration: none;
}

/* wordpress block editor */
h2.wp-block-heading {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 2em 0 1em;
}
@media screen and (min-width: 768px) {
  h2.wp-block-heading {
    font-size: 1.875rem;
  }
}

h3.wp-block-heading {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 1em 0 0.5em;
}

p.wp-block-paragraph {
  margin: 1em 0;
}

table.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
}

ul.wp-block-list {
  list-style: disc;
  margin: 1em 0 0 2em;
}

ol.wp-block-list {
  list-style: decimal;
  margin: 1em 0 1em 2em;
}

dl.wp-block-list {
  margin: 1em 0 1em 2em;
}

blockquote.wp-block-quote {
  margin-left: 1em;
  border-left: 4px solid #f97316;
  padding-left: 1em;
}

figure.wp-block-image {
  margin: 1em 0;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * フロントページ（ヒーロー + セクション）
 */
/* アコーディオンのアニメーション */
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.faq-content.open {
  max-height: 500px; /* 十分な高さ */
  transition: max-height 0.3s ease-in;
}

/* 背景アニメーション */
@keyframes blob {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  33% {
    transform: translate(30px, -50px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
  100% {
    transform: translate(0px, 0px) scale(1);
  }
}
.animate-blob {
  animation: blob 7s infinite;
}

.animation-delay-2000 {
  animation-delay: 2s;
}

/*** 企業情報 ***/
.company-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #dfdfdf;
}

.company-table td {
  border: 1px solid #dfdfdf;
  padding: 10px 20px;
}

.company-table th {
  border: 1px solid #dfdfdf;
  padding: 10px 20px;
  background-color: #f8fafc;
}

@media (max-width: 768px) {
  .table-sp-block,
  .table-sp-block tobdy,
  .table-sp-block tr,
  .table-sp-block th,
  .table-sp-block td {
    display: block;
    width: 100%;
  }
  .profile-table th {
    padding-bottom: 0;
    font-weight: bold;
  }
}
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Search
 */
/* Search form */
.search-form-wrapper {
  max-width: 480px;
}

.search-form {
  display: flex;
  position: relative;
}
.search-form .search-field {
  flex: 1;
  padding-right: 3em !important;
}
.search-form .search-submit {
  display: inline-flex;
  align-items: center;
  border: none;
  padding: 0 1em;
  font-size: 1em;
  background: transparent;
  border: none;
  outline: none;
  position: absolute;
  right: 1px;
  top: 1px;
  bottom: 1px;
}
.search-form .search-submit > * {
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .search-form .search-submit:hover > * {
    transform: scale(1.2);
  }
}

/* Search list */
.search-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.search-list .item-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  padding: 16px;
  background-color: #FFFFFF;
  transition: background-color 0.3s ease;
}
.search-list .item-inner .item-thumbnail {
  width: 60px;
  height: 60px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .search-list .item-inner .item-thumbnail {
    width: 80px;
    height: 80px;
  }
}
.search-list .item-inner .item-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.search-list .item-inner .item-content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .search-list .item-inner .item-content {
    display: block;
  }
}
.search-list .item-inner .item-content .item-header {
  margin: 0;
  flex: 1;
}
.search-list .item-inner .item-content .item-header .item-header-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-bottom: 8px;
}
.search-list .item-inner .item-content .item-header .item-categories {
  margin: 0;
}
.search-list .item-inner .item-content .item-header .item-categories li {
  font-size: 0.75em;
  border: none;
  padding: 0;
}
.search-list .item-inner .item-content .item-header .item-categories li:not(:last-child)::after {
  content: "/";
  display: inline-block;
  padding: 0 4px;
}
.search-list .item-inner .item-content .item-header .item-title {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.875em;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .search-list .item-inner .item-content .item-header .item-title {
    flex-direction: row;
    font-size: 1em;
  }
}
.search-list .item-inner .item-content .item-header .post-type-label {
  font-size: 0.825em;
  line-height: 1.8;
  background-color: #f8fafc;
  padding: 0 8px;
  border: 1px solid #9e9e9e;
  border-radius: 4px;
}
.search-list .item-inner .item-content .item-meta {
  font-size: 0.75em;
  color: #FFFFFF;
}
.search-list .item-inner .item-content .item-summary {
  width: 100%;
  font-size: 0.75em;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .search-list .item-inner .item-content .item-summary {
    font-size: 0.875em;
  }
}
.search-list .item-inner .item-content .item-summary p {
  margin: 0;
}
@media (hover: hover) {
  .search-list .item-inner:hover {
    background-color: #f8fafc;
  }
  .search-list .item-inner:hover .item-thumbnail img {
    transform: scale(1.1);
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Contact
 */
/* Contact form */
.form-progress-tracker {
  display: flex;
  justify-content: center;
  list-style-type: none;
  width: 600px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}
.form-progress-tracker li {
  flex: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.form-progress-tracker li::before {
  content: "";
  display: block;
  height: 0.2em;
  position: absolute;
  left: 0;
  right: 50%;
  top: 1em;
  background-color: #c1c1c1;
}
.form-progress-tracker li::after {
  content: "";
  display: block;
  height: 0.2em;
  position: absolute;
  left: 50%;
  right: 0;
  top: 1em;
  background-color: #c1c1c1;
}
.form-progress-tracker li .form-progress-tracker__item__number {
  align-items: center;
  background-color: #c1c1c1;
  border-radius: 100%;
  color: #fff;
  display: flex;
  font-size: 1.13em;
  font-weight: bold;
  width: 2em;
  height: 2em;
  justify-content: center;
  letter-spacing: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.form-progress-tracker li .form-progress-tracker__item__text {
  font-size: 0.88em;
  color: inherit;
  margin-top: 0.5em;
}
.form-progress-tracker li.form-progress-tracker__item--complete:after, .form-progress-tracker li.form-progress-tracker__item--input:before {
  display: none;
}

[data-screen=back] .form-progress-tracker__item--input .form-progress-tracker__item__number,
[data-screen=complete] .form-progress-tracker__item--complete .form-progress-tracker__item__number,
[data-screen=confirm] .form-progress-tracker__item--confirm .form-progress-tracker__item__number,
[data-screen=input] .form-progress-tracker__item--input .form-progress-tracker__item__number,
[data-screen=invalid] .form-progress-tracker__item--input .form-progress-tracker__item__number {
  background-color: #2563eb;
}

[data-screen=confirm] .label-badge {
  display: none;
}

/*** form ***/
.form-container {
  width: 900px;
  max-width: 100%;
  margin: 0 auto;
}
.form-container .form-group-wrap .form-group {
  border-bottom: 1px solid #dadada;
  margin: 0;
  padding: 0.5rem;
  display: flex;
  gap: 3rem;
  padding: 2rem;
}
@media screen and (max-width: calc(768px - 1px)) {
  .form-container .form-group-wrap .form-group {
    flex-direction: column;
    gap: 2rem;
    padding: 2rem 0;
  }
}
.form-container .form-group-wrap .form-group:first-child {
  border-top: 1px solid #dadada;
}
.form-container .form-group-wrap .form-group .form-label {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.3;
  display: flex;
  gap: 1rem;
  position: relative;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .form-container .form-group-wrap .form-group .form-label {
    width: 15em;
  }
}
.form-container .form-group-wrap .form-group .form-label .label-badge {
  display: inline-block;
  font-size: 0.75em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  color: #FFFFFF;
  background-color: #1f1f1f;
  padding: 0.5em;
  position: absolute;
  right: 0px;
  top: 0;
}
.form-container .form-group-wrap .form-group .form-label .label-badge.required {
  background-color: #1f1f1f;
}
.form-container .form-group-wrap .form-group .form-label .label-badge.any {
  background-color: #c1c1c1;
}
.form-container .form-group-wrap .form-group .form-item {
  flex: 1;
  margin: 0;
  padding: 0;
}
.form-container .form-group-wrap .form-group .form-item textarea {
  height: 10em;
}
.form-container .form-group-wrap .form-group .form-item .form-text-zip {
  width: 8em;
}
.form-container .form-group-wrap .form-group .form-item .form-item-text {
  margin: 0.5em 0;
  font-size: 0.875em;
}
.form-container .form-group-wrap .form-group .form-item .form-item-text:first-child {
  margin-top: 0;
}
.form-container .form-group-wrap .form-group .form-item .form-item-text:last-child {
  margin-bottom: 0;
}
.form-container .form-group-wrap .form-group .notes {
  font-size: 80%;
  line-height: 1.5;
  color: #666666;
  margin: 0px;
}
.form-container {
  /* セレクトボックス */
}
.form-container select:invalid,
.form-container select.is-empty,
.form-container ::placeholder {
  color: #AAAAAA;
}

.file-control {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
  position: relative;
  width: 100%;
  border: 2px dashed #dadada;
  padding: 1.5rem;
}
.file-control > label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
  outline: none;
  position: relative;
}
.file-control .file-control__control {
  display: none;
}
.file-control .file-control__label {
  font-size: 0.88em;
  padding: 0.5em 1em;
  background: rgb(238, 238, 238);
  background: linear-gradient(0deg, rgb(238, 238, 238) 0%, rgb(255, 255, 255) 100%);
  border: 1px solid #cccccc;
  border-radius: 0.25em;
}
@media (hover: hover) {
  .file-control .file-control__label {
    transition: opacity 0.3s ease-in-out;
  }
  .file-control .file-control__label:hover {
    cursor: pointer;
    opacity: 0.8;
  }
}
.file-control .file-control__filename {
  font-size: 0.88em;
}
.file-control .file-control__clear {
  display: none;
  align-items: center;
  gap: 0.2em;
  font-size: 0.88em;
  font-weight: 500;
}
@media (hover: hover) {
  .file-control .file-control__clear {
    transition: opacity 0.3s ease-in-out;
  }
  .file-control .file-control__clear:hover {
    cursor: pointer;
    opacity: 0.8;
  }
}
.file-control .file-control__clear::before {
  content: "";
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="%23000" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}
.file-control .file-control__filename--no-file {
  display: inline-block;
}
.file-control .file-control__filename--has-file {
  display: none;
}
.file-control.file-control--set .file-control__clear {
  display: inline-flex;
}
.file-control.file-control--set .file-control__filename--no-file {
  display: none;
}
.file-control.file-control--set .file-control__filename--has-file {
  display: inline-block;
}
.file-control + .file-control {
  margin-top: 2rem;
}

.file-control-group {
  margin-top: 2rem;
  position: relative;
}
.file-control-group .remove-file-group {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate3d(50%, -50%, 0);
  border: none;
  font-size: 2.5rem;
  color: #737373;
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23000" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

#add-file-button {
  font-size: 0.75em;
  padding: 0.25em 1em;
  background: #2563eb;
  border: 1px solid #2563eb;
  border-radius: 0.25em;
  margin-top: 2rem;
  color: #FFF;
}
@media (hover: hover) {
  #add-file-button {
    transition: opacity 0.3s ease-in-out;
  }
  #add-file-button:hover {
    cursor: pointer;
    opacity: 0.8;
  }
}

.error-msg {
  display: block;
  color: #c21818;
  font-size: 0.9em;
  margin-top: 0.5em;
}

/*** 条件分岐 ***/
.form-group.branch {
  display: none;
}

.form-group.branch.active {
  display: flex;
}

/* カレンダー */
input.datepicker,
input.month-year-input {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 30"><path fill="%23000" d="M13.5,16.5h-3v3h3Zm6,0h-3v3h3Zm6,0h-3v3h3ZM28.5,6H27V3H24V6H12V3H9V6H7.5A2.986,2.986,0,0,0,4.515,9L4.5,30a3,3,0,0,0,3,3h21a3.009,3.009,0,0,0,3-3V9A3.009,3.009,0,0,0,28.5,6Zm0,24H7.5V13.5h21" transform="translate(-4.5 -3)" /></svg>');
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 18px 20px;
}

/* form-text */
/* チェックボックス・ラジオボタン */
.form-checkbox-group,
.form-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.form-checkbox-group.vertical,
.form-radio-group.vertical {
  flex-direction: column;
  gap: 1rem;
}

.form-checkbox-field,
.form-radio-field {
  display: block;
  cursor: pointer;
}
.form-checkbox-field input[type=checkbox],
.form-checkbox-field input[type=radio],
.form-radio-field input[type=checkbox],
.form-radio-field input[type=radio] {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  border: 0;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}
.form-checkbox-field .form-checkbox-field-text,
.form-checkbox-field .form-radio-field-text,
.form-radio-field .form-checkbox-field-text,
.form-radio-field .form-radio-field-text {
  padding-left: 2em;
  box-sizing: border-box;
  width: auto;
  line-height: 1.5;
  position: relative;
}
.form-checkbox-field .form-checkbox-field-text::before,
.form-radio-field .form-checkbox-field-text::before {
  content: "";
  display: block;
  background-color: #FFFFFF;
  border: 1px solid #9e9e9e;
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  left: 0;
  top: 0;
  transition: border 0.3s ease-in-out;
}
.form-checkbox-field .form-checkbox-field-text::after,
.form-radio-field .form-checkbox-field-text::after {
  content: "";
  display: block;
  border-right: 0.2em solid #2563eb;
  border-bottom: 0.2em solid #2563eb;
  width: 0.5em;
  height: 1em;
  left: 0.5em;
  position: absolute;
  top: 0.2em;
  transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1);
  opacity: 0;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.form-checkbox-field input[type=checkbox]:checked + .form-checkbox-field-text::before,
.form-radio-field input[type=checkbox]:checked + .form-checkbox-field-text::before {
  background: #FFFFFF;
  border-color: #2563eb;
}
.form-checkbox-field input[type=checkbox]:checked + .form-checkbox-field-text::after,
.form-radio-field input[type=checkbox]:checked + .form-checkbox-field-text::after {
  opacity: 1;
  transform: rotate(45deg) scale3d(1, 1, 1);
}
.form-checkbox-field .form-radio-field-text::before,
.form-radio-field .form-radio-field-text::before {
  content: "";
  display: block;
  background: #FFFFFF;
  border: 1px solid #9e9e9e;
  border-radius: 100%;
  width: 1.5em;
  height: 1.5em;
  position: absolute;
  left: 0;
  top: 0;
  transition: border 0.3s ease-in-out;
}
.form-checkbox-field .form-radio-field-text::after,
.form-radio-field .form-radio-field-text::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-color: #2563eb;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scale3d(0, 0, 1);
  opacity: 0;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.form-checkbox-field input[type=radio]:checked + .form-radio-field-text::before,
.form-radio-field input[type=radio]:checked + .form-radio-field-text::before {
  background: #FFFFFF;
  border-color: #2563eb;
}
.form-checkbox-field input[type=radio]:checked + .form-radio-field-text::after,
.form-radio-field input[type=radio]:checked + .form-radio-field-text::after {
  opacity: 1;
  transform: scale3d(0.6, 0.6, 1);
}

/*** privacy ***/
.fancybox-content {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .fancybox-content {
    width: 1200px;
    max-width: 100%;
    padding: 40px;
  }
}
.fancybox-content .policy_title {
  font-size: 1.33rem;
  font-weight: 500;
  text-align: center;
  margin-top: 1em;
  margin-bottom: 2em;
}
.fancybox-content .privacy_inner {
  font-size: 0.88em;
  line-height: 1.75em;
  margin: auto;
  background-color: #FFFFFF;
  padding: 0px;
}
.fancybox-content .privacy_inner h2 {
  margin: 1.5em 0 0.5em;
  font-size: 1.25rem;
  font-weight: 500;
}

/**** form_status ****/
ul.form_status {
  list-style-type: none;
  display: flex;
  margin: 0px 0px 40px;
  padding: 0;
  border-radius: 9999px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  ul.form_status {
    margin: 0px 0px 80px;
  }
}
ul.form_status li {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e6e6e6;
  font-size: 0.94rem;
  font-weight: 500;
  height: 3.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  ul.form_status li {
    font-size: 1rem;
    height: 4em;
  }
}
ul.form_status li .inner {
  display: block;
}
ul.form_status li:not(:last-child) .inner {
  margin-right: -20px;
}
@media screen and (min-width: 768px) {
  ul.form_status li:not(:last-child) .inner {
    margin-right: -30px;
  }
}
ul.form_status li:not(:last-child)::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: calc(100% + 6px);
  background: linear-gradient(to bottom left, transparent 50%, #e6e6e6 50%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #e6e6e6 50%) no-repeat bottom left/100% 50%;
  position: absolute;
  left: 100%;
  top: 50%;
  z-index: 2;
  transform: translate3d(-3px, -50%, 0);
}
@media screen and (min-width: 768px) {
  ul.form_status li:not(:last-child)::before {
    width: 30px;
    height: calc(100% + 8px);
    transform: translate3d(-4px, -50%, 0);
  }
}
ul.form_status li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: calc(100% + 8px);
  background: linear-gradient(to bottom left, transparent 50%, #FFFFFF 50%) no-repeat top left/100% 50%, linear-gradient(to top left, transparent 50%, #FFFFFF 50%) no-repeat bottom left/100% 50%;
  position: absolute;
  left: 100%;
  top: 50%;
  z-index: 1;
  transform: translate3d(0, -50%, 0);
}
@media screen and (min-width: 768px) {
  ul.form_status li:not(:last-child)::after {
    width: 30px;
  }
}

/**** 完了画面 ****/
.thanks-wrap {
  text-align: center;
  padding-bottom: 4rem;
}
.thanks-wrap .thanks-title {
  font-size: 1.5em;
  font-weight: 500;
  margin-bottom: 30px;
}
.thanks-wrap .btn-wrap {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .thanks-wrap .btn-wrap {
    margin-top: 60px;
  }
}

.p-country-name,
#privacy-policy {
  display: none;
}

/* recaptcha */
.recaptcha-wrap {
  margin-top: 6rem;
  text-align: center;
}
.recaptcha-wrap .g-recaptcha {
  display: inline-block;
}

/* reCAPTCHA v3 */
.grecaptcha-badge {
  visibility: hidden;
}

.recapcha-v3-text {
  font-size: 0.75em;
}
.recapcha-v3-text a {
  font-weight: 500;
  color: #2563eb;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
@media (hover: hover) {
  .recapcha-v3-text a:hover {
    text-decoration: none;
  }
}

.privacy-block {
  padding: 40px;
  overflow-y: auto;
  height: 200px;
  border: 1px solid #dadada;
}

/*** snow-monkey-forms ***/
.smf-item:has([data-validations~=required]) .smf-item__label__text::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 22px;
  border-radius: 4px;
  content: "必須";
  font-size: 12px;
  color: #fff;
  background: #dc6922;
  margin-left: 10px;
}

.smf-progress-tracker {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .smf-progress-tracker {
    margin-bottom: 80px;
  }
}

.smf-action .smf-button-control__control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 30px;
  background: #2563eb;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border: none;
  outline: none;
  color: #FFFFFF;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .smf-action .smf-button-control__control {
    cursor: pointer;
  }
  .smf-action .smf-button-control__control:hover {
    color: #FFFFFF;
    opacity: 0.8;
  }
}

/*** turnstile ***/
.snow-monkey-form {
  display: flex;
  flex-direction: column;
  margin: auto;
  max-width: 1020px;
}

.snow-monkey-form .smf-action {
  order: 2;
}

.snow-monkey-forms-turnstile--position\:after {
  margin-top: 60px !important;
  text-align: center;
}

.snow-monkey-forms-turnstile--position\:after > div {
  display: inline-grid;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * News Styles
 */
/* news-list */
.news-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .news-list {
    gap: 24px;
  }
}
.news-list .item .item-inner .item-link .item-content .item-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
}
.news-list .item .item-inner .item-link .item-content .item-header .item-meta {
  font-size: 0.875em;
  width: 8em;
}
.news-list .item .item-inner .item-link .item-content .item-header .item-categories {
  margin: 0;
}
.news-list .item .item-inner .item-link .item-content .item-header .item-categories li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 4px;
  width: 10em;
}
.news-list .item .item-inner .item-link .item-content .item-header .item-title {
  font-size: 1em;
  font-weight: normal;
  line-height: 1.2;
  margin: 0;
  width: 100%;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .news-list .item .item-inner .item-link .item-content .item-header .item-title {
    width: auto;
    flex: 1;
    padding-left: 24px;
    margin-top: 0;
  }
}
@media (hover: hover) {
  .news-list .item .item-inner .item-link:hover .item-content .item-header .item-title {
    color: #2563eb;
  }
}

.archive-header .archive-title {
  font-size: 1.5rem;
  font-weight: 500;
  margin: 0 0 16px;
}
@media screen and (min-width: 768px) {
  .archive-header .archive-title {
    font-size: 1.75rem;
    margin-bottom: 24px;
  }
}

.detail-news .entry-header {
  border-bottom: 1px solid #9e9e9e;
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.detail-news .entry-title {
  font-size: 1.5em;
  font-weight: 500;
  margin: 0 0 16px;
}
.detail-news .entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.detail-news .entry-categories {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
.detail-news .entry-categories li {
  font-size: 0.75em;
  line-height: 1;
  padding: 4px 8px;
  border: 1px solid #9e9e9e;
}
.detail-news .post-thumbnail {
  margin-bottom: 24px;
}
.detail-news .entry-content p {
  margin-bottom: 16px;
  line-height: 1.8;
}
.detail-news .entry-content h2 {
  font-size: 1.25em;
  font-weight: 500;
  margin-bottom: 16px;
}
.detail-news .entry-content h3 {
  font-size: 1.125em;
  font-weight: 500;
  margin-bottom: 16px;
}
.detail-news .entry-content ul {
  list-style: disc;
  margin-bottom: 16px;
  margin-left: 16px;
}
.detail-news .entry-content ol {
  list-style: decimal;
  margin-bottom: 16px;
  margin-left: 16px;
}
.detail-news .entry-content li {
  margin-bottom: 16px;
}
.detail-news .entry-content a {
  color: #f97316;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: all 0.3s ease;
}
.detail-news .entry-content:hover {
  text-decoration: none;
}

/* block editor */
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Blog Styles
 */
/* blog-list */
.blog-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .blog-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
  }
}
.blog-list .item .item-inner {
  height: 100%;
}
.blog-list .item .item-inner .item-link {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.blog-list .item .item-inner .item-link .item-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.blog-list .item .item-inner .item-link .item-content .item-summary {
  flex: 1;
  margin-top: 16px;
}

/* detail-blog */
.detail-blog .entry-header {
  border-bottom: 1px solid #9e9e9e;
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.detail-blog .entry-title {
  font-size: 1.5em;
  font-weight: 500;
  margin: 0 0 16px;
}
.detail-blog .entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.detail-blog .entry-categories {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
.detail-blog .entry-categories li {
  font-size: 0.75em;
  line-height: 1;
  padding: 4px 8px;
  border: 1px solid #9e9e9e;
}
.detail-blog .post-thumbnail {
  margin-bottom: 24px;
}
.detail-blog .entry-content {
  border-bottom: 1px solid #9e9e9e;
  padding-bottom: 32px;
  margin-bottom: 24px;
}

/*# sourceMappingURL=style.css.map */
