/*
Theme Name: 熊高61会 還暦修学旅行
Description: 京都・亀岡の還暦旅行専用テーマ。Kumataka61 Trip プラグインと併用。
Version: 1.2.2
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: kumataka61
*/
:root{--ink:#19382d;--green:#073d29;--gold:#e0b855;--paper:#faf8ed;--line:#ddd7bd;--muted:#5c6c62;--red:#a6382a;--radius:24px;font-family:Arial,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-variant-numeric:lining-nums tabular-nums;font-size:16px}
*{box-sizing:border-box}body{margin:0}a{color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc8500;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.2}h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.4}p{line-height:1.9}small,.small{font-size:.875rem}.muted{color:var(--muted)}.wrap{width:min(1240px,calc(100% - 40px));margin:auto}.narrow{max-width:800px}.section{padding:64px 0}.kicker{font-weight:800;font-size:.875rem;letter-spacing:.19em;color:var(--red)}.button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;border:1px solid transparent;background:var(--green);color:white;text-decoration:none;font-weight:700;min-height:48px}.button.gold{background:var(--gold);color:#302810}.button.outline{border-color:currentColor;background:transparent;color:inherit}.button.danger{background:var(--red)}.buttons{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.site-header{background:#073525;color:#fff;border-bottom:1px solid #ffffff26}.header-inner{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:18px 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-circle{border:1px solid #ffffff80;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-weight:800;flex-shrink:0}.brand small{display:block;letter-spacing:.14em;color:#ffffffab}.brand strong{font-size:1.05rem}.nav{display:flex;flex-wrap:wrap;gap:5px}.nav a{font-size:.9rem;text-decoration:none;padding:10px;border-radius:18px}.nav a:hover{background:#ffffff16}.nav .login{background:var(--paper);color:var(--green)}.hero{background:radial-gradient(ellipse at 12% 12%,#dab34b38,transparent 40%),radial-gradient(ellipse at 92% 4%,#962b3738,transparent 45%),linear-gradient(138deg,#124934,#073323 50%,#061f1b);color:#fff}.hero-grid{display:grid;grid-template-columns:1.28fr .72fr;align-items:center;gap:48px;padding:70px 0 90px}.hero-photo{position:relative}.photo-frame{padding:12px;border:1px solid #ddb24a91;border-radius:32px;background:#ffffff12;box-shadow:0 20px 50px #0003}.photo-frame img{border-radius:23px;width:100%;aspect-ratio:4/3;object-fit:cover}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;white-space:pre-line;font-size:clamp(3rem,5vw,5rem)}.hero .kicker{color:var(--gold)}.hero p{color:#ffffffc9}.badge{display:inline-block;border:1px solid #ffffff60;background:#ffffff10;padding:7px 13px;border-radius:20px;margin-bottom:20px}.attendance{position:absolute;left:-12px;bottom:-32px;border-radius:20px;background:var(--gold);color:#263325;padding:18px 24px;box-shadow:0 12px 35px #0002}.attendance strong{display:block;font-family:"Arial Black",Arial,Meiryo,sans-serif;font-size:3rem;line-height:1.2;font-weight:900;letter-spacing:-.03em}.attendance .kicker{color:inherit;margin:0;font-size:.875rem;letter-spacing:.15em}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fffdf6;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 4px 12px #17382905}.fact-label{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--muted);font-weight:bold}.icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#eee8d3;color:var(--red)}.icon svg{width:22px;height:22px}.fact-value{font-size:1.3rem;font-weight:800;line-height:1.6}.split{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:40px}.soft{background:linear-gradient(135deg,#efe8d6,#faf8ed 60%,#e1eadb);border-block:1px solid var(--line)}.landscape img{border-radius:22px;aspect-ratio:16/9;object-fit:cover;width:100%}.intro{background:linear-gradient(120deg,#eee8d4,#f9f8ef);padding:45px 0;border-bottom:1px solid var(--line)}.intro h1{margin-bottom:15px}.intro p{max-width:780px;margin:0;color:var(--muted)}.stack>*+*{margin-top:24px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field>label,.field-title{font-weight:700;line-height:1.5}input:not([type=checkbox]):not([type=hidden]),select,textarea{width:100%;border:1px solid #bdbba9;border-radius:10px;padding:12px;background:white;color:#19382d;min-height:48px}textarea{min-height:105px;resize:vertical}input[type=checkbox]{width:21px;height:21px;accent-color:var(--green);flex-shrink:0}.check{display:flex;align-items:flex-start;gap:12px;padding:14px 0;line-height:1.8}.plan{border:1px solid var(--line);border-radius:12px;padding:15px;margin:10px 0;background:#faf9f2}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:1.2rem;font-weight:800;margin-bottom:12px}.notice{padding:18px 22px;background:#f3ead1;border-left:4px solid #aa8426;border-radius:8px;line-height:1.8}.error{background:#fae9e5;border-color:var(--red);color:#86271c}.success{background:#e5f2e8;border-color:#277545}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{padding:16px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{background:#eee9d8;font-weight:800}td .button{padding:7px 12px;font-size:.875rem;white-space:nowrap;min-height:42px}tr:last-child td{border-bottom:0}.money{font-size:2.2rem;font-weight:900;letter-spacing:-.03em}.price-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.7}.timeline{padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:120px 1fr;gap:16px;border-left:2px solid var(--gold);padding:4px 0 22px 20px;margin-left:6px;line-height:1.8}.timeline time{font-weight:800;color:var(--red)}.day{display:grid;grid-template-columns:230px 1fr;padding:0;overflow:hidden}.day-title{padding:30px;background:var(--green);color:white}.day-title h2{font-size:1.65rem}.day .timeline{padding:28px}.footer{background:#092f23;color:#d3dfd2;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{font-size:.9rem}.owner-bar{position:sticky;top:0;z-index:30;background:#e4bd5d;color:#252c21;padding:10px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #977530;font-size:.9rem}.owner-bar button{padding:8px 14px;border:1px solid #80642a;border-radius:8px;background:#fff8dc}.edit-mode [data-k61-text]{outline:1px dashed #cc9133;outline-offset:3px;cursor:text}.edit-mode [data-k61-image]{outline:4px dashed #d4a645;cursor:pointer}.editing-hint{font-size:.875rem}dialog{border:1px solid var(--line);border-radius:20px;width:min(650px,calc(100% - 30px));padding:28px;max-height:90vh;overflow:auto;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#042b22b3}dialog textarea{min-height:180px;margin:16px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-entry{border-bottom:1px solid var(--line);padding:12px 0}.text-entry summary{cursor:pointer;overflow-wrap:anywhere}.text-entry textarea{margin:12px 0}.status{display:inline-block;padding:4px 10px;border-radius:20px;background:#eee9d8;font-size:.875rem}.private-value{overflow-wrap:anywhere;white-space:pre-line}.required{font-size:.875rem;color:var(--red);margin-left:6px}.subnav{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.subnav a{font-weight:700}.wide{grid-column:1/-1}[hidden]{display:none!important}
.attendance-summary{padding-bottom:24px}
.attendance-panels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.attendance-panel{min-width:0;border:1px solid var(--line);border-top:3px solid var(--gold);background:linear-gradient(150deg,#fffef8,#f4f0e1);padding:20px;border-radius:16px}
.attendance-panel h3{font-size:1.05rem;line-height:1.6;margin:0 0 14px;color:var(--green)}
.attendance-panel dl{margin:0}
.attendance-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 0;line-height:1.7}
.attendance-row dt{font-size:.95rem;overflow-wrap:anywhere}
.attendance-row dd{margin:0;font-weight:800;font-size:1.05rem;white-space:nowrap}
.attendance-summary>.small{margin:16px 0 0}
.participant-section{padding-top:24px}
.roster-heading{display:flex;gap:16px;justify-content:space-between;align-items:baseline;flex-wrap:wrap;margin-bottom:20px}
.roster-heading h2{margin:0}.roster-heading a{font-size:.9rem;text-underline-offset:4px}
.roster-search{max-width:480px}
.roster-class{margin:28px 0 0;scroll-margin-top:80px}
.roster-class h3{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--green);padding:8px 0;font-size:1.35rem;margin:0 0 12px}
.roster-class h3 small{color:var(--muted);font-size:.875rem;font-weight:400}
.participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.participant-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fffdf6;padding:14px 18px}
.participant-name{font-weight:700;font-size:1.1rem;line-height:1.55;overflow-wrap:anywhere}
.participant-change{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:7px 12px;font-size:.875rem;border:1px solid #a6b4a6;border-radius:9px;color:var(--green);text-decoration:none;white-space:nowrap;background:#f1f5ee}
.participant-change:hover{background:var(--green);color:white}
.participant-plans{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}
.plan-tag{font-size:.875rem;padding:2px 8px;border-radius:5px;background:#eee8d3;line-height:1.5}
.messages-section{border-top:1px solid var(--line);scroll-margin-top:80px}
.message-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.participant-message{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fffdf6;padding:16px 20px}
.participant-message summary{cursor:pointer;line-height:1.8;overflow-wrap:anywhere;min-height:32px}
.message-room{font-size:.875rem;margin-right:12px;color:var(--muted)}
.participant-message p{border-top:1px solid var(--line);padding-top:16px;margin:16px 0 0;overflow-wrap:anywhere}
.site-masthead{position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #042b2220}
body.admin-bar .site-masthead{top:32px}
.site-masthead .owner-bar{position:static}
.site-masthead .header-inner{gap:10px 18px;padding:12px 0;justify-content:space-between}
.site-masthead .brand{min-width:0}.site-masthead .brand strong{display:block;line-height:1.5}
.site-nav{width:100%;justify-content:space-between;align-items:stretch}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;line-height:1.6;text-underline-offset:6px}
.site-nav a[aria-current=page]{box-shadow:inset 0 -2px var(--gold);border-radius:8px 8px 0 0}
.nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 12px;color:#fff;background:#ffffff0c;border:1px solid #ffffff70;border-radius:10px;font-weight:700}
.menu-symbol{display:grid;gap:4px;width:17px}.menu-symbol i{height:2px;background:currentColor;border-radius:2px}
.nav-toggle[aria-expanded=true]{background:#e0b855;color:#19382d;border-color:#e0b855}
html{scroll-padding-top:var(--k61-scroll-offset,180px)}
.roster-class,.messages-section{scroll-margin-top:16px}
.hotel-facts h3{font-size:1.25rem;line-height:1.7}.hotel-facts p{margin-bottom:0}
.hotel-schedule{margin:0}.hotel-schedule dt{font-weight:800;white-space:nowrap}.hotel-schedule dd{margin:0}
@media(max-width:1000px){
 .site-masthead .header-inner{justify-content:space-between}
 .site-masthead .brand{flex:1}.site-masthead .brand strong{font-size:.95rem}
 .site-masthead .brand-circle{width:44px;height:44px}.site-masthead .brand small{font-size:.75rem}
 .menu-enhanced .nav-toggle{display:inline-flex;flex-shrink:0}
 .site-masthead .site-nav{display:flex;flex-direction:column;gap:4px;align-items:stretch;width:100%;padding-top:10px;border-top:1px solid #ffffff26}
 .menu-enhanced .site-nav:not(.is-open){display:none}
 .menu-enhanced .site-nav.is-open{max-height:var(--k61-menu-height,60dvh);overflow-y:auto;overscroll-behavior:contain}
 .site-masthead .site-nav a{padding:11px 14px;border-radius:8px;overflow-wrap:anywhere}
 .site-masthead .site-nav a[aria-current=page]{box-shadow:inset 3px 0 var(--gold);background:#ffffff12}
 .site-masthead .site-nav a.login[aria-current=page]{background:var(--paper)}
 .site-masthead .owner-bar{padding:8px 16px;gap:8px 12px}.site-masthead .editing-hint{display:none}
}
@media(max-width:782px){body.admin-bar .site-masthead{top:46px}body.admin-bar #wpadminbar{position:fixed}}
@media(max-width:1000px){.hero-grid{gap:28px;grid-template-columns:1.1fr .9fr}.facts{grid-template-columns:1fr 1fr}.nav{width:100%;justify-content:center}.header-inner{justify-content:center}.split{gap:25px}.hero h1{font-size:3rem}.attendance-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.attendance-panel{padding:14px}.attendance-panel h3{font-size:1rem}.attendance-row dt{font-size:.875rem}.attendance-row dd{font-size:1rem}.attendance-panels{gap:10px}.participant-grid{gap:10px}.participant-card{padding:10px;gap:6px}.participant-name{font-size:1rem}.participant-change{min-width:44px;padding:6px}.plan-tag{padding:2px 5px}.message-grid{grid-template-columns:1fr}.participant-section{padding-top:20px}.roster-heading{gap:10px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.section{padding:40px 0}.hero-grid{grid-template-columns:1fr;padding:30px 0 45px;gap:55px}.hero-photo{order:0}.hero-copy{order:1}.hero h1{font-size:3.2rem}.attendance{left:12px;bottom:-27px;padding:12px 18px}.attendance strong{font-size:2.5rem}.facts,.grid2,.split{grid-template-columns:1fr}.facts{gap:12px}.card{padding:22px}.day{grid-template-columns:1fr;padding:0}.day-title{padding:22px}.day .timeline{padding:22px}.timeline li{grid-template-columns:90px 1fr;gap:10px}.brand strong{font-size:1rem}.brand small{font-size:.8rem}.nav{gap:0}.nav a{padding:9px 8px}.intro{padding:30px 0}.owner-bar{position:relative}.buttons>.button{flex-grow:1}.table-scroll th,.table-scroll td{padding:13px 10px}.money{font-size:2rem}}
