@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 の後に読み込むこと
 */
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Parts - 共通バーツ（ボーダー装飾・区切り線など）
 * 各コンポーネントで @include して利用する
 */
.p-part-underline {
  padding-bottom: 0.25em;
  border-bottom: 3px solid #c9a962;
}
.p-part-underline-secondary {
  padding-bottom: 0.25em;
  border-bottom: 3px solid #A78BFA;
}
.p-part-underline-gold {
  padding-bottom: 0.25em;
  border-bottom: 3px solid #c9a962;
}
.p-part-border-left {
  padding-left: 1em;
  border-left: 4px solid #c9a962;
}
.p-part-border-left-secondary {
  padding-left: 1em;
  border-left: 4px solid #A78BFA;
}
.p-part-box {
  padding: 24px;
  background: #FAF7EF;
  border: 1px solid #EBEBEB;
  border-radius: 20px;
}
.p-part-box-beige {
  padding: 24px;
  background: #e8e0d4;
  border: 1px solid #e8e0d4;
  border-radius: 20px;
}
.p-part-divider {
  height: 0;
  margin: 32px 0;
  border: none;
  border-top: 1px solid #EBEBEB;
  width: 100%;
}

/**
 * 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
 */
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #111111;
  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: #c9a962;
}

button,
input,
select,
textarea {
  font: inherit;
}

.alignwide {
  max-width: 90vw;
}

.alignfull {
  max-width: 100%;
  width: 100vw;
}

/* Layout */
#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#wrapper .site-header {
  flex: 0 0 auto;
}
#wrapper .site-content {
  flex: 1 0 auto;
}
#wrapper .site-footer {
  flex: 0 0 auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.fs-200pct {
  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-block {
  display: block !important;
}

.display-inline {
  display: inline !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 ***/
#wrapper {
  margin-top: 60px;
}

.site-header {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10;
}
.site-header .site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-left: 16px;
  padding-right: 16px;
}
@media (min-width: 768px) {
  .site-header .site-header__inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}
.site-header .site-header__inner {
  height: 50px;
}
.site-header .site-header__logo img {
  height: 40px;
}

.menu-logo {
  margin-bottom: 24px;
}
.menu-logo img {
  height: 40px;
}

.header-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #EBEBEB;
}
.header-nav-list > li {
  position: relative;
  border-bottom: 1px solid #EBEBEB;
}
.header-nav-list > li > a {
  display: block;
  padding: 16px 0;
  font-size: 1.25em;
  color: inherit;
  text-align: center;
}
.header-nav-list > li .sub-menu {
  list-style: none;
  margin: 0 0 0 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: #fff;
  color: #111111;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
.menu_content .menu-content__inner {
  padding: 50px 24px;
}

/*** menu ***/
#menu {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  z-index: 9;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#menu .filter {
  content: "";
  display: block;
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#menu .menu_content {
  position: fixed;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow-y: auto;
  transform: translate3d(0, 0, 0);
  transition: all 0.3s ease;
}

body.menu_active #menu {
  opacity: 1;
  visibility: visible;
}
body.menu_active #menu .filter {
  opacity: 1;
  visibility: visible;
}
body.menu_active #menu .menu_content {
  position: absolute;
  transform: translate3d(0, 0, 0);
}

/*メニューボタン*/
#spnav_buttonwrap {
  display: block;
  position: fixed;
  right: 0px;
  top: 0px;
  background-color: #FFFFFF;
  z-index: 10;
}
#spnav_buttonwrap #spnav_button {
  border: none;
  background-color: transparent;
  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: #111111;
  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 (min-width: 980px) {
  #wrapper {
    margin-top: 20px;
  }
  .site-header .site-header__logo img {
    height: 50px;
  }
  .site-header .site-header__inner {
    height: 80px;
  }
  #spnav_buttonwrap #spnav_button {
    width: 80px;
    height: 80px;
  }
  #menu .menu_content {
    width: 600px;
    transition: transform 0.3s ease;
    transform: translate3d(100%, 0, 0);
  }
  body.menu_active #menu .menu_content {
    transform: translate3d(0, 0, 0);
  }
  .header-nav-list > li > a {
    font-size: 1em;
  }
  .menu-logo img {
    height: 50px;
  }
}
@media screen and (min-width: 768px) {
  #wrapper {
    margin-top: 20px;
  }
}
/*
@include mq(md) {
	.site-header {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		z-index: 10;	
		.site-header__inner {
			@include container-padding();
			padding-top: $spacing-sm;
			padding-bottom: $spacing-sm;
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 20px;
		}
		.site-header__logo{
			img{
				height: 50px;
			}
		}

	}
	.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: $spacing-lg;
		> li{
			position: relative;
			@media (hover: hover){
				&:hover{
					.sub-menu{
						opacity: 1;
						visibility: visible;
					}
				}
			}
			> a{
				display: block;
				font-size: 1em;
				color: inherit;
				padding: $spacing-xs 0;
				transition: color 0.3s ease;
				@media (hover: hover){
					&:hover{
						color: $color-link-hover;
					}
				}
			}
			.sub-menu{
				list-style: none;
				margin: 0;
				padding: $spacing-md;
				background-color: $color-secondary;
				color: $color-white;
				box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
				border-radius: $spacing-xs;
				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: $spacing-xs;
				&::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 $color-secondary transparent;
				}
				li{
					a{
						display: flex;
						align-items: center;
						gap: $spacing-xs;
						position: relative;
						font-size: 0.88em;
						color: $color-white;
						transition: color 0.3s ease;
						@media (hover: hover){
							&:hover{
								color: $color-link-hover;
							}
						}
						&::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: 600px) {
  body.admin-bar .site-header {
    top: 46px;
  }
}
@media screen and (min-width: 601px) and (max-width: 782px) {
  body.admin-bar .site-header,
  body.admin-bar #spnav_buttonwrap {
    top: 46px;
  }
}
@media (min-width: 783px) {
  body.admin-bar .site-header,
  body.admin-bar #spnav_buttonwrap {
    top: 32px;
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Footer layout
 */
.site-footer {
  font-size: 0.875rem;
  background-color: rgba(232, 224, 212, 0.3);
}

.site-footer__content {
  padding-top: 48px;
  padding-bottom: 48px;
}
@media (min-width: 768px) {
  .site-footer__content {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

.site-footer__copyright {
  padding: 16px 0;
}
.site-footer__copyright .copyright-text {
  font-size: 0.75rem;
  text-align: center;
}

.footer-logo {
  text-align: center;
  margin-bottom: 16px;
}
.footer-logo img {
  width: 100%;
  max-width: 300px;
}

.footer-logo-text {
  text-align: center;
  margin-bottom: 48px;
}
.footer-logo-text img {
  width: 100%;
  max-width: 180px;
}

.site-footer .nav-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
}

.site-footer .nav-menu a {
  font-size: 1em;
  font-weight: 500;
}
.site-footer .nav-menu a:hover {
  color: #c9a962;
}

.social-links {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}
.social-links li {
  font-size: 1.25rem;
  line-height: 1;
}
.social-links li a {
  color: #666;
}
@media (hover: hover) {
  .social-links li a:hover {
    color: inherit;
  }
}

.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
}
.footer-links li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 2px solid currentColor;
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.2;
}
.footer-links li a:hover {
  border-color: #c9a962;
  background-color: rgba(232, 224, 212, 0.3);
  color: inherit;
}

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

@media (max-width: 767px) {
  .sidebar .widget {
    border: 1px solid #EBEBEB;
    border-radius: 4px;
    margin-bottom: 16px;
    overflow: hidden;
  }
  .sidebar .widget > *:not(.widget-title) {
    display: none;
  }
  .sidebar .widget > *:not(.widget-title) {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: block;
    padding-top: 0;
    padding-bottom: 0;
  }
  .sidebar .widget.is-open > *:not(.widget-title) {
    max-height: 2000px;
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .sidebar .widget-title {
    margin: 0;
    padding: 8px 16px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    position: relative;
    background: #f5f5f5;
    transition: background-color 0.2s;
    border-bottom: none;
  }
  .sidebar .widget-title:hover {
    background: rgba(0, 0, 0, 0.06);
  }
  .sidebar .widget-title::after {
    content: "";
    position: absolute;
    right: 24px;
    top: 50%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid currentColor;
    transform: translateY(-50%);
    transition: transform 0.2s;
  }
  .sidebar .widget.is-open .widget-title::after {
    transform: translateY(-50%) rotate(180deg);
  }
  .sidebar .widget > ul,
  .sidebar .widget > .tagcloud {
    padding: 16px 24px 24px;
    border-top: 1px solid #EBEBEB;
  }
}
.has-sidebar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: start;
}
@media (min-width: 768px) {
  .has-sidebar {
    grid-template-columns: 1fr 300px;
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Main content area
 */
.main-sections {
  padding-top: 48px;
}
@media (min-width: 768px) {
  .main-sections {
    padding-top: 64px;
  }
}

.section-padding {
  padding-top: 48px;
  padding-bottom: 48px;
}
@media (min-width: 768px) {
  .section-padding {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

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

.archive-header {
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #EBEBEB;
}
.archive-header .archive-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
}
.archive-header .archive-description {
  margin-top: 16px;
  color: #666;
  font-size: 0.9375rem;
}

.page-header {
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #EBEBEB;
}
.page-header .page-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 500;
}
.page-header .page-description {
  margin-top: 16px;
  color: #666;
  font-size: 0.9375rem;
}

.page-editor h2 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 2em;
  margin-bottom: 1.25em;
  padding-bottom: 16px;
  position: relative;
}
.page-editor h2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 4px;
  background-color: #c9a962;
}
.page-editor h3 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 2em;
  margin-bottom: 1.25em;
}
.page-editor p > a,
.page-editor li > a,
.page-editor td > a,
.page-editor dd > a {
  color: #c9a962;
  text-decoration: underline;
}
.page-editor p > a:hover,
.page-editor li > a:hover,
.page-editor td > a:hover,
.page-editor dd > a:hover {
  text-decoration: none;
}
.page-editor p > a[target=_blank]::after,
.page-editor li > a[target=_blank]::after,
.page-editor td > a[target=_blank]::after,
.page-editor dd > a[target=_blank]::after {
  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="M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  margin-left: 4px;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * フロントページ（ヒーロー + セクション）
 */
.front-page {
  padding: 0;
}

/* ヒーローセクション */
.front-hero__image {
  margin: 0 auto;
  text-align: center;
  padding: 0 32px;
}
.front-hero__image img {
  width: 500px;
  height: auto;
  object-fit: contain;
  vertical-align: middle;
}

.front-hero__inner {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 48px 20px;
}

/* ヒーローに画像がない場合 */
.front-hero:not(:has(.front-hero__image)) .front-hero__title {
  color: #111111;
  text-shadow: none;
}

/* セクション共通 */
.front-section {
  padding: 32px 0;
}
@media screen and (min-width: 768px) {
  .front-section {
    padding: 80px 0;
  }
}
.front-section__header {
  margin-bottom: 48px;
  text-align: center;
}

.front-section__title {
  font-size: 2em;
  font-weight: 500;
  margin: 0;
}
@media (min-width: 768px) {
  .front-section__title {
    font-size: 2.75em;
  }
}

.front-section__description {
  margin: 16px 0 0;
  font-size: 1em;
  color: #666;
}

.front-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 24px;
}
@media (min-width: 576px) {
  .front-section__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .front-section__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
}

.front-section__list .entry {
  padding: 0;
}

.front-section__more {
  margin: 64px 0 0;
  text-align: center;
}

.front-section__empty {
  text-align: center;
  color: #666;
  margin: 0;
}

#introduction {
  background-color: rgba(232, 224, 212, 0.3);
  margin-top: 48px;
}
#introduction .introduction-block {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  #introduction .introduction-block {
    flex-direction: row;
  }
}
#introduction .introduction-block .introduction-header {
  text-align: center;
}
@media screen and (min-width: 768px) {
  #introduction .introduction-block .introduction-header {
    width: 25%;
  }
}
#introduction .introduction-block .introduction-header .catch-copy {
  font-family: "Noto Serif JP", serif;
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #b22222;
  margin: 0 0 16px;
}
#introduction .introduction-block .introduction-header .title {
  margin: 0;
  padding: 0;
}
#introduction .introduction-block .introduction-header .title .title-text {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 1.35em;
  font-weight: 600;
  position: relative;
  line-height: 1.5;
  padding: 0 0 16px;
}
@media screen and (min-width: 768px) {
  #introduction .introduction-block .introduction-header .title .title-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 0.1em;
    line-height: 2;
    padding: 16px 24px 16px 0;
  }
}
#introduction .introduction-block .introduction-header .title .title-text::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 68px;
  height: 1px;
  background-color: #b22222;
}
@media screen and (min-width: 768px) {
  #introduction .introduction-block .introduction-header .title .title-text::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #b22222;
  }
}
#introduction .introduction-block .introduction-body {
  flex: 1;
}
@media screen and (min-width: 768px) {
  #introduction .introduction-block .introduction-body {
    padding-top: 32px;
  }
}
#introduction .introduction-block .introduction-body .introduction-body__item-01 p {
  font-size: 1em;
  line-height: 1.8;
  margin: 0 0 16px;
}
#introduction .introduction-block .introduction-body .introduction-body__item-01 p:last-child {
  margin-bottom: 0;
}
#introduction .introduction-block .introduction-body .introduction-body__item-02 {
  padding: 32px;
  border-radius: 24px;
  margin-top: 48px;
  background-color: rgba(255, 255, 255, 0.7);
}
#introduction .introduction-block .introduction-body .introduction-body__item-02 .title {
  font-size: 1.25em;
  font-weight: 500;
  margin: 0 0 16px;
  padding-left: 16px;
  position: relative;
}
#introduction .introduction-block .introduction-body .introduction-body__item-02 .title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #b22222;
  border-radius: 50%;
}
#introduction .introduction-block .introduction-body .introduction-body__item-02 p {
  font-size: 0.875em;
  line-height: 1.8;
  margin: 0 0 16px;
  margin-left: 1em;
}
#introduction .introduction-block .introduction-body .introduction-body__item-02 p:last-child {
  margin-bottom: 0;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/* Search form */
.search-form-wrapper {
  max-width: 480px;
}

.search-form {
  display: flex;
  border: 1px solid #EBEBEB;
  border-radius: 0.5rem;
  overflow: hidden;
}
.search-form .search-field {
  border: none;
  flex: 1;
  padding: 0.5em 1em;
  font: inherit;
}
.search-form .search-field:focus {
  outline: none;
}
.search-form .search-field:-webkit-autofill {
  box-shadow: 0 0 0px 100px #EFEFEF inset;
}
.search-form .search-submit {
  display: inline-flex;
  align-items: center;
  border: none;
  padding: 0 1rem;
  background-color: #f5f5f5;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .search-form .search-submit:hover {
    background-color: #FAFAFA;
  }
}

/* Search list */
.search-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.search-list .entry-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
  padding: 16px;
  transition: background-color 0.3s ease;
}
.search-list .entry-inner .entry-thumbnail {
  width: 60px;
  height: 60px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .search-list .entry-inner .entry-thumbnail {
    width: 80px;
    height: 80px;
  }
}
.search-list .entry-inner .entry-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.search-list .entry-inner .entry-content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .search-list .entry-inner .entry-content {
    display: block;
  }
}
.search-list .entry-inner .entry-content .entry-header {
  margin: 0;
  flex: 1;
}
.search-list .entry-inner .entry-content .entry-header .entry-header-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.search-list .entry-inner .entry-content .entry-header .entry-categories li {
  font-size: 0.75rem;
}
.search-list .entry-inner .entry-content .entry-header .entry-title {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.875rem;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .search-list .entry-inner .entry-content .entry-header .entry-title {
    flex-direction: row;
    font-size: 1rem;
  }
}
.search-list .entry-inner .entry-content .entry-header .post-type-label {
  font-size: 80%;
  line-height: 1.8;
  background-color: #d4d3d3;
  padding: 0 8px;
}
.search-list .entry-inner .entry-content .entry-meta {
  font-size: 0.75rem;
  color: #666;
}
.search-list .entry-inner .entry-content .entry-summary {
  width: 100%;
  font-size: 0.75rem;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .search-list .entry-inner .entry-content .entry-summary {
    font-size: 0.875rem;
  }
}
.search-list .entry-inner .entry-content .entry-summary p {
  margin: 0;
}
@media (hover: hover) {
  .search-list .entry-inner:hover {
    background-color: #f5f5f5;
    color: inherit;
    text-decoration: none;
  }
  .search-list .entry-inner:hover .entry-thumbnail img {
    transform: scale(1.1);
  }
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * News
 */
.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.news-list .entry-inner {
  display: block;
  padding: 8px 16px;
  background-color: #fff;
  transition: background-color 0.3s ease;
  border-bottom: 1px solid #EBEBEB;
}
@media (min-width: 768px) {
  .news-list .entry-inner {
    padding: 24px 24px;
  }
}
.news-list .entry-inner .entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.news-list .entry-inner .entry-meta .posted-on {
  font-size: 1em;
  font-weight: 500;
  color: #666;
}
.news-list .entry-inner .entry-header {
  margin: 0;
}
.news-list .entry-inner .entry-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}
.news-list .entry-inner .entry-categories li {
  font-size: 0.75em;
  color: #666;
  line-height: 1;
  padding: 4px 8px;
  border: 1px solid #EBEBEB;
}
.news-list .entry-inner .entry-title {
  font-size: 1.13em;
  font-weight: normal;
  line-height: 1.6;
  margin: 0;
}
.news-list .entry-inner .entry-summary {
  font-size: 0.875em;
  color: #666;
  margin-top: 8px;
}
.news-list .entry-inner .entry-summary p {
  margin: 0;
}

.detail-news .entry-header {
  border-bottom: 1px solid #EBEBEB;
  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;
  color: #666;
  line-height: 1;
  padding: 4px 8px;
  border: 1px solid #EBEBEB;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Artisan layout
 */
.artisan-detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: 64px;
}
@media screen and (min-width: 768px) {
  .artisan-detail {
    grid-template-columns: 1fr 1fr;
  }
}
.artisan-detail h2 {
  font-size: 1.25em;
  font-weight: 500;
  color: #111111;
  margin: 2em 0 1em;
  padding-bottom: 8px;
  position: relative;
}
.artisan-detail h2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 2px;
  background-color: #b22222;
}
.artisan-detail h2:first-child {
  margin-top: 0;
}
.artisan-detail .detail-table {
  width: 100%;
  font-size: 0.9375em;
  border-collapse: separate;
  border-spacing: 3px;
}
.artisan-detail .detail-table th {
  font-weight: 500;
  text-align: left;
  padding: 8px 16px;
  background-color: #ececec;
}
.artisan-detail .detail-table td {
  padding: 8px 16px;
  background-color: #fbfbfb;
}
.artisan-detail .detail-table tbody th {
  width: 10em;
}

@media screen and (max-width: calc(768px - 1px)) {
  .detail-table-wrapper {
    overflow-y: hidden !important;
    width: calc(100vw - 32px);
  }
  .detail-table-wrapper .detail-table {
    min-width: 536px;
    width: 536px;
  }
}
.detail-title-label {
  font-size: 0.8125em;
  font-weight: 500;
  margin: 0;
}

.detail-title-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.detail-title-wrapper .detail-title-text {
  font-size: 2em;
  font-weight: 500;
  margin: 0;
}
.detail-title-wrapper .detail-title-kana {
  font-size: 0.875em;
  font-weight: 500;
  margin: 0;
}

.detail-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin-top: 8px;
}
.detail-meta .detail-meta__item.detail-meta__item--industry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 20px;
  background: #c9a962;
  font-size: 0.875em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
}
.detail-meta .detail-meta__item.detail-meta__item--craft {
  font-size: 1.25em;
}
.detail-meta .detail-meta__item.detail-meta__item--pref {
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 0.875em;
  color: #666;
}
.detail-meta .detail-meta__item.detail-meta__item--pref: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 800"><path fill="%23000" d="M536.5-503.5Q560-527,560-560t-23.5-56.5Q513-640,480-640t-56.5,23.5Q400-593,400-560t23.5,56.5Q447-480,480-480T536.5-503.5ZM480-186Q602-298,661-389.5T720-552q0-109-69.5-178.5T480-800q-101,0-170.5,69.5T240-552q0,71,59,162.5T480-186Zm0,106Q319-217,239.5-334.5T160-552q0-150,96.5-239T480-880q127,0,223.5,89T800-552q0,100-79.5,217.5T480-80ZM480-560Z" transform="translate(-160 880)" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.detail-base {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
}

.detail-content {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
  color: #666;
  line-height: 1.8;
}
.detail-content a {
  color: #c9a962;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.detail-content a:hover {
  text-decoration: none;
}

.detail-message-content p {
  font-size: 0.9375em;
  line-height: 1.8;
  margin: 0;
}

.sns-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sns-list .sns-list__item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: rgba(201, 169, 98, 0.1);
  font-size: 1.25em;
  line-height: 1;
  color: #c9a962;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .sns-list .sns-list__item a:hover {
    background-color: #c9a962;
    color: #fff;
  }
}

.links-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.links-list .links-list__item a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  color: #111111;
  text-decoration: none;
  border: 2px solid #EBEBEB;
  border-radius: 8px;
  transition: border-color 0.3s ease;
}
@media (hover: hover) {
  .links-list .links-list__item a:hover {
    border-color: #c9a962;
    background-color: rgba(201, 169, 98, 0.1);
  }
}

.works-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 16px;
}
.works-list .works-list__item .works-list__item-link {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1;
  border: 3px solid #EBEBEB;
  border-radius: 8px;
  transition: border-color 0.3s ease;
}
@media (hover: hover) {
  .works-list .works-list__item .works-list__item-link:hover {
    border-color: #c9a962;
  }
}
.works-list .works-list__item .works-list__item-link img {
  width: 100%;
  height: auto;
  display: block;
}

#craft-item-info {
  border-top: 1px solid #EBEBEB;
}
#craft-item-info .craft-item-info {
  background-color: #ffffff;
  border: 3px solid #EBEBEB;
  border-radius: 32px;
  padding: 16px;
}
@media screen and (min-width: 768px) {
  #craft-item-info .craft-item-info {
    padding: 32px;
    border: 4px solid #EBEBEB;
    border-radius: 32px;
  }
}
#craft-item-info .craft-item-info__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  #craft-item-info .craft-item-info__inner {
    flex-direction: row;
    align-items: center;
    gap: 32px;
  }
}
#craft-item-info .craft-item-info + .craft-item-info {
  margin-top: 32px;
}
#craft-item-info .craft-item-info__title {
  font-size: 1.25em;
  font-weight: 500;
  margin: 0 0 16px;
  padding-bottom: 8px;
  position: relative;
}
#craft-item-info .craft-item-info__title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 2px;
  background-color: #b22222;
}
#craft-item-info .craft-item-info__thumbnail img {
  display: block;
  width: 180px;
  height: 180px;
  object-fit: cover;
  border-radius: 100%;
  border: 3px solid #EBEBEB;
}
@media screen and (min-width: 768px) {
  #craft-item-info .craft-item-info__thumbnail img {
    border: 4px solid #EBEBEB;
  }
}
#craft-item-info .craft-item-info__content {
  flex: 1;
}
#craft-item-info .craft-item-info__craft-name {
  font-size: 1.5em;
  font-weight: 500;
  margin: 0;
}
#craft-item-info .craft-item-info__craft-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-bottom: 16px;
}
#craft-item-info .craft-item-info__craft-meta-item {
  font-size: 0.875em;
  color: #666;
}
#craft-item-info .craft-item-info__craft-description-wrapper {
  padding: 16px;
  background-color: #f8f6f2;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  #craft-item-info .craft-item-info__craft-description-wrapper {
    padding: 32px;
    border-radius: 24px;
  }
}
#craft-item-info .craft-item-info__craft-description {
  font-size: 0.9375em;
  line-height: 1.8;
  margin: 0;
}
#craft-item-info .craft-item-info__craft-button {
  margin-top: 32px;
}
@media screen and (max-width: calc(768px - 1px)) {
  #craft-item-info .craft-item-info__craft-button .button {
    width: 100%;
    justify-content: center;
  }
}
#craft-item-info .craft-item-info__description-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-bottom: 16px;
}
#craft-item-info .craft-item-info__description-meta .craft-item-info__description-meta-item {
  font-size: 0.875em;
  color: #666;
}
#craft-item-info .craft-item-info__description-meta .craft-item-info__description-meta-item + .craft-item-info__description-meta-item::before {
  content: " / ";
  margin: 0 4px;
}
#craft-item-info .craft-item-info__description-button {
  margin-top: 32px;
}
#craft-item-info .craft-item-info__association {
  margin-top: 48px;
}
#craft-item-info .craft-item-info__association-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 8px;
}
#craft-item-info .craft-item-info__association-title::before {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  background-color: #b22222;
  margin-right: 8px;
}
#craft-item-info .craft-item-info__association-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
#craft-item-info .craft-item-info__association-item {
  font-size: 0.875em;
  text-indent: -0.5em;
  padding-left: 0.5em;
}
#craft-item-info .craft-item-info__association-item::first-line {
  font-weight: 500;
  font-size: 1.113em;
}
#craft-item-info .craft-item-info__association-address {
  display: block;
  line-height: 1.6;
  color: #666;
  margin-bottom: 4px;
}
#craft-item-info .craft-item-info__association-link {
  word-break: break-all;
  color: #c9a962;
  text-decoration: underline;
  cursor: pointer;
}
#craft-item-info .craft-item-info__association-link:hover {
  text-decoration: none;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/* ページタイトル */
.mv .mv__inner .mv-bg {
  text-align: center;
}
.mv .mv__inner .mv-bg img {
  width: auto;
  height: 100px;
}
@media (min-width: 768px) {
  .mv .mv__inner .mv-bg img {
    height: 200px;
  }
}
/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/* パンくずリスト */
.crumb .crumb-inner ol, .crumb .crumb-inner ul {
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
  margin: 0;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .crumb .crumb-inner ol, .crumb .crumb-inner ul {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
.crumb .crumb-inner ol li, .crumb .crumb-inner ul li {
  display: inline;
  font-size: 0.8125em;
}
.crumb .crumb-inner ol li:not(:last-child)::after, .crumb .crumb-inner ul li:not(:last-child)::after {
  content: "/";
  display: inline;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.crumb .crumb-inner ol li a, .crumb .crumb-inner ul li a {
  color: inherit;
  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: #c9a962;
  }
}
.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
 */
/**
 * Entry (post / page content)
 */
.entry-header {
  margin: 16px 0 0;
}

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

.entry-categories {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.entry-categories li {
  font-size: 0.875rem;
  color: #666;
}

.entry-meta {
  font-size: 0.875rem;
  color: #666;
}

.entry-summary {
  font-size: 0.875rem;
  color: #666;
}

.entry-footer {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #EBEBEB;
  font-size: 0.875rem;
  color: #666;
}

/* Post list */
.posts-list,
.entries {
  list-style: none;
  margin: 0;
  padding: 0;
}

.posts-list .entry,
.entries .entry {
  padding: 0;
  margin: 0;
}

.post-thumbnail {
  display: block;
}
.post-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
}

.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) {
  .read-more-container .read-more:hover .read-more-icon {
    transform: translate3d(4px, 0, 0);
  }
}

/* 工芸士（artisan）single / archive */
.entry-meta--artisan .entry-meta__item + .entry-meta__item::before {
  content: " / ";
  margin: 0 4px;
}

.entry-tag--artisan {
  display: inline-block;
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 4px;
}

.entry-thumbnail--artisan {
  margin: 24px 0;
}

/**
 * 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: "neue-haas-grotesk-display", "Noto Sans JP", sans-serif;
  font-weight: 200;
  font-style: normal;
  letter-spacing: 0.07em;
  font-weight: 400;
  color: #111111;
}

.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 20px 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-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  border: 2px solid #EBEBEB;
  border-radius: 2px;
  transition: border-color 0.3s ease;
}

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

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

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Widgets
 */
.widget {
  margin-bottom: 32px;
}

.widget-title {
  margin: 0 0 16px;
  font-size: 1rem;
  font-weight: 600;
  padding-bottom: 8px;
  border-bottom: 1px solid #EBEBEB;
}

.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget li {
  padding: 8px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.widget li:last-child {
  border-bottom: none;
}

.widget a:hover {
  color: #c9a962;
}

/**
 * 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,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 32px;
  line-height: 1.5;
  text-align: center;
  color: inherit;
  background-color: transparent;
  border: 2px solid #EBEBEB;
  border-radius: 9999px;
  cursor: pointer;
  transition: border-color 0.3s ease;
}
@media (hover: hover) {
  .button:hover,
  .wp-block-button__link:hover {
    border-color: #c9a962;
    background-color: rgba(232, 224, 212, 0.3);
    color: inherit;
  }
}

.icon-line {
  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="M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.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,
.icon-x {
  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-note {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 394.4 394.4"><path fill="%23000" d="m90.27 92.76c41.19 0 97.6-2.09 138.1-1.04 54.34 1.39 74.76 25.06 75.45 83.53.69 33.06 0 127.73 0 127.73h-58.79c0-82.83.35-96.5 0-122.6-.69-22.97-7.25-33.92-24.9-36.01-18.69-2.09-71.07-.35-71.07-.35v158.96h-58.79z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-pinterest {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500.117"><path fill="%23000" d="m157.188 482.187c-3.125-28.437-.938-55.625 5.312-81.875l25-107.813c-4.062-13.125-7.187-28.125-7.187-43.125 0-34.999 16.875-59.999 43.437-59.999 18.437 0 31.876 12.813 31.876 37.5 0 7.813-1.563 16.562-4.688 26.562l-10.938 35.938c-2.187 6.875-3.125 13.437-3.125 19.063 0 25 19.063 39.063 43.437 39.063 43.437 0 74.375-45 74.375-103.438 0-64.999-42.5-106.563-105.313-106.563-69.999 0-114.374 45.626-114.374 109.064 0 25.624 7.813 49.374 23.125 65.625-5 8.437-10.312 9.999-18.437 9.999-25 0-48.751-35.312-48.751-83.436 0-83.126 66.562-149.375 160-149.375 98.125 0 159.687 68.438 159.687 152.812 0 85-59.999 148.751-124.687 148.751-25.626 0-48.125-10.938-63.751-30.626l-12.812 51.876c-6.875 26.874-17.187 52.186-33.751 76.561 23.439 7.189 46.562 11.251 74.375 11.251 138.125 0 250-111.875 250-250s-111.873-250.002-249.998-250.002-250 111.875-250 250c0 104.688 64.375 194.999 157.188 232.187" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-email {
  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="M125.4 128C91.5 128 64 155.5 64 189.4C64 190.3 64 191.1 64.1 192L64 192L64 448C64 483.3 92.7 512 128 512L512 512C547.3 512 576 483.3 576 448L576 192L575.9 192C575.9 191.1 576 190.3 576 189.4C576 155.5 548.5 128 514.6 128L125.4 128zM528 256.3L528 448C528 456.8 520.8 464 512 464L128 464C119.2 464 112 456.8 112 448L112 256.3L266.8 373.7C298.2 397.6 341.7 397.6 373.2 373.7L528 256.3zM112 189.4C112 182 118 176 125.4 176L514.6 176C522 176 528 182 528 189.4C528 193.6 526 197.6 522.7 200.1L344.2 335.5C329.9 346.3 310.1 346.3 295.8 335.5L117.3 200.1C114 197.6 112 193.6 112 189.4z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-link,
.icon-other {
  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="M451.5 160C434.9 160 418.8 164.5 404.7 172.7C388.9 156.7 370.5 143.3 350.2 133.2C378.4 109.2 414.3 96 451.5 96C537.9 96 608 166 608 252.5C608 294 591.5 333.8 562.2 363.1L491.1 434.2C461.8 463.5 422 480 380.5 480C294.1 480 224 410 224 323.5C224 322 224 320.5 224.1 319C224.6 301.3 239.3 287.4 257 287.9C274.7 288.4 288.6 303.1 288.1 320.8C288.1 321.7 288.1 322.6 288.1 323.4C288.1 374.5 329.5 415.9 380.6 415.9C405.1 415.9 428.6 406.2 446 388.8L517.1 317.7C534.4 300.4 544.2 276.8 544.2 252.3C544.2 201.2 502.8 159.8 451.7 159.8zM307.2 237.3C305.3 236.5 303.4 235.4 301.7 234.2C289.1 227.7 274.7 224 259.6 224C235.1 224 211.6 233.7 194.2 251.1L123.1 322.2C105.8 339.5 96 363.1 96 387.6C96 438.7 137.4 480.1 188.5 480.1C205 480.1 221.1 475.7 235.2 467.5C251 483.5 269.4 496.9 289.8 507C261.6 530.9 225.8 544.2 188.5 544.2C102.1 544.2 32 474.2 32 387.7C32 346.2 48.5 306.4 77.8 277.1L148.9 206C178.2 176.7 218 160.2 259.5 160.2C346.1 160.2 416 230.8 416 317.1C416 318.4 416 319.7 416 321C415.6 338.7 400.9 352.6 383.2 352.2C365.5 351.8 351.6 337.1 352 319.4C352 318.6 352 317.9 352 317.1C352 283.4 334 253.8 307.2 237.5z" /></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;
}

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

.icon-caret-right {
  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="M294.6 256l116.3 116.3c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 313.3 107.7 429.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L254.7 256 138.4 139.7c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L294.6 256z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-external-link {
  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="M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.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-location {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 800"><path fill="%23000" d="M536.5-503.5Q560-527,560-560t-23.5-56.5Q513-640,480-640t-56.5,23.5Q400-593,400-560t23.5,56.5Q447-480,480-480T536.5-503.5ZM480-186Q602-298,661-389.5T720-552q0-109-69.5-178.5T480-800q-101,0-170.5,69.5T240-552q0,71,59,162.5T480-186Zm0,106Q319-217,239.5-334.5T160-552q0-150,96.5-239T480-880q127,0,223.5,89T800-552q0,100-79.5,217.5T480-80ZM480-560Z" transform="translate(-160 880)" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: currentColor;
}

.icon-calendar {
  display: inline-block;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 800"><path fill="%23000" d="M200-80q-33,0-56.5-23.5T120-160V-720q0-33,23.5-56.5T200-800h40v-80h80v80H640v-80h80v80h40q33,0,56.5,23.5T840-720v560q0,33-23.5,56.5T760-80Zm0-80H760V-560H200Zm0-480H760v-80H200Zm0,0v0Z" transform="translate(-120 880)" /></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
 */
/**
 * 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: #FAFAFA;
  border: 1px solid #EBEBEB;
  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;
}

/**
 * Sora Style - Main SCSS Entry
 * WordPress テーマ用スタイル
 * コンパイル先: assets/css/style.css
 */
/**
 * Animation
 */
.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 #EBEBEB;
  transition: border-color 0.3s ease;
}
@media (min-width: 768px) {
  .hover-border {
    border-width: 4px;
  }
}
@media (hover: hover) {
  .hover-border:hover {
    border-color: #A78BFA;
  }
}

.hover-filter {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.hover-filter::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.hover-filter::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  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="M294.6 256l116.3 116.3c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 313.3 107.7 429.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L254.7 256 138.4 139.7c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L294.6 256z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  width: 1em;
  height: 1em;
  background-color: #FFFFFF;
}
@media (hover: hover) {
  .hover-filter:hover::before {
    opacity: 1;
  }
}

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