/* =====================================================================
   Kororin FILM 見本サイト(自前のコード)
   参考サイトの見た目を実測値で再現したもの。参考サイトのCSS/JSは使っていない。
   単位: 基準の文字サイズ(rem)を画面幅で切り替え、寸法は rem で持つ
   色: 文字 #141414 / 黄 #ffd84d・#ffe066・#ffcc33 / 白 / 灰の地 #d4d4d9 / こげ茶 #413116(黄色の上の文字)
   ===================================================================== */

/* ---------- 土台 ---------- */
*, *::before, *::after{ box-sizing: border-box; }
html{ font-size: 4.44444vw; line-height: 1; color: #141414; background: #fff; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
@media (min-width: 360px){ html{ font-size: 100%; } }
@media (min-width: 1000px){ html{ font-size: 1.45455vw; } }
@media (min-width: 1025px){ html{ font-size: 100%; } }
@media (min-width: 1600px){ html{ font-size: 1vw; } }
body{ margin: 0; font-weight: 500; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  font-family: "Zen Maru Gothic", 游ゴシック体, "Yu Gothic", YuGothic, "Hiragino Sans", sans-serif; font-feature-settings: "palt"; }
html[data-kr-font="yu"] body{ font-family: 游ゴシック体, "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
html[data-kr-font="kaku"] body{ font-family: "Zen Kaku Gothic New", 游ゴシック体, "Yu Gothic", YuGothic, sans-serif; }
h1, h2, h3, p, ul, ol, dl, dd, figure{ margin: 0; padding: 0; }
ul, ol{ list-style: none; }
a{ color: inherit; text-decoration: none; }
img{ max-width: 100%; height: auto; vertical-align: middle; }
button{ font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.en{ font-family: Urbanist, "Helvetica Neue", Arial, sans-serif; font-weight: 500; }
.vh{ position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; padding: 0; }
.sp{ display: inline; } .pc{ display: none; }
@media (min-width: 1000px){ .sp{ display: none; } .pc{ display: inline; } }
.ph{ display: inline-block; }   /* 文節。語の途中で折り返さない */
/* 最終行に1〜2文字だけ残る「泣き別れ」を防ぐ */
h1, h2, h3, h4, p, li, dd, dt{ text-wrap: pretty; }
/* 見出しは build.py の wb() が文節の境目に <wbr> を置く。そこ以外では折らない。
   text-wrap: pretty と keep-all を同じ要素に重ねると、Chrome が幅1280px以上のマネジメント事業ページで落ちる(2026-10-02 実測)。
   keep-all を当てる要素は pretty を外す(<wbr> があるので泣き別れはこちらで防げる) */
.k-wrk__ttl, .k-sr__sub, .k-sr__cp, .k-mem__g li{ word-break: keep-all; overflow-wrap: break-word; text-wrap: wrap; }
:root{ --ink: #141414; --kr-ink: #141414; --ease: cubic-bezier(.32,.1,0,1); --ease-in: cubic-bezier(.03,.52,0,1); }
html[data-kr-ink="brown"]{ --kr-ink: #413116; }
::selection{ background: rgba(255,216,77,.6); }

/* ---------- 登場の動き(画面に入ったら .is-v) ---------- */
.rv-l{ display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.rv-l > span{ display: inline-block; transform: translateY(120%); }
.is-v .rv-l > span, .rv-l.is-v > span{ transform: translateY(0); transition: transform 1.2s var(--ease); }
.is-v .rv-l:nth-child(2) > span{ transition-delay: .08s; } .is-v .rv-l:nth-child(3) > span{ transition-delay: .16s; } .is-v .rv-l:nth-child(4) > span{ transition-delay: .24s; }
.rv-y{ opacity: 0; transform: translateY(1.25rem); }
.is-v .rv-y, .rv-y.is-v{ opacity: 1; transform: translateY(0); transition: transform 1.2s var(--ease), opacity 1.2s var(--ease); }
.rv-o{ opacity: 0; } .is-v .rv-o, .rv-o.is-v{ opacity: 1; transition: opacity 1.2s var(--ease); }
.rv-d{ opacity: 0; transform: translateX(-.625rem); } .is-v .rv-d{ opacity: 1; transform: none; transition: transform 1s .1s var(--ease), opacity 1s .1s var(--ease); }
@media (prefers-reduced-motion: reduce){
  .rv-l > span, .rv-y, .rv-o, .rv-d{ opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---------- ロゴ ---------- */
.k-logo{ display: block; height: 100%; width: auto; }

/* ---------- ヘッダー ---------- */
.k-hd__lg{ position: fixed; z-index: 900; top: 1.5rem; left: 5.33333%; height: 2.5rem; }
.k-hd__lg a{ display: block; height: 100%; }
.k-hd__lg .k-logo{ transition: filter .6s var(--ease); }
.is-dark .k-hd__lg .k-logo{ filter: invert(1); }
.is-navopen .k-hd__lg .k-logo{ filter: none; }   /* スマホはメニューが全面黄色なのでロゴは黒のまま */
@media (min-width: 1000px){ .is-navopen .k-hd__lg .k-logo{ filter: invert(1); } }   /* PCはロゴの下が暗い幕 */
.k-gn{ display: none; }
.k-hm{ position: fixed; z-index: 999; top: 2rem; right: 6.4%; width: 1.25rem; height: .875rem; }
.k-hm::before{ content: ""; position: absolute; top: 50%; left: 50%; width: 4.25rem; height: 4.25rem; transform: translate(-50%,-50%); }
.k-hm__b{ position: absolute; left: 0; width: 100%; height: .125rem; background: var(--ink); transition: transform .6s var(--ease), background-color .6s var(--ease); }
.k-hm__b:nth-child(1){ top: 0; } .k-hm__b:nth-child(2){ top: 0; bottom: 0; margin: auto; transform-origin: 0 50%; } .k-hm__b:nth-child(3){ bottom: 0; }
.is-dark .k-hm__b{ background: #fff; }
.is-navopen .k-hm__b{ background: var(--kr-ink); }
.is-navopen .k-hm__b:nth-child(1){ transform: translateY(.375rem) rotate(45deg); }
.is-navopen .k-hm__b:nth-child(2){ transform-origin: 100% 50%; transform: scaleX(0); }
.is-navopen .k-hm__b:nth-child(3){ transform: translateY(-.375rem) rotate(-45deg); }
@media (min-width: 1000px){
  .k-hd__lg{ top: 2.25rem; left: 3.90625%; height: 3rem; }
  .k-hm{ top: 2.875rem; right: 3.90625%; width: 1.125rem; }
  .k-hm::before{ width: 4.375rem; height: 4.375rem; }
}
@media (min-width: 1280px){
  .k-gn{ display: block; position: fixed; z-index: 450; top: 0; right: 3.90625%; margin-right: 3.5rem; transition: opacity .6s var(--ease); }
  .is-scrolled .k-gn{ opacity: 0; pointer-events: none; }
  .k-gn__list{ display: flex; gap: 0 1.125rem; }
  .k-gn__a{ position: relative; display: flex; align-items: center; height: 6.875rem; padding: .25rem 0 .375rem; transition: color .6s var(--ease); }
  .is-dark .k-gn__a{ color: #fff; }
  .k-gn__a::before{ content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; margin-top: .75rem; background: currentColor; transform: scaleX(0); transform-origin: 100% 50%; transition: transform .5s var(--ease); }
  .k-gn__a:hover::before, .k-gn__a:focus-visible::before{ transform: scaleX(1); transform-origin: 0 50%; }
  .k-gn__lab{ font: 700 1rem/1.25rem Urbanist, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
}

/* 文字が下から入れ替わるホバー(メニュー・リンク共通) */
.k-sw{ position: relative; display: inline-block; overflow: hidden; vertical-align: top; }
.k-sw > span{ display: block; transition: transform .6s var(--ease); }
.k-sw > span + span{ position: absolute; top: 100%; left: 0; }
a:hover .k-sw > span, a:focus-visible .k-sw > span, button:hover .k-sw > span{ transform: translateY(-100%); }

/* ---------- 全画面メニュー ---------- */
.k-nv{ position: fixed; inset: 0; z-index: 850; visibility: hidden; opacity: 0; transition: opacity .6s var(--ease), visibility 0s .6s; }
.is-navopen .k-nv{ visibility: visible; opacity: 1; transition: opacity .6s var(--ease); }
.k-nv__mk{ position: absolute; inset: 0; background: rgba(20,20,20,.5); }
.k-nv__win{ position: absolute; top: 0; right: 0; width: 100%; height: 100%; overflow-y: auto; overscroll-behavior: contain; color: var(--kr-ink);
  background: linear-gradient(115deg, #ffcc33, #ffd84d 35%, #ffe066 55%, #ffcc33 80%, #ffd84d); background-size: 300% 100%; animation: k-grad 7s ease-in-out infinite alternate;
  transform: translateX(6%); transition: transform .8s var(--ease); }
.is-navopen .k-nv__win{ transform: none; }
.k-nv__bd{ min-height: 100%; display: flex; align-items: center; padding: 5.0625rem 5.33333% 1.75rem; }
.k-nv__in{ width: 100%; }
.k-nv__a{ display: inline-block; font: 700 1.6875rem/2.3125rem Urbanist, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.k-nv__one + .k-nv__one{ margin-top: .75rem; }
.k-nv__one{ opacity: 0; transform: translateY(1.25rem); }
.is-navopen .k-nv__one{ opacity: 1; transform: none; transition: opacity .8s var(--ease), transform .8s var(--ease); }
.is-navopen .k-nv__one:nth-child(2){ transition-delay: .04s; } .is-navopen .k-nv__one:nth-child(3){ transition-delay: .08s; }
.is-navopen .k-nv__one:nth-child(4){ transition-delay: .12s; } .is-navopen .k-nv__one:nth-child(5){ transition-delay: .16s; } .is-navopen .k-nv__one:nth-child(6){ transition-delay: .2s; }
.k-nv__sub{ margin-top: 2.1875rem; }
.k-nv__add{ display: none; }
.k-nv__dt{ font: 700 .8125rem/1 Urbanist, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.k-nv__dd{ margin-top: .625rem; font-size: .75rem; letter-spacing: .04em; line-height: 1.5625rem; }
@media (min-width: 1000px){
  .k-nv__win{ width: 40rem; }
  .k-nv__bd{ padding: 4.875rem 10.9375% 1.0625rem; }
  .k-nv__list{ height: 14.375rem; display: flex; flex-direction: column; flex-wrap: wrap; align-content: space-between; }
  .k-nv__one{ width: 42%; }
  .k-nv__one + .k-nv__one{ margin-top: 2.1875rem; }
  .k-nv__one:nth-child(5){ margin-top: 0; }
  .k-nv__a{ font-size: 1.5625rem; line-height: 1.75rem; }
  .k-nv__sub{ display: flex; justify-content: space-between; margin-top: 2.0625rem; }
  .k-nv__add, .k-nv__sns{ display: block; width: 42%; }
  .k-nv__dt{ font-size: 1.125rem; }
  .k-nv__dd{ margin-top: .875rem; }
  .k-nv__sns .k-nv__dd{ margin-top: 1.0625rem; font-size: .875rem; line-height: 1rem; }
}
@keyframes k-grad{ from{ background-position: 0% 50%; } to{ background-position: 100% 50%; } }

/* ---------- セクション見出し(和文の小見出し＋英字の大見出し) ---------- */
.k-tag{ position: relative; padding-left: 1.25rem; font-size: .75rem; line-height: 1.125rem; letter-spacing: .04em; font-weight: 500; }
.k-tag__dot{ position: absolute; top: .25rem; left: 0; width: .625rem; height: .625rem; color: var(--dot, var(--ink)); }
.k-big{ margin-top: .875rem; padding-left: .25rem; font: 700 3rem/2.625rem Urbanist, sans-serif; text-transform: uppercase; }
@media (min-width: 1000px){
  .k-tag{ padding-left: 1.375rem; font-size: .875rem; line-height: 1.25rem; }
  .k-tag__dot{ width: .75rem; height: .75rem; top: .3125rem; }
  .k-big{ margin-top: 1.3125rem; padding-left: 0; font-size: 5.5rem; line-height: 5.125rem; }
}

/* ---------- 下層ページの見出し ---------- */
.k-phd{ padding: 9.0625rem 5.33333% 0; }
.k-phd__ttl{ font: 700 3rem/2.875rem Urbanist, sans-serif; text-transform: uppercase; }
.k-phd__tag{ margin-top: 1rem; font-size: .875rem; line-height: 1.25rem; letter-spacing: .04em; font-weight: 500; }
@media (max-width: 999px){ .k-phd--min .k-phd__ttl{ font-size: 2.375rem; line-height: 2.375rem; } .k-phd--min{ padding-top: 8.625rem; } .k-phd--min .k-phd__tag{ margin-top: .75rem; } }
@media (min-width: 1000px){
  .k-phd{ padding: 18.375rem 7.03125% 0; }
  .k-phd__ttl{ font-size: 5.5rem; line-height: 5.125rem; }
  .k-phd__tag{ font-size: 1rem; line-height: 2rem; }
}

/* ---------- ボタン(View More ＋ 四角の矢印) ---------- */
.k-more{ display: inline-flex; align-items: center; gap: 1.25rem; }
.k-more__lab{ font: 500 1.25rem/1.375rem Urbanist, sans-serif; letter-spacing: -.002em; }
.k-blk{ position: relative; display: flex; align-items: center; justify-content: center; width: 4.375rem; height: 4.375rem; border-radius: .1875rem; overflow: hidden; background: #232323; color: #fff; }
.k-blk::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, #ffcc33, #ffd84d 50%, #ffe066); opacity: 0; transition: opacity .4s cubic-bezier(.4,.2,.3,1); }
a:hover .k-blk::before, a:focus-visible .k-blk::before{ opacity: 1; }
a:hover .k-blk, a:focus-visible .k-blk{ color: var(--ink); }
.k-blk--w{ background: #fff; color: var(--ink); }
.k-blk svg{ position: relative; width: 1rem; height: 1rem; }

/* ---------- 写真の代わりのテクスチャ(網点が角から薄れる＋粒子) ---------- */
.k-tex{ position: absolute; inset: 0; overflow: hidden; }
.k-tex::before, .k-tex::after{ content: ""; position: absolute; inset: 0; pointer-events: none; }
.k-tex::before{ background-size: 11px 11px; -webkit-mask-image: radial-gradient(120% 95% at 100% 100%, #000 0%, transparent 72%); mask-image: radial-gradient(120% 95% at 100% 100%, #000 0%, transparent 72%); }
.k-tex::after{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity: .14; mix-blend-mode: overlay; }
.k-tex--yellow{ background: linear-gradient(160deg, #ffe066, #ffd84d 55%, #ffcc33); }
.k-tex--yellow::before{ background-image: radial-gradient(circle, rgba(255,255,255,.6) 0 1.5px, transparent 2px); }
.k-tex--brown{ background: radial-gradient(85% 75% at 12% 8%, rgba(255,216,77,.3), rgba(255,216,77,0)), #413116; }
.k-tex--brown::before{ background-image: radial-gradient(circle, rgba(255,216,77,.3) 0 1.5px, transparent 2px); }

/* ---------- 動く白い円(黄色の面) ---------- */
.k-yellow{ position: relative; background: linear-gradient(180deg, #ffd84d 0%, #ffe066 100%); color: var(--kr-ink); }
html[data-kr-bg="white"] .k-yellow{ background: #fff; }
.k-circles{ position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.k-circles span{ position: absolute; display: block; border-radius: 50%; will-change: transform;
  background: radial-gradient(circle closest-side, rgba(255,255,255,.3) 0 78%, rgba(255,255,255,.6) 93%, rgba(255,255,255,0) 100%);
  animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: alternate; }
html[data-kr-bg="white"] .k-circles span{ background: radial-gradient(circle closest-side, rgba(255,216,77,.3) 0 78%, rgba(255,216,77,.6) 93%, rgba(255,216,77,0) 100%); }
.k-circles span:nth-child(1){ width:30vmax; height:30vmax; left:-22%; top:-12%; filter:blur(10px); background:radial-gradient(circle closest-side, rgba(255,255,255,.3) 0 70%, rgba(255,255,255,0) 100%); animation-name:k-drift-r; animation-duration:74s; animation-delay:-28s; }
.k-circles span:nth-child(2){ width:21vmax; height:21vmax; left:96%; top:46%; filter:blur(6px); background:radial-gradient(circle closest-side, rgba(255,255,255,.3) 0 70%, rgba(255,255,255,0) 100%); animation-name:k-drift-l; animation-duration:63s; animation-delay:-11s; }
html[data-kr-bg="white"] .k-circles span:nth-child(-n+2){ background: radial-gradient(circle closest-side, rgba(255,216,77,.3) 0 70%, rgba(255,216,77,0) 100%); }
.k-circles span:nth-child(3){ width:15vmax; height:15vmax; left:12%; top:64%; filter:blur(2px); animation-name:k-drift-u; animation-duration:49s; animation-delay:-36s; }
.k-circles span:nth-child(4){ width:11vmax; height:11vmax; left:104%; top:8%; filter:blur(2px); animation-name:k-drift-l; animation-duration:44s; animation-delay:-6s; }
.k-circles span:nth-child(5){ width:7.5vmax; height:7.5vmax; left:-14%; top:30%; animation-name:k-drift-r; animation-duration:37s; animation-delay:-19s; }
.k-circles span:nth-child(6){ width:4.5vmax; height:4.5vmax; left:58%; top:84%; animation-name:k-drift-u; animation-duration:31s; animation-delay:-4s; }
.k-circles span:nth-child(7){ width:9vmax; height:9vmax; left:70%; top:-14%; filter:blur(1px); animation-name:k-drift-d; animation-duration:41s; animation-delay:-23s; }
.k-circles span:nth-child(8){ width:3vmax; height:3vmax; left:-6%; top:76%; animation-name:k-drift-r; animation-duration:27s; animation-delay:-13s; }
@keyframes k-drift-r{ 0%{transform:translate3d(0,0,0) scale(1)} 35%{transform:translate3d(41vw,9%,0) scale(1.07)} 70%{transform:translate3d(78vw,-7%,0) scale(.95)} 100%{transform:translate3d(104vw,13%,0) scale(1.03)} }
@keyframes k-drift-l{ 0%{transform:translate3d(0,0,0) scale(1.02)} 40%{transform:translate3d(-47vw,-14%,0) scale(.96)} 100%{transform:translate3d(-98vw,8%,0) scale(1.06)} }
@keyframes k-drift-d{ 0%{transform:translate3d(0,0,0) scale(.97)} 50%{transform:translate3d(-31vw,38%,0) scale(1.05)} 100%{transform:translate3d(22vw,71%,0) scale(1)} }
@keyframes k-drift-u{ 0%{transform:translate3d(0,0,0)} 45%{transform:translate3d(-36vw,-120%,0)} 100%{transform:translate3d(29vw,-190%,0)} }
@media (prefers-reduced-motion: reduce){ .k-circles span, .k-nv__win{ animation: none; } }

/* ---------- 実績カード ---------- */
.k-wrk__visu{ position: relative; overflow: hidden; border-radius: .75rem; }
.k-wrk__visu::before{ content: ""; display: block; padding-top: 75.91241%; }
.k-wrk__img{ position: absolute; inset: 0; background: #8e8e8e center 28% / cover no-repeat; transition: transform 1s var(--ease); }
.k-wrk__img::before{ content: ""; position: absolute; inset: 0; background: rgba(20,20,20,.2); transition: opacity .6s var(--ease); }
a:hover .k-wrk__img, a:focus-visible .k-wrk__img{ transform: scale(1.1); }
a:hover .k-wrk__img::before, a:focus-visible .k-wrk__img::before{ opacity: 0; }
.k-wrk__mt{ margin-top: .875rem; }
.k-wrk__date{ font: 500 .75rem/1rem Urbanist, sans-serif; letter-spacing: .06em; color: #646464; }
.k-wrk__cr{ font-size: .75rem; line-height: 1.25rem; letter-spacing: .06em; font-weight: 500; color: #646464; }
.k-wrk__ttl{ margin-top: .1875rem; font-size: 1.125rem; line-height: 1.875rem; letter-spacing: .06em; font-weight: 500; }
.k-tags{ display: flex; flex-wrap: wrap; margin-top: .8125rem; }
.k-tags__a{ display: inline-flex; align-items: center; height: 1.25rem; margin: 0 .5rem .5rem 0; padding: .125rem .75rem .125rem .5625rem; border: 1px solid rgba(20,20,20,.2); border-radius: .6875rem; font-size: .625rem; line-height: .875rem; letter-spacing: .04em; transition: border-color .3s var(--ease); }
.k-tags__a:hover{ border-color: var(--ink); }
@media (min-width: 1000px){
  .k-wrk__visu{ border-radius: .875rem; }
  .k-wrk__visu::before{ padding-top: 76.47059%; }
  .k-wrk__mt{ margin-top: 1.5rem; }
  .k-wrk__date{ font-size: .875rem; line-height: 1.25rem; }
  .k-wrk__ttl{ font-size: 1.25rem; line-height: 2.125rem; letter-spacing: .04em; }
  .k-tags{ margin-top: 1.125rem; }
  .k-tags__a{ height: 1.625rem; border-radius: .8125rem; padding: .125rem 1.0625rem; font-size: .75rem; line-height: 1rem; }
}

/* ---------- お知らせカード ---------- */
.k-ncard__fig{ position: relative; overflow: hidden; border-radius: .75rem; }
.k-ncard__fig::before{ content: ""; display: block; padding-top: 74.62687%; }
.k-ncard__img{ position: absolute; inset: 0; background: #8e8e8e center / cover no-repeat; transition: transform 1s var(--ease); }
a:hover .k-ncard__img{ transform: scale(1.1); }
.k-ncard__mt{ margin-top: 1.375rem; }
.k-ncard__date{ font: 500 .75rem/1rem Urbanist, sans-serif; letter-spacing: .06em; color: #646464; }
.k-ncard__ttl{ margin-top: .6875rem; font-size: 1.25rem; line-height: 2rem; letter-spacing: .06em; font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
@media (min-width: 1000px){
  .k-ncard__fig{ border-radius: .875rem; }
  .k-ncard__date{ font-size: .875rem; line-height: 1.25rem; letter-spacing: 0; }
}

/* ---------- お問い合わせの帯(黄色＋円) ---------- */
.k-cv{ position: relative; overflow: hidden; text-align: center; }
.k-cv__a{ position: relative; z-index: 1; display: block; padding: 5.25rem 8.53333% 3.625rem; }
.k-cv__tag{ font-size: .75rem; line-height: 1.125rem; letter-spacing: .04em; font-weight: 500; }
.k-cv__ttl{ margin-top: .3125rem; font: 700 1.75rem/2.125rem Urbanist, sans-serif; text-transform: uppercase; }
.k-cv__rd{ margin-top: 1.0625rem; font-size: .875rem; line-height: 1.625rem; letter-spacing: .06em; font-weight: 500; }
.k-cv__ico{ display: flex; justify-content: center; margin-top: 1.6875rem; }
@media (min-width: 1000px){
  .k-cv{ border-top: 1px solid #e2e2e2; border-bottom: 1px solid #e2e2e2; }
  .k-cv__a{ padding: 7.125rem .625rem 6.1875rem; }
  .k-cv__tag{ font-size: .875rem; line-height: 1.25rem; }
  .k-cv__ttl{ margin-top: .5625rem; font-size: 2.5rem; line-height: 3.03571rem; }
  .k-cv__rd{ margin-top: 1.9375rem; line-height: 1.75rem; }
  .k-cv__ico{ margin-top: 2.5rem; }
}
html[data-kr-space="airy"] .k-cv__rd{ line-height: 2.1; letter-spacing: .08em; }

/* ---------- フッター ---------- */
.k-ft{ position: relative; background: #fff; padding: 5rem 5.33333% 4.8125rem; }
.k-ft__lg{ display: inline-block; height: 4.5rem; }
.k-ft__nv{ margin-top: 3.25rem; }
.k-ft__nv li + li{ margin-top: 1.6875rem; }
.k-ft__nv a{ font: 700 1.125rem/1.6875rem Urbanist, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.k-ft__add{ margin-top: 3rem; }
.k-ft__dt{ font: 700 .875rem/1.3125rem Urbanist, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.k-ft__dd{ margin-top: .4375rem; font-size: .75rem; line-height: 1.125rem; letter-spacing: .06em; color: #8e8e8e; }
.k-ft__dd a{ transition: color .6s var(--ease); } .k-ft__dd a:hover{ color: var(--ink); }
.k-ft__ot{ margin-top: 1.9375rem; }
.k-ft__sns .k-ft__dd{ margin-top: .5rem; }
.k-ft__cpl{ margin-top: 3.0625rem; font: 500 .75rem/1.125rem Urbanist, sans-serif; letter-spacing: .02em; color: #8e8e8e; }
@media (min-width: 1000px){
  .k-ft{ padding: 8.375rem 7.03125% 8.4375rem; }
  .k-ft__mn{ display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; }
  .k-ft__lgw{ width: 38.18182%; margin-top: .25rem; text-align: right; }
  .k-ft__lg{ height: 5.5rem; }
  .k-ft__nv{ width: 61.81818%; height: 14.375rem; margin: 0; display: flex; flex-direction: column; flex-wrap: wrap; align-content: flex-start; }
  .k-ft__nv li{ width: 50%; }
  .k-ft__nv li + li{ margin-top: 2.375rem; }
  .k-ft__nv li:nth-child(5){ margin-top: 0; }
  .k-ft__add{ margin-top: 2.8125rem; }
  .k-ft__add .k-ft__dd{ margin-top: 1.0625rem; font-size: .8125rem; line-height: 1.21875rem; }
  .k-ft__ot{ margin-top: 3.5rem; display: flex; justify-content: space-between; align-items: flex-end; }
  .k-ft__sns .k-ft__dd{ margin-top: 1.125rem; font-size: .875rem; line-height: 1.3125rem; }
  .k-ft__cpl{ margin: 0; font-size: .8125rem; text-align: right; }
}

/* =====================================================================
   トップ
   ===================================================================== */
/* 1画面目 */
.k-mv{ position: relative; height: 100vh; height: 100svh; min-height: 35rem; overflow: hidden; background: #141414; color: #fff; }
.k-mv__media{ position: absolute; inset: 0; overflow: hidden; }
.k-mv__poster{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-mv__yt{ position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s var(--ease); pointer-events: none; }
.k-mv.is-playing .k-mv__yt{ opacity: 1; }
.k-mv__yt iframe{ position: absolute; top: 50%; left: 50%; width: max(100%, calc(100vh * 16 / 9)); height: max(100%, calc(100vw * 9 / 16)); transform: translate(-50%,-50%) scale(1.2); border: 0; }
.k-reel{ display: none; }
.k-mv__fr{ position: absolute; inset: 0; z-index: 5; display: flex; align-items: flex-end; justify-content: space-between; padding: 0 5.33333% 2.875rem; background-image: linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.75)); }
.k-mv__bd{ width: 100%; }
.k-mv__ttl{ margin-left: -.25rem; font: 900 min(3.25rem, calc((100vw - 48px) / 8.1))/0.885 Urbanist, sans-serif; text-transform: uppercase; color: #fff; }
.k-mv__ttl .rv-l{ padding: 0; margin: 0; clip-path: polygon(0 0, 100% 0, 100% 120%, 0 120%); overflow: visible; }
.k-mv__sns{ display: flex; flex-wrap: wrap; max-width: calc(100% - 100px); margin-top: 2.1875rem; }
.k-mv__sns li{ margin: 0 1.125rem 2px 0; line-height: 1.25rem; }
.k-mv__sns a{ font: 500 .75rem/1rem Urbanist, sans-serif; letter-spacing: .04em; color: #fff; opacity: .5; white-space: nowrap; transition: opacity .6s var(--ease); }
.k-mv__sns a:hover, .k-mv__sns a:focus-visible{ opacity: 1; }
.k-mv__sns li.rv-y:nth-child(1){ transition-delay: .6s; } .k-mv__sns li.rv-y:nth-child(2){ transition-delay: .63s; } .k-mv__sns li.rv-y:nth-child(3){ transition-delay: .66s; } .k-mv__sns li.rv-y:nth-child(4){ transition-delay: .69s; }
.is-v .k-mv__sns li.rv-y:nth-child(1){ transition-delay: .6s; } .is-v .k-mv__sns li.rv-y:nth-child(2){ transition-delay: .63s; } .is-v .k-mv__sns li.rv-y:nth-child(3){ transition-delay: .66s; } .is-v .k-mv__sns li.rv-y:nth-child(4){ transition-delay: .69s; }
.k-mv__sc{ display: none; }
.k-mv__ps{ position: absolute; right: .625rem; bottom: .625rem; z-index: 10; width: 6rem; border-radius: .3125rem; overflow: hidden; transform: translateX(calc(100% + 1.25rem)); }
.is-v .k-mv__ps{ transform: none; transition: transform 1.2s 1.4s var(--ease); }
.k-mv__ps__hd{ display: flex; align-items: center; justify-content: center; height: 3.375rem; background: linear-gradient(115deg, #ffcc33, #ffd84d 35%, #ffe066 55%, #ffcc33 80%, #ffd84d); background-size: 300% 100%; animation: k-grad 7s ease-in-out infinite alternate; }
.k-mv__ps__lab{ font: 700 .625rem/.875rem Urbanist, sans-serif; letter-spacing: .04em; text-transform: uppercase; text-align: center; color: var(--kr-ink); }
.k-mv__ps__vw{ position: relative; height: 3.375rem; background: #8e8e8e; }
.k-mv__ps__vw img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-mv__ps__vw::before{ content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(20,20,20,.6); transition: opacity .6s var(--ease); }
.k-mv__ps:hover .k-mv__ps__vw::before{ opacity: .1; }
.k-mv__ps__cr{ position: absolute; z-index: 2; top: 50%; left: 50%; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: #fff; translate: -50% -50%; transition: transform .6s var(--ease); }
.k-mv__ps:hover .k-mv__ps__cr{ transform: scale(.9); }
.k-mv__ps__ar{ position: absolute; z-index: 3; top: 50%; left: calc(50% + 1px); width: 0; height: 0; transform: translate(-50%,-50%); border-style: solid; border-width: 3px 0 3px 5px; border-color: transparent transparent transparent #141414; }
.k-mv__ps__btn{ position: absolute; inset: 0; z-index: 4; }
@media (max-width: 999px){
  .k-mv__media .k-mv__poster, .k-mv__media .k-mv__yt{ display: none; }
  .k-reel{ display: block; position: absolute; inset: 0; background: #141414; }
  .k-reel__poster, .k-reel__v{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .k-reel__v{ opacity: 0; transition: opacity .8s ease; }
  .k-reel__v.is-on{ opacity: 1; }
}
@media (min-width: 1000px){
  .k-mv__fr{ padding: 0 3.90625% 4.875rem; }
  .k-mv__ttl{ margin-left: -.0625rem; font-size: 6.375rem; line-height: 5.9375rem; }
  .k-mv__sns{ max-width: none; margin-top: 4.5625rem; }
  .k-mv__sns li{ margin: 0 1.0625rem 0 0; line-height: 1.625rem; }
  .k-mv__sns a{ font-size: .875rem; line-height: 1.3125rem; }
  .k-mv__sc{ position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: center; width: 10.46875%; height: 100%; }
  .k-mv__sc__bd{ display: inline-flex; align-items: center; height: .9375rem; transform: rotate(90deg); }
  .k-mv__sc__lab{ margin-right: .9375rem; font: 500 .875rem/1 Urbanist, sans-serif; letter-spacing: .04em; }
  .k-mv__sc__hr{ position: relative; display: block; width: 11.25rem; height: 1px; overflow: hidden; background: rgba(255,255,255,.2); }
  .k-mv__sc__hr span{ position: absolute; inset: 0; background: #fff; transform: translateX(-100%); animation: k-sc 2.4s var(--ease) infinite; }
  .k-mv__ps{ right: 1.25rem; bottom: 1.25rem; display: flex; width: 22.5rem; height: 6.25rem; }
  .k-mv__ps__hd, .k-mv__ps__vw{ width: 11.25rem; height: 6.25rem; }
  .k-mv__ps__lab{ font-size: .875rem; line-height: 1.375rem; }
  .k-mv__ps__cr{ width: 3rem; height: 3rem; }
  .k-mv__ps__ar{ border-width: .28125rem 0 .28125rem .5rem; }
}
@keyframes k-sc{ 0%{ transform: translateX(-100%); } 50%{ transform: translateX(0); } 100%{ transform: translateX(100%); } }

/* ショーリールのモーダル */
.k-modal{ position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; }
.k-modal[hidden]{ display: none; }
.k-modal__bg{ position: absolute; inset: 0; background: rgba(20,20,20,.5); }
.k-modal__box{ position: relative; width: min(1100px, 92vw); }
.k-modal__frame{ position: relative; aspect-ratio: 16 / 9; background: #000; }
.k-modal__frame iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.k-modal__close{ position: absolute; right: 0; top: -2.25rem; font: 700 .875rem/1 Urbanist, sans-serif; letter-spacing: .04em; text-transform: uppercase; color: #fff; }

/* ステートメント */
.k-poe{ padding: 5.75rem 10.66667% 6.25rem; overflow: hidden; }
.k-poe__in{ position: relative; z-index: 1; }
.k-poe__tja{ font-size: 1.5rem; line-height: 2.375rem; letter-spacing: .06em; font-weight: 700; }
.k-poe__rd{ margin-top: 1rem; }
.k-poe__rd p{ font-size: 1.25rem; line-height: 2.375rem; letter-spacing: .06em; font-weight: 700; }
.k-poe__cp{ margin-top: 2.25rem; font: 900 min(2.625rem, calc(78vw / 8.3))/0.905 Urbanist, sans-serif; text-transform: uppercase; }   /* 左右の余白(各10.67%)を引いた幅に「ENTERTAINMENT」(約8.1em)が収まる大きさ */
.k-poe__lg{ width: 100%; max-width: 8.5rem; aspect-ratio: 670 / 372; margin-top: .875rem; }
@media (min-width: 1000px){
  .k-poe{ padding: 10.25rem 10.15625% 10rem 15.625%; }
  .k-poe__tja{ font-size: 2.625rem; line-height: 3.4375rem; }
  .k-poe__rd p{ font-size: 1.875rem; line-height: 3.625rem; letter-spacing: .04em; }
  .k-poe__cp{ margin-top: 2.875rem; font-size: 4.375rem; line-height: 4.25rem; }
  .k-poe__lg{ margin-top: 1.5625rem; }
}
@media (min-width: 1280px){
  .k-poe__in{ display: flex; justify-content: center; }
  .k-poe__ct{ display: flex; flex-direction: column; align-items: flex-start; }
  .k-poe__rd{ margin-top: 1.25rem; }
}
/* 余白「広げる」: 見出しと本文に強弱、段落で息継ぎ */
html[data-kr-space="airy"] .k-poe__tja{ font-size: clamp(22px, 2.3vw, 33px); line-height: 1.7; letter-spacing: .08em; }
html[data-kr-space="airy"] .k-poe__rd{ margin-top: clamp(28px, 3vw, 44px); }
html[data-kr-space="airy"] .k-poe__rd p{ font-size: clamp(15px, 1.25vw, 18px); line-height: 2.1; letter-spacing: .1em; font-weight: 500; }
html[data-kr-space="airy"] .k-poe__rd p + p{ margin-top: 1.5em; }
html[data-kr-space="airy"] .k-poe__cp{ margin-top: clamp(48px, 6vw, 96px); }
@media (max-width: 999px){
  html[data-kr-space="airy"] .k-poe__tja{ font-size: 22px; letter-spacing: .05em; }
  html[data-kr-space="airy"] .k-poe__rd p{ letter-spacing: .06em; }
}

/* 実績 */
.k-wk{ background: #d4d4d9; padding: 6.125rem 5.33333% 6.25rem; overflow: hidden; }
.k-wk__ct{ margin-top: 2.9375rem; }
.k-wk__one{ position: relative; border-top: 1px solid silver; padding-top: 2.8125rem; }
.k-wk__ttl{ font: 700 2rem/2rem Urbanist, sans-serif; text-transform: uppercase; }
.k-wk__tag{ margin-top: .5625rem; font-size: .75rem; line-height: 1.125rem; letter-spacing: .04em; font-weight: 500; }
.k-wk__p{ margin-top: 1.875rem; font-size: 1rem; line-height: 1.75rem; letter-spacing: .06em; font-weight: 500; }
.k-wk__list{ display: flex; gap: 1.3125rem; margin: 2.125rem -5.33333vw 0; padding: 0 5.33333vw; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.k-wk__list::-webkit-scrollbar{ display: none; }
.k-wk__crd{ flex: 0 0 17.125rem; scroll-snap-align: start; }
.k-wk__btn{ margin-top: 3.25rem; text-align: right; }
@media (min-width: 1000px){
  .k-wk{ padding: 9.9375rem 7.03125% 10.6875rem; }
  .k-wk__ct{ margin-top: 5.625rem; }
  .k-wk__one{ padding-top: 4.9375rem; }
  .k-wk__ttl{ font-size: 2.75rem; line-height: 2.75rem; }
  .k-wk__tag{ margin-top: .8125rem; font-size: .875rem; line-height: 1rem; }
  .k-wk__p{ margin-top: 3.375rem; font-size: 1.125rem; line-height: 1.96875rem; }
  .k-wk__list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.5rem 2.2%; margin: 4.5rem 0 0; padding: 0; overflow: visible; }
  .k-wk__btn{ position: absolute; top: 5.125rem; right: 0; margin: 0; }
}

/* お知らせ(トップ) */
.k-ns{ padding: 6.125rem 5.33333% 3.125rem; }
.k-ns__in{ position: relative; }
.k-ns__list{ margin-top: 3rem; }
.k-ns__tags{ margin-top: .75rem; }
.k-ns__btn{ margin-top: 3.25rem; text-align: right; }
@media (min-width: 1000px){
  .k-ns{ padding: 9.9375rem 7.03125% 5.0625rem; }
  .k-ns__list{ display: flex; gap: 2.9%; margin-top: 5.8125rem; }
  .k-ns__one{ width: 22.81818%; }
  .k-ns__btn{ position: absolute; top: 2.4375rem; right: 0; margin: 0; }
}

/* 私たちについて / 会社情報(トップ) */
.k-wwh{ padding: 3.125rem 0 3.75rem; }   /* 下はお問い合わせの帯との間の余白 */
.k-wwh__sub{ padding: 0 5.33333%; }
.k-wwh__one{ position: relative; display: block; overflow: hidden; color: #fff; }
.k-wwh__one:first-child{ border-radius: .75rem .75rem 0 0; } .k-wwh__one:last-child{ border-radius: 0 0 .75rem .75rem; }
.k-wwh__one .k-tex{ transition: transform 1s var(--ease); }
.k-wwh__one:hover .k-tex{ transform: scale(1.1); }
.k-wwh__one--y{ color: var(--kr-ink); }
.k-wwh__mt{ position: relative; z-index: 1; padding: 3.875rem 8.95522% 2.4375rem; }
.k-wwh__tag{ font-size: .75rem; line-height: 1.125rem; letter-spacing: .04em; font-weight: 500; }
.k-wwh__ttl{ margin-top: .5625rem; font: 700 1.75rem/1.625rem Urbanist, sans-serif; text-transform: uppercase; }
.k-wwh__ico{ margin-top: 2.9375rem; }
@media (min-width: 1000px){
  .k-wwh{ padding: 5.625rem 0 5.875rem; }
  .k-wwh__sub{ display: flex; padding: 0 3.90625%; }
  .k-wwh__one{ width: 50%; }
  .k-wwh__one:first-child{ border-radius: 1.25rem 0 0 1.25rem; } .k-wwh__one:last-child{ border-radius: 0 1.25rem 1.25rem 0; }
  .k-wwh__mt{ padding: 9.4375rem 10.16949% 3.6875rem; }
  .k-wwh__tag{ font-size: .875rem; line-height: 1.25rem; }
  .k-wwh__ttl{ margin-top: .8125rem; font-size: 2.5rem; line-height: 2.5rem; }
  .k-wwh__ico{ margin-top: 3.5625rem; }
}

/* ---------- 見比べ用の切り替えパネル(見本だけ) ---------- */
.kr-panel{ position: fixed; left: 12px; bottom: 12px; z-index: 100001; display: grid; gap: 6px; padding: 10px 12px; border-radius: 8px; background: rgba(20,20,20,.88); color: #fff; font: 500 11px/1.2 -apple-system, "Hiragino Sans", sans-serif; }
.kr-panel *{ font-family: -apple-system, "Hiragino Sans", sans-serif; }
.kr-panel__row{ display: flex; align-items: center; gap: 4px; }
.kr-panel__lab{ width: 3.6em; opacity: .6; }
.kr-panel button{ padding: 5px 8px; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; font-size: 11px; color: #fff; }
.kr-panel button[aria-pressed="true"]{ background: #ffd84d; border-color: #ffd84d; color: #141414; }
.kr-panel__hide{ position: absolute; top: -10px; right: -10px; width: 22px; height: 22px; padding: 0 !important; border-radius: 50% !important; background: #141414 !important; }
.kr-panel.is-min > :not(.kr-panel__hide){ display: none; }
.kr-panel.is-min{ padding: 0; width: 0; height: 0; }

/* Lenis(慣性スクロール)の推奨設定 */
html.lenis, html.lenis body{ height: auto; }
.lenis.lenis-smooth{ scroll-behavior: auto !important; }
.lenis.lenis-stopped{ overflow: hidden; }

/* =====================================================================
   下層ページ
   ===================================================================== */
/* ページ内の目次(PCは左に縦に固定、スマホは見出しの下に並ぶ) */
.k-pw{ position: relative; }
.k-pnv{ padding: 2.5rem 5.33333% 0; }
.k-pnv__li + .k-pnv__li{ margin-top: 1.375rem; }
.k-pnv__btn{ display: inline-flex; align-items: center; font: 700 1.125rem/1.375rem Urbanist, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.k-pnv__ico{ position: relative; display: inline-block; width: 1.625rem; height: 1.625rem; margin-left: .75rem; border: 1px solid var(--kr-ink); border-radius: 50%; }
.k-pnv__ico::after{ content: ""; position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: .3125rem .1875rem 0 .1875rem; border-color: var(--kr-ink) transparent transparent transparent; }
@media (min-width: 1000px){
  .k-pnv{ position: absolute; top: 0; left: 3.90625%; z-index: 80; width: 15.625rem; height: 100%; padding: 0; pointer-events: none; }
  .k-pnv__win{ position: sticky; top: 0; padding: 6.875rem 0 3.125rem; }
  .k-pnv__li + .k-pnv__li{ margin-top: .9375rem; }
  .k-pnv__btn{ font-size: 1rem; line-height: 1.25rem; color: #8e8e8e; pointer-events: all; transition: color .6s var(--ease); }
  .k-pnv__btn:hover, .k-pnv__btn.is-view{ color: var(--kr-ink); }
  .k-pnv__ico{ display: none; }
}

/* ---------- 私たちについて ---------- */
.k-why{ margin-top: 6.25rem; overflow: hidden; }
.k-why__bd{ position: relative; z-index: 1; padding: 6rem 10.66667% 6.25rem; }
.k-why__chld{ margin-top: 3.125rem; }
.k-why__chtl{ font-size: 1.5rem; line-height: 2.375rem; letter-spacing: .06em; font-weight: 700; }
.k-why__rd{ margin-top: 1rem; }
.k-why__rd p{ font-size: 1rem; line-height: 1.875rem; letter-spacing: .06em; font-weight: 500; }
.k-why__cp{ margin-top: 3.25rem; font: 900 1.75rem/1.625rem Urbanist, sans-serif; text-transform: uppercase; }
.k-why__lg{ width: 100%; max-width: 8.5rem; aspect-ratio: 670 / 372; margin-top: 1.25rem; }
html[data-kr-space="airy"] .k-why__chtl{ line-height: 1.7; letter-spacing: .06em; }
html[data-kr-space="airy"] .k-why__rd p{ line-height: 2.1; letter-spacing: .08em; }
html[data-kr-space="airy"] .k-why__rd p + p{ margin-top: 1.4em; }
@media (max-width: 999px){ .k-why__chtl{ font-size: min(21px, 5.8vw); letter-spacing: .02em !important; } }
@media (min-width: 1000px){
  .k-why{ margin-top: 0; }
  .k-why__bd{ padding: 6.9375rem 7.03125% 8.0625rem calc(15.625rem + 3.90625%); }
  .k-why__chld{ margin-top: 3.5rem; }
  .k-why__chtl{ font-size: 2.625rem; line-height: 3.4375rem; }
  .k-why__rd{ margin-top: .9375rem; }
  .k-why__rd p{ font-size: 1.25rem; line-height: 2.25rem; letter-spacing: .04em; }
  .k-why__cp{ margin-top: 4.75rem; font-size: 2.75rem; line-height: 2.5rem; }
  .k-why__cp .rv-l{ display: inline-block; margin-right: .25em; }
  .k-why__lg{ margin-top: 1.5625rem; }
}
.k-tm{ background: #e9eaee; padding: 4.875rem 5.33333% 4.5625rem; }
.k-tm__ct{ margin-top: 2.3125rem; }
.k-brd{ display: flex; flex-direction: column; gap: 2.25rem; }
.k-brd__fig{ position: relative; aspect-ratio: 1; overflow: hidden; border-radius: .75rem; }
.k-brd__fig .k-tex__label{ position: absolute; left: 7%; bottom: 9%; z-index: 1; font: 600 .9375rem/1 Urbanist, sans-serif; letter-spacing: .04em; color: #fff; }
.k-brd__ttl{ font-size: 1.375rem; line-height: 1.875rem; letter-spacing: .04em; font-weight: 700; }
.k-brd__job{ margin-top: .3125rem; font-size: .875rem; line-height: 1.25rem; letter-spacing: .06em; font-weight: 500; }
@media (min-width: 1000px){
  .k-tm{ padding: 6.9375rem 7.03125% 8.125rem calc(15.625rem + 3.90625%); }
  .k-tm__ct{ margin-top: 4.1875rem; }
  .k-brd{ flex-direction: row; justify-content: space-between; align-items: center; gap: 0; }
  .k-brd__fig{ width: 42.69663%; border-radius: 1.25rem; }
  .k-brd__prf{ width: 50.5618%; margin-top: -1.25rem; }
  .k-brd__ttl{ font-size: 1.5rem; line-height: 2rem; }
  .k-brd__job{ margin-top: .4375rem; }
}

/* ---------- 事業内容 ---------- */
.k-st{ margin-top: 1.25rem; padding: 4.6875rem 5.33333% 4.5rem; overflow: hidden; }
.k-st__ct{ margin-top: 2.0625rem; }
.k-st__ttl{ font: 700 3rem/2.625rem Urbanist, sans-serif; color: var(--kr-ink); }
.k-st__rd{ margin-top: 2.4375rem; font-size: .875rem; line-height: 1.875rem; letter-spacing: .06em; font-weight: 500; }
.k-sr{ padding: 4.6875rem 5.33333% 5rem; overflow: hidden; }
.k-sr__ct{ margin-top: 1.5rem; }
.k-sr__cp{ font-size: 1.125rem; line-height: 1.875rem; letter-spacing: .06em; font-weight: 500; }
.k-sr__list{ margin-top: 2.125rem; }
.k-sr__one{ border: 1px solid #dfdfdf; border-radius: .75rem; background: #fff; padding: 2.1875rem 8.95522% 2.5rem; }
.k-sr__one + .k-sr__one{ margin-top: 1.875rem; }
.k-sr__ttl{ font: 700 1.125rem/1.375rem Urbanist, sans-serif; color: var(--kr-ink); }
.k-sr__sub{ margin-top: .9375rem; font-size: 1.125rem; line-height: 1.875rem; letter-spacing: .06em; font-weight: 500; }
.k-sr__rd{ margin-top: 1rem; font-size: .75rem; line-height: 1.5rem; letter-spacing: .05em; font-weight: 500; }
html[data-kr-space="airy"] :is(.k-st__rd, .k-sr__rd, .k-sr__cp){ line-height: 2.1; letter-spacing: .06em; }
.k-swr{ padding: 4.8125rem 5.33333% 5rem; overflow: hidden; position: relative; }
.k-swr .k-wk__list{ margin-top: 2.5rem; }
.k-swr__btn{ margin-top: 3.25rem; text-align: right; }
@media (min-width: 1000px){
  .k-st{ padding: 5.5625rem 7.03125% 7.5625rem calc(15.625rem + 3.90625%); }
  .k-st__ct{ margin-top: 2.9375rem; }
  .k-st__ttl{ font-size: 5.5rem; line-height: 5.125rem; }
  .k-st__rd{ margin-top: 2.5rem; font-size: 1.125rem; line-height: 2.25rem; letter-spacing: .04em; }
  .k-sr{ padding: 6.4375rem 7.03125% 7.8125rem calc(15.625rem + 3.90625%); }
  .k-sr__ct{ margin-top: 2.5625rem; }
  .k-sr__cp{ font-size: 1.375rem; line-height: 2.125rem; letter-spacing: .04em; }
  .k-sr__list{ display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 3.75rem; }
  .k-sr__one{ width: 48.31461%; border-radius: 1.25rem; padding: 3rem 11.62791%; }
  .k-sr__one + .k-sr__one{ margin-top: 0; }
  .k-sr__one:nth-child(n+3){ margin-top: 1.875rem; }
  .k-sr__sub{ width: 110%; margin-top: 1.5625rem; font-size: 1.375rem; line-height: 2.125rem; letter-spacing: .04em; }
  .k-sr__rd{ margin-top: .8125rem; font-size: .875rem; line-height: 1.75rem; }
  .k-swr{ padding: 6.4375rem 7.03125% 1.875rem calc(15.625rem + 3.90625%); }
  .k-swr .k-wk__list{ margin-top: 4.75rem; }
  .k-swr__btn{ position: absolute; top: 6.5625rem; right: 7.03125%; margin: 0; z-index: 10; }
}

/* ---------- 一覧(実績・お知らせ) ---------- */
.k-list{ padding: 0 5.33333%; margin-top: 4rem; }
.k-list__g{ margin-top: 4.4375rem; }
.k-list__one + .k-list__one{ margin-top: 1.875rem; }
@media (min-width: 768px){
  .k-list__g{ display: flex; flex-wrap: wrap; }
  .k-list__one{ width: 30.9417%; margin-left: 3.58744%; }
  .k-list__one + .k-list__one{ margin-top: 0; }
  .k-list__one:nth-child(3n+1){ margin-left: 0; }
  .k-list__one:nth-child(n+4){ margin-top: 1.875rem; }
}
@media (min-width: 1000px){
  .k-list{ padding: 0 7.03125%; margin-top: 5.125rem; }
  .k-list__g{ width: 74.33333%; margin-top: 0; }
  .k-list__one:nth-child(n+4){ margin-top: 3.875rem; }
}
.k-list + .k-cv, .k-art + .k-cv{ margin-top: 6.25rem; }
@media (min-width: 1000px){ .k-list + .k-cv, .k-art + .k-cv{ margin-top: 9.375rem; } }

/* ---------- お知らせ記事 ---------- */
.k-ndh{ padding: 7.1875rem 5.33333% 0; }
.k-ndh__date{ font: 500 .75rem/1.125rem Urbanist, sans-serif; letter-spacing: .06em; color: #646464; }
.k-ndh__ttl{ margin-top: .5625rem; font-size: 1.25rem; line-height: 1.875rem; letter-spacing: .05em; font-weight: 700; }
.k-ndh .k-tags{ margin-top: 1rem; }
.k-art{ margin-top: 3.3125rem; padding: 0 10.66667%; font-size: .875rem; line-height: 1.625rem; letter-spacing: .042em; }
.k-art p{ margin: 1.25rem 0; } .k-art p:first-child{ margin-top: 0; }
.k-art figure{ position: relative; aspect-ratio: 16 / 9; margin: 3.3125rem 0 0; overflow: hidden; border-radius: .75rem; background: #000; }
.k-art iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* お知らせ記事の本文(担当者がブロックエディタで書く) */
.k-art h2{ margin: 2.5rem 0 1rem; font-size: 1.25rem; line-height: 1.6; font-weight: 700; }
.k-art h3{ margin: 2rem 0 .75rem; font-size: 1.0625rem; line-height: 1.6; font-weight: 700; }
.k-art ul, .k-art ol{ margin: 1.25rem 0; padding-left: 1.5em; }
.k-art ul{ list-style: disc; } .k-art ol{ list-style: decimal; }
.k-art li + li{ margin-top: .4em; }
.k-art a:not(.wp-block-button__link){ text-decoration: underline; text-underline-offset: .2em; }
.k-art img{ max-width: 100%; height: auto; border-radius: .5rem; }
.k-art figure.wp-block-image, .k-art figure.wp-block-gallery{ aspect-ratio: auto; margin: 2rem 0; background: none; overflow: visible; }
.k-art figcaption{ margin-top: .5rem; font-size: .75rem; color: #646464; }
.k-art blockquote{ margin: 1.5rem 0; padding-left: 1rem; border-left: 3px solid #ffd84d; }
.k-art .wp-block-buttons{ margin: 2rem 0; }
.k-art .wp-block-button__link{ background: #141414; color: #fff; }
/* YouTube の hqdefault は上下に黒帯が入った4:3。帯の分だけ拡大して隠す */
.k-ncard__img--yt{ background-size: auto 134% !important; background-position: center !important; }
@media (min-width: 1000px){
  .k-ndh{ padding: 18.5rem 7.03125% 0; }
  .k-ndh__date{ font-size: .875rem; line-height: 1.25rem; }
  .k-ndh__ttl{ margin-top: .875rem; font-size: 2.75rem; line-height: 4rem; }
  .k-ndh .k-tags{ margin-top: 1.625rem; }
  .k-art{ margin-top: 6.0625rem; padding: 0 15.23438%; font-size: 1.125rem; line-height: 2.25rem; }
  .k-art figure{ margin-top: 5.1875rem; border-radius: 1.25rem; }
}

/* ---------- 会社情報 ---------- */
.k-bw{ padding: 0 5.33333%; }
.k-bw__bd{ margin-top: 2.375rem; }
.k-ab{ padding: 3.8125rem 0 4.75rem; }
.k-ab__row{ border-top: 1px solid #c0c0c0; padding-top: 1.6875rem; }
.k-ab__row + .k-ab__row{ margin-top: 1.625rem; }
.k-ab__dt{ font-size: .8125rem; line-height: 1.625rem; letter-spacing: .06em; font-weight: 500; }
.k-ab__dd{ margin-top: .625rem; font-size: .875rem; line-height: 1.625rem; letter-spacing: .06em; font-weight: 500; }
.k-ac{ background: #ebedf0; padding: 5.125rem 0 5rem; }
.k-ac__map{ position: relative; overflow: hidden; border-radius: 1.25rem; background: #ddd; }
.k-ac__map::before{ content: ""; display: block; padding-top: 56.71642%; }
.k-ac__map iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(100%); }
.k-ac__data{ margin-top: 1.625rem; border-bottom: 1px solid #c0c0c0; padding-bottom: 1.625rem; }
.k-ac__dt{ font: 500 .875rem/1.625rem Urbanist, sans-serif; letter-spacing: .04em; }
.k-ac__dd{ margin-top: .4375rem; font-size: .875rem; line-height: 1.625rem; letter-spacing: .04em; font-weight: 500; }
@media (min-width: 1000px){
  .k-bw{ display: flex; justify-content: space-between; padding: 0 7.03125%; }
  .k-bw__hd{ width: 21.25rem; }
  .k-bw__hb{ position: sticky; top: 0; padding: 6.9375rem 0 3.125rem; }
  .k-bw__bd{ width: calc(100% - 21.25rem); margin: 0; padding: 6.875rem 0 7.9375rem; }
  .k-ab{ margin-top: 1.25rem; padding: 0; }
  .k-ab__row{ display: flex; padding-top: 2.125rem; }
  .k-ab__row + .k-ab__row{ margin-top: 2rem; }
  .k-ab__dt{ width: 14.375rem; font-size: 1rem; line-height: 1.75rem; }
  .k-ab__dd{ width: calc(100% - 14.375rem); margin: 0; font-size: 1rem; line-height: 1.75rem; }
  .k-ac{ padding: 0; }
  .k-ac__map::before{ padding-top: 55.92105%; }
  .k-ac__data{ display: flex; margin-top: 2rem; border: 0; padding: 0; }
  .k-ac__dt{ width: 14.375rem; font-size: 1.125rem; line-height: 1.75rem; letter-spacing: 0; font-weight: 700; }
  .k-ac__dd{ width: calc(100% - 14.375rem); margin: 0; font-size: 1rem; line-height: 1.75rem; }
}

/* ---------- お問い合わせ ---------- */
.k-ct{ padding: 3.75rem 5.33333% 1.25rem; }
.k-fp + .k-fp{ margin-top: 1.75rem; }
.k-fp__dt{ display: flex; align-items: center; font-size: .8125rem; line-height: 1.125rem; letter-spacing: .06em; font-weight: 500; }
.k-fp__req{ display: inline-flex; align-items: center; justify-content: center; width: 1.8125rem; height: 1rem; margin-left: .5625rem; border-radius: .125rem; font-size: .5625rem; letter-spacing: .01em; font-weight: 500; background: #ffd84d; color: #141414; }
.k-fp__req--opt{ background: transparent; border: 1px solid rgba(20,20,20,.2); }
.k-fp__dd{ margin-top: .625rem; }
.k-fp__in{ display: block; width: 100%; height: 2.6875rem; border: 0; border-bottom: 1px solid #c3c3c3; border-radius: 0; background: none; font: inherit; font-size: .875rem; line-height: 1.75rem; letter-spacing: .06em; outline: 0; transition: border-color .3s var(--ease); }
textarea.k-fp__in{ height: auto; min-height: 11.25rem; margin-top: .625rem; border: 1px solid #c3c3c3; padding: .3125rem .875rem; resize: vertical; }
.k-fp__in:focus{ border-color: #141414; }
.k-fp__note{ margin-top: .6em; font-size: .75rem; line-height: 1.6; color: #8e8e8e; }
.k-ct__btn{ margin-top: 3.3125rem; }
.k-ct__btn button, .k-ct__btn a, .k-mw .Form-Btn{ display: block; width: 100%; max-width: 21.875rem; height: 3.5625rem; margin: 0 auto; border: 1px solid #141414; border-radius: .25rem; background: #141414; color: #fff; font: 500 .9375rem/1 Urbanist, sans-serif; transition: color .6s var(--ease), background-color .6s var(--ease); }
.k-ct__btn button:hover, .k-ct__btn a:hover, .k-mw .Form-Btn:hover{ background: #fff; color: #141414; }
.k-ct__btn a{ display: flex; align-items: center; justify-content: center; }
.k-done__rd p{ font-size: .875rem; line-height: 1.9; letter-spacing: .06em; }
.k-done__rd p + p{ margin-top: 1em; }
.k-ct__msg{ margin-top: 1.25rem; text-align: center; font-size: .6875rem; line-height: 1.375rem; letter-spacing: .06em; color: #8e8e8e; }
.k-ct__msg.is-on{ color: var(--kr-ink); font-weight: 700; }
@media (min-width: 1000px){
  .k-ct{ padding: 5.25rem 7.03125% 4.375rem; }
  .k-fp + .k-fp{ margin-top: 2.25rem; }
  .k-fp__dt{ font-size: 1rem; line-height: 1.25rem; }
  .k-fp__req{ width: 2.25rem; height: 1.375rem; margin-left: .875rem; border-radius: .1875rem; font-size: .625rem; }
  .k-fp__dd{ margin-top: 1.1875rem; }
  .k-fp__in{ height: 3rem; font-size: 1rem; line-height: 2rem; }
  textarea.k-fp__in{ min-height: 11.625rem; }
  .k-ct__btn{ margin-top: 3.125rem; }
  .k-ct__btn button, .k-ct__btn a, .k-mw .Form-Btn{ height: 4.875rem; font-size: 1.25rem; font-weight: 700; }
  .k-done__rd{ max-width: 46rem; margin: 0 auto; }
  .k-done__rd p{ font-size: 1rem; }
  .k-ct__msg{ font-size: .875rem; line-height: 1.75rem; }
}

/* ---------- 所属俳優紹介 ---------- */
.k-mem{ display: flex; flex-direction: column; gap: 2.25rem; }
.k-mem + .k-mem{ margin-top: 3.75rem; }
.k-mem__fig{ overflow: hidden; border-radius: .75rem; aspect-ratio: 4 / 5; background: #d4d4d9; }
.k-mem__fig img{ width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.k-mem__ttl{ font-size: 1.375rem; line-height: 1.875rem; letter-spacing: .04em; font-weight: 700; }
.k-mem__job{ margin-top: .3125rem; font-size: .875rem; line-height: 1.25rem; letter-spacing: .06em; font-weight: 500; }
.k-mem__sns{ display: flex; gap: 1rem; margin-top: 1rem; }
.k-mem__sns a{ font-size: .875rem; line-height: 1.3125rem; letter-spacing: .04em; color: #8e8e8e; transition: color .6s var(--ease); }
.k-mem__sns a:hover{ color: var(--ink); }
.k-mem__rd{ margin-top: 1.5rem; border-top: 1px solid #c0c0c0; }
.k-mem__g{ padding-top: 1.0625rem; }
.k-mem__gh{ font-size: .8125rem; line-height: 1.625rem; letter-spacing: .06em; font-weight: 700; }
.k-mem__g ul{ margin-top: .25rem; }
.k-mem__g li{ position: relative; padding-left: 1em; font-size: .8125rem; line-height: 1.625rem; letter-spacing: .04em; font-weight: 500; }
.k-mem__g li::before{ content: ""; position: absolute; left: .2em; top: .8em; width: .3em; height: .3em; border-radius: 50%; background: #8e8e8e; }
@media (min-width: 1000px){
  .k-mem{ flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 0; }
  .k-mem + .k-mem{ margin-top: 5rem; }
  .k-mem__fig{ width: 42.69663%; border-radius: 1.25rem; }
  .k-mem__prf{ width: 50.5618%; }
  .k-mem__ttl{ font-size: 1.5rem; line-height: 2rem; }
  .k-mem__job{ margin-top: .4375rem; }
  .k-mem__rd{ margin-top: 1.75rem; }
  .k-mem__g{ padding-top: 1.25rem; }
  .k-mem__gh{ font-size: .875rem; line-height: 1.75rem; }
  .k-mem__g li{ font-size: .875rem; line-height: 1.75rem; letter-spacing: .05em; }
}

/* =====================================================================
   HPと同じ構成に合わせた部品(2026-10-02)
   ===================================================================== */
/* ヘッダー・メニュー・フッターは HP と同じ日本語の6項目 */
@media (min-width: 1280px){ .k-gn__lab{ font: 700 .9375rem/1.25rem "Zen Maru Gothic", 游ゴシック体, "Yu Gothic", sans-serif; letter-spacing: .06em; text-transform: none; } }
.k-nv__a{ font-family: "Zen Maru Gothic", 游ゴシック体, "Yu Gothic", sans-serif; font-size: 1.375rem; line-height: 2.25rem; letter-spacing: .06em; text-transform: none; }
@media (min-width: 1000px){ .k-nv__a{ font-size: 1.375rem; line-height: 1.75rem; } }
.k-ft__nv a{ font-family: "Zen Maru Gothic", 游ゴシック体, "Yu Gothic", sans-serif; font-size: 1rem; letter-spacing: .06em; text-transform: none; }

/* トップ: ステートメントの副題 */
.k-poe__sub{ margin-top: .75rem; font-size: .9375rem; line-height: 1.75rem; letter-spacing: .08em; font-weight: 500; }
@media (min-width: 1000px){ .k-poe__sub{ margin-top: 1rem; font-size: 1.125rem; line-height: 2rem; } }

/* トップ: Purpose */
.k-pp{ padding: 6.125rem 5.33333% 6.25rem; }
.k-pp__ttl{ margin-top: 1.5rem; font-size: min(1.625rem, 6.9vw); line-height: 2.5rem; letter-spacing: .06em; font-weight: 700; }
.k-pp__rd{ margin-top: 2rem; }
.k-pp__rd p{ font-size: .9375rem; line-height: 2.1; letter-spacing: .06em; font-weight: 500; }
.k-pp__rd p + p{ margin-top: 1.4em; }
.k-pp__btn{ margin-top: 3rem; text-align: right; }
@media (min-width: 1000px){
  .k-pp{ padding: 9.9375rem 7.03125% 9.9375rem 15.625%; }
  .k-pp__in{ position: relative; }
  .k-pp__ttl{ margin-top: 2rem; font-size: 2.625rem; line-height: 3.75rem; }
  .k-pp__rd{ margin-top: 3rem; }
  .k-pp__rd p{ font-size: 1.125rem; }
  .k-pp__btn{ position: absolute; top: 0; right: 0; margin: 0; }
}

/* 事業紹介(3事業のカード) */
.k-biz{ padding: 6.125rem 5.33333% 6.25rem; }
.k-biz__p{ margin-top: 1.875rem; font-size: .9375rem; line-height: 1.75rem; letter-spacing: .06em; font-weight: 500; }
.k-biz__list{ margin-top: 2.5rem; }
.k-biz__one{ position: relative; display: block; overflow: hidden; border-radius: .75rem; color: #fff; }
.k-biz__one + .k-biz__one{ margin-top: 1rem; }
.k-biz__one--y{ color: var(--kr-ink); }
.k-biz__one .k-tex{ transition: transform 1s var(--ease); }
.k-biz__one:hover .k-tex{ transform: scale(1.1); }
.k-biz__mt{ position: relative; z-index: 1; padding: 3rem 8.95522% 2.25rem; }
.k-biz__tag{ font-size: .875rem; line-height: 1.25rem; letter-spacing: .06em; font-weight: 700; }
.k-biz__ttl{ margin-top: .5rem; font: 700 1.75rem/1.75rem Urbanist, sans-serif; text-transform: uppercase; }
.k-biz__lead{ margin-top: 1rem; font-size: .875rem; line-height: 1.625rem; letter-spacing: .06em; font-weight: 500; }
.k-biz__ico{ margin-top: 2rem; }
.k-biz__one[aria-current="page"]{ outline: 2px solid var(--kr-ink); outline-offset: 4px; }
.k-tex--light{ background: #fff; box-shadow: inset 0 0 0 1px #e2e2e2; }
.k-tex--light::before{ background-image: radial-gradient(circle, rgba(255,204,51,.6) 0 1.5px, transparent 2px); }
.k-tex--light ~ .k-biz__mt .k-blk--w{ background: #232323; color: #fff; }
@media (min-width: 1000px){
  .k-biz{ padding: 9.9375rem 7.03125% 9.9375rem; }
  .k-biz__hd{ display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; }
  .k-biz__p{ margin: 0 0 .5rem; font-size: 1.125rem; line-height: 2rem; text-align: right; }
  .k-biz__list{ display: flex; gap: 2.2%; margin-top: 4.5rem; }
  .k-biz__one{ flex: 1; border-radius: 1.25rem; }
  .k-biz__one + .k-biz__one{ margin-top: 0; }
  .k-biz__mt{ padding: 7rem 11% 2.75rem; }
  .k-biz__tag{ font-size: 1rem; }
  .k-biz__ttl{ margin-top: .75rem; font-size: 2.25rem; line-height: 2.25rem; }
  .k-biz__lead{ margin-top: 1.25rem; font-size: 1rem; line-height: 1.75rem; }
  .k-biz__ico{ margin-top: 2.75rem; }
}

/* 事業ページ: コンセプトの段(本文を少し大きく)・サービス3枚 */
.k-why__rd--lg p{ font-size: .9375rem; }
@media (min-width: 1000px){ .k-why__rd--lg p{ font-size: 1.125rem; } }
.k-why__chld:first-child{ margin-top: 0; }
.k-sr__lab{ font: 700 .75rem/1rem Urbanist, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #8e8e8e; }
.k-sr__lab + .k-sr__ttl{ margin-top: .5rem; }
@media (min-width: 1000px){
  .k-sr__list--3 .k-sr__one{ width: 31.8%; padding: 2.75rem 2.25rem 3rem; }
  .k-sr__list--3 .k-sr__one:nth-child(n+3){ margin-top: 0; }
  .k-sr__list--3 .k-sr__sub{ width: auto; font-size: 1.1875rem; line-height: 1.95rem; }
}

/* 会社概要: 左の目次が無いページなので WHY WE EXIST は全幅で組む */
.k-why--full{ margin-top: 4rem; }
@media (min-width: 1000px){ .k-why--full{ margin-top: 5.125rem; } .k-why--full .k-why__bd{ padding-left: 15.625%; } }
/* トップ: 文章の締めの署名(HPの「KORORIN.」) */
.k-poe__sign{ margin-top: 2rem; font: 800 .9375rem/1 Urbanist, sans-serif; letter-spacing: .32em; }
@media (min-width: 1000px){ .k-poe__sign{ margin-top: 2.5rem; font-size: 1rem; } }

/* ===== お問い合わせ(本番の MW WP Form の部品を、見本の k-fp と同じ見た目にする) ===== */
.k-mw .Form-Item + .Form-Item{ margin-top: 1.75rem; }
.k-mw :where(.Form-Item p){ margin: 0; }   /* :where で詳細度を0にし、下の「必須」バッジ等の余白を消さない */
.k-mw .Form-Item br{ display: none; }
.k-mw .flex-botan{ display: flex; flex-wrap: wrap; align-items: center; row-gap: .375rem; }
.k-mw .flex-botan-pc{ display: none; }
.k-mw .Form-Item-Label{ font-size: .8125rem; line-height: 1.125rem; letter-spacing: .06em; font-weight: 500; }
.k-mw .Form-Item-Label-Required, .k-mw .Form-Item-Label-NO-Required{ display: inline-flex; align-items: center; justify-content: center; width: 1.8125rem; height: 1rem; margin-left: .5625rem; border-radius: .125rem; font-size: .5625rem; letter-spacing: .01em; font-weight: 500; background: #ffd84d; color: #141414; }
.k-mw .Form-Item-Label-NO-Required{ background: transparent; border: 1px solid rgba(20,20,20,.2); }
.k-mw .Form-Item-Sub{ flex-basis: 100%; font-size: .75rem; line-height: 1.6; color: #8e8e8e; }
.k-mw .flex-botan-sp .Form-Item-Sub{ margin-top: .375rem; }
.k-mw .flex-item + .flex-item{ margin-top: 1.75rem; }
.k-mw .Form-Item-Input{ display: block; width: 100%; height: 2.6875rem; margin-top: .625rem; border: 0; border-bottom: 1px solid #c3c3c3; border-radius: 0; background: none; font: inherit; font-size: 1rem; line-height: 1.75rem; letter-spacing: .06em; outline: 0; transition: border-color .3s var(--ease); }
.k-mw textarea.Form-Item-Input{ height: auto; min-height: 11.25rem; border: 1px solid #c3c3c3; padding: .3125rem .875rem; resize: vertical; }
.k-mw .Form-Item-Input:focus{ border-color: #141414; }
.k-mw .Form-sousin{ margin-top: 3.3125rem; }
.k-mw .Form-Btn{ display: block; width: 100%; max-width: 21.875rem; height: 3.5625rem; margin: 0 auto; border: 1px solid #141414; border-radius: .25rem; background: #141414; color: #fff; font: 500 .9375rem/1 "Zen Maru Gothic", sans-serif; cursor: pointer; -webkit-appearance: none; appearance: none; transition: color .6s var(--ease), background-color .6s var(--ease); }
.k-mw .error{ display: block; margin-top: .5rem; font-size: .75rem; line-height: 1.6; font-weight: 700; color: var(--kr-ink); }
@media (min-width: 1000px){
  .k-mw .Form-Item + .Form-Item{ margin-top: 2.25rem; }
  .k-mw .flex-botan-pc{ display: flex; }
  .k-mw .flex-botan-sp{ display: none; }
  .k-mw .Form-Item-Label{ font-size: 1rem; line-height: 1.25rem; }
  .k-mw .Form-Item-Label-Required, .k-mw .Form-Item-Label-NO-Required{ width: 2.25rem; height: 1.375rem; margin-left: .875rem; border-radius: .1875rem; font-size: .625rem; }
  .k-mw .Form-Item-Sub{ flex-basis: auto; margin-left: 1rem; font-size: .8125rem; }
  .k-mw .flex-box{ display: flex; gap: 3rem; }
  .k-mw .flex-item{ flex: 1; }
  .k-mw .flex-item + .flex-item{ margin-top: 0; }
  .k-mw .Form-Item-Input{ height: 3rem; margin-top: 1.1875rem; line-height: 2rem; }
  .k-mw textarea.Form-Item-Input{ min-height: 11.625rem; }
  .k-mw .Form-sousin{ margin-top: 3.125rem; }
}
