@charset "UTF-8";

/* 預かり保育：保育園部門ページと共通のトーンで構成 */
.azukari-page .man3-hero { min-height: 700px; }
.azukari-page .man3-hero__photo img { object-position: center 48%; }
.azukari-page .man3-hero__copy { width: min(980px, 88%); }
.azukari-page .man3-hero__copy h1 { font-size: 36px; }
.azukari-page .azukari-hero-note { margin-top: 8px; font-size: 13px; line-height: 1.7; }
.azukari-page .azukari-hero-note a { color: #459947; text-decoration: underline; }
.azukari-page .man3-hero__deco--grass-left { left: max(18px, calc(50% - 660px)); }
.azukari-page .man3-hero__deco--slide { left: max(105px, calc(50% - 565px)); top: 390px; width: 125px; }
.azukari-page .man3-hero__deco--flower { right: max(145px, calc(50% - 500px)); top: 390px; width: 68px; }
.azukari-page .man3-hero__deco--grass { right: max(65px, calc(50% - 600px)); top: 475px; width: 52px; }

.azukari-features { position: relative; overflow: hidden; padding: 0 0 105px; background: #f8f6f0; }
.azukari-features__pattern { position: absolute; left: -60px; top: 330px; width: 280px; opacity: .5; }

.azukari-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; align-items: stretch; }
.azukari-card { overflow: hidden; padding: 17px; border-radius: 24px; background: #fff; box-shadow: 10px 12px 0 rgba(216,207,188,.48); }
.azukari-card > img { display: block; width: 100%; height: 220px; border-radius: 16px; object-fit: cover; }
.azukari-card__body { padding: 27px 9px 14px; }
.azukari-card h3 { min-height: 66px; margin: 0 0 15px; color: #31483a; font-size: 21px; line-height: 1.55; letter-spacing: .02em; }
.azukari-card h3 span { font-size: .72em; }
.azukari-card p { margin: 0; color: #526055; font-size: 15.5px; font-weight: 500; line-height: 1.95; }
.azukari-card ul { display: grid; gap: 7px; margin: 18px 0 0; padding: 15px 14px; border-radius: 14px; background: #f8f6f0; list-style: none; }
.azukari-card li { position: relative; padding-left: 25px; color: #526055; font-size: 15px; font-weight: 700; line-height: 1.7; }
.azukari-card li::before { content: "✓"; position: absolute; left: 0; top: 3px; display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: #86d078; color: #fff; font-size: 11px; }

.azukari-fees { position: relative; padding: 85px 0 110px; background: #f1eadb; }
.azukari-fees::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 26px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 26' preserveAspectRatio='none'%3E%3Cpath fill='%23f8f6f0' d='M0 0h1440v20c-80 0-160-16-240-16s-160 16-240 16S800 4 720 4 560 20 480 20 320 4 240 4 80 20 0 20V0z'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.azukari-fees__deco { position: absolute; z-index: 4; right: max(24px,calc(50% - 680px)); bottom: 60px; width: 95px; pointer-events: none; }
.azukari-fees__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.azukari-fee-card { padding: 34px 38px; border-radius: 22px; background: #fff; }
.azukari-fee-card h3 { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; color: #31483a; font-size: 22px; }
.azukari-fee-card h3::before { content: ""; flex: 0 0 5px; width: 5px; height: 34px; border-radius: 5px; background: linear-gradient(#64c66e 0 50%,#aade89 50%); }
.azukari-fee-list { margin: 0; }
.azukari-fee-list > div { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 13px 0; border-bottom: 1px dashed #cfc9ba; }
.azukari-fee-list dt,.azukari-fee-list dd { margin: 0; color: #526055; font-size: 16px; font-weight: 700; line-height: 1.65; }
.azukari-fee-list dd { color: #526055; text-align: right; }
.azukari-fee-list dd strong { color: #58ad42; font-size: 21px; font-weight: 700; }
.azukari-fee-list dd strong small { font-size: .67em; }
.azukari-fee-card__note { margin: 18px 0 0; color: #758078; font-size: 13.5px; line-height: 1.8; }
.azukari-fee-card__note--highlight { padding: 14px 16px; border-left: 4px solid #64c66e; border-radius: 0 10px 10px 0; background: #f3faed; color: #526055; font-size: 14px; }
.azukari-fee-card__note--highlight strong { color: #31483a; }

.azukari-temporary { position: relative; padding: 100px 0 110px; background: #eef6dd; }
.azukari-temporary__wave { position: absolute; top: 0; left: 0; width: 100%; height: 26px; fill: #f1eadb; }
.azukari-temporary__card { position: relative; display: grid; grid-template-columns: 40% 1fr; padding: 22px; border-radius: 26px; background: #fff; }
.azukari-temporary__photo { width: 100%; height: 100%; min-height: 360px; border-radius: 18px; object-fit: cover; }
.azukari-temporary__body { padding: 38px 46px; }
.azukari-temporary__label { margin: 0 0 8px; color: #72c84a; font-size: 14px; font-weight: 700; letter-spacing: .16em; }
.azukari-temporary h2 { margin: 0 0 22px; color: #31483a; font-size: 30px; line-height: 1.5; }
.azukari-temporary__body > p:not(.azukari-temporary__label) { margin: 0 0 28px; color: #526055; font-size: 15.5px; font-weight: 500; line-height: 2; }
.azukari-temporary__body a { display: inline-flex; align-items: center; gap: 18px; padding: 14px 24px; border-radius: 999px; background: #72c84a; box-shadow: 0 0 0 rgba(68,139,47,0); color: #fff; font-size: 14px; font-weight: 700; transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.azukari-temporary__body a b { font-size: 19px; transition: transform .25s ease; }
.azukari-temporary__link-short { display: none; }
.azukari-temporary__deco { position: absolute; right: -35px; bottom: -35px; width: 105px; }

.azukari-consult { position: relative; z-index: 3; padding: 54px 0; background: #fff9e3; }
.azukari-consult::before,.azukari-consult::after { content: ""; position: absolute; left: 0; z-index: 3; width: 100%; height: 26px; pointer-events: none; }
.azukari-consult::before,.azukari-consult::after {
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='26' viewBox='0 0 240 26' preserveAspectRatio='none'%3E%3Cpath fill='%23fff9e3' d='M0,22 C20,26 40,26 60,22 C80,18 100,18 120,22 C140,26 160,26 180,22 C200,18 220,18 240,22 V26 H0 Z'/%3E%3C/svg%3E") center / 100% 26px no-repeat;
}
.azukari-consult::before { top: -25px; }
.azukari-consult::after { bottom: -25px; transform: scaleY(-1); }
.azukari-consult__inner { display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 30px; width: min(1120px,calc(100% - 80px)); margin: 0 auto; }
.azukari-consult__inner > img { width: 100px; max-height: 130px; object-fit: contain; }
.azukari-consult h2 { margin: 0 0 8px; color: #31483a; font-size: 22px; line-height: 1.55; }
.consult-title-break { display: none; }
.azukari-consult p { margin: 0; color: #526055; font-size: 14px; }
.azukari-consult__buttons { display: grid; gap: 10px; }
.azukari-consult__buttons a { display: flex; align-items: center; justify-content: center; gap: 10px; min-width: 250px; padding: 14px 22px; border: 2px solid #71c171; border-radius: 999px; background: #71c171; box-shadow: 0 0 0 rgba(66,137,67,0); color: #fff; font-size: 14px; font-weight: 700; text-align: center; transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease; }
.azukari-consult__buttons a:last-child { background: #fff; color: #579f50; }
.azukari-consult__buttons a b { font-size: 17px; transition: transform .25s ease; }

@media (hover:hover) and (pointer:fine) {
  .azukari-temporary__body a:hover { background: #5db83b; box-shadow: 0 8px 18px rgba(68,139,47,.24); transform: translateY(-3px); }
  .azukari-temporary__body a:hover b { transform: translateX(5px); }
  .azukari-consult__buttons a:hover { border-color: #58ad59; background: #58ad59; box-shadow: 0 8px 18px rgba(66,137,67,.22); transform: translateY(-3px); }
  .azukari-consult__buttons a:last-child:hover { background: #71c171; color: #fff; }
  .azukari-consult__buttons a:hover b { transform: translateX(5px); }
}

.azukari-temporary__body a:focus-visible,
.azukari-consult__buttons a:focus-visible { outline: 3px solid rgba(29,82,139,.55); outline-offset: 4px; }

@media (prefers-reduced-motion:reduce) {
  .azukari-temporary__body a,
  .azukari-temporary__body a b,
  .azukari-consult__buttons a,
  .azukari-consult__buttons a b { transition: none; }
}
.azukari-page .life__wave { display: none; }

@media (max-width:1024px) {
  .azukari-page .man3-hero__deco { display:none; }
  .azukari-card-grid { gap:18px; }
  .azukari-card__body { padding:24px 4px 12px; }
  .azukari-card h3 { font-size:18px; }
  .azukari-fees__deco { display:none; }
  .azukari-consult__inner { grid-template-columns:90px 1fr; }
  .azukari-consult__buttons { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); justify-self:center; }
}

@media (max-width:600px) {
  .azukari-page .man3-hero { min-height:530px; }
  .azukari-page .man3-hero__copy { width:100%; }
  .azukari-page .man3-hero__copy h1 { font-size:23px; }
  .azukari-page .azukari-hero-note { font-size:11.5px; }
  .azukari-page .azukari-hero-note .hero-note-break { display:block; }
  .azukari-features { padding:28px 0 30px; }
  .azukari-card-grid,.azukari-fees__grid,.azukari-temporary__card { grid-template-columns:1fr; }
  .azukari-card-grid { gap:30px; }
  .azukari-card { padding:14px; }
  .azukari-card > img { height:210px; }
  .azukari-card h3 { min-height:0; font-size:20px; }
  .azukari-fees { padding:45px 0 35px; }
  .azukari-fee-card { padding:26px 22px; }
  .azukari-fee-card h3 { font-size:19px; }
  .azukari-fee-list > div { gap:12px; }
  .azukari-fee-list dt,.azukari-fee-list dd { font-size:14px; }
  .azukari-temporary { padding:70px 0 75px; }
  .azukari-temporary__card { padding:14px; }
  .azukari-temporary__photo { height:220px; min-height:0; }
  .azukari-temporary__body { padding:26px 10px 22px; }
  .azukari-temporary__label { font-size:11px; letter-spacing:.13em; }
  .azukari-temporary h2 { font-size:20px; }
  .azukari-temporary__body a { gap:10px; font-size:12px; }
  .azukari-temporary__link-long { display:none; }
  .azukari-temporary__link-short { display:inline; }
  .azukari-temporary__deco { display:none; }
  .azukari-consult { padding:46px 0; }
  .azukari-consult__inner { display:flex; width:calc(100% - 40px); flex-direction:column; text-align:center; }
  .azukari-consult__inner > img { width:78px; }
  .azukari-consult h2 { font-size:18px; }
  .consult-title-break { display:block; }
  .azukari-consult__buttons { display:grid; width:100%; grid-template-columns:1fr; }
  .azukari-consult__buttons a { min-width:0; }
}
