     :root{
      --bg: #f5fbf5;          /* うっすらグリーンの背景 */
      --text: #2e5a8a;        /* 落ち着いた青（本文・見出し） */
      --muted: #7a8aa3;       /* 補助テキスト用 */
      --btn: #2e5a8a;         /* ボタンの枠・テキスト */
      --btn-hover-bg:#2e5a8a; /* ホバー時の背景 */
      --btn-hover-tx:#ffffff; /* ホバー時のテキスト */
      --maxw: 760px;          /* 中央カラム幅 */
      --space-1: clamp(10px, 1.8vw, 18px);
      --space-2: clamp(16px, 2.6vw, 26px);
      --space-3: clamp(28px, 4vw, 40px);
      --space-4: clamp(40px, 6vw, 64px);
    }

    html,body{height:100%}
    body{
      margin:0;
      color:var(--text);
      font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
      line-height:1.9;
      text-align:center;
    }

    .wrap{
      min-height:100%;
      display:flex;
      align-items:flex-start;
      justify-content:center;
          padding-top: 8vh
   
    }
    .inner{
      width:100%;
      padding: var(--space-4) var(--space-2) 12vh;
      box-sizing:border-box;
      background: #F1F7EE;
          padding-top: 8vh
    }

    /* ロゴ画像 */
    .emblem{
      width:min(254px, 70vw);
      margin: 0 auto var(--space-3);
      display:block;
      height:auto;
    }

    /* 英文見出し */
    .title{
      font-family: "Crimson Text", serif;
      font-weight:600;
      letter-spacing:.08em;
      font-size: clamp(26px, 3.4vw, 36px);
      margin: 0 0 var(--space-3);
    }

    /* 日本語本文 */
    .lead{
      font-size: clamp(15px, 2.3vw, 17px);
      margin: 0 auto var(--space-3);
      color: var(--text);
      /* 読み心地用の文字間 */
      letter-spacing: .03em;
      white-space: pre-line; /* 改行をそのまま表示 */
    }

    .note{
      color: var(--muted);
      margin: 0 auto 3vh;
      font-size: clamp(14px, 2.2vw, 16px);
      letter-spacing:.03em;
    }

    /* ボタン */
    .btn{
      display:inline-block;
      padding: 11px 28px;
      border: 2px solid #67559D;
      text-decoration:none;
      color: #67559D;
      font-size: clamp(15px, 2.4vw, 17px);
      letter-spacing:.12em;
      transition: all .2s ease;
      background: transparent;
    }
    .btn:focus-visible{
      outline: 3px solid color-mix(in oklab, var(--btn) 55%, white);
      outline-offset: 3px;
    }
    .btn:hover{
      background: var(--btn-hover-bg);
      color: var(--btn-hover-tx);
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(9,37,64,.08);
    }
.ceremony{
    margin: 7vh auto 4vh;
    background-color: #67559D;
    width: 272px;
    padding: 9px;
    letter-spacing: 0.1em;
}
a.btn_cer{
      padding: 11px 28px;
      text-decoration:none;
      color: #fff;
      font-size: clamp(15px, 2.4vw, 17px);
      margin-top: 3vh;
}
.qr125{
    display: inline-flex;
}
 .qr125 img{

 }
 .qr125 p{
    font-size: clamp(14px, 2.2vw, 16px);
        margin-left: 1vw;
    color: #304F9D;
    letter-spacing: 0.1em;
 } 
  .qr125 p　a:hover {
    color: #304F9D;
    opacity: 0.5;
}
    /* 余白バリエーション（小画面でゆるく・大画面で上に余白多め） */
    @media (min-width: 1024px){
      .inner{ padding-top: 12vh; }
 
  }
/*SPサイズ*/
@media screen and (max-width: 767px) {
       .ceremony{
        width: 68vw;
    }
  }