.photo-consult { box-sizing:border-box; margin:28px auto; padding:28px; max-width:900px; border:1px solid #c8def4; border-radius:16px; background:#eff6ff; color:#173f54; text-align:center; }
.photo-consult .photo-consult__title { margin:0 0 12px; font-family:'TBUDGothic E',sans-serif; font-size:20px; font-weight:700; line-height:1.65; }
.photo-consult .photo-consult__text,.photo-consult .photo-consult__note { line-height:1.9; }
.photo-consult a.photo-consult__button { display:inline-block; box-sizing:border-box; max-width:100%; margin:20px 0 12px; padding:16px 30px; border-radius:10px; background:#087b38; color:#fff; font-family:'TBUDGothic E',sans-serif; font-size:18px; font-weight:700; line-height:1.6; text-decoration:none; }
.photo-consult a.photo-consult__button:hover { background:#05622c; }
.photo-consult a.photo-consult__button:focus-visible,.reading-guides a:focus-visible { outline:3px solid #0057b8; outline-offset:4px; }
.photo-consult .photo-consult__note { margin:0; font-size:13px; }
.reading-guides { box-sizing:border-box; margin:40px auto; color:#173f54; }
.reading-guides .reading-guides__title { margin:0 0 12px; font-family:'TBUDGothic E',sans-serif; font-size:24px; font-weight:700; line-height:1.65; }
.reading-guides .reading-guides__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 0; padding:0; list-style:none; }
.reading-guides__list li { min-width:0; }
.reading-guides__list li a { display:block; height:100%; box-sizing:border-box; padding:18px 22px; border:1px solid #c8def4; border-radius:10px; background:#fff; color:#0057b8; font-weight:700; line-height:1.7; }
.tokyo-entry-link { box-sizing:border-box; padding:24px 16px; text-align:center; }
.tokyo-entry-link a { display:inline-block; max-width:100%; padding:14px 28px; border:2px solid #0057b8; border-radius:12px; color:#0057b8; font-weight:700; line-height:1.7; }
@media (max-width:767px) {
	.contact .tel_box .contact_us span { display:inline-block; box-sizing:border-box; max-width:calc(100% - 24px); padding:6px 12px; line-height:1.6; }
	.contact .tel_box .tel_number a { display:inline-block; white-space:nowrap; padding-left:32px; background-size:26px; font-size:clamp(23px,7.3vw,32px); }
	.photo-consult { margin:24px auto; padding:22px 16px; }
	.photo-consult .photo-consult__title { font-size:18px; }
	.photo-consult a.photo-consult__button { display:block; padding:15px 12px; font-size:16px; }
	.reading-guides .reading-guides__title { font-size:20px; }
	.reading-guides .reading-guides__list { grid-template-columns:1fr; }
	.reading-guides__list li a { padding:16px; }
}

/* 小さめのPC画面でも、導入文と写真を画面内に収める。 */
@media (min-width:768px) and (max-width:1549px) {
	.price.subpage .main_text,.service_sub.subpage .main_text { flex:1 1 590px; min-width:0; }
	.price.subpage .h1_sub,.service_sub.subpage .h1_sub { width:auto; max-width:590px; }
	.price.subpage .main_pic,.service_sub.subpage .main_pic { flex:1 1 650px; min-width:0; right:0; margin-left:40px; }
	.price.subpage .main_pic img,.service_sub.subpage .main_pic img { display:block; width:100%; height:auto; }
	.service_sub .voice .voice_list { width:calc(100% - 40px); max-width:1452px; }
	.service_sub .voice .voice_list li .pic img { max-width:calc(100% - 34px); }
	.service_sub .voice .voice_list li .comment,.service_sub .voice .voice_list li .staff,.service_sub .voice .voice_list li .right { width:calc(100% - 34px); }
	.service_sub .voice .voice_list .prev-arrow { left:calc(100% / 3 - 24px); }
	.service_sub .voice .voice_list .next-arrow { right:calc(100% / 3 - 24px); }
}
