/* EDIT TEST 2026-04-12 — by Claude */
/* ============================================
   放課後等デイサービス いろは v3
   tenri-nagomi風構造 × パステルピンク
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&family=Pacifico&display=swap');

:root {
  --iroha-pink: #f4a7b9;
  --iroha-pink-deep: #c73a5a;
  --iroha-pink-dark: #d94b6a;
  --iroha-pink-bg: #fff1f3;
  --iroha-pink-light: #ffe4ea;
  --iroha-cream: #fdf6f0;
  --iroha-yellow: #ffd96b;
  --iroha-yellow-light: #fff2c4;
  --iroha-text: #3d2e30;
  --iroha-gray: #7a6e70;
  --iroha-shadow: 0 8px 24px rgba(228, 103, 130, 0.15);
  --iroha-shadow-lg: 0 16px 40px rgba(228, 103, 130, 0.2);
}

/* ============================================
   全体
   ============================================ */
body {
  font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif !important;
  color: var(--iroha-text);
  background-color: var(--iroha-cream);
  font-size: 16px;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}

.article h1, .article h2, .article h3, .article h4,
.iroha-top h1, .iroha-top h2, .iroha-top h3, .iroha-top h4 {
  font-family: "Zen Maru Gothic", sans-serif !important;
  font-weight: 700;
}

/* 記事コンテナをフル幅に */
.iroha-top {
  width: 100%;
  margin: 0;
  padding: 0;
}

.main .article,
#main .article,
.article {
  padding: 0 !important;
  max-width: none !important;
}

#main, .main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar { display: none !important; }

.no-sidebar .main, body.home .main {
  width: 100% !important;
}

.iroha-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
}

/* ============================================
   セクション見出し (英字 + 和文)
   ============================================ */
.iroha-sec {
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.iroha-sec-head {
  text-align: center;
  margin-bottom: 60px;
}

.iroha-sec-en {
  font-family: "Pacifico", "Zen Maru Gothic", cursive !important;
  font-size: 36px;
  color: var(--iroha-pink);
  letter-spacing: 0.05em;
  margin: 0 0 10px !important;
  line-height: 1;
  font-weight: 400;
}

.iroha-sec-ja {
  font-size: 30px;
  color: var(--iroha-pink-dark);
  margin: 0 !important;
  position: relative;
  display: inline-block;
  padding-bottom: 18px;
  font-weight: 700;
  border: none !important;
}

.iroha-sec-ja::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: var(--iroha-pink);
  border-radius: 4px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.iroha-sec-head--white .iroha-sec-en { color: #ffd1dc; }
.iroha-sec-head--white .iroha-sec-ja { color: #ffffff; }
.iroha-sec-head--white .iroha-sec-ja::after { background: #ffffff; }

/* ============================================
   HERO (tenri-nagomi構造に近づけた再現)
   ============================================ */
.iroha-top-hero {
  position: relative;
  min-height: 720px;
  background: #fefdf9;
  padding: 50px 20px 60px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ============================================
   散らばる背景ブロブ (淡色の有機的形状)
   ============================================ */
.iroha-hero-bg-blob {
  position: absolute;
  border-radius: 50% 42% 56% 48% / 50% 55% 45% 50%;
  z-index: 0;
  opacity: 0.85;
  pointer-events: none;
  animation: iroha-blob-morph 10s infinite ease-in-out;
}

@keyframes iroha-blob-morph {
  0%, 100% { border-radius: 50% 42% 56% 48% / 50% 55% 45% 50%; }
  50%      { border-radius: 42% 58% 45% 55% / 55% 45% 55% 45%; }
}

.iroha-hero-blob--1 {
  top: 8%; left: 10%;
  width: 140px; height: 120px;
  background: #fff2c4;
  animation-delay: 0s;
}

.iroha-hero-blob--2 {
  top: 15%; left: 3%;
  width: 90px; height: 80px;
  background: #ffe0a3;
  animation-delay: 1.5s;
}

.iroha-hero-blob--3 {
  bottom: 12%; left: 6%;
  width: 180px; height: 150px;
  background: #ffe4ea;
  animation-delay: 3s;
}

.iroha-hero-blob--4 {
  top: 10%; right: 8%;
  width: 160px; height: 140px;
  background: #e8f4d8;
  animation-delay: 2s;
}

.iroha-hero-blob--5 {
  top: 40%; right: 3%;
  width: 120px; height: 110px;
  background: #fff2c4;
  animation-delay: 4s;
}

.iroha-hero-blob--6 {
  bottom: 10%; right: 10%;
  width: 150px; height: 130px;
  background: #ffe4ea;
  animation-delay: 2.5s;
}

.iroha-hero-blob--7 {
  top: 48%; left: 30%;
  width: 80px; height: 70px;
  background: #d4eff9;
  animation-delay: 1s;
  opacity: 0.6;
}

/* ============================================
   左サイドタブ (縦書き)
   ============================================ */
.iroha-side-tabs {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.iroha-side-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  background: var(--iroha-pink);
  color: #ffffff !important;
  padding: 22px 14px;
  border-radius: 0 30px 30px 0;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.15em;
  text-decoration: none !important;
  box-shadow: 4px 4px 0 rgba(228, 103, 130, 0.25);
  transition: transform 0.2s;
  min-height: 140px;
}

.iroha-side-tab:hover {
  transform: translateX(6px);
  opacity: 1 !important;
  color: #ffffff !important;
}

.iroha-side-tab--info {
  background: var(--iroha-yellow);
  color: var(--iroha-pink-dark) !important;
}

.iroha-side-tab--info:hover {
  color: var(--iroha-pink-dark) !important;
}

.iroha-side-tab--contact {
  background: var(--iroha-pink-dark);
}

/* ============================================
   中央ブロブ型ビジュアル
   ============================================ */
.iroha-top-visual {
  position: relative;
  z-index: 5;
  max-width: 760px;
  width: 100%;
  padding: 0 80px;
}

.iroha-top-blob {
  position: relative;
  background: linear-gradient(180deg, #d4eff9 0%, #c5e8f5 60%, #b8dfef 100%);
  border-radius: 58% 42% 52% 48% / 55% 48% 52% 45%;
  padding: 80px 60px 90px;
  box-shadow: 0 20px 50px rgba(103, 182, 229, 0.25);
  animation: iroha-blob-morph 12s infinite ease-in-out;
  min-height: 440px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.iroha-top-blob::before {
  content: "";
  position: absolute;
  inset: 20px;
  border-radius: inherit;
  background: radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.4) 0%, transparent 70%);
  pointer-events: none;
}

.iroha-top-blob-inner {
  position: relative;
  z-index: 2;
  text-align: center;
}

.iroha-top-catch-main {
  font-size: 54px !important;
  color: var(--iroha-pink-dark) !important;
  margin: 0 0 28px !important;
  line-height: 1.7;
  font-weight: 900 !important;
  letter-spacing: 0.08em;
  text-shadow:
    3px 3px 0 #ffffff,
    -2px -2px 0 #ffffff,
    -2px 2px 0 #ffffff,
    2px -2px 0 #ffffff,
    5px 5px 0 rgba(228, 103, 130, 0.15);
  border: none !important;
  padding: 0 !important;
  background: none !important;
}

.iroha-top-catch-sub {
  font-size: 16px;
  color: var(--iroha-pink-dark);
  margin: 0 !important;
  line-height: 2;
  font-weight: 700;
  text-shadow: 2px 2px 0 #ffffff;
  display: inline-block;
  background: rgba(255, 255, 255, 0.7);
  padding: 10px 24px;
  border-radius: 50px;
}

/* ============================================
   下段のキャラクター絵文字群
   ============================================ */
.iroha-hero-chars {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  display: flex;
  justify-content: space-between;
  padding: 0 60px;
  z-index: 4;
  pointer-events: none;
}

.iroha-char {
  font-size: 54px;
  line-height: 1;
  display: inline-block;
  animation: iroha-char-bounce 2.5s infinite ease-in-out;
  filter: drop-shadow(3px 4px 0 rgba(228, 103, 130, 0.15));
}

.iroha-char--1 { animation-delay: 0s; }
.iroha-char--2 { animation-delay: 0.3s; }
.iroha-char--3 { animation-delay: 0.6s; }
.iroha-char--4 { animation-delay: 0.9s; }
.iroha-char--5 { animation-delay: 1.2s; }
.iroha-char--6 { animation-delay: 1.5s; }
.iroha-char--7 { animation-delay: 1.8s; }

@keyframes iroha-char-bounce {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50%      { transform: translateY(-8px) rotate(2deg); }
}

/* ============================================
   ABOUT
   ============================================ */
.iroha-about {
  background: var(--iroha-cream);
}

.iroha-about-wrap {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}

.iroha-about-lead p {
  font-size: 17px;
  line-height: 2.2;
  margin: 0 0 24px;
  color: var(--iroha-text);
}

.iroha-about-tag {
  display: inline-block;
  background: var(--iroha-pink-light);
  padding: 12px 28px !important;
  border-radius: 50px;
  color: var(--iroha-pink-dark) !important;
  font-weight: 700;
  font-size: 18px !important;
  margin-top: 20px !important;
  box-shadow: 0 4px 0 var(--iroha-pink);
}

.iroha-about-ill-l,
.iroha-about-ill-r {
  position: absolute;
  font-size: 60px;
  opacity: 0.6;
  animation: iroha-float 4s infinite;
}

.iroha-about-ill-l { bottom: 40px; left: 5%; }
.iroha-about-ill-r { top: 40px; right: 5%; animation-delay: 2s; }

/* ============================================
   INTERVENTION
   ============================================ */
.iroha-inter {
  background: linear-gradient(180deg, var(--iroha-cream) 0%, var(--iroha-pink-bg) 100%);
  position: relative;
}

.iroha-inter::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,40 C300,0 600,80 900,40 C1050,20 1150,50 1200,30 L1200,0 L0,0 Z' fill='%23fdf6f0'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.iroha-inter-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  flex-wrap: wrap;
}

.iroha-inter-txt {
  flex: 1;
  min-width: 300px;
}

.iroha-inter-txt p {
  font-size: 16px;
  line-height: 2.2;
  margin-bottom: 20px;
}

.iroha-inter-list {
  flex: 1;
  min-width: 300px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.iroha-inter-list li {
  width: calc(33.3% - 20px);
  background: #ffffff;
  border: 3px solid var(--iroha-pink-light);
  border-radius: 30px;
  padding: 22px 12px;
  text-align: center;
  box-shadow: var(--iroha-shadow);
  transition: transform 0.3s;
  list-style: none !important;
}

.iroha-inter-list li::marker { content: none !important; }

.iroha-inter-list li:hover {
  transform: translateY(-6px);
}

.iroha-inter-list li:nth-child(2) { border-color: var(--iroha-yellow); }
.iroha-inter-list li:nth-child(3) { border-color: var(--iroha-pink); }
.iroha-inter-list li:nth-child(4) { border-color: var(--iroha-yellow); }
.iroha-inter-list li:nth-child(5) { border-color: var(--iroha-pink); }

.iroha-inter-icon {
  font-size: 40px;
  line-height: 1;
  margin-bottom: 8px;
}

.iroha-inter-list p {
  font-size: 14px !important;
  font-weight: 700;
  color: var(--iroha-pink-dark);
  margin: 0 !important;
  line-height: 1.5;
}

/* ============================================
   FEATURES
   ============================================ */
.iroha-fea {
  background: var(--iroha-pink-bg);
  position: relative;
}

.iroha-fea::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'><path d='M0,30 C300,60 600,0 900,30 C1050,45 1150,15 1200,30 L1200,0 L0,0 Z' fill='%23fff1f3'/></svg>");
  background-size: 100% 100%;
  transform: rotate(180deg);
  display: none;
}

.iroha-fea-list {
  display: flex;
  gap: 30px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: wrap;
}

.iroha-fea-list li {
  flex: 1;
  min-width: 280px;
  background: #ffffff;
  border-radius: 30px;
  padding: 50px 30px 40px;
  text-align: center;
  position: relative;
  box-shadow: var(--iroha-shadow);
  transition: transform 0.3s;
  list-style: none !important;
  border: 4px solid #ffffff;
}

.iroha-fea-list li::marker { content: none !important; }

.iroha-fea-list li:hover {
  transform: translateY(-8px);
  box-shadow: var(--iroha-shadow-lg);
}

.iroha-fea-list li:nth-child(1) { border-color: var(--iroha-pink-light); }
.iroha-fea-list li:nth-child(2) { border-color: var(--iroha-yellow-light); }
.iroha-fea-list li:nth-child(3) { border-color: var(--iroha-pink-light); }

.iroha-fea-num {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--iroha-pink-dark);
  color: #ffffff;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Pacifico", cursive;
  font-size: 20px;
  font-weight: 700;
  box-shadow: 0 4px 0 var(--iroha-pink);
}

.iroha-fea-list li:nth-child(2) .iroha-fea-num {
  background: var(--iroha-yellow);
  color: var(--iroha-pink-dark);
  box-shadow: 0 4px 0 #e6be45;
}

.iroha-fea-icon {
  font-size: 60px;
  line-height: 1;
  margin: 15px 0 15px;
}

.iroha-fea-list h3 {
  font-size: 22px !important;
  color: var(--iroha-pink-dark) !important;
  margin: 0 0 15px !important;
  line-height: 1.5;
  font-weight: 700;
  border: none !important;
  padding: 0 !important;
  background: none !important;
}

.iroha-fea-list p {
  font-size: 14px;
  line-height: 1.9;
  color: var(--iroha-text);
  margin: 0;
}

/* ============================================
   SERVICE
   ============================================ */
.iroha-ser {
  background: linear-gradient(180deg, var(--iroha-pink-bg) 0%, var(--iroha-cream) 100%);
}

.iroha-ser-list {
  display: flex;
  gap: 40px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: wrap;
  justify-content: center;
}

.iroha-ser-item {
  flex: 1;
  min-width: 300px;
  max-width: 500px;
  background: #ffffff;
  border-radius: 40px;
  padding: 50px 40px 40px;
  text-align: center;
  position: relative;
  box-shadow: var(--iroha-shadow);
  border: 5px solid var(--iroha-pink-light);
  list-style: none !important;
}

.iroha-ser-item::marker { content: none !important; }

.iroha-ser-item--houkago {
  border-color: var(--iroha-yellow-light);
}

.iroha-ser-age {
  display: inline-block;
  background: var(--iroha-pink);
  color: #ffffff;
  padding: 6px 24px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}

.iroha-ser-item--houkago .iroha-ser-age {
  background: var(--iroha-yellow);
  color: var(--iroha-pink-dark);
}

.iroha-ser-icon {
  font-size: 72px;
  line-height: 1;
  margin-bottom: 20px;
}

.iroha-ser-item h3 {
  font-size: 26px !important;
  color: var(--iroha-pink-dark) !important;
  margin: 0 0 20px !important;
  font-weight: 700;
  border: none !important;
  padding: 0 !important;
  background: none !important;
}

.iroha-ser-item p {
  font-size: 15px;
  line-height: 2;
  margin: 0 0 30px;
  color: var(--iroha-text);
}

/* ============================================
   NEWS
   ============================================ */
.iroha-news {
  background: var(--iroha-cream);
  position: relative;
}

.iroha-news-wrap {
  max-width: 780px;
  margin: 0 auto;
}

.iroha-news-list-inner {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.iroha-news-item {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #ffffff;
  border-radius: 20px;
  padding: 20px 28px;
  margin-bottom: 16px;
  box-shadow: var(--iroha-shadow);
  border-left: 6px solid var(--iroha-pink);
  transition: transform 0.2s;
  list-style: none !important;
}

.iroha-news-item::marker { content: none !important; }

.iroha-news-item:hover {
  transform: translateX(6px);
}

.iroha-news-date {
  color: var(--iroha-pink-dark);
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  min-width: 100px;
}

.iroha-news-cat {
  background: var(--iroha-pink-light);
  color: var(--iroha-pink-dark);
  padding: 4px 14px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.iroha-news-title {
  flex: 1;
  color: var(--iroha-text);
  font-weight: 500;
  font-size: 15px;
}

.iroha-news-title a {
  color: var(--iroha-text);
}

.iroha-news-empty {
  text-align: center;
  color: var(--iroha-gray);
  padding: 40px;
}

.iroha-news-more {
  text-align: center;
  margin-top: 40px;
}

.iroha-news-ill {
  position: absolute;
  bottom: 40px;
  right: 5%;
  font-size: 60px;
  opacity: 0.6;
  animation: iroha-float 3s infinite;
}

/* ============================================
   CONTACT
   ============================================ */
.iroha-con {
  background: linear-gradient(135deg, var(--iroha-pink-dark) 0%, var(--iroha-pink-deep) 100%);
  position: relative;
  padding-bottom: 120px;
}

.iroha-con::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.15) 0%, transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.12) 0%, transparent 40%);
  pointer-events: none;
}

.iroha-con-lead {
  text-align: center;
  color: #ffffff !important;
  font-size: 16px;
  line-height: 2;
  margin-bottom: 50px !important;
  position: relative;
  z-index: 2;
}

.iroha-con-list {
  display: flex;
  gap: 24px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.iroha-con-list li {
  flex: 1;
  min-width: 260px;
  max-width: 320px;
  background: #ffffff;
  border-radius: 24px;
  padding: 36px 24px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  list-style: none !important;
  transition: transform 0.3s;
}

.iroha-con-list li::marker { content: none !important; }

.iroha-con-list li:hover {
  transform: translateY(-6px);
}

.iroha-con-icon {
  font-size: 48px;
  line-height: 1;
  margin-bottom: 15px;
}

.iroha-con-label {
  color: var(--iroha-pink) !important;
  font-size: 13px !important;
  margin: 0 0 8px !important;
  letter-spacing: 0.1em;
  font-weight: 700;
}

.iroha-con-val {
  color: var(--iroha-pink-dark) !important;
  font-size: 22px !important;
  margin: 0 0 10px !important;
  font-weight: 700;
  line-height: 1.4;
}

.iroha-con-sub {
  color: var(--iroha-text) !important;
  font-size: 12px !important;
  margin: 0 !important;
  line-height: 1.7;
}

.iroha-con-ill-l,
.iroha-con-ill-r {
  position: absolute;
  bottom: 30px;
  font-size: 48px;
  opacity: 0.5;
}

.iroha-con-ill-l { left: 8%; }
.iroha-con-ill-r { right: 8%; }

/* ============================================
   ボタン
   ============================================ */
.iroha-btn {
  display: inline-block;
  padding: 14px 36px;
  border-radius: 50px;
  font-weight: 700;
  text-decoration: none;
  font-size: 15px;
  transition: all 0.2s;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.iroha-btn-pink {
  background: var(--iroha-pink-dark) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 0 #b03c56;
}

.iroha-btn-pink:hover {
  background: var(--iroha-pink-deep) !important;
  color: #ffffff !important;
  transform: translateY(2px);
  box-shadow: 0 2px 0 #b03c56;
  opacity: 1 !important;
}

.iroha-btn-yellow {
  background: var(--iroha-yellow) !important;
  color: var(--iroha-pink-dark) !important;
  box-shadow: 0 4px 0 #e6be45;
}

.iroha-btn-yellow:hover {
  background: #ffc94a !important;
  color: var(--iroha-pink-dark) !important;
  transform: translateY(2px);
  box-shadow: 0 2px 0 #e6be45;
  opacity: 1 !important;
}

.iroha-btn-outline {
  background: #ffffff !important;
  color: var(--iroha-pink-dark) !important;
  border: 3px solid var(--iroha-pink-dark);
  padding: 11px 33px;
}

.iroha-btn-outline:hover {
  background: var(--iroha-pink-dark) !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

.iroha-btn-sm {
  padding: 8px 24px;
  font-size: 13px;
}

/* ============================================
   ヘッダー (Cocoon既存を上書き)
   ============================================ */
#header, .header-container {
  background: #ffffff;
  border-bottom: 3px solid var(--iroha-pink-light);
}

.site-name-text a {
  color: var(--iroha-pink-dark) !important;
  font-family: "Zen Maru Gothic", sans-serif !important;
  font-weight: 900 !important;
}

.tagline {
  color: var(--iroha-pink) !important;
  font-family: "Zen Maru Gothic", sans-serif !important;
}

#navi, .navi-in {
  background: #ffffff;
  border-top: none;
  border-bottom: 2px solid var(--iroha-pink-light);
}

#navi .navi-in > .menu-header > li > a,
#navi .navi-in > ul > li > a {
  color: var(--iroha-pink-dark) !important;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif !important;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
}

#navi .navi-in > .menu-header > li:hover > a,
#navi .navi-in > ul > li:hover > a {
  background: var(--iroha-pink-bg) !important;
  border-bottom-color: var(--iroha-pink) !important;
}

/* ============================================
   フッター
   ============================================ */
#footer, .footer {
  background: var(--iroha-pink-bg);
  border-top: 4px solid var(--iroha-pink);
}

#footer, #footer a, .copyright {
  color: var(--iroha-pink-dark) !important;
  font-family: "Zen Maru Gothic", sans-serif !important;
}

/* ============================================
   レスポンシブ
   ============================================ */
@media screen and (max-width: 834px) {
  .iroha-inner { padding: 0 20px; }

  .iroha-sec { padding: 70px 0; }

  .iroha-sec-en { font-size: 28px; }
  .iroha-sec-ja { font-size: 22px; }

  .iroha-top-hero { min-height: 600px; padding: 30px 10px 50px; }
  .iroha-top-visual { padding: 0 20px; }
  .iroha-top-blob { padding: 50px 24px 60px; min-height: 340px; }
  .iroha-top-catch-main { font-size: 30px !important; letter-spacing: 0.03em; }
  .iroha-top-catch-sub { font-size: 12px; padding: 8px 16px; }

  .iroha-side-tabs { gap: 8px; }
  .iroha-side-tab { padding: 14px 10px; font-size: 12px; min-height: 100px; }

  .iroha-hero-chars { padding: 0 10px; bottom: 10px; }
  .iroha-char { font-size: 28px; }
  .iroha-char--4, .iroha-char--5 { display: none; }

  .iroha-hero-bg-blob { transform: scale(0.6); }

  .iroha-inter-wrap { flex-direction: column; gap: 30px; }
  .iroha-inter-list li { width: calc(50% - 20px); }

  .iroha-fea-list { flex-direction: column; }
  .iroha-fea-list li { width: 100%; }

  .iroha-ser-list { flex-direction: column; align-items: center; }
  .iroha-ser-item { width: 100%; }

  .iroha-news-item { flex-direction: column; align-items: flex-start; gap: 8px; }
  .iroha-news-date { min-width: auto; }

  .iroha-con-list { flex-direction: column; align-items: center; }
  .iroha-con-list li { width: 100%; }

  .iroha-deco-cloud-l, .iroha-deco-cloud-r { display: none; }
}

/* ============================================
   リセット (Cocoon/blockのデフォルト上書き)
   ============================================ */
.iroha-top ul li::before { content: none !important; }
.iroha-top ul, .iroha-top ol { padding-left: 0 !important; }
.iroha-top ul li, .iroha-top ol li { list-style: none !important; margin: 0; }
.iroha-top h1, .iroha-top h2, .iroha-top h3, .iroha-top h4, .iroha-top h5, .iroha-top h6 {
  background: none !important;
  border: none !important;
}

.iroha-top p { margin: 0; }

.iroha-top a:hover { opacity: 1; }

/* アクセシビリティ */
*:focus-visible {
  outline: 3px solid var(--iroha-pink);
  outline-offset: 2px;
}

/* ============================================
   HOME PAGE CLEANUP (v4)
   ============================================ */

/* ホームページでCocoonの標準要素を非表示 */
body.home .entry-title,
body.home .page-header,
body.home .entry-header,
body.home .date-tags,
body.home .post-date,
body.home .post-update,
body.home .post-author,
body.home .cat-tag,
body.home .sns-share,
body.home .sns-follow,
body.home .sns-share-buttons,
body.home .breadcrumb,
body.home .a-wrap-border,
body.home .entry-footer,
body.home .pager-post-navi,
body.home .related-entries,
body.home .comment-area,
body.home #comment-area,
body.home .author-box,
body.home .sidebar {
  display: none !important;
}

/* ホームの記事エリアを全幅＆余白ゼロに */
body.home #main,
body.home .main,
body.home .article,
body.home .entry-content,
body.home .post-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.home .container-inner,
body.home #container,
body.home .wrap {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ============================================
   HEADER / SITE TITLE
   ============================================ */

/* サイト説明（キャッチフレーズ）をヘッダーから非表示（ヒーローで表示するため） */
.tagline,
.site-description,
.site-name-description,
#header .tagline {
  display: none !important;
}

/* サイト名のフォント調整 */
.site-name-text,
.site-name-text a {
  font-family: "Zen Maru Gothic", sans-serif !important;
  color: var(--iroha-pink-dark) !important;
  font-weight: 700 !important;
}

/* ============================================
   GLOBAL NAVIGATION (カラフルピル型メニュー)
   ============================================ */

#navi,
.navi-in,
#navi .navi-in {
  background: #ffffff !important;
  border: none !important;
  padding: 14px 0 !important;
}

#navi .menu-header,
#navi ul.menu-header,
.navi-in > .menu-header {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  list-style: none !important;
}

#navi .menu-header li,
.navi-in > .menu-header > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

#navi .menu-header li::before,
#navi .menu-header li::after {
  display: none !important;
}

#navi .menu-header li > a,
.navi-in > .menu-header > li > a {
  display: inline-block !important;
  padding: 12px 22px !important;
  border-radius: 50px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: "Zen Maru Gothic", sans-serif !important;
  text-decoration: none !important;
  color: #ffffff !important;
  background: var(--iroha-pink) !important;
  box-shadow: 0 4px 0 rgba(228, 103, 130, 0.25) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  line-height: 1.4 !important;
  border: none !important;
  height: auto !important;
  width: auto !important;
}

/* 項目ごとに交互に色を変える */
#navi .menu-header li:nth-child(2n) > a {
  background: var(--iroha-yellow) !important;
  color: var(--iroha-pink-dark) !important;
  box-shadow: 0 4px 0 rgba(230, 190, 69, 0.6) !important;
}

#navi .menu-header li:nth-child(3n) > a {
  background: var(--iroha-pink-deep) !important;
  color: #ffffff !important;
}

#navi .menu-header li:nth-child(5n) > a {
  background: #a5d4ef !important;
  color: #ffffff !important;
  box-shadow: 0 4px 0 rgba(103, 182, 229, 0.4) !important;
}

#navi .menu-header li > a:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 7px 0 rgba(228, 103, 130, 0.25) !important;
  opacity: 1 !important;
}

/* モバイル時は折り返し */
@media (max-width: 782px) {
  #navi .menu-header {
    padding: 0 10px !important;
    gap: 8px !important;
  }
  #navi .menu-header li > a {
    padding: 10px 16px !important;
    font-size: 12px !important;
  }
}

/* ============================================
   HEADER CONTAINER (ロゴ+タイトル)
   ============================================ */

.header-container,
#header-container,
#header {
  background: #ffffff !important;
  border-bottom: 3px solid var(--iroha-pink-light) !important;
  padding: 12px 0 !important;
}

.header-in {
  padding: 10px 20px !important;
}

/* 「ホーム」ページタイトルを非表示 (最後の保険) */
body.home h1.entry-title,
body.home .entry-title,
body.home .article-header {
  display: none !important;
}

/* ============================================
   HOME FULLVIEW (v5 - empty hero with warm bg)
   ============================================ */

/* ホームではCocoonの全装飾を完全に消す */
body.home .entry-title,
body.home .page-header,
body.home .entry-header,
body.home .date-tags,
body.home .post-date,
body.home .post-update,
body.home .post-author,
body.home .cat-tag,
body.home .sns-share,
body.home .sns-follow,
body.home .sns-share-buttons,
body.home .breadcrumb,
body.home .entry-footer,
body.home .pager-post-navi,
body.home .related-entries,
body.home .comment-area,
body.home #comment-area,
body.home .author-box,
body.home .sidebar,
body.home .pagination,
body.home .footer-bottom-logo,
body.home footer.footer .footer-bottom {
  display: none !important;
}

/* ホーム記事エリアを全幅・余白ゼロに */
body.home #main,
body.home .main,
body.home .article,
body.home .entry-content,
body.home .post-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.home .container-inner,
body.home #container,
body.home .wrap {
  max-width: 100% !important;
  padding: 0 !important;
}

body.home #content,
body.home .content {
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================
   Fullview hero — 画面いっぱい＋温かい背景
   ============================================ */
.iroha-fullview {
  position: relative;
  width: 100vw;
  min-height: calc(100vh - 140px); /* ヘッダー分を差し引く */
  margin: 0 calc(50% - 50vw);
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 18% 20%, #fff2c4 0%, transparent 45%),
    radial-gradient(ellipse at 82% 18%, #ffe4ea 0%, transparent 50%),
    radial-gradient(ellipse at 12% 80%, #e8f4d8 0%, transparent 50%),
    radial-gradient(ellipse at 88% 82%, #ffe0a3 0%, transparent 45%),
    linear-gradient(180deg, #fff8ef 0%, #fff1f3 100%);
}

.iroha-fullview-inner {
  position: relative;
  width: 100%;
  min-height: calc(100vh - 140px);
}

/* ============================================
   HOME: ヘッダーのサイト名&グロナビを非表示 (v6)
   ============================================ */
body.home .header-container,
body.home #header-container,
body.home #header,
body.home .site-name,
body.home .site-name-text,
body.home .tagline,
body.home .logo,
body.home .logo-image,
body.home .logo-text,
body.home .header-in,
body.home #navi,
body.home .navi,
body.home .navi-in,
body.home .menu-header,
body.home #navi-footer,
body.home .navi-footer {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

body.home #body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* フルビューをヘッダー分差し引く必要がなくなるので画面いっぱいに */
body.home .iroha-fullview,
body.home .iroha-fullview-inner {
  min-height: 100vh !important;
}

/* ============================================
   HOME BACKGROUND v7 — 温かみアップグレード
   ============================================ */

.iroha-fullview {
  background:
    radial-gradient(ellipse 520px 380px at 15% 18%, #fff4c2 0%, transparent 62%),
    radial-gradient(ellipse 600px 420px at 85% 22%, #ffe1ea 0%, transparent 60%),
    radial-gradient(ellipse 560px 400px at 10% 82%, #e4f1cf 0%, transparent 62%),
    radial-gradient(ellipse 640px 460px at 90% 85%, #ffdcc2 0%, transparent 58%),
    radial-gradient(circle 260px at 50% 50%, rgba(255,255,255,.55) 0%, transparent 70%),
    linear-gradient(160deg, #fffaf0 0%, #fff3f1 50%, #fff6e8 100%) !important;
  position: relative;
  isolation: isolate;
}

/* 柔らかいノイズテクスチャ（和紙風） */
.iroha-fullview::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.12 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");
  opacity: .6;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 0;
}

/* 浮遊する淡いblobたち */
.iroha-fullview::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 140px at 25% 35%, rgba(255,217,107,0.25) 0%, transparent 70%),
    radial-gradient(circle 120px at 70% 30%, rgba(255,163,188,0.28) 0%, transparent 70%),
    radial-gradient(circle 160px at 40% 75%, rgba(168,216,234,0.22) 0%, transparent 70%),
    radial-gradient(circle 130px at 80% 70%, rgba(185,217,155,0.25) 0%, transparent 70%),
    radial-gradient(circle 100px at 55% 50%, rgba(255,255,255,0.35) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
  animation: iroha-bg-float 18s ease-in-out infinite alternate;
}

@keyframes iroha-bg-float {
  0%   { transform: translate(0,0)   scale(1);    }
  50%  { transform: translate(12px,-10px) scale(1.04); }
  100% { transform: translate(-8px,8px) scale(0.98); }
}

.iroha-fullview-inner {
  position: relative;
  z-index: 1;
}

/* ============================================
   HOME BACKGROUND v8 — はっきり色味アップ
   ============================================ */

.iroha-fullview {
  background:
    radial-gradient(ellipse 560px 420px at 14% 18%, #ffe27a 0%, #fff2b8 40%, transparent 72%),
    radial-gradient(ellipse 620px 460px at 86% 20%, #ffb6cc 0%, #ffd5df 40%, transparent 72%),
    radial-gradient(ellipse 600px 440px at 10% 82%, #b6e09a 0%, #daedc7 40%, transparent 72%),
    radial-gradient(ellipse 680px 500px at 90% 86%, #ffb892 0%, #ffd5b8 40%, transparent 72%),
    radial-gradient(ellipse 500px 360px at 50% 50%, #d0ecff 0%, #ebf5fc 40%, transparent 75%),
    linear-gradient(160deg, #fff7dc 0%, #ffe3ec 50%, #fff0dc 100%) !important;
  position: relative;
  isolation: isolate;
}

/* ノイズテクスチャ（少し薄め、質感のみ） */
.iroha-fullview::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.16 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");
  opacity: .5;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 0;
}

/* くっきりした浮遊ブロブ */
.iroha-fullview::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 170px at 22% 32%, rgba(255,205,90,0.55) 0%, transparent 72%),
    radial-gradient(circle 150px at 72% 28%, rgba(255,140,170,0.50) 0%, transparent 72%),
    radial-gradient(circle 190px at 38% 72%, rgba(130,195,230,0.45) 0%, transparent 72%),
    radial-gradient(circle 160px at 82% 68%, rgba(150,210,110,0.50) 0%, transparent 72%),
    radial-gradient(circle 130px at 58% 52%, rgba(255,255,255,0.55) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  animation: iroha-bg-float 22s ease-in-out infinite alternate;
}

@keyframes iroha-bg-float {
  0%   { transform: translate(0,0)   scale(1);    }
  50%  { transform: translate(16px,-12px) scale(1.05); }
  100% { transform: translate(-12px,10px) scale(0.97); }
}

/* ============================================
   HERO PHOTO v9 — 中央に画像配置
   ============================================ */

.iroha-fullview-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100vh;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

.iroha-hero-photo {
  position: relative;
  width: 90%;
  max-width: 1100px;
  aspect-ratio: 2.63 / 1;
  z-index: 2;
  animation: iroha-hero-float 6s ease-in-out infinite alternate;
}

.iroha-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(228, 103, 130, 0.25));
}

@keyframes iroha-hero-float {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-10px); }
}

@media (max-width: 768px) {
  .iroha-hero-photo {
    width: 95%;
  }
}

/* ============================================
   HOME HERO — 完全中央配置 v10
   ============================================ */

body.home .iroha-fullview {
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
}

body.home .iroha-fullview-inner {
  width: 100% !important;
  min-height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

body.home .iroha-hero-photo {
  margin: 0 auto !important;
  width: 70% !important;
  max-width: 860px !important;
}

/* ============================================
   HOME HERO v11 — 完全中央・アニメ停止
   ============================================ */

/* 浮遊アニメーション停止 */
body.home .iroha-hero-photo {
  animation: none !important;
  transform: none !important;
}

/* 背景ブロブのアニメも停止 */
body.home .iroha-fullview::after {
  animation: none !important;
  transform: none !important;
}

/* ============================================
   HOME HERO v12 — 画像もっと大きく
   ============================================ */

body.home .iroha-hero-photo {
  width: 92% !important;
  max-width: 1400px !important;
}

body.home .iroha-fullview {
  padding: 10px !important;
}

/* ============================================
   HOME HERO v13 — リンゴ型写真を画面中央基準に
   画像内のリンゴは画像中心より85px左寄り (5.2%)
   → コンテナを右に5.2%オフセットしてリンゴ中央合わせ
   ============================================ */

body.home .iroha-hero-photo {
  animation: none !important;
  transform: translateX(5.2%) !important;
  transition: none !important;
}

body.home .iroha-hero-photo img {
  transform: none !important;
}

body.home .iroha-fullview::after {
  animation: none !important;
  transform: none !important;
}

body.home .iroha-fullview::before {
  animation: none !important;
}

/* ============================================
   HOME HERO v14 — 画像リンゴが中央修正済み版
   オフセット解除・完全中央
   ============================================ */

body.home .iroha-hero-photo {
  animation: none !important;
  transform: none !important;
  transition: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ============================================
   HOME HERO v15 — 完全中央・背景弱め
   ============================================ */

/* 画像コンテナを完全中央に（オフセットゼロ） */
body.home .iroha-hero-photo,
body.home .iroha-fullview .iroha-hero-photo {
  transform: translateX(0) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  animation: none !important;
  transition: none !important;
}

/* 背景グラデを弱めに（淡いクリームベース） */
body.home .iroha-fullview {
  background:
    radial-gradient(ellipse 520px 400px at 14% 18%, #fff6d8 0%, transparent 65%),
    radial-gradient(ellipse 580px 420px at 86% 20%, #ffeaf0 0%, transparent 65%),
    radial-gradient(ellipse 560px 400px at 10% 82%, #e7f3d6 0%, transparent 65%),
    radial-gradient(ellipse 620px 460px at 90% 86%, #ffe3d0 0%, transparent 65%),
    linear-gradient(160deg, #fffbef 0%, #fff5f3 50%, #fff8ea 100%) !important;
}

/* 背景ノイズも弱める */
body.home .iroha-fullview::before {
  opacity: 0.25 !important;
  animation: none !important;
}

/* 浮遊ブロブも薄く（色のヒントだけ） */
body.home .iroha-fullview::after {
  background:
    radial-gradient(circle 140px at 22% 32%, rgba(255,215,130,0.22) 0%, transparent 70%),
    radial-gradient(circle 130px at 72% 28%, rgba(255,170,190,0.18) 0%, transparent 70%),
    radial-gradient(circle 160px at 38% 72%, rgba(170,215,235,0.18) 0%, transparent 70%),
    radial-gradient(circle 140px at 82% 68%, rgba(190,225,160,0.20) 0%, transparent 70%) !important;
  animation: none !important;
  transform: none !important;
}

/* ============================================
   HOME HERO TEXT v16 — 画像の上にキャッチコピー
   ============================================ */

body.home .iroha-hero-photo {
  position: relative !important;
}

.iroha-hero-text {
  position: absolute;
  left: 50%;
  top: 58%;
  transform: translate(-50%, -50%);
  width: 92%;
  max-width: 900px;
  text-align: center;
  z-index: 10;
  pointer-events: none;
  font-family: "Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;
  line-height: 1.6;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  margin: 0 0 6px !important;
  padding: 0 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  font-size: clamp(22px, 3.6vw, 46px) !important;
  letter-spacing: 0.05em;
  text-shadow:
    2px 2px 0 #d94b6a,
    -2px -2px 0 #d94b6a,
    -2px 2px 0 #d94b6a,
    2px -2px 0 #d94b6a,
    0 0 12px rgba(217, 75, 106, 0.35),
    4px 6px 0 rgba(217, 75, 106, 0.25);
  background: none !important;
  border: none !important;
  line-height: 1.6 !important;
}

.iroha-hero-line-2 {
  margin-top: 10px !important;
}

/* 「いろは」を強調 */
.iroha-hero-brand {
  display: inline-block;
  position: relative;
  color: #ffd96b !important;
  font-family: "Pacifico","Zen Maru Gothic",cursive !important;
  font-size: 1.35em !important;
  font-weight: 400 !important;
  padding: 0 0.2em;
  margin: 0 0.15em;
  letter-spacing: 0.08em;
  text-shadow:
    3px 3px 0 #d94b6a,
    -3px -3px 0 #d94b6a,
    -3px 3px 0 #d94b6a,
    3px -3px 0 #d94b6a,
    0 0 16px rgba(255, 217, 107, 0.6),
    6px 8px 0 rgba(217, 75, 106, 0.35);
  transform: translateY(2px) rotate(-2deg);
  animation: iroha-brand-pulse 3s ease-in-out infinite;
}

.iroha-hero-brand::before {
  content: "";
  position: absolute;
  left: -0.2em;
  right: -0.2em;
  bottom: 0.1em;
  height: 0.25em;
  background: rgba(255, 217, 107, 0.45);
  z-index: -1;
  border-radius: 999px;
  filter: blur(2px);
}

@keyframes iroha-brand-pulse {
  0%,100% { transform: translateY(2px) rotate(-2deg) scale(1); }
  50%     { transform: translateY(0) rotate(-1.5deg) scale(1.04); }
}

@media (max-width: 768px) {
  .iroha-hero-text {
    top: 62%;
    width: 96%;
  }
  .iroha-hero-brand {
    font-size: 1.2em !important;
  }
}

/* ============================================
   HERO TEXT v17 — リンゴ写真内に収まるよう調整
   リンゴ写真範囲: X 25.9%〜69.3% (幅43.4%), 中心X=47.6%
                    Y 38.5%〜53.8% (中心Y=46.2%)
   ============================================ */

.iroha-hero-text {
  position: absolute !important;
  /* リンゴの中心(横47.6%, 縦46.2%)に合わせる */
  left: 47.6% !important;
  top: 46.2% !important;
  transform: translate(-50%, -50%) !important;
  /* リンゴ内に収まる幅: 写真幅43.4%の8割程度 */
  width: 34% !important;
  max-width: 34% !important;
  text-align: center !important;
  z-index: 10 !important;
  pointer-events: none !important;
  font-family: "Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif !important;
  line-height: 1.5 !important;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  /* リンゴ内に収めるので小さめに */
  font-size: clamp(12px, 1.45vw, 22px) !important;
  letter-spacing: 0.03em !important;
  line-height: 1.5 !important;
  text-shadow:
    1.5px 1.5px 0 #d94b6a,
    -1.5px -1.5px 0 #d94b6a,
    -1.5px 1.5px 0 #d94b6a,
    1.5px -1.5px 0 #d94b6a,
    0 0 6px rgba(217, 75, 106, 0.45),
    2px 3px 0 rgba(217, 75, 106, 0.3) !important;
  background: none !important;
  border: none !important;
  white-space: nowrap !important;
}

.iroha-hero-line-2 {
  margin-top: 6px !important;
}

/* 「いろは」強調 */
.iroha-hero-brand {
  display: inline-block;
  position: relative;
  color: #ffd96b !important;
  font-family: "Pacifico","Zen Maru Gothic",cursive !important;
  font-size: 1.35em !important;
  font-weight: 400 !important;
  padding: 0 0.15em;
  margin: 0 0.1em;
  letter-spacing: 0.05em;
  text-shadow:
    1.5px 1.5px 0 #d94b6a,
    -1.5px -1.5px 0 #d94b6a,
    -1.5px 1.5px 0 #d94b6a,
    1.5px -1.5px 0 #d94b6a,
    0 0 10px rgba(255, 217, 107, 0.7),
    3px 4px 0 rgba(217, 75, 106, 0.4);
  transform: translateY(1px) rotate(-2deg);
  animation: iroha-brand-pulse 3s ease-in-out infinite;
  vertical-align: baseline;
}

.iroha-hero-brand::before {
  content: "";
  position: absolute;
  left: -0.15em;
  right: -0.15em;
  bottom: 0.15em;
  height: 0.22em;
  background: rgba(255, 217, 107, 0.5);
  z-index: -1;
  border-radius: 999px;
  filter: blur(1.5px);
}

@keyframes iroha-brand-pulse {
  0%,100% { transform: translateY(1px) rotate(-2deg) scale(1); }
  50%     { transform: translateY(0) rotate(-1.5deg) scale(1.04); }
}

@media (max-width: 768px) {
  .iroha-hero-text {
    width: 36% !important;
    max-width: 36% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    font-size: clamp(10px, 2vw, 16px) !important;
  }
  .iroha-hero-brand {
    font-size: 1.3em !important;
  }
}

@media (max-width: 480px) {
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    white-space: normal !important;
    font-size: clamp(9px, 2.5vw, 14px) !important;
  }
}

/* ============================================
   HERO TEXT v18 — 写真下半分に大きく配置
   写真Y: 38.5〜53.8%  → テキストは 62〜72% あたり
   ============================================ */

.iroha-hero-text {
  position: absolute !important;
  left: 47.6% !important;
  top: 68% !important;
  transform: translate(-50%, -50%) !important;
  width: 90% !important;
  max-width: 1200px !important;
  text-align: center !important;
  z-index: 10 !important;
  pointer-events: none !important;
  font-family: "Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif !important;
  line-height: 1.6 !important;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  font-size: clamp(24px, 4.2vw, 56px) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.5 !important;
  text-shadow:
    3px 3px 0 #d94b6a,
    -3px -3px 0 #d94b6a,
    -3px 3px 0 #d94b6a,
    3px -3px 0 #d94b6a,
    0 0 14px rgba(217, 75, 106, 0.5),
    5px 7px 0 rgba(217, 75, 106, 0.3) !important;
  background: none !important;
  border: none !important;
  white-space: nowrap !important;
}

.iroha-hero-line-2 {
  margin-top: 14px !important;
}

/* 「いろは」強調（大きめ） */
.iroha-hero-brand {
  display: inline-block;
  position: relative;
  color: #ffd96b !important;
  font-family: "Pacifico","Zen Maru Gothic",cursive !important;
  font-size: 1.4em !important;
  font-weight: 400 !important;
  padding: 0 0.2em;
  margin: 0 0.15em;
  letter-spacing: 0.06em;
  text-shadow:
    3px 3px 0 #d94b6a,
    -3px -3px 0 #d94b6a,
    -3px 3px 0 #d94b6a,
    3px -3px 0 #d94b6a,
    0 0 18px rgba(255, 217, 107, 0.8),
    6px 8px 0 rgba(217, 75, 106, 0.4);
  transform: translateY(3px) rotate(-2deg);
  animation: iroha-brand-pulse 3s ease-in-out infinite;
  vertical-align: baseline;
}

.iroha-hero-brand::before {
  content: "";
  position: absolute;
  left: -0.2em;
  right: -0.2em;
  bottom: 0.1em;
  height: 0.28em;
  background: rgba(255, 217, 107, 0.55);
  z-index: -1;
  border-radius: 999px;
  filter: blur(2px);
}

@keyframes iroha-brand-pulse {
  0%,100% { transform: translateY(3px) rotate(-2deg) scale(1); }
  50%     { transform: translateY(1px) rotate(-1.5deg) scale(1.04); }
}

@media (max-width: 900px) {
  .iroha-hero-text {
    top: 70% !important;
    width: 94% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    font-size: clamp(16px, 3.4vw, 32px) !important;
  }
  .iroha-hero-brand {
    font-size: 1.3em !important;
  }
}

@media (max-width: 480px) {
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    white-space: normal !important;
    font-size: clamp(13px, 4vw, 20px) !important;
  }
}

/* ============================================
   HERO TEXT v19 — 写真内に大きく配置・行間タイト
   写真領域: 約 X 25%〜72%, Y 10%〜85%
   テキスト位置: 写真の中央下寄り(Y=58%)
   ============================================ */

.iroha-hero-text {
  position: absolute !important;
  left: 48% !important;
  top: 58% !important;
  transform: translate(-50%, -50%) !important;
  width: 44% !important;
  max-width: 44% !important;
  text-align: center !important;
  z-index: 10 !important;
  pointer-events: none !important;
  font-family: "Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif !important;
  line-height: 1.25 !important;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  font-size: clamp(16px, 2.0vw, 32px) !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  text-shadow:
    2px 2px 0 #d94b6a,
    -2px -2px 0 #d94b6a,
    -2px 2px 0 #d94b6a,
    2px -2px 0 #d94b6a,
    0 0 8px rgba(217, 75, 106, 0.5),
    3px 4px 0 rgba(217, 75, 106, 0.3) !important;
  background: none !important;
  border: none !important;
  white-space: nowrap !important;
}

.iroha-hero-line-2 {
  margin-top: 4px !important;
}

/* 「いろは」強調 */
.iroha-hero-brand {
  display: inline-block;
  position: relative;
  color: #ffd96b !important;
  font-family: "Pacifico","Zen Maru Gothic",cursive !important;
  font-size: 1.35em !important;
  font-weight: 400 !important;
  padding: 0 0.15em;
  margin: 0 0.1em;
  letter-spacing: 0.04em;
  line-height: 1 !important;
  text-shadow:
    2px 2px 0 #d94b6a,
    -2px -2px 0 #d94b6a,
    -2px 2px 0 #d94b6a,
    2px -2px 0 #d94b6a,
    0 0 12px rgba(255, 217, 107, 0.75),
    4px 5px 0 rgba(217, 75, 106, 0.35);
  transform: translateY(2px) rotate(-2deg);
  animation: iroha-brand-pulse 3s ease-in-out infinite;
  vertical-align: baseline;
}

.iroha-hero-brand::before {
  content: "";
  position: absolute;
  left: -0.15em;
  right: -0.15em;
  bottom: 0.12em;
  height: 0.24em;
  background: rgba(255, 217, 107, 0.55);
  z-index: -1;
  border-radius: 999px;
  filter: blur(1.5px);
}

@keyframes iroha-brand-pulse {
  0%,100% { transform: translateY(2px) rotate(-2deg) scale(1); }
  50%     { transform: translateY(0) rotate(-1.5deg) scale(1.04); }
}

@media (max-width: 900px) {
  .iroha-hero-text {
    width: 50% !important;
    max-width: 50% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    font-size: clamp(12px, 2.5vw, 20px) !important;
  }
}

@media (max-width: 480px) {
  .iroha-hero-text {
    width: 60% !important;
    max-width: 60% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    white-space: normal !important;
    font-size: clamp(10px, 3vw, 16px) !important;
  }
}

/* ============================================
   HERO TEXT v20 — もっと大きく、写真内に収める
   ============================================ */

.iroha-hero-text {
  position: absolute !important;
  left: 48% !important;
  top: 55% !important;
  transform: translate(-50%, -50%) !important;
  width: 58% !important;
  max-width: 58% !important;
  text-align: center !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  font-size: clamp(20px, 2.8vw, 44px) !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0.02em !important;
  text-shadow:
    2.5px 2.5px 0 #d94b6a,
    -2.5px -2.5px 0 #d94b6a,
    -2.5px 2.5px 0 #d94b6a,
    2.5px -2.5px 0 #d94b6a,
    0 0 10px rgba(217, 75, 106, 0.55),
    4px 5px 0 rgba(217, 75, 106, 0.32) !important;
  white-space: nowrap !important;
}

.iroha-hero-line-2 {
  margin-top: 6px !important;
}

.iroha-hero-brand {
  font-size: 1.4em !important;
}

@media (max-width: 900px) {
  .iroha-hero-text {
    width: 64% !important;
    max-width: 64% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    font-size: clamp(14px, 3vw, 24px) !important;
  }
}

@media (max-width: 480px) {
  .iroha-hero-text {
    width: 72% !important;
    max-width: 72% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    white-space: normal !important;
    font-size: clamp(11px, 3.5vw, 18px) !important;
  }
}

/* ============================================
   HERO TEXT v21 — 写真下部に大きく配置
   新画像写真: X 5〜77% (幅72%), 中心X=41%
                Y 10〜94% (高さ85%), 中心Y=52%
   テキスト位置: 写真の下寄り (Y=78%)
   ============================================ */

.iroha-hero-text {
  position: absolute !important;
  left: 41% !important;
  top: 78% !important;
  transform: translate(-50%, -50%) !important;
  width: 62% !important;
  max-width: 62% !important;
  text-align: center !important;
  z-index: 10 !important;
  pointer-events: none !important;
  line-height: 1.25 !important;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  font-size: clamp(22px, 3.2vw, 48px) !important;
  letter-spacing: 0.03em !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  text-shadow:
    3px 3px 0 #d94b6a,
    -3px -3px 0 #d94b6a,
    -3px 3px 0 #d94b6a,
    3px -3px 0 #d94b6a,
    0 0 12px rgba(217, 75, 106, 0.6),
    5px 6px 0 rgba(217, 75, 106, 0.32) !important;
}

.iroha-hero-line-2 {
  margin-top: 8px !important;
}

.iroha-hero-brand {
  font-size: 1.4em !important;
}

@media (max-width: 900px) {
  .iroha-hero-text {
    width: 68% !important;
    max-width: 68% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    font-size: clamp(14px, 3vw, 24px) !important;
  }
}

@media (max-width: 480px) {
  .iroha-hero-text {
    width: 78% !important;
    max-width: 78% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    white-space: normal !important;
    font-size: clamp(11px, 3.5vw, 18px) !important;
  }
}

/* ============================================
   HERO TEXT v22 — X位置を写真中心(50%)に修正
   ============================================ */

.iroha-hero-text {
  left: 50% !important;
  top: 75% !important;
  width: 66% !important;
  max-width: 66% !important;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  font-size: clamp(22px, 3.0vw, 44px) !important;
}

@media (max-width: 900px) {
  .iroha-hero-text {
    width: 72% !important;
    max-width: 72% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    font-size: clamp(14px, 3vw, 22px) !important;
  }
}

/* ============================================
   LOGO v23 — 左上にロゴ+ブロブ背景、クリックでホームへ
   ============================================ */

.iroha-logo-link {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 20;
  display: inline-block;
  width: clamp(140px, 15vw, 220px);
  aspect-ratio: 1 / 1;
  text-decoration: none !important;
  transition: transform 0.3s ease;
}

.iroha-logo-link:hover {
  transform: scale(1.04) rotate(-1deg);
  opacity: 1 !important;
}

.iroha-logo-bg {
  position: absolute;
  inset: 0;
  background: url('/wp-content/uploads/iroha-logo-bg.png?v=1') no-repeat center/contain;
  z-index: 1;
  transform: scale(1.15);
}

.iroha-logo-img {
  position: relative;
  display: block;
  width: 88%;
  height: 88%;
  margin: 6% auto 0;
  object-fit: contain;
  z-index: 2;
  filter: drop-shadow(0 6px 14px rgba(217, 75, 106, 0.25));
}

@media (max-width: 768px) {
  .iroha-logo-link {
    top: 14px;
    left: 14px;
    width: clamp(100px, 22vw, 150px);
  }
}

/* ============================================
   LOGO v24 — 左上ロゴ非表示
   ============================================ */

.iroha-logo-link {
  display: none !important;
}

/* ============================================
   BACKGROUND v25 — はっきり和紙風パステル背景
   ============================================ */

body.home .iroha-fullview {
  background:
    /* 4隅のカラーブロブ(はっきり) */
    radial-gradient(ellipse 540px 400px at 14% 18%, #ffe274 0%, #fff6b8 35%, transparent 65%),
    radial-gradient(ellipse 600px 420px at 86% 20%, #ffa3bc 0%, #ffd0dc 35%, transparent 65%),
    radial-gradient(ellipse 560px 400px at 10% 82%, #b2e08e 0%, #d8f0c0 35%, transparent 65%),
    radial-gradient(ellipse 640px 460px at 90% 86%, #ffa878 0%, #ffd4b8 35%, transparent 65%),
    radial-gradient(ellipse 480px 340px at 50% 50%, #ffffff 0%, transparent 65%),
    /* ベースはピンクパステル */
    linear-gradient(160deg, #fff1d8 0%, #ffe0e8 50%, #fff0d8 100%) !important;
  position: relative;
  isolation: isolate;
}

/* 和紙風ノイズテクスチャ(はっきり) */
body.home .iroha-fullview::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='3' seed='11'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.22 0'/></filter><rect width='260' height='260' filter='url(%23n)'/></svg>") !important;
  opacity: 0.55 !important;
  mix-blend-mode: overlay !important;
  pointer-events: none !important;
  z-index: 0 !important;
  animation: none !important;
}

/* 浮遊ブロブを強めに */
body.home .iroha-fullview::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 180px at 22% 32%, rgba(255,205,90,0.55) 0%, transparent 70%),
    radial-gradient(circle 160px at 72% 28%, rgba(255,140,170,0.50) 0%, transparent 70%),
    radial-gradient(circle 200px at 38% 72%, rgba(130,195,230,0.45) 0%, transparent 70%),
    radial-gradient(circle 170px at 82% 68%, rgba(150,210,110,0.50) 0%, transparent 70%),
    radial-gradient(circle 140px at 58% 52%, rgba(255,255,255,0.55) 0%, transparent 68%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  animation: none !important;
  transform: none !important;
}

/* ============================================
   HERO TEXT v26 — 文字色を参考画像に合わせる
   文字塗り: 淡いブルーホワイト #fafafa / #d2e6f0
   縁取り: くすんだブルー #466e8c
   ============================================ */

.iroha-hero-line-1,
.iroha-hero-line-2 {
  color: #fafafa !important;
  text-shadow:
    3px 3px 0 #466e8c,
    -3px -3px 0 #466e8c,
    -3px 3px 0 #466e8c,
    3px -3px 0 #466e8c,
    0 0 14px rgba(70, 110, 140, 0.55),
    5px 6px 0 rgba(70, 110, 140, 0.35) !important;
}

/* 「いろは」の強調色も同じトーンに合わせる */
.iroha-hero-brand {
  color: #fff6b0 !important;
  text-shadow:
    3px 3px 0 #466e8c,
    -3px -3px 0 #466e8c,
    -3px 3px 0 #466e8c,
    3px -3px 0 #466e8c,
    0 0 16px rgba(255, 220, 100, 0.8),
    6px 7px 0 rgba(70, 110, 140, 0.4) !important;
}

.iroha-hero-brand::before {
  background: rgba(255, 220, 100, 0.5) !important;
}

/* ============================================
   HERO TEXT v27 — 文字色を元に戻す
   白 + 濃ピンク縁取り / いろは=黄色
   ============================================ */

.iroha-hero-line-1,
.iroha-hero-line-2 {
  color: #ffffff !important;
  text-shadow:
    3px 3px 0 #d94b6a,
    -3px -3px 0 #d94b6a,
    -3px 3px 0 #d94b6a,
    3px -3px 0 #d94b6a,
    0 0 12px rgba(217, 75, 106, 0.6),
    5px 6px 0 rgba(217, 75, 106, 0.32) !important;
}

.iroha-hero-brand {
  color: #ffd96b !important;
  text-shadow:
    3px 3px 0 #d94b6a,
    -3px -3px 0 #d94b6a,
    -3px 3px 0 #d94b6a,
    3px -3px 0 #d94b6a,
    0 0 16px rgba(255, 217, 107, 0.75),
    6px 7px 0 rgba(217, 75, 106, 0.4) !important;
}

.iroha-hero-brand::before {
  background: rgba(255, 217, 107, 0.55) !important;
}

/* ============================================
   LOGO v28 — 新ロゴを左上に配置
   ============================================ */

.iroha-logo-link {
  display: inline-block !important;
  position: absolute !important;
  top: 24px !important;
  left: 24px !important;
  z-index: 20 !important;
  width: clamp(150px, 16vw, 240px) !important;
  height: auto !important;
  text-decoration: none !important;
  transition: transform 0.3s ease !important;
  aspect-ratio: auto !important;
}

.iroha-logo-link:hover {
  transform: scale(1.05) rotate(-1deg) !important;
  opacity: 1 !important;
}

.iroha-logo-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  filter: drop-shadow(0 8px 18px rgba(217, 75, 106, 0.28));
}

/* 前回の背景ブロブは非表示 */
.iroha-logo-bg {
  display: none !important;
}

@media (max-width: 768px) {
  .iroha-logo-link {
    top: 14px !important;
    left: 14px !important;
    width: clamp(110px, 24vw, 160px) !important;
  }
}

/* ============================================
   SECTIONS v29 — ファーストビュー下のセクション
   ============================================ */

/* ロゴ非表示 */
.iroha-logo-link {
  display: none !important;
}

/* セクション共通 */
.ir-sec {
  position: relative;
  padding: 120px 24px 110px;
  font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;
  color: #3f2a31;
}

.ir-sec-inner {
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* 波型区切り(上辺) */
.ir-sec-wave-top {
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 80px;
  pointer-events: none;
  z-index: 1;
}

/* セクション見出し */
.ir-sec-head {
  text-align: center;
  margin-bottom: 56px;
}

.ir-sec-en {
  display: block;
  font-family: "Pacifico", "Zen Maru Gothic", cursive;
  font-size: clamp(28px, 3vw, 42px);
  color: #f57998;
  line-height: 1;
  margin-bottom: 12px;
  font-weight: 400;
}

.ir-sec-ja {
  display: inline-block;
  font-size: clamp(22px, 2.6vw, 34px);
  color: #c8375d;
  font-weight: 700;
  padding-bottom: 20px;
  position: relative;
  margin: 0;
}

.ir-sec-ja::after {
  content: "";
  display: block;
  width: 80px;
  height: 5px;
  border-radius: 5px;
  background: #ffa3bc;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.ir-sec-head-light .ir-sec-en { color: #ffd1dc; }
.ir-sec-head-light .ir-sec-ja { color: #ffffff; }
.ir-sec-head-light .ir-sec-ja::after { background: #ffffff; }

/* ---------- ABOUT ---------- */
.ir-sec-about {
  background: #fffaf0;
}
.ir-sec-about .ir-sec-wave-top {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,40 C200,0 400,70 600,40 C800,10 1000,60 1200,30 L1200,0 L0,0 Z' fill='%23fffaf0'/></svg>") no-repeat center/100% 100%;
}
.ir-sec-about-body {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}
.ir-sec-about-body p {
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 2.2;
  margin: 0 0 20px;
}
.ir-about-quote {
  display: inline-block;
  margin-top: 24px;
  padding: 14px 32px;
  background: #ffe4ec;
  color: #c8375d;
  font-weight: 700;
  font-size: clamp(16px, 1.8vw, 20px);
  border-radius: 999px;
  box-shadow: 0 6px 0 #ffa3bc;
}

/* ---------- FEATURES ---------- */
.ir-sec-features {
  background: linear-gradient(180deg, #fffaf0 0%, #fff5f8 100%);
}
.ir-sec-features .ir-sec-wave-top {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,30 C200,60 400,0 600,30 C800,60 1000,10 1200,40 L1200,0 L0,0 Z' fill='%23fffaf0'/></svg>") no-repeat center/100% 100%;
}
.ir-feature-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  list-style: none;
  padding: 20px 0 0;
  margin: 0;
}
.ir-feature-card {
  background: #ffffff;
  border-radius: 36px;
  padding: 60px 28px 38px;
  text-align: center;
  position: relative;
  border: 4px solid #ffe4ec;
  box-shadow: 0 14px 34px rgba(232, 83, 123, 0.15);
  transition: transform .35s ease, box-shadow .35s ease;
  list-style: none;
}
.ir-feature-card:nth-child(2) { border-color: #fff1b8; }
.ir-feature-card:nth-child(3) { border-color: #d8f0c0; }
.ir-feature-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 52px rgba(232, 83, 123, 0.22);
}
.ir-feature-num {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: #e8537b;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Pacifico", cursive;
  font-size: 22px;
  box-shadow: 0 6px 0 #c8375d;
}
.ir-feature-card:nth-child(2) .ir-feature-num { background: #ffd96b; color: #c8375d; box-shadow: 0 6px 0 #d9b348; }
.ir-feature-card:nth-child(3) .ir-feature-num { background: #b9d99b; color: #ffffff; box-shadow: 0 6px 0 #7fa862; }
.ir-feature-icon {
  font-size: 64px;
  line-height: 1;
  margin: 16px 0 18px;
}
.ir-feature-card h3 {
  font-size: clamp(18px, 1.8vw, 22px);
  color: #c8375d;
  font-weight: 700;
  margin: 0 0 14px;
}
.ir-feature-card p {
  font-size: 14px;
  line-height: 1.95;
  color: #3f2a31;
  margin: 0;
}

/* ---------- SERVICES ---------- */
.ir-sec-services {
  background: #fff5f8;
}
.ir-sec-services .ir-sec-wave-top {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,50 C200,10 400,60 600,30 C800,0 1000,50 1200,20 L1200,0 L0,0 Z' fill='%23fff5f8'/></svg>") no-repeat center/100% 100%;
}
.ir-service-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  max-width: 1080px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.ir-service-card {
  background: #ffffff;
  border-radius: 48px;
  padding: 56px 40px 44px;
  text-align: center;
  position: relative;
  border: 5px solid #ffc9d8;
  box-shadow: 0 14px 34px rgba(232, 83, 123, 0.15);
  transition: transform .35s ease;
  list-style: none;
}
.ir-service-houkago { border-color: #fff1b8; }
.ir-service-card:hover { transform: translateY(-6px); }
.ir-service-age {
  display: inline-block;
  padding: 7px 24px;
  border-radius: 999px;
  background: #e8537b;
  color: #ffffff;
  font-size: 13px;
  letter-spacing: .1em;
  font-weight: 700;
  margin-bottom: 18px;
}
.ir-service-houkago .ir-service-age {
  background: #ffd96b;
  color: #c8375d;
}
.ir-service-icon {
  font-size: 72px;
  line-height: 1;
  margin-bottom: 16px;
}
.ir-service-card h3 {
  font-size: clamp(20px, 2.2vw, 28px);
  color: #c8375d;
  font-weight: 700;
  margin: 0 0 16px;
}
.ir-service-card p {
  font-size: 15px;
  line-height: 2;
  color: #3f2a31;
  margin: 0 0 26px;
}

/* ---------- NEWS ---------- */
.ir-sec-news {
  background: #fffaf0;
}
.ir-sec-news .ir-sec-wave-top {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,30 C200,60 400,0 600,30 C800,60 1000,10 1200,40 L1200,0 L0,0 Z' fill='%23fffaf0'/></svg>") no-repeat center/100% 100%;
}
.ir-sec-news .ir-news-list {
  max-width: 860px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.ir-sec-news .ir-news-item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 28px;
  margin-bottom: 16px;
  background: #ffffff;
  border-radius: 22px;
  border-left: 6px solid #f57998;
  box-shadow: 0 6px 18px rgba(232, 83, 123, 0.12);
  transition: transform .2s;
  list-style: none;
}
.ir-sec-news .ir-news-item:hover { transform: translateX(6px); }
.ir-news-date {
  color: #c8375d;
  font-weight: 700;
  font-size: 13px;
  min-width: 100px;
}
.ir-news-cat {
  background: #ffe4ec;
  color: #c8375d;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 999px;
  white-space: nowrap;
}
.ir-news-cat-blog {
  background: #fff1b8;
  color: #9a6c00;
}
.ir-sec-news .ir-news-title {
  flex: 1;
  color: #3f2a31;
  font-weight: 500;
  font-size: 15px;
}
.ir-news-more {
  text-align: center;
  margin-top: 40px;
}

/* ---------- CONTACT ---------- */
.ir-sec-contact {
  background: linear-gradient(135deg, #e8537b 0%, #c8375d 100%);
  color: #ffffff;
  padding: 120px 24px 130px;
}
.ir-sec-contact .ir-sec-wave-top {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,40 C200,0 400,70 600,40 C800,10 1000,60 1200,30 L1200,0 L0,0 Z' fill='%23e8537b'/></svg>") no-repeat center/100% 100%;
}
.ir-contact-lead {
  text-align: center;
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 2;
  margin: 0 0 50px;
  color: rgba(255, 255, 255, 0.94);
}
.ir-contact-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.ir-contact-card {
  background: #ffffff;
  color: #3f2a31;
  border-radius: 28px;
  padding: 40px 24px;
  text-align: center;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
  transition: transform .3s;
  list-style: none;
}
.ir-contact-card:hover { transform: translateY(-6px); }
.ir-contact-icon {
  font-size: 52px;
  line-height: 1;
  margin-bottom: 14px;
}
.ir-contact-label {
  color: #f57998;
  font-size: 13px;
  letter-spacing: .1em;
  font-weight: 700;
  margin: 0 0 6px;
}
.ir-contact-value {
  color: #c8375d;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 10px;
}
.ir-contact-sub {
  color: #7a5a62;
  font-size: 12px;
  line-height: 1.8;
  margin: 0;
}

/* ---------- BUTTONS ---------- */
.ir-btn {
  display: inline-block;
  padding: 13px 34px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none !important;
  font-size: 15px;
  transition: transform .2s, background .25s, color .25s, box-shadow .25s;
  letter-spacing: .04em;
  line-height: 1.4;
}
.ir-btn-pink {
  background: #e8537b !important;
  color: #ffffff !important;
  box-shadow: 0 5px 0 #c8375d;
}
.ir-btn-pink:hover {
  background: #c8375d !important;
  color: #ffffff !important;
  transform: translateY(2px);
  box-shadow: 0 3px 0 #c8375d;
  opacity: 1 !important;
}
.ir-btn-yellow {
  background: #ffd96b !important;
  color: #c8375d !important;
  box-shadow: 0 5px 0 #d9b348;
}
.ir-btn-yellow:hover {
  background: #ffcc3e !important;
  color: #c8375d !important;
  transform: translateY(2px);
  box-shadow: 0 3px 0 #d9b348;
  opacity: 1 !important;
}
.ir-btn-outline {
  background: #ffffff !important;
  color: #c8375d !important;
  border: 3px solid #e8537b;
  padding: 10px 31px;
}
.ir-btn-outline:hover {
  background: #e8537b !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .ir-sec { padding: 90px 20px 80px; }
  .ir-feature-list { grid-template-columns: 1fr; gap: 52px; }
  .ir-service-list { grid-template-columns: 1fr; }
  .ir-contact-list { grid-template-columns: 1fr; }
  .ir-news-item { flex-wrap: wrap; }
}

/* ============================================
   HOME BACKGROUND v30 — ピンク和紙テクスチャ画像
   ============================================ */

body.home .iroha-fullview {
  background:
    url('/wp-content/uploads/iroha-bg.png?v=1') repeat center/auto !important;
  position: relative;
  isolation: isolate;
}

/* ノイズとブロブレイヤーは非表示に */
body.home .iroha-fullview::before {
  display: none !important;
}

body.home .iroha-fullview::after {
  display: none !important;
}

/* ============================================
   HERO TEXT v31 — 新画像(楕円マスク)に合わせる
   写真中心 X=49.5%, Y=53.4%
   ============================================ */

.iroha-hero-text {
  left: 50% !important;
  top: 72% !important;
  width: 52% !important;
  max-width: 52% !important;
}

.iroha-hero-line-1,
.iroha-hero-line-2 {
  font-size: clamp(22px, 3.0vw, 44px) !important;
}

@media (max-width: 900px) {
  .iroha-hero-text {
    width: 62% !important;
    max-width: 62% !important;
  }
  .iroha-hero-line-1,
  .iroha-hero-line-2 {
    font-size: clamp(14px, 3vw, 22px) !important;
  }
}

/* ============================================
   v32 — 背景戻し・ヘッダーナビ追加・画像下移動
   ============================================ */

/* 背景を前の4隅グラデ+ブロブに戻す */
body.home .iroha-fullview {
  background:
    radial-gradient(ellipse 540px 400px at 14% 18%, #ffe274 0%, #fff6b8 35%, transparent 65%),
    radial-gradient(ellipse 600px 420px at 86% 20%, #ffa3bc 0%, #ffd0dc 35%, transparent 65%),
    radial-gradient(ellipse 560px 400px at 10% 82%, #b2e08e 0%, #d8f0c0 35%, transparent 65%),
    radial-gradient(ellipse 640px 460px at 90% 86%, #ffa878 0%, #ffd4b8 35%, transparent 65%),
    radial-gradient(ellipse 480px 340px at 50% 50%, #ffffff 0%, transparent 65%),
    linear-gradient(160deg, #fff1d8 0%, #ffe0e8 50%, #fff0d8 100%) !important;
  position: relative;
  isolation: isolate;
}

/* ノイズ復活 */
body.home .iroha-fullview::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='3' seed='11'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0 0.18 0'/></filter><rect width='260' height='260' filter='url(%23n)'/></svg>") !important;
  opacity: 0.5 !important;
  mix-blend-mode: overlay !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* 浮遊ブロブ復活 */
body.home .iroha-fullview::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle 180px at 22% 32%, rgba(255,205,90,0.45) 0%, transparent 70%),
    radial-gradient(circle 160px at 72% 28%, rgba(255,140,170,0.42) 0%, transparent 70%),
    radial-gradient(circle 200px at 38% 72%, rgba(130,195,230,0.38) 0%, transparent 70%),
    radial-gradient(circle 170px at 82% 68%, rgba(150,210,110,0.42) 0%, transparent 70%),
    radial-gradient(circle 140px at 58% 52%, rgba(255,255,255,0.50) 0%, transparent 68%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ---------- TOP NAV ---------- */
.ir-topnav {
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 30;
  width: min(92%, 860px);
}

.ir-topnav-list {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: space-around;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: saturate(180%) blur(10px);
  border-radius: 999px;
  padding: 10px 14px 10px 28px;
  list-style: none;
  margin: 0;
  box-shadow: 0 10px 28px rgba(168, 216, 234, 0.4);
  border: 2px solid rgba(168, 216, 234, 0.6);
}

.ir-topnav-list li {
  list-style: none;
  margin: 0;
}

.ir-topnav-list li a {
  display: inline-block;
  padding: 8px 14px;
  font-size: clamp(12px, 1.05vw, 15px);
  font-weight: 700;
  color: #3f2a31;
  text-decoration: none !important;
  font-family: "Zen Maru Gothic", sans-serif;
  transition: color 0.25s;
  border-radius: 999px;
  white-space: nowrap;
}

.ir-topnav-list li a:hover {
  color: #e8537b;
  opacity: 1 !important;
}

.ir-topnav-cta {
  background: #a8d8ea !important;
  color: #ffffff !important;
  padding: 10px 22px !important;
  box-shadow: 0 4px 0 #7fb8d1;
}

.ir-topnav-cta:hover {
  background: #7fb8d1 !important;
  color: #ffffff !important;
  transform: translateY(2px);
  box-shadow: 0 2px 0 #7fb8d1;
}

@media (max-width: 900px) {
  .ir-topnav {
    top: 14px;
    width: 96%;
  }
  .ir-topnav-list {
    padding: 8px 10px;
    gap: 2px;
    overflow-x: auto;
    border-radius: 20px;
    justify-content: flex-start;
  }
  .ir-topnav-list li a {
    padding: 6px 10px;
    font-size: 11px;
  }
}

/* ---------- HERO 画像位置を下げる ---------- */
body.home .iroha-fullview-inner {
  align-items: flex-end !important;
  padding-top: 120px !important;
  padding-bottom: 40px !important;
}

body.home .iroha-hero-photo {
  margin-top: auto !important;
  transform: translateY(30px) !important;
}

/* ============================================
   HERO TEXT v33 — 文字を若干右へ
   ============================================ */

.iroha-hero-text {
  left: 53% !important;
}

/* ============================================
   HERO TEXT v34 — 少し左へ戻して楕円内に収める
   ============================================ */

.iroha-hero-text {
  left: 51% !important;
}

/* ============================================
   HEADER LAYOUT v35 — ロゴ左・ナビ右
   ============================================ */

/* ヘッダーバー: 横並び、ロゴ左 + ナビ右 */
.ir-header-bar {
  position: absolute;
  top: 24px;
  left: 0;
  right: 0;
  z-index: 30;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  pointer-events: none; /* 子要素でのみクリック */
}

.ir-header-bar > * {
  pointer-events: auto;
}

.ir-header-logo {
  display: block;
  width: clamp(150px, 14vw, 200px);
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.ir-header-logo img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 6px 14px rgba(217, 75, 106, 0.25));
}

.ir-header-logo:hover {
  transform: scale(1.05) rotate(-1deg);
  opacity: 1 !important;
}

/* ナビを右寄せに */
.ir-topnav {
  position: static !important;
  transform: none !important;
  left: auto !important;
  width: auto !important;
  flex: 0 1 auto;
}

.ir-topnav-list {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: saturate(180%) blur(10px);
  border-radius: 999px;
  padding: 10px 14px 10px 26px;
  list-style: none;
  margin: 0;
  box-shadow: 0 10px 28px rgba(168, 216, 234, 0.4);
  border: 2px solid rgba(168, 216, 234, 0.6);
}

.ir-topnav-list li {
  list-style: none;
  margin: 0;
}

.ir-topnav-list li a {
  display: inline-block;
  padding: 8px 14px;
  font-size: clamp(12px, 1.05vw, 15px);
  font-weight: 700;
  color: #3f2a31;
  text-decoration: none !important;
  font-family: "Zen Maru Gothic", sans-serif;
  transition: color 0.25s;
  border-radius: 999px;
  white-space: nowrap;
}

.ir-topnav-list li a:hover {
  color: #e8537b;
  opacity: 1 !important;
}

.ir-topnav-cta {
  background: #a8d8ea !important;
  color: #ffffff !important;
  padding: 10px 22px !important;
  box-shadow: 0 4px 0 #7fb8d1;
}

.ir-topnav-cta:hover {
  background: #7fb8d1 !important;
  color: #ffffff !important;
  transform: translateY(2px);
  box-shadow: 0 2px 0 #7fb8d1;
}

/* HERO 下の余白調整(ヘッダー分) */
body.home .iroha-fullview-inner {
  padding-top: 180px !important;
}

@media (max-width: 900px) {
  .ir-header-bar {
    top: 14px;
    padding: 0 14px;
    flex-wrap: wrap;
    gap: 12px;
  }
  .ir-header-logo {
    width: clamp(110px, 22vw, 150px);
  }
  .ir-topnav {
    width: 100%;
  }
  .ir-topnav-list {
    padding: 8px 10px;
    gap: 2px;
    overflow-x: auto;
    border-radius: 18px;
    justify-content: flex-start;
  }
  .ir-topnav-list li a {
    padding: 6px 10px;
    font-size: 11px;
  }
  body.home .iroha-fullview-inner {
    padding-top: 200px !important;
  }
}

/* ============================================
   HEADER v36 — ナビを中央寄り(ロゴ右・画面中央右)
   ============================================ */

.ir-header-bar {
  padding: 0 40px !important;
  justify-content: flex-start !important;
  gap: 32px !important;
}

.ir-header-logo {
  width: clamp(140px, 13vw, 180px) !important;
  margin-right: auto !important;
}

/* ナビはロゴの右側、画面の右寄りに配置 */
.ir-topnav {
  margin-left: auto !important;
  margin-right: 20px !important;
}

.ir-topnav-list {
  gap: 4px !important;
  padding: 10px 12px 10px 22px !important;
}

.ir-topnav-list li a {
  padding: 8px 12px !important;
  font-size: clamp(11px, 1.0vw, 14px) !important;
}

.ir-topnav-cta {
  padding: 10px 20px !important;
}

/* ロゴが確実に見えるように(既存のロゴ非表示CSS対策) */
.iroha-logo-link {
  display: none !important;
}

.ir-header-logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 31 !important;
}

.ir-header-logo img {
  display: block !important;
}

/* ============================================
   WAVE DIVIDERS v37 — はっきりした波型区切り
   セクション境界に使える複数スタイルの波型
   ============================================ */

/* 共通波型の台座 */
.ir-sec-wave-top {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -1px !important;
  height: 100px !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: 100% 100% !important;
}

/* ABOUT セクション(クリーム背景)の上辺波: 二重波 */
.ir-sec-about .ir-sec-wave-top {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,50 C150,10 300,90 450,50 C600,10 750,90 900,50 C1050,10 1200,50 1200,50 L1200,0 L0,0 Z' fill='%23fffaf0'/><path d='M0,70 C150,30 300,110 450,70 C600,30 750,110 900,70 C1050,30 1200,70 1200,70 L1200,50 L0,50 Z' fill='%23fffaf0' opacity='0.55'/></svg>") !important;
}

/* FEATURES セクション(クリーム→ピンク)の上辺波: 大きめ1本 */
.ir-sec-features .ir-sec-wave-top {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,60 C200,0 400,100 600,60 C800,20 1000,80 1200,40 L1200,0 L0,0 Z' fill='%23fffaf0'/></svg>") !important;
}

/* SERVICES セクション(ピンク50)の上辺波: アクア風 */
.ir-sec-services .ir-sec-wave-top {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,40 C100,80 200,0 300,40 C400,80 500,0 600,40 C700,80 800,0 900,40 C1000,80 1100,0 1200,40 L1200,0 L0,0 Z' fill='%23fff5f8'/></svg>") !important;
}

/* NEWS セクション(クリーム)の上辺波: 柔らかい1本 */
.ir-sec-news .ir-sec-wave-top {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,50 C240,10 480,90 720,50 C960,10 1200,50 1200,50 L1200,0 L0,0 Z' fill='%23fffaf0'/></svg>") !important;
}

/* CONTACT セクション(濃ピンクグラデ)の上辺波: 大きな波 */
.ir-sec-contact .ir-sec-wave-top {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,50 C150,10 300,90 450,50 C600,10 750,90 900,50 C1050,10 1200,50 1200,50 L1200,0 L0,0 Z' fill='%23e8537b'/></svg>") !important;
}

/* ヒーロー下端に波を追加 — フルビューの最下部に白波を浮かべる */
.iroha-fullview::before {
  /* ノイズは維持する既存の定義を継承 */
}

.iroha-fullview-inner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 80px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,40 C150,10 300,60 450,30 C600,0 750,50 900,20 C1050,-5 1200,30 1200,30 L1200,80 L0,80 Z' fill='%23fffaf0'/></svg>");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 5;
}

/* ============================================
   CLOUD DIVIDER v38 — ヒーロー下辺に雲型区切り
   ============================================ */

/* ヒーロー画像コンテナを基準に下辺に雲型SVGを配置 */
body.home .iroha-hero-photo {
  position: relative !important;
  padding-bottom: 60px !important;
}

body.home .iroha-hero-photo::after {
  content: "";
  position: absolute;
  left: -2%;
  right: -2%;
  bottom: -1px;
  height: 90px;
  pointer-events: none;
  z-index: 6;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 90' preserveAspectRatio='none'><path d='M0,90 L0,50 Q60,-10 120,50 Q180,110 240,50 Q300,-10 360,50 Q420,110 480,50 Q540,-10 600,50 Q660,110 720,50 Q780,-10 840,50 Q900,110 960,50 Q1020,-10 1080,50 Q1140,110 1200,50 L1200,90 Z' fill='%23fffaf0'/></svg>");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;
  filter: drop-shadow(0 -2px 0 rgba(232, 83, 123, 0.08));
}

/* フルビュー自体の下辺にも同じ雲型を配置 */
body.home .iroha-fullview::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 100' preserveAspectRatio='none'><path d='M0,100 L0,60 Q60,-5 120,60 Q180,125 240,60 Q300,-5 360,60 Q420,125 480,60 Q540,-5 600,60 Q660,125 720,60 Q780,-5 840,60 Q900,125 960,60 Q1020,-5 1080,60 Q1140,125 1200,60 L1200,100 Z' fill='%23fffaf0'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: 100% 100% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  display: block !important;
}

/* 下のセクションの上辺の波は一旦消して、雲型と重ならないように */
.ir-sec-about .ir-sec-wave-top {
  display: none !important;
}

/* About セクションの上端を雲型に合わせる */
.ir-sec-about {
  padding-top: 60px !important;
}

/* ============================================
   v39 — 上部の波を全部消す
   ============================================ */

/* 全セクションの上辺波を非表示 */
.ir-sec-wave-top,
.ir-sec-about .ir-sec-wave-top,
.ir-sec-features .ir-sec-wave-top,
.ir-sec-services .ir-sec-wave-top,
.ir-sec-news .ir-sec-wave-top,
.ir-sec-contact .ir-sec-wave-top {
  display: none !important;
}

/* ヒーロー画像の下にある雲型もいったん消す */
body.home .iroha-hero-photo::after {
  display: none !important;
}

/* フルビュー下端の雲型だけ残す */
body.home .iroha-fullview::after {
  display: block !important;
}

/* ============================================
   v40 — 波の区切り全部消す
   ============================================ */

body.home .iroha-fullview::after {
  display: none !important;
}

body.home .iroha-hero-photo::after {
  display: none !important;
}

body.home .iroha-hero-photo {
  padding-bottom: 0 !important;
}

.ir-sec-wave-top {
  display: none !important;
}

/* ============================================
   v41 — ヒーロー下の残存雲型・波を完全削除
   ============================================ */

body.home .iroha-hero-photo::after,
body.home .iroha-hero-photo::before,
body.home .iroha-fullview::after,
body.home .iroha-fullview-inner::after,
body.home .iroha-fullview-inner::before {
  display: none !important;
  content: none !important;
  background: none !important;
  height: 0 !important;
}

body.home .iroha-hero-photo {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.home .iroha-fullview-inner {
  padding-bottom: 40px !important;
}

.ir-sec-wave-top,
.ir-sec-wave,
[class*="ir-sec-wave"] {
  display: none !important;
  height: 0 !important;
}

/* ============================================
   v42 — ヒーロー下に波画像を配置
   ============================================ */

body.home .iroha-fullview::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: clamp(30px, 4vw, 60px) !important;
  background-image: url('/wp-content/uploads/iroha-wave.png?v=1') !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: 100% 100% !important;
  pointer-events: none !important;
  z-index: 5 !important;
  display: block !important;
  background-color: transparent !important;
}

/* ============================================
   v43 — 波画像を独立したdivで配置
   ============================================ */

.iroha-wave-bottom {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  line-height: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
  display: block !important;
}

.iroha-wave-bottom img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 160px !important;
  object-fit: cover !important;
  object-position: center bottom !important;
}

/* 目次など余計なものを非表示 */
body.home .toc,
body.home #toc,
body.home .widget_tag_cloud,
body.home .toc-widget {
  display: none !important;
}

/* ============================================
   v44 — 波区切りをヒーローとABOUTの間に配置
   ============================================ */

/* 前の iroha-wave-bottom (ヒーロー内) は非表示 */
.iroha-wave-bottom {
  display: none !important;
}

/* 新しい独立した区切り: ヒーロー<section>の外に配置 */
.iroha-section-divider {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
  margin: -1px 0 -1px !important;
  position: relative !important;
  z-index: 5 !important;
}

.iroha-section-divider img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  max-height: 180px !important;
}

/* ============================================
   v45 — 雲型SVG波・文字太く・黄色枠削除
   ============================================ */

/* ==========================================
   1. 雲型SVG波をヒーローとABOUTの間に配置
   ========================================== */
.iroha-section-divider {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 5 !important;
  background: #fffaf0 !important;
  height: auto !important;
}

.iroha-section-divider img {
  display: none !important;
}

.iroha-section-divider::before {
  content: "";
  display: block;
  width: 100%;
  height: 90px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 90' preserveAspectRatio='none'><path d='M0,90 L0,55 Q45,-5 90,55 Q135,115 180,55 Q225,-5 270,55 Q315,115 360,55 Q405,-5 450,55 Q495,115 540,55 Q585,-5 630,55 Q675,115 720,55 Q765,-5 810,55 Q855,115 900,55 Q945,-5 990,55 Q1035,115 1080,55 Q1125,-5 1170,55 Q1185,75 1200,55 L1200,90 Z' fill='%23ffffff'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center top;
}

/* ==========================================
   2. ヒーロー文字をもっと太く見やすく
   ========================================== */
body.home .iroha-hero-line-1,
body.home .iroha-hero-line-2 {
  font-weight: 900 !important;
  color: #ffffff !important;
  -webkit-text-stroke: 1px #d94b6a;
  text-shadow:
    4px 4px 0 #d94b6a,
    -4px -4px 0 #d94b6a,
    -4px 4px 0 #d94b6a,
    4px -4px 0 #d94b6a,
    4px 0 0 #d94b6a,
    -4px 0 0 #d94b6a,
    0 4px 0 #d94b6a,
    0 -4px 0 #d94b6a,
    0 0 18px rgba(217, 75, 106, 0.75),
    6px 8px 0 rgba(217, 75, 106, 0.45) !important;
  letter-spacing: 0.04em !important;
}

body.home .iroha-hero-brand {
  font-weight: 900 !important;
  -webkit-text-stroke: 1.2px #d94b6a;
  text-shadow:
    4px 4px 0 #d94b6a,
    -4px -4px 0 #d94b6a,
    -4px 4px 0 #d94b6a,
    4px -4px 0 #d94b6a,
    4px 0 0 #d94b6a,
    -4px 0 0 #d94b6a,
    0 4px 0 #d94b6a,
    0 -4px 0 #d94b6a,
    0 0 22px rgba(255, 217, 107, 0.9),
    7px 9px 0 rgba(217, 75, 106, 0.5) !important;
}

/* ==========================================
   3. 「いろはについて」の黄色い枠削除
   ========================================== */
.ir-sec-head,
.ir-sec-head-light,
body .ir-sec-head,
body.home .ir-sec-head {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.ir-sec-ja {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 0 20px 0 !important;
}

.ir-sec-en {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Cocoonの目次系も完全に非表示 */
body.home .toc,
body.home #toc,
body.home .toc-content,
body.home .toc-widget-box,
body.home .widget_tag_cloud,
body.home div[class*="toc-"],
body.home #toc_container {
  display: none !important;
}

/* ============================================
   v46 — 雲型波をヒーロー画像にかぶせる
   ============================================ */

/* 独立した divider 区切りを非表示 (ヒーロー内部に配置するため) */
.iroha-section-divider {
  display: none !important;
}

/* ヒーローセクションを position:relative に */
body.home .iroha-fullview {
  position: relative !important;
}

/* ヒーローの最下端に波をオーバーレイ */
body.home .iroha-fullview::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  width: 100% !important;
  height: 110px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 110' preserveAspectRatio='none'><path d='M0,110 L0,65 Q45,-5 90,65 Q135,135 180,65 Q225,-5 270,65 Q315,135 360,65 Q405,-5 450,65 Q495,135 540,65 Q585,-5 630,65 Q675,135 720,65 Q765,-5 810,65 Q855,135 900,65 Q945,-5 990,65 Q1035,135 1080,65 Q1125,-5 1170,65 Q1185,90 1200,65 L1200,110 Z' fill='%23fffaf0'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: center bottom !important;
  pointer-events: none !important;
  z-index: 15 !important;
  background-color: transparent !important;
}

/* ヒーロー下の余白を少し減らす */
body.home .iroha-fullview-inner {
  padding-bottom: 50px !important;
}

/* ABOUT セクションの背景を波の色(クリーム)に合わせる */
.ir-sec-about {
  background: #fffaf0 !important;
  padding-top: 20px !important;
}

/* ============================================
   v47 — 上部の装飾を全部消して、下に波のみ
   ============================================ */

/* ヒーロー上部の装飾(::before)を完全削除 */
body.home .iroha-fullview::before {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* 前のiroha-fullview-inner::afterも削除 */
body.home .iroha-fullview-inner::after,
body.home .iroha-fullview-inner::before {
  display: none !important;
  content: none !important;
}

/* 独立した section-divider は非表示 */
.iroha-section-divider {
  display: none !important;
}

/* ヒーローの最下部の::afterは保持 (波はここ) */
body.home .iroha-fullview {
  position: relative !important;
}

body.home .iroha-fullview::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  width: 100% !important;
  height: 110px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 110' preserveAspectRatio='none'><path d='M0,110 L0,65 Q45,-5 90,65 Q135,135 180,65 Q225,-5 270,65 Q315,135 360,65 Q405,-5 450,65 Q495,135 540,65 Q585,-5 630,65 Q675,135 720,65 Q765,-5 810,65 Q855,135 900,65 Q945,-5 990,65 Q1035,135 1080,65 Q1125,-5 1170,65 Q1185,90 1200,65 L1200,110 Z' fill='%23fffaf0'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: center bottom !important;
  pointer-events: none !important;
  z-index: 15 !important;
  background-color: transparent !important;
}

/* 追加: Cocoonのheader/navやその他の上部要素が何か出していないか全部非表示 */
body.home .appeal-area,
body.home .appeal,
body.home .notice-area,
body.home #header-container::before,
body.home #header-container::after {
  display: none !important;
}


/* ============================================
   v48 — メイン以外のセクション背景を白に
   ============================================ */

/* 全セクション背景を白に統一 */
.ir-sec,
.ir-sec-about,
.ir-sec-features,
.ir-sec-services,
.ir-sec-news {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* CONTACT だけはピンクグラデを残す */
.ir-sec-contact {
  background: linear-gradient(135deg, #e8537b 0%, #c8375d 100%) !important;
}

/* セクション見出しの背景透明 */
.ir-sec .ir-sec-head,
.ir-sec .ir-sec-ja,
.ir-sec .ir-sec-en {
  background: none !important;
  background-color: transparent !important;
}

/* About sectionの上辺の波と合わせる */
.ir-sec-about {
  padding-top: 40px !important;
}

/* 波の色も白に合わせる */
body.home .iroha-fullview::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 110' preserveAspectRatio='none'><path d='M0,110 L0,65 Q45,-5 90,65 Q135,135 180,65 Q225,-5 270,65 Q315,135 360,65 Q405,-5 450,65 Q495,135 540,65 Q585,-5 630,65 Q675,135 720,65 Q765,-5 810,65 Q855,135 900,65 Q945,-5 990,65 Q1035,135 1080,65 Q1125,-5 1170,65 Q1185,90 1200,65 L1200,110 Z' fill='%23ffffff'/></svg>") !important;
}

/* FeatureカードやServiceカードの背景(白のまま) */
.ir-feature-card,
.ir-service-card,
.ir-news-item {
  background: #ffffff !important;
}

/* NEWS セクションの内部リスト背景を薄いグレーに */
.ir-sec-news .ir-news-item {
  background: #fafafa !important;
}

/* Cocoon側の装飾を打ち消し */
body.home .article,
body.home .entry-content,
body.home .main,
body.home #main {
  background: #ffffff !important;
}

/* ============================================
   v49 — 上の波消す＆左右サイド白統一
   ============================================ */

/* 上の波(::before/::after)を完全削除 */
body.home .iroha-fullview::before,
body.home .iroha-fullview-inner::before,
body.home .iroha-fullview-inner::after,
body.home .iroha-hero-photo::before,
body.home .iroha-hero-photo::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
}

/* ホームページ全体の背景を白に統一 */
html body.home,
body.home,
body.home #body,
body.home #container,
body.home #content,
body.home .body,
body.home .main,
body.home #main,
body.home .wrap,
body.home .container,
body.home .container-inner,
body.home .wrap-in,
body.home .article,
body.home .entry-content,
body.home .post-content,
body.home footer.footer,
body.home .footer-in {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* 左右の余白装飾を削除 */
body.home #container::before,
body.home #container::after,
body.home #content::before,
body.home #content::after,
body.home .wrap::before,
body.home .wrap::after,
body.home .article::before,
body.home .article::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* サイドバー・ウィジェットエリアも完全非表示 */
body.home .sidebar,
body.home #sidebar,
body.home aside,
body.home .widget-area {
  display: none !important;
}

/* セクションも全幅に */
body.home .ir-sec {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* CONTACTだけピンクグラデ維持 */
body.home .ir-sec-contact {
  background: linear-gradient(135deg, #e8537b 0%, #c8375d 100%) !important;
}

/* ============================================
   v50 — 波を1つのdivに統一、擬似要素は全削除
   ============================================ */

/* 全ての擬似要素波を削除 */
body.home .iroha-fullview::before,
body.home .iroha-fullview::after,
body.home .iroha-fullview-inner::before,
body.home .iroha-fullview-inner::after,
body.home .iroha-hero-photo::before,
body.home .iroha-hero-photo::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
  height: 0 !important;
}

/* 旧 section-divider や iroha-wave-bottom を非表示 */
.iroha-section-divider,
.iroha-wave-bottom {
  display: none !important;
}

/* 新しい波要素: HTMLに直接入れた <div class="ir-hero-wave-bottom"> */
.ir-hero-wave-bottom {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  width: 100% !important;
  height: auto !important;
  line-height: 0 !important;
  pointer-events: none !important;
  z-index: 15 !important;
}

.ir-hero-wave-bottom svg {
  display: block !important;
  width: 100% !important;
  height: 110px !important;
}

body.home .iroha-fullview {
  position: relative !important;
  overflow: hidden !important;
}

/* ============================================
   v51 — 波の高さを小さく、山の数を増やす
   ============================================ */

.ir-hero-wave-bottom svg {
  height: 50px !important;
}

/* ============================================
   v52 — 雲型半円の山を4つ(大きめ)で波を再構成
   ============================================ */

.ir-hero-wave-bottom svg {
  height: 80px !important;
}

/* ============================================
   v53 — 小さな半円を多数連続 (34山・高さ40px)
   ============================================ */

.ir-hero-wave-bottom svg {
  height: 40px !important;
}

/* ============================================
   v54 — セクション境界の雲型区切り
   About と Features の境目などに使う
   ============================================ */

/* About セクションの背景を変える(柔らかいクリーム) */
.ir-sec-about {
  background: #fff8ee !important;
  position: relative !important;
}

/* About セクション下に雲型の波を配置 */
.ir-sec-about::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  width: 100%;
  height: 40px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'><path d='M0,40 L0,22 A50,16 0 0 0 100,22 A50,16 0 0 0 200,22 A50,16 0 0 0 300,22 A50,16 0 0 0 400,22 A50,16 0 0 0 500,22 A50,16 0 0 0 600,22 A50,16 0 0 0 700,22 A50,16 0 0 0 800,22 A50,16 0 0 0 900,22 A50,16 0 0 0 1000,22 A50,16 0 0 0 1100,22 A50,16 0 0 0 1200,22 L1200,40 Z' fill='%23ffffff'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 2;
  pointer-events: none;
}

/* Features セクション上辺に対応する雲型の波(上から被さる形) */
.ir-sec-features {
  background: #ffffff !important;
  position: relative !important;
}

/* 必要なら Features::before も用意 */
.ir-sec-features::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  width: 100%;
  height: 40px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'><path d='M0,0 L0,18 A50,16 0 0 1 100,18 A50,16 0 0 1 200,18 A50,16 0 0 1 300,18 A50,16 0 0 1 400,18 A50,16 0 0 1 500,18 A50,16 0 0 1 600,18 A50,16 0 0 1 700,18 A50,16 0 0 1 800,18 A50,16 0 0 1 900,18 A50,16 0 0 1 1000,18 A50,16 0 0 1 1100,18 A50,16 0 0 1 1200,18 L1200,0 Z' fill='%23fff8ee'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 2;
  pointer-events: none;
}

/* 余白調整 */
.ir-sec-about {
  padding-bottom: 120px !important;
}

.ir-sec-features {
  padding-top: 120px !important;
}

/* ============================================
   v55 — About拡張(縦書き) + Intervention新規
   ============================================ */

/* ABOUT セクション 2カラムグリッド */
.ir-sec-about-wide {
  background: #fff8ee !important;
  padding: 110px 24px 120px !important;
}

.ir-about-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 60px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

/* 縦書き大見出し */
.ir-about-vertical {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

.ir-about-catch {
  font-family: "Zen Maru Gothic", sans-serif;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 900;
  color: #c8375d;
  line-height: 2.2;
  letter-spacing: 0.15em;
  margin: 0;
  padding: 0 18px;
  min-height: 340px;
}

.ir-about-catch br {
  content: " ";
}

.ir-deco-left,
.ir-deco-left2 {
  position: absolute;
  font-size: 48px;
  opacity: 0.6;
  animation: ir-float 4s ease-in-out infinite;
}

.ir-deco-left {
  top: 0;
  left: 10%;
}

.ir-deco-left2 {
  bottom: 0;
  right: 10%;
  animation-delay: 2s;
}

@keyframes ir-float {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50%      { transform: translateY(-8px) rotate(4deg); }
}

/* About 右側説明 */
.ir-about-right {
  text-align: left;
}

.ir-about-right p {
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 2.1;
  margin-bottom: 18px;
  color: #3f2a31;
}

.ir-about-right strong {
  color: #c8375d;
  font-weight: 700;
}

/* 左揃え見出し用 */
.ir-sec-head-left {
  text-align: left !important;
  margin-bottom: 32px !important;
}

.ir-sec-head-left .ir-sec-ja {
  display: inline-block;
}

.ir-sec-head-left .ir-sec-ja::after {
  left: 0;
  transform: none;
}

/* ==========================================
   INTERVENTION セクション
   ========================================== */
.ir-sec-intervention {
  background: #fffef5 !important;
  padding: 110px 24px 130px !important;
  position: relative;
}

/* 境目の波 */
.ir-sec-about-wide::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  width: 100%;
  height: 40px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'><path d='M0,40 L0,22 A50,16 0 0 0 100,22 A50,16 0 0 0 200,22 A50,16 0 0 0 300,22 A50,16 0 0 0 400,22 A50,16 0 0 0 500,22 A50,16 0 0 0 600,22 A50,16 0 0 0 700,22 A50,16 0 0 0 800,22 A50,16 0 0 0 900,22 A50,16 0 0 0 1000,22 A50,16 0 0 0 1100,22 A50,16 0 0 0 1200,22 L1200,40 Z' fill='%23fffef5'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 2;
  pointer-events: none;
}

.ir-sec-about-wide {
  position: relative !important;
}

.ir-intervention-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 56px;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}

.ir-intervention-left p {
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 2.1;
  margin-bottom: 18px;
  color: #3f2a31;
}

.ir-intervention-left .ir-btn {
  margin-top: 14px;
}

/* 5カードグリッド */
.ir-intervention-cards {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* 3番目のカードを2列目の真ん中(位置3/3)→ 3番だけ右端へ */
.ir-intervention-cards li:nth-child(4) {
  grid-column: 1;
}

.ir-intervention-cards li:nth-child(5) {
  grid-column: 2;
}

.ir-iv-card {
  background: #ffffff;
  border: 3px solid #ffc9d8;
  border-radius: 28px;
  padding: 24px 14px;
  text-align: center;
  position: relative;
  box-shadow: 0 8px 20px rgba(232, 83, 123, 0.12);
  transition: transform 0.3s;
  list-style: none;
}

.ir-iv-card::marker { content: none; }

.ir-iv-card:nth-child(2) { border-color: #fff1b8; }
.ir-iv-card:nth-child(3) { border-color: #d8f0c0; }
.ir-iv-card:nth-child(4) { border-color: #a8d8ea; }
.ir-iv-card:nth-child(5) { border-color: #e5d0ff; }

.ir-iv-card:hover {
  transform: translateY(-5px);
}

.ir-iv-num {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e8537b;
  color: #ffffff;
  font-family: "Pacifico", cursive;
  font-size: 16px;
  line-height: 40px;
  text-align: center;
  margin-bottom: 10px;
  box-shadow: 0 3px 0 #c8375d;
}

.ir-iv-card:nth-child(2) .ir-iv-num { background: #ffd96b; color: #c8375d; box-shadow: 0 3px 0 #d9b348; }
.ir-iv-card:nth-child(3) .ir-iv-num { background: #b9d99b; box-shadow: 0 3px 0 #7fa862; }
.ir-iv-card:nth-child(4) .ir-iv-num { background: #a8d8ea; box-shadow: 0 3px 0 #6ba8c2; }
.ir-iv-card:nth-child(5) .ir-iv-num { background: #c8a8e8; box-shadow: 0 3px 0 #9474b8; }

.ir-iv-card p {
  font-size: 13px;
  font-weight: 700;
  color: #c8375d;
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .ir-about-grid,
  .ir-intervention-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ir-about-catch {
    min-height: auto;
    writing-mode: horizontal-tb;
    text-align: center;
    padding: 0;
  }
  .ir-about-vertical {
    padding: 20px 0;
  }
  .ir-intervention-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .ir-intervention-cards li:nth-child(4),
  .ir-intervention-cards li:nth-child(5) {
    grid-column: auto;
  }
}
