.s101-753-estimator{box-sizing:border-box;width:100%;padding:clamp(64px,9vw,120px) clamp(18px,4vw,54px);background:#fff;color:#302c29;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}.s101-753-estimator *{box-sizing:border-box;font-family:inherit}.s101-753-estimator__intro{max-width:700px;margin:0 auto 36px;text-align:center}.s101-753-estimator__intro h2{margin:10px 0 18px;font-size:clamp(30px,3.5vw,48px);font-weight:600;line-height:1.35;letter-spacing:.04em}.s101-753-estimator__intro>p:not(.s101-753-eyebrow):not(.s101-753-estimator__notice){margin:0;color:#625b55;font-size:16px;line-height:1.9}.s101-753-estimator__notice{margin:14px 0 0;color:#837970;font-size:12px;line-height:1.8}.s101-753-estimator__shell{max-width:1120px;margin:auto;border:1px solid #dfd8d1;background:#faf9f7}.s101-753-estimator__tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #dfd8d1}.s101-753-estimator__tabs button{border:0;background:#f0ede8;color:#5b544e;padding:19px 14px;font-size:15px;font-weight:700;line-height:1.3;letter-spacing:.06em;cursor:pointer}.s101-753-estimator__tabs button+button{border-left:1px solid #dfd8d1}.s101-753-estimator__tabs button.is-active{background:#fff;color:#302c29}.s101-753-estimator__body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:clamp(24px,4vw,52px)}.s101-753-estimator__fields{min-width:0}.s101-753-estimator__common{display:grid;grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:14px;padding-bottom:20px;border-bottom:1px solid #ded7cf}.s101-753-estimator label>span:first-child,.s101-753-estimator__select>span,.s101-753-estimator__choice-grid>label>span{display:block;margin-bottom:7px;color:#645c56;font-size:12px;font-weight:700;letter-spacing:.08em}.s101-753-estimator select,.s101-753-estimator input[type=date]{width:100%;min-height:48px;border:1px solid #cfc6bd;border-radius:0;background:#fff;padding:10px 12px;color:#302c29;font-size:15px}.s101-753-estimator__date-note{margin:10px 0 26px;color:#7a7169;font-size:12px;line-height:1.7}.s101-753-estimator__step{margin:0 0 16px;font-size:16px;font-weight:700;line-height:1.6}.s101-753-estimator__hint{margin:11px 0 0;color:#7a7169;font-size:12px;line-height:1.75}.s101-753-estimator__group{margin-top:26px;padding-top:23px;border-top:1px solid #ded7cf}.s101-753-estimator__group h3{margin:0 0 12px;font-size:15px;font-weight:700;line-height:1.5;letter-spacing:.06em}.s101-753-estimator__choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.s101-753-estimator__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.s101-753-estimator__options label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px;align-items:start;padding:12px;border:1px solid #e1dad4;background:#fff;color:#4f4842;font-size:13px;line-height:1.55;cursor:pointer}.s101-753-estimator__options input{width:16px;height:16px;margin:2px 0 0;accent-color:#4d4640}.s101-753-estimator__result{align-self:start;background:#ece8e2;padding:28px 24px;text-align:center}.s101-753-estimator__result>p{margin:0 0 12px;color:#6f665f;font-size:12px;font-weight:700;letter-spacing:.1em}.s101-753-estimator__result dl{margin:0}.s101-753-estimator__result dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #d9d1c9;color:#625a53;font-size:14px}.s101-753-estimator__result dt,.s101-753-estimator__result dd{margin:0}.s101-753-estimator__result dd{font-weight:700}.s101-753-estimator__result .s101-753-estimator__total{align-items:baseline;border-top:1px solid #9c9288;color:#302c29}.s101-753-estimator__result .s101-753-estimator__total dt{font-weight:700}.s101-753-estimator__result .s101-753-estimator__total dd{font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:.02em}.s101-753-estimator__result small{display:block;margin:13px 0 22px;color:#6b625b;font-size:12px;line-height:1.7}.s101-753-estimator__result a{display:block;background:#06c755;padding:15px 10px;color:#fff!important;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none}.s101-753-estimator__result>span{display:block;margin-top:12px;color:#756b64;font-size:11px;line-height:1.65;text-align:left}@media(max-width:767px){.s101-753-estimator{padding:58px 18px}.s101-753-estimator__intro{margin-bottom:26px}.s101-753-estimator__intro h2{font-size:30px}.s101-753-estimator__intro>p:not(.s101-753-eyebrow):not(.s101-753-estimator__notice){font-size:14px}.s101-753-estimator__body{display:flex;flex-direction:column;gap:22px;padding:22px 16px}.s101-753-estimator__common{grid-template-columns:1fr 1fr;gap:12px}.s101-753-estimator__date{grid-column:1/-1}.s101-753-estimator__options,.s101-753-estimator__choice-grid{grid-template-columns:1fr}.s101-753-estimator__result{order:-1;padding:23px 18px}.s101-753-estimator__tabs button{padding:16px 8px;font-size:13px}}
.s101-753-estimator--compact{padding:clamp(40px,6vw,72px) clamp(18px,4vw,54px)}
.s101-753-estimator--compact .s101-753-estimator__intro{margin-bottom:22px}
.s101-753-estimator--compact .s101-753-estimator__intro h2{font-size:clamp(28px,3vw,38px)}
.s101-753-estimator--compact .s101-753-estimator__toggle-wrap{position:relative;max-height:175px;overflow:hidden}
.s101-753-estimator--compact .s101-753-estimator__toggle-wrap::after{position:absolute;right:0;bottom:0;left:0;height:112px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 86%);content:"";pointer-events:none}
.s101-753-estimator--compact.is-expanded .s101-753-estimator__toggle-wrap{max-height:none;overflow:visible}
.s101-753-estimator--compact.is-expanded .s101-753-estimator__toggle-wrap::after{display:none}
.s101-753-estimator__toggle{display:block;width:min(100%,420px);margin:18px auto 0;border:1px solid #4d4640;background:#fff;padding:15px 20px;color:#302c29;font-size:15px;font-weight:700;letter-spacing:.08em;cursor:pointer}
.s101-753-estimator__toggle::after{margin-left:10px;content:"＋"}
.s101-753-estimator--compact.is-expanded .s101-753-estimator__toggle{display:none}
@media(max-width:767px){.s101-753-estimator--compact{padding:42px 18px}.s101-753-estimator--compact .s101-753-estimator__toggle-wrap{max-height:154px}.s101-753-estimator__toggle{font-size:14px}}
/* 年齢別ページでは、シミュレーターと撮影ノートを独立した枠として見せる。 */
.in.planarea.blog:has(.s101-753-estimator--compact){border:0;background:transparent;padding:0}
.in.planarea.blog .s101-753-estimator--compact{margin:0 0 52px;border:3px solid #ddd}
.in.planarea.blog .s101-753-estimator--compact+h3{margin:0;border:3px solid #ddd;border-bottom:0;background:#fff;padding:clamp(26px,3vw,40px) clamp(22px,3vw,38px) 12px;color:#302c29}
.in.planarea.blog .s101-753-estimator--compact+h3+.child-page-grid{border:3px solid #ddd;border-top:0;background:#fff;padding:clamp(16px,2.5vw,32px) clamp(22px,3vw,38px) clamp(28px,3vw,42px)}
@media(max-width:767px){.in.planarea.blog .s101-753-estimator--compact{margin-bottom:34px}.in.planarea.blog .s101-753-estimator--compact+h3{padding:24px 18px 10px}.in.planarea.blog .s101-753-estimator--compact+h3+.child-page-grid{padding:14px 18px 26px}}

/* Simulator tab icons */
.s101-753-estimator__tabs button{display:flex;align-items:center;justify-content:center;gap:9px}
.s101-753-estimator__tab-icon{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:767px){.s101-753-estimator__tabs button{gap:6px}.s101-753-estimator__tab-icon{width:17px;height:17px;flex-basis:17px}}

.s101-753-bundled-plans{max-width:1120px;margin:56px auto 0;padding-top:54px;border-top:1px solid #dfd8d1}.s101-753-bundled-plans__intro{max-width:680px;margin:0 auto 30px;text-align:center}.s101-753-bundled-plans__intro h2{margin:9px 0 12px;color:#302c29;font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.35;letter-spacing:.04em}.s101-753-bundled-plans__intro>p:last-child{margin:0;color:#625b55;font-size:15px;line-height:1.8}.s101-753-bundled-plans__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.s101-753-bundled-plans__card{border:1px solid #dfd8d1;background:#fff;padding:27px 24px}.s101-753-bundled-plans__lead{min-height:3.2em;margin:0 0 14px;color:#756b64;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.05em}.s101-753-bundled-plans__card h3{margin:0;color:#302c29;font-size:22px;font-weight:700;line-height:1.4}.s101-753-bundled-plans__price{margin:16px 0;color:#302c29;font-size:27px;font-weight:700;line-height:1.25}.s101-753-bundled-plans__price span{display:block;margin-top:5px;color:#756b64;font-size:11px;font-weight:400}.s101-753-bundled-plans__description{margin:0;padding-top:15px;border-top:1px solid #e5dfd8;color:#5f5750;font-size:14px;line-height:1.8}.s101-753-bundled-plans__card ul{margin:18px 0 0;padding:0;list-style:none;border-top:1px solid #e5dfd8}.s101-753-bundled-plans__card li{padding:9px 0;border-bottom:1px solid #e5dfd8;color:#4f4842;font-size:13px;line-height:1.55}.s101-753-bundled-plans__card li::before{display:inline-block;width:10px;color:#7c736b;content:'・'}.s101-753-bundled-plans__note{margin:15px 0 0;color:#756b64;font-size:11px;line-height:1.7}
@media(max-width:767px){.s101-753-bundled-plans{margin-top:40px;padding-top:40px}.s101-753-bundled-plans__intro{margin-bottom:22px}.s101-753-bundled-plans__intro>p:last-child{font-size:14px}.s101-753-bundled-plans__grid{grid-template-columns:1fr;gap:12px}.s101-753-bundled-plans__card{padding:23px 19px}.s101-753-bundled-plans__lead{min-height:0;margin-bottom:10px}.s101-753-bundled-plans__card h3{font-size:21px}.s101-753-bundled-plans__price{margin:13px 0;font-size:25px}}
/* Keep the simulator visually connected to the CTA above it. */
.s101-753-lp-cta:has(+.s101-753-estimator){margin-bottom:32px!important}
.s101-753-lp-cta+.s101-753-estimator{padding-top:clamp(48px,5vw,64px)}
@media(max-width:767px){.s101-753-lp-cta:has(+.s101-753-estimator){margin-bottom:24px!important}.s101-753-lp-cta+.s101-753-estimator{padding-top:48px}}
/* Make the selected calculator tab unmistakable. */
.s101-753-estimator__tabs button.is-active{background:#302c29;color:#fff;box-shadow:inset 0 -3px 0 #a69d94}
.s101-753-estimator__tabs button:not(.is-active){background:#f0ede8;color:#5b544e}
.s101-753-bundled-plans__note span{display:block}
.s101-753-bundled-plans__note span+span{margin-top:4px}
.s101-753-bundled-plans__photo{aspect-ratio:3/2;margin:18px 0 0;overflow:hidden;background:#f0ede8}
.s101-753-bundled-plans__photo img{display:block;width:100%;height:100%;object-fit:cover}
.s101-753-bundled-plans__slider{margin-top:18px}.s101-753-bundled-plans__viewport{overflow:hidden;aspect-ratio:3/2;background:#f0ede8}.s101-753-bundled-plans__slides{display:flex;width:100%;height:100%;transition:transform .38s ease}.s101-753-bundled-plans__slider .s101-753-bundled-plans__photo{flex:0 0 100%;height:100%;margin:0}.s101-753-bundled-plans__slider-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px}.s101-753-bundled-plans__slider-arrow{display:grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid #cfc7bf;background:#fff;color:#504942;font-size:22px;line-height:1;cursor:pointer}.s101-753-bundled-plans__slider-arrow:hover{background:#f0ede8}.s101-753-bundled-plans__slider-thumbnails{display:flex;gap:8px}.s101-753-bundled-plans__slider-thumbnails button{width:42px;height:42px;padding:0;overflow:hidden;border:1px solid #d8d0c8;background:#fff;cursor:pointer}.s101-753-bundled-plans__slider-thumbnails button[aria-selected="true"]{border:2px solid #4f4842}.s101-753-bundled-plans__slider-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}.s101-753-bundled-plans__slider button:focus-visible{outline:2px solid #4f4842;outline-offset:3px}@media(max-width:767px){.s101-753-bundled-plans__slider-thumbnails button{width:38px;height:38px}}
/* 商品の選び方をタブ直下で補足し、未選択時は金額を出さない。 */
.s101-753-estimator__tab-description{margin:0;padding:13px 20px;border-bottom:1px solid #dfd8d1;background:#fff;color:#a83c32;font-size:13px;font-weight:700;line-height:1.65;text-align:center}
.s101-753-estimator__empty{margin:0!important;color:#625b55!important;font-size:14px!important;font-weight:600!important;line-height:1.75!important;letter-spacing:0!important}
.s101-753-estimator__result.is-pending dl{display:none}
.s101-753-estimator__result.is-pending small{margin-top:16px}
@media(max-width:767px){.s101-753-estimator__tab-description{padding:12px 14px;font-size:12px}.s101-753-estimator__empty{font-size:13px!important}}

/* 初期状態は紹介と開始ボタンだけを見せ、入力欄は押してから開く。 */
.s101-753-estimator__toggle-wrap{display:none}.s101-753-estimator.is-expanded .s101-753-estimator__toggle-wrap{display:block;max-height:none;overflow:visible}.s101-753-estimator__toggle-wrap::after{display:none}.s101-753-estimator__toggle{display:flex;align-items:center;justify-content:center;gap:10px}.s101-753-estimator__toggle-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.s101-753-estimator.is-expanded .s101-753-estimator__toggle{display:none}

/* Place OUR STYLE closer to the preceding hero CTA on the Shichi-Go-San landing page. */
.s101-753-hero+.s101-style-merged{margin-top:56px}
@media(max-width:767px){.s101-753-hero+.s101-style-merged{margin-top:48px}}

/* Product-detail link in bundled plan descriptions. */
.s101-753-bundled-plans__description a{color:#5f5750;text-decoration:none;border-bottom:1px solid #a79b91}.s101-753-bundled-plans__description a span{margin-left:4px;color:#756b64;font-size:12px;font-weight:700;white-space:nowrap}.s101-753-bundled-plans__description a:hover,.s101-753-bundled-plans__description a:focus-visible{color:#302c29;border-bottom-color:#302c29}

/* On phones, show the estimate after the selected fields and options. */
@media (max-width: 767px) {
	.s101-753-estimator__result {
		order: 0;
	}
}

/* iOS date controls keep an intrinsic width unless their grid item may shrink. */
@media (max-width: 767px) {
	.s101-753-estimator__common > label,
	.s101-753-estimator__date,
	.s101-753-estimator__date input[type="date"] {
		min-width: 0;
		max-width: 100%;
	}
}

/* Give the landing-page estimator a distinct, editorial surface and a clear first action. */
.s101-753-estimator:not(.s101-753-estimator--compact),
.s101-753 > .s101-753-estimator--compact {
	background: #f4f1ed;
	border-top: 1px solid #ded7cf;
	border-bottom: 1px solid #ded7cf;
}

.s101-753-estimator:not(.s101-753-estimator--compact) .s101-753-estimator__intro,
.s101-753 > .s101-753-estimator--compact .s101-753-estimator__intro {
	max-width: 760px;
}

.s101-753-estimator__toggle {
	border-color: #302c29;
	background: #302c29;
	color: #fff;
	box-shadow: 0 9px 20px rgba(48, 44, 41, .14);
}

.s101-753-estimator__toggle:hover,
.s101-753-estimator__toggle:focus-visible {
	background: #4a433d;
	box-shadow: 0 11px 24px rgba(48, 44, 41, .2);
}

.s101-753-estimator__toggle:focus-visible {
	outline: 2px solid #756b64;
	outline-offset: 3px;
}

/* Separate the reassurance cards from the estimator so their surfaces do not visually merge. */
.s101-753 > .s101-753-estimator--compact {
	margin-top: 56px;
}

@media (max-width: 767px) {
	.s101-753 > .s101-753-estimator--compact {
		margin-top: 36px;
	}
}

/* Show the chosen bundle contents directly above the bundle selector. */
.s101-753-estimator__bundle-preview{margin:0 0 16px;padding:14px;border:1px solid #ddd5cd;background:#fff}
.s101-753-estimator__bundle-preview>p{margin:0 0 10px;color:#625b55;font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1.6}
.s101-753-estimator__bundle-thumbnails{display:flex;flex-wrap:wrap;gap:8px}
.s101-753-estimator__bundle-thumbnails button{width:64px;height:64px;padding:0;overflow:hidden;border:1px solid #cfc6bd;background:#f0ede8;cursor:zoom-in}
.s101-753-estimator__bundle-thumbnails button:hover,.s101-753-estimator__bundle-thumbnails button:focus-visible{border:2px solid #4d4640;outline:0}
.s101-753-estimator__bundle-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
/* Center the product image on a restrained dark overlay. */
.s101-753-estimator__lightbox{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:transparent;color:#fff;overflow:visible}
.s101-753-estimator__lightbox[open]{display:flex;align-items:center;justify-content:center;animation:s101-753-lightbox-in .24s ease-out both}
@keyframes s101-753-lightbox-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.s101-753-estimator__lightbox::backdrop{background:rgba(31,28,25,.82)}
.s101-753-estimator__lightbox[open]::backdrop{animation:s101-753-lightbox-backdrop .24s ease-out both}
@keyframes s101-753-lightbox-backdrop{from{background:rgba(31,28,25,0)}to{background:rgba(31,28,25,.82)}}
.s101-753-estimator__lightbox-inner{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;background:#fff;padding:10px;box-shadow:0 18px 54px rgba(0,0,0,.28)}
.s101-753-estimator__lightbox img{display:block;max-width:calc(100vw - 68px);max-height:calc(100vh - 68px);width:auto;height:auto;object-fit:contain}
.s101-753-estimator__lightbox-close{position:absolute;top:-17px;right:-17px;z-index:1;width:36px;height:36px;border:1px solid #fff;border-radius:50%;background:#302c29;color:#fff;font-size:24px;line-height:1;cursor:pointer}
@media(max-width:767px){.s101-753-estimator__bundle-preview{margin-bottom:14px;padding:12px}.s101-753-estimator__bundle-thumbnails button{width:58px;height:58px}.s101-753-estimator__lightbox{padding:14px}.s101-753-estimator__lightbox-inner{padding:7px}.s101-753-estimator__lightbox img{max-width:calc(100vw - 42px);max-height:calc(100dvh - 42px)}.s101-753-estimator__lightbox-close{top:-14px;right:-10px}}

@media(prefers-reduced-motion:reduce){.s101-753-estimator__lightbox[open],.s101-753-estimator__lightbox[open]::backdrop{animation:none}}
/* Keep product bundle cards inside the visual viewport on narrow Safari layouts. */
@media(max-width:767px){
	.s101-753-bundled-plans{width:auto;max-width:calc(100vw - 40px);min-width:0;margin-left:auto;margin-right:auto;overflow:hidden}
	.s101-753-bundled-plans__grid,.s101-753-bundled-plans__card,.s101-753-bundled-plans__slider,.s101-753-bundled-plans__viewport,.s101-753-bundled-plans__slides,.s101-753-bundled-plans__photo{box-sizing:border-box;min-width:0;max-width:100%}
	.s101-753-bundled-plans__card{width:100%;overflow:hidden}
	.s101-753-bundled-plans__lead,.s101-753-bundled-plans__card h3{overflow-wrap:anywhere}
	.s101-753-bundled-plans__photo img,.s101-753-bundled-plans__slider img{max-width:100%;height:auto}
	.s101-753-bundled-plans__slider .s101-753-bundled-plans__photo img{width:100%;height:100%;object-fit:cover}
}
/* Selected items and unit prices in the estimate. */
.s101-753-estimator__lines{margin:0 0 14px;padding:10px 0;list-style:none;border-top:1px solid #d9d1c9;border-bottom:1px solid #d9d1c9;text-align:left}
.s101-753-estimator__lines li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:#625a53;font-size:12px;line-height:1.5}
.s101-753-estimator__lines li span:last-child{flex:0 0 auto;color:#302c29;font-weight:700;white-space:nowrap}
@media(max-width:767px){.s101-753-estimator__lines{margin-bottom:12px}.s101-753-estimator__lines li{font-size:11px}}