.inhouse-sale { --sale-text:#333; --sale-sub:#6d6968; --sale-line:#d8d4d1; --sale-bg:#fff; --sale-soft:#f4f1ed; --sale-accent:#8f452f; --sale-button:#585455; max-width:100%; padding:0 0 9rem; overflow-x:hidden; color:var(--sale-text); background:var(--sale-bg); font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif; box-sizing:border-box; }
.sale-mainvisual { width:100vw; max-width:none; margin-left:calc(50% - 50vw); overflow:hidden; background:#fff; }
.sale-mainvisual picture,.sale-mainvisual img { display:block; width:100%; max-width:none; height:auto; margin:0; }
.sale-intro { max-width:920px; margin:4.5rem auto 0; padding:0 2rem; text-align:center; box-sizing:border-box; }
.sale-intro h1 { margin:0; font-size:3.2rem; font-weight:600; line-height:1.5; letter-spacing:.04em; }
.sale-intro__text { margin:2rem 0 0; color:#555; font-size:1.7rem; line-height:2; }
.sale-period { margin:2rem 0 0; color:var(--sale-accent); font-size:1.55rem; font-weight:700; letter-spacing:.04em; }
.sale-notice { max-width:1040px; margin:3rem auto 0; padding:0 2rem; box-sizing:border-box; }
.sale-notice__box { padding:2rem; background:var(--sale-soft); border:1px solid var(--sale-line); text-align:center; }
.sale-notice__box strong { display:block; color:var(--sale-accent); font-size:2rem; font-weight:700 !important; line-height:1.5; }
.sale-notice__box p { margin:.6rem 0 0; color:var(--sale-sub); font-size:1.45rem; line-height:1.8; }
.sale-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:960px; margin:4rem auto 0; padding:0 2rem; gap:1rem; box-sizing:border-box; }
.sale-nav a { display:flex; min-height:54px; align-items:center; justify-content:center; color:var(--sale-text); background:#fff; border:1px solid var(--sale-line); font-size:1.5rem; font-weight:600; text-decoration:none; transition:.2s; }
.sale-nav a:hover { color:#fff; background:var(--sale-accent); border-color:var(--sale-accent); }
.sale-content { max-width:1120px; margin:7rem auto 0; padding:0 2rem; box-sizing:border-box; }
.offer-section { margin-top:9rem; scroll-margin-top:24px; }
.offer-section:first-child { margin-top:0; }
.inhouse-sale .offer-section__title { margin:0 0 3rem; padding:0 0 1.3rem; background:transparent !important; border:0; border-bottom:1px solid #aaa4a4; border-radius:0; box-shadow:none; font-size:2.7rem; font-weight:600; line-height:1.4; letter-spacing:.04em; }
.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4.8rem 2.4rem; }
.offer-card { display:flex; min-width:0; flex-direction:column; }
.offer-card__image { margin-bottom:1.7rem; overflow:hidden; background:#fff; }
.offer-card__image a,.offer-card__image img { display:block; width:100%; }
.offer-card__image img { height:auto; }
.offer-card__body { display:flex; height:100%; flex:1; flex-direction:column; }
.offer-card__name-link { color:var(--sale-text); text-decoration:none; }
.offer-card__name-link:hover { text-decoration:underline; }
.offer-card__name { min-height:6rem; margin:0; font-size:1.7rem; font-weight:600; line-height:1.65; }
.offer-card__badge { width:fit-content; margin:1.2rem 0 0; padding:.4rem .8rem; color:#fff; background:var(--sale-accent); font-size:1.4rem; font-weight:700; }
.offer-card__limit { margin:.7rem 0 0; color:var(--sale-sub); font-size:1.25rem; line-height:1.6; }
.offer-card__price { width:100%; margin-top:auto; padding-top:1.2rem; text-align:right; }
.offer-card__normal { margin:0; color:var(--sale-sub); font-size:1.35rem; }
.offer-card__sale { margin:.2rem 0 0; color:var(--sale-accent); font-size:3rem; font-weight:700; line-height:1.3; }
.offer-card__sale span { margin-left:.3rem; font-size:1.25rem; font-weight:500; }
.inhouse-sale .offer-card__button,
.inhouse-sale .offer-card__button:link,
.inhouse-sale .offer-card__button:visited { display:block; margin-top:1.6rem; padding:1.25rem 1rem; color:#fff !important; background:var(--sale-button); border:1px solid var(--sale-button); text-align:center; text-decoration:none; font-size:1.5rem; font-weight:700; transition:.2s; }
.inhouse-sale .offer-card__button:hover,
.inhouse-sale .offer-card__button:focus { color:#fff !important; background:#3f3c3d; border-color:#3f3c3d; }
@media screen and (max-width:767px) {
 .inhouse-sale { padding-bottom:6rem; }
 .sale-intro { margin-top:3.5rem; padding:0 1.6rem; text-align:left; }
 .sale-intro h1 { font-size:2.4rem; }
 .sale-intro__text { font-size:1.45rem; line-height:1.9; }
 .sale-period { font-size:1.3rem; }
 .sale-notice { padding:0 1.6rem; }
 .sale-notice__box { padding:1.6rem 1.4rem; text-align:left; }
 .sale-notice__box strong { font-size:1.65rem; }
 .sale-notice__box p { font-size:1.25rem; }
 .sale-nav { grid-template-columns:1fr; margin-top:3rem; padding:0 1.6rem; gap:.8rem; }
 .sale-nav a { min-height:48px; font-size:1.3rem; }
 .sale-content { margin-top:5rem; padding:0 1.6rem; }
 .offer-section { margin-top:6.5rem; }
 .inhouse-sale .offer-section__title { margin-bottom:2.3rem; font-size:1.8rem; }
 .offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3.6rem 1.2rem; }
 .offer-card__name { min-height:7rem; font-size:1.42rem; line-height:1.6; }
 .offer-card__badge { font-size:1.2rem; }
 .offer-card__limit { font-size:1.08rem; }
 .offer-card__normal { font-size:1.15rem; }
 .offer-card__sale { font-size:2.25rem; }
 .offer-card__sale span { font-size:1.05rem; }
 .inhouse-sale .offer-card__button { padding:1.05rem .4rem; font-size:1.25rem; }
}
