@charset "UTF-8";


:root {
  --bg:     #e3d1c7;
  --bg2:    #f0e1da;
  --red:    #7b1c24;
  --brown:  #502d0f;
  --r-brown:  #625141;
  --rr-brown: #c2bab6;
  --gray:        #6d6d6d;
}


header {
  width: 100%;
  z-index: 10;
}

header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility {
  display: none;
  position: absolute;
  top: 120%;
  left: 0;
  background: #fff;
  border: 1px solid #ccc;
  z-index: 2000;
  padding: 1em;
  gap: 2em;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}


/* 各アイテム内 */
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility li a {
  display: block;
  text-align: center;
  color: var(--brown);
  font-size: var(--fs-9);
  text-decoration: none;
}
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility li a img {

}


/* hover時表示 */
header nav.menu.pc ul.kosugi li.has-submenu:hover > ul.submenu-facility {
  display: flex;
}
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility {
  display: none;
  position: absolute;
  top: 120%;
  left: 0;
  background: #fff;
  border: 1px solid #ccc;
  z-index: 2000;
  padding: 1em;
  gap: 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  flex-direction: row;
}
header nav.menu.pc ul.kosugi li.has-submenu:hover > ul.submenu-facility {
  display: flex !important;
}


/* 【追記】header nav.menu.pc ul.kosugi li.has-submenu に relative を指定 */
header nav.menu.pc ul.kosugi li.has-submenu {
  position: relative;
}

header nav.menu.pc ul.kosugi li.has-submenu ul.submenu {
  display: none;
  position: absolute;
  top: 120%;
  left: 0;
  border: 1px solid #ccc;
  z-index: 2000;
  min-width: 200px;
  padding: 1em;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 15px;
  background: #f5efec;
}
header nav.menu.pc ul.kosugi li.has-submenu {
  position: relative;
}
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility img.logo {
  width: 90%;
  height: auto;
  display: block;
  margin: 0 auto;
}
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility img.gaikan {
    width: 100%;
    height: 7em;
    border-radius: 10px;
    margin-bottom: 0.5em;
    display: block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    object-fit: cover;
}


header nav.menu.pc ul.kosugi li.has-submenu .hover-bridge {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 40px; /* サブメニューまでのすき間ぶん */
  z-index: 10;
}

/* hover時表示 */
header nav.menu.pc ul.kosugi li.has-submenu:hover > ul.submenu {
  display: block;
}

/* 【追記】header nav.menu.pc ul.kosugi li.has-submenu:hover ul.submenu を表示 */
header nav.menu.pc ul.kosugi li.has-submenu:hover ul.submenu {
  display: block;
}

/* 【追記】header nav.menu.pc ul.kosugi li.has-submenu ul.submenu li のスタイル */
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu li {
  margin: 0.5em 0;
  width: 250px;
}

/* 【追記】リンクスタイル */
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu li a {
  color: var(--red);
  font-size: var(--fs-10);
  padding: 0.5em 1em;
  display: block;
  text-align: left;
  white-space: nowrap;
}
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu li a::after{
  content:none;
}

/* 【追記】header内レイアウト */
header .header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1.5rem 2rem;
}

/* 【追記】ロゴ */
header .logo a {
  font-weight: bold;
  color: #000;
  display: block;
}

/* 【追記】PCナビゲーション */
header nav.menu {
  display: block;
}
header nav.menu ul {
  display: flex;
  gap: 3rem;
  align-items: center;
  margin: 0 8rem 0 0;
}
header nav.menu li a {
  position: relative;
  text-align: center;
  display: inline-block; /* blockではなくinline-blockに */
  font-size: var(--fs-10);
  color: var(--red);
  font-weight: 600;
  transition: color 0.3s ease;
  /* padding: 0.5em 1em; */ /* hover感の余白調整 */
  white-space: nowrap;
}

header nav.menu li a::after {
  content: "";
  position: absolute;
  bottom: 0; /* 線の位置を見やすく */
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--r-brown);
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

header nav.menu li a:hover {
  color: var(--r-brown); /* 色変更 */
}

header nav.menu li a:hover::after {
  width: 100%; /* 中央から横へ広がる */
}



/* 【追記】header .hamburger の position を fixed に */
header .hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  background: var(--red);
  border-radius: 50%;
  gap: 6px;
  cursor: pointer;
  border: 2px solid #fff;
}
header .hamburger span {
  display: block;
  width: 60%;
  height: 2px;
  background: #fff; 
  border-radius: 1px;
}




/* 【追記】drawerメニュー（PC：右1/3にスライド） */
header .drawer-menu {
  position: fixed;
  top: 0;
  right: -33.3333%;
  width: 33.3333%;
  height: 100vh;
  background: #fff;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
  transition: right 0.3s ease;
  z-index: 999;
  padding: 4rem 6rem;
  background: #7b1c24;
}
header .drawer-menu.open {
  right: 0;
}
header .drawer-menu ul {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
header .drawer-menu li a {
  font-size: 1.8rem;
  color: #ffffff;
}


.top-swiper {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.top-swiper .swiper-slide {
  position: relative;
  border-radius: 3rem 0 0 3rem; /* 角丸 */
  overflow: hidden;     /* 枠の中だけ表示 */
}

.top-swiper img {
  width: 100%;
  height: auto;
  display: block;
  transform: scale(1);
  transition: transform 10s ease;
}

.top-swiper .swiper-slide-active img {
  transform: scale(1.1); /* 枠の中でズーム */
}


.fadein {
    opacity: 0;
    transform: translateY(20px);
}

.fadein.active {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.8s ease;
}


.fadein.active.delay-time01 { transition-delay: 0.2s; }
.fadein.active.delay-time02 { transition-delay: 0.4s; }
.fadein.active.delay-time03 { transition-delay: 0.6s; }
.fadein.active.delay-time04 { transition-delay: 0.8s; }
.fadein.active.delay-time05 { transition-delay: 1.0s; }

.char-fadein span {
  display: inline-block;
  opacity: 0;
  transform: translateY(1em);
  transition: all 0.5s ease;
}

.char-fadein.active span {
  opacity: 1;
  transform: translateY(0);
}

/* 以下css */


body{
    background: var(--bg);
}
header div.header-inner nav.menu.pc ul li a.contact {
  background: var(--brown);
  border-radius: 300px;
  color: #fff;
  padding: 0.5em 2em;
  font-size: var(--fs-8);
  display: inline-block;
  border: 2px solid transparent; /* 初期状態でボーダーありにする */
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  position: relative;
  z-index: 1; /* 線アニメなどに影響されないように */
}

header div.header-inner nav.menu.pc ul li a.contact:hover {
  background-color: #fff;
  color: var(--brown);
  border-color: var(--brown);
}
header div.header-inner nav.menu.pc ul li a.contact::after {
  content: none;
}

header div.header-inner nav.menu.pc ul li a.contact i.fa-solid.fa-paper-plane {margin: 0 0.5em 0 0;}
section.top_hero dl {display: flex;justify-content: space-between;margin: 3rem 0;
}
section.top_hero dl dt {position: relative;width: 45%;background: url(../images/top_slider_bg.png) center no-repeat;background-size: 120%;padding: 10vw 0 0 7vw;background-position-x: -7vw;}
section.top_hero dl dt img.green01 {position: absolute;right: 0;top: -26px;}
section.top_hero dl dt h2 {color: var(--brown);font-size: 3vw;margin: 0 0 2rem 0;font-weight: 700;}
section.top_hero dl dt h2 span.red {color: var(--red);}
section.top_hero dl dt p {font-size: var(--fs-15);color: var(--gray);font-weight: 500;line-height: 2;}
section.top_hero dl dt img.green02 {position: absolute;bottom: -19rem;left: 0;}
section.top_hero dl dd {width: 55%;}

section.top_hero dl dt h2.serif span.char {
  display: inline-block;
  opacity: 0;
  transform: translateY(1em);
  animation: appear-up 0.6s forwards;
}

@keyframes appear-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



section.top_philosophy {width: 80%;max-width: 1200px;margin: 5em auto 0 auto;}
section.top_philosophy span.montserrat {text-align: center;font-size: var(--fs-20);color: var(--rr-brown);display: block;}
section.top_philosophy h2.serif {font-size: var(--fs-20);color: var(--r-brown);text-align: center;margin: 0.5em 0 2em 0;}
section.top_philosophy dl {display: flex;}
section.top_philosophy dl dt {width: 55%;}
section.top_philosophy dl dt p {color: #272727;font-size: var(--fs-12);line-height: 2;}
section.top_philosophy dl dd {width: 45%;}

section.icon {position: relative;}
section.icon img.green03 {position: absolute;right: 0;top: -13em;}
section.icon img.bg01,section.icon img.bg02{
    width: 100%;
}
section.icon div.wrapper {background: var(--bg2);padding: 0 10%;}
section.icon div.wrapper ul {display: flex;}
section.icon div.wrapper ul li span.montserrat {text-align: center;display: block;color: var(--rr-brown);}
section.icon div.wrapper ul li h3.serif {text-align: center;font-size: var(--fs-17);margin: 0.2em 0 1em 0;color: var(--brown);}
section.icon div.wrapper ul li ul.icons {display: flex;flex-wrap: wrap;justify-content: center;}
section.icon div.wrapper ul li ul.icons li{
    width: 23%;
    margin: 1%;
}
section.icon div.wrapper ul li ul.icons li img {width: 100%;}
section.icon div.wrapper ul li.iryou h3.serif {color: var(--red);}
section.icon div.wrapper p {margin: 1em 1em 0 1em;color: #272727;}


section.commitments span.montserrat {text-align: center;font-size: var(--fs-20);color: var(--rr-brown);display: block;}
section.commitments h3 {text-align: center;font-size: var(--fs-18);color: var(--brown);}
section.commitments h3 span.serif {font-size: var(--fs-28);margin: 0 0.2em;}
section.commitments ul {display: flex;width: 80%;margin: 3em auto 0 auto;justify-content: space-between;align-items: stretch;min-width: 1500px;}
section.commitments ul li {background: #fff;border-radius: 20px;box-shadow: 1px 1px 6px 0px #494949a8;padding: 2em;margin: 0 0.5em;width: 30%;}
section.commitments ul li div.images {
    position: relative;
}
section.commitments ul li div.images img.image {width: 100%;height: 11vw;object-fit: cover;}
section.commitments ul li div.images img.text {position: absolute;bottom: -2em;right: -1em;}
section.commitments ul li h4 {display: flex;align-items: center;margin: 1em 0 0.5em 0;}
section.commitments ul li h4 span {border-bottom: 2px solid;color: var(--r-brown);font-size: var(--fs-10);margin: 0 0.5em 0 0;}
section.commitments ul li h4 p {
  color: var(--red);
  font-size: var(--fs-12);
  background: linear-gradient(to top, #fff176 40%, transparent 40%);
  white-space: nowrap;
}
section.commitments ul li p {
    color: var(--brown);
    line-height: 2;
    font-size: var(--fs-9);
}

section.top_blog{ position: relative;
}
section.top_blog .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to bottom, var(--bg2), var(--bg));
  padding: 0 10%;
}
section.top_blog img.green04{position: absolute;}
section.top_blog img.bg01{
    width: 100%;
}
section.top_blog div.title {width: 25%;}
section.top_blog div.title p.montserrat {font-size: var(--fs-20);color: var(--rr-brown);display: block;}
section.top_blog div.title h3 {font-size: var(--fs-18);color: var(--brown);}
section.top_blog div.title a {background: var(--red);border-radius: 300px;color: #fff;padding: 0.5em 2em;display: inline-block;margin: 3em 0 0 0;}
section.top_blog div.title a:hover {
  background: var(--r-brown);
  transform: translateY(-3px);
  transition: all 0.3s ease;
}

section.top_blog div.blog_wrap {width: 75%;}
section.top_blog div.blog_wrap ul {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-start;}
section.top_blog div.blog_wrap ul li {width: 32%;position: relative;margin: 0 0 2em 0;}
section.top_blog ul li span.tag {
  padding: 0.2em 0.5em;
  position: absolute;
  top: 1em;
  left: 0;
  font-size: var(--fs-6);
  z-index: 2; /* img より前に出す */
}
section.top_blog div.blog_wrap ul li img {border-radius: 1.5rem;}
section.top_blog div.blog_wrap ul li p.date {font-weight: 500;color: var(--gray);margin: 0.5em 0 0.2em 0;}
section.top_blog div.blog_wrap ul li h4 {color: var(--brown);font-size: var(--fs-9);}
section.top_blog div.blog_wrap ul li span.tag.blog02 {background: #3a532a;}
section.top_blog div.blog_wrap ul li span.tag.blog03 {background: #292e5b;}

section.top_blog ul li a img {
  display: block;
  width: 100%;
  height: 12vw;
  transform: scale(1); /* 初期値 */
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); /* 緩やかに */
  will-change: transform; /* パフォーマンス改善 */
  backface-visibility: hidden; /* チラつき防止 */
  object-fit: cover;
}

section.top_blog ul li a:hover img {
  transform: scale(1.05);
}


section.top_blog ul li a:hover img {
  transform: scale(1.05);
}

section.top_blog ul li a:hover h4 {
  color: var(--red);
  transition: color 0.3s ease;
}


section.top_welcome {position: relative;}
section.top_welcome img.green03 {position: absolute;top: 0;right: 0;}
section.top_welcome img.bg01{
    width: 100%;
}
section.top_welcome div.wrap {background: url(../images/top05_bg.png) no-repeat var(--bg2);padding: 0 0 0 0;background-size: 100%;}
section.top_welcome div.wrap h3 {font-size: var(--fs-18);color: var(--red);text-align: center;}
section.top_welcome div.wrap span {font-size: var(--fs-20);
    color: var(--rr-brown);
    display: block;
    text-align: center;
}
section.top_welcome div.wrap div.vihara {display: flex;width: 80%;margin: 3em auto;justify-content: space-between;text-align: center;}
section.top_welcome div.wrap div.vihara a {
  display: block;
  background: #fff;
  border-radius: 1rem;
  padding: 2em;
  width: 48%;
  box-shadow: 1px 1px 6px 0px #494949a8;
  overflow: hidden;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  backface-visibility: hidden;
}
section.top_welcome div.wrap div.vihara a:hover {
  transform: scale(1.05);
}
section.top_welcome div.wrap div.vihara a img.image {
  height: 28em;
  object-fit: cover;
  width: 100%;
  display: block;
}

section.top_welcome div.wrap div.vihara a img.text {margin: 1em 0 0 0;}
section.top_welcome div.wrap img.bg02{
    width: 100%;
}



section.top_welcome div.wrap div.wrap02.top_service {background: var(--bg);}
section.top_welcome div.wrap div.wrap02.top_service ul {
    padding: 0 0 4em 0;
}
section.top_welcome div.wrap div.wrap02.top_service ul li{width: 80%;margin: 0 auto 5em;}
section.top_welcome div.wrap div.wrap02.top_service ul li dl {display: flex;justify-content: center;align-items: center;}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dt {width: 35%;}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dt span {color: var(--red);font-size: var(--fs-10);font-weight: 700;text-align: left;}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dt h3.serif {text-align: left;margin: 0.5em 0;color: var(--r-brown);}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dt p {color: #3d3d3d;line-height: 2;font-size: var(--fs-10);}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a {
  background: #fff;
  display: inline-flex;
  border-radius: 300px;
  border: 1px solid var(--brown);
  color: var(--brown);
  align-items: center;
  justify-content: space-around;
  width: 50%;
  margin: 2em 0 0 0;
  padding: 0.5em 0;
  transition: all 0.3s ease;
  text-decoration: none;
}section.top_welcome div.wrap div.wrap02.top_service ul li.reverse dl{
    flex-direction: row-reverse;
    justify-content: space-around;
}
section.top_welcome div.wrap div.wrap02.top_service ul li.reverse  dl dt{
}

section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a:hover {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
  transform: translateY(-4px);
}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a p {
  font-size: var(--fs-8);
  font-weight: bold;
  color: var(--r-brown);
  transition: color 0.3s ease;
}

section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a i.fa-solid.fa-arrow-right {
  color: var(--red);
  transition: color 0.3s ease;
}

section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a:hover p {
  color: #fff;
}

section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a:hover i.fa-solid.fa-arrow-right {
  color: #fff;
}

section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a p {font-size: var(--fs-8);font-weight: bold;color: var(--r-brown);}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dt a i.fa-solid.fa-arrow-right {color: var(--red);}
section.top_welcome div.wrap div.wrap02.top_service ul li dl dd {width: 50%;}





section.top_welcome div.wrap div.wrap02.top_service ul li dl dd img {padding: 0 0 0 3em;}
section.top_welcome div.wrap div.wrap02.top_service ul li dl.reverse dt{
    order: 2;
}
section.top_welcome div.wrap div.wrap02.top_service ul li dl.reverse dd{
    order: 1;
}
section.top_welcome div.wrap div.wrap02.top_service ul li dl.reverse dd img{
  padding: 0 3em 0 0;
}
footer section.contact {
  background: url(../images/footer_bg.png) no-repeat;
  padding: 5em 0;
  background-size: 100%;
  background-size: cover;
}
footer section.contact div {width: 60%;margin: 0 auto;text-align: center;background: #fff;border-radius: 1.5rem;padding: 3em 0;}
footer section.contact div h3 {font-size: var(--fs-15);color: var(--red);}
footer section.contact div p {font-weight: 500;margin: 1em 0;color: #3b2c1f;font-size: var(--fs-10);}
footer section.contact div a {
  background: var(--red);
  border-radius: 200px;
  padding: 1em 5em;
  font-size: var(--fs-10);
  color: #fff;
  margin: 1em 0 0 0;
  display: inline-block;
  text-decoration: none;
  transition: all 0.3s ease;
}

footer section.contact div a:hover {
  background: var(--brown);
  transform: translateY(-3px);
}



footer section.footer01 {display: flex;padding: 3em 0;width: 90%;margin: 0 auto;justify-content: space-between;align-items: end;border-bottom: 1px solid gray;}
footer section.footer01 div.f01_01 ul.f_main_manu {
  color: var(--red);
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  font-size: var(--fs-10);
  margin: 2rem 0 1rem 0;
}

footer section.footer01 div.f01_01 ul.f_main_manu li {
  margin: 0 3rem 1rem 0;
}


footer section.footer01 div.f01_01 ul.f_main_manu li.break {
  width: 100%;
  height: 0;
  padding: 0;
  margin: 0;
}
/* 不要：3番目のliのwidth 100%は削除 */
footer section.footer01 div.f01_01 ul.f_main_manu li:nth-child(3) {
  width: auto;
}

/* ✅ 4番目で改行させる */
footer section.footer01 div.f01_01 ul.f_main_manu li:nth-child(4) {
  width: 100%;
}


footer section.footer01 div.f01_01 ul.f_sub_menu {display: flex;}
footer section.footer01 div.f01_01 ul.f_sub_menu li {color: #3d3d3d;margin: 0 1em 0 0;font-size: var(--fs-8);}

footer section.footer01 a.f01_02 {
  background: var(--red);
  border-radius: 500px;
  color: #fff;
  font-weight: 500;
  padding: 1em 5em;
  display: inline-block;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.3s ease;
}

footer section.footer01 a.f01_02:hover {
  background: var(--brown);
  transform: translateY(-3px);
}
header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility li a {
  display: block;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 1em;
  border-radius: 10px;
}

header nav.menu.pc ul.kosugi li.has-submenu ul.submenu-facility li a:hover {
  transform: translateY(-5px);
  /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); */
  /* background: #f9f9f9; */
}



footer section.footer02 {width: 90%;margin: 0 auto;padding: 3em 0 1rem 0;}
footer section.footer02 ul {display: flex;justify-content: space-between;align-items: flex-start;}
footer section.footer02 ul li {width: 49%;}
footer section.footer02 ul li h3 {color: #4b4b4b;font-size: var(--fs-15);}
footer section.footer02 ul li h3 span {display: block;font-size: var(--fs-10);}
footer section.footer02 ul li div.info {display: flex;align-items: center;justify-content: space-between;}
footer section.footer02 ul li div.info p.add {color: #4b4b4b;}
footer section.footer02 ul li div.info a {font-size: var(--fs-18);color: #4b4b4b;font-weight: 900;}
footer section.footer02 ul li div.info p.add a{display:none}
footer section.footer02 ul li iframe {width: 100%;}
footer small {width: 90%;display: block;margin: 0 auto 2em auto;color: gray;}
/*============================
#drawer
============================*/
nav#drawer.drawer-menu div.logo {margin: 1em 0 2em 0;}
nav#drawer.drawer-menu a {}
nav#drawer.drawer-menu a img {width: 59%;}
nav#drawer.drawer-menu ul.kosugi {}
nav#drawer.drawer-menu ul.kosugi li {
}
nav#drawer.drawer-menu ul.kosugi li a {
}
nav#drawer.drawer-menu ul.kosugi li a span {display: block;font-size: var(--fs-5);color: #ad8387;}
nav#drawer.drawer-menu ul.kosugi li div.hover-bridge {
}
nav#drawer.drawer-menu ul.kosugi li ul.submenu.submenu-facility {display: flex;flex-direction: row;margin: 1em 0 0 0;}
nav#drawer.drawer-menu ul.kosugi li ul.submenu.submenu-facility li {width: 43%;}
nav#drawer.drawer-menu ul.kosugi li ul.submenu.submenu-facility li a {width: 100%;display: block;}
nav#drawer.drawer-menu ul.kosugi li ul.submenu.submenu-facility li a img.gaikan {width: 100%;border-radius: 15px;height: 7vw;object-fit: cover;}
nav#drawer.drawer-menu ul.kosugi li ul.submenu.submenu-facility li a img.logo {width: 80%;margin: 1em auto;display: block;}
nav#drawer.drawer-menu ul.kosugi li a.contact {background: #e3d1c7;border-radius: 100em;display: inline-block;padding: 1.5em 4em;color: var(--red);font-weight: 600;transition: 0.5s;}
nav#drawer.drawer-menu ul.kosugi li a.contact i.fa-solid.fa-paper-plane {margin: 0 0.5em 0 0;}
nav#drawer.drawer-menu ul.kosugi li a.contact:hover {
   /* 白文字で見やすく */
   color: #fff;
   background: var(--brown); /* → #625141：くすみ茶色で落ち着いた印象 */
}



nav#drawer.drawer-menu ul.f_sub_menu.kosugi {display: flex;flex-direction: row;gap: 1em;margin: 2em 0 0 0;}
nav#drawer.drawer-menu ul.f_sub_menu.kosugi li {
}
nav#drawer.drawer-menu ul.f_sub_menu.kosugi li a {font-size: var(--fs-7);}
nav.drawer-menu ul.kosugi li a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  transition: color 0.3s ease;
  color: #fff;
  text-decoration: none;
}

nav.drawer-menu ul.kosugi li a:hover {
  color: #eeff00; /* ← 黄色（プロジェクト共通カラー） */
}
nav.drawer-menu ul.kosugi ul.submenu-facility li a {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

nav.drawer-menu ul.kosugi ul.submenu-facility li a:hover {
  transform: translateY(-5px);
}
nav#drawer.drawer-menu img.green01{
  position: absolute;
  right: 0;
  top: 6em;
  width: 50%;
}
body.drawer-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}
header .drawer-menu {
  overflow-y: auto;
}

/* 【追記】右下固定のページトップ */
.pagetop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 1000;
  width: 60px;
  height: 60px;
  background: var(--red);
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 2rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  opacity: 0.7;
  transition: all 0.3s ease;
}

.pagetop:hover {
  opacity: 1;
  transform: translateY(-4px);
}

/* 【追記】右下固定のページトップ */
.pagetop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 1000;
  width: 60px;
  height: 60px;
  background: var(--red);
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: 2rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  opacity: 0.7;
  transition: all 0.3s ease;
}

.pagetop:hover {
  opacity: 1;
  transform: translateY(-4px);
}


/* 【追記】タブ全体 */
.tab-wrap {
  width: 80%;
  margin: 2em auto;
  max-width: 1400px;
}

.tab-menu {
  display: flex;
  border-bottom: none; /* ← 消す */
}

.tab-menu li {
  list-style: none;
  padding: 1em 2em;
  cursor: pointer;
  font-weight: bold;
  border: 2px solid var(--red);
  border-bottom: none;
  border-radius: 1rem 1rem 0 0;
  background: var(--red);
  color: #fff;
  transition: all 0.3s ease;
  margin-right: 0.5em;
  margin-bottom: -2px; /* ← 下のボーダー分だけ浮かせて重なり防止 */
}
.tab-menu li.active {
  background: #fff;
  color: var(--red);
  border-bottom: none; /* ← 下のボーダー消す */
}

/* 【追記】タブコンテンツ */
.tab-content {
  border: 2px solid var(--red);
  border-radius: 0 0 1rem 1rem;
  padding: 2em;
  background: #fff;
  border-radius: 0 20px 20px 20px;
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.tab-menu li {
  list-style: none;
  padding: 1em 8vw;
  cursor: pointer;
  font-weight: bold;
  border: 2px solid var(--red);
  border-bottom: none;
  border-radius: 1rem 1rem 0 0;
  background: var(--red);
  color: #fff;
  transition: all 0.3s ease;
  margin-right: 0.5em;
}

/* active */
.tab-menu li.active {
  background: #fff;
  color: var(--red);
}

.tab-menu li:hover {
  background: #fff;
  color: var(--red);
}



section.h2 {position: relative;padding: 4vw 0 5vw 0;text-align: center;}
section.h2 h2.kosugi {color: var(--red);font-size: var(--fs-18);}
section.h2 span.montserrat {color: #91796a;}
section.h2 img.green01 {position: absolute;right: 0;width: 7%;top: 0;}
section.h2 img.green02 {position: absolute;left: 0;width: 7%;top: 0;}
section.price01 {
}
section.price01 div.tab-wrap {
}
section.price01 div.tab-wrap ul.tab-menu {
}
section.price01 div.tab-wrap ul.tab-menu li.active {
}
section.price01 div.tab-wrap ul.tab-menu li {font-size: var(--fs-15);}
section.price01 div.tab-wrap div.tab-content {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price02 {margin:  5em 0;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price02 h3 {text-align: center;font-size: var(--fs-20);color: var(--red);line-height: 1.8em;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price02 h3 span.heebo {font-size: 12rem;margin: 0 0.1em;font-weight: bolder;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price02 p {text-align: center;font-size: var(--fs-10);color: var(--red);font-weight: 700;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 {display: flex;align-items: stretch;justify-content: space-between;flex-wrap: wrap;width: 80%;margin: 0 auto 5em auto;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ {border: 2px solid #afafaf;padding: 3em;width: 45%;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ h4 {color: var(--red);font-size: var(--fs-15);display: flex;justify-content: space-between;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ h4 span {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl {display: flex;margin: 2em 0 1em 0;flex-wrap: wrap;font-weight: 600;color: #434343;font-size: var(--fs-12);}

section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dt,
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dd {
  padding: 0.8em 1em;
}

section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dt:nth-of-type(odd),
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dd:nth-of-type(odd) {
  background-color: #f6e7e8; /* 明るめの背景1 */
}

section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dt:nth-of-type(even),
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dd:nth-of-type(even) {
  background-color: #fff; /* 背景2（白） */
}

section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dt {width: 60%;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dt span {font-size: var(--fs-8);}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dd.heebo {width: 40%;text-align: right;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ dl dd.heebo span {font-size: var(--fs-8);}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_ p {line-height: 2;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 i.fa-solid.fa-plus {font-size: var(--fs-30);color: #c7c7c7;display: flex;align-items: center;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_.price03_02 {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_.price03_02 h3.serif {font-size: var(--fs-15);text-align: center;color: #4b4b4b;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_.price03_02 dl {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_.price03_02 dl dt {background: none;border-bottom: 1px solid #cfcfcf;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_.price03_02 dl dd.heebo {background: none;border-bottom: 1px solid #cfcfcf;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 div.price03_.price03_02 dl dd.heebo span {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price03 p.caution {width: 100%;margin: 2em 0;line-height: 1.8;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 {margin: 6em 0 0 0;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 h3.serif {color: var(--brown);text-align: center;font-size: var(--fs-16);}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl {display: flex;align-items: center;justify-content: space-between;gap: 2em;width: 80%;margin: 3em auto;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dt {width: 50%;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dt img {border-radius: 20px;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dd {width: 50%;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dd div.price.heebo {font-weight: bolder;color: var(--red);font-size: var(--fs-30);}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dd div.price.heebo span.brown {color: var(--brown);font-weight: 700;font-size: var(--fs-18);margin: 0 0.5em 0 0;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dd div.price.heebo span.yen {font-size: var(--fs-18);margin: 0 0 0 0.5em;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dd h4.serif {color: #3d3d3d;font-size: var(--fs-15);}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dd p {margin: 1em 0;font-size: var(--fs-9);line-height: 1.8;}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04 dl dd b {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 h3.serif {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dt {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dt img {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dd {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dd div.price.heebo {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dd div.price.heebo span.brown {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dd div.price.heebo span.yen {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dd h4.serif {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dd p {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel.active div.price04.price05 dl dd b {
}
section.price01 div.tab-wrap div.tab-content div.tab-panel {
}


img.care01 {
}
p.care02.serif {text-align: center;font-size: var(--fs-15);line-height: 2;color: var(--brown);font-weight: 600;}
div.care03 {background: #fff;border-radius: 20px;width: 80%;max-width: 1500px;margin: 5em auto;padding: 5em;box-shadow: 0px 0 7px 0px #00000087;}
div.care03 h3.serif {color: var(--red);font-size: var(--fs-20);border-bottom: 1px solid;padding: 0 0 0.5em 0;}
div.care03 dl {display: flex;gap: 2em;justify-content: space-between;margin: 2em 0;}
div.care03 dl dt {width: 50%;}
div.care03 dl dt img {
}
div.care03 dl dd {
}
div.care03 dl dd h4.serif {color: #454545;font-size: var(--fs-17);margin: 1em 0;}
div.care03 dl dd p {font-size: var(--fs-8);}
div.care03 dl dd ul {padding: 0 0 0 2em;margin: 1em 0;}
div.care03 dl dd ul li {font-size: var(--fs-8);list-style: disc;color: #4f4f4f;font-weight: 600;margin: 0.5em 0;}
div.care03 dl dd ul li span {
}
div.care03 dl dd a {background: #7b7c59;color: #fff;border-radius: 200px;padding: 0.5em 2em;display: inline-block;font-size: var(--fs-10);}

div.care03 dl dd a:hover {
    background: #9a9b6f;
    color: #fff;
    opacity: 0.8;
    transition: all 0.3s ease;
}

div.care03 dl dd a i.fa-solid.fa-angles-right {
}
div.care03 div.inner {border: 1px solid gray;padding: 2em 3em;border-radius: 10px;color: #3d3d3d;}
div.care03 div.inner h5 {font-size: var(--fs-14);}
div.care03 div.inner p {font-size: var(--fs-8);margin: 1em 0 0 0;}
div.care03.care04 {
}
div.care03.care04 h3.serif {
}
div.care03.care04 ul {display: flex;flex-wrap: wrap;justify-content: space-between;}
div.care03.care04 ul li {width: 23%;margin: 2em 0;}
div.care03.care04 ul li div.icon {background: var(--bg);border-radius: 10px;padding: 4.4em 0;text-align: center;}
div.care03.care04 ul li div.icon i {color: #fff;font-size: 80px;}
div.care03.care04 ul li h4 {color: var(--red);text-align: center;font-size: var(--fs-9);margin: 0.2em 0;}
div.care03.care04 ul li p {font-size: var(--fs-8);}
div.care03.care04 ul li div.icon i.fa-solid.fa-utensils {
}
div.care03.care04 ul li div.icon i.fa-solid.fa-toilet {
}
div.care03.care04 ul li div.icon i.fa-solid.fa-bath {
}
div.care03.care04 ul li div.icon i.fa-solid.fa-hands-helping {
}
div.care03.care04 ul li div.icon i.fa-solid.fa-wheelchair {
}
div.care03.care04 ul li div.icon i.fa-solid.fa-ambulance {
}
div.care03.care04 ul li div.icon i.fa-solid.fa-triangle-exclamation {
}
div.care03.care05 {
}
div.care03.care05 h3.serif {
}
div.care03.care05 dl {
}
div.care03.care05 dl dt {
}
div.care03.care05 dl dt img {
}
div.care03.care05 dl dd {width: 45%;}
div.care03.care05 dl dd h4.serif {line-height: 1.8;}
div.care03.care05 dl dd p {line-height: 2;}
div.care03.care06 {
}
div.care03.care06 h3.serif {
}
div.care03.care06 div.inner {display: flex;flex-wrap: wrap;border: none;padding: 0;}
div.care03.care06 div.inner dl {flex-direction: column;width: 46%;gap: 0;margin: 2%;align-self: baseline;}
div.care03.care06 div.inner dl dt {background: #726052;border-radius: 100px;color: #fff;display: inline-block;text-align: center;padding: 0.5em 0;font-size: var(--fs-8);font-weight: 500;margin: 0 0 0.5em 0;}
div.care03.care06 div.inner dl p {
}
div.care03.care06 div.inner dl dd {font-size: var(--fs-8);}
div.care03.care07 {
}
div.care03.care07 h3.serif {
}
div.care03.care07 dl {
}
div.care03.care07 dl dt {
}
div.care03.care07 dl dt img {height: 100%;object-fit: cover;}
div.care03.care07 dl dd {width: 45%;}
div.care03.care07 dl dd ul.vihara {display: flex;padding: 0;margin: 1em 0;}
div.care03.care07 dl dd ul.vihara li {background: var(--red);color: #fff;list-style: none;border-radius: 20px;padding: 0.2em 1.5em;margin: 0 1em 0 0;font-size: var;}
div.care03.care07 dl dd h4 {font-size: var(--fs-15);color: #353535;}
div.care03.care07 dl dd h4 span {font-size: var(--fs-10);}
div.care03.care07 dl dd h4 span a {
}
div.care03.care07 dl dd h4 a:hover {
    color: #a78c57;
    opacity: 0.7;
    transition: all 0.3s ease;
}
div.care03.care07 dl dd h4 span a i.fa-solid.fa-link {
}
div.care03.care07 dl dd h5.serif {font-size: var(--fs-12);color: #474747;margin: 1em 0;}
div.care03.care07 dl dd p {font-size: var(--fs-8);}
div.care03.care07 dl dd h6 {font-size: var(--fs-10);margin: 1em 0 0.5em 0;}
div.care03.care07 div.box {margin: 0 0 3em 0;}
div.care03.care07 div.box p {font-size: var(--fs-8);background: #e5e5e5;border-radius: 10px;padding: 2em 3em;}
div.care03.care07 dl dd ul.vihara li.off {background: #cbcbcb;}
div.care03.care07 dl dd h4 a {background: none;color: gray;padding: 0;font-size: var(--fs-15);padding: 0 0 0 0.5em;}
div.care03.care07 dl dd h4 a i.fa-solid.fa-link {}




section.outline01 {width: 80%;max-width: 1200px;margin: 0 auto;}
section.outline01 h3 {font-size: var(--fs-15);color: var(--brown);margin: 2em 0 0.5em 0;}
section.outline01 p {color: #353535;font-size: var(--fs-9);line-height: 3;}
section.outline01 p span {font-weight: bold;display: block;margin: 2em 0;}
section.outline01 dl{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
section.outline01 dt{
    width: 44%;
}
section.outline01 dd{
    width: 50%;
}
section.outline01 dd img{
    border-radius: 20px;
    height: 100%;
    object-fit: cover;
}
section.outline01.outline02 {
}
section.outline01.outline02 h3 {
}
section.outline01.outline02 ul {display: flex;justify-content: space-between;align-items: flex-start;}
section.outline01.outline02 ul li {width: 48%;}
section.outline01.outline02 ul li h4 {color: var(--red);font-size: var(--fs-16);margin: 0.5em 0 1em 0;}
section.outline01.outline02 ul li table {width: 100%;}
section.outline01.outline02 ul li table tbody {
}
section.outline01.outline02 ul li table tbody tr {
}
section.outline01.outline02 ul li table tbody tr th {
}
section.outline01.outline02 ul li table tbody tr th,
section.outline01.outline02 ul li table tbody tr td{
    padding: 1em;
    border-bottom: 1px solid gray;
    color: #333333;
    font-size: var(--fs-8);
}
section.outline01.outline02 ul li table tbody tr td {
}
section.outline01.outline02 ul li img {width: 100%;border-radius: 15px;height: 19vw;object-fit: cover;margin: 2em 0 0 0;}
section.outline01.outline03 {
}
section.outline01.outline03 h3 {
}
section.outline01.outline03 dl {
    flex-wrap: wrap;
    justify-content: left;
}
section.outline01.outline03 dl dt {width: 19%;display: flex;align-items: center;font-size: var(--fs-12);color: var(--brown);}
section.outline01.outline03 dl dt i {font-size: var(--fs-20);margin: 0 0.2em 0 0;}
section.outline01.outline03 dl dt h4 {
}
section.outline01.outline03 dl dd {width: 65%;color: #3f3f3f;font-size: var(--fs-10);}
section.outline01.outline03 dl dt i.fa-solid.fa-train-subway {
}
section.outline01.outline03 p.serif {background: var(--brown);border-radius: 10px;margin: 1em 0 5em 0;color: #fff;padding: 1em 2em;text-align: center;font-size: var(--fs-15);}
section.outline01.outline03 dl dd,section.outline01.outline03 dl dt{padding: 1em;}




/* 【追記】section.faq 全体の余白 */
section.faq {
  width: 90%;
  max-width: 1200px;
  margin: 3em auto;
  font-family: sans-serif;
}

section.faq h3.kosugi {
  margin-bottom: 1em;
  font-size: var(--fs-20);
  color: var(--red);
}

/* 【追記】section.faq div.faq-item */
section.faq div.faq-item {
  margin-bottom: 1em;
}

/* 【追記】section.faq div.faq-question に背景 var(--red)、角丸10px */
section.faq div.faq-question {
  background: var(--red);
  border-radius: 10px;
  padding: 1em 2em;
  cursor: pointer;
  color: #fff;
  transition: background 0.3s ease;
  font-size: var(--fs-12);
}

/* 【追記】section.faq div.faq-question.active */
section.faq div.faq-question.active {
  opacity: 0.8;
}

/* 【入れ替え】section.faq div.faq-answer の全スタイル */
section.faq div.faq-answer {
  background: none;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease, padding 0.4s ease;
  padding: 0 1em; /* 初期は上下 0 */
  margin-top: 0.5em;
  line-height: 1.6;
  font-size: var(--fs-10);
  color: #171717;
  line-height: 2;
}

/* 【追記】section.faq div.faq-question.active + div.faq-answer 開いたときのpadding */
section.faq div.faq-question.active + div.faq-answer {
  padding: 0.5em 1em 4em 1em;
}

section.faq div.faq-answer a{
  color: var(--red);
  font-weight: 700;
}


section.process {width: 90%;max-width: 1000px;margin: 0 auto 3em auto;background: var(--red);border-radius: 15px;padding: 2em 3em;text-align: center;color: #fff;}
section.process span.serif {font-size: 70px;font-style: italic;display: block;margin: -1.2em 0 0 0;}
section.process h3.serif {font-size: var(--fs-15);border-bottom: 1px solid #fff;padding: 0 0 0.5em 0;margin: 0 0 0.5em 0;}
section.process p {font-size: var(--fs-10);}
section.process a {background: yellow;color: var(--red);font-size: var(--fs-10);padding: 1em 2em;display: inline-block;text-align: center;border-radius: 10px;font-weight: 600;margin: 1em 0 0 0;}
/* 【追記】section.process a:hover に透明度下げ */
section.process a:hover {
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

section.process.process02 {
}
section.process.process02 span.serif {
}
section.process.process02 h3.serif {
}
section.process.process02 h4{
    background: #93444b;
    padding: 1em;
    font-size: 2rem;
    border-radius: 10px;
}
section.process.process02 p {
}
section.process.process02 dl {width: 82%;display: flex;flex-wrap: wrap;justify-content: space-evenly;align-items: center;margin: 1em auto;}
section.process.process02 dl dt {display: flex;align-items: center;white-space: nowrap;width: 50%;padding: 1em 0;}
section.process.process02 dl dt i.fa-solid.fa-file {margin: 0 0.5em 0 0;font-size: var(--fs-15);}
section.process.process02 dl dt p {
}
section.process.process02 dl dd {width: 50%;padding: 1em;}
section.process.process02 dl dd a {background: var(--bg);padding: 0.5em 3em;border-radius: 200px;font-size: unset;margin: 0;}
/* 【追記】section.process.process02 dl dd a:hover に透明度下げ */
section.process.process02 dl dd a:hover {
  opacity: 0.8;
  transition: opacity 0.3s ease;
}


section.process.process02 dl dd a i.fa-solid.fa-cloud-arrow-down {
}
section.process.process03 {
}
section.process.process03 span.serif {
}
section.process.process03 h3.serif {
}
section.process.process03 p {
}
section.process.process02 p.caution {font-size: var(--fs-7);text-align: left;}


section.service01 {width: 80%;margin: 0 auto;}
section.service01 dl {display: flex;align-items: center;gap: 2em;}
section.service01 dl dt {width: 50%;}
section.service01 dl dt h3.serif {font-size: var(--fs-30);color: var(--brown);margin: 0 0 0.5em 0;}
section.service01 dl dt p {font-size: var(--fs-10);color: #2f2f2f;}
section.service01 dl dd {
}
section.service01 dl dd img {
}
section.service02 {width: 80%;margin: 0 auto;max-width: 1500px;}
section.service02 ul {display: flex;flex-wrap: wrap;}
section.service02 ul li {width: 31%;margin: 1%;position: relative;}
section.service02 ul li h4.kosugi {position: absolute;background: var(--red);color: #fff;font-size: var(--fs-12);padding: 1em 0.5em;border-radius: 10px;-webkit-writing-mode: vertical-lr;font-weight: 200;left: 1em;top: -1em;}
section.service02 ul li img {border-radius: 15px;height: 16vw;object-fit: cover;width: 100%;}
section.service02 ul li p {color: #252525;font-size: var(--fs-8);line-height: 2;margin: 1em 0;}
section.service03 {width: 80%;margin: 0 auto 5em auto;border-radius: 20px;background: var(--bg2);padding: 3em 4em;}
section.service03 h3.kosugi {font-size: var(--fs-15);font-weight: 600;color: var(--brown);border-bottom: 2px dashed;padding: 0 0 0.5em 0;margin: 0 0 2em 0;}
section.service03 div {display: flex;justify-content: space-between;gap: 1em;}
section.service03 div dl {display: flex;flex-wrap: wrap;align-items: flex-start;justify-content: space-between;width: 48%;}
section.service03 div dl dt {color: var(--red);font-size: var(--fs-8);border-radius: 200px;border: 1px solid;display: inline-block;padding: 0 1.5em;width: 25%;font-weight: 700;text-align: center;}
section.service03 div dl dd {width: 70%;}
section.service03 div dl dd h4 {color: var(--red);font-size: var(--fs-10);}
section.service03 div dl dd p {margin: 1em 0 2em 0;font-size: var(--fs-7);color: #3d2717;}


section.h2 span.kosugi{    color: var(--red);
    font-size: var(--fs-9);}


section.h2 h2.kosugi.facilityh2 {
  color: var(--brown);

}


main .content-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2em;
  margin: 0 auto;
}

main .content-wrap .sub {
  position: sticky;
  top: 0; /* h2通過後すぐ開始 */
  align-self: flex-start;
  width: 20%; /* 好みで調整OK */
  font-size: var(--fs-9);
  margin: 0 5% 0 0;
  padding: 2em 0;
}
main .content-wrap .main{
  width: 70%;
  margin-bottom: 5em;
}




div.content-wrap {
}
div.content-wrap section.main {
}
div.content-wrap section.main div.vihara01 {margin: 0 0 0 10%;}
div.content-wrap section.main div.vihara01 h3.serif {font-size: var(--fs-30);color: var(--brown);}
div.content-wrap section.main div.vihara01 p.serif {font-size: var(--fs-10);margin: 1em 0;line-height: 2;}
div.content-wrap section.main div.vihara02 {
}
div.content-wrap section.main div.vihara02 img {width: 100%;border-radius: 0 20px 20px 0;}
div.content-wrap section.main div.vihara03 {margin: 3em 0 3em 10%;}
div.content-wrap section.main div.vihara03 ul {display: flex;gap: 1em;}
div.content-wrap section.main div.vihara03 ul li.kurashi {
}
div.content-wrap section.main div.vihara03 ul li.kurashi span.montserrat {color: #958a81;}
div.content-wrap section.main div.vihara03 ul li h3 {color: var(--brown);font-size: var(--fs-15);}
div.content-wrap section.main div.vihara03 ul li ul.icons.fadein {display: flex;flex-wrap: wrap;gap: 2%;}
div.content-wrap section.main div.vihara03 ul li ul.icons.fadein li {width: 23%;margin: 1% 0;}
div.content-wrap section.main div.vihara03 ul li.kurashi ul.icons.fadein li img {
}
div.content-wrap section.main div.vihara03 ul li.iryou {
}
div.content-wrap section.main div.vihara03 ul li.iryou span.montserrat {color: #c1a0b0;}
div.content-wrap section.main div.vihara03 ul li.iryou h3 {color: var(--red);}
div.content-wrap section.main div.vihara03 ul li.iryou ul.icons.fadein {
}
div.content-wrap section.main div.vihara03 ul li.iryou ul.icons.fadein li {}
div.content-wrap section.main div.vihara03 ul li.iryou ul.icons.fadein li img {
}
div.content-wrap section.main div.vihara04 {margin: 6em 0 0 10%;}
div.content-wrap section.main div.vihara04 h3 {font-size: var(--fs-20);color: var(--brown);}
div.content-wrap section.main div.vihara04 h4 {font-size: var(--fs-10);color: var(--red);margin: 0.2em 0;}
div.content-wrap section.main div.vihara04 p {font-size: var(--fs-9);line-height: 2;margin: 1em 0;}
div.content-wrap section.main div.vihara04 dl {display: flex;justify-content: space-between;align-items: center;}
div.content-wrap section.main div.vihara04 dl dt {width: 60%;}
div.content-wrap section.main div.vihara04 dl dt img {
}
div.content-wrap section.main div.vihara04 dl dd {display: flex;flex-direction: column;width: 37%;}
div.content-wrap section.main div.vihara04 dl dd dl {display: flex;flex-direction: column;background: #ebeae6;border-radius: 20px;margin: 0 0 1em 0;padding: 2em;}
div.content-wrap section.main div.vihara04 dl dd dl dt.serif {font-size: var(--fs-12);width: 100%;text-align: left;margin: 0 0 0.2em 0;font-weight: 500;}
div.content-wrap section.main div.vihara04 dl dd dl dd {width: auto;}
div.content-wrap section.main div.vihara04.vihara05 img.big {border-radius: 15px;margin: 0 0 1em 0;}
div.content-wrap section.main div.vihara04.vihara05 h3 {
}
div.content-wrap section.main div.vihara04.vihara05 h4 {
}
div.content-wrap section.main div.vihara04.vihara05 p {
}
div.content-wrap section.main div.vihara04 ul {display: flex;gap: 2%;flex-wrap: wrap;}
div.content-wrap section.main div.vihara04.vihara05 ul li {
}
div.content-wrap section.main div.vihara04 ul li img {border-radius: 10px;}
div.content-wrap section.main div.vihara04.vihara06 div.wrap {margin: 0 0 0 0;display: flex;gap: 4em;align-items: flex-start;justify-content: space-between;}
div.content-wrap section.main div.vihara04.vihara06 h3 {
}
div.content-wrap section.main div.vihara04.vihara06 div.wrap table{
    margin: 0;
}
div.content-wrap section.main div.vihara04.vihara06 h4 {
}
div.content-wrap section.main div.vihara04 p {color: #434343;}
div.content-wrap section.main div.vihara04.vihara06 ul {
}
div.content-wrap section.main div.vihara04.vihara06 ul li {
}
div.content-wrap section.main div.vihara04.vihara06 ul li img {
}
div.content-wrap section.main div.vihara04.vihara06 table {margin: 3em 0 0 0;}
div.content-wrap section.main div.vihara04.vihara06 table tbody {
}
div.content-wrap section.main div.vihara04.vihara06 table tbody tr {
}
div.content-wrap section.main div.vihara04.vihara06 table tbody tr th {text-align: left;white-space: nowrap;}
div.content-wrap section.main div.vihara04.vihara06 table tbody tr th,div.content-wrap section.main div.vihara04.vihara06 table tbody tr td{
    padding: 1em;
    font-size: var(--fs-8);
    color: #2d2d2d;
    border-bottom: 1px dashed gray;
}
div.content-wrap section.main div.vihara04.vihara06 table tbody tr th i.fa-solid.fa-caret-right {margin: 0 0.5em 0 0;}
div.content-wrap section.main div.vihara04.vihara06 table tbody tr td {
}
div.content-wrap section.main div.vihara04 ul {
}
div.content-wrap section.main div.vihara04 ul li {position: relative;width: 49%;}
div.content-wrap section.main div.vihara04 ul li img {height: 35rem;width: 100%;object-fit: cover;}
div.content-wrap section.main div.vihara04 ul.vihara07 {display: block;margin: 2em 0;font-size: var(--fs-8);padding: 0 0 0 2em;}
div.content-wrap section.main div.vihara04 ul.vihara07 li {list-style: disc;margin: 1em 0;}
div.content-wrap section.main div.vihara04 ul li h5 {position: absolute;background: var(--bg);bottom: 6rem;padding: 10px 1em 10px 2em;border-radius: 30px 0 0 10px;right: 0;font-size: var(--fs-10);color: var(--brown);}
div.content-wrap section.main div.vihara04 ul li p {
}
div.content-wrap section.sub {
}
div.content-wrap section.sub a.top_ {font-weight: 700;color: var(--red);}
div.content-wrap section.sub a.top_ i.fa-solid.fa-circle-arrow-up {margin: 0 0.5em 0 0;}
div.content-wrap section.sub ul {
}
div.content-wrap section.sub ul li {margin: 1em;}
div.content-wrap section.sub ul li a {color: var(--brown);font-weight: 600;}
div.content-wrap section.sub ul li a i.fa-solid.fa-caret-right {margin: 0 0.5em 0 0;color: #8f735b;}
div.content-wrap section.sub ul li a.page {color: #4b4b4b;}
div.content-wrap section.sub ul li a.page i.fa-solid.fa-caret-right {color: #575757;}
div.content-wrap section.sub ul li a.page i.fa-solid.fa-arrow-up-right-from-square {font-size: var(--fs-5);margin: 0 0 0 0.5em;}
/* 【追記】div.content-wrap section.sub a.top_ の hover */
div.content-wrap section.sub a.top_:hover {
  background: var(--yellow);
  color: #9a5154;
  padding: 0.5em 1em;
  border-radius: 100px;
  transition: all 0.3s ease;
}

/* 【追記】div.content-wrap section.sub ul li a の hover（通常リンク） */
div.content-wrap section.sub ul li a:hover {
  background: var(--yellow);
  color: var(--brown);
  padding: 0.3em 0.8em;
  border-radius: 20px;
  transition: all 0.3s ease;
  color: #825e3f;
}

/* 【追記】div.content-wrap section.sub ul li a.page の hover */
div.content-wrap section.sub ul li a.page:hover {
  background: var(--blue);
  color: #8a8a8a;
  padding: 0.3em 0.8em;
  border-radius: 20px;
  transition: all 0.3s ease;
}



/* 全体ラッパー */
.blog-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2em 1em;
    box-sizing: border-box;
}

/* メインエリア */
.blog-wrap .main {
    flex: 1 1 70%;
}

.blog-wrap .main ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-wrap .main ul li {
    flex: 1 1 calc(33.333% - 1.33em);
    background: #fafafa;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.blog-wrap .main ul li:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.blog-wrap .main ul li a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.blog-wrap .main ul li img {
    width: 100%;
    height: 11vw;
    display: block;
    object-fit: cover;
}


.blog-wrap .main .date {
    font-size: 0.8em;
    color: #888;
    margin: 0.5em;
}

.blog-wrap .main h3 {
    font-size: 1em;
    margin: 0.5em 1em 1.5em;
    line-height: 1.4;
}

/* サイドエリア */
.blog-wrap .sub {
    flex: 1 1 25%;
    display: flex;
    flex-direction: column;
    gap: 2em;
}

.blog-wrap .sub .sub01 {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 1em;
}

.blog-wrap .sub .sub01 h3 {
    font-size: 1.1em;
    margin-bottom: 0.5em;
    border-bottom: 1px solid #ddd;
    padding-bottom: 0.3em;
    color: var(--red);
}

.blog-wrap .sub .sub01 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-wrap .sub .sub01 ul li {
    margin-bottom: 0.5em;
}

.blog-wrap .sub .sub01 ul li a {
    display: block;
    text-decoration: none;
    color: #333;
    transition: background 0.3s, color 0.3s;
    padding: 0.3em 0.2em;
    border-radius: 3px;
    font-weight: 700;
}

.blog-wrap .sub .sub01 ul li a:hover {
    background: #f5f5f5;
    color: #000;
}

/* 最新投稿内の date + h4 */
.blog-wrap .sub .sub02 .date {
    font-size: 0.8em;
    color: #888;
    margin: 0;
}

.blog-wrap .sub .sub02 h4 {
    font-size: 0.95em;
    margin: 0.2em 0 0;
    line-height: 1.4;
}

/* カテゴリのアイコンのテキスト分ける用 */
.blog-wrap .sub .sub03 ul li a i {
    margin-right: 0.5em;
}

/* アーカイブリスト */
.blog-wrap .sub .archive-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog-wrap .sub .archive-list li {
    margin: 0;
    padding: 0;
}

.blog-wrap .sub .archive-list li a {
    display: block;
    padding: 0.5em;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #ddd;
    font-weight: bold;
    transition: background 0.3s, color 0.3s;
}

.blog-wrap .sub .archive-list li a:hover {
    background: #f0f0f0;
    color: #000;
}


.blog-pager {
    text-align: center;
    margin: 2em 0;
}

.blog-pager .pager-list {
    display: inline-flex;
    gap: 0.5em;
    flex-wrap: wrap;
    justify-content: center;
}

.blog-pager .pager-item {
    display: block;
}

.blog-pager .pager-item a {
    display: block;
    padding: 0.5em 0.9em;
    text-decoration: none;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: background 0.3s, color 0.3s;
    font-weight: bold;
    min-width: 2.5em;
    text-align: center;
}

.blog-pager .pager-item a:hover {
    background: #f0f0f0;
    color: #000;
}

.blog-pager .pager-item.active a {
    background: #e3d1c7;
    color: #a33;
    pointer-events: none;
}
.blog-wrap .main .meta {
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: 0 1em;
    margin-top: 1em;
}

.blog-wrap .main .meta .tag {
    display: inline-block;
    font-size: 0.85em;
    border-radius: 3px;
    padding: 0.2em 0.6em;
    font-weight: 600;
}

.blog-wrap .main .meta .date {
    font-size: 0.8em;
    color: #888;
    margin: 0;
}


.blog-wrap .main .tag {
    display: inline-block;
    font-size: 0.85em;
    border-radius: 3px;
    padding: 0.2em 0.6em;
    font-weight: 600;
    color: #fff; /* 共通で白文字 */
}

/* タグ別カラー */
.blog-wrap .main .tag.イベント {
    background-color: #f28b82; /* 赤系 */
}

.blog-wrap .main .tag.お知らせ {
    background-color: #fbbc04; /* 黄系 */
}

.blog-wrap .main .tag.採用情報 {
    background-color: #34a853; /* 緑系 */
}

.blog-wrap .main .tag.未分類 {
    background-color: #9aa0a6; /* グレー系 */
}

.blog-wrap .main .tag.ビハーラ・ワタナベ,
.blog-wrap .main.detail .detail_wrap .tag.ビハーラ・ワタナベ {
    background-color:var(--red);
    color: #fff; 
}
.blog-wrap .main .tag.ビハーラ・ワタナベⅡ {
    background-color: #3a532a; 
    color: #fff;
}

/* 詳細ページ全体 */
.blog-wrap .main.detail {
    flex: 1 1 70%;
}

/* 記事ラッパー */
.blog-wrap .main.detail .detail_wrap {
    background: #fff;
    padding: 2em;
    border: 1px solid #ddd;
    border-radius: 8px;
    line-height: 1.8;
    font-size: 1em;
    color: #333;
}

/* 日付 */
.blog-wrap .main.detail .detail_wrap .date {
    font-size: 0.85em;
    color: #888;
    margin: 0;
}

/* タイトル */
.blog-wrap .main.detail .detail_wrap h3 {
    font-size: 1.5em;
    margin-bottom: 0.5em;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 0.5em 0;
}

/* タグ */
.blog-wrap .main.detail .detail_wrap .tag {
    display: inline-block;
    font-size: 0.85em;
    border-radius: 3px;
    padding: 0.2em 0.6em;
    font-weight: 600;
    
     /* デフォルト色 */
    margin-bottom: 1em;
}



/* 記事本文 */
.blog-wrap .main.detail .detail_wrap .article {
    margin-top: 1.5em;
}

/* 記事内画像 */
.blog-wrap .main.detail .detail_wrap .article img {
    max-width: 80%;
    height: auto;
    display: block;
    margin: 1em 0;
}

/* サブタイトル */
.blog-wrap .main.detail .detail_wrap .article h4 {
    font-size: 1.2em;
    margin: 1em 0 0.5em;
    font-weight: bold;
}

/* 前へ・次へナビ */
.blog-wrap .main.detail .post-nav {
    display: flex;
    justify-content: space-between;
    margin: 2em 0;
    font-size: 0.95em;
}

.blog-wrap .main.detail .post-nav a {
    display: inline-block;
    padding: 0.5em 1em;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    background: #f9f9f9;
    transition: background 0.3s, color 0.3s;
}

.blog-wrap .main.detail .post-nav a:hover {
    background: #f0f0f0;
    color: #000;
}



/* 【入れ替え】main .contact-page 全体 */
main .contact-page {
  width: 90%;
  max-width: 1000px;
  margin: 3em auto;
  padding: 4em;
  background: var(--bg2);
  border-radius: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  color: #333;
}
main .contact-page a{
  background: #60853b;
  color: #fff;
  border-radius: 5px;
  padding: 0.5em 1em;
  margin: 0 auto;
  display: block;
  text-align: center;
  width: 40%;
}
/* 【入れ替え】main .contact-page h2 */
main .contact-page h2 {
  font-size: var(--fs-13);
  margin-bottom: 1em;
  color: var(--red);
  text-align: center;
}

/* 【入れ替え】main .contact-page > p */
main .contact-page > p {
  font-size: 1.7rem;
  margin-bottom: 2em;
  line-height: 1.8;
  text-align: center;
}

/* 【入れ替え】main .contact-page .contact-form */
main .contact-page .contact-form {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

/* 【入れ替え】main .contact-page .form-group */
main .contact-page .form-group {
  display: flex;
  flex-direction: column;
  margin: 2rem 0;
}

/* 【入れ替え】main .contact-page .form-group label */
main .contact-page .form-group label {
  font-weight: bold;
  font-size: var(--fs-10);
}

/* 【入れ替え】main .contact-page .form-group input,
                  main .contact-page .form-group select,
                  main .contact-page .form-group textarea */
main .contact-page .form-group input,
main .contact-page .form-group select,
main .contact-page .form-group textarea {
  padding: 1em;
  font-size: 1.7rem;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #fff;
  margin: 0 0 1em 0;
}

/* 【入れ替え】main .contact-page .form-group .required */
main .contact-page .form-group .required {
  color: var(--red);
  font-size: 1.4rem;
  margin-left: 0.5em;
}

/* 【入れ替え】main .contact-page .form-group button */
main .contact-page .form-group button {
  background: var(--red);
  color: #fff;
  font-size: 1.8rem;
  padding: 1.2em 2.5em;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.3s ease;
}

main .contact-page .form-group button:hover {
  background: #a0222a;
}

/* 【入れ替え】main .contact-page .policy-section */
main .contact-page .policy-section {
  margin-top: 4em;
  padding: 2em;
  background: #f9f9f9;
  border-radius: 10px;
  border: 1px solid #ddd;
  font-size: 1.6rem;
  color: #333;
  line-height: 1.8;
  height: 300px;
  overflow-y: scroll;
}

/* 【入れ替え】main .contact-page .policy-section h3 */
main .contact-page .policy-section h3 {
  font-size: var(--fs-12);
  color: var(--red);
  margin-bottom: 1em;
  border-bottom: 2px solid var(--red);
  padding-bottom: 0.5em;
  margin-top: 2em;
}

/* 【入れ替え】main .contact-page .policy-section h4 */
main .contact-page .policy-section h4 {
  font-size: 1.7rem;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  color: var(--brown);
}
main .contact-page .policy-section p {
  font-size: 1.6rem;
  line-height: 1.8;
}

/* 【追記】main .contact-page .form-group（ラジオボタン用） */
main .contact-page .form-group input[type="radio"] {
  margin-right: 0.5em;
  vertical-align: middle;
  margin-bottom: 0;
}


main .contact-page .form-group label input[type="radio"] + span,
            main .contact-page .form-group label input[type="radio"] + label {
  display: inline-block;
  vertical-align: middle;
} */
main .contact-page .form-group label {
  display: inline-block;
  margin-right: 1.5em;
  font-size: 1.7rem;
  cursor: pointer;
}


/* 【入れ替え】main .company01 共通 */
main .company01 {
  width: 90%;
  max-width: 1200px;
  margin: 3em auto;
  padding: 2em;
  background: var(--bg2);
  border-radius: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  color: #333;
  line-height: 1.8;
}

/* 【入れ替え】main .company01 h3 */
main .company01 h3 {
  font-size: var(--fs-12);
  color: var(--red);
  margin-bottom: 1em;
  border-bottom: 2px solid var(--red);
  padding-bottom: 0.5em;
}

/* 【入れ替え】main .company01 dl */
main .company01 dl {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  align-items: flex-start;
}

/* 【入れ替え】main .company01 dl dt */
main .company01 dl dt {
  flex: 0 0 200px;
}

main .company01 dl dt img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  /* background: #fff; */
  /* border: 1px solid #ccc; */
}

/* 【入れ替え】main .company01 dl dd */
main .company01 dl dd {
  flex: 1;
  font-size: 1.7rem;
}

/* 【入れ替え】main .company01 dl dd h4 */
main .company01 dl dd h4 {
  font-size: var(--fs-14);
  color: var(--brown);
  margin-top: 1em;
  margin-bottom: 0.5em;
}

/* 【入れ替え】main .company01 dl dd p */
main .company01 dl dd p {
  margin-bottom: 1em;
  line-height: 2;
}

/* 【入れ替え】main .company01 dl dd span */
main .company01 dl dd span {
  display: block;
  margin-top: 1em;
  font-size: 1.6rem;
  font-weight: bold;
  color: #696969;
  text-align: right;
}

/* 【入れ替え】main .company01.company03 table */
main .company01.company03 table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.7rem;
}

main .company01.company03 table th,
main .company01.company03 table td {
  padding: 1em;
  border: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
}

main .company01.company03 table th {
  width: 25%;
  background: #f0f0f0;
  font-weight: bold;
  color: var(--brown);
}

main .company01.company03 table td {
  background: #fff;
}


main section.company01 {
}
main section.company01 h3.kosugi {
}
main section.company01 dl {align-items: center;}
main section.company01 dl dt {padding: 1em;}
main section.company01 dl dt img {
}
main section.company01 dl dd {
}
main section.company01 dl dd h4.kosugi {
}
main section.company01 dl dd p {
}
main section.company01.company02 {
}
main section.company01.company02 h3.kosugi {
}
main section.company01.company02 dl {align-items: stretch;}
main section.company01.company02 dl dt {padding: 0;}
main section.company01.company02 dl dt img {height: 100%;object-fit: cover;}
main section.company01.company02 dl dd {
}
main section.company01.company02 dl dd h4.serif {
}
main section.company01.company02 dl dd p {
}
main section.company01.company02 dl dd span {
}
main section.company01.company03 {
}
main section.company01.company03 h3.kosugi {
}
main section.company01.company03 table {
}
main section.company01.company03 table tbody {
}
main section.company01.company03 table tbody tr {
}
main section.company01.company03 table tbody tr th {
}
main section.company01.company03 table tbody tr td {
}
/* 【追記】main .thanks-page */
main .thanks-page {
  width: 90%;
  max-width: 800px;
  margin: 3em auto;
  padding: 3em 2em;
  background: var(--bg2);
  border-radius: 10px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  color: #333;
  line-height: 1.8;
}

/* 【追記】main .thanks-page h3 */
main .thanks-page h3 {
  font-size: var(--fs-8);
  color: var(--red);
  margin-bottom: 1em;
}

/* 【追記】main .thanks-page p */
main .thanks-page p {
  font-size: 1.7rem;
  margin-bottom: 2em;
}

/* 【追記】main .thanks-page .btn-wrap */
main .thanks-page .btn-wrap {
  margin-top: 2em;
}

/* 【追記】main .thanks-page .btn */
main .thanks-page .btn {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 1.8rem;
  padding: 1em 3em;
  border-radius: 50px;
  text-decoration: none;
  transition: background 0.3s ease;
}

main .thanks-page .btn:hover {
  background: #a0222a;
}


/* 【追記】main .notfound-page */
main .notfound-page {
  width: 90%;
  max-width: 800px;
  margin: 3em auto;
  padding: 3em 2em;
  background: var(--bg2);
  border-radius: 10px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.8rem;
  color: #333;
  line-height: 1.8;
}

/* 【追記】main .notfound-page h3 */
main .notfound-page h3 {
  font-size: var(--fs-8);
  color: var(--red);
  margin-bottom: 1em;
}

/* 【追記】main .notfound-page p */
main .notfound-page p {
  font-size: 1.7rem;
  margin-bottom: 2em;
}

/* 【追記】main .notfound-page .btn-wrap */
main .notfound-page .btn-wrap {
  margin-top: 2em;
}

/* 【追記】main .notfound-page .btn */
main .notfound-page .btn {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 1.8rem;
  padding: 1em 3em;
  border-radius: 50px;
  text-decoration: none;
  transition: background 0.3s ease;
}

main .notfound-page .btn:hover {
  background: #a0222a;
}




.tag.event {
    background-color: #ffcc00;
    color: #000;
}

.tag.news {
    background-color: #66ccff;
    color: #fff;
}

.tag.vihara {
    background-color: #ff99cc;
    color: #fff;
}

.tag.vihara2 {
    background-color: #cc99ff;
    color: #fff;
}

.tag.recruit {
    background-color: #99cc99;
    color: #000;
}
.tag.uncategorized {
    background-color: #cccccc;
    color: #000;
}


.blog-pager .pager-list .page-numbers {
    display: inline-block;
    padding: 0.5em 1em;
    margin: 0 0.3em;
    border: 1px solid var(--rr-brown);
    border-radius: 4px;
    text-decoration: none;
    color: var(--brown);
    background-color: #fff;
    font-weight: 600;
    transition: 0.3s;
}

.blog-pager .pager-list .page-numbers.current {
    background-color: var(--brown);
    color: #fff;
    border-color: var(--brown);
}

.blog-pager .pager-list .page-numbers:hover {
    background-color: var(--r-brown);
    color: #fff;
    border-color: var(--r-brown);
}
main .contact-page .form-group input.text,
main .contact-page .form-group .select,
main .contact-page .form-group textarea{
    width: 100%;
}
main .contact-page .form-group span.radio{
    margin: 0 0 2rem 0;
    display: block;
}