@charset "utf-8";
/* CSS Document */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

.sec_first_dec {
  display: none;
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  /*scroll-padding-top: 150px;*/
}

body {
  inline-size: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  /*color: #1a1a1a;*/
  color: #452002;
  font-size: 16px;
  font-weight: 400;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.75;
  /*background: #eee;*/ /*250129modify*/
}

a {
  
  color: #9c8570;
  transition: all 0.3s ease;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}
a:visited{

  color: #9c8570;
}
a:active{
  color: #9c8570;
}
a:link{
  color: #9c8570;
}
a img {
  transition: all 0.3s ease;
}

a:hover img {
  opacity: 0.7;
}


/*追加*/
a.underline {
  position: relative;
  color: #cdad83;
  text-decoration: none;
}

a.underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px; /* 下線の位置を少し下に */
  width: 0;
  height: 1px;
  background-color: #cdad83;
  transition: width 0.3s ease;
}

a.underline:hover::after {
  width: 100%;
}
/*
.childbirthbtn a:not([class])::after {
  display: none;
}
*/



img {
  max-width: 100%;
}

figure img {
  margin: auto;
}

* {
  box-sizing: border-box;
}

.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
.sp_menu {
  display: none;
}
.sp_contact {
  display: none;
}

h3{
  color: #085A07;
  border-bottom: #cdad83 solid 2px;
  vertical-align: baseline;
  display: inline-block;
  margin: 20px 0 0;
  line-height: 2;
}
h4{
  color: #6d5353;/*文字色*/
  font-size: 16px;/*文字サイズ*/
  display: block;
  position: relative;
  padding: 6px 35px;/*文字回りの余白（上下 左右）*/
}
h4:before {
  content: "✦";
  font-weight: 900;/*星マークの太さ*/
  font-size: 25px;/*星マークのサイズ*/
  color: #cdad83;/*星マークの色*/
  left: 0;
  top: 0;
  position: absolute;
}
/※統一ボタン*/ .btn {
  display: inline-block;
  border: 1px solid white;
  padding: 18px 80px 20px;
  text-transform: uppercase;
  color: white;
  text-decoration: none;
  font-weight: 500;
  font-style: normal;
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  border-radius: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, Sana;
  transition: all 0.7s ease-out;
  margin: 0.7rem;

  border: 1px solid #ddd;
  margin-bottom: 30px;
  padding: 1.1em 2em;
}

.in {
  background: linear-gradient(
    270deg,
    rgba(137, 247, 254, 0.8),
    rgba(102, 166, 255, 0.8),
    rgba(0, 0, 0, 0),
    rgba(0, 0, 0, 0)
  );
  background-size: 300% 300%;
  background-position: 1% 50%;
}
.up {
  background: linear-gradient(
    270deg,
    rgba(250, 112, 154, 0.8),
    rgba(254, 225, 64, 0.8),
    rgba(0, 0, 0, 0),
    rgba(0, 0, 0, 0)
  );
  background-size: 300% 300%;
  background-position: 1% 50%;
}

.btn:hover {
  color: white;
  /*border: 1px solid rgba(193, 164, 112, 0);*/
  background-position: 99% 50%;
}
.btn span {
  display: block;
  font-size: 12px;
  font-weight: normal;
}
a.btn_01 {
  font-size: 14px;
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  min-width: 220px;
  margin: 10px;
  padding: 1rem 2.8rem;
  font-weight: bold;
  /*border: 2px solid #DDBE53;*/
  border-radius: 10px;
  background-color: #451f03;
  color: #ddd;
  position: relative;
}
a.btn_01:hover {
  color: #451f03;
  background: #cdad83;
  transition: all 0.3s 0.1s ease-in-out;
}

a.btn_01:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: -5px;
}
a.btn_01:hover:after {
  border-right: 2px solid #451f03;
  border-bottom: 2px solid #451f03; 
  transition: all 0.3s 0.1s ease-in-out;
}

/*--共通--*/
/*
.back1 {
  background: url("../images/bk2.webp") center top / contain no-repeat;
  margin-top: 0;
  
  width: 100%;
}

.back2 {
  background: url("../images/bk1.webp") right top / contain no-repeat;
  margin-top: 0;
  padding-top: 80px;
  width: 100%;
}

.back3 {

  background: url("../images/bk3.webp") center bottom / contain no-repeat;
  margin-bottom: 0;
  padding-bottom: 70px;
  width: 100%;
}
*/
main > section:first-of-type {
  background: url("../images/bk2.webp") center top / contain no-repeat; /*250129update*/

  width: 100%;
}
main > section:nth-of-type(2) {
  background: url("../images/bklow2.webp") center top / contain no-repeat; /*250129update*/

  width: 100%;
}
main > section:nth-of-type(3) {
  background: url("../images/bklow3.webp") center top / 100% no-repeat; /*250317update*/

  width: 100%;
}
main > section:nth-of-type(4) {
  background: url("../images/bklow4.webp") center top / 100% no-repeat; /*250317update*/

  width: 100%;
}
main > section:nth-of-type(5) {
  background: url("../images/bklow5.webp") center top / 100% no-repeat;
  width: 100%;
}
main > section:nth-of-type(6) {
  background: url("../images/bklow6.webp") center top / 100% no-repeat;
  width: 100%;
}
main > section:nth-of-type(7) {
  background: url("../images/bklow7.webp") center top / 100% no-repeat;
  width: 100%;
}
main > section:nth-of-type(8) {
  background: url("../images/bklow8.webp") center top / 100% no-repeat;
  width: 100%;
}
main > section:nth-of-type(9) {
  background: url("../images/bklow1.webp") center top / 100% no-repeat;
  width: 100%;
}
main > section:nth-of-type(10) {
  background: url("../images/bklow2.webp") center top / 100% no-repeat;
  width: 100%;
}

.bkcolor {
  background-color: #f3e4b4; /*e4dddb*/
  margin-top: 0;
  padding-top: 80px;
}

.image_center_single {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.red {
  color: rgb(210, 24, 24);
}
.text-lg {
  font-size: 1.125rem;
}
.flex {
  display: flex;
  margin: 20px 0px;

}
.flex_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
  margin: 40px 0px;
}
.flex2gap10{
  display: flex;
  flex-wrap: wrap; /* アイテムを折り返し */
  gap: 10px;
}
.flex2{
  display: flex;
  flex-wrap: wrap; /* アイテムを折り返し */

}

.flexrightauto {
  flex:1;
  margin-left: 30px;
}


.dr_career{
  flex: 1 1 46%; /* アイテムの幅を30%に設定、残りは均等に配分 */
  padding: 20px;
}

.dr_career .dr_prof_pic{
margin-top: 30px;
}
.dr_career .f12{
  display: inline-block;
    width: 100%;
    font-size: 0.8em;
}

.dr_career dl{
  /*display: flex;
  flex-wrap: wrap; */
  margin-top: 30px;
}
.dr_career dd:first-of-type {
border-bottom: 1px solid #ccb7a7;
    margin-bottom: 10px;
}

.dr_career dl dt{
  float: left;
}
.dr_career dl dd{
  clear: right;
    padding-left: 80px;
}
.dr_career .position{
  font-size: 0.6em;
    display: inline-block;
    width: 100%;
}
.dr_career h3{
  text-align: center;
  line-height: 1.5;
}

.dr_career .border-b{
padding-bottom: 30px;
border-bottom: 1px solid #9c8570;
margin-bottom: 10px;
}

.fleximageright {
  width: calc(40% - 30px);
  max-width: 300px;
  margin-left: 30px;
}
  .fleximage {
  width: 30%;
  max-width: 300px;
  margin: 0 auto;
}

.facepic{
  margin: 16px 0px;;
}
.flextext {
  width: 60%;
}
.flex_wrap .left {
  width: 30%;
}
.flex_wrap .right {
  width: calc(70% - 16px);
  margin-bottom: 20px;
}
.flex_wrap .right ol {
  margin: 0px 0px 0px -10px;
}
.ovalwindow {
  /*border: 2px solid #085a07;*/
  border-radius: 10px;
  margin: 30px 20px;
    padding: 20px 30px;
    background: linear-gradient(90deg, rgb(220, 237, 231,0.3), rgb(156, 133, 112,0.3));

}

.card {
  /*flex-direction: row-reverse;*/
  justify-content: space-between;
  padding: 0;
  display: flex;
  width: 100%;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  margin: 30px 0px;
}
.card .card_copy {
  padding: 15px;
  width: 50%;
}
.card .card_img {
  padding-left: 15px;
  padding-right: 15px;
  width: 50%;
}
.card .card_media img {
  margin: 0 auto;
}
.fade-in {
  opacity: 0; /* 初期状態で透明 */
  transition: opacity 1s ease-in-out; /* 1秒かけてふわっと表示 */
}

.fade-in.show {
  opacity: 1; /* クラスを追加すると表示 */
}

.box10 {
  padding: 1em 2em; /*内側の余白*/
  border: none; /*枠線を表示しない*/
  border-radius: 15px; /*丸みを調整*/
  background-color: #ede8dc; /*背景色*/
  letter-spacing: 0.1em;
}
/*外部リンク*/
.linkout {
  margin: 30px;
}

h4{
  font-size: 1.9rem;
}
/*----------------------------------------

.cs_header

----------------------------------------*/
.cs_header {
  /*height: 100px;
  position: fixed;*/
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  background: #fff;
}

.cs_header .inner {
  flex-direction: column;

  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /*align-items: flex-end;*/

  width: 100%;
  /*height: 60px;*/
  max-width: 1440px;
  margin: 0 auto;
}

.cs_header .inner h1 {
  margin: 0;
  line-height: 1;
}
.cs_header .inner h1 img {
  height: 50px;
}
.cs_header .inner .headerfixed {
  padding-top: 15px;
  position: static;
  width: 100%;
  display: flex;
  justify-content: center;
  left: 0;
}
.cs_header .inner .headerrighterea {
  display: flex;
  flex-wrap: wrap;
  z-index: 100;
  position: absolute;
  right: 0;
  font-size: 14px;
  align-items: flex-end;
  text-align: right; 
}

.cs_header .headerrighterea .h_tel {
  padding: 0 10px;
  /*background-color: #427eb5;*/
  line-height: 1.2;
}
.cs_header .headerrighterea .h_tel .h_telno{
  font-size: 22px;
  display:flex;
  align-items: end;
  display: flex
;
}
.cs_header .headerrighterea .h_tel .h_telno img{
width: 18px;
    height: 18px;
    margin-bottom: 2px;
    margin-right: 6px;
}
.cs_header .headerrighterea .h_tel .h_tel_com{
  font-size: 14px;
}
.cs_header .headerrighterea .h_reserve, /* 250408 update */
.cs_header .headerrighterea .h_access {
  padding: 6px 10px;
  background-color: #cdad83;
  border-radius: 5px;
  margin-right: 16px;
  margin-left: 10px;
  transition: all 0.2s;
}
.cs_header .headerrighterea .h_reserve:hover, /* 250408 update */
.cs_header .headerrighterea .h_access:hover {
  cursor : pointer;
  background-color: #f0e6da;
  transition: all 0.3s 0.1s ease-in-out;
}
.cs_header .headerrighterea .h_reserve a, /* 250408 update */
.cs_header .headerrighterea .h_access a {
  color: #452002;
  text-decoration: none;
}
.cs_header .header_pcmenu {
  background-color: #fff;
}
.cs_header .headermenubar {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  font-size: 14px;
  padding: 10px 0px;

  -webkit-justify-content: space-evenly; /* Safari */
  justify-content: space-evenly;
  display: -webkit-flex; /* Safari */
}

.cs_header .headermenubar .headermenubar_item {
  margin: 0px;
}

.cs_header .inner .sptopbar {
  display: none;
}










#menu__toggle {
  opacity: 0;
  display: none;
}
#menu__toggle:checked + .menu__btn > span {
  transform: rotate(45deg);
}
#menu__toggle:checked + .menu__btn > span::before {
  top: 0;
  transform: rotate(0deg);
}
#menu__toggle:checked + .menu__btn > span::after {
  top: 0;
  transform: rotate(90deg);
}
#menu__toggle:checked ~ .menu__box {
  left: 0 !important;
}
.menu__btn {
  position: fixed;
  top: 30px;
  left: 20px;
  width: 26px;
  height: 26px;
  cursor: pointer;
  z-index: 1;
  display: none;
  z-index: 10;
}
.menu__btn > span,
.menu__btn > span::before,
.menu__btn > span::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #616161;
  transition-duration: 0.25s;
}
.menu__btn > span::before {
  content: "";
  top: -8px;
}
.menu__btn > span::after {
  content: "";
  top: 8px;
}
.menu__box {
  display: block;
  position: static;
  top: 0;
  /*  left: -800%;*/
  width: 100%;
  height: 100%;
  margin: 0;
  /*padding: 80px 0;*/
  list-style: none;
  /*background-color: #c3dcc3;*/
  background-color: #fff;
  /*box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);*/
  transition-duration: 0.25s;
  font-size: 14px;
}
.menu__box_sp {
  margin: 0px;
  font-size: 14px;
  width: 100%;
  position: relative;
}

.menu__box_sp li {
  display: inline-block;
}

.menu__box_sp a {
  /* 各項目のスタイル */
  display: block;
  padding: 10px 10px;/* 20250408 update */
  font-weight: bold;
}

.menu:hover > a {
  background: #ede8dc;
  text-decoration: none;/* 20250408 update */
}

.child_menu > li > a {
  /* 子項目のスタイル */
  font-size: 0.95em;
}
.child_menu > li > a:hover {
  /* 子項目のスタイル（ホバー時） */
  background: #ede8dc;
  text-decoration: underline;/* 20250408 update */
  transform: all 0.3s 0.1s ease-in-out ;
}

.child_menu {
  /* 下層メニューのスタイル */
  width: 100%;
  position: absolute;
  top: 100%; /* 親項目の直下に配置 */
  left: 0;
  padding: 30px;
  color: #333; /* 文字色 */
  background: #ede8dc; /* 背景色 */
  visibility: hidden; /* 下層メニューを非表示 */
  opacity: 0; /* 非表示状態 */
  transform: translateY(-20px); /* 少し上にずらす */
  transition: transform 0.3s ease, opacity 0.3s ease; /* アニメーション設定 */
}
.child_menu li {
  margin: 0 20px;
}
.menu:hover > .child_menu {
  /* 下層メニューのスタイル（親項目ホバー時） */
  visibility: visible; /* 下層メニューを表示 */
  opacity: 1; /* 表示状態 */
  transform: translateY(0); /* 元の位置に移動 */
}
.menu__box_sp .child_menu a{
  padding: 6px 10px;
}
.child_menu a:hover {
  color: #9c8570;/* 20250408 update */
}
.menu__box_sp .spheaderlogo {
  display: none;
}
.menu__box_sp .spheaderbottom {
  display: none;
}
.menu__box_nav {

  margin-bottom: 0px;
  list-style: none;
  padding: 0px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.menu__box_nav li {
  /*border-bottom: 2px solid #cdad83;*/
  /*padding-bottom: 5px; 20250408 delete*/
  /*padding: 10px; 20250408 delete*/
  /*background: #ede8dc;*/
}

.menu__item {
  display: block;
  padding: 12px 24px;
  color: #333;
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  transition-duration: 0.25s;
}
.menu__item:hover {
  background-color: #cfd8dc;
}
.spheaderlogo {
  text-align: center;
}
.spheaderlogo img {
  display: inline-block;
}

/*
.nav_drawer {
    position: relative;
}
.nav_drawer .nav_content {
    background: #333;
    color: #fff;
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    width: 85%;
    max-width: 350px;
    height: 100%;
    transition: .3s ease-in-out;
    -webkit-transform: translateX(105%);
    transform: translateX(105%);
}
.nav_drawer .lavel_nav_open {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 40px;
    position: fixed;
    top: 9px;
    right: 10px;
    width: 40px;
    z-index: 100;
}


nav_drawer #nav_close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: .3s ease-in-out;
}

.nav_drawer .nav_unshown {
    display: none;
}
.nav_drawer .nav_unshown {
    display: none;
}

input, select, textarea {
    vertical-align: middle;
}

.nav_drawer .btn_bar {
    display: inline-block;
    height: 24px;
    vertical-align: middle;
    width: 25px;
}

.nav_drawer .btn_bar span, .nav_drawer .btn_bar span:before, .nav_drawer .btn_bar span:after {
    position: absolute;
    height: 4px;
    width: 25px;
    background: #543e36;
    display: block;
    content: "";
    cursor: pointer;
}
.nav_drawer .btn_bar span:before {
    bottom: -9px;
}

.nav_drawer .btn_bar span, .nav_drawer .btn_bar span:before, .nav_drawer .btn_bar span:after {
    position: absolute;
    height: 4px;
    width: 25px;
    background: #543e36;
    display: block;
    content: "";
    cursor: pointer;
}
	*/
/*----------------------------------------

main

----------------------------------------*/
main {
  /*margin-top: 100px;*/
  /*margin-bottom: 70px;*/
  font-size: 16px; /* 必要に応じて調整 */
  font-weight: 700;
  line-height: 1.75; /* 1.5~2.0の範囲内で調整 */
  letter-spacing: 0.8px; /* 文字サイズの5% (16px * 0.05 = 0.8px) */
  background: url(../images/bk3.webp) center bottom / contain no-repeat;
  margin-bottom: 0;
  padding-bottom: 200px;
  width: 100%;
}

main .inner {
  width: 100%;
  max-width: 1440px;
  margin: auto;
  position: static;
  display: block;
}

section h3{
  font-size: 22px;
  margin-bottom: 16px;

}
.smb-section__header {
  margin: 0px 50px;
}

/*お知らせ*/
.sec_infomation {
  /*background-color: #fafafa;*/
  margin-top: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
}
.sec_infomation .div_infomation {
  /*background-color: #f3e4b4;*/ /*250129update*/
  padding: 20px 20px;
  margin: 0px 0px;
  width: 100%;
}
.sec_infomation .div_infomation ul{
  list-style: none;
}
.sec_infomation .div_infomation h2 {
  margin-bottom: 10px;
}

.sec_infomation .div_infomation .readmore {
  display: flex;
  justify-content: flex-end;
}
.sec_infomation .div_infomation .c-entry-summary__content{
  margin-top: 14px;
  border-bottom: 1px solid #ccb7a7;
  margin-bottom: 10px;
  padding-bottom: 20px;
}


.ml40{
  margin-left: 40px;
}
/*section*/
section {
  margin-top: 0px;
  padding-top: 150px;
  padding-bottom: 0px;
  min-height: 600px;
}
@media (min-width: 1101px) {
  section {
    min-height: 600px;
  }
}

main > section:last-child {/*20250408 update*/
    margin-bottom: 40px;
  }

/*ここ以下不要かな*/

/*----------------------------------------
見出し
----------------------------------------*/
/* .headline_01 */
.headline_01 {
  position: relative;
  margin: 0 0 2.5em 0;
  font-size: 33px;
  font-weight: 700;
  text-align: center;
  line-height: 1.45;
}

.headline_01::after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  margin: auto;
  width: 200px;
  height: 3px;
  background: #69c2e8;
}

/*----------------------------------------
#sec_top
----------------------------------------*/
#sec_top {
  padding: 50px 5vw 20px;
  background: #f8f5f0;
  background: linear-gradient(rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4)), url(../images/top3.webp);/* 20250408 update */
  /*background-image: url("../images/top3.webp");*/
  background-size: cover; /* 画像を要素に合わせてカバー */
  background-position: center; /* 画像を中央に配置 */
  background-repeat: no-repeat; /* 画像の繰り返しを無効 */
/*
  height: calc(100vh - 100px); *//*セクションの高さを画面全体に設定 */
  /*height: 100vh;  セクションの高さを画面全体に設定 */
  /*min-height: 700px;*/
}

#sec_top .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

#sec_top .inner .mv {
  /*margin: 0 0 30px 0;*/
  display: flex;
    flex-direction: column;
    /*height: calc(100vh - 200px);*/
    /*min-height: 700px;*/
}

#sec_top .inner .mv .lead {


  text-align: right;

  /*width: 60%;*/

  color: #452002;
  font-size: 25px;
  text-shadow: 2px 2px 5px #fff, -2px 2px 3px #fff, 2px -2px 3px #fff,
    -2px -2px 3px #fff;
  font-weight: 500;
  line-height: 1.2;


  margin: 0px 80px;
  line-height: 30px;
  font-size: 24px;
  font-weight: 700;

}

#sec_top .inner .mv .lead span {
  display: inline-block;
}
#sec_top .inner .mv .mv_title{
  display: flex;
  justify-content: flex-end; /* 右側に配置 */
  text-align: right;
}
#sec_top .inner .mv h2 {
  /*250129UPDATE*/
  margin: 20px 30px;
  line-height: 30px;
  font-size: 24px;
  font-weight: 700;
  color: #543e36;
  text-shadow: 2px 2px 5px #fff, -2px 2px 3px #fff, 2px -2px 3px #fff,
    -2px -2px 3px #fff;
    line-height: 5rem;
}
#sec_top .inner .mv h2 span {
  color: #085a07;
}
#sec_top .inner .mv h2 span {
  /*display: inline-block;*/
}

#sec_top .inner .mv h2 .txt_s {
  display: inline-block;
  font-size: 28px;
}

#sec_top .inner .mv h2 .txt_m {
  display: inline-block;
  font-size: 35px;
}

#sec_top .inner .mv ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 5px 0;
  padding: 0;
  list-style: none;
}

#sec_top .inner .mv li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 48.5%;
  margin-bottom: 15px;
  padding: 25px 5px;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(175, 106, 30, 0.3);
  border-radius: 10px;
}

#sec_top .inner .mv li span {
  display: inline-block;
}

#sec_top .inner .mv .btn {
  display: flex;
  justify-content: center;
  /*width: 500px;*/
  margin: 0 auto;
  padding: 60px 0px;
  margin-top: auto;
}
/*
#sec_top .inner .mv .mv_jp{
  background: rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  padding: 20px;
font-size: 13px;

}
#sec_top .inner .mv .mv_jp_logo img{
background-color: #FFF;
width: 200px;
}
#sec_top .inner .mv .mv_jp_copy_jp{
margin-left: 30px;
}
*/


.urgent{
  background-color: #FFF0F5;
  padding: 15px;
  }


#sec_top .inner .form h2 {
  margin: 0;
  padding: 10px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  background: #89dfe5;
}

#sec_top .inner .form h2 span {
  display: inline-block;
}

#sec_top .inner .form .inner {
  padding: 15px;
}


.divRow {
  max-width: 960px;
  min-height: 20px;
  margin: 0 auto;
  padding: 20px 0 0;
  /* overflow-x: hidden; */
  font-size: 0px;
}
.divRow .col {
  margin: 0 20px 0 0;
  display: inline-table;
  font-size: 14px;
  vertical-align: top;

}
.divRow .col .quarterTop {
  font-size: 0px;
  min-height: 160px;
  background: #CCC;
}
.quarterTop img {
  width: 100%;
  height: 160px;
}
.divRow .col .smallText {
  padding: 20px 15px 0;
  color: #666;
  /*height: 154px;*/
  overflow: hidden;
  background: #FFF;
}





.col .boxLink {
margin: 20px 0px 10px 0;
float: right;

  display: inline-block;
  width: auto;
  font-size: 12px;


  text-decoration: none;
  text-transform: uppercase;
  height: 14px;
  padding: 6px 30px 8px 8px;

  border: 1px solid #999;

  margin: 0 20px 10px 0;
  line-height: 16px;
}





.divRow .col {
  margin: 0 20px 0 0;
  display: inline-table;
  font-size: 14px;
  vertical-align: top;
}
.divRow .altLink {
  border-bottom: 1px solid #AAA;
  padding: 15px 5px 15px 5px;
}
.divRow .altLink p {
  font-size: 11px;
  margin: 0;
  color: #666;
}
.w200 {
  width: 260px;
}
.wauto{
width: calc(100% - 260px - 49px);
}
.spdn{
display:block;
}
@media screen and (max-width: 748px) {
.divRow {
  margin-bottom: 0px;
}

.standardRow{
padding: 0 25px;
}



.divRow .col.spdn{
display: none;
}

.divRow .wauto{
  width: auto;
  margin: 0 20px 0 20px;
}
}

/*----------------------------------------
#section all
----------------------------------------*/
.smb-section__subtitle {
  color: #085a07;
  text-align: center;
}

.smb-section__title {
  font-size: 28px;
  text-align: center;
  line-height: 1.8;
  margin-top: 10px;
}
.smb-section__title:after {
  background-color: #085a07;
  content: "";
  display: block;
  height: 1px;
  margin: 22px auto;
  width: 60px;
}
.smb-section__lede {
  margin: 60px 60px 0px 60px;
}
.smb-section__lede > h3{
  margin: 40px 0px 0px 0px;
}
.smb-section__lede > p{
  margin: 30px 0px 20px 0px;
  
}
.smb-section__lede > ul{
  padding-left: 20px;
}
.smb-section__lede > ol{
  padding-left: 20px;
}
.c-row__col {
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
  flex: 1;
font-size: 14px;
position: relative;
display: inline-block;
}
.c-row__col .overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6); /* 白いオーバーレイ、透明度調整 */
  pointer-events: none; /* クリックなどの操作を画像に通す */
}
.c-row__col .c-title_text{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  font-size: 18px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* 文字に影をつける */
  text-align: center;
  color: #452002;
}
.c-row__col a {/* 20250408 update */
  font-weight: normal;
  white-space: nowrap;
}
/*下層*/
.anno{
  list-style:  none;  /* デフォルトのアイコンを消す */
  }
  .anno li{
  position: relative;
      padding-left: 1em; /* 記号分のスペースを確保 */
      text-indent: -1.4em; /* 改行時に本文をそろえる */
  }
  
                    .anno li:before {
      content:  "＊";     /* 空の要素作成 */
      /*width:  10px;*/               /* 幅指定 */
  
  
  }
.intro_fu{
  margin-right: 30px;
}

/*４枚パネル*/
.fleximgnemu{
  display: flex;
      flex-wrap: wrap;

}
.flexcenterh100{
text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.flexcenter{
  text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;

  }
  /*-------------下層------------*/

#sec_header {
  padding: 50px 5vw 20px;
  background: #f8f5f0;
  height: 200px;
  min-height: 200px;
  background-color: rgba(255, 255, 255, 0.1); /* 白にモヤがかかる */
  background-image: url("../images/toplow2.webp"); /*250408update*/
  background-size: cover; /* 画像を要素に合わせてカバー */
  background-position: center; /* 画像を中央に配置 */
  background-repeat: no-repeat; /* 画像の繰り返しを無効 */
  background-blend-mode: lighten;
}
#sec_header .headtext h2{
  font-size: 22px;
  padding-top: 30px;
}

#sec_header .breadcrumbs{
  padding-left: 0px;
  font-size: 14px;
  padding-top: 30px;
}

#sec_header .breadcrumbs li {
  display: inline-block;
}
#sec_header .breadcrumbs li:after {
  content: " > ";
  width: 1em;
}
#sec_header .breadcrumbs li:last-child:after {
  content: "";
}

.ikiiki {
  color: #427eb5;
  font-size: 130%;
}

/*下層 beforeより*/
.facepic img {
  width: 300px;
}
.w100per{
  width: 100%;
}
.m30{
  margin: 30px 0px;
}
.mt5 {
  margin-top: 5px;
}
.mt30 {
  margin-top: 30px;
}
.ml60 {
  margin-left: 60px;
}
.mr30{
  margin-right: 30px;
}
.flo_r {
  float: right;
}
.mt20 {
  margin-top: 20px;
}
.mb20{
  margin-bottom: 20px;
}
.w300{
  width: 300px;
}
.w100p{
  width: 100%;
}
.flex-wrap-nowrap{
  flex-wrap:nowrap;
}
.t_center{
  text-align: center;
}
.clear2 {
  clear: both; /* 左右両方の浮動要素を解除 */
}
.precautions{
  border-radius: 20px;
background-color: #EEE;
text-align: left;
padding: 20px 30px;
font-size: 18px;
text-align: center;

}
@media screen and (max-width: 840px) {
  .precautions{
    font-size: 16px;
  }
}
.resul {
  display: table;
  border-collapse: separate;
  border-spacing: 5px 0;
}

.resul .resli {
  padding: 10px;
  display: table-cell;
  vertical-align: top;
}
.resli {
list-style: none;
}
@media screen and (max-width: 840px) {
  .resul .resli {
      display: block;
  }
}
.vaccinationsarea {
  display: flex;
  font-size: 14px;
  flex-wrap: wrap; /* 折り返しを可能にする */
  gap: 10px;
  margin-top: 10px;
}
.vaccinationsarea div {
  flex: 1;
  text-align: center;
  margin: 20px 20px;
}
@media (max-width: 660px) {
.vaccinationsarea div {
flex: 0 0 80%; /* 50%幅にして2列にする */
margin: 0px 20px 0px 20px;
}
}

.vaccinationsitem {
display: inline-flex; /* タイトルの長さに合わせる */
align-items: center;

font-weight: bold;
position: relative;
padding-left: 20px; /* 三角形の分の余白 */
}

.vaccinationsitem::before{
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
border-left: 6px solid #9c8570; /* 小さい右向き三角形 */
}
.vaccinationsitem::after {
content: "";
position: absolute;
left: 0;
bottom: -3px; /* 文字の下に配置 */
width: 100%; /* 文字と同じ幅の下線 */
height: 1px;
background-color: #9c8570;
}
.vaccinationsitem a:hover {
  text-decoration: none;
}
.bcf3f2ef{
  background-color:#f3f2ef;
}
.numberofdeliveries{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.nod_left{
  display: flex;
  margin-bottom: 30px;
  margin: 20px 0px 20px 0px;
  width: 50%;
  flex-direction: column;
}
.nod_number{
  color: #085A07;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.w50p{
  width:50%;
}
.ta-center{
  text-align: center;
}    
.ta-right{
text-align: right;
}
.iframe-container {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
                  }
                  .iframe-container iframe {
    width: 100%;
    height: 100%;
    border: none;
  }
                  /* スマホや小さな画面で横スクロールバーが表示されるように */
  @media (max-width: 777px) {
    .iframe-container {
      width: 85vw; /* ビューポートの幅に合わせる */
    }
    .iframe-container iframe {
      width: 100%; /* 100% より大きくして、横スクロールバーを出す */
    }
  }


  .flexcelltable{
    display: flex
;
flex-wrap: wrap;
justify-content: space-between;
    }
    .flex1{
      flex: 1;
    }
    .mr30{
      margin-right: 30px;
    }
    .imgboxcenter{
min-width: 200px;
      }
    @media screen and (max-width: 777px) {
      .flexcelltable {
display:block; 

}
    .imgboxcenter{

    margin-top: 30px;
    display: flex
;
justify-content: center;
width: 100%;
    }
  }

/*info*/

.infolist{
  margin: 30px 0px;
}
.infolist .inforeleasedate{
  

}
.infolist .infotitle{
  font-size: 19px;
  margin-bottom: 20px;



  color: #085A07;

    vertical-align: baseline;
    display: inline-block;

    line-height: 2;
}
.infolist .infobody::after{
    background-color: #085a07;
    content: "";
    display: block;
    height: 1px;
    margin: 42px auto;
    width: 60px;
}



/*下層　ボタン*/
.downloadbtn{
  margin: 30px;
  margin: 0 auto;
  padding-top: 10px;
  max-width: 400px;
}
.downloadbtn a{
  display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    /*height: 100%;*/
    padding: 10px 15px;
    border: 1px solid #cdad83;
    border-radius: 50px;
    font-size: 14px;
    text-align: center;
    transition: color 0.2s, background 0.2s;
}
/*費用はこちら　ボタン*/
.childbirthbtn{
  margin: 30px;
}
.childbirthbtn a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 10px 15px;
    border: 1px solid #cdad83;
    border-radius: 50px;
    font-size: 14px;
    text-align: center;
    transition: color 0.2s, background 0.2s;
}
.lower_menu li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  /*height: 100%;*/
  padding: 10px 15px;
  border: 1px solid #cdad83;
  border-radius: 50px;
  font-size: 14px;
  text-align: center;
  transition: color 0.2s, background 0.2s;
  background-color: #FFF;
}
/*table表示*/
.childbirth_obverse{
  margin: 0 auto;
  max-width: 1100px;
}
.childbirthtable{
  border-collapse: collapse;
  border: 1px solid #cdad83;
  width: 100%;
  border-color: #cdad83;
  background-color: #ede8dc;
}
.childbirthtable td:last-child {
text-align: right;
background-color: #FFF;
}
/*gynecology*/
.gynecologytable{
  border-collapse: collapse;
  border: 1px solid #cdad83;
  width: 100%;
  border-color: #cdad83;
  background-color: #FFF;
}
.gynecologytable th{
  background-color: #ede8dc;
  border-collapse: collapse;
  border: 1px solid #cdad83;
}
.gynecologytable td {
  background-color: #FFF;
  border-collapse: collapse;
  border: 1px solid #cdad83;
  padding: 8px;
}
.gynecologytable td:first-child {
  background-color: #ede8dc;
  border-collapse: collapse;
  border: 1px solid #cdad83;
}
.childbirthtable.td2left td:last-child{
  text-align: left;
}

.table100 .gynecologytable td{
  text-align: left;
  background-color: #FFF;
}

/*birthguide_ad*/
.flexcontainer {
  display: flex;              /* 横並びにするための flex コンテナ */
  flex-direction: row;        /* 横並び */
  justify-content: flex-start; /* 左寄せ */
  align-items: flex-start;     /* 上揃え */
  gap: 10px;                   /* 画像とテキストの間に隙間 */
}

.flexcontainer .image-div {
  width: 300px;               /* 画像の幅を300pxに固定 */
}

.flexcontainer .text-div {
  flex-grow: 1;               /* テキストが残りの幅を埋める */
  word-wrap: break-word;      /* 長い単語も折り返す */
  white-space: normal;       /* テキストの改行を有効にする */
  overflow-wrap: break-word; /* 長すぎる単語の折り返しを有効にする */
  flex: 1;
  padding-right: 30px;
}

.flexcontainer img {
  width: 100%;                /* 画像が親要素にフィットするように */
  height: auto;               /* 画像の高さを自動調整 */
}

.flexcontainer .text-div-right {
  flex-grow: 1;               /* テキストが残りの幅を埋める */
  word-wrap: break-word;      /* 長い単語も折り返す */
  white-space: normal;       /* テキストの改行を有効にする */
  overflow-wrap: break-word; /* 長すぎる単語の折り返しを有効にする */
  flex: 1;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .flexcontainer {
    flex-direction: column; /* ← スマホでは縦並び */
  }
  .flexcontainer .image-div {
    width: auto;
    max-width:300px;
    margin: 0 auto;
    padding-top: 30px;
  }
}




/* 各ボタン　マウスオーバー時 *//* 20250408 update */
.downloadbtn a:hover, 
.childbirthbtn a:hover, 
.lower_menu li a:hover {
  background-color: #f0e6da;
  transition: background 0.3s 0.1s ease-in-out;
  text-decoration: none;
}
.lower_menu{
display: flex;
flex-wrap: wrap; /* 折り返し */
width: 100%;
padding: 0;
list-style: none; /* リストマーカー削除 */
gap: 10px; /* 横と縦に余白を設定 */

}
.lower_menu li{
width: calc(33.333% - 30px); /* gap の影響を考慮 */
box-sizing: border-box;
text-align: center;
background-color: transparent;

    margin: 10px;
}

.radiusbox {
  background-color: beige; /* 背景色をベージュに */
  border-radius: 10px; /* 角を丸くする */
  padding: 20px;
  margin-bottom: 20px;
}
.womens_jp_logo{
  display: flex;
    justify-content: center;
}
.womens_jp_logo a{
border: 1px solid black;
}
/*a 外部リンク*/
.outlink::after {
  /*
  content:"";
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-left: 5px;
    background:url("../images/outlink.png") no-repeat scroll left center transparent;
    background-size: contain;
*/
    margin: 0 0 0 3px;
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    font-weight: 900;
    }
    .thumbnail300{
      text-align: left;
      height: 300px;
      width: 300px;
    }
    .thumbnail300 img{
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: left;
    }




    .table100{
      padding: 30px 10px;
    }
    




    #outpatient_charge_table .drname{
      color: #333;
        float: left;
        font-size: 12px;
        font-weight: bold;
        margin: -4px 5px 0 8px;
        text-align: center;
        width: 122px;/*82px;*/
        margin-right: 30px;
        margin-bottom: 30px;
        padding: 10px;
        font-size: 16px;
      }
      #outpatient_charge_table .drname img{
        width: 100%;
        height: auto;
      }
      #outpatient_charge_table #hover-display{
                        overflow: hidden;
                        transition: opacity 1.5s ease;
    
    
      opacity: 1;
    
                        }
                        #outpatient_charge_table #hover-display.fade {
      opacity: 0;
    }
    
    #outpatient_charge_table #hover-display h5{
        text-align: center;
        font-size: 16px;
      }
      #outpatient_charge_table #hover-display dl {
                          /* popup */
                          color: #333;
                          clear: right;
                          float: left;
                          font-size: 12px;
                          text-align: left;
                          padding: 5px;
                          margin-top: -8px;
                          display: flex;
      flex-wrap: wrap;
      width: calc(100% - 122px - 40px);
                        }
                        #outpatient_charge_table .dr_careerpop{
                          
    
                          width: 800px;
                        }
                        
    
    
    
    
                        #outpatient_charge_table #hover-display dl dd{
                          
                          width: 70%;
                        }
                        #outpatient_charge_table #hover-display dl dt{
                          width: 15%;
                        }
                        @media screen and (max-width: 748px) {
    
                          #outpatient_charge_table #hover-display{
                          display: none;
                        }
                      }
#outpatient_charge_table table.timetb {
                      background-color: #fff;
                      border: #888 solid 1px;
                      text-align: center;
                      color: #000;
                      table-layout: fixed;
                      margin: 0 auto;
                      margin-top: 30px;
                    }
                    #outpatient_charge_table .bl1dd_gry {
                      border-left: #555 dotted 1px;
                    }
                    #outpatient_charge_table .f10 {
                      font-size: 12px !important;
                    }

                    /*------- Dr's career */
                    #outpatient_charge_table div.dr_career {
                      margin-bottom: 40px;
                    }
                    /* dl dd */
                    #outpatient_charge_table .dr_career dl {
                      color: #333;
                      clear: right;
                      float: left;
                      font-size: 14px;
                      text-align: left;
                      padding: 5px 5px 0;
                      margin-top: -8px;
                    }
                    #outpatient_charge_table .dr_career dl dt {
                      float: left;
                      width: px;
                    }
                    #outpatient_charge_table .dr_career dl dd {
                      clear: right;
                      padding-left: 80px;
                      padding-left: 10px;
                    }
                    #outpatient_charge_table .dr_careerpop dl {
                      /* popup */
                      color: #333;
                      clear: right;
                      float: left;
                      font-size: 12px;
                      text-align: left;
                      padding: 5px;
                      margin-top: -8px;
                      width: 290px;
                    }
                    #outpatient_charge_table .dr_careerpop dl dt {
                      float: left;
                      width: 60px;
                    }
                    #outpatient_charge_table .dr_careerpop dl dd {
                      clear: right;
                      padding-left: 70px;
                      padding-left: 10px;
                    }
                    /* popup */
                    #outpatient_charge_table a.pop {
                      text-decoration: none;
                    }
                    #outpatient_charge_table a.pop:link {
                      /*color: #fff !important;*/
                    }
                    #outpatient_charge_table a.pop:visited {
                      color: #fff !important;
                    }
                    #outpatient_charge_table a.pop:hover {
                      color: #085a07 !important;
                      position: relative;
                    }
                    #outpatient_charge_table a.pop.hov_83ac83:hover {
                      color: #83ac83 !important;
                      position: relative;
                    }
                    #outpatient_charge_table a.pop:hover .dr_careerpop {
                      /*display: block;*/
                    }
                    #outpatient_charge_table .dr_careerpop {
                      background: #fff;
                      border: 1px #996633 solid;
                      display: none;
                      position: absolute;
                      left: -13em;
                      top: 3em;
                      width: 400px;
                    }
                    /* img (MugShot) */
                    #outpatient_charge_table .dr_career h5 + img {
                      border: #c6ae96 1px solid;
                      float: left;
                      margin-right: 18px;
                    }
                    #outpatient_charge_table .dr_careerpop h5 + img {
                      /* popup */
                      border: #c6ae96 1px solid;
                      float: left;
                      margin: 0 5px 0 8px;
                    }
                    #outpatient_charge_table div.drname > img {
                      /* popup */
                      border: #c6ae96 1px solid;
                      margin-top: 5px;
                      /*	margin: 0 5px 0 8px;*/
                    }

                    #outpatient_charge_table .dr_career .notpic {
                      border: none;
                      width: 132px;
                      height: 152px;
                      display: block;
                    }

                    /* dr name */
                    #outpatient_charge_table .dr_careerpop h5 + div.drname,
                    #outpatient_charge_table .dr_careerpop h5 + div.drname + dl + div.drname {
                      /* popup */
                      color: #333;
                      float: left;
                      font-size: 12px;
                      font-weight: bold;
                      margin: -4px 5px 0 8px;
                      text-align: center;
                      width: 82px;
                    }

                    @media screen and (max-width: 641px) {
                      #outpatient_charge_table .timetb tr td a {
                        writing-mode: vertical-rl;
                        white-space: nowrap;
                        text-orientation: upright;
                        vertical-align: top;
                        padding-bottom: 10px;
                        padding-top: 10px;
                      }
                      #outpatient_charge_table .timetb tr td {
                        writing-mode: vertical-rl;
                        white-space: nowrap;
                        text-orientation: upright;
                        vertical-align: top;
                      }
                      #outpatient_charge_table .tr {
                        writing-mode: vertical-rl;
                        white-space: nowrap;
                        text-orientation: upright;
                        vertical-align: top;
                        font-size: none;
                        padding-bottom: 10px;
                        padding-top: 10px;
                      }
                      /* popup */

                      #outpatient_charge_table a.pop:hover .dr_careerpop {
                        display: none;
                        pointer-events: none;
                        text-decoration: none;
                      }
                    }

                    #outpatient_charge_table .pop {
                      display: inline-block !important;
                    }
                    #outpatient_charge_table .w100per {
                      width: 100%;
                    }
                    @media screen and (max-width: 641px) {
                      #outpatient_charge_table .w100per {
                        width: auto;
                      }
                    }    

                    .bookmark-title {
                      position: relative;
                      padding-left: 24px;
                      font-size: 1.1em;
                      font-weight: bold;
                      line-height: 1.5;
                    }
                    
                    h5.bookmark-title::before {
                      content: "";
                      position: absolute;
                      left: 0;
                      top: 7px;
                      width: 12px;
                      height: 14px;
                      background-color: #cdad83; /* 赤系カラー */
                      clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 80%, 0 100%);
                    }
/*----------------------------------------

.cs_footer

----------------------------------------*/
.cs_footer {
  padding: 80px 5vw 40px;
  color: #9c8570;
  background: #ede8dc;
}

.cs_footer .inner {
  width: 100%;
  max-width: 828px;
  margin: auto;
  text-align: center;
}

.cs_footer .inner p {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
}


.cs_footer .inner .footertitle{
  color: #452002;
  font-size: 28px;
  margin-bottom: 6px;
}
.cs_footer .inner .footerdesc{
  font-size: 20px;
  
}

.cs_footer .inner .footer_nav {
  font-size: 14px;
}
.cs_footer .inner .footer_nav_title {
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
  color: #452002;
}


.cs_footer .inner .mail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 48%;
  padding: 20px 10px;
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  background: #f3e4b4;
  border-radius: 40px;
}

.cs_footer .inner .mail:hover {
  color: #f3e4b4;
  background: #fff;
}


.cs_footer .inner .footer_nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; /* 各メニュー項目の間隔を調整 */
  justify-content: space-between;
  margin: 0 auto;
  text-align: left;
  margin-top: 50px;
}
.cs_footer .inner .footer_nav .footer_nav_col {
  width: calc(100% / 3 - 20px);
}
.footercopyright {
  text-align: center;
  font-size: 1rem;
  padding: 20px;
  background-color: #fff;
  width: 100%;
}
.mvli a{
  display: inline-flex
  ;
      align-items: center;
      gap: 18px;
}



@media screen and (min-width: 1100px) {
  .smb-section__lede-wrapper {
    margin: 0px 50px;
  }
}


/*------------*/
/*--@media screen--*/
/*------------*/


@media screen and (min-width: 1200px) {/*250408 UP DATE*/
  main {
    background: url(../images/bk3.webp) center bottom / 1200px no-repeat;/
  }
  main > section:nth-of-type(2) {
    background: url("../images/bklow2.webp") right top / 1200px no-repeat;
  
    width: 100%;
  }
  main > section:nth-of-type(3) {
    background: url("../images/bklow3.webp") left top / 1200px no-repeat;
  
    width: 100%;
  }
  main > section:nth-of-type(4) {
    background: url("../images/bklow4.webp") right top / 1200px no-repeat;
  
    width: 100%;
  }
  main > section:nth-of-type(5) {
    background: url("../images/bklow5.webp") left top / 1200px no-repeat;
    width: 100%;
  }
  main > section:nth-of-type(6) {
    background: url("../images/bklow6.webp") right top / 1200px no-repeat;
    width: 100%;
  }
  main > section:nth-of-type(7) {
    background: url("../images/bklow7.webp") left top / 1200px no-repeat;
    width: 100%;
  }
  main > section:nth-of-type(8) {
    background: url("../images/bklow8.webp") right top / 1200px no-repeat;
    width: 100%;
  }
  main > section:nth-of-type(9) {
    background: url("../images/bklow1.webp") left top / 1200px no-repeat;
    width: 100%;
  }
  main > section:nth-of-type(10) {
    background: url("../images/bklow2.webp") right top / 1200px no-repeat;
    width: 100%;
  }
  
}
@media screen and (max-width: 1000px) {
    .cs_header .headerrighterea .h_access {
    margin-right: 6px;
    margin-left: 0px;
  }
}
@media screen and (max-width: 900px) {
  .flex2{
    display:block;
  }
  .dr_prof_pic img{
    height: 150px;

  }
  .cs_header .headerrighterea .h_access {
    display: none;
  }
}

@media screen and (max-width: 777px) {

}


@media screen and (max-width: 980px) {
  #sec_top .inner .mv .btn{
  flex-wrap: wrap;
  }
  #sec_top .inner .mv .btn div{
    flex: 1 1 45%;
    margin-bottom: 10px;
  }
  .c-row__col a {/* 20250408 update */
    white-space: wrap;
  }
  .c-row__col .c-title_text {
    font-size: 14px;
  }
}
/*画面幅が480px以下の場合に適用される*/
@media screen and (max-width: 480px) {
  .lower_menu{
    display:block;
    flex-wrap: wrap; /* 折り返し */
    width: 100%;
    padding: 0;
    list-style: none; /* リストマーカー削除 */
    gap: 10px; /* 横と縦に余白を設定 */

    }
    .smb-section__lede > ul {
      padding-left: 20px;/*0px*/
  }
    .lower_menu li {
      width: 100%;
      margin: 10px 0px;
    }
    #sec_top .inner .mv h2 {
      font-size: 14px;

      
      /*font-size: 4.4vw;*/
    }
    .cs_footer .inner .footer_nav {
      display: block;
      flex-wrap: inherit;
      justify-content: inherit;
      width: 100%;
    }
    .table100{
      padding: 20px 0px;
    }
  
  
    .cs_footer .inner .footer_nav .footer_nav_col {
      width: 100%;
    }
}
@media screen and (min-width: 777px) and (max-width: 880px) {
  #sec_problem li p {
    font-size: 1.7vw;
  }
}

@media screen and (min-width: 777px) and (max-width: 850px) {
  #sec_reason li {
    width: 48%;
  }

  #sec_reason li .pc {
    display: none !important;
  }
}
/*画面幅が777px以上835px以下の範囲に適用される*/
@media screen and (min-width: 777px) and (max-width: 835px) {
}
/*画面幅が777px以下の場合に適用される*/
@media screen and (max-width: 777px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  img {
    max-width: 100%;
    height: auto;
    width: auto;
  }
  body {
    min-width: auto !important;
    overflow: inherit !important;
  }
  div,
  p,
  dd,
  dl,
  dt,
  th,
  td,
  span,
  li {
    box-sizing: border-box;
  }

  .btn_01 {
    width: 230px;
  }

  .hamburger-menu {
    visibility: visible;
  }
  section h3{
    font-size: 16px;
  }
  section h4{
    font-size: 16px;
  }
  .flex {
    display: block;
  }
  .fleximage {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    padding: 30px;
  }

.fleximageright {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  padding: 30px;
}
  /*----------------------------------------

.cs_header

----------------------------------------*/
  .cs_header {
    /*height: 64px;*/
  }
  .cs_header .inner {
    /*height: 55px;*/
    padding: 0 3vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    height: 60px;
    max-width: 1440px;
    margin: 0 auto;
  }

  .cs_header .inner h1 {
    display: flex;
    align-items: center;
    /*height: 55px;*/
    margin: 0 auto;
  }


  .cs_header .inner .headerrighterea .h_tel{
    display: none;
  }

  .cs_header .inner .sptopbar {
    display: flex;
    flex-wrap: wrap;
    z-index: 100;
    background:#ede8dc;
    right: 0;
    font-size: 14px;
    align-items: flex-start;
    text-align: right; 
    justify-content: center;
  }
  
  .cs_header .sptopbar .h_tel{
    padding: 0 10px;
  
    line-height: 1.2;
  }
  .cs_header .sptopbar .h_tel .h_telno{
    font-size: 16px;
    display:flex;
    align-items: end;
    display: flex
  ;
  }
  .cs_header .sptopbar .h_tel .h_telno img{
    margin: 6px 0px;
    width: 16px;
        height: 16px;
  
    }
    .cs_header .sptopbar .h_tel .h_telno a{
      padding: 10px 0px 6px 4px;
      }
    .cs_header .sptopbar .h_reserve, /* 250408 update */
    .cs_header .sptopbar .h_access {
      padding: 10px;
      background-color: #cdad83;
      border-radius: 5px;
      margin-right: 10px;
      transition: all 0.2s;
      margin: 10px;
    }
    .cs_header .sptopbar .h_reserve:hover, /* 250408 update */
    .cs_header .sptopbar .h_access:hover {
      cursor : pointer;
      background-color: #f0e6da;
      transition: all 0.3s 0.1s ease-in-out;
    }
    .cs_header .sptopbar .h_reserve a, /* 250408 update */
    .cs_header .sptopbar .h_access a {
      color: #452002;
      text-decoration: none;
      padding: 0px 10px;
    }

  .cs_header .inner .header_right {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .cs_header .inner h1 img {
    height: 40px;
}
  .cs_header .inner .headerfixed {
    position: fixed;
    padding-top: 0px;
    padding: 10px 15px;
    background-color: #fff;
    opacity: 0.9;
    z-index: 1;
  }
  .child_menu {
    /* 下層メニューのスタイル */
    width: 100%;
    position: static;
    top: 100%; /* 親項目の直下に配置 */
    left: 0;
    padding: 30px;
    color: #333; /* 文字色 */
    background: #ede8dc; /* 背景色 */
    visibility: visible; /* 下層メニューを非表示 */
    opacity: 1; /* 非表示状態 */
    transform: none;
    transition: transform 0.3s ease, opacity 0.3s ease; /* アニメーション設定 */
  }
  .child_menu li{
    margin: 0 10px;
  }
  .menu:hover .child_menu {
    /* 下層メニューのスタイル（親項目ホバー時） */
    visibility: visible; /* 下層メニューを表示 */
    opacity: 1; /* 表示状態 */
    transform: translateY(0); /* 元の位置に移動 */
  }

  .menu__box {
    position: fixed;
    left: -100%;
    /*box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);*/
    overflow-y: scroll;
    z-index: 9;
  }
  .menu__box_nav {
    flex-direction: column; /* 縦並びに設定 */
    display: flex;

    margin: 0px;
  }

  .menu__box_nav .menu a{
    text-align: center;
  }

  .menu__box_sp {
  }
  .menu__box_sp .spheaderlogo {
    display: block;
    margin-top: 15px;
    margin-bottom: 10px;
  }
  .menu__box_sp .spheaderlogo img {
    height: 40px;
  }

  .menu__box_sp .spheaderbottom {
    display: block;
  }
  .menu__btn {
    display: block;
  }

  .menu:hover > a {
  background: #FFF;
  
}
  /*----------------------------------------

main

----------------------------------------*/
  main {
    padding-bottom: 24px;
  }
  section{
    padding-bottom: 50px;
    padding-top: 100px;
  }
  .smb-section__header {
    margin: 0px;
  }
  /*----------------------------------------
見出し
----------------------------------------*/
  /* .headline_01 */
  .headline_01 {
    font-size: 6vw;
  }

  .headline_01::after {
    bottom: -4vw;
    width: 21vw;
  }



  #sec_header .headtext h2{

    padding-top: 0px;
  }

  /*----------------------------------------
#sec_top
----------------------------------------*/
  #sec_top {
    padding: 12vw 5vw 6.6vw;
    /*background: #f8f5f0;
    background-image: url(../images/top3.webp);*/
    background-size: cover;
    height: auto;
  }

  #sec_top .inner .mv {
    width: 100%;
    /*margin: 0 0 8vw 0;*/
  }

  #sec_top .inner .mv .lead {
    font-size: 4.4vw;
    /*width: 100%;
    margin: 40px 20px;*/
    margin: 0px 0px;
    /*margin: 40px 20px;*/
  }
  #sec_top .inner .mv .btn {
    width: 100%;
    display: block;
    padding: 30px 0px;
  }
  #sec_top .inner .mv .btn a.btn_01 {
    width: 100%;
    margin-bottom: 20px;
    margin-left: 0px;
    padding: 0.3rem 2.8rem;
  }
  #sec_top .inner .mv h2 {
    font-size: 16px;
    width: auto;
    margin: 0px;
    line-height: 3rem;
    
    /*font-size: 4.4vw;*/
  }
  #sec_top .inner .mv .mv_title{
    justify-content: normal;
    text-align: left;
  }
  #sec_top .inner .mv h2 .txt_s {
    display: inline-block;
    font-size: 5.6vw;
  }

  #sec_top .inner .mv h2 .txt_m {
    display: inline-block;
    font-size: 6.9vw;
  }

  #sec_top .inner .mv ul {
    margin: 0 0 3.2vw 0;
  }

  #sec_top .inner .mv li {
    width: 48.5%;
    margin-bottom: 2vw;
    padding: 2.5vw 0.5vw;
    /*font-size: 3.2vw;*/
    box-shadow: 0px 0px 2vw 0px rgba(175, 106, 30, 0.3);
    border-radius: 2vw;
  }


  #sec_top .inner .mv .mv_jp_copy_jp{
    margin-left: 0px;
  }




 

  #sec_top .inner .form {
    width: 100%;
    margin-bottom: 0;
  }

  #sec_top .inner .form h2 {
    padding: 2.6vw;
    font-size: 3.4vw;
  }

  #sec_top .inner .form .inner {
    padding: 4vw;
  }
  #sec_header {
    padding: 50px 5vw 20px;
    background: #f8f5f0;
    height: 200px;
    background-color: rgba(255, 255, 255, 0.1); /* 白にモヤがかかる */
    background-image: url("../images/toplow2.webp"); /*250129update*/
    background-size: cover; /* 画像を要素に合わせてカバー */
    background-position: center; /* 画像を中央に配置 */
    background-repeat: no-repeat; /* 画像の繰り返しを無効 */
    background-blend-mode: lighten;
  }
  #sec_header .headtext{
    font-size: 18px;
    padding-top: 10px;
  }
  
  #sec_header .breadcrumbs{
    padding-left: 0px;
    font-size: 12px;
    padding-top: 30px;
  }
  
  #sec_header .breadcrumbs li {
    display: inline-block;
  }
  #sec_header .breadcrumbs li:after {
    content: " > ";
    width: 1em;
  }
  #sec_header .breadcrumbs li:last-child:after {
    content: "";
  }
  .smb-section__title {
    font-size: 18px;
    text-align: center;
    line-height: 1.8;
    
    margin: 10px 20px;
  }
  .smb-section__lede {
    margin: 20px 20px;
  }

  .downloadbtn{

  
    max-width: 300px;
  }

/*下層*/
.intro_fu{
  margin-right: 0px;
}
.facepic {
  display: flex;
  
  width: 100%;
}
.facepic img{
  padding: 10px;
  margin-left: 0px;
}
/*４枚パネル*/
.fleximgnemu{
  display: flex;
      flex-wrap: wrap;

}
.card {
  display: block;
}
.card .card_copy {
  width: 100%;
}
.card .card_img {
  width: 100%;
}

/*table*/


  .gynecologytable {
    width: 100%;
  }
  .gynecologytable .thead {
    display: none;
  }
  .gynecologytable tr {
    width: 100%;
  }
  .gynecologytable td {
    display: block;
    text-align: left;
    width: 100%;
  }
  .gynecologytable td:first-child {
    /*background: #754;
    color: #fff;
    font-weight: bold;*/
    text-align: center;
  }
  .gynecologytable td:first-child::before {
    display: none;
  }
  .gynecologytable td:before {
    content: attr(data-label);
    display: block;
    color: #085a07;
    
  }

  .table100 .gynecologytable td:first-child{
    background-color: #ede8dc;

  }
  .table100 .gynecologytable td:nth-child(2){
    color: #085A07;
    background-color: #FFF;
  }


.c-row__col {
width: 50%;
  flex: none;
  margin-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px;

    position: relative;
  display: inline-block;

}
.c-row__col .overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6); /* 白いオーバーレイ、透明度調整 */
  pointer-events: none; /* クリックなどの操作を画像に通す */
}
.c-row__col .c-title_text{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  font-size: 18px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* 文字に影をつける */
  text-align: center;
  width: 94%;
}
.flex_wrap {

  margin-bottom: 30px;
  margin: 0px 0px;
}
.flex_wrap .flextext{
  width: 100%;
}
.smb-section__lede > p {
  margin: 10px 0px;
}
.ovalwindow {

  border-radius: 10px;
  margin: 15px 0px 15px 0px;
    padding: 10px 10px 15px 20px;
    background: linear-gradient(90deg, rgb(220, 237, 231,0.3), rgb(156, 133, 112,0.3));

}
.mr30{
  margin-right: 0px;
}

  /*----------------------------------------

.cs_footer

----------------------------------------*/
  .cs_footer {
    padding: 14vw 5vw;
  }






}

