/*
Theme Name: Weedflower
Description: ウィードフラワー名古屋・福井の公式サイト用テーマ。
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: weedflower
*/
:root{--ink:#203c31;--green:#285c46;--muted:#607568;--cream:#f8f8f1;--line:#dce4d8;--accent:#d9b55a;--white:#fff;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}
*{box-sizing:border-box}html{scroll-padding-top:36px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:2;letter-spacing:.035em}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.4em}button,input,textarea,select{font:inherit}a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:500}h3{font-size:20px;line-height:1.7}p{margin-bottom:1.4em}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}
.site-header{padding:38px 28px;background:var(--cream)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.5}.brand img{width:52px;height:52px;object-fit:contain}.brand span{font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:.06em}.brand small{display:block;font-family:sans-serif;font-size:10px;letter-spacing:.03em;font-weight:400;margin-bottom:6px}.desktop-nav{display:flex;gap:25px}.desktop-nav a{font-size:14px;text-decoration:none}.desktop-nav a:hover{color:var(--green)}.mobile-nav{display:none}.header-note{display:none}
.wrap{width:min(1050px,86%);margin:auto}.content{padding:65px 0 90px}.content:has(.wf-front){width:100%;max-width:none;padding:0}.page-title{padding:70px 0 45px;border-bottom:1px solid var(--line)}.page-title h1{font-size:40px;line-height:1.6;margin-top:24px}.breadcrumbs{font-size:12px;color:var(--muted)}.content>p,.content>h2,.content>h3,.content>ul,.content>.actions,.content>.wp-block-table{max-width:800px;margin-left:auto;margin-right:auto}.content>p{margin-bottom:24px}.content>h2{font-size:30px;line-height:1.7;margin-top:65px;margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:20px}.content>h3{margin-top:40px;margin-bottom:18px}.button,.text-link{display:inline-flex;align-items:center;gap:30px;text-decoration:none;border-bottom:1px solid var(--green);padding:10px 0;font-size:15px;line-height:1.8;color:var(--green);transition:color .2s}.button:hover,.text-link:hover{color:var(--ink)}.text-link span,.button span{transition:transform .2s}.text-link:hover span,.button:hover span{transform:translateX(5px)}.actions{display:flex;flex-wrap:wrap;gap:18px 35px;margin:25px 0 45px}.eyebrow,.section-label{font-size:12px;letter-spacing:.16em;color:var(--muted);margin-bottom:25px}.wf-front h2{font-size:clamp(27px,2.7vw,37px);line-height:1.85;letter-spacing:.1em}.wf-front section{scroll-margin-top:30px}
.opening{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:30px;min-height:740px;padding:48px 40px 80px 0}.opening-photo{align-self:center;position:relative}.opening-photo img{width:100%;height:auto;max-height:610px;object-fit:contain;border-radius:0 90px 0 0}.opening-photo p{font-size:12px;letter-spacing:.14em;margin:14px 0 0 30px;color:var(--muted)}.opening-words{display:flex;align-items:center;flex-direction:column;gap:25px}.opening-words h1{writing-mode:vertical-rl;font-size:40px;line-height:2;letter-spacing:.18em;white-space:nowrap}.opening-words .location-label{font-size:11px;margin:0;letter-spacing:.06em;white-space:nowrap}.opening-name{font-size:16px;letter-spacing:.14em;margin:0}.opening-scroll{position:absolute;bottom:24px;left:30px;font-size:11px;letter-spacing:.16em;text-decoration:none}.opening-scroll span{margin-left:28px}
.story{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;padding:130px 7%;background:white}.story-copy h2{margin-bottom:38px}.story-copy p:not(.section-label){font-size:15px;line-height:2.3}.story-photo{margin-top:150px}.story-photo img{border-radius:90px 0 0 0}.story-photo figcaption{font-size:12px;margin-top:16px;color:var(--muted)}
.places{padding:120px 7%;display:grid;grid-template-columns:.85fr 1.2fr;gap:70px;align-items:center}.section-intro>p:not(.section-label){font-size:15px;margin-top:26px}.place-links>a:not(.text-link){display:grid;grid-template-columns:1fr 24px;gap:15px;padding:35px 0;border-top:1px solid var(--muted);text-decoration:none}.place-name{font-family:var(--serif);font-size:34px}.place-name span{font-size:18px;margin-left:8px}.place-detail{grid-row:2;font-size:13px;color:var(--muted)}.place-links>a>span:last-child{grid-column:2;grid-row:1 / 3;align-self:center;font-size:24px}.place-links>.text-link{margin-top:12px}.place-links>a:hover .place-name{color:var(--green)}
.care{padding:100px 7%;background:#edf2e9;text-align:center;border-radius:100px 0 0 0}.care-icons{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px 35px;padding:0;margin:55px 0 40px}.care-icons li{display:flex;align-items:center;flex-direction:column;gap:18px;font-size:15px}.care-icons img{height:105px;width:135px;object-fit:contain;mix-blend-mode:multiply}.guide-links{border-top:1px solid #ccd8c8;margin-top:55px;padding-top:25px;display:flex;justify-content:center;gap:35px}
.album{padding:130px 7%;background:white}.album-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:65px}.album-heading>p{font-size:14px;line-height:2.2}.home-photo-gallery{columns:3;column-gap:28px}.home-photo-gallery figure{break-inside:avoid;margin:0 0 38px}.home-photo-gallery img{width:100%;height:auto}.home-photo-gallery figcaption{font-size:12px;line-height:1.9;padding:13px 0;color:var(--muted)}.home-photo-gallery figure:nth-child(4n+2){padding-top:25px}.home-photo-gallery figure:nth-child(5n) img{border-radius:45px 0 0 0}
.greeting{padding:120px 9%;display:grid;grid-template-columns:.8fr 1.1fr;gap:70px;align-items:center}.greeting figure img{width:100%;border-radius:0 0 80px 0}.greeting figcaption{font-size:13px;margin-top:18px}.greeting h2{margin-bottom:28px}.greeting p{font-size:14px;line-height:2.2}.home-contact{padding:95px 7%;text-align:center;background:#edf2e9}.home-contact>p{font-size:14px}.home-contact h2{margin-bottom:22px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:35px auto;max-width:800px}.contact-grid section{padding:10px 20px}.contact-grid section+section{border-left:1px solid #bdcdbd}.contact-grid h3{font-size:16px;font-weight:400;margin-bottom:10px}.phone{font-size:30px;white-space:nowrap;letter-spacing:.04em;text-decoration:none}.contact-grid p{font-size:12px;margin:8px 0}.original-brand{padding:40px 0;max-width:240px;margin:auto}.original-brand img{width:100%}
.home-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;margin:30px 0}.home-card{padding:30px 0;border-top:1px solid var(--line)}.home-card h3{font-family:var(--serif);font-size:25px;margin:8px 0 15px}.home-card p{font-size:14px;margin:10px 0}.home-card small{color:var(--muted)}.status{display:inline-block;padding:4px 10px;background:#edf2e9;font-size:13px}.source-note{font-size:13px;color:var(--muted);max-width:800px;margin:25px auto}.wp-block-image{max-width:650px;margin:35px auto}.wp-block-image img{max-height:600px;object-fit:contain;margin:auto}.wp-element-caption{font-size:12px;color:var(--muted);text-align:center;padding-top:14px}.wp-block-table{overflow-x:auto;margin-bottom:30px}.wp-block-table table{border-collapse:collapse;width:100%;background:white}.wp-block-table th,.wp-block-table td{border-bottom:1px solid var(--line);padding:18px 15px;text-align:left;font-size:15px}.wp-block-table th{background:#edf2e9}.site-footer{border-top:1px solid var(--line);padding:65px 0 25px;background:var(--cream)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.site-footer h2{font-size:24px;margin-bottom:16px}.site-footer p{font-size:12px}.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 24px;align-content:start;font-size:12px}.site-footer nav a{text-decoration:none}.copyright{font-size:10px;margin-top:40px}.mobile-actions{display:none}
@media(min-width:1101px){.site-header{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:30;padding:48px 28px;border-right:1px solid var(--line);overflow-y:auto}.admin-bar .site-header{top:32px}.brand{flex-direction:column;align-items:flex-start;gap:17px}.brand img{width:70px;height:70px}.brand span{font-size:21px;white-space:nowrap}.brand small{font-size:9px;letter-spacing:0}.desktop-nav{flex-direction:column;gap:0;margin-top:42px}.desktop-nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;transition:padding-left .2s}.desktop-nav a:hover{padding-left:7px}.desktop-nav .button{margin-top:16px;font-size:13px}.header-note{display:block;font-size:10px;color:var(--muted);margin-top:38px;line-height:2.3}#main,.site-footer{margin-left:240px}}
@media(max-width:1400px) and (min-width:1101px){.opening{grid-template-columns:minmax(0,1fr) 190px;padding-right:24px;gap:20px;min-height:650px}.opening-words h1{font-size:34px}.opening-words .location-label{font-size:9px}.story{gap:35px;padding:100px 6%}.story-copy p:not(.section-label){font-size:14px}.places{gap:35px}.album-heading{display:block}.album-heading>p{margin-top:25px}.greeting{gap:35px}}
@media(max-width:1100px){.site-header{display:flex;justify-content:space-between;align-items:center;padding:20px 5%;border-bottom:1px solid var(--line)}.desktop-nav{display:none}.mobile-nav{display:block;position:relative;flex-shrink:0}.mobile-nav summary{font-size:13px;cursor:pointer;padding:10px;border:1px solid var(--line);list-style:none}.mobile-nav summary::after{content:' ＋'}.mobile-nav[open] summary::after{content:' −'}.mobile-nav nav{position:absolute;right:0;top:50px;width:270px;background:var(--cream);padding:20px 25px;box-shadow:0 10px 20px #203c3112;z-index:50;border:1px solid var(--line)}.mobile-nav nav a{display:block;padding:12px 0;font-size:14px;text-decoration:none;border-bottom:1px solid var(--line)}.opening{min-height:610px;grid-template-columns:minmax(0,1fr) 200px}.opening-words h1{font-size:34px}.opening-words .location-label{font-size:9px}.story{gap:40px}.story-photo{margin-top:90px}.places{gap:40px}.album-heading{display:block}.album-heading>p{margin-top:28px}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid var(--line);background:var(--cream);padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{padding:14px 5px;text-align:center;text-decoration:none;font-size:13px;background:var(--cream)}.mobile-actions a:last-child{color:white;background:var(--green)}.site-footer{padding-bottom:90px}}
@media(max-width:700px){body{font-size:15px}.brand img{width:34px;height:34px}.brand span{font-size:18px}.brand small{font-size:8px}.brand{gap:9px}.site-header{padding:16px 5%;gap:10px}.opening{display:flex;flex-direction:column-reverse;gap:28px;padding:35px 0 65px;min-height:0}.opening-words{position:relative;align-items:flex-start;width:86%;gap:12px}.opening-words h1{writing-mode:horizontal-tb;font-size:32px;line-height:1.85;letter-spacing:.1em}.opening-words .location-label{font-size:10px}.opening-name{font-size:13px;position:absolute;right:0;bottom:5px;writing-mode:vertical-rl;letter-spacing:.15em}.opening-photo{width:94%;align-self:flex-start}.opening-photo img{border-radius:0 55px 0 0}.opening-photo p{font-size:10px;margin-left:7%}.opening-scroll{left:7%;bottom:17px}.wf-front h2{font-size:27px;line-height:1.9}.section-label{font-size:11px;margin-bottom:20px}.story{display:block;padding:75px 7%}.story-copy p:not(.section-label){font-size:14px;line-height:2.25}.story-copy p br{display:none}.story-photo{margin:50px 0 0 12%;}.story-photo img{border-radius:55px 0 0 0}.places{display:block;padding:75px 7%}.place-links{margin-top:35px}.place-name{font-size:30px}.care{padding:75px 7%;border-radius:60px 0 0 0}.care .section-intro p br{display:none}.care-icons{grid-template-columns:repeat(2,1fr);gap:30px 15px;margin:35px 0}.care-icons img{height:85px;width:110px}.care-icons li{font-size:12px}.guide-links{flex-direction:column;gap:8px;align-items:stretch;text-align:left;margin-top:35px}.guide-links a{justify-content:space-between}.album{padding:75px 7%}.album-heading{margin-bottom:35px}.album-heading>p{font-size:13px}.album-heading>p br{display:none}.home-photo-gallery{columns:2;column-gap:16px}.home-photo-gallery figure{margin-bottom:22px}.home-photo-gallery figure:nth-child(4n+2){padding-top:18px}.home-photo-gallery figcaption{font-size:11px;padding:10px 0;line-height:1.8}.home-photo-gallery figure:nth-child(5n) img{border-radius:28px 0 0 0}.greeting{display:flex;flex-direction:column;align-items:stretch;padding:75px 7%;gap:35px}.greeting figure{width:78%;}.greeting figure img{border-radius:0 0 55px 0}.greeting p br{display:none}.home-contact{padding:70px 7%}.home-contact h2{font-size:26px}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-grid section{padding:15px 0}.contact-grid section+section{border-left:0;border-top:1px solid #bdcdbd;padding-top:30px}.phone{font-size:30px}.original-brand{max-width:200px}.wrap{width:86%}.page-title{padding:40px 0}.page-title h1{font-size:30px}.content{padding:40px 0 65px}.content>h2{font-size:26px;margin-top:50px}.content>h3{font-size:20px}.home-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.site-footer h2{font-size:22px}.site-footer nav{font-size:12px}.wp-block-table td,.wp-block-table th{padding:12px 10px;font-size:14px}}
@media(max-width:360px){.brand span{font-size:15px}.brand img{width:28px;height:28px}.brand small{font-size:7px}.mobile-nav summary{font-size:12px;padding:8px}.opening-words h1{font-size:28px}.opening-name{font-size:12px}.home-photo-gallery{columns:1}.home-photo-gallery figure:nth-child(4n+2){padding-top:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.text-link span,.button span,.desktop-nav a{transition:none;transform:none}}
@media(max-width:700px){.opening-words h1{font-size:clamp(24px,7.3vw,30px);white-space:normal;letter-spacing:.06em}.opening-name{position:static;writing-mode:horizontal-tb;font-size:12px;margin-top:0}.opening-words{gap:14px}.opening-words .location-label{white-space:normal}}
