@charset "UTF-8";
/*
Theme Name:MIRUTO DESIGN
Theme URL:https://mirutodesign.com
Description:MIRUTO DESIGNのWordpressテーマ
Author:MIRUTO DESIGN
Version:1.0.0
*/

  /*MIRUTO DESIGN TOKENS*/
  :root {
    --green-deep: #2d5a27;
    --green-mid:  #517233;
    --gold:       #bfae57;
    --gold-light: #c9b86a;
    --gold-pale:  #e8ddb0;
    --off-white:  #ffffff;/*#f5f2ec;*/
    --paper:      #f8f8f8;
    --ink:        #1a1a16;
    --ink-soft:   #3a3830;
    --ink-muted:  #6b6860;
    --line:       rgba(45,90,39,0.15);
    --line-gold:  rgba(181,160,74,0.3);
  }

  /*RESET & BASE*/
  *, *::before, *::after {
    box-sizing:border-box;
    margin: 0;
    padding: 0;
  }
  html {
    scroll-behavior:smooth;
  }
  body {
    background: var(--paper);
    color: var(--ink);
    font-family: 'Shippori Mincho B1', 'Noto Serif JP', serif;
    font-weight: 300;
    line-height: 1.8;
    overflow-x: hidden;
    /*cursor: none;*/
    cursor: auto !important;
  }
/* ノイズグレインオーバーレイ */
  body::after {
    content: '';
    position: fixed; 
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    pointer-events: none; z-index: 9990;
  }
  
   /* BTN */
  .usp-cta {
    display: block; 
    margin: 3.8rem auto 0; 
    width: fit-content;
    font-weight: 300;
    font-size: .68rem; letter-spacing: .35em; text-transform: uppercase;
    color: var(--green-deep); border: 1px solid var(--green-deep);
    padding: 1.1rem 2.8rem; text-decoration: none; transition: all .4s;
  }
  .usp-cta:hover {
    background: var(--green-deep); 
    color: var(--paper);
  }
  
  /* SHARED SECTION UTILITIES */

  /* ── CURSOR ── */
  /*
  #c-dot, #c-ring {
    position: fixed; pointer-events: none; z-index: 9999; top: 0; left: 0;
  }
  #c-dot {
    width: 6px; height: 6px; background: var(--gold); border-radius: 50%;
    transform: translate(-50%,-50%); transition: transform .12s ease, opacity .2s;
  }
  #c-ring {
    width: 30px; height: 30px; border: 1px solid rgba(181,160,74,.42); border-radius: 50%;
    transform: translate(-50%,-50%); transition: width .22s, height .22s, border-color .22s;
  }
  */
  /* 独自カーソルの要素（クラス名はサイトの構造によります） */
  .cursor,   .cursor-follower,  #magicCursor {
    display: none !important;
  }

  /* ── COMMON ── */
  section { padding: 8rem 4rem; }
  .inner-wrap { max-width: 1120px; margin: 0 auto; }
  .page-title{
    margin:50px 0;
    padding-bottom:25px;
    border-bottom:1px solid var(--gold);
    color:var(--green-deep);
  }
  .section-label {
    width: 100;
    font-size: .6rem;
    letter-spacing: .5em;
    color: var(--gold);
    text-transform: uppercase;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .section-label::before {
    content: ''; width: 26px; height: 1px; background: var(--gold); flex-shrink: 0;
  }
  .section-h2 {
    font-weight: 300;
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    color: var(--green-deep); line-height: 1.32; margin-bottom: 1.5rem;
  }
  .reveal { opacity: 0; transform: translateY(34px); transition: opacity .9s ease, transform .9s ease; }
  .reveal.visible { opacity: 1; transform: translateY(0); }

  /*RESPONSIVE*/
  @media (max-width: 960px) {
    section { padding: 5rem 1.6rem; }
  }
  @media (max-width: 480px) {
    .section-h2 { font-size: 1.6rem; }
  }