/*
 * ご予約・お問い合わせ・キャンセルポリシー
 * 元CSS行: 2364-2739
 */

/*ご予約・お問い合わせ 3つボタン
********************************************************************/
#post-33 .entry-header {
    background-image: url('/wp-content/uploads/common/sub-t011.jpg');
}
#post-33 .entry-content {
    max-width: 770px;
    margin: 0 auto;
}
@media screen and (max-width:600px) {
    #post-33 .entry-content {
        max-width: 98%;
        margin: 0 auto;
    }
}
/*ご予約・お問い合わせメールフォーム 別でcontactform7.css
********************************************************************/
#post-799 .entry-header {
    background-image: url('/wp-content/uploads/common/sub-t011.jpg');
}
#post-799 .entry-content {
    max-width: 770px;
    margin: 0 auto;
}
@media screen and (max-width:600px) {
    #post-799 .entry-content {
        max-width: 98%;
        margin: 0 auto;
    }
}
#post-799 .entry-header h1 {
    font-size: 0pt;
    width: 100%;
}
#post-799 .entry-header h1:before {
    content: 'ご予約・お問い合わせ';
    font-size: 42pt;
    display: block;
}
@media screen and (max-width:700px) {
    #post-799 .entry-header h1:before {
        font-size: 28pt;
    }
}
.otiawa-contents p {
    text-align: center;
}
.otiawa-contents img {
    margin-top: 15px;
}
.otiawa-contents {
    margin-bottom: 50px;
}
.otiawa-t {
    font-size: 180%;
    display: flex;
    align-items: center; /* 垂直中心 */
}
.otiawa-t:after {
    content: '';
    height: 2px;
    background-color: #333;
    flex-grow: 1;
}
.otiawa-t:after {
    margin-left: 1rem;
}
@media screen and (max-width:600px) {
    .otiawa-t {
        font-size: 140%;
    }
}
.gothic {
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
.red-s {
    font-size: 90%;
    color: red;
}
.otiawa-m {
    font-size: 190%;
    text-align: center;
}
@media screen and (max-width:600px) {
    .otiawa-m {
        font-size: 140%;
    }
}
ul.line-narrow {
    margin-top: 0px;
}
.notice-indent {
    margin-left: 1em;
    text-indent: -1em;
    text-align: left !important;
}
.red-text {
    color: red;
}
.br-area span.wpcf7-list-item {
    display: block;
}
/*結納
********************************************************************/
#post-703 .entry-header {
    background-image: url('/wp-content/uploads/common/sub-t012.jpg');
}
.set-area h3 {
    font-size: 180%;
    text-align: center;
}
@media screen and (max-width:600px) {
    .set-area h3 {
        font-size: 140%;
    }
}
.set-area .wp-block-image {
    margin: 0;
}
.set-area p {
    font-size: 140%;
    text-align: center;
    margin-block-start: 0em;
    margin-block-end: 0.5em;
}
.kakoi-t01 {
    padding: 15px;
    margin: 0px;
    border: 1px dotted #343434;
}
.sub-menu-area .wp-block-column {
    padding: 15px;
    margin: 0px;
    border: 1px solid #cccccc;
}
.sub-menu-area .wp-block-column h3 {
    font-size: 180%;
    text-align: center;
}
@media screen and (max-width:600px) {
    .sub-menu-area .wp-block-column h3 {
        font-size: 140%;
    }
}
.sub-menu-area .wp-block-column .price {
    font-size: 120%;
}
/*ご結納のお申し込み
********************************************************************/
#post-807 .entry-header {
    background-image: url('/wp-content/uploads/common/sub-t012.jpg');
}
#post-807 .entry-content {
    max-width: 770px;
    margin: 0 auto;
}
@media screen and (max-width:600px) {
    #post-807 .entry-content {
        max-width: 98%;
        margin: 0 auto;
    }
}
/*キャンセルポリシー
********************************************************************/
.cansel-policy {
    /*border: 1px solid #005438;*/
    border: 1px solid #cccccc;
    padding: 5px 20px;
    margin-top: 30px;
}
.cansel-policy h3 {
    color: red;
    background-color: #feecd2;
    text-align: center;
    padding: 10px 10px 5px 10px;
    margin-bottom: 15px;
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
.cansel-policy h4 {
    border-bottom: 1px solid #cccccc;
    margin-top: 10px;
    padding-bottom: 5px;
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
.cansel-policy h5 {
    font-size: 100%;
    margin-top: 10px;
    font-family: "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
.cansel-policy p {
    font-family: "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
    margin-top: 10px;
}
.cansel-policy strong {
    font-family: "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
}
.cansel-policy table {
  margin-top: 5px
}
.cansel-policy table th p,.cansel-policy table td p {
  margin: 0
}

.text-red {
    color: red;
}
.mt-0 {
    margin-top: 0px;
}
.mb-0 {
    margin-bottom: 0px;
}
.clr30 {
    height: 30px;
    clear: both;
}
/*reCAPTCHAのロゴを非表示
********************************************************************/
.grecaptcha-badge {
    visibility: hidden;
}
/*プラグイン
********************************************************************/
#slb_viewer_wrap .slb_theme_slb_baseline .slb_container {
    padding: 5px !important;
}
/*キャンセルポリシー
********************************************************************/
.c-t, .c-t table {
    margin-bottom: 0
}
.c-t th, .c-t td {
    border: 1px solid #333;
}
.c-t th {
    background-color: #CCC
}
#accordion-toggle {
    display: none;
}
/* ボタン */
.accordion-button {
    box-sizing: border-box; /* 枠線ぶんを幅に含める＝はみ出さない */
    display: block;
    position: relative;
    width: 100%;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #aaa;
    background-color: #fff;
    text-align: center;
    cursor: pointer;
    transition:
        color var(--acc-dur, .3s) ease, background-color var(--acc-dur, .3s) ease, border-color var(--acc-dur, .3s) ease, box-shadow var(--acc-dur, .3s) ease, transform .2s ease;
}
.accordion-button::before {
    color: inherit;
}
/* ホバー／フォーカス時：黒背景＋白文字に反転 */
.accordion-button:hover, .accordion-button:focus-visible {
    background-color: #333;
    color: #fff;
    border-color: #000;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .05), 0 0 0 2px rgba(0, 0, 0, .08) inset; /* 立体感（任意） */
}
/* キーボードフォーカスの可視化（任意で色調整可） */
.accordion-button:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}
.accordion-button::before {
    content: '続きを読む';
}
/* クリック時の軽い押し込み演出（任意） */
.accordion-button:active {
    transform: scale(0.98);
}
/* チェック時のラベル・テキスト切替 */
#accordion-toggle:checked ~ .accordion-button::before {
    content: '閉じる';
}
/* フェード用グラデ（不透明度でスッと消えるように） */
.accordion-text {
    position: relative;
}
#accordion-toggle ~ .accordion-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4em;
    background: linear-gradient(transparent, #fff);
    opacity: 1;
    transition: opacity var(--acc-dur) ease;
    pointer-events: none;
}
#accordion-toggle:checked ~ .accordion-text::after {
    opacity: 0;
}
#accordion-toggle:checked ~ .accordion-button::after {
    opacity: 0; /* display:none; の代わりに透明化 */
    pointer-events: none; /* ついでにクリック抜けを防止 */
}
/* ====== 本文：line-clampはやめて max-height で制御 ====== */
.accordion-text {
    display: block; /* 常にブロック要素（display切替しない） */
    line-height: 1.8;
    margin: 0;
    overflow: hidden;
    max-height: 2.8em; /* 初期は1行ぶん程度に見せる */
    opacity: .98; /* ほんのりフェード */
    transform: translateY(-2px); /* ほんのり上から出る感じ */
    transition:
        max-height var(--acc-dur) ease, opacity var(--acc-dur) ease, transform var(--acc-dur) ease;
    /* 以前の line-clamp は使わない
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  */
}
/* 展開時：ゆっくり広がる */
#accordion-toggle:checked ~ .accordion-text {
    max-height: var(--acc-open);
    opacity: 1;
    transform: translateY(0);
}
/* 低モーション設定のユーザーに配慮（任意） */
@media (prefers-reduced-motion: reduce) {
    .accordion-button, .accordion-text, #accordion-toggle ~ .accordion-button::after {
        transition: none !important;
    }
}
/* ===== タブレット以下 ===== */
@media (max-width: 768px) {
    .accordion-button {
        width: 100%;
        min-height: 44px; /* タップ領域の最低高さ */
        padding: 14px 12px;
        font-size: clamp(15px, 4.2vw, 18px); /* 画面幅に応じて可変 */
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }
    /* 初期は2行くらい見せる（読みやすさ重視） */
    .accordion-text {
        line-height: 1.9;
        max-height: 4.2em; /* ≒2行分 */
        word-break: break-word; /* 長い語での横はみ出し防止 */
    }
    /* 指で隠れがちなのでフェードを少し高めに */
    #accordion-toggle ~ .accordion-text::after {
        height: 5em;
    }
}
/* ===== スマホ（狭小） ===== */
@media (max-width: 480px) {
    .accordion-button {
        padding: 16px 14px;
        font-size: clamp(16px, 5vw, 19px);
        border-radius: 8px; /* 角丸でタップ感UP（任意） */
    }
    /* 初期3行くらいまで表示して “続きを読む” の押下を促す */
    .accordion-text {
        max-height: 5.6em; /* ≒3行分 */
    }
}
/* iOS Safariでスケール時にボーダーが欠ける場合の回避 */
@supports (-webkit-touch-callout: none) {
    .accordion-button:active {
        transform: none;
    } /* 押し込み演出を無効化 */
    /* 代わりに軽い影をつける（任意） */
    .accordion-button:active {
        box-shadow: 0 0 0 2px rgba(0, 0, 0, .06) inset;
    }
}
