@charset "UTF-8";
:root{--ink:#263b34;--muted:#747a70;--line:#dbddd2;--paper:#fcfcf7;--accent:#b75f3a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #bd683f;outline-offset:5px}.wrap{width:min(1200px,88%);margin-inline:auto}.preview-bar{padding:6px 6%;background:#e9ece3;font-size:10px;letter-spacing:.15em}.preview-bar span{margin-left:20px;letter-spacing:.04em;color:#626c60}.header{display:flex;justify-content:space-between;align-items:center;padding-block:33px}.brand{display:flex;gap:14px;align-items:center}.brand-mark{display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;width:55px;height:55px;font-family:serif;font-size:21px;letter-spacing:-3px;padding-right:3px}.brand strong{font-size:19px;letter-spacing:.1em;font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:.22em;line-height:1.5}.header-right{display:flex;gap:42px;align-items:center;font-size:11px}.text-link{padding-bottom:7px;border-bottom:1px solid var(--ink)}.text-link b{margin-left:20px}.hero{background:#e9e9df;min-height:515px;position:relative;display:grid;grid-template-columns:43% 57%;overflow:hidden}.hero-copy{padding:60px 0 62px 60px;position:relative;z-index:2}.eyebrow{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.19em;font-weight:600;margin:0 0 20px}h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(40px,4.3vw,62px);letter-spacing:.09em;line-height:1.45;margin:0 0 24px}.hero-description{line-height:2.2;font-size:13px;letter-spacing:.05em}.hero-link{display:flex;align-items:center;justify-content:space-between;max-width:246px;margin-top:27px;font-size:12px;border-bottom:1px solid #929b8b;padding-bottom:10px}.hero-link span{font-size:20px}.hero-art{position:relative;min-height:490px}.art-circle{position:absolute;border-radius:50%;width:410px;height:410px;background:#d7decf;right:-28px;top:53px}.paper{position:absolute;box-shadow:7px 14px 20px #24332420}.poster{left:6%;top:46px;width:217px;height:286px;background:#faf6e6;transform:rotate(-12deg);padding:22px;color:#344c3f}.poster small{font-size:7px;letter-spacing:.1em}.flower{font-size:128px;line-height:1.12;color:#c87444}.poster strong{position:absolute;bottom:37px;font-family:serif;font-size:27px;line-height:1.3;right:22px}.poster>span{position:absolute;bottom:15px;font-size:7px;letter-spacing:.14em}.booklet{right:12%;top:73px;width:164px;height:223px;transform:rotate(13deg);background:#466665;color:#fff9dd;padding:25px 23px;border-left:7px solid #365857}.booklet small{font-size:6px;letter-spacing:.15em}.booklet strong{display:block;font-family:serif;font-size:27px;line-height:1.65;margin-top:20px;font-weight:400}.booklet>span{font-size:6px;letter-spacing:.1em}.book-lines{height:27px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 5px,#82968b 6px,transparent 7px);margin-block:18px 12px}.bizcard{left:3%;bottom:87px;background:#fffdf5;width:204px;height:112px;padding:20px;transform:rotate(7deg);display:flex;gap:24px;align-items:center}.mini-mark{border:1px solid;border-radius:50%;font-family:serif;font-size:15px;padding:10px 5px}.bizcard strong{font-family:Arial;font-size:15px;line-height:1.5;letter-spacing:.03em}.box{right:13%;bottom:78px;width:190px;height:129px;background:#d5b885;transform:rotate(-10deg) skewY(3deg);border-top:19px solid #ebd3a8;border-right:17px solid #b89c71}.box span{font-family:serif;font-size:19px;position:absolute;left:24px;top:20px}.box i{position:absolute;right:26px;top:-19px;width:38px;height:129px;background:#4e644c}.round-label{position:absolute;bottom:49px;left:39%;border-radius:50%;width:89px;height:89px;background:#c2754b;color:#fff2d6;text-align:center;padding:13px;font-size:7px;line-height:1.6;transform:rotate(13deg);box-shadow:3px 8px 14px #24332420}.round-label b{font-family:serif;font-size:21px;font-weight:400}.art-caption{position:absolute;right:23px;bottom:40px;font-size:8px;letter-spacing:.1em;color:#6d786a}.hero-bottom{position:absolute;bottom:0;width:100%;padding:11px 24px;border-top:1px solid #cbd1c3;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em}.main-nav{display:flex;justify-content:space-around;padding:24px 0;border-bottom:1px solid var(--line)}.main-nav a{font-size:12px;padding:5px 16px;border-right:1px solid var(--line);flex:1;text-align:center}.main-nav a:last-child{border:0}.main-nav a:hover{color:var(--accent)}.section{padding-block:72px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:33px;gap:35px}.section-head .eyebrow{margin-bottom:9px;color:var(--muted)}h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:31px;font-weight:500;letter-spacing:.05em;line-height:1.6;margin:0}.section-head>p{font-size:12px;color:var(--muted);margin:0 0 4px;line-height:2}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:23px;row-gap:34px}.product{border:none;background:none;text-align:left;padding:0;min-width:0}.product-image{aspect-ratio:1.4;position:relative;overflow:hidden}.product-image svg,.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.product:hover .product-image svg,.product:hover img{transform:scale(1.05)}.product-title{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:5px}.product h3{font-size:14px;font-weight:500;letter-spacing:.02em;margin:0}.product-title>span{font-size:17px;color:#7b846f}.product>p{font-size:10px;color:var(--muted);margin:4px 0 0}.status{position:absolute;top:10px;left:10px;padding:2px 8px;background:#fbfaf0df;font-size:9px;letter-spacing:.05em}.section-note{font-size:10px;color:#8b8d82;margin:30px 0 0}.services-background{background:#f0f1e9;border-block:1px solid #e7e9dd}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.service{background:transparent;text-align:left;border:0;border-left:1px solid #cbd0c0;padding:0 20px;position:relative}.service:first-child{padding-left:0;border:0}.service-top{display:flex;justify-content:space-between;align-items:center}.service-symbol{font-family:Georgia,serif;font-size:36px;font-weight:400;color:#5c7257}.service h3{font-size:15px;font-weight:500;margin:16px 0 8px}.service p{font-size:11px;color:var(--muted)}.service small{font-size:9px;color:#956347}.service:hover h3{color:var(--accent)}.mobile-break{display:none}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:85px;align-items:center;padding-block:90px}.about-visual{background:#e3e5d9;min-height:330px;padding:39px;position:relative;overflow:hidden}.about-large{font-family:serif;font-size:115px;letter-spacing:-15px;display:block;border:1px solid #7e8d70;border-radius:50%;width:218px;height:218px;line-height:195px;text-align:center;color:#3f5d49;transform:rotate(-12deg);margin-top:28px}.about-visual>span:nth-child(2){position:absolute;right:20px;top:25px;font-family:Arial;font-size:10px;letter-spacing:.13em;line-height:1.4}.color-dots{position:absolute;bottom:25px;right:26px;display:flex}.color-dots i{width:22px;height:22px;background:#c07b51;border-radius:50%;margin-left:-5px;mix-blend-mode:multiply}.color-dots i:nth-child(2){background:#d9bd75}.color-dots i:nth-child(3){background:#91a998}.color-dots i:nth-child(4){background:#586961}.about-copy h2{font-size:26px;margin-bottom:20px}.about-copy p:not(.eyebrow){font-size:12px;line-height:2.2;color:#626b60}.draft-note{font-size:9px;color:#94978d}.contact-section{background:#e9ecdf;padding:66px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:38px 0;gap:40px}.steps li{border-top:1px solid #afb9a2;padding-top:17px}.steps li>span{font-family:Georgia;font-size:23px;color:#7d8b71}.steps h3{font-size:14px;margin:8px 0;font-weight:500}.steps p{font-size:11px;color:#747b6a}.contact-actions{display:flex;gap:25px;align-items:center}.button{display:flex;justify-content:space-between;gap:55px;align-items:center;background:#354e3d;color:#fffef4;border:0;padding:16px 26px;font-size:12px;min-width:265px}.button:hover{background:#49634d}.contact-actions p{font-size:10px;color:#7d8473}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:49px 0}.footer-top p{font-size:12px;margin:0}.footer-top small{font-size:9px;color:#808779}.to-top{font-size:10px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 0;font-size:9px;letter-spacing:.07em;color:#8c9386}dialog{border:0;padding:45px;width:min(570px,90vw);background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #14241c55}dialog::backdrop{background:#1b2e255f;backdrop-filter:blur(3px)}dialog h2{font-size:26px;margin-bottom:20px}dialog p{font-size:13px;line-height:2}.close-dialog{position:absolute;right:16px;top:10px;border:none;background:none;font-size:28px}.dialog-note{font-size:11px;background:#efeee4;padding:17px;line-height:1.9;margin:22px 0}.dialog-contact{width:100%}
@media(min-width:1450px){.hero-copy{padding-top:65px}.hero{min-height:540px}.hero-art{min-height:540px}.poster{top:57px}.booklet{top:95px}}
@media(max-width:1000px){.wrap{width:90%}.hero-copy{padding:40px 0 50px 35px}.hero-art{transform:scale(.85);transform-origin:center}.hero{min-height:470px}.hero-art{min-height:470px}.header-right>span{display:none}.product-grid{gap:25px 16px}.product h3{font-size:12px}.section-head>p{font-size:11px}.about{gap:40px}.service{padding:0 12px}.service h3{font-size:13px}.footer-top{flex-wrap:wrap}}
@media(max-width:700px){.preview-bar{font-size:8px;padding:6px 5%;letter-spacing:.06em}.preview-bar span{display:block;margin:1px 0 0;font-size:8px}.header{padding:21px 0}.brand-mark{height:43px;width:43px;font-size:18px}.brand strong{font-size:15px}.brand small{font-size:7px}.header-right{font-size:9px}.text-link b{margin-left:8px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:33px 28px 0}.eyebrow{font-size:9px}h1{font-size:42px;line-height:1.4;margin-bottom:15px}.hero-description{font-size:12px;line-height:2}.hero-link{font-size:11px;margin-top:19px;max-width:235px}.hero-art{transform:scale(.8);min-height:350px;margin:-20px -20px -10px}.art-circle{width:300px;height:300px;top:40px;right:0}.poster{top:25px;left:9%;width:180px;height:240px}.flower{font-size:95px}.booklet{right:8%;top:50px;width:139px;height:190px;padding:20px}.booklet strong{font-size:22px}.bizcard{left:6%;bottom:25px;width:168px;height:92px;padding:15px;gap:14px}.bizcard strong{font-size:12px}.box{right:7%;bottom:5px;transform:scale(.83) rotate(-10deg)}.round-label{bottom:-5px;left:41%;transform:scale(.8) rotate(13deg)}.art-caption{bottom:-30px;right:25px;font-size:7px}.hero-bottom{position:relative;padding:9px 13px;font-size:7px}.main-nav{display:flex;overflow:auto;justify-content:flex-start;padding:16px 0;gap:0}.main-nav a{flex:none;padding:4px 13px;font-size:11px;white-space:nowrap}.section{padding:45px 0}.section-head{display:block;margin-bottom:25px}.section-head h2{font-size:27px}.section-head>p{margin-top:15px}.product-grid{grid-template-columns:repeat(2,1fr);gap:25px 14px}.product h3{font-size:12px;line-height:1.6}.product>p{font-size:9px;line-height:1.8}.product-title>span{font-size:13px}.status{font-size:8px;left:6px;top:6px}.service-grid{grid-template-columns:repeat(2,1fr);gap:27px 15px}.service{padding:0 10px}.service:nth-child(3){border:0;padding-left:0}.service h3{font-size:13px}.service p{font-size:10px}.service-symbol{font-size:29px}.mobile-break{display:block}.about{grid-template-columns:1fr;gap:28px;padding-block:50px}.about-visual{min-height:230px;padding:18px}.about-large{width:165px;height:165px;font-size:90px;line-height:148px;margin:15px 0 0 20px}.about-copy h2{font-size:25px}.contact-section{padding:45px 0}.steps{grid-template-columns:1fr;gap:18px;margin-block:24px}.steps li{display:grid;grid-template-columns:40px 1fr;gap:0 12px;padding-top:12px}.steps li>span{grid-row:span 2}.steps h3{margin:0}.steps p{margin:3px 0 0}.contact-actions{display:block}.button{width:100%;min-width:0}.contact-actions p{margin-top:15px}.footer-top{display:block;padding:34px 0}.footer-top>div{margin:22px 0}.footer-bottom{font-size:8px}dialog{padding:35px 25px}dialog h2{font-size:22px}.section-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 2026-10-14 商品画像と長めの補助文に対応 */
.product{align-self:start}.product-image{aspect-ratio:3/2;background:#f1f2ef}.product-image img{display:block;object-fit:contain}.product>p{font-size:12px;line-height:1.85}.product h3{line-height:1.65}.dialog-contact[hidden]{display:none}@media(max-width:700px){.product>p{font-size:11px}}

/* 2026-10-15: サービス4列×2段。各行の左端を統一 */
.service-grid{row-gap:38px}
.service{align-self:stretch;min-width:0;display:flex;flex-direction:column;justify-content:flex-start}
.service-top{min-height:65px;flex:none}
.service h3{line-height:1.7}
.service p{font-size:12px;line-height:1.9;margin:0 0 8px}
.service:nth-child(4n+1){border-left:0;padding-left:0}
.service-placeholder{cursor:default}
.service-placeholder .service-symbol{color:#8a9680}
.service-placeholder h3{color:var(--muted)}
@media(max-width:700px){
.service:nth-child(n){border-left:1px solid #cbd0c0;padding-left:10px}
.service:nth-child(2n+1){border-left:0;padding-left:0}
.service p{font-size:11px}
.service-top{min-height:53px}
}

.product-placeholder{cursor:default}.product-placeholder:hover .product-image svg{transform:none}

/* 会社情報・3拠点 */
.company-locations{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-bottom:32px}.company-locations section{border-top:1px solid var(--line);padding-top:18px}.company-locations h3{font-size:15px;font-weight:500;margin:0 0 12px}.company-locations address{font-style:normal;font-size:13px;line-height:2}@media(max-width:700px){.company-locations{grid-template-columns:1fr;gap:22px}.company-locations address{font-size:12px}}

.office-contact{margin-top:12px;color:var(--muted)}.office-contact p{font-size:12px;line-height:1.9;margin:2px 0}.office-contact a{font-size:inherit;letter-spacing:normal}.office-contact a:hover{text-decoration:underline}

/* 商品一覧：文字の左右と、上下の商品間に余白を設ける */
.product-grid{row-gap:46px}
.product-title{margin-left:10px;margin-right:10px}
.product>p{margin-left:10px;margin-right:10px}
@media(max-width:700px){
  .product-grid{row-gap:37px}
  .product-title,.product>p{margin-left:8px;margin-right:8px}
}

/* Fireflyで作成したトップ画像：文章はHTMLのまま保持 */
.hero-art.hero-photo{display:flex;align-items:center;justify-content:center;min-height:0;transform:none;margin:0;padding:22px 24px 48px 10px;overflow:hidden}
.hero-photo img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain}
@media(max-width:1000px){.hero-art.hero-photo{padding:18px 18px 45px 8px}.hero-photo img{max-height:440px}}
@media(max-width:700px){.hero-art.hero-photo{min-height:0;margin:0;transform:none;padding:24px 22px 20px}.hero-photo img{max-height:none;width:100%;height:auto}}

/* PNG外周の背景色に合わせ、写真の縁をなじませる */
.hero{background:#e2e6e7}
.hero-photo img{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 4%,#000 96%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 4%,#000 96%,transparent 100%);
  mask-composite:intersect;
}
.hero-bottom{border-top-color:#cbd2d3}

/* 横長の一枚写真に文字を重ね、中央の継ぎ目をなくす */
.hero.hero-wide{display:block;min-height:515px;background:#e9e9df;isolation:isolate}
.hero-wide-image{position:absolute;inset:0 0 35px;z-index:-1;overflow:hidden}
.hero-wide-image img{display:block;width:100%;height:100%;object-fit:fill}
.hero-wide .hero-copy{width:45%;padding:52px 0 68px 50px}
.hero-wide .hero-bottom{bottom:0;background:transparent;border-top-color:#cbd1c3}
@media(min-width:1450px){.hero.hero-wide{min-height:540px}.hero-wide .hero-copy{padding-top:60px}}
@media(min-width:701px) and (max-width:1000px){.hero.hero-wide{min-height:460px}.hero-wide .hero-copy{width:47%;padding:40px 0 60px 30px}.hero-wide h1{font-size:clamp(32px,4.2vw,42px)}.hero-wide .hero-description{font-size:12px}}
@media(max-width:700px){
.hero.hero-wide{min-height:0;display:flex;flex-direction:column}
.hero-wide .hero-copy{width:100%;padding:33px 28px 10px}
.hero-wide-image{position:relative;inset:auto;z-index:0;order:1;width:100%;height:auto;aspect-ratio:1.2;margin:0;overflow:hidden}
.hero-wide-image img{position:absolute;width:auto;max-width:none;height:100%;right:0;top:0;object-fit:contain;mask-image:linear-gradient(to bottom,transparent,#000 8%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%)}
.hero-wide .hero-bottom{position:relative;order:2}
}

/* Company logo: retain original proportions and blend its white background. */
.brand-logo{display:block;width:55px;height:55px;object-fit:contain;flex-shrink:0;mix-blend-mode:multiply}
@media(max-width:700px){.brand-logo{width:43px;height:43px}}

/* Company logo centered with space for the corner captions. */
.about-visual{display:flex;align-items:center;justify-content:center;min-height:330px;padding:60px 28px}
.about-logo{display:block;width:210px;height:210px;max-width:100%;object-fit:contain;margin:0;mix-blend-mode:multiply;flex-shrink:0}
@media(max-width:700px){.about-visual{min-height:280px;padding:55px 24px}.about-logo{width:170px;height:170px;margin:0}}

/* Consultation form */
#contact-dialog{width:min(640px,92vw);max-height:90vh;overflow:auto}
.contact-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:28px;cursor:pointer}
#contact-form{display:grid;gap:18px;margin-top:24px}
#contact-form label{display:grid;gap:7px;font-size:13px}
#contact-form label small{display:inline;color:#965033;font-size:10px}
#contact-form input,#contact-form textarea{width:100%;padding:12px;border:1px solid #b9c1b0;border-radius:3px;background:#fffef9;color:var(--ink);font:inherit;font-size:16px}
#contact-form textarea{resize:vertical}
#contact-form input:focus-visible,#contact-form textarea:focus-visible{outline:2px solid #586961;outline-offset:2px}
#contact-form .contact-form-note{font-size:11px;line-height:1.9;margin:0;color:#626c60}
.contact-form-note a{text-decoration:underline;overflow-wrap:anywhere}
#contact-status{font-size:12px;margin:0}
#contact-form .button{white-space:normal;min-width:0;width:100%;font-size:13px}

/* Company contact: heading, opening hours, aligned contact rows. */
.company-footer{padding-top:84px}
.company-contact{text-align:center;padding-bottom:65px}
.company-identity{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin:0 auto;gap:22px;text-align:left}
.company-identity img{display:block;width:72px;height:72px;flex-shrink:0;object-fit:contain;mix-blend-mode:multiply}
.company-name strong{display:block;font-size:30px;font-weight:500;letter-spacing:.1em;line-height:1.5}
.company-name small{display:block;font-size:10px;letter-spacing:.24em;line-height:1.6;margin-top:4px}
.company-hours{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 30px;margin:44px 0 23px;font-size:14px;line-height:1.9}
.company-hours p{margin:0}
.company-contact-links{display:flex;flex-direction:column;width:fit-content;max-width:100%;margin:0 auto;gap:14px;text-align:left}
.company-contact-links a{display:grid;grid-template-columns:22px 64px minmax(0,1fr);column-gap:18px;align-items:center;line-height:1.5}
.company-contact-links svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.company-contact-links .contact-label{font-size:14px;letter-spacing:.06em}
.company-phone .contact-value{font-size:26px;letter-spacing:.05em}
.company-email .contact-value{font-size:18px;letter-spacing:.03em;overflow-wrap:anywhere}
.company-contact-links a:hover .contact-value{text-decoration:underline;text-underline-offset:5px}
.company-footer .company-locations{text-align:center;gap:30px;padding-bottom:44px}
.company-footer .company-locations section{padding-top:25px}
.company-footer .company-locations h3{font-size:14px}
.company-footer .company-locations address{font-size:12px}
@media(max-width:700px){.company-footer{padding-top:52px}.company-contact{padding-bottom:42px}.company-identity{gap:14px}.company-identity img{width:52px;height:52px}.company-name strong{font-size:22px}.company-name small{font-size:8px}.company-hours{flex-direction:column;gap:2px;margin:30px 0 22px;font-size:12px}.company-contact-links{gap:12px}.company-contact-links a{grid-template-columns:18px 48px minmax(0,1fr);column-gap:11px}.company-contact-links svg{width:18px;height:18px}.company-contact-links .contact-label{font-size:12px}.company-phone .contact-value{font-size:22px}.company-email .contact-value{font-size:15px}.company-footer .company-locations{gap:22px;padding-bottom:30px}.company-footer .company-locations section{padding-top:19px}}

/* Stack the footer heading and details on one central axis. */
.company-footer .company-contact{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;padding:24px 0 60px;border-top:1px solid var(--line)}
.company-footer .company-identity{display:block;margin:0 auto;text-align:center}
.company-footer .company-name{display:block;margin:0;color:var(--ink)}
.company-footer .company-name strong{font-size:32px;font-weight:500}
.company-footer .company-name small{font-size:9px;color:var(--muted)}
.company-footer .company-hours{font-size:12px;margin:30px 0 20px;color:#626c60}
.company-footer .company-contact-links{align-items:center;gap:12px;margin:0 auto;text-align:left}
.company-footer .company-contact-links a{display:flex;justify-content:center;align-items:center;gap:12px}
.company-footer .company-contact-links svg{width:18px;height:18px;flex-shrink:0}
.company-footer .contact-label{font-size:12px;color:#626c60}
.company-footer .company-phone .contact-value{font-size:20px;letter-spacing:.04em}
.company-footer .company-email .contact-value{font-size:15px;letter-spacing:.03em}
@media(max-width:700px){.company-footer .company-contact{padding:22px 0 38px}.company-footer .company-name strong{font-size:26px}.company-footer .company-hours{font-size:11px;margin:24px 0 18px}.company-footer .company-phone .contact-value{font-size:19px}.company-footer .company-email .contact-value{font-size:14px}}

/* Company introduction: landscape photograph */
.about-visual.about-photo{display:block;padding:0;min-height:0;background:none;overflow:hidden}
.about-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}

/* Privacy page and shared policy links */
.footer-bottom{flex-wrap:wrap;gap:16px}.privacy-link{font-size:13px}.privacy-page{max-width:900px;padding-top:32px;padding-bottom:72px;overflow-wrap:anywhere}.privacy-page nav{font-size:13px;margin-bottom:48px}.privacy-page h1{font-size:clamp(25px,5vw,40px);line-height:1.5;margin:12px 0 48px}.privacy-page section{margin:32px 0}.privacy-page h2{font-size:20px;line-height:1.6;margin-bottom:12px}.privacy-page p{font-size:15px;line-height:2}.privacy-page p+p{margin-top:12px}.privacy-page a,.privacy-link,.contact-form-note a{text-decoration:underline;text-underline-offset:3px}
