@charset "utf-8";
/* 株式会社ハイッジワン — 共通スタイル
   PC/SP 共通の見た目はこのファイル。768px での出し分けは pc.css / sp.css。
   クラス名の規則: <スコープ><役割>
     header* / footer*  全ページ共通のヘッダー・フッター
     cmn*               3ページ以上で使い回すパーツ
     top* sv* st* rv* wk* stf* cmp* rc* nw* nd* ct* pp*  各ページ（数字はセクション番号）
   役割: W/Inner/Grid/Flex=枠  Ttl/Sub=見出し  Txt=本文  Btn/Link=リンク
         Lbl/En/Tag/Mark=ラベル  Img=画像  Icon=アイコン  List/Item=リスト */

/* ============================================================
   ベース
   ============================================================ */

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #f6f3ea;
    color: #1b1916;
    font-family: 'Noto Sans JP', sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

::selection {
    background: #b8975a;
    color: #fff;
}

/* テーマ変数（dc-runtime が :root にも同じ値を設定する） */
:root {
    --accent: #b8975a;
    --ink: #141416;
    --paper: #f6f3ea;
    --sand: #ece4d6;
}

/* 画像スロット：枠に合わせて中央トリミング */
image-slot {
    display: block;
    position: relative;
    overflow: hidden;
    background: #ece4d6;
}

image-slot img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
}

/* PC / SP 出し分け（pc.css・sp.css で切り替え） */
.pc, .sp {
    display: none;
}


/* ============================================================
   ヘッダー（全ページ共通）
   ============================================================ */

.headerBtn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    box-shadow: 0 6px 20px rgba(0,0,0,.3);
}

.headerBtnArw {
    font-family: 'Cormorant Garamond',serif;
}

.headerCopy {
    font-size: 10px;
    letter-spacing: .14em;
    color: #f4efe5;
}

.headerFlex4 {
    display: flex;
    align-items: center;
    gap: 20px;
}

.headerInner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 10px clamp(20px,4vw,44px);
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.headerLink3 {
    font-size: 15px;
    letter-spacing: .05em;
    color: var(--accent,#b8975a);
    font-weight: 600;
    border-bottom: 1px solid var(--accent,#b8975a);
    padding-bottom: 4px;
}

.headerLink4 {
    font-size: 15px;
    letter-spacing: .04em;
    color: #e7e2d8;
}

.headerLink5 {
    font-size: 15px;
    letter-spacing: .04em;
    color: var(--accent,#b8975a);
    font-weight: 600;
    border-bottom: 1px solid var(--accent,#b8975a);
    padding-bottom: 4px;
}

.headerLogo {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.headerLogoEn {
    font-family: 'Cormorant Garamond',serif;
    font-size: 11px;
    letter-spacing: .42em;
    color: #9c9486;
}

.headerLogoIcon {
    width: 50px;
    height: 50px;
    border: 1.5px solid var(--accent,#b8975a);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Shippori Mincho',serif;
    font-size: 24px;
    color: var(--accent,#b8975a);
}

.headerLogoName {
    font-family: 'Shippori Mincho',serif;
    font-size: 19px;
    letter-spacing: .05em;
    color: #f4efe5;
}

.headerLogoRow {
    display: flex;
    align-items: center;
    gap: 14px;
}

.headerNav {
    display: flex;
    align-items: center;
    gap: clamp(18px,2.4vw,38px);
}

.headerNav2 {
    display: flex;
    align-items: center;
    gap: clamp(14px,1.9vw,30px);
}

.headerNav3 {
    display: flex;
    align-items: center;
    gap: clamp(13px,1.7vw,28px);
}

.headerNavLink {
    font-size: 15px;
    letter-spacing: .05em;
    color: #e7e2d8;
}

.headerR {
    display: flex;
    align-items: center;
    gap: 24px;
}

.headerTel {
    font-family: 'Cormorant Garamond',serif;
    font-size: 21px;
    letter-spacing: .04em;
    color: #f4efe5;
}

.headerTelLbl {
    font-size: 10px;
    letter-spacing: .16em;
    color: var(--accent,#b8975a);
}

.headerTelW {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    line-height: 1;
}

.headerWrap {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(18,18,20,.92);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255,255,255,.08);
}


/* ============================================================
   フッター（全ページ共通）
   ============================================================ */

.footerEn2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .24em;
    color: #5e594f;
}

.footerFlex {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.footerFlex2 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

.footerFlex3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: clamp(40px,5vw,64px);
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.footerFlex4 {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.footerGrid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 40px;
}

.footerInner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.footerLbl2 {
    font-size: 12px;
    color: #7c766b;
}

.footerLink2 {
    font-size: 14px;
    color: var(--accent,#b8975a);
}

.footerLink3 {
    font-size: 12px;
    color: #9c958a;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(156,149,138,.4);
}

.footerLogoEn {
    font-family: 'Cormorant Garamond',serif;
    font-size: 11px;
    letter-spacing: .42em;
    color: #8c857a;
}

.footerLogoIcon {
    width: 48px;
    height: 48px;
    border: 1.5px solid var(--accent,#b8975a);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Shippori Mincho',serif;
    font-size: 22px;
    color: var(--accent,#b8975a);
}

.footerLogoName {
    font-family: 'Shippori Mincho',serif;
    font-size: 18px;
    letter-spacing: .05em;
    color: #f4efe5;
}

.footerNavLink {
    font-size: 14px;
    color: #9c958a;
}

.footerTxt {
    font-size: 13.5px;
    line-height: 2;
    color: #9c958a;
    margin: 0;
    max-width: 340px;
}

.footerW {
    font-family: 'Shippori Mincho',serif;
    font-size: 15px;
    letter-spacing: .06em;
    color: #f4efe5;
    margin-bottom: 24px;
}

.footerW2 {
    font-size: 13.5px;
    line-height: 1.9;
    color: #9c958a;
    margin-bottom: 20px;
}

.footerW3 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 22px;
    letter-spacing: .04em;
    color: #f4efe5;
    margin-bottom: 8px;
}

.footerWrap {
    background: #141416;
    color: #cfc9bd;
    padding: clamp(60px,7vw,90px) 0 36px;
    border-top: 1px solid rgba(255,255,255,.07);
}


/* ============================================================
   共通パーツ（3ページ以上で使用）
   ============================================================ */

.cmnBtn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 20px 40px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    box-shadow: 0 12px 30px rgba(0,0,0,.4);
}

.cmnBtn2 {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 20px 38px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 64%,#fff),var(--accent,#b8975a) 52%,color-mix(in srgb,var(--accent,#b8975a) 80%,#000));
    color: #1a1407;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    box-shadow: 0 12px 30px rgba(0,0,0,.4);
}

.cmnBtn3 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 20px 34px;
    border: 1px solid rgba(255,255,255,.32);
    color: #f0ebe1;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .05em;
}

.cmnEn {
    font-family: 'Cormorant Garamond',serif;
    font-size: 14px;
    letter-spacing: .34em;
    color: var(--accent,#b8975a);
}

.cmnEn2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 18px;
}

.cmnEn3 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 14px;
    letter-spacing: .3em;
    color: var(--accent,#b8975a);
}

.cmnEn4 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 14px;
    letter-spacing: .32em;
    color: var(--accent,#b8975a);
}

.cmnEn5 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 15px;
    letter-spacing: .36em;
    color: var(--accent,#b8975a);
}

.cmnEn6 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 16px;
}

.cmnEn7 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 19px;
}

.cmnEn8 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 16px;
    color: var(--accent,#b8975a);
}

.cmnEn9 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 15px;
    color: var(--accent,#b8975a);
    letter-spacing: .1em;
}

.cmnFlex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 30px;
}

.cmnFlex2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    flex-wrap: wrap;
}

.cmnFlex3 {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}

.cmnFlex4 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .14em;
    color: #9c948a;
}

.cmnFlex5 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.cmnFlex6 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 24px;
}

.cmnFlex7 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.cmnFlex8 {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.cmnFlex9 {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cmnFlex10 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 26px;
}

.cmnGrid {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: clamp(40px,5vw,80px);
    align-items: center;
}

.cmnGrid2 {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 24px;
}

.cmnGrid3 {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: clamp(24px,2.4vw,36px);
}

.cmnImg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.cmnImg2 {
    width: 100%;
    height: 100%;
    display: block;
}

.cmnInner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.cmnInner2 {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.cmnInner3 {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.cmnInner4 {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(70px,9vw,120px) clamp(20px,4vw,44px) clamp(40px,5vw,60px);
}

.cmnInner5 {
    position: relative;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.cmnInner6 {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.cmnLayer {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(15,15,17,.9) 0%,rgba(15,15,17,.66) 45%,rgba(15,15,17,.4) 100%),radial-gradient(120% 90% at 80% 10%,rgba(184,151,90,.16),transparent 55%);
}

.cmnLbl2 {
    width: 40px;
    height: 1px;
    background: var(--accent,#b8975a);
}

.cmnLbl3 {
    color: var(--accent,#b8975a);
}

.cmnLbl4 {
    width: 38px;
    height: 1px;
    background: var(--accent,#b8975a);
}

.cmnLbl5 {
    color: #5e594f;
}

.cmnLbl6 {
    color: #e7e2d8;
}

.cmnLbl7 {
    color: #cfc9bd;
}

.cmnLbl8 {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.cmnLbl9 {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .06em;
    color: #e9c98a;
}

.cmnLink {
    color: #9c948a;
}

.cmnMark {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent,#b8975a);
}

.cmnSec {
    background: #141416;
    color: #f4efe5;
    padding: clamp(90px,10vw,150px) 0;
    text-align: center;
}

.cmnSec2 {
    background: var(--paper,#f6f3ea);
    padding: clamp(80px,9vw,130px) 0;
}

.cmnSec3 {
    background: #fff;
    padding: clamp(80px,9vw,130px) 0;
}

.cmnSec4 {
    position: relative;
    /* background: #141416; */
    color: #f4efe5;
    overflow: hidden;
}

.cmnSec5 {
    position: relative;
    background: #141416;
    color: #f4efe5;
    padding: clamp(80px,9vw,130px) 0;
    overflow: hidden;
}

.cmnSec6 {
    position: relative;
    background: #141416;
    color: #f4efe5;
    overflow: hidden;
    min-height: clamp(360px,42vw,480px);
    display: flex;
    align-items: flex-end;
}

.cmnStack {
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1;
}

.cmnTtl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.8vw,50px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 28px;
}

.cmnTtl2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(34px,4.6vw,60px);
    line-height: 1.3;
    letter-spacing: .05em;
    margin: 0 0 26px;
}

.cmnTtl3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.2vw,42px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0;
}

.cmnTxt {
    font-size: 16px;
    line-height: 2;
    color: #b9b2a5;
    margin: 0 0 50px;
}

.cmnTxt2 {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0;
}

.cmnTxt3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: clamp(20px,2.4vw,30px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 24px;
    color: #f4efe5;
}

.cmnTxt4 {
    max-width: 720px;
    font-size: 18px;
    line-height: 2.15;
    color: #d0c9bc;
    margin: 0 0 44px;
}

.cmnW {
    --accent: #b8975a;
    --ink: #141416;
    --paper: #f6f3ea;
    --sand: #ece4d6;
}

.cmnW2 {
    text-align: left;
    padding-left: 36px;
    border-left: 1px solid rgba(255,255,255,.18);
}

.cmnW3 {
    font-size: 11px;
    letter-spacing: .16em;
    color: var(--accent,#b8975a);
    margin-bottom: 6px;
}

.cmnW4 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 34px;
    letter-spacing: .04em;
    color: #f4efe5;
    line-height: 1.1;
}

.cmnW5 {
    font-size: 12px;
    color: #8c857a;
    margin-top: 6px;
}

.cmnW6 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .24em;
    color: var(--accent,#b8975a);
    margin-bottom: 12px;
}

.cmnW7 {
    text-align: center;
    margin-bottom: 56px;
}

.cmnW8 {
    position: relative;
}

.cmnW9 {
    text-align: center;
    margin-bottom: 64px;
}

.cmnW10 {
    text-align: center;
    margin-bottom: 60px;
}

.cmnW11 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .16em;
    color: #9c9486;
    margin-bottom: 28px;
}

.cmnW12 {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(184,151,90,.16);
    border: 1px solid rgba(184,151,90,.4);
    padding: 9px 20px;
    margin-bottom: 30px;
}

.cmnW13 {
    padding: 26px 28px 30px;
}


/* ============================================================
   TOP
   ============================================================ */

.top01Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 19px 36px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

.top01Btn2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 19px 34px;
    border: 1px solid rgba(255,255,255,.28);
    color: #e7e2d8;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .06em;
}

.top01En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 11px;
    letter-spacing: .26em;
    color: #b3ab9c;
}

.top01En2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 16px;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--accent,#b8975a);
}

.top01En3 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .4em;
    color: #8c857a;
}

.top01Flex {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 26px clamp(16px,2.4vw,38px);
    border-right: 1px solid rgba(255,255,255,.08);
}

.top01Flex2 {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 34px;
}

.top01Flex3 {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-bottom: clamp(70px,9vw,120px);
}

.top01Flex4 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-left: clamp(20px,6vw,90px);
}

.top01Flex5 {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 26px clamp(16px,2.4vw,38px);
}

.top01Grid {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4,1fr);
}

.top01Inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(70px,10vw,130px) clamp(20px,4vw,44px) 0;
}

.top01Layer {
    position: absolute;
    inset: 0;
    background-image: url("../images/top-hero.png");
    background-size: cover;
    background-position: center right;
}

.top01Layer2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(15,15,17,.92) 0%,rgba(15,15,17,.7) 38%,rgba(15,15,17,.25) 62%,rgba(15,15,17,.15) 100%),radial-gradient(120% 80% at 78% 18%,rgba(184,151,90,.14),transparent 55%);
}

.top01Lbl {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.top01Lbl2 {
    width: 1px;
    height: 18px;
    background: rgba(255,255,255,.25);
}

.top01Lbl3 {
    font-size: 14px;
    letter-spacing: .08em;
    color: #c8c1b4;
}

.top01Lbl4 {
    font-size: 14px;
    color: #dcd6c9;
}

.top01Lbl5 {
    font-size: 12px;
    color: #9a9284;
}

.top01Lbl6 {
    position: relative;
    width: 1px;
    height: 50px;
    background: rgba(255,255,255,.18);
    overflow: hidden;
}

.top01Lbl7 {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 16px;
    background: var(--accent,#b8975a);
    animation: scrollDot 1.9s infinite;
}

.top01Mark {
    flex: none;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(184,151,90,.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.top01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(32px,4.4vw,60px);
    line-height: 1.22;
    letter-spacing: .04em;
    margin: 0 0 36px;
}

.top01Txt {
    max-width: 640px;
    font-size: 17px;
    line-height: 2.1;
    color: #c4bdb0;
    margin: 0 0 44px;
}

.top01W {
    position: relative;
    border-top: 1px solid rgba(255,255,255,.1);
    background: rgba(12,12,14,.72);
    backdrop-filter: blur(6px);
}

.top02Flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 28px;
}

.top02Flex2 {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    padding: 30px 32px;
    box-shadow: 0 14px 40px rgba(20,20,22,.05);
}

.top02Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    text-align: left;
}

.top02Inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    text-align: center;
}

.top02Mark {
    flex: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #efe7d7;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.top02Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(80px,9vw,140px) 0;
}

.top02Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,48px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 26px;
}

.top02Txt {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    color: #37322c;
}

.top02Txt2 {
    font-size: 16px;
    line-height: 2;
    color: #6f685d;
    max-width: 680px;
    margin: 0 auto 56px;
}

.top02Txt3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: clamp(22px,2.8vw,34px);
    line-height: 1.6;
    letter-spacing: .04em;
    margin: 0;
    color: #1b1916;
}

.top02W {
    margin: 48px 0 20px;
    color: var(--accent,#b8975a);
    font-size: 22px;
}

.top03En {
    display: inline-block;
    border: 1px solid rgba(184,151,90,.5);
    padding: 9px 20px;
    font-family: 'Cormorant Garamond',serif;
    font-size: 14px;
    letter-spacing: .28em;
    color: var(--accent,#b8975a);
    margin-bottom: 32px;
}

.top03Grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid rgba(0,0,0,.1);
}

.top03Img {
    width: 100%;
    height: clamp(340px,30vw,460px);
}

.top03Inner {
    position: absolute;
    left: -6px;
    bottom: -30px;
    background: #141416;
    color: #f4efe5;
    padding: 30px 34px;
    max-width: 300px;
    box-shadow: 0 24px 50px rgba(0,0,0,.28);
}

.top03Lbl {
    font-size: 16px;
    font-family: 'Shippori Mincho',serif;
}

.top03Lbl2 {
    font-size: 13px;
}

.top03Sec {
    background: linear-gradient(180deg,var(--paper,#f6f3ea) 0%,#fff 100%);
    padding: clamp(80px,9vw,130px) 0;
}

.top03strong {
    color: #1b1916;
    font-weight: 700;
}

.top03Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.4vw,44px);
    line-height: 1.45;
    letter-spacing: .03em;
    margin: 0 0 32px;
}

.top03Txt {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 40px;
}

.top03W {
    padding: 24px 8px 4px;
    border-right: 1px solid rgba(0,0,0,.08);
}

.top03W2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 38px;
    color: #1b1916;
    line-height: 1;
}

.top03W3 {
    font-size: 12px;
    color: #8a8377;
    margin-top: 8px;
}

.top03W4 {
    padding: 24px 8px 4px;
}

.top03W5 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 24px;
    color: #1b1916;
    line-height: 1.2;
}

.top03W6 {
    font-size: 12px;
    color: #8a8377;
    margin-top: 10px;
}

.top03W7 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .26em;
    color: var(--accent,#b8975a);
    margin-bottom: 14px;
}

.top03W8 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.6;
}

.top04Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 32px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    white-space: nowrap;
}

.top04En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 17px;
}

.top04Flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 48px;
    padding-top: 44px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.top04Grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border: 1px solid rgba(255,255,255,.12);
}

.top04Inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.top04Layer {
    position: absolute;
    top: clamp(60px,8vw,120px);
    right: 0;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(80px,12vw,200px);
    color: rgba(255,255,255,.035);
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.top04Lbl {
    color: #f4efe5;
}

.top04Mark {
    display: inline-flex;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(184,151,90,.45);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
    margin-bottom: 24px;
}

.top04Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 21px;
    letter-spacing: .04em;
    margin: 0 0 16px;
}

.top04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(30px,3.8vw,52px);
    line-height: 1.4;
    letter-spacing: .03em;
    margin: 0 0 26px;
}

.top04Txt {
    font-size: 14px;
    line-height: 1.95;
    color: #a8a195;
    margin: 0;
}

.top04Txt2 {
    font-size: 16px;
    line-height: 2.1;
    color: #b9b2a5;
    max-width: 760px;
    margin: 0 0 56px;
}

.top04Txt3 {
    font-family: 'Shippori Mincho',serif;
    font-size: clamp(18px,2vw,26px);
    letter-spacing: .03em;
    margin: 0;
}

.top04W {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .26em;
    color: #8c857a;
    margin-bottom: 14px;
}

.top04W2 {
    padding: 34px clamp(20px,2vw,32px);
    border-right: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.top04W3 {
    padding: 34px clamp(20px,2vw,32px);
    border-right: 1px solid rgba(255,255,255,.12);
}

.top04W4 {
    padding: 34px clamp(20px,2vw,32px);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.top04W5 {
    padding: 34px clamp(20px,2vw,32px);
}

.top05En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 34px;
    color: var(--accent,#b8975a);
    line-height: 1;
}

.top05Flex {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 18px;
}

.top05Flex2 {
    display: flex;
    gap: 22px;
}

.top05Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}

.top05Lbl {
    flex: none;
    width: 34px;
    color: var(--accent,#b8975a);
    display: flex;
    justify-content: center;
}

.top05Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 21px;
    letter-spacing: .03em;
    line-height: 1.5;
    margin: 0;
    flex: 1;
}

.top05Sub2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 21px;
    letter-spacing: .03em;
    line-height: 1.5;
    margin: 0;
}

.top05Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,48px);
    line-height: 1.5;
    letter-spacing: .05em;
    margin: 0 0 24px;
}

.top05Txt {
    margin: 0;
    font-size: 15px;
    line-height: 1.95;
    color: #5c564d;
}

.top05Txt2 {
    font-size: 16px;
    line-height: 2;
    color: #6f685d;
    max-width: 680px;
    margin: 0 auto;
}

.top05Txt3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.95;
    color: #5c564d;
    max-width: 880px;
}

.top05W {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    padding: 38px 40px;
    box-shadow: 0 16px 40px rgba(20,20,22,.04);
}

.top05W2 {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    padding: 38px 40px;
    box-shadow: 0 16px 40px rgba(20,20,22,.04);
    margin-top: 26px;
}

.top06Btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 17px 34px;
    border: 1px solid rgba(255,255,255,.28);
    color: #e7e2d8;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
}

.top06Flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 54px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.top06Img {
    width: 100%;
    height: clamp(280px,26vw,360px);
    background: #f4efe5;
}

.top06Sec {
    background: #141416;
    color: #f4efe5;
    padding: clamp(80px,9vw,130px) 0;
}

.top06Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(32px,4vw,56px);
    letter-spacing: .06em;
    margin: 0;
}

.top06Txt {
    font-size: 15px;
    line-height: 2;
    color: #a8a195;
    max-width: 440px;
    margin: 0;
}

.top06Txt2 {
    font-size: 13px;
    color: #8c857a;
    margin: 0 0 24px;
}

.top06W {
    text-align: center;
    margin-top: 48px;
}

.top06W2 {
    padding: 22px 4px 0;
}

.top06W3 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .22em;
    color: var(--accent,#b8975a);
    margin-bottom: 10px;
}

.top06W4 {
    font-family: 'Shippori Mincho',serif;
    font-size: 21px;
    letter-spacing: .04em;
}

.top07En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 15px;
    letter-spacing: .18em;
    color: var(--accent,#b8975a);
}

.top07Flex {
    display: flex;
    align-items: baseline;
    gap: 20px;
    flex-wrap: wrap;
}

.top07Grid {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(40px,5vw,80px);
    align-items: center;
}

.top07Img {
    width: 100%;
    height: clamp(380px,34vw,520px);
}

.top07Lbl {
    font-size: 13px;
    color: #8a8377;
}

.top07Lbl2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 26px;
    letter-spacing: .1em;
    color: #1b1916;
}

.top07Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(22px,2.6vw,34px);
    line-height: 1.5;
    letter-spacing: .02em;
    margin: 0 0 32px;
}

.top07Txt {
    font-size: 16px;
    line-height: 2.15;
    color: #5c564d;
    margin: 0 0 22px;
}

.top07Txt2 {
    font-size: 16px;
    line-height: 2.15;
    color: #5c564d;
    margin: 0 0 38px;
}

.top08Btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    border: 1px solid rgba(0,0,0,.2);
    color: #1b1916;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
}

.top08Flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 44px;
    padding-top: clamp(40px,5vw,70px);
    border-top: 1px solid rgba(0,0,0,.08);
}

.top08Grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 26px;
}

.top08Img {
    width: 100%;
    height: clamp(220px,18vw,260px);
}

.top08Sec {
    background: #fff;
    padding: 0 0 clamp(80px,9vw,130px);
}

.top08Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: .04em;
    margin: 0 0 12px;
    color: #1b1916;
}

.top08Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(24px,2.8vw,36px);
    letter-spacing: .05em;
    margin: 0;
}

.top08Txt {
    font-size: 13px;
    color: #8a8377;
    margin: 0;
}

.top08W {
    padding: 24px 4px 0;
}

.top08W2 {
    margin-top: clamp(40px,4vw,56px);
}

.top09En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 16px;
    letter-spacing: .06em;
    color: #8a8377;
    flex: none;
}

.top09En2 {
    font-family: 'Cormorant Garamond',serif;
    color: var(--accent,#b8975a);
    flex: none;
}

.top09Grid {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: clamp(36px,5vw,72px);
}

.top09Lbl {
    flex: 1;
    font-size: 15.5px;
    color: #37322c;
    line-height: 1.6;
}

.top09Link {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 26px 4px;
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.top09Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(80px,9vw,120px) 0;
}

.top09Tag {
    flex: none;
    font-size: 12px;
    padding: 6px 14px;
    background: #efe7d7;
    color: #7a6a45;
    letter-spacing: .04em;
}

.top09Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(30px,3.6vw,48px);
    letter-spacing: .08em;
    margin: 0 0 28px;
}

.top09Txt {
    font-size: 15px;
    line-height: 2;
    color: #6f685d;
    margin: 0 0 36px;
}


/* ============================================================
   業務内容
   ============================================================ */

.sv01Flex {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 30px clamp(18px,2.6vw,40px);
    border-right: 1px solid rgba(255,255,255,.09);
}

.sv01Flex2 {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 30px clamp(18px,2.6vw,40px);
}

.sv01Grid {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

.sv01Inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(64px,9vw,110px) clamp(20px,4vw,44px) clamp(48px,6vw,72px);
}

.sv01Layer {
    position: absolute;
    inset: 0;
    opacity: .32;
}

.sv01Layer2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(13,13,15,.95) 0%,rgba(13,13,15,.85) 48%,rgba(13,13,15,.5) 100%);
}

.sv01Layer3 {
    position: absolute;
    top: 14%;
    right: -2%;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(90px,15vw,240px);
    color: rgba(255,255,255,.045);
    letter-spacing: .02em;
    line-height: 1;
    pointer-events: none;
}

.sv01Lbl {
    font-size: 16px;
    font-weight: 700;
    color: #f4efe5;
    letter-spacing: .03em;
}

.sv01Lbl2 {
    font-size: 13px;
    color: #a8a195;
}

.sv01Mark {
    flex: none;
    width: 50px;
    height: 50px;
    border: 1px solid rgba(184,151,90,.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.sv01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(30px,4.3vw,60px);
    line-height: 1.4;
    letter-spacing: .03em;
    margin: 0 0 32px;
    max-width: 22em;
}

.sv01W {
    position: relative;
    border-top: 1px solid rgba(255,255,255,.1);
    background: rgba(0,0,0,.28);
}

.sv02Grid {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(28px,3vw,40px) clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: clamp(20px,3vw,44px);
}

.sv02Sec {
    background: #1b1b1e;
    color: #f4efe5;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.sv02W {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7;
    color: #e7e2d8;
}

.sv03Inner {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    text-align: center;
}

.sv03Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(70px,8vw,110px) 0 clamp(48px,6vw,72px);
}

.sv03Txt {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: clamp(28px,3.6vw,46px);
    line-height: 1.5;
    letter-spacing: .01em;
    color: #1b1916;
    max-width: 1120px;
    margin: 0 auto 28px;
}

.sv03Txt2 {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    max-width: 720px;
    margin: 0 auto;
}

.sv04Btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border: 1px solid rgba(0,0,0,.2);
    color: #1b1916;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
}

.sv04En {
    position: absolute;
    top: 0;
    left: 0;
    background: #141416;
    color: #f4efe5;
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .22em;
    padding: 12px 22px;
}

.sv04En2 {
    position: absolute;
    right: 10px;
    bottom: -24px;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(64px,7vw,108px);
    color: rgba(184,151,90,.28);
    line-height: 1;
    pointer-events: none;
}

.sv04En3 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 14px;
    letter-spacing: .28em;
    color: var(--accent,#b8975a);
}

.sv04Flex {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: flex;
    flex-direction: column;
    gap: clamp(56px,6vw,96px);
}

.sv04Flex2 {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 16px;
}

.sv04Flex3 {
    display: flex;
    gap: 16px;
    margin-bottom: 18px;
}

.sv04Flex4 {
    display: flex;
    gap: 16px;
}

.sv04Grid {
    scroll-margin-top: 100px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(36px,5vw,80px);
    align-items: center;
}

.sv04Img {
    width: 100%;
    height: clamp(340px,32vw,460px);
}

.sv04Lbl {
    flex: none;
    width: 88px;
    font-size: 13px;
    font-weight: 700;
    color: #1b1916;
    letter-spacing: .04em;
    padding-top: 3px;
}

.sv04Lbl2 {
    flex: 1;
    font-size: 15px;
    line-height: 1.9;
    color: #5c564d;
}

.sv04Lbl3 {
    flex: none;
    width: 88px;
    font-size: 13px;
    font-weight: 700;
    color: #1b1916;
    letter-spacing: .04em;
    padding-top: 5px;
}

.sv04Lbl4 {
    flex: 1;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.sv04Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(30px,4vw,50px) 0 clamp(70px,8vw,120px);
}

.sv04Tag {
    font-size: 13px;
    padding: 6px 14px;
    background: #efe7d7;
    color: #7a6a45;
    letter-spacing: .02em;
}

.sv04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(22px,2.4vw,30px);
    letter-spacing: .05em;
    margin: 0 0 16px;
    color: #1b1916;
}

.sv04Txt {
    font-size: clamp(15px,1.3vw,17px);
    font-weight: 600;
    line-height: 1.7;
    color: #9a7b3f;
    margin: 0 0 22px;
}

.sv04Txt2 {
    font-size: 15px;
    line-height: 2.05;
    color: #5c564d;
    margin: 0 0 28px;
}

.sv04W {
    border-top: 1px solid rgba(0,0,0,.1);
    padding-top: 22px;
    margin-bottom: 22px;
}

.sv05Btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 19px 36px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 64%,#fff),var(--accent,#b8975a) 52%,color-mix(in srgb,var(--accent,#b8975a) 80%,#000));
    color: #1a1407;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    white-space: nowrap;
}

.sv05Btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 19px 36px;
    border: 1px solid rgba(255,255,255,.32);
    color: #f0ebe1;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
    white-space: nowrap;
}

.sv05Flex {
    position: relative;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
    flex-wrap: wrap;
}

.sv05Flex2 {
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: none;
}

.sv05Inner {
    max-width: 660px;
}

.sv05Layer {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(80px,13vw,210px);
    color: rgba(255,255,255,.04);
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.sv05Sec {
    position: relative;
    background: #141416;
    color: #f4efe5;
    padding: clamp(80px,9vw,120px) 0;
    overflow: hidden;
}

.sv05Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.2vw,42px);
    line-height: 1.5;
    letter-spacing: .03em;
    margin: 0 0 22px;
}

.sv05Txt {
    font-size: 16.5px;
    line-height: 2.1;
    color: #c0b9ac;
    margin: 0;
}

.sv06Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    background: #141416;
    color: #f4efe5;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
}

.sv06En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 17px;
    color: var(--accent,#b8975a);
}

.sv06Flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 52px;
}

.sv06Flex2 {
    background: #fff;
    box-shadow: 0 14px 36px rgba(20,20,22,.06);
    display: flex;
    flex-direction: column;
}

.sv06Flex3 {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.sv06Img {
    width: 100%;
    height: clamp(220px,20vw,260px);
}

.sv06Lbl {
    font-size: 11px;
    padding: 6px 12px;
    border: 1px solid rgba(0,0,0,.15);
    color: #6f685d;
    letter-spacing: .04em;
}

.sv06Sec {
    background: var(--sand,#ece4d6);
    padding: clamp(80px,9vw,130px) 0;
}

.sv06Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: .03em;
    margin: 0 0 12px;
    color: #1b1916;
}

.sv06Tag {
    font-size: 11px;
    padding: 6px 12px;
    background: #efe7d7;
    color: #7a6a45;
    letter-spacing: .04em;
}

.sv06Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(30px,3.8vw,50px);
    letter-spacing: .04em;
    margin: 0;
}

.sv06Txt {
    font-size: 16px;
    line-height: 2;
    color: #5c564d;
    max-width: 460px;
    margin: 0;
}

.sv06Txt2 {
    font-size: 14px;
    line-height: 1.85;
    color: #6f685d;
    margin: 0;
}


/* ============================================================
   強み
   ============================================================ */

.st01Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 19px 34px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

.st01Btn2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 19px 32px;
    border: 1px solid rgba(255,255,255,.3);
    color: #e7e2d8;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
}

.st01En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 15px;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--accent,#b8975a);
}

.st01Flex {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 30px;
}

.st01Inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(70px,10vw,140px) clamp(20px,4vw,44px);
}

.st01Layer {
    position: absolute;
    inset: 0;
    background-image: url("../images/strengths-hero.png");
    background-size: cover;
    background-position: center right;
}

.st01Layer2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(15,15,17,.94) 0%,rgba(15,15,17,.8) 42%,rgba(15,15,17,.32) 66%,rgba(15,15,17,.15) 100%),radial-gradient(120% 80% at 80% 15%,rgba(184,151,90,.14),transparent 55%);
}

.st01Layer3 {
    position: absolute;
    top: clamp(60px,8vw,120px);
    right: 0;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(80px,12vw,200px);
    color: rgba(255,255,255,.04);
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.st01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(32px,4.4vw,60px);
    line-height: 1.22;
    letter-spacing: .04em;
    margin: 0 0 32px;
    max-width: 17em;
}

.st01Txt {
    max-width: 680px;
    font-size: 17px;
    line-height: 2.1;
    color: #c4bdb0;
    margin: 0 0 44px;
}

.st01W {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .16em;
    color: #9c9486;
    margin-bottom: 30px;
}

.st02Img {
    width: 100%;
    height: clamp(320px,28vw,420px);
}

.st02Inner {
    position: absolute;
    left: -6px;
    bottom: -28px;
    background: #141416;
    color: #f4efe5;
    padding: 26px 30px;
    max-width: 280px;
    box-shadow: 0 24px 50px rgba(0,0,0,.28);
}

.st02Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(21px,2.4vw,31px);
    line-height: 1.5;
    letter-spacing: .01em;
    margin: 0 0 30px;
}

.st02Txt {
    font-size: 16px;
    line-height: 2.15;
    color: #5c564d;
    margin: 0;
}

.st02W {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.6;
}

.st03En {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(46px,5vw,72px);
    color: var(--accent,#b8975a);
    line-height: .9;
}

.st03En2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .26em;
    color: #a89f8c;
}

.st03Flex {
    display: flex;
    flex-direction: column;
    gap: clamp(56px,6vw,96px);
}

.st03Flex2 {
    display: flex;
    align-items: baseline;
    gap: 18px;
    margin-bottom: 20px;
}

.st03Img {
    width: 100%;
    height: clamp(300px,26vw,400px);
}

.st03Lbl {
    display: inline-block;
    border: 1px solid rgba(184,151,90,.5);
    padding: 7px 16px;
    font-size: 12px;
    color: #9a7b3f;
    margin-bottom: 22px;
}

.st03Sec {
    background: #fff;
    padding: clamp(80px,9vw,120px) 0;
}

.st03Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(22px,2.6vw,32px);
    line-height: 1.5;
    letter-spacing: .03em;
    margin: 0 0 22px;
    color: #1b1916;
}

.st03Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,46px);
    letter-spacing: .05em;
    margin: 0;
}

.st03Txt {
    font-size: 15.5px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0;
}

.st04Flex {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.st04Grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.1);
}

.st04Layer {
    position: absolute;
    top: clamp(50px,7vw,100px);
    right: 0;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(70px,11vw,170px);
    color: rgba(255,255,255,.035);
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.st04Lbl {
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,.12);
}

.st04Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: .03em;
    line-height: 1.55;
    margin: 0 0 10px;
    color: #f4efe5;
}

.st04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0;
}

.st04Txt {
    font-size: 13.5px;
    line-height: 1.9;
    color: #a8a195;
    margin: 0;
}

.st04W {
    background: #161618;
    padding: 34px clamp(20px,2.4vw,32px);
}


/* ============================================================
   大規模修繕工事
   ============================================================ */

.rv01En {
    font-family: 'Cormorant Garamond',serif;
    color: var(--accent,#b8975a);
}

.rv01Inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(64px,9vw,120px) clamp(20px,4vw,44px) clamp(48px,6vw,72px);
}

.rv01Layer {
    position: absolute;
    inset: 0;
    background-image: url("../images/renovation-hero.png");
    background-size: cover;
    background-position: center right;
}

.rv01Layer2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(13,13,15,.94) 0%,rgba(13,13,15,.8) 42%,rgba(13,13,15,.32) 66%,rgba(13,13,15,.15) 100%),radial-gradient(120% 80% at 80% 15%,rgba(184,151,90,.14),transparent 55%);
}

.rv01Layer3 {
    position: absolute;
    top: clamp(60px,8vw,120px);
    right: 0;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(80px,12vw,200px);
    color: rgba(255,255,255,.045);
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.rv01Link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 20px 12px;
    color: #dcd6c9;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .05em;
    border-bottom: 1px solid rgba(184,151,90,.6);
}

.rv01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(30px,4.1vw,56px);
    line-height: 1.3;
    letter-spacing: .02em;
    margin: 0 0 34px;
    max-width: 20em;
}

.rv03Flex {
    display: flex;
    gap: 18px;
    align-items: center;
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    padding: 28px 32px;
    box-shadow: 0 14px 40px rgba(20,20,22,.05);
}

.rv03Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.rv03Mark {
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #efe7d7;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.rv03Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,46px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 22px;
}

.rv03Txt {
    font-size: 17px;
    line-height: 2.05;
    color: #6f685d;
    max-width: 680px;
    margin: 0 auto;
}

.rv03Txt2 {
    margin: 0;
    font-size: 16px;
    line-height: 1.85;
    color: #37322c;
}

.rv03Txt3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: clamp(19px,2.3vw,28px);
    line-height: 1.7;
    letter-spacing: .03em;
    margin: 0;
}

.rv03W {
    margin-top: 52px;
    padding: 44px clamp(28px,4vw,68px);
    background: #141416;
    color: #f4efe5;
    text-align: center;
}

.rv04Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px,5vw,80px);
    align-items: center;
    margin-bottom: clamp(48px,6vw,72px);
}

.rv04Grid2 {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
}

.rv04Img {
    width: 100%;
    height: clamp(340px,30vw,440px);
}

.rv04Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: .03em;
    margin: 0 0 12px;
    color: #1b1916;
}

.rv04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.4vw,44px);
    line-height: 1.45;
    letter-spacing: .03em;
    margin: 0 0 28px;
}

.rv04Txt {
    font-size: 17px;
    line-height: 2.15;
    color: #5c564d;
    margin: 0;
}

.rv04Txt2 {
    font-size: 14px;
    line-height: 1.9;
    color: #6f685d;
    margin: 0;
}

.rv04Txt3 {
    font-size: 17px;
    line-height: 2.15;
    color: #5c564d;
    margin: 0 0 20px;
}

.rv04W {
    padding: 32px clamp(18px,2vw,28px);
    border-right: 1px solid rgba(0,0,0,.07);
    border-bottom: 1px solid rgba(0,0,0,.07);
}

.rv04W2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .2em;
    color: var(--accent,#b8975a);
    margin-bottom: 12px;
}

.rv05Flex {
    display: flex;
    flex-direction: column;
    gap: clamp(28px,3vw,44px);
}

.rv05Grid {
    display: grid;
    grid-template-columns: auto 60px 1fr;
    gap: clamp(20px,3vw,40px);
    align-items: center;
    padding-bottom: clamp(28px,3vw,44px);
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.rv05Layer {
    position: absolute;
    top: clamp(50px,7vw,110px);
    right: 0;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(70px,11vw,180px);
    color: rgba(255,255,255,.04);
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.rv05Mark {
    width: 60px;
    height: 60px;
    border: 1px solid rgba(184,151,90,.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.rv05Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(21px,2.3vw,28px);
    letter-spacing: .03em;
    margin: 0 0 12px;
    color: #f4efe5;
}

.rv05Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,48px);
    letter-spacing: .04em;
    margin: 0;
}

.rv05Txt {
    font-size: 16px;
    line-height: 1.95;
    color: #c0b9ac;
    margin: 0;
    max-width: 820px;
}

.rv05W {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(52px,6vw,88px);
    color: var(--accent,#b8975a);
    line-height: .85;
    font-weight: 500;
}

.rv06En {
    position: absolute;
    top: 14px;
    left: 14px;
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .16em;
    color: var(--accent,#b8975a);
}

.rv06Flex {
    position: relative;
    height: 158px;
    background: #181818;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #7a746a;
}

.rv06Grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 22px;
}

.rv06Lbl {
    font-size: 11px;
    letter-spacing: .02em;
    text-align: center;
    padding: 0 14px;
}

.rv06Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: .03em;
    margin: 0 0 10px;
    color: #1b1916;
}

.rv06Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(30px,3.8vw,50px);
    letter-spacing: .04em;
    margin: 0 0 14px;
}

.rv06Txt {
    font-size: 15px;
    color: #7a7365;
    margin: 0;
}

.rv06Txt2 {
    font-size: 16px;
    line-height: 2;
    color: #5c564d;
    max-width: 440px;
    margin: 0;
}

.rv06Txt3 {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    color: #9a7b3f;
    margin: 0 0 12px;
}

.rv06W {
    padding: 24px 24px 28px;
    flex: 1;
}

.rv07En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 11px;
    letter-spacing: .1em;
    color: #9c9486;
}

.rv07En2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 28px;
}

.rv07Flex {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #141416;
    color: var(--accent,#b8975a);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.rv07Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rv07Grid2 {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 24px;
    align-items: flex-start;
    background: var(--paper,#f6f3ea);
    border: 1px solid rgba(0,0,0,.05);
    padding: 28px 30px;
}

.rv07Inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.rv07Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: .03em;
    margin: 0 0 10px;
    color: #1b1916;
}

.rv07Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,46px);
    letter-spacing: .05em;
    margin: 0 0 20px;
}

.rv07Txt {
    font-size: 17px;
    line-height: 2;
    color: #6f685d;
    max-width: 660px;
    margin: 0 auto;
}

.rv07Txt2 {
    font-size: 15px;
    line-height: 1.9;
    color: #6f685d;
    margin: 0;
}

.rv08Flex {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    padding: 24px 26px;
    box-shadow: 0 10px 28px rgba(20,20,22,.04);
}

.rv08Grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(40px,5vw,72px);
    align-items: center;
}

.rv08Grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.rv08Img {
    width: 100%;
    height: clamp(200px,18vw,240px);
}

.rv08Lbl {
    font-size: 16px;
    font-weight: 500;
    color: #37322c;
    letter-spacing: .02em;
}

.rv08Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(24px,2.7vw,36px);
    line-height: 1.5;
    letter-spacing: .02em;
    margin: 0 0 22px;
}

.rv08Txt {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 26px;
}

.rv09Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 19px 38px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 64%,#fff),var(--accent,#b8975a) 52%,color-mix(in srgb,var(--accent,#b8975a) 80%,#000));
    color: #1a1407;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    box-shadow: 0 12px 30px rgba(0,0,0,.4);
}

.rv09Flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 52px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.rv09Flex2 {
    background: #1b1b1e;
    border: 1px solid rgba(255,255,255,.08);
    display: flex;
    flex-direction: column;
}

.rv09Lbl {
    font-size: 11px;
    padding: 6px 12px;
    border: 1px solid rgba(255,255,255,.18);
    color: #cfc9bd;
    letter-spacing: .04em;
}

.rv09Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: .03em;
    margin: 0 0 12px;
    color: #f4efe5;
}

.rv09Tag {
    font-size: 11px;
    padding: 6px 12px;
    background: rgba(184,151,90,.16);
    color: #e9c98a;
    letter-spacing: .04em;
}

.rv09Txt {
    font-size: 14px;
    line-height: 1.85;
    color: #a8a195;
    margin: 0;
}

.rv09W {
    text-align: center;
    margin-top: 50px;
}

.rv10Btn {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 28px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

.rv10Btn2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    border: 1px solid rgba(0,0,0,.2);
    color: #1b1916;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
}

.rv10Inner {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.rv10Lbl {
    flex: none;
    font-family: 'Shippori Mincho',serif;
    font-size: 22px;
    color: var(--accent,#b8975a);
    line-height: 1;
}

.rv10Lbl2 {
    flex: 1;
    font-size: 16.5px;
    font-weight: 500;
    color: #1b1916;
    letter-spacing: .02em;
    line-height: 1.6;
}

.rv10Txt {
    margin: 0;
    font-size: 15.5px;
    line-height: 2;
    color: #5c564d;
}

.rv10Txt2 {
    font-size: 16px;
    color: #5c564d;
    margin: 0 0 22px;
}

.rv10W {
    border: 1px solid rgba(0,0,0,.1);
    background: var(--paper,#f6f3ea);
}

.rv10W2 {
    text-align: center;
    margin-top: 44px;
}

.rv11Flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 44px;
}

.rv11Inner {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.rv11Layer {
    position: absolute;
    inset: 0;
    opacity: .2;
}

.rv11Layer2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(20,20,22,.85),rgba(20,20,22,.94));
}

.rv11Lbl {
    font-size: 13px;
    color: #8c857a;
}

.rv11Lbl2 {
    font-size: 13px;
    letter-spacing: .14em;
    color: var(--accent,#b8975a);
}

.rv11Link {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(30px,4vw,44px);
    letter-spacing: .04em;
    color: #f4efe5;
    line-height: 1;
}

.rv11Sec {
    position: relative;
    background: #141416;
    color: #f4efe5;
    padding: clamp(90px,10vw,150px) 0;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,.07);
    overflow: hidden;
}

.rv11Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.6vw,46px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 26px;
}

.rv11Txt {
    font-size: 17px;
    line-height: 2.1;
    color: #c0b9ac;
    margin: 0 0 48px;
}

.rv11W {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 36px;
    border-top: 1px solid rgba(255,255,255,.14);
}


/* ============================================================
   施工実績
   ============================================================ */

.wk01Txt {
    max-width: 660px;
    font-size: 15px;
    line-height: 2;
    color: #c4bdb0;
    margin: 0 0 30px;
}

.wk02Inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    text-align: center;
}

.wk02Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 32px;
}

.wk03Btn {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    z-index: 4;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(18,18,20,.55);
    backdrop-filter: blur(4px);
    color: #f4efe5;
    font-family: 'Cormorant Garamond',serif;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk03Btn2 {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    z-index: 4;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(18,18,20,.55);
    backdrop-filter: blur(4px);
    color: #f4efe5;
    font-family: 'Cormorant Garamond',serif;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk03Flex {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    padding: clamp(30px,4vw,50px) 0 clamp(46px,5vw,64px);
    border-bottom: 1px solid rgba(0,0,0,.08);
    margin-bottom: clamp(46px,5vw,64px);
}

.wk03Flex2 {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 14px 40px rgba(20,20,22,.05);
}

.wk03Flex3 {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 28px 28px 26px;
}

.wk03Lbl {
    display: flex;
    gap: 14px;
    font-size: 13.5px;
    line-height: 1.6;
}

.wk03Lbl2 {
    flex: none;
    width: 72px;
    color: #9a9184;
    letter-spacing: .04em;
}

.wk03Lbl3 {
    color: #4a463f;
}

.wk03Lbl4 {
    position: absolute;
    bottom: 14px;
    left: 0;
    right: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.wk03Lbl5 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 19px;
    line-height: 1.5;
    letter-spacing: .03em;
    color: #1b1916;
    margin-bottom: 18px;
}

.wk03Lbl6 {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.wk03Sec {
    background: linear-gradient(180deg,var(--paper,#f6f3ea) 0%,#fff 100%);
    padding: 0 0 clamp(80px,9vw,130px);
}

.wk03Tag {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    font-size: 12px;
    letter-spacing: .08em;
    color: #f4efe5;
    background: rgba(18,18,20,.82);
    padding: 7px 14px;
}

.wk03Txt {
    text-align: center;
    font-size: 13.5px;
    color: #9a9184;
    margin: clamp(40px,5vw,60px) 0 0;
    letter-spacing: .03em;
}

.wk03W {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #ece4d6;
}

.wk04Flex {
    padding: clamp(70px,8vw,120px) clamp(24px,4vw,64px) clamp(70px,8vw,120px) clamp(20px,4vw,44px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wk04Grid {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: stretch;
    min-height: clamp(380px,38vw,520px);
}

.wk04Sec {
    position: relative;
    background: var(--ink,#141416);
    color: #f4efe5;
    overflow: hidden;
}

.wk04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.2vw,42px);
    line-height: 1.45;
    letter-spacing: .04em;
    margin: 0 0 30px;
}

.wk04Txt {
    font-size: 16px;
    line-height: 2.1;
    color: #c4bdb0;
    margin: 0;
    max-width: 520px;
}

.wk04W {
    position: relative;
    min-height: clamp(280px,32vw,520px);
}


/* ============================================================
   スタッフ紹介
   ============================================================ */

.stf01Txt {
    max-width: 640px;
    font-size: 15px;
    line-height: 2;
    color: #c4bdb0;
    margin: 0 0 30px;
}

.stf02Grid {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(36px,5vw,80px);
    align-items: start;
}

.stf02Txt {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 22px;
}

.stf02W {
    padding-top: 6px;
}

.stf03En {
    font-size: 11px;
    letter-spacing: .14em;
    color: var(--accent,#b8975a);
    font-family: 'Cormorant Garamond',serif;
}

.stf03Flex {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(0,0,0,.1);
}

.stf03Flex2 {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 28px 26px 26px;
}

.stf03Grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: clamp(24px,2.4vw,34px);
}

.stf03Lbl {
    font-size: 14px;
    line-height: 1.7;
    color: #4a463f;
}

.stf03Lbl2 {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4/5;
    overflow: hidden;
    background: #ece4d6;
}

.stf03Lbl3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: .04em;
    color: #1b1916;
    margin-bottom: 18px;
}

.stf03Lbl4 {
    font-size: 14px;
    line-height: 1.85;
    color: #4a463f;
}

.stf03Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    line-height: 1.4;
    letter-spacing: .05em;
    margin: 0 0 22px;
}

.stf03Txt {
    font-size: 16px;
    line-height: 2;
    color: #5c564d;
    max-width: 760px;
    margin: 0 auto;
}

.stf03Txt2 {
    text-align: center;
    font-size: 13.5px;
    color: #9a9184;
    margin: clamp(40px,5vw,60px) 0 0;
    letter-spacing: .02em;
}

.stf03W {
    text-align: center;
    margin-bottom: clamp(48px,5vw,68px);
}

.stf04En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 32px;
    color: var(--accent,#b8975a);
    line-height: 1;
}

.stf04Flex {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.stf04Grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(30px,4vw,64px);
    align-items: end;
    margin-bottom: clamp(48px,5vw,68px);
}

.stf04Grid2 {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.stf04Lbl {
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,.14);
}

.stf04Sec {
    background: var(--ink,#141416);
    color: #f4efe5;
    padding: clamp(80px,9vw,130px) 0;
}

.stf04Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 19px;
    letter-spacing: .04em;
    margin: 0 0 16px;
}

.stf04Txt {
    font-size: 14px;
    line-height: 1.95;
    color: #b0a99c;
    margin: 0;
}

.stf04Txt2 {
    font-size: 16px;
    line-height: 2.1;
    color: #c4bdb0;
    margin: 0 0 18px;
}

.stf04Txt3 {
    font-size: 16px;
    line-height: 2.1;
    color: #c4bdb0;
    margin: 0;
}

.stf04W {
    padding: clamp(30px,2.8vw,42px) clamp(22px,2vw,30px);
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.stf05figcaption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px 16px;
    background: linear-gradient(0deg,rgba(15,15,17,.78),transparent);
    color: #f4efe5;
    font-size: 12.5px;
    letter-spacing: .03em;
}

.stf05figcaption2 {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 16px 18px;
    background: linear-gradient(0deg,rgba(15,15,17,.78),transparent);
    color: #f4efe5;
    font-size: 13px;
    letter-spacing: .03em;
}

.stf05figure {
    grid-column: span 2;
    grid-row: span 1;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: #ece4d6;
}

.stf05figure2 {
    grid-column: span 3;
    grid-row: span 1;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: #ece4d6;
}

.stf05figure3 {
    grid-column: span 4;
    grid-row: span 2;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: #ece4d6;
}

.stf05Grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    grid-auto-rows: clamp(150px,15vw,210px);
    gap: clamp(14px,1.6vw,22px);
}

.stf05Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.2vw,42px);
    line-height: 1.4;
    letter-spacing: .04em;
    margin: 0 0 20px;
}

.stf05Txt {
    font-size: 15px;
    line-height: 1.95;
    color: #5c564d;
    max-width: 680px;
    margin: 0;
}

.stf05Txt2 {
    font-size: 13.5px;
    color: #9a9184;
    margin: clamp(30px,3vw,42px) 0 0;
    letter-spacing: .02em;
}

.stf05W {
    margin-bottom: clamp(44px,5vw,60px);
}

.stf06Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    border: 1px solid rgba(0,0,0,.25);
    color: #1b1916;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
}

.stf06Flex {
    display: flex;
    justify-content: flex-start;
}

.stf06Grid {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(32px,4vw,60px);
    align-items: center;
}

.stf06Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(76px,8vw,120px) 0;
}

.stf06Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(24px,3vw,38px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 24px;
}

.stf06Txt {
    font-size: 16px;
    line-height: 2.05;
    color: #5c564d;
    margin: 0 0 14px;
}

.stf06Txt2 {
    font-size: 16px;
    line-height: 2.05;
    color: #5c564d;
    margin: 0;
}


/* ============================================================
   会社概要
   ============================================================ */

.cmp02Img {
    width: 100%;
    height: clamp(400px,36vw,540px);
}

.cmp02Txt {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 20px;
}

.cmp03Grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.cmp03Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 20px;
}

.cmp03Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,46px);
    line-height: 1.5;
    letter-spacing: .05em;
    margin: 0 0 18px;
}

.cmp03Txt {
    font-size: 15px;
    line-height: 2;
    color: #b9b2a5;
    margin: 0;
}

.cmp03Txt2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 500;
    font-size: clamp(15px,1.7vw,19px);
    line-height: 1.8;
    letter-spacing: .04em;
    color: #c4bdb0;
    margin: 0;
}

.cmp03W {
    padding: clamp(34px,3vw,48px) clamp(26px,2.4vw,40px);
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.cmp03W2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 40px;
    color: var(--accent,#b8975a);
    line-height: 1;
    margin-bottom: 26px;
}

.cmp04Flex {
    display: flex;
    align-items: baseline;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 26px;
    border-top: 1px solid rgba(0,0,0,.12);
}

.cmp04Grid {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(40px,5vw,72px);
    align-items: center;
}

.cmp04Img {
    width: 100%;
    height: clamp(420px,40vw,600px);
}

.cmp04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(22px,2.6vw,34px);
    line-height: 1.5;
    letter-spacing: .02em;
    margin: 0 0 30px;
}

.cmp04Txt {
    font-size: 15.5px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 18px;
}

.cmp04Txt2 {
    font-size: 15.5px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 38px;
}

.cmp05Flex {
    display: flex;
    gap: clamp(20px,4vw,48px);
    padding: 22px 4px;
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.cmp05Inner {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.cmp05Lbl {
    flex: none;
    width: clamp(120px,14vw,180px);
    font-size: 15px;
    color: #1b1916;
    font-weight: 500;
    letter-spacing: .03em;
}

.cmp05Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,46px);
    line-height: 1.4;
    letter-spacing: .05em;
    margin: 0;
}

.cmp05Txt {
    font-size: 13px;
    color: #9a9184;
    margin: 26px 0 0;
    line-height: 1.9;
    letter-spacing: .02em;
}

.cmp05W {
    border-top: 1px solid rgba(0,0,0,.12);
}

.cmp06Btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
    padding: 15px 28px;
    border: 1px solid rgba(0,0,0,.2);
    color: #1b1916;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
    align-self: flex-start;
}

.cmp06En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 24px;
    letter-spacing: .04em;
    color: #1b1916;
    line-height: 1.2;
}

.cmp06En2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 20px;
    letter-spacing: .04em;
    color: #1b1916;
}

.cmp06En3 {
    position: absolute;
    bottom: 16px;
    right: 16px;
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .2em;
    color: #9a9184;
    background: rgba(255,255,255,.82);
    padding: 6px 12px;
}

.cmp06Flex {
    display: flex;
    gap: 20px;
    padding: 22px 2px;
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.cmp06Flex2 {
    padding: clamp(38px,3.4vw,56px) clamp(30px,3vw,48px);
    display: flex;
    flex-direction: column;
}

.cmp06Flex3 {
    display: flex;
    gap: 20px;
    padding: 22px 2px;
}

.cmp06Flex4 {
    position: absolute;
    left: calc(38% + 17px);
    top: calc(56% + 13px);
    transform: translate(-50%,-100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 3;
}

.cmp06Grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(30px,4vw,64px);
    align-items: end;
    margin-bottom: 52px;
}

.cmp06Grid2 {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 0;
    border: 1px solid rgba(0,0,0,.12);
    background: #fff;
}

.cmp06Layer {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(20,20,22,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(20,20,22,.06) 1px,transparent 1px);
    background-size: 64px 64px;
}

.cmp06Layer2 {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(20,20,22,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(20,20,22,.04) 1px,transparent 1px);
    background-size: 16px 16px;
}

.cmp06Layer3 {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 38%;
    width: 34px;
    background: #d7d2c8;
}

.cmp06Layer4 {
    position: absolute;
    left: 0;
    right: 0;
    top: 56%;
    height: 26px;
    background: #d7d2c8;
}

.cmp06Layer5 {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 72%;
    width: 14px;
    background: #dcd8ce;
}

.cmp06Layer6 {
    position: absolute;
    left: 0;
    right: 0;
    top: 24%;
    height: 12px;
    background: #dcd8ce;
}

.cmp06Lbl {
    flex: none;
    width: 96px;
    font-size: 14px;
    color: #1b1916;
    font-weight: 500;
    letter-spacing: .04em;
}

.cmp06Lbl2 {
    font-size: 14px;
    line-height: 1.9;
    color: #4a463f;
}

.cmp06Lbl3 {
    font-size: 15px;
    line-height: 1.9;
    color: #4a463f;
}

.cmp06Lbl4 {
    display: inline-block;
    height: 12px;
}

.cmp06Lbl5 {
    color: #9a9184;
    font-size: 13px;
}

.cmp06Mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    background: var(--accent,#b8975a);
    box-shadow: 0 8px 18px rgba(20,20,22,.32);
}

.cmp06Mark2 {
    transform: rotate(45deg);
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
}

.cmp06strong {
    font-weight: 600;
    color: #1b1916;
}

.cmp06Tag {
    margin-top: 8px;
    font-size: 12px;
    letter-spacing: .06em;
    color: #1b1916;
    background: rgba(255,255,255,.9);
    padding: 5px 12px;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(20,20,22,.14);
}

.cmp06Txt {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 16px;
}

.cmp06Txt2 {
    font-size: 13px;
    color: #9a9184;
    margin: 22px 0 0;
    line-height: 1.9;
    letter-spacing: .02em;
}

.cmp06W {
    position: relative;
    min-height: clamp(340px,34vw,480px);
    border-left: 1px solid rgba(0,0,0,.12);
    background: linear-gradient(135deg,#e9e6df 0%,#dedad1 100%);
    overflow: hidden;
}

.cmp07Grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 0;
    max-width: 720px;
    margin: 0 auto;
    border-top: 1px solid rgba(255,255,255,.14);
    border-left: 1px solid rgba(255,255,255,.14);
}

.cmp07Inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.cmp07Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 26px;
}

.cmp07Txt {
    font-size: 16px;
    line-height: 2;
    color: #b9b2a5;
    max-width: 720px;
    margin: 0 auto;
}

.cmp07W {
    padding: clamp(30px,2.8vw,42px) clamp(24px,2.2vw,34px);
    border-right: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.cmp07W2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .24em;
    color: #8c857a;
    margin-bottom: 16px;
}

.cmp07W3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 19px;
    line-height: 1.55;
    letter-spacing: .03em;
    color: #f4efe5;
}

.cmp08Btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 26px clamp(18px,1.8vw,26px);
    border-right: 1px solid rgba(0,0,0,.12);
    border-bottom: 1px solid rgba(0,0,0,.12);
    background: #fff;
    transition: background .25s ease;
}

.cmp08En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 15px;
    color: var(--accent,#b8975a);
}

.cmp08Grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: clamp(30px,4vw,64px);
    align-items: end;
    margin-bottom: 56px;
}

.cmp08Grid2 {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid rgba(0,0,0,.12);
    border-left: 1px solid rgba(0,0,0,.12);
}

.cmp08Lbl {
    display: flex;
    align-items: baseline;
    gap: 14px;
}

.cmp08Lbl2 {
    font-size: 15px;
    letter-spacing: .03em;
    color: #1b1916;
}


/* ============================================================
   採用情報
   ============================================================ */

.rc00W {
    --accent: #b8975a;
    --ink: #141416;
    --paper: #faf8f2;
    --sand: #f0eae0;
}

.rc01Inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(64px,9vw,120px) clamp(20px,4vw,44px);
}

.rc01Layer {
    position: absolute;
    inset: 0;
    opacity: .42;
}

.rc01Layer2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(13,13,15,.92) 0%,rgba(13,13,15,.78) 48%,rgba(13,13,15,.42) 100%);
}

.rc01Layer3 {
    position: absolute;
    top: 14%;
    right: -1%;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(80px,13vw,220px);
    color: rgba(255,255,255,.05);
    letter-spacing: .02em;
    line-height: 1;
    pointer-events: none;
}

.rc01Lbl {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: #1a1407;
    color: #e9c98a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
}

.rc01Lbl2 {
    display: inline-flex;
    flex-direction: column;
    gap: 6px;
}

.rc01Lbl3 {
    font-size: 11.5px;
    letter-spacing: .04em;
    color: #c0392b;
}

.rc01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(34px,5vw,72px);
    line-height: 1.4;
    letter-spacing: .03em;
    margin: 0 0 32px;
    max-width: 15em;
}

.rc01Txt {
    max-width: 720px;
    font-size: 18px;
    line-height: 2.15;
    color: #d0c9bc;
    margin: 0 0 20px;
}

.rc02Sec {
    background: var(--paper,#faf8f2);
    padding: clamp(80px,9vw,130px) 0;
}

.rc02Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.2vw,42px);
    line-height: 1.5;
    letter-spacing: .03em;
    margin: 0 0 30px;
}

.rc02Txt {
    font-size: 17px;
    line-height: 2.15;
    color: #5c564d;
    margin: 0 0 22px;
}

.rc03Grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.rc03Mark {
    display: inline-flex;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(184,151,90,.5);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
    margin-bottom: 22px;
}

.rc03Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: .03em;
    margin: 0 0 14px;
    color: #1b1916;
}

.rc03Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    letter-spacing: .04em;
    margin: 0 0 20px;
}

.rc03Txt {
    font-size: 17px;
    line-height: 2;
    color: #6f685d;
    max-width: 680px;
    margin: 0 auto;
}

.rc03Txt2 {
    font-size: 14.5px;
    line-height: 1.95;
    color: #6f685d;
    margin: 0;
}

.rc03W {
    background: var(--paper,#faf8f2);
    border: 1px solid rgba(0,0,0,.05);
    padding: 32px 30px;
    box-shadow: 0 12px 30px rgba(20,20,22,.04);
}

.rc04Flex {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.1);
}

.rc04Grid {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: clamp(20px,3vw,40px);
    align-items: center;
    background: #161618;
    padding: 34px clamp(24px,3vw,44px);
}

.rc04Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(19px,2vw,24px);
    letter-spacing: .03em;
    margin: 0 0 10px;
    color: #f4efe5;
}

.rc04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,46px);
    letter-spacing: .04em;
    margin: 0;
}

.rc04Txt {
    font-size: 15px;
    line-height: 1.95;
    color: #b4ada0;
    margin: 0;
    max-width: 800px;
}

.rc04Txt2 {
    font-size: 12px;
    color: #8c857a;
    margin: 22px 0 0;
    text-align: center;
}

.rc04W {
    text-align: center;
    margin-bottom: 62px;
}

.rc04W2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(40px,4.5vw,60px);
    color: var(--accent,#b8975a);
    line-height: 1;
}

.rc05Flex {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    padding: 20px 22px;
    box-shadow: 0 10px 24px rgba(20,20,22,.04);
}

.rc05Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.rc05Lbl {
    font-size: 15px;
    line-height: 1.6;
    color: #37322c;
}

.rc05Mark {
    flex: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #efe7d7;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.rc05Sec {
    background: var(--paper,#faf8f2);
    padding: clamp(80px,9vw,120px) 0;
}

.rc05Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.2vw,42px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 22px;
}

.rc05Txt {
    font-size: 16px;
    line-height: 2.1;
    color: #5c564d;
    margin: 0 0 18px;
}

.rc05Txt2 {
    font-size: 12px;
    color: #8a8377;
    margin: 28px 0 0;
}

.rc06Flex {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--paper,#faf8f2);
    border: 1px solid rgba(0,0,0,.06);
    padding: 24px 26px;
}

.rc06Grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
}

.rc06Lbl {
    font-size: 16px;
    font-weight: 700;
    color: #1b1916;
    letter-spacing: .02em;
}

.rc06Lbl2 {
    font-size: 13px;
    color: #9a7b3f;
}

.rc06Mark {
    flex: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(184,151,90,.45);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.rc06Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    letter-spacing: .04em;
    margin: 0 0 16px;
}

.rc06Txt {
    font-size: 15px;
    line-height: 1.9;
    color: #8a8377;
    max-width: 640px;
    margin: 0 auto;
}

.rc07Flex {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.rc07Flex2 {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    box-shadow: 0 14px 36px rgba(20,20,22,.05);
    display: flex;
    flex-direction: column;
}

.rc07Grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(36px,5vw,64px);
    align-items: center;
    /* background: #141416; */
    border: solid 1px #141416;
    /* color: #f4efe5; */
    padding: clamp(32px,4vw,56px);
    margin-bottom: 40px;
}

.rc07Img {
    width: 100%;
    height: clamp(280px,26vw,360px);
}

.rc07Img2 {
    width: 100%;
    height: clamp(220px,20vw,250px);
}

.rc07Lbl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: .08em;
}

.rc07Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    letter-spacing: .04em;
    margin: 0;
}

.rc07Txt {
    font-size: 15px;
    line-height: 2;
    /* color: #b4ada0; */
    margin: 0 0 16px;
}

.rc07Txt2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 500;
    font-size: clamp(18px,2vw,24px);
    line-height: 1.9;
    letter-spacing: .02em;
    margin: 0 0 24px;
    /* color: #f4efe5; */
}

.rc07Txt3 {
    font-size: 15px;
    line-height: 2;
    /* color: #b4ada0; */
    margin: 0 0 24px;
}

.rc07Txt4 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: .02em;
    margin: 0 0 14px;
    color: #1b1916;
}

.rc07Txt5 {
    font-size: 14px;
    line-height: 1.95;
    color: #6f685d;
    margin: 0;
}

.rc07Txt6 {
    font-size: 12px;
    color: #8a8377;
    margin: 24px 0 0;
}

.rc07W {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .26em;
    color: var(--accent,#b8975a);
    margin-bottom: 18px;
}

.rc07W2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .22em;
    color: var(--accent,#b8975a);
    margin-bottom: 12px;
}

.rc08Flex {
    text-align: center;
    padding: 32px 20px;
    border: 1px solid rgba(184,151,90,.35);
    background: rgba(184,151,90,.06);
    display: flex;
    flex-direction: column;
    min-height: 170px;
}

.rc08Flex2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--accent,#b8975a);
    font-family: 'Cormorant Garamond',serif;
    font-size: 22px;
    margin-bottom: 20px;
}

.rc08Inner {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.rc08Inner2 {
    max-width: 520px;
    margin: 0 auto 20px;
}

.rc08Layer {
    position: absolute;
    top: clamp(50px,7vw,100px);
    left: 0;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(70px,11vw,170px);
    color: rgba(255,255,255,.035);
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

.rc08Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 20px;
}

.rc08Txt {
    font-size: 16.5px;
    line-height: 2;
    color: #b4ada0;
    max-width: 760px;
    margin: 0 auto;
}

.rc08Txt2 {
    font-size: 12px;
    color: #8c857a;
    margin: 34px 0 0;
    text-align: center;
}

.rc08W {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .16em;
    color: var(--accent,#b8975a);
    margin-bottom: 12px;
}

.rc08W2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 18px;
    color: #f4efe5;
    line-height: 1.5;
    margin-bottom: 12px;
}

.rc08W3 {
    font-size: 14px;
    line-height: 1.9;
    color: #b4ada0;
}

.rc08W4 {
    text-align: center;
    padding: 26px 20px;
    border: 1px solid rgba(184,151,90,.5);
    background: rgba(184,151,90,.1);
}

.rc08W5 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .16em;
    color: var(--accent,#b8975a);
    margin-bottom: 10px;
}

.rc08W6 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 18px;
    color: #f4efe5;
    line-height: 1.5;
    margin-bottom: 6px;
}

.rc08W7 {
    font-size: 13.5px;
    line-height: 1.7;
    color: #b4ada0;
}

.rc09Grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 24px;
    padding: 22px 8px;
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.rc09Lbl {
    font-size: 15px;
    font-weight: 700;
    color: #1b1916;
    letter-spacing: .03em;
}

.rc09Lbl2 {
    font-size: 15px;
    line-height: 1.8;
    color: #4a463f;
}

.rc10Flex {
    width: 46px;
    height: 46px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #141416;
    color: var(--accent,#b8975a);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cormorant Garamond',serif;
    font-size: 19px;
}

.rc10Grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 12px;
}

.rc10Inner {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.rc10Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.4vw,44px);
    letter-spacing: .04em;
    margin: 0 0 18px;
}

.rc10Txt {
    font-size: 16px;
    line-height: 2;
    color: #6f685d;
    max-width: 600px;
    margin: 0 auto;
}

.rc10Txt2 {
    font-size: 12px;
    color: #8c857a;
    margin: 28px 0 0;
    text-align: center;
}

.rc10W {
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    padding: 26px 14px;
    text-align: center;
    position: relative;
}

.rc10W2 {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: #1b1916;
}

.rc11Txt {
    font-size: 12px;
    color: #8a8377;
    margin: 24px 0 0;
    text-align: center;
}

.rc11W {
    border: 1px solid rgba(0,0,0,.1);
    background: var(--paper,#faf8f2);
}

.rc12Btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 280px;
    padding: 20px 38px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 64%,#fff),var(--accent,#b8975a) 52%,color-mix(in srgb,var(--accent,#b8975a) 80%,#000));
    color: #1a1407;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    box-shadow: 0 12px 30px rgba(0,0,0,.4);
}

.rc12Btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 280px;
    padding: 20px 34px;
    border: 1px solid rgba(255,255,255,.32);
    color: #f0ebe1;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .05em;
}

.rc12Flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.rc12Inner {
    position: relative;
    width: 100%;
    max-width: 940px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.rc12Layer {
    position: absolute;
    inset: 0;
    opacity: .24;
}

.rc12Layer2 {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(20,20,22,.84),rgba(20,20,22,.94));
}

.rc12Txt {
    font-size: 11.5px;
    letter-spacing: .04em;
    color: #c0392b;
    margin: 0 0 44px;
}


/* ============================================================
   お知らせ一覧
   ============================================================ */

.nw02Grid {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(30px,4vw,64px);
    align-items: start;
}

.nw02Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(72px,8vw,120px) 0 clamp(40px,5vw,64px);
}

.nw02W {
    padding-top: 8px;
}

.nw03Btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 22px;
    height: 44px;
    border: 1px solid rgba(0,0,0,.16);
    color: #1b1916;
    font-size: 13px;
    letter-spacing: .08em;
    font-family: 'Cormorant Garamond',serif;
}

.nw03Date {
    font-family: 'Cormorant Garamond',serif;
    font-size: 14px;
    letter-spacing: .08em;
    color: #8a8377;
}

.nw03Date2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 15px;
    letter-spacing: .08em;
    color: #8a8377;
}

.nw03En {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(184,151,90,.5);
    border-radius: 50%;
    color: var(--accent,#b8975a);
    font-family: 'Cormorant Garamond',serif;
}

.nw03En2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .24em;
    color: #1a1407;
    background: var(--accent,#b8975a);
    padding: 6px 14px;
}

.nw03En3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(184,151,90,.5);
    border-radius: 50%;
    color: var(--accent,#b8975a);
    font-family: 'Cormorant Garamond',serif;
}

.nw03En4 {
    padding: 0 6px;
    color: #9a9184;
    font-family: 'Cormorant Garamond',serif;
}

.nw03Flex {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    align-items: center;
    padding: clamp(24px,3vw,38px) 0 clamp(40px,4vw,56px);
    border-bottom: 1px solid rgba(0,0,0,.1);
    margin-bottom: clamp(46px,5vw,64px);
}

.nw03Flex2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: clamp(56px,6vw,80px);
}

.nw03Img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transition: transform .55s ease;
}

.nw03Lbl {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #ece4d6;
}

.nw03Lbl2 {
    font-size: 11.5px;
    letter-spacing: .06em;
    color: #4a463f;
    border: 1px solid rgba(0,0,0,.16);
    padding: 4px 12px;
}

.nw03Lbl3 {
    position: relative;
    display: block;
    width: 100%;
    min-height: clamp(280px,26vw,380px);
    overflow: hidden;
    background: #ece4d6;
}

.nw03Lbl4 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(34px,3.2vw,54px);
}

.nw03Lbl5 {
    font-size: 12.5px;
    letter-spacing: .06em;
    color: #8a8377;
}

.nw03Lbl6 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(21px,2.2vw,29px);
    line-height: 1.55;
    letter-spacing: .03em;
    color: #1b1916;
    margin-bottom: 20px;
}

.nw03Lbl7 {
    font-size: 15px;
    line-height: 2;
    color: #5c564d;
    margin-bottom: 28px;
}

.nw03Lbl8 {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    letter-spacing: .06em;
    color: #1b1916;
}

.nw03Lbl9 {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 26px 26px 24px;
}

.nw03Lbl10 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #1b1916;
    margin-bottom: 16px;
}

.nw03Lbl11 {
    font-size: 13.5px;
    line-height: 1.95;
    color: #6f685d;
    margin-bottom: 22px;
}

.nw03Lbl12 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}

.nw03Lbl13 {
    font-size: 13px;
    letter-spacing: .06em;
    color: #1b1916;
}

.nw03Link {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    transition: transform .4s ease,box-shadow .4s ease,border-color .4s ease;
}

.nw03Link2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(0,0,0,.16);
    color: #4a463f;
    font-family: 'Cormorant Garamond',serif;
    font-size: 17px;
}

.nw03Link3 {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 0;
    border: 1px solid rgba(0,0,0,.1);
    background: #fff;
    margin-bottom: clamp(50px,5vw,72px);
    transition: box-shadow .4s ease,border-color .4s ease;
}

.nw03Link4 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(0,0,0,.16);
    color: #9a9184;
    font-family: 'Cormorant Garamond',serif;
    font-size: 18px;
}

.nw03Link5 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--ink,#141416);
    color: #f4efe5;
    font-family: 'Cormorant Garamond',serif;
    font-size: 17px;
}

.nw03Mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 50%;
    color: #b0a897;
    margin-bottom: 26px;
}

.nw03Txt {
    font-family: 'Shippori Mincho',serif;
    font-size: 20px;
    letter-spacing: .04em;
    color: #4a463f;
    margin: 0;
}

.nw03W {
    text-align: center;
    padding: clamp(70px,9vw,120px) 0;
}


/* ============================================================
   お知らせ記事
   ============================================================ */

.nd01Art {
    background: #fff;
}

.nd01Btn {
    font-size: 13px;
    color: #4a463f;
    border: 1px solid rgba(0,0,0,.18);
    padding: 6px 14px;
}

.nd01Btn2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

.nd01Date {
    font-size: 14px;
    color: #1b1916;
    font-family: 'Cormorant Garamond',serif;
    letter-spacing: .06em;
}

.nd01Date2 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 16px;
    letter-spacing: .08em;
    color: #8a8377;
}

.nd01En {
    font-size: 11px;
    letter-spacing: .14em;
    color: #9a9184;
    font-family: 'Cormorant Garamond',serif;
}

.nd01En2 {
    flex: none;
    width: 30px;
    height: 30px;
    border: 1px solid var(--accent,#b8975a);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cormorant Garamond',serif;
    font-size: 15px;
    color: var(--accent,#b8975a);
}

.nd01En3 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .28em;
    color: var(--accent,#b8975a);
}

.nd01figcaption {
    font-size: 13px;
    color: #9a9184;
    margin-top: 12px;
    letter-spacing: .02em;
    line-height: 1.7;
}

.nd01figure {
    margin: clamp(36px,4vw,52px) 0;
}

.nd01Flex {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.nd01Flex2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-family: 'Cormorant Garamond',serif;
    font-size: 12.5px;
    letter-spacing: .12em;
    color: #9a9184;
    margin-bottom: 40px;
}

.nd01Flex3 {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
}

.nd01Flex4 {
    display: flex;
    gap: 16px;
    background: #faf7f0;
    border: 1px solid rgba(184,151,90,.32);
    padding: 26px 28px;
    margin: clamp(36px,4vw,52px) 0;
}

.nd01Flex5 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 18px;
}

.nd01Flex6 {
    margin: clamp(48px,5vw,68px) 0 0;
    padding-top: 32px;
    border-top: 1px solid rgba(0,0,0,.12);
    display: flex;
    flex-wrap: wrap;
    gap: 28px 48px;
}

.nd01Flex7 {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-width: 220px;
}

.nd01Inner {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(50px,6vw,86px) clamp(20px,4vw,44px) 0;
}

.nd01Inner2 {
    width: 100%;
    max-width: 1080px;
    margin: clamp(40px,4vw,56px) auto 0;
    padding: 0 clamp(20px,4vw,44px);
}

.nd01Inner3 {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: clamp(48px,5vw,72px) clamp(20px,4vw,44px) 0;
}

.nd01Item {
    display: flex;
    gap: 14px;
    font-size: 16px;
    line-height: 1.9;
    color: #3f3a33;
}

.nd01Item2 {
    display: flex;
    gap: 16px;
    font-size: 16px;
    line-height: 1.9;
    color: #3f3a33;
}

.nd01Lbl {
    flex: none;
    width: 7px;
    height: 7px;
    margin-top: 12px;
    background: var(--accent,#b8975a);
    transform: rotate(45deg);
}

.nd01Lbl2 {
    padding-top: 2px;
}

.nd01Lbl3 {
    color: #c9c2b4;
}

.nd01Lbl4 {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #ece4d6;
}

.nd01Lbl5 {
    font-family: 'Noto Sans JP',sans-serif;
    font-size: 12.5px;
    color: #4a463f;
}

.nd01Lbl6 {
    width: 30px;
    height: 1px;
    background: var(--accent,#b8975a);
}

.nd01Lbl7 {
    font-size: 14px;
    color: #1b1916;
}

.nd01Lbl8 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.nd01Link {
    color: var(--accent,#b8975a);
    border-bottom: 1px solid rgba(184,151,90,.5);
}

.nd01List {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.nd01List2 {
    margin: 0 0 30px;
    padding: 0;
    counter-reset: step;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nd01Mark {
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--accent,#b8975a);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Shippori Mincho',serif;
    font-size: 15px;
    line-height: 1;
}

.nd01Quote {
    margin: clamp(36px,4vw,52px) 0;
    padding: 6px 0 6px 28px;
    border-left: 3px solid var(--accent,#b8975a);
}

.nd01scrawtable {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.nd01scrawtd {
    padding: 15px 18px;
    color: #3f3a33;
    border: 1px solid rgba(0,0,0,.12);
}

.nd01scrawth {
    text-align: left;
    padding: 16px 18px;
    background: var(--ink,#141416);
    color: #f4efe5;
    font-weight: 500;
    letter-spacing: .04em;
    border: 1px solid rgba(0,0,0,.12);
}

.nd01scrawtr {
    background: #faf8f2;
}

.nd01Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: clamp(19px,2vw,23px);
    line-height: 1.6;
    letter-spacing: .03em;
    color: #1b1916;
    margin: clamp(32px,3.4vw,44px) 0 18px;
    padding-left: 16px;
    border-left: 3px solid var(--accent,#b8975a);
}

.nd01Tag {
    font-size: 12px;
    letter-spacing: .06em;
    color: #1a1407;
    background: var(--accent,#b8975a);
    padding: 6px 15px;
}

.nd01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(28px,3.6vw,46px);
    line-height: 1.5;
    letter-spacing: .03em;
    margin: 0 0 30px;
    color: #1b1916;
}

.nd01Ttl2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(23px,2.6vw,32px);
    line-height: 1.5;
    letter-spacing: .03em;
    color: #1b1916;
    margin: clamp(50px,5vw,72px) 0 26px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(0,0,0,.14);
}

.nd01Ttl3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(20px,2.4vw,28px);
    line-height: 1.6;
    letter-spacing: .03em;
    color: #1b1916;
    margin: 0 0 16px;
}

.nd01Txt {
    font-size: 17px;
    line-height: 2.1;
    color: #3f3a33;
    margin: 0 0 20px;
}

.nd01Txt2 {
    font-size: 17px;
    line-height: 2.1;
    color: #3f3a33;
    margin: 0 0 8px;
}

.nd01Txt3 {
    font-size: 16.5px;
    line-height: 2.05;
    color: #3f3a33;
    margin: 0 0 8px;
}

.nd01Txt4 {
    font-size: 16.5px;
    line-height: 2.05;
    color: #3f3a33;
    margin: 0 0 26px;
}

.nd01Txt5 {
    font-family: 'Shippori Mincho',serif;
    font-size: clamp(18px,2vw,23px);
    line-height: 1.9;
    letter-spacing: .03em;
    color: #2a2620;
    margin: 0;
}

.nd01Txt6 {
    font-size: 14.5px;
    line-height: 1.95;
    color: #5c564d;
    margin: 0;
}

.nd01Txt7 {
    font-size: 13.5px;
    line-height: 1.95;
    color: #6f685d;
    margin: 0;
}

.nd01Txt8 {
    font-size: 16px;
    line-height: 2;
    color: #3f3a33;
    margin: clamp(30px,3.4vw,44px) 0 0;
}

.nd01Txt9 {
    font-size: 15px;
    line-height: 1.95;
    color: #5c564d;
    margin: 0 0 28px;
}

.nd01W {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg,var(--accent,#b8975a) 0%,var(--accent,#b8975a) 88px,rgba(0,0,0,.1) 88px,rgba(0,0,0,.1) 100%);
}

.nd01W2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 16px;
    color: #1b1916;
    margin-bottom: 10px;
}

.nd01W3 {
    overflow-x: auto;
    margin: clamp(36px,4vw,52px) 0;
}

.nd01W4 {
    background: #f2ede2;
    border-top: 1px solid rgba(0,0,0,.1);
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding: 20px 24px;
    margin: clamp(30px,3.4vw,44px) 0;
}

.nd01W5 {
    background: var(--paper,#f6f3ea);
    border: 1px solid rgba(0,0,0,.1);
    padding: clamp(32px,3.4vw,48px);
    margin: clamp(48px,5vw,68px) 0 0;
    text-align: center;
}

.nd02Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 34px;
    border: 1px solid rgba(0,0,0,.2);
    color: #1b1916;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .06em;
}

.nd02En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .14em;
    color: var(--accent,#b8975a);
}

.nd02Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid rgba(0,0,0,.12);
    border-bottom: 1px solid rgba(0,0,0,.12);
}

.nd02Lbl {
    font-family: 'Shippori Mincho',serif;
    font-size: 16px;
    line-height: 1.6;
    color: #1b1916;
}

.nd02Link {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 28px clamp(20px,2.4vw,36px);
    border-right: 1px solid rgba(0,0,0,.1);
    transition: background .25s ease;
}

.nd02Link2 {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 28px clamp(20px,2.4vw,36px);
    text-align: right;
    align-items: flex-end;
    transition: background .25s ease;
}

.nd02Sec {
    background: #fff;
    padding: clamp(40px,5vw,64px) 0 clamp(70px,8vw,110px);
}

.nd02W {
    text-align: center;
    margin-bottom: 30px;
}

.nd03Flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 22px;
}

.nd03Lbl {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px 24px 22px;
}

.nd03Lbl2 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.nd03Lbl3 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: .02em;
    color: #1b1916;
    margin-bottom: 18px;
}

.nd03Lbl4 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: auto;
}

.nd03Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(70px,8vw,120px) 0;
}

.nd03Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(26px,3.2vw,40px);
    line-height: 1.4;
    letter-spacing: .04em;
    margin: 0;
}

.nd04Sec {
    background: #141416;
    color: #f4efe5;
    padding: clamp(90px,10vw,150px) 0;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,.07);
}


/* ============================================================
   お問い合わせ
   ============================================================ */

.ct01Inner {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(64px,8vw,110px) clamp(20px,4vw,44px) clamp(38px,5vw,58px);
}

.ct01Sec {
    position: relative;
    background: #141416;
    color: #f4efe5;
    overflow: hidden;
    min-height: clamp(340px,40vw,460px);
    display: flex;
    align-items: flex-end;
}

.ct01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(32px,4.4vw,56px);
    line-height: 1.3;
    letter-spacing: .05em;
    margin: 0 0 24px;
}

.ct01Txt {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: clamp(19px,2.3vw,29px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 22px;
    color: #f4efe5;
}

.ct01Txt2 {
    max-width: 680px;
    font-size: 15px;
    line-height: 2;
    color: #c4bdb0;
    margin: 0 0 28px;
}

.ct02Inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    text-align: center;
}

.ct02Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(72px,8vw,120px) 0 clamp(50px,6vw,80px);
}

.ct02Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(25px,3.2vw,42px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 30px;
}

.ct02Txt {
    font-size: 16px;
    line-height: 2.05;
    color: #5c564d;
    max-width: 760px;
    margin: 0 auto 14px;
}

.ct02Txt2 {
    font-size: 16px;
    line-height: 2.05;
    color: #5c564d;
    max-width: 760px;
    margin: 0 auto;
}

.ct03Btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    align-self: flex-start;
    padding: 16px 32px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .06em;
    box-shadow: 0 8px 22px rgba(0,0,0,.15);
}

.ct03En {
    font-family: 'Cormorant Garamond',serif;
    font-size: 13px;
    letter-spacing: .3em;
    color: var(--accent,#b8975a);
}

.ct03Flex {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

.ct03Flex2 {
    background: var(--ink,#141416);
    color: #f4efe5;
    padding: clamp(38px,3.6vw,56px) clamp(30px,3vw,48px);
    display: flex;
    flex-direction: column;
}

.ct03Flex3 {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
}

.ct03Flex4 {
    background: var(--paper,#f6f3ea);
    border: 1px solid rgba(0,0,0,.1);
    padding: clamp(38px,3.6vw,56px) clamp(30px,3vw,48px);
    display: flex;
    flex-direction: column;
}

.ct03Grid {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px,2.4vw,32px);
}

.ct03Lbl {
    width: 34px;
    height: 1px;
    background: var(--accent,#b8975a);
}

.ct03Link {
    font-family: 'Cormorant Garamond',serif;
    font-size: 38px;
    letter-spacing: .03em;
    color: #f4efe5;
    line-height: 1.05;
}

.ct03Mark {
    flex: none;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(184,151,90,.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.ct03Sec {
    background: #fff;
    padding: 0 0 clamp(72px,8vw,120px);
}

.ct03Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 22px;
    letter-spacing: .04em;
    margin: 0 0 22px;
}

.ct03Sub2 {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 22px;
    letter-spacing: .04em;
    margin: 0 0 22px;
    color: #1b1916;
}

.ct03Txt {
    font-size: 15px;
    line-height: 2;
    color: #c4bdb0;
    margin: 0 0 30px;
}

.ct03Txt2 {
    font-size: 15px;
    line-height: 2;
    color: #5c564d;
    margin: 0 0 30px;
}

.ct03W {
    font-size: 13px;
    color: #8c857a;
    margin-top: 14px;
    letter-spacing: .04em;
}

.ct04Flex {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px clamp(18px,2vw,28px);
    border-right: 1px solid rgba(0,0,0,.12);
    border-bottom: 1px solid rgba(0,0,0,.12);
    background: #fff;
}

.ct04Grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(0,0,0,.12);
    border-left: 1px solid rgba(0,0,0,.12);
}

.ct04Lbl {
    width: 16px;
    height: 1px;
    background: var(--accent,#b8975a);
    flex: none;
}

.ct04Lbl2 {
    font-size: 15.5px;
    letter-spacing: .02em;
    color: #1b1916;
    line-height: 1.6;
}

.ct04Sec {
    background: var(--paper,#f6f3ea);
    padding: clamp(70px,8vw,110px) 0;
}

.ct04Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(24px,3vw,38px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0;
}

.ct04W {
    text-align: center;
    margin-bottom: 52px;
}

.ct05Btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 320px;
    padding: 22px 44px;
    background: linear-gradient(135deg,color-mix(in srgb,var(--accent,#b8975a) 62%,#fff),var(--accent,#b8975a) 55%,color-mix(in srgb,var(--accent,#b8975a) 78%,#000));
    color: #1a1407;
    font-family: 'Noto Sans JP',sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    border: 0;
    cursor: pointer;
    box-shadow: 0 12px 30px rgba(0,0,0,.2);
}

.ct05Flex {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-top: 6px;
}

.ct05Flex2 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    color: #c0392b;
    font-size: 13px;
}

.ct05Flex3 {
    display: flex;
    gap: 14px;
    font-size: 15px;
    line-height: 1.8;
    color: #4a463f;
}

.ct05Flex4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    color: #c0392b;
    font-size: 13px;
}

.ct05Flex5 {
    display: flex;
    gap: 14px;
    background: #fbf0ee;
    border: 1px solid #e0b4ac;
    border-left: 4px solid #c0392b;
    padding: 22px 24px;
    margin-bottom: 40px;
}

.ct05Flex6 {
    display: flex;
    flex-direction: column;
}

.ct05Flex7 {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ct05Flex8 {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    padding-top: 4px;
}

.ct05Flex9 {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ct05Flex10 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #4a463f;
    background: #faf7f0;
    border: 1px solid rgba(0,0,0,.08);
    padding: 10px 14px;
}

.ct05Flex11 {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-top: 2px;
}

.ct05Grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: clamp(14px,2vw,32px);
    padding: 26px 0;
    border-top: 1px solid rgba(0,0,0,.12);
}

.ct05Grid2 {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: clamp(14px,2vw,32px);
    padding: 26px 0;
    border-top: 1px solid rgba(0,0,0,.12);
    border-bottom: 1px solid rgba(0,0,0,.12);
}

.ct05Inner {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
}

.ct05Input {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    accent-color: #b8975a;
    flex: none;
}

.ct05Input2 {
    width: 18px;
    height: 18px;
    accent-color: #b8975a;
}

.ct05Input3 {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.ct05Input4 {
    margin-top: 3px;
    width: 19px;
    height: 19px;
    accent-color: #b8975a;
    flex: none;
}

.ct05Item {
    font-size: 13.5px;
    line-height: 1.7;
    color: #8a271c;
}

.ct05Lbl {
    font-size: 15px;
    font-weight: 500;
    color: #1b1916;
}

.ct05Lbl2 {
    font-weight: 700;
}

.ct05Lbl3 {
    font-size: 11px;
    color: #8a8377;
    border: 1px solid rgba(0,0,0,.2);
    padding: 2px 8px;
}

.ct05Lbl4 {
    flex: none;
    width: 7px;
    height: 7px;
    margin-top: 9px;
    background: var(--accent,#b8975a);
    transform: rotate(45deg);
}

.ct05Lbl5 {
    color: #c0392b;
    font-weight: 700;
}

.ct05Lbl6 {
    font-size: 15px;
    font-weight: 500;
    color: #1b1916;
    letter-spacing: .02em;
}

.ct05Lbl7 {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.6;
    color: #1b1916;
    cursor: pointer;
}

.ct05Lbl8 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: #1b1916;
    cursor: pointer;
}

.ct05Lbl9 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    border: 1px dashed #c3bba9;
    background: var(--paper,#f6f3ea);
    padding: 34px 20px;
    cursor: pointer;
}

.ct05Lbl10 {
    font-size: 14.5px;
    color: #1b1916;
}

.ct05Lbl11 {
    font-size: 12.5px;
    color: #9a9184;
}

.ct05Lbl12 {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.7;
    color: #1b1916;
    cursor: pointer;
}

.ct05Lbl13 {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 4px;
}

.ct05Lbl14 {
    color: #8a8377;
    font-size: 12.5px;
}

.ct05List {
    margin: 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ct05Mark {
    flex: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #c0392b;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
}

.ct05Mark2 {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(184,151,90,.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent,#b8975a);
}

.ct05Sec {
    background: #fff;
    padding: clamp(72px,8vw,120px) 0;
}

.ct05Sub {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 19px;
    letter-spacing: .04em;
    color: #1b1916;
    margin: 0 0 22px;
}

.ct05Tag {
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #c0392b;
    padding: 3px 8px;
}

.ct05Tag2 {
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #c0392b;
    padding: 3px 8px;
    letter-spacing: .04em;
}

.ct05Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(24px,3vw,40px);
    line-height: 1.5;
    letter-spacing: .04em;
    margin: 0 0 20px;
}

.ct05Txt {
    font-size: 15px;
    line-height: 1.95;
    color: #5c564d;
    margin: 0;
}

.ct05Txt2 {
    font-size: 13px;
    color: #9a9184;
    margin: 18px 0 0;
    letter-spacing: .02em;
}

.ct05W {
    margin-bottom: 44px;
}

.ct05W2 {
    font-weight: 700;
    font-size: 15px;
    color: #8a271c;
    margin-bottom: 10px;
}

.ct05W3 {
    font-size: 13px;
    color: #9a9184;
    margin-top: 10px;
    line-height: 1.7;
}

.ct05W4 {
    font-size: 13px;
    color: #9a9184;
    margin-top: 12px;
    line-height: 1.7;
}

.ct05W5 {
    text-align: center;
    margin-top: clamp(40px,5vw,60px);
}

.ct05W6 {
    margin-top: clamp(56px,6vw,84px);
    background: var(--paper,#f6f3ea);
    border: 1px solid rgba(0,0,0,.1);
    padding: clamp(30px,3vw,44px);
}


/* ============================================================
   プライバシーポリシー
   ============================================================ */

.pp01Inner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: clamp(56px,6vw,88px) clamp(20px,4vw,44px) clamp(44px,5vw,64px);
}

.pp01Link {
    color: #9c948a;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(156,148,138,.4);
}

.pp01Sec {
    background: var(--ink,#141416);
    color: #f4efe5;
}

.pp01Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(30px,4vw,52px);
    line-height: 1.35;
    letter-spacing: .05em;
    margin: 0 0 24px;
}

.pp01Txt {
    max-width: 720px;
    font-size: 15.5px;
    line-height: 2;
    color: #c4bdb0;
    margin: 0 0 26px;
}

.pp02Acc {
    position: sticky;
    top: 110px;
    max-width: 280px;
    border-top: 2px solid var(--accent,#b8975a);
}

.pp02AccHd {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 2px 16px;
}

.pp02En {
    flex: none;
    font-family: 'Cormorant Garamond',serif;
    letter-spacing: .06em;
    color: var(--accent,#b8975a);
}

.pp02En2 {
    flex: none;
    font-family: 'Cormorant Garamond',serif;
    font-size: clamp(26px,3vw,36px);
    line-height: 1;
    color: var(--accent,#b8975a);
    letter-spacing: .04em;
}

.pp02En3 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 12px;
    letter-spacing: .3em;
    color: var(--accent,#b8975a);
}

.pp02En4 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 20px;
    color: var(--accent,#b8975a);
}

.pp02En5 {
    font-family: 'Cormorant Garamond',serif;
    font-size: 21px;
    letter-spacing: .04em;
    color: #1b1916;
}

.pp02Flex {
    display: flex;
    align-items: baseline;
    gap: 18px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0,0,0,.14);
    margin-bottom: 26px;
}

.pp02Flex2 {
    display: flex;
    gap: 18px;
    font-size: 15px;
    line-height: 1.9;
}

.pp02Flex3 {
    display: flex;
    gap: 16px;
    font-size: 14px;
    color: #6f685d;
}

.pp02Flex4 {
    display: flex;
    gap: 12px;
    background: #faf7f0;
    border: 1px solid rgba(184,151,90,.32);
    border-left: 3px solid var(--accent,#b8975a);
    padding: 16px 20px;
    margin: 0 0 8px;
}

.pp02Flex5 {
    display: flex;
    gap: 12px;
    background: #faf7f0;
    border: 1px solid rgba(184,151,90,.3);
    border-left: 3px solid var(--accent,#b8975a);
    padding: 14px 18px;
}

.pp02Flex6 {
    border: 1px solid rgba(0,0,0,.12);
    background: #faf8f2;
    padding: 26px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pp02Flex7 {
    display: flex;
    gap: 18px;
    font-size: 15px;
    line-height: 1.9;
    align-items: center;
}

.pp02Flex8 {
    margin-top: clamp(48px,5vw,68px);
    padding-top: 28px;
    border-top: 1px solid rgba(0,0,0,.14);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.pp02Flex9 {
    margin-top: clamp(40px,4vw,56px);
    display: flex;
    justify-content: center;
}

.pp02Grid {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px,4vw,44px);
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: clamp(36px,5vw,72px);
    align-items: start;
}

.pp02Inner {
    min-width: 0;
    max-width: 860px;
}

.pp02Item {
    display: flex;
    gap: 14px;
    font-size: 16.5px;
    line-height: 1.85;
    color: #3f3a33;
}

.pp02Lbl {
    color: #9a9184;
}

.pp02Lbl2 {
    flex: none;
    width: 7px;
    height: 7px;
    margin-top: 11px;
    background: var(--accent,#b8975a);
    transform: rotate(45deg);
}

.pp02Lbl3 {
    flex: none;
    width: 96px;
    color: #8a8377;
    letter-spacing: .02em;
}

.pp02Lbl4 {
    letter-spacing: .02em;
}

.pp02Lbl5 {
    font-family: 'Shippori Mincho',serif;
    font-size: 19px;
    letter-spacing: .05em;
    color: #1b1916;
}

.pp02Lbl6 {
    color: #3f3a33;
}

.pp02Link {
    display: flex;
    gap: 14px;
    padding: 13px 2px;
    border-bottom: 1px solid rgba(0,0,0,.08);
    font-size: 14px;
    line-height: 1.6;
    color: #4a463f;
    transition: color .2s ease;
}

.pp02Link2 {
    color: var(--accent,#b8975a);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pp02Link3 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    letter-spacing: .06em;
    color: #1b1916;
    border-bottom: 1px solid rgba(184,151,90,.5);
    padding-bottom: 4px;
}

.pp02List {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pp02Nav {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(0,0,0,.1);
}

.pp02Sec {
    padding: clamp(40px,4vw,56px) 0 0;
}

.pp02Sec2 {
    background: #fff;
    padding: clamp(56px,6vw,90px) 0 clamp(72px,8vw,120px);
}

.pp02Ttl {
    font-family: 'Shippori Mincho',serif;
    font-weight: 700;
    font-size: clamp(20px,2.3vw,28px);
    line-height: 1.5;
    letter-spacing: .03em;
    color: #1b1916;
    margin: 0;
}

.pp02Txt {
    font-size: 16.5px;
    line-height: 2.05;
    color: #3f3a33;
    margin: 0 0 18px;
}

.pp02Txt2 {
    font-size: 16.5px;
    line-height: 2.05;
    color: #3f3a33;
    margin: 0;
}

.pp02Txt3 {
    font-size: 13.5px;
    line-height: 1.9;
    color: #6f685d;
    margin: 0;
}

.pp02Txt4 {
    font-size: 16.5px;
    line-height: 2.1;
    color: #3f3a33;
    margin: 0 0 18px;
}

.pp02Txt5 {
    font-size: 16.5px;
    line-height: 2.05;
    color: #3f3a33;
    margin: 0 0 20px;
}

.pp02Txt6 {
    font-size: 16.5px;
    line-height: 2.05;
    color: #3f3a33;
    margin: 0 0 24px;
}

.pp02W {
    font-family: 'Shippori Mincho',serif;
    font-weight: 600;
    font-size: 17px;
    letter-spacing: .04em;
    color: #1b1916;
}

.pp02W2 {
    font-size: 12.5px;
    color: #a9a293;
    margin-top: 4px;
}


/* ============================================================
   元HTMLの <style> 由来のルール（既存クラス・メディアクエリ）
   ============================================================ */

/* contact.html 固有のスタイル（元HTMLの <style> 由来） */
input::placeholder,textarea::placeholder{color:#a9a293}

/* privacy.html 固有のスタイル（元HTMLの <style> 由来） */
body { background: #fff; }

:target{scroll-margin-top:120px}

.pp-toc-link:hover{color:#b8975a}

.pp-toc-link:focus-visible{outline:2px solid #b8975a;outline-offset:3px}

.pp-body a:focus-visible,.pp-top:focus-visible,.pp-toc summary:focus-visible{outline:2px solid #b8975a;outline-offset:3px}

@media (max-width:900px){
    .pp-layout{grid-template-columns:1fr !important}
    .pp-toc{position:static !important;max-width:none !important}
    .pp-toc-list{display:none}
    .pp-toc[open] .pp-toc-list{display:flex}
  }

@media (min-width:901px){ .pp-toc-summary-icon{display:none} }

@media print{ header,.pp-toc,footer,.pp-top{display:none !important} .pp-layout{grid-template-columns:1fr !important} body{background:#fff} }

/* recruit.html 固有のスタイル（元HTMLの <style> 由来） */
body { background: #faf8f2; }

/* staff.html 固有のスタイル（元HTMLの <style> 由来） */
.st-card-img{transition:transform .55s ease}

.st-card:hover .st-card-img{transform:scale(1.045)}

.st-toggle:focus-visible,.st-link:focus-visible{outline:2px solid #b8975a;outline-offset:3px}

@media (max-width:1040px){ .st-members{grid-template-columns:1fr 1fr !important} }

@media (max-width:900px){
    .st-two-col{grid-template-columns:1fr !important}
    .st-rep{grid-template-columns:1fr !important}
    .st-flow{grid-template-columns:1fr 1fr !important}
    .st-gallery{grid-template-columns:1fr 1fr !important}
  }

@media (max-width:620px){ .st-members{grid-template-columns:1fr !important} .st-flow{grid-template-columns:1fr !important} .st-gallery{grid-template-columns:1fr !important} }

/* index.html 固有のスタイル（元HTMLの <style> 由来） */
@keyframes scrollDot{0%{transform:translateY(0);opacity:0}40%{opacity:1}100%{transform:translateY(34px);opacity:0}}

/* works.html 固有のスタイル（元HTMLの <style> 由来） */
@media (max-width:1000px){ .wk-grid{grid-template-columns:1fr 1fr !important} }

@media (max-width:640px){ .wk-grid{grid-template-columns:1fr !important} }
