.hero{position:relative;background:linear-gradient(180deg,#dceaf7,#f4f9fd 60%,#fff);overflow:hidden}.hero__inner{width:min(100% - 48px,1240px);margin-inline:auto;display:grid;grid-template-columns:1fr;align-items:center;min-height:420px}@media(min-width:1000px){.hero__inner{grid-template-columns:1.05fr .95fr;min-height:560px}}.hero__copy{min-width:0;padding-block:48px 24px;z-index:1}@media(min-width:1000px){.hero__copy{padding-block:80px}}.hero__lead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:"Noto Serif JP",serif;font-size:clamp(1.4rem,1rem + 2vw,2.4rem);font-weight:700;color:#05161a;margin-bottom:16px}.hero__tag{background:#086ac5;color:#fff;font-size:.5em;padding:.25em .9em;border-radius:4px;transform:rotate(-3deg);box-shadow:0 2px 8px #05161a0f}.hero__tag:nth-child(2){background:#ec4c23;transform:rotate(2deg)}.hero__title{display:flex;flex-wrap:wrap;align-items:center;gap:.2em;font-family:"Noto Serif JP",serif;font-size:clamp(1.35rem,.7rem + 2.6vw,3rem);font-weight:700;line-height:1.2;color:#086ac5;margin-bottom:8px}.hero__title-word{display:flex;gap:.12em;flex:0 0 auto}.hero__title-char{display:grid;place-items:center;width:1.15em;height:1.15em;border:2px solid #086ac5;border-radius:4px;background:#fff;font-size:.92em}.hero__title-cross{font-size:.8em;padding-inline:.1em}.hero__subtitle{font-family:"Noto Serif JP",serif;font-size:clamp(1.5rem,.9rem + 3vw,3rem);font-weight:700;color:#086ac5;text-shadow:0 2px 0 #ffffff,0 6px 16px rgba(8,106,197,.18);margin-bottom:24px}.hero__badges{display:flex;flex-wrap:wrap;gap:16px 24px}.hero__badge{text-align:center;position:relative;padding-inline:16px}.hero__badge:before,.hero__badge:after{content:"";position:absolute;bottom:6px;width:10px;height:70%;border:2px solid rgba(155,128,60,.55)}.hero__badge:before{left:0;border-right:0;border-radius:8px 0 0 8px}.hero__badge:after{right:0;border-left:0;border-radius:0 8px 8px 0}.hero__badge-label{display:inline-block;background:#5b4a2f;color:#fff;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:3px}.hero__badge-value{font-family:"Noto Serif JP",serif;font-size:clamp(1.05rem,.9rem + .6vw,1.4rem);font-weight:700;color:#ec4c23;line-height:1.3}.hero__badge-note{font-size:.62rem;color:#2e332fbf}.hero__media{position:relative;align-self:end;min-width:0}.hero__media img{width:100%}@media(min-width:1000px){.hero__media{margin-bottom:-1px;mask-image:linear-gradient(90deg,transparent 0%,#000 18%)}}@media(max-width:999px){.hero__media{max-width:460px;margin-inline:auto}}.concerns__grid{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:600px){.concerns__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.concerns__grid{grid-template-columns:repeat(3,1fr)}}.concerns__item{background:#fff;border:2px solid #ecf3f9;border-radius:12px;padding:24px;text-align:center;font-weight:500;line-height:1.8;box-shadow:0 2px 8px #05161a0f;position:relative}.concerns__item:before{content:"";position:absolute;left:50%;bottom:-9px;width:16px;height:16px;background:#fff;border-right:2px solid #ecf3f9;border-bottom:2px solid #ecf3f9;transform:translate(-50%) rotate(45deg)}.concerns__illust{margin:80px auto 0;max-width:200px}.problem{background:#fff8d9;text-align:center}.problem__body{max-width:900px;margin-inline:auto;text-align:left}.service__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:48px 24px}.service__item{text-align:center}.service__image{border-radius:12px;overflow:hidden;margin-bottom:16px;box-shadow:0 2px 8px #05161a0f}.service__image img{width:100%;aspect-ratio:3/2;object-fit:cover}.service__title{font-weight:700;font-size:1.1rem;color:#086ac5;margin-bottom:8px}.service__text{font-size:.95rem;text-align:left}.cta-band{background:#086ac5;color:#fff;text-align:center;padding-block:80px}.cta-band__lead{font-size:1.05rem;font-weight:500;margin-bottom:8px}.cta-band__title{font-family:"Noto Serif JP",serif;font-size:clamp(1.2rem,.9rem + 1.4vw,1.9rem);font-weight:700;margin-bottom:48px}.cta-band__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.cta-band .button--outline{background:#fff;border-color:#fff;color:#086ac5}.cards{display:grid;gap:48px}.cards--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cards__item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #05161a14;display:flex;flex-direction:column}.cards__image img{width:100%;aspect-ratio:3/2;object-fit:cover}.cards__body{padding:24px}.cards__label{display:inline-block;background:#086ac5;color:#fff;font-family:"Noto Serif JP",serif;font-weight:700;font-size:.85rem;letter-spacing:.08em;padding:2px 14px;border-radius:999px;margin-bottom:8px}.cards__title{font-weight:700;font-size:1.1rem;color:#05161a;margin-bottom:16px;line-height:1.5}.cards__text{font-size:.95rem}.cards__text+.cards__text{margin-top:16px}.point__item{display:grid;gap:24px;align-items:center}@media(min-width:1000px){.point__item{grid-template-columns:1fr 1fr;gap:80px}.point__item:nth-child(2n) .point__media{order:2}}.point__item+.point__item{margin-top:80px}.point__media img{width:100%;border-radius:12px;box-shadow:0 8px 24px #05161a14;aspect-ratio:3/2;object-fit:cover}.point__label{display:inline-block;font-family:"Noto Serif JP",serif;font-weight:700;color:#ec4c23;letter-spacing:.1em;margin-bottom:4px}.point__title{font-family:"Noto Serif JP",serif;font-size:clamp(1.2rem,1rem + .9vw,1.7rem);font-weight:700;color:#05161a;line-height:1.5;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid #ecf3f9}.point__text{font-size:.95rem}.point__text+.point__text{margin-top:16px}.voice__grid{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:768px){.voice__grid{grid-template-columns:repeat(2,1fr)}}.voice__item{background:#fff;border-radius:12px;box-shadow:0 2px 8px #05161a0f;padding:24px;display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center}.voice__avatar img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 30%}.voice__text{font-size:.95rem;line-height:1.8}.voice__person{margin-top:8px;font-size:.85rem;color:#086ac5;font-weight:700}.price__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}@media(min-width:1240px){.price__grid{grid-template-columns:repeat(5,1fr)}}.price__item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #05161a0f;text-align:center}.price__image img{width:100%;aspect-ratio:4/3;object-fit:cover}.price__body{padding:16px 16px 24px}.price__type{font-weight:700;color:#05161a}.price__amount{font-family:"Noto Serif JP",serif;font-size:1.25rem;font-weight:700;color:#ec4c23;margin-block:4px 8px}.price__note-label{font-size:.8rem;font-weight:700;color:#086ac5}.price__note{font-size:.85rem;text-align:left}.price-note{background:#fff8d9}.price-note__list{max-width:780px;margin:0 auto;display:grid;gap:16px}.price-note__item{background:#fff;border-left:5px solid #086ac5;border-radius:6px;padding:16px 24px;font-weight:500;box-shadow:0 2px 8px #05161a0f}.area__inner{display:grid;gap:48px;align-items:center}@media(min-width:1000px){.area__inner{grid-template-columns:.9fr 1.1fr}}.area__map img{width:100%;max-width:460px;margin-inline:auto}.area__prefectures{font-family:"Noto Serif JP",serif;font-size:clamp(1.2rem,1rem + 1vw,1.8rem);font-weight:700;color:#086ac5;padding:16px 24px;border:3px solid #086ac5;border-radius:12px;text-align:center;margin-bottom:24px;background:#fff}.caution{background:#fff8d9}.caution__inner{display:grid;gap:48px;align-items:start}@media(min-width:1000px){.caution__inner{grid-template-columns:.85fr 1.15fr}}.caution__media img{width:100%;border-radius:12px;box-shadow:0 8px 24px #05161a14}.caution__text+.caution__text{margin-top:16px}.flow__list{display:grid;gap:24px}.flow__item{display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:start;background:#fff;border-radius:12px;box-shadow:0 2px 8px #05161a0f;padding:24px;position:relative}.flow__item:not(:last-child):after{content:"";position:absolute;left:50%;bottom:-18px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid #086ac5;transform:translate(-50%)}.flow__icon{width:72px;display:grid;place-items:center;gap:4px}.flow__icon img{width:40px;height:40px;object-fit:contain}.flow__label{font-family:"Noto Serif JP",serif;font-size:.75rem;font-weight:700;color:#086ac5;letter-spacing:.06em}.flow__title{font-weight:700;font-size:1.15rem;color:#05161a;margin-bottom:8px}.flow__text{font-size:.95rem}.flow__note{font-size:.85rem;color:#ec4c23;margin-top:8px}.faq__list{max-width:860px;margin-inline:auto;display:grid;gap:16px}.faq__item{background:#fff;border:1px solid #e4e7ea;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #05161a0f}.faq__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;background:#fff;border:0;font:inherit;font-weight:700;color:#086ac5;text-align:left;cursor:pointer;line-height:1.6}.faq__trigger:after{content:"";flex:none;width:10px;height:10px;border-right:2px solid #086ac5;border-bottom:2px solid #086ac5;transform:rotate(45deg) translateY(-2px);transition:transform .35s cubic-bezier(.16,1,.3,1)}.faq__trigger[aria-expanded=true]:after{transform:rotate(-135deg) translateY(-2px)}.faq__panel-inner{padding:16px 24px 24px;border-top:1px solid #f2f2f2}.faq__answer{font-size:.95rem}.faq__answer+.faq__answer{margin-top:8px}.message{background:#ecf3f9}.message__inner{display:grid;gap:48px}@media(min-width:1000px){.message__inner{grid-template-columns:.8fr 1.2fr;align-items:start}}.message__media img{width:100%;border-radius:12px;box-shadow:0 8px 24px #05161a14}.message__paragraph+.message__paragraph{margin-top:24px}.message__paragraph p{margin:0}.message__signature{margin-top:48px;text-align:right;font-weight:700;color:#05161a;line-height:1.8}.contact{position:relative;background:#086ac5;color:#fff}.contact__photos{display:grid;grid-template-columns:repeat(4,1fr)}.contact__photos img{width:100%;height:180px;object-fit:cover}@media(max-width:768px){.contact__photos{grid-template-columns:repeat(2,1fr)}.contact__photos img{height:120px}}.contact__body{padding-block:80px}.contact__note{text-align:center;font-size:.9rem;margin-bottom:48px}.contact__form{max-width:760px;margin-inline:auto;background:#fff;color:#2e332f;border-radius:12px;padding:48px;box-shadow:0 20px 48px #05161a1f}@media(max-width:768px){.contact__form{padding:24px}}.contact__field+.contact__field{margin-top:24px}.contact__field:where(fieldset){border:0;padding:0;margin-inline:0;min-width:0}.contact__label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.95rem;margin-bottom:8px}.contact__required{background:#ec4c23;color:#fff;font-size:.7rem;padding:1px 8px;border-radius:3px}.contact__input,.contact__select,.contact__textarea{width:100%;padding:12px 14px;border:1px solid #c9ced3;border-radius:6px;font:inherit;background:#fff;color:#2e332f}.contact__input:focus-visible,.contact__select:focus-visible,.contact__textarea:focus-visible{outline:2px solid #086ac5;outline-offset:1px}.contact__textarea{min-height:120px;resize:vertical}.contact__radios{display:flex;flex-wrap:wrap;gap:24px}.contact__radio{display:flex;align-items:center;gap:8px;font-weight:500}.contact__consent{margin-top:24px;font-size:.85rem;text-align:center}.contact__consent a{color:#086ac5;text-decoration:underline}.contact__submit{margin-top:24px;display:flex;justify-content:center}.contact__result{margin-top:16px;text-align:center;font-weight:700;display:none}.contact__result.is-visible{display:block}.contact__result.is-success{color:#086ac5}.contact__result.is-error{color:#ec4c23}
