.site-header{justify-content:flex-end}
.page-hero{min-height:310px;padding:105px max(24px,calc((100% - 1080px)/2));background:var(--green);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:7%;top:-155px}.page-hero p,.page-hero h1{position:relative;z-index:1}.page-hero p{margin:0;color:#d8c796;font:11px Arial,sans-serif;letter-spacing:.35em}.page-hero h1{font-family:"Shippori Mincho",serif;font-size:clamp(34px,5vw,54px);font-weight:500;letter-spacing:.18em;margin:8px 0}.products-page-hero{background-image:linear-gradient(90deg,rgba(0,123,67,.84),rgba(0,123,67,.35)),url("./assets/images/products.png");background-position:center 65%;background-size:cover}.breadcrumbs{max-width:1080px;margin:0 auto;padding:18px 24px;font-size:11px;color:#777}.breadcrumbs span{margin:0 10px}.page-content{max-width:1080px;margin:auto;padding:80px 24px 120px}.lead{font-size:17px;line-height:2.2;text-align:center;margin:0 auto 70px;max-width:760px}.page-heading{font-family:"Shippori Mincho",serif;font-size:29px;font-weight:500;letter-spacing:.12em;padding-bottom:15px;border-bottom:1px solid var(--line);margin:0 0 35px}.sub-heading{font-size:20px;color:var(--green);letter-spacing:.1em;margin:45px 0 18px}.info-table{width:100%;border-collapse:collapse;background:#faf8f1}.info-table th,.info-table td{padding:20px 24px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.info-table th{width:210px;color:var(--green);font-weight:600}.article-list{border-top:1px solid var(--line)}.article-list article{display:grid;grid-template-columns:130px 110px 1fr;padding:25px 10px;border-bottom:1px solid var(--line);gap:15px}.article-list time{font:12px Arial,sans-serif;color:#777}.article-list .tag{height:max-content}.article-list h2{font-size:15px;font-weight:500;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.simple-card{background:#faf8f1;padding:35px 30px;border-top:3px solid var(--green)}.simple-card h2{font-size:19px;color:var(--green);margin:0 0 12px}.simple-card p{font-size:13px}.steps{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{background:#faf8f1;padding:30px 22px;position:relative}.step:before{counter-increment:steps;content:"0" counter(steps);display:block;color:var(--red);font:12px Arial,sans-serif;letter-spacing:.2em;margin-bottom:15px}.step h2{font-size:18px}.step p{font-size:13px}.job{background:#faf8f1;padding:35px;margin-bottom:24px}.job h2{margin-top:0;color:var(--green);font-size:21px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-box{background:#faf8f1;padding:45px;text-align:center}.contact-box strong{display:block;color:var(--green);font-size:27px;margin:15px 0}.contact-box small{color:#777}.contact-form{margin-top:70px}.form-row{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:16px 0}.form-row label{font-weight:600}.form-row input,.form-row select,.form-row textarea{width:100%;padding:14px;border:1px solid var(--line);background:#fff;font:inherit}.form-row select{appearance:auto}.form-row textarea{min-height:160px}.form-note{font-size:12px;color:#777}.submit-button{display:block;margin:25px auto 0;padding:16px 70px;background:var(--green);color:#fff;border:0;font:inherit;cursor:pointer}.back-home{display:flex;align-items:center;justify-content:center;gap:12px;width:240px;max-width:100%;min-height:54px;margin:55px auto 0;padding:14px 24px;background:var(--green);border:1px solid var(--green);color:#fff;font-size:14px;transition:background .3s}.back-home:hover{background:var(--deep)}.back-home:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:1000px){.page-hero{padding-top:150px}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.page-hero{min-height:270px;padding:135px 24px 60px}.page-content{padding:55px 22px 85px}.lead{text-align:left;font-size:15px;margin-bottom:50px}.page-heading{font-size:24px}.info-table th,.info-table td{display:block;width:100%;padding:12px 16px}.info-table td{padding-top:0}.article-list article{grid-template-columns:90px 80px}.article-list h2{grid-column:1/-1}.cards,.steps,.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:6px}.contact-box{padding:30px}.contact-box strong{font-size:21px}.job{padding:25px}}
.order-page-hero{background-image:linear-gradient(90deg,rgba(0,123,67,.88),rgba(0,123,67,.28)),url("./assets/images/ittoubori.jpg");background-position:center 20%;background-size:cover}
.recruit-page-hero{background-image:linear-gradient(90deg,rgba(0,123,67,.91),rgba(0,123,67,.42)),url("./assets/images/zyuunishi.jpg");background-position:left 50%;background-size:cover}
@media(max-width:680px){.order-page-hero{background-position:center 20%}.recruit-page-hero{background-position:35% center}}
.company-page-hero{background-image:linear-gradient(90deg,rgba(0,123,67,.68),rgba(0,123,67,.14)),url("./assets/images/company-header.jpg");background-position:center 52%;background-size:cover}.company-content>section+section{margin-top:100px}.section-kicker{margin:0 0 5px;color:var(--red);font:11px Arial,sans-serif;letter-spacing:.3em}.greeting-body{max-width:850px;margin:0 auto;font-size:15px;line-height:2.25}.philosophy-block{padding:58px 40px;background:var(--green);color:#fff;text-align:center}.philosophy-block h2{margin:4px 0 24px;font-size:24px;font-weight:500;letter-spacing:.16em}.philosophy-statement{margin:0;font-family:"Shippori Mincho",serif;font-size:clamp(22px,3.5vw,36px);letter-spacing:.12em}.history-list{margin:0}.history-list div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line);padding:24px 20px}.history-list div:first-child{border-top:1px solid var(--line)}.history-list dt{color:var(--green);font-weight:600}.history-list dt small{font:11px Arial,sans-serif;color:#777}.history-list dd{margin:0;font-size:14px}
@media(max-width:680px){.company-content>section+section{margin-top:70px}.greeting-body{font-size:14px;line-height:2.1}.philosophy-block{padding:42px 20px}.history-list div{grid-template-columns:1fr;gap:8px;padding:20px 10px}.history-list dt br{display:none}.history-list dt small{margin-left:10px}}
.order-intro{max-width:100%;margin:0 auto 85px;text-align:center;font-size:16px;line-height:2.1}.order-restriction{margin-top:30px;padding:24px 30px;border:1px solid var(--line);background:#faf8f1;color:var(--green);font-weight:600}.order-method+.order-method{margin-top:100px}.notice-list{margin:0;padding:0;list-style:none}.notice-list li{position:relative;padding:13px 10px 13px 30px;border-bottom:1px solid var(--line);font-size:14px}.notice-list li:first-child{border-top:1px solid var(--line)}.notice-list li:before{content:"";position:absolute;left:9px;top:25px;width:5px;height:5px;border-radius:50%;background:var(--red)}.fax-panel,.email-panel{margin-top:38px;padding:35px;background:#faf8f1;text-align:center}.fax-panel>p{margin:0;color:#777;font-size:12px;letter-spacing:.15em}.fax-panel>strong{display:inline-block;margin:5px 20px;color:var(--green);font:600 clamp(22px,3vw,32px) Arial,sans-serif}.fax-panel .fax-free:before{content:"フリーダイヤル";display:block;font:9px "Noto Serif JP",serif;letter-spacing:.1em;color:#777}.document-button{display:flex;margin:24px auto 0;max-width:290px}.email-panel .dark-button{display:flex;margin:24px auto 0;max-width:260px}.notice-list code{padding:2px 6px;background:#e7ece8;color:var(--green)}
@media(max-width:680px){.order-intro{text-align:left;font-size:14px;margin-bottom:65px}.order-restriction{padding:20px}.order-method+.order-method{margin-top:75px}.notice-list li{font-size:13px}.fax-panel,.email-panel{padding:28px 18px}.fax-panel>strong{display:block;margin:12px 0}}
.news-page-hero{background-image:linear-gradient(90deg,rgba(0,123,67,.7),rgba(0,123,67,.14)),url("./assets/images/kindawara.jpg");background-position:center 48%;background-size:cover}
.privacy-page-hero{min-height:260px}.policy-content{max-width:900px}.policy-intro{margin:0 0 65px;line-height:2}.policy-content>section{margin-top:52px}.policy-content>section h2{padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--green);font-size:20px;font-weight:600;letter-spacing:.08em}.policy-content>section p,.policy-content>section li{font-size:14px;line-height:2}.policy-content>section ul{padding-left:1.5em}.policy-contact{padding:35px 40px;background:#faf8f1}.policy-contact h2{margin-top:0}.policy-contact .dark-button{margin-top:16px}.policy-date{margin-top:55px;text-align:right;font-size:12px;color:#777}
@media(max-width:680px){.privacy-page-hero h1{font-size:28px;letter-spacing:.08em}.policy-intro{margin-bottom:45px}.policy-content>section{margin-top:42px}.policy-contact{padding:25px 20px}}
.calendar-card{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:45px;padding:45px;background:#faf8f1;border:1px solid var(--line)}.calendar-icon{height:150px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(0,123,67,.08);text-align:center}.calendar-icon:before{content:"";display:block;height:25px;background:var(--green)}.calendar-icon span{display:block;margin-top:18px;color:var(--red);font:12px Arial,sans-serif;letter-spacing:.2em}.calendar-icon strong{display:block;margin-top:4px;color:var(--green);font-size:23px;letter-spacing:.08em}.calendar-copy h3{margin:0;color:var(--green);font-size:23px;font-weight:500}.calendar-copy p{font-size:14px}.calendar-copy .dark-button{margin-top:12px}
@media(max-width:680px){.calendar-card{grid-template-columns:1fr;gap:25px;padding:28px 20px}.calendar-icon{width:150px;margin:auto}.calendar-copy{text-align:center}.calendar-copy h3{font-size:19px}.calendar-copy .dark-button{display:flex;margin:18px auto 0}}
.juyohin-story{max-width:760px;margin:0 auto}.juyohin-story+.juyohin-story{margin-top:65px}.juyohin-story>p:not(.section-kicker){font-size:16px;line-height:2.2;margin:0 0 24px}.product-contact{margin-top:90px;padding:50px;background:#faf8f1;text-align:center}.product-contact h2{font-size:24px;font-weight:500;letter-spacing:.1em}.product-contact .dark-button{display:flex;max-width:270px;margin:25px auto 0}
@media(max-width:520px){.product-contact{padding:35px 20px}.product-contact h2{font-size:20px}}
.recruit-content>section+section{margin-top:95px}.recruit-job-card{display:grid;grid-template-columns:31% 69%;background:#faf8f1;border-top:3px solid var(--green);margin-top:28px}.job-title{padding:38px 32px;background:#e9eee9}.job-title>span{display:inline-block;padding:3px 10px;background:var(--green);color:#fff;font-size:10px;letter-spacing:.1em}.job-title h3{margin:20px 0 0;color:var(--green);font-family:"Shippori Mincho",serif;font-size:25px;font-weight:500;line-height:1.6}.job-title h3 small{font-size:13px;color:#555}.job-details{padding:35px 40px}.job-details h4{margin:0 0 13px;color:var(--green);font-size:17px}.job-details h4:not(:first-child){margin-top:35px}.compact-table{width:100%;border-collapse:collapse;font-size:14px}.compact-table th,.compact-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.compact-table th{width:120px;color:var(--green)}.recruit-download{padding:50px;background:#faf8f1;text-align:center}.recruit-download h2{margin-top:0;font-size:24px;font-weight:500;letter-spacing:.1em}.recruit-download .dark-button{display:flex;max-width:260px;margin:25px auto 0}
@media(max-width:720px){.recruit-content>section+section{margin-top:70px}.recruit-job-card{grid-template-columns:1fr}.job-title{padding:28px 24px}.job-details{padding:28px 20px}.recruit-download{padding:38px 20px}.compact-table th{width:95px}}

.contact-fields{min-width:0;margin:0;padding:0;border:0}.contact-fields[hidden],.contact-form .form-row[hidden]{display:none}.contact-fields-title{padding:0;margin-top:25px;color:var(--green);font-size:16px;font-weight:600}.required-label{display:inline-block;margin-left:5px;padding:1px 4px;border-radius:2px;background:#cf3024;color:#fff;font-size:11px;line-height:1.4;vertical-align:middle}.contact-form .form-row{align-items:start;padding:16px 0}.contact-form .form-row label{padding-top:10px;font-weight:400}.contact-form .form-row input,.contact-form .form-row textarea{background:#f7f7f7;border:1px solid #eee;border-radius:2px}.contact-form .form-row textarea{min-height:144px}

.notice-list .fax-confirmation-notice{color:var(--red)}
