@charset "utf-8";

/* ===========================================
 * 2025/7 - 追加分
 * ======================================== */

.side-contents .cat-item.cat-item-13 a {
  background-color: #ffc800;
}

.head-image-cover #right,
.head-image-cover #left {
  bottom: -1px;
}

a svg {
  transition: opacity 0.2s;
}

a:hover svg {
  opacity: 0.7;
}

@media screen and (max-width: 600px) {
  .text-m {
    padding-top: 100px;
    margin-top: -70px;
  }
}

/* ヘッダー */
.sns-btn {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.sns-btn a {
  display: grid;
  gap: 4px;
}

.sns-btn svg {
  vertical-align: bottom;
  margin-inline: auto;
}

/* フッター */
.fnav a {
  font-size: clamp(0.813rem, 0.5rem + 0.5vw, 0.875rem); /* 14-13 */
}

.fnav-sub li a {
  font-size: clamp(0.813rem, 0.5rem + 0.5vw, 0.875rem); /* 14-13 */
}

.fnav.flex img {
  transform: scale(0.8);
}

.fnav-sns svg {
  vertical-align: bottom;
}

.fnav-sub {
  display: flex;
  flex-wrap: wrap;
  row-gap: 8px;
}

.fnav-sub li {
  line-height: 1.4;
}

.fnav-sub li a {
  display: block;
}

.fnav-sub li .external {
  display: flex;
  align-items: center;
  gap: 6px;
}

.fnav-sub li .external::after {
  content: "";
  display: block;
  width: 13px;
  aspect-ratio: 1;
  background-image: url('data:image/svg+xml,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 10.79V2.21C0 1.62387 0.232498 1.06141 0.646953 0.646953C1.06141 0.232498 1.62387 0 2.21 0H5.07C5.50078 0 5.85 0.349218 5.85 0.78C5.85 1.21078 5.50078 1.56 5.07 1.56H2.21C2.03761 1.56 1.87182 1.62802 1.74992 1.74992C1.62802 1.87182 1.56 2.03761 1.56 2.21V10.79L1.57219 10.917C1.5971 11.0421 1.65837 11.1585 1.74992 11.2501C1.87182 11.372 2.03761 11.44 2.21 11.44H10.79C10.9624 11.44 11.1282 11.372 11.2501 11.2501C11.372 11.1282 11.44 10.9624 11.44 10.79V7.93C11.44 7.49922 11.7892 7.15 12.22 7.15C12.6508 7.15 13 7.49922 13 7.93V10.79C13 11.3761 12.7675 11.9386 12.353 12.353C11.9386 12.7675 11.3761 13 10.79 13H2.21C1.62387 13 1.06141 12.7675 0.646953 12.353C0.232498 11.9386 0 11.3761 0 10.79ZM13 4.355C13 4.78578 12.6508 5.135 12.22 5.135C11.7892 5.135 11.44 4.78578 11.44 4.355V2.66297L7.05148 7.05148C6.74688 7.35609 6.25312 7.35609 5.94852 7.05148C5.64391 6.74688 5.64391 6.25312 5.94852 5.94852L10.337 1.56H8.645C8.21422 1.56 7.865 1.21078 7.865 0.78C7.865 0.349218 8.21422 0 8.645 0H12.22C12.6508 0 13 0.349218 13 0.78V4.355Z" fill="%23493490"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}

/* 院内保育園バナー */
.hospital-nursery-bnr {
  display: block;
  position: absolute;
  width: 100%;
  max-width: 390px;
  right: 15px;
  bottom: -20px;
  z-index: 985;
}

@media screen and (max-width: 1000px) {
  .hospital-nursery-bnr {
    max-width: 320px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: auto;
    margin-top: 40px;
  }
}

.hospital-nursery-bnr > img {
  display: block;
}

.header-copy {
  top: 40%;
}

@media screen and (max-width: 1000px) {
  .section01.-pt-lg {
    padding-top: 220px;
  }
}

.global-nav-sp .hospital-nursery-bnr {
  inset: 0;
  transform: none;
  position: static;
  margin-inline: auto;
  margin-top: 20px;
  margin-bottom: 24px;
}

/* お知らせ */
.cat-name.day {
  background-color: #ffc800;
}

.information-list-area-heading-wrap {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: center;
  padding: 0px 6%;
  box-sizing: border-box;
}

@media screen and (max-width: 600px) {
  .information-list-area-heading-wrap {
    max-height: 50px;
  }

  .information-list-area-heading-wrap h2 {
    font-size: 24px;
  }
}

@media screen and (max-width: 600px) {
  .information-list-area-btn {
    display: none;
  }
}

.information-list-area-btn a {
  display: block;
  border: solid 2px #fff;
  border-radius: calc(1px / 0);
  color: #fff;
  padding: 10px 12px 10px 16px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.03em;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 6px;
}

.information-list-area-btn a::after {
  content: "";
  display: block;
  mask: url('data:image/svg+xml,<svg width="13" height="9" viewBox="0 0 13 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.08789 5.26409C0.842561 5.26409 0.629228 5.17876 0.447895 5.00809C0.277228 4.82676 0.191895 4.61343 0.191895 4.36809V3.96809C0.191895 3.72276 0.277228 3.50943 0.447895 3.32809C0.629228 3.14676 0.842561 3.05609 1.08789 3.05609H8.38389C8.40523 3.05609 8.42123 3.04543 8.43189 3.02409C8.44256 3.00276 8.43723 2.98143 8.41589 2.96009L7.02389 1.76009C6.84256 1.60009 6.74123 1.40276 6.71989 1.16809C6.69856 0.933426 6.76789 0.725426 6.92789 0.544093C7.08789 0.362759 7.28523 0.261426 7.51989 0.240093C7.75456 0.218759 7.96256 0.288093 8.14389 0.448093L11.7599 3.56809C11.9412 3.72809 12.0319 3.92543 12.0319 4.16009C12.0319 4.39476 11.9412 4.59209 11.7599 4.75209L8.14389 7.87209C7.96256 8.03209 7.75456 8.10143 7.51989 8.08009C7.28523 8.05876 7.08789 7.95743 6.92789 7.77609C6.76789 7.59476 6.69856 7.38676 6.71989 7.15209C6.74123 6.91743 6.84256 6.72009 7.02389 6.56009L8.41589 5.36009C8.43723 5.33876 8.44256 5.31743 8.43189 5.29609C8.42123 5.27476 8.40523 5.26409 8.38389 5.26409H1.08789Z" fill="white"/></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #fff;
  width: 12px;
  aspect-ratio: 6/4;
  transition: background-color 0.2s;
}

.information-list-area-btn a:hover {
  background-color: #fff;
  color: #b18cc2;
}

.information-list-area-btn a:hover::after {
  background-color: #b18cc2;
}

.info-list-top {
  display: grid;
  grid-template-columns: repeat(auto-fit, 452px);
  justify-content: center;
  gap: 16px;
}

@media screen and (max-width: 600px) {
  .info-list-top {
    grid-template-columns: repeat(auto-fit, minmax(100%, 320px));
  }
}

.info-list-top .info-item {
  display: grid;
  grid-template-columns: 188px 1fr;
  margin-bottom: 0;
  background-color: #fff;
}

@media screen and (max-width: 600px) {
  .info-list-top .info-item {
    grid-template-columns: 45% 1fr;
  }
}

.info-item-thumb {
  position: relative;
  border-right: 1px solid #b3d355;
}

.info-item-thumb > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.info-item-body {
  padding: 20px 15px;
  min-height: 82px;
}

@media screen and (max-width: 600px) {
  .info-item-body {
    padding: 12px;
  }
}

.info-list-top .info-data-area {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

@media screen and (max-width: 600px) {
  .info-list-top .info-data-area {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 6px;
  }
}

.info-list-top .cat-name-area a {
  font-size: 13px;
  padding: 5px 8px;
  margin: 0;
  display: block;
  max-width: fit-content;
}

@media screen and (max-width: 600px) {
  .info-list-top .cat-name-area a {
    font-size: 12px;
    padding: 3px 6px;
  }

  .info-list-top .cat-name-area {
    grid-column: 1/3;
  }
}

.info-list-top p.info-date {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #888888;
  margin-right: 2px;
  display: block;
  line-height: 1.4;
  margin: 0;
}

@media screen and (max-width: 600px) {
  .info-list-top p.info-date {
    font-size: 13px;
  }
}

.info-list-top .info-new {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  background-color: #c94490;
  border-radius: calc(1px / 0);
  padding: 2px 5px;
  display: block;
  max-width: fit-content;
}

@media screen and (max-width: 600px) {
  .info-list-top .info-new {
    font-size: 11px;
  }
}

.info-list-top .info-cat {
  padding: 0;
}

.info-list-top .info-list-title {
  margin: 0;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

@media screen and (max-width: 600px) {
  .info-list-top .info-list-title {
    font-size: 15px;
    margin-top: 4px;
    letter-spacing: 0;
  }
}

@media screen and (min-width: 601px) {
  .information-btn-sp {
    display: none;
  }
}

/* インスタグラム埋め込み */
.instagram {
  margin-top: 40px;
}

.instagram-content {
  padding: 32px 4%;
  border-radius: 10px;
}

@media screen and (max-width: 1000px) {
  .instagram-content {
    padding: 24px 4%;
  }
}

/*---------- 伊川谷すみれ保育園 ----------*/

.hospital-nursery .heading_xl {
  margin-bottom: 40px;
}

.hospital-nursery .site-width {
  max-width: 1040px;
}

.hospital-nursery .heading {
  padding-top: 0;
}

.hn-section + .hn-section {
  padding: 0;
}

@media screen and (max-width: 1000px) {
  .hospital-nursery .lower-head-title {
    line-height: 1.4;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .hospital-nursery .heading_xl {
    margin-bottom: 28px;
  }

  .hospital-nursery .heading {
    line-height: 1.4;
  }
}

@media screen and (min-width: 1001px) {
  .hn-inner {
    max-width: 1040px;
    padding: 0 20px;
    margin-inline: auto;
  }
}

.hospital-nursery .lower-head-title-area {
  background: url(../images/2x/head_image_hospital-nursery@2x.jpg) no-repeat center center;
  background-size: cover;
}

.hospital-nursery .intro-pic {
  border-radius: 8px;
  margin-bottom: 36px;
  display: block;
  margin-inline: auto;
}

.hospital-nursery .contents-width {
  max-width: 1000px;
}

@media screen and (max-width: 1000px) {
  .hospital-nursery .intro-pic {
    margin-bottom: 28px;
  }

  .hospital-nursery .lead-text-area {
    margin: 0;
    width: 100%;
    margin-bottom: 0 !important;
  }
}

/* 保育園の概要 */
.hn-outline-wrap {
  display: grid;
  grid-template-columns: 1fr 41%;
  gap: 28px;
}

@media screen and (max-width: 1000px) {
  .hn-outline-wrap {
    grid-template-columns: 1fr;
  }
}

.hn-outline-wrap .lower-table {
  max-width: 495px;
  margin-inline: auto;
}

.hn-outline-wrap .table_common th,
.hn-outline-wrap .lower-table th {
  width: 100px;
  padding: 4px 16px;
}

@media screen and (max-width: 1000px) {
  .hn-outline-wrap .table_common th,
  .hn-outline-wrap .lower-table th {
    width: 100%;
  }
}

.hn-outline-wrap .table_common td,
.hn-outline-wrap .lower-table td {
  padding: 4px 16px;
  line-height: 1.6;
  vertical-align: middle;
}

.hn-outline-wrap p.indent {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}

.hn-outline-wrap-pic img {
  border-radius: 8px;
  display: block;
}

.hn-outline-wrap-pic img + img {
  margin-top: 28px;
}

@media screen and (max-width: 1000px) {
  .hn-outline-wrap-pic {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    justify-content: center;
    gap: 20px;
  }

  .hn-outline-wrap-pic img {
    margin-inline: auto;
  }

  .hn-outline-wrap-pic img + img {
    margin-top: 0;
  }
}

/* アクセス */
.hn-access-wrap {
  display: flex;
  gap: 20px 40px;
  align-items: end;
}

.hn-access-heading {
  flex-shrink: 0;
}

.hn-access-pic {
  max-width: 320px;
  margin-top: 40px;
  border-radius: 8px;
}

.hn-access-map {
  width: 100%;
}

.hn-access-map iframe {
  aspect-ratio: 5/3;
  width: 100%;
}

@media screen and (max-width: 1000px) {
  .hn-access-wrap {
    flex-direction: column;
    align-items: center;
  }

  .hn-access-heading {
    display: contents;
  }

  .hn-access-pic {
    display: none;
  }

  .hn-access-map iframe {
    aspect-ratio: 1;
  }
}

/* 特長 */
.hn-feature .heading {
  text-align: center;
  padding-top: 0;
}

.hn-feature-content {
  display: grid;
  grid-template-columns: 1fr 332px;
  align-items: center;
  gap: 30px;
  margin-top: 40px;
}

@media screen and (max-width: 1000px) {
  .hn-feature-content {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }
}

.hn-feature-pic-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  align-items: center;
  gap: 28px;
}

@media screen and (min-width: 1001px) {
  .hn-feature-pic-stack {
    display: contents;
  }
}

@media screen and (max-width: 1000px) {
  .hn-feature-pic-wrap {
    display: contents;
  }

  .hn-feature-pic-stack {
    display: grid;
    grid-template-columns: repeat(auto-fit, 304px);
    justify-content: center;
    gap: 12px;
  }

  .hn-feature-pic-stack:last-child {
    order: 3;
  }
}

.hn-feature-pic {
  border-radius: 8px;
}

/* いちにちの流れ */
.hn-feature-flow {
  background-color: #ccf0fd;
  padding: 26px 24px;
  border-radius: 10px;
  max-width: 332px;
  margin-inline: auto;
}

.hn-feature-flow-heading {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  color: #493490;
}

.hn-feature-flow-content {
  background-color: #fff;
  padding: 6px 20px;
  border-radius: 8px;
  margin-top: 16px;
}

.hn-feature-flow-item {
  display: grid;
  grid-template-columns: 78px 1fr;
  padding: 6px 0;
  position: relative;
}

.hn-feature-flow-item:not(:last-child) {
  width: 100%;
  background-image: radial-gradient(circle, #b3d354 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 4px 2px;
}

.hn-feature-flow-item-heading,
.hn-feature-flow-item-body {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.6;
}

.hn-feature-btn {
  margin-top: 40px;
}

.hn-feature-btn .button--round-color.button-common a {
  width: 376px;
}

@media screen and (max-width: 1000px) {
  .hn-feature-flow-heading {
    font-size: 22px;
  }

  .hn-feature-flow {
    padding: 20px 24px;
  }

  .hn-feature-btn {
    margin-top: 28px;
  }

  .hn-feature-btn .button--round-color.button-common a {
    line-height: 1.4;
    padding: 14px 0;
  }
}

@media screen and (max-width: 600px) {
  .hn-feature-btn .button--round-color.button-common a {
    width: 280px;
  }
}

/* お問い合わせ */
.hn-contact {
  background-color: #fff;
}

.hn-contact-text {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.9;
}

.hn-contact-tel {
  color: #493490;
  display: grid;
  grid-template-columns: 60px auto;
  align-items: center;
  gap: 6px 4px;
  max-width: fit-content;
  margin-inline: auto;
  margin-top: 16px;
  transform: translateX(-30px);
}

.hn-contact-tel-num {
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 0.03em;
  line-height: 1;
  display: block;
  max-width: fit-content;
}

.hn-contact-tel small {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.03em;
  line-height: 1;
  grid-column: 2/3;
  display: block;
  max-width: fit-content;
  margin-inline: auto;
}

@media screen and (min-width: 1001px) {
  .hn-contact-tel-num {
    pointer-events: none;
  }
}

@media screen and (max-width: 1000px) {
  .hn-contact-text {
    font-size: 16px;
    letter-spacing: 0.01em;
    text-align: left;
    max-width: fit-content;
    margin-inline: auto;
  }

  .hn-contact-tel {
    grid-template-columns: 40px auto;
    transform: translateX(-10px);
    gap: 0;
    margin-top: 8px;
  }

  .hn-contact-tel svg {
    max-width: 40px;
  }

  .hn-contact-tel-num {
    font-size: 32px;
    letter-spacing: 0.01em;
  }

  .hn-contact-tel small {
    font-size: 18px;
  }
}
