@charset "utf-8";

/* ============================================
   TOPページ ヘッダー透過
   ============================================ */
header{
  background-color:transparent;
}

/* ============================================
   MV セクション
   ============================================ */
#mv{
  margin-top:-100px;
  text-align:left;
}
#mv .mv_inner{
  position:relative;
  width:calc(100% - 40px);
  margin-left:auto;
  height:max(580px, 36vw);
  border-radius:0 0 0 30px;
  overflow:hidden;
}
#mv .mv_slides{
  position:absolute;
  top:0; left:0;
  width:100%; height:100%;
}
#mv .mv_slide{
  position:absolute;
  top:0; left:0;
  width:100%; height:100%;
  opacity:0;
  -webkit-transition:opacity 1.5s ease;
  transition:opacity 1.5s ease;
}
#mv .mv_slide.active{ opacity:1; }
#mv .mv_slide img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:right center;
}
#mv .mv_overlay{
  position:absolute;
  top:0; left:0;
  width:50%; height:100%;
  background:linear-gradient(to right, #EBECEE 0%, #EBECEE 30%, rgba(235,236,238,0) 100%);
  z-index:2;
}
#mv .mv_content{
  position:absolute;
  left:56px;
  top:262px;
  z-index:3;
  color:#4A3940;
}
#mv .mv_tit{
  font-size:36px;
  font-weight:500;
  letter-spacing:3.6px;
  line-height:1.8;
}
#mv .mv_txt{
  margin-top:8px;
  font-size:22px;
  font-weight:500;
  letter-spacing:1.1px;
  line-height:1.8;
}
#mv .mv_em{
  color:#F27480;
  font-weight:bold;
}
#mv .mv_bubbles{
  position:absolute;
  left:270px;
  top:365px;
  width:326px;
  height:191px;
  z-index:1;
  pointer-events:none;
}
#mv .mv_bubbles img{ width:100%; height:100%; }


/* ============================================
   お知らせセクション
   ============================================ */
#notice{
  padding-top:80px;
}
#notice .notice_box{
  max-width:960px;
  margin:auto;
  padding:min(5vw,50px) min(5.6vw,64px);
  background:#fff;
  border:2px solid #D7D0CB;
  border-radius:15px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

#notice .notice_head{
  flex-shrink:0;
  margin-right:min(4vw,40px);
}
#notice .notice_head h2{
  font-size:min(2.2vw,22px);
  letter-spacing:0.1em;
  text-align:left;
  line-height:1.4;
}
#notice .notice_head .view_link{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:0.5em;
  margin-top:1.5em;
  font-size:min(1.6vw,16px);
  letter-spacing:0.1em;
  color:#F4616F;
}
#notice .notice_head .view_link:hover{
  opacity:0.6;
}
#notice .notice_head .view_link img{
  width:1.2em;
}

#notice .notice_body{
  flex:1;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  min-width:0;
}

#notice .notice_scroll{
  flex:1;
  max-height:152px;
  overflow-y:auto;
  -ms-overflow-style:none;
  scrollbar-width:none;
  min-width:0;
}
#notice .notice_scroll::-webkit-scrollbar{
  display:none;
}

/* お知らせリスト */
#notice .notice_list li:nth-child(n+2){
  margin-top:min(2vw,20px);
  padding-top:min(2vw,20px);
  border-top:2px dashed #EAE6DE;
}
#notice .notice_list li a{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:1em;
}
#notice .notice_list li a:hover{
  opacity:0.6;
}
#notice .notice_list li a dl{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:1em;
  width:100%;
}
#notice .notice_list li a dl dt{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:0.5em;
  flex-shrink:0;
}
#notice .notice_list li a dl dt .date{
  font-family:roboto, arial, sans-serif;
  font-size:min(1.4vw,14px);
  font-weight:500;
  line-height:1.4;
}
#notice .notice_list li a dl dt .cat{
  display:block;
  padding:3px 12px 5px;
  border-radius:100px;
  font-size:min(1.3vw,13px);
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}
#notice .notice_list li a dl dd{
  flex:1;
  font-size:min(1.6vw,16px);
  font-weight:500;
  line-height:1.4;
  text-align:left;
  min-width:0;
}

/* カスタムスクロールバー */
#notice .notice_bar{
  width:8px;
  margin-left:min(2.4vw,24px);
  background:#EAE6DE;
  border-radius:2px;
  position:relative;
  flex-shrink:0;
}
#notice .notice_bar span{
  display:block;
  width:100%;
  background:#FDBBC1;
  border-radius:2px;
  position:absolute;
  top:0;
  left:0;
}


/* ============================================
   挨拶セクション
   ============================================ */
#greeting{
  overflow:hidden;
}
#greeting .greeting_wrapper{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

/* テキスト側 */
#greeting .greeting_text{
  width:min(48%,540px);
  text-align:left;
}
#greeting .greeting_text .tit{
  margin-bottom:min(3vw,30px);
}
#greeting .greeting_text .tit .jp{
  font-size:min(2.6vw,26px);
  line-height:1.6;
  letter-spacing:0.1em;
}
#greeting .greeting_body p{
  text-align:left;
  line-height:1.8;
}
#greeting .greeting_body p:nth-child(n+2){
  margin-top:1em;
}

/* ボタン */
.btn_primary{
  display:block;
  width:300px;
  height:50px;
  margin-top:min(5vw,50px);
  font-size:min(1.8vw,18px);
  font-weight:bold;
  letter-spacing:0.07em;
  line-height:50px;
  text-align:center;
  color:#fff;
  background-color:#4D9EDE;
  border-radius:35px;
  position:relative;
}
.btn_primary:hover{
  opacity:1;
  background-color:#76C2FD;
  color:#fff;
}
.btn_primary img{
  width:20px;
  height:20px;
  position:absolute;
  right:5%;
  top:50%;
  transform:translateY(-50%);
}

/* 画像側 */
#greeting .greeting_img{
  width:min(50%,560px);
  line-height:0;
}
#greeting .greeting_img img{
  width:100%;
  border-radius:10px;
  object-fit:cover;
}
#greeting .greeting_img_sp{
  line-height:0;
  margin-bottom:10%;
}
#greeting .greeting_img_sp img{
  width:100%;
  border-radius:10px;
}


/* ============================================
   特徴セクション
   ============================================ */
#feature .feature_box{
  max-width:1200px;
  width:94%;
  margin:auto;
  padding:min(7vw,80px);
  background:#fff;
  border:2px solid #D7D0CB;
  border-radius:20px;
}

#feature .feature_head{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  gap:min(4vw,40px);
  margin-bottom:min(4vw,40px);
}
#feature .feature_head .tit{
  flex-shrink:0;
  margin-bottom:0;
}
#feature .feature_head .tit .jp{
  font-size:min(3.2vw,32px);
  line-height:1.5;
}
#feature .feature_lead{
  flex:1;
  font-size:min(1.6vw,16px);
  line-height:1.6;
  text-align:left;
  padding-top:min(1.5vw,15px);
}

/* 大きなカード（01〜03） */
#feature .feature_main{
  display: -webkit-flex;
  display: flex;
  gap:min(2.4vw,24px);
  margin-bottom:min(4vw,40px);
}
#feature .feature_card{
  -webkit-flex:1;
  flex:1;
  padding:min(2.4vw,24px);
  border-radius:15px;
  border:2px solid;
  text-align:center;
  position:relative;
  overflow:hidden;
}
#feature .feature_card_pink{
  background:#FDF1F4;
  border-color:#FDBBC1;
}
#feature .feature_card_orange{
  background:#FDF4F1;
  border-color:#FFD5CA;
}
#feature .feature_card_img{
  width:100%;
  aspect-ratio:452/270;
  border-radius:10px;
  overflow:hidden;
  line-height:0;
}
#feature .feature_card_img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#feature .feature_card_badge{
  position:absolute;
  top:-25px;
  right:-25px;
  width:min(13vw,130px);
  height:min(13vw,130px);
  line-height:0;
}
#feature .feature_card_badge img{
  width:100%;
  height:100%;
}
#feature .feature_card_num{
  font-size:min(5.6vw,56px);
  font-weight:700;
  color:#FF8F9A;
  letter-spacing:0.1em;
  line-height:1;
  margin-top:min(1vw,10px);
  text-align:right;
}
#feature .feature_card_tit{
  font-size:min(2.2vw,22px);
  font-weight:500;
  line-height:1.4;
  letter-spacing:0.1em;
  text-align:center;
  margin-top:min(0.8vw,8px);
}
#feature .feature_card_txt{
  font-size:min(1.6vw,16px);
  line-height:1.6;
  text-align:left;
  margin-top:min(1vw,10px);
}
#feature .feature_card_link{
  text-align:right;
  margin-top:min(1.5vw,15px);
}

/* 小さなカード（03-06） */
#feature .feature_sub{
  display: -webkit-flex;
  display: flex;
  gap:min(4vw,40px);
  margin-bottom:min(5vw,50px);
}
#feature .feature_item{
  flex:1;
  text-align:center;
}
#feature .feature_item_img{
  width:100%;
  aspect-ratio:230/150;
  border-radius:10px;
  overflow:hidden;
  line-height:0;
}
#feature .feature_item_img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* 06の重なり画像 */
#feature .feature_item_imgs{
  position:relative;
  width:100%;
  aspect-ratio:230/170;
}
#feature .feature_item_imgs figure{
  position:absolute;
  border-radius:10px;
  overflow:hidden;
  line-height:0;
}
#feature .feature_item_imgs figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#feature .feature_item_imgs .img_front{
  left:0;
  bottom:0;
  width:85%;
  height:85%;
  z-index:2;
}
#feature .feature_item_imgs .img_back{
  right:0;
  top:0;
  width:55%;
  height:85%;
  z-index:1;
}

#feature .feature_item_num{
  font-size:min(2.4vw,24px);
  font-weight:700;
  color:#FF8F9A;
  letter-spacing:0.1em;
  line-height:1;
  margin-top:min(1vw,10px);
  text-align:right;
}
#feature .feature_item_tit{
  font-size:min(2.2vw,22px);
  font-weight:500;
  line-height:1.4;
  letter-spacing:0.1em;
  text-align:center;
  margin-top:min(0.5vw,5px);
}
#feature .feature_item_txt{
  font-size:min(1.6vw,16px);
  line-height:1.6;
  text-align:left;
  margin-top:min(0.8vw,8px);
}
#feature .feature_item_link{
  text-align:right;
  margin-top:min(1.5vw,15px);
}

/* ボタン（三次） */
.btn_tertiary{
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
  align-items: center;
  gap:8px;
  font-size:min(1.6vw,16px);
  font-weight:700;
  letter-spacing:0.1em;
  color:#F4616F;
}
.btn_tertiary:hover{
  opacity:0.6;
}
.btn_tertiary img{
  width:20px;
  height:20px;
}

/* 特徴ボタン */
#feature .btn_primary{
  margin:min(5vw,50px) auto 0;
}


/* ============================================
   診療内容セクション
   ============================================ */
#treatment .treatment_head{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  gap:min(4vw,40px);
  margin-bottom:min(4vw,40px);
}
#treatment .treatment_head .tit{
  flex-shrink:0;
  margin-bottom:0;
}
#treatment .treatment_head .tit .jp{
  font-size:min(3.2vw,32px);
  line-height:1.5;
}
#treatment .treatment_lead{
  flex:1;
  font-size:min(1.5vw,15px);
  line-height:1.6;
  text-align:left;
  padding-top:min(2.5vw,25px);
}

/* タブボタン */
#treatment .treatment_tabs{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  gap:10px;
}
#treatment .treatment_tab{
  width:200px;
  height:40px;
  border-radius:15px 15px 0 0;
  font-size:22px;
  font-weight:700;
  letter-spacing:0.2em;
  text-align:center;
  line-height:40px;
  cursor:pointer;
  position:relative;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-transition:opacity 0.3s;
  transition:opacity 0.3s;
}
#treatment .treatment_tab:hover{
  opacity:0.6;
}
#treatment .treatment_tab.active:hover{
  opacity:1;
}
#treatment .treatment_tab img{
  width:20px;
  height:20px;
  position:absolute;
  right:10px;
  top:50%;
  -webkit-transform:translateY(-50%) rotate(90deg);
  transform:translateY(-50%) rotate(90deg);
}
#treatment .treatment_tab_ob{
  background:#FFE5E7;
  color:#F4616F;
}
#treatment .treatment_tab_gy{
  background:#EFE6D7;
  color:#9E8E73;
}

/* タブコンテンツ */
#treatment .treatment_panel{
  display:none;
  padding:min(6vw,64px);
  position:relative;
  overflow:hidden;
}
#treatment .treatment_panel.active{
  display:block;
}

/* 産科パネル */
#treatment .panel_ob{
  background:#FFE5E7;
  border-radius:0 15px 15px 15px;
}
#treatment .ob_items{
  display: -webkit-flex;
  display: flex;
  gap:min(1vw,8px);
}
#treatment .ob_items > *{
  -webkit-flex:1;
  flex:1;
}

/* 産科メニューカード */
#treatment .ob_card{
  background:#fff;
  border-radius:10px;
  padding:min(2.4vw,24px) min(2vw,20px);
  text-align:center;
  display:block;
}
#treatment .ob_card:hover{
  opacity:0.7;
}
#treatment .ob_card_icon{
  width:60px;
  height:60px;
  margin:0 auto min(1vw,10px);
  line-height:0;
}
#treatment .ob_card_icon img{
  width:100%;
  height:100%;
}
#treatment .ob_card_tit{
  font-size:min(1.8vw,18px);
  font-weight:700;
  color:#F27480;
  letter-spacing:0.1em;
  line-height:1.2;
}
#treatment .ob_card_arw{
  width:16px;
  height:16px;
  margin:min(1.5vw,15px) auto 0;
  line-height:0;
}
#treatment .ob_card_arw img{
  width:100%;
  height:100%;
}

/* 産科カードラッパー（吹き出し付き） */
#treatment .ob_card_wrap{
  position:relative;
}
#treatment .ob_card_wrap .ob_card{
  height:100%;
}

/* 産科 吹き出し「がんばり屋さんのママへ」*/
#treatment .ob_fukidashi{
  position:absolute;
  top:-22px;
  left:35%;
  width:196px;
  height:45px;
  z-index:3;
}
#treatment .ob_fukidashi img{
  width:100%;
  height:100%;
  display:block;
}
#treatment .ob_fukidashi span{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:34px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  color:#fff;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.05em;
  white-space:nowrap;
}

/* 産科イベントバナー */
#treatment .ob_banner{
  background:#FFA8A9;
  border-radius:10px;
  padding:min(2vw,20px);
  position:relative;
  overflow:hidden;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  height:168px;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
#treatment .ob_banner:hover{
  opacity:0.7;
}
#treatment .ob_banner_flower{
  position:absolute;
  top:-20px;
  right:-10px;
  width:160px;
  pointer-events:none;
  line-height:0;
}
#treatment .ob_banner_flower img{
  width:100%;
}
#treatment .ob_banner_tag{
  position:relative;
  z-index:2;
  width:149px;
  height:32px;
}
#treatment .ob_banner_tag img{
  width:100%;
  height:100%;
  display:block;
}
#treatment .ob_banner_tag span{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:23px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size:14px;
  font-weight:700;
  color:#F4616F;
  letter-spacing:0.05em;
  white-space:nowrap;
}
#treatment .ob_banner_body{
  position:relative;
  z-index:2;
  margin-top:4px;
}
#treatment .ob_banner_txt{
  font-size:min(2.1vw,21px);
  font-weight:700;
  color:#fff;
  letter-spacing:0.1em;
  line-height:1.2;
  text-align:left;
}
#treatment .ob_banner_arw{
  width:20px;
  height:20px;
  position:absolute;
  right:8px;
  bottom:8px;
  line-height:0;
}
#treatment .ob_banner_arw img{
  width:100%;
  height:100%;
}

/* 婦人科パネル */
#treatment .panel_gy{
  background:#EFE6D7;
  border-radius:15px 0 15px 15px;
}
#treatment .gy_items{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap:min(1.5vw,16px);
}
#treatment .gy_card{
  width:calc(25% - 12px);
  background:#fff;
  border-radius:7px;
  padding:min(1.5vw,15px);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:12px;
  position:relative;
}
#treatment .gy_card:hover{
  opacity:0.7;
}
#treatment .gy_card_icon{
  width:60px;
  height:60px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
  line-height:0;
}
#treatment .gy_card_icon img{
  width:100%;
  height:100%;
}
#treatment .gy_card_tit{
  -webkit-flex:1;
  flex:1;
  font-size:min(1.8vw,18px);
  font-weight:700;
  color:#9E8E73;
  letter-spacing:0.1em;
  line-height:1.2;
  text-align:left;
}
#treatment .gy_card_arw{
  width:16px;
  height:16px;
  position:absolute;
  right:5px;
  bottom:5px;
  line-height:0;
}
#treatment .gy_card_arw img{
  width:100%;
  height:100%;
}

/* 診療内容バナー */
#treatment .treatment_banners{
  display: -webkit-flex;
  display: flex;
  gap:16px;
  margin-top:min(5vw,56px);
}
#treatment .treatment_bnr{
  display:block;
  line-height:0;
}
#treatment .treatment_bnr:hover{
  opacity:0.7;
}
#treatment .treatment_bnr img{
  width:100%;
  height:auto;
  object-fit:contain;
}
#treatment .treatment_bnr_childcare{
  -webkit-flex:500;
  flex:500;
}
#treatment .treatment_bnr_wrap{
  -webkit-flex:362;
  flex:362;
}
#treatment .treatment_bnr_services{
}
#treatment .treatment_bnr_note{
  margin-top:60px;
  font-size:13px;
  color:#A38B95;
  line-height:1.6;
  text-align:left;
}


/* ============================================
   理事長セクション
   ============================================ */
#doctor .doctor_box{
  max-width:960px;
  margin:auto;
  padding:min(6.4vw,64px);
  background:#fff;
  border:2px solid #D7D0CB;
  border-radius:15px;
}
#doctor .doctor_role{
  font-size:16px;
  letter-spacing:0.1em;
  line-height:1.4;
}
#doctor .doctor_name{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: baseline;
  align-items: baseline;
  gap:min(2vw,20px);
  margin-top:10px;
}
#doctor .doctor_name_jp{
  font-size:min(2.2vw,22px);
  font-weight:500;
  color:#4A3940;
  letter-spacing:0.1em;
  line-height:1.4;
}
#doctor .doctor_name_en{
  font-size:min(2.2vw,22px);
  font-weight:500;
  color:#A38B95;
  letter-spacing:0.1em;
  line-height:1.4;
}
#doctor .doctor_desc{
  margin-top:min(3vw,30px);
  font-size:min(1.6vw,16px);
  line-height:1.6;
  text-align:left;
}
#doctor .doctor_career_head{
  margin-top:min(4vw,40px);
  padding:4px 20px;
  background:#FBDDDF;
  border-radius:10px;
  font-size:min(2vw,20px);
  font-weight:500;
  color:#F4616F;
  letter-spacing:0.1em;
  line-height:1.4;
}
#doctor .doctor_career{
  display: -webkit-flex;
  display: flex;
  gap:16px;
  margin-top:min(1.5vw,16px);
}
#doctor .doctor_career_col{
  -webkit-flex:1;
  flex:1;
  font-size:min(1.4vw,14px);
  font-weight:500;
  color:#A38B95;
  line-height:1.6;
  text-align:left;
}
#doctor .btn_primary{
  margin:min(4vw,40px) auto 0;
}
#doctor .doctor_baby_banner{
  display:block;
  max-width:500px;
  margin:min(5vw,56px) auto 0;
  line-height:0;
}
#doctor .doctor_baby_banner:hover{
  opacity:0.7;
}
#doctor .doctor_baby_banner img{
  width:100%;
}


/* ============================================
   クリニック情報セクション
   ============================================ */
#info{
  text-align:left;
}
#info .info_wrapper{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap:min(6vw,64px);
}
#info .info_left{
  -webkit-flex:1;
  flex:1;
  max-width:526px;
}
#info .info_right{
  -webkit-flex-shrink:0;
  flex-shrink:0;
  width:530px;
}
#info .info_name{
  font-size:min(2.4vw,24px);
  font-weight:700;
  color:#4A3940;
  letter-spacing:0.1em;
  line-height:1.6;
  text-align:left;
}
#info .info_desc{
  margin-top:8px;
  font-size:14px;
  font-weight:500;
  color:#A38B95;
  line-height:1.6;
  text-align:left;
}
#info .info_address_row{
  margin-top:15px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#info .info_address_main{
  font-size:16px;
  font-weight:500;
  color:#4A3940;
  line-height:1.6;
  text-align:left;
}
#info .info_access{
  margin-top:4px;
  font-size:14px;
  font-weight:500;
  color:#A38B95;
  line-height:1.4;
  text-align:left;
}
#info .info_access p + p{
  margin-top:0;
}
#info .info_address .btn_tertiary{
  margin-top:10px;
  display: -webkit-inline-flex;
  display: inline-flex;
}
#info .info_parking{
  -webkit-flex-shrink:0;
  flex-shrink:0;
}
#info .info_parking img{
  width:120px;
  height:120px;
}

/* Google Map */
#info .info_map{
  margin-top:min(5vw,50px);
  border-radius:15px;
  overflow:hidden;
  height:300px;
}
#info .info_map_link{
  margin-top:min(1.5vw,16px);
  text-align:left;
}

/* 診療時間テーブル */
#info .info_schedule_tit{
  font-size:16px;
  font-weight:700;
  color:#4A3940;
  letter-spacing:0.1em;
  line-height:1.4;
  text-align:left;
  position:relative;
  padding-left:10px;
}
#info .info_dot{
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#FDBBC1;
  position:absolute;
  left:0;
  top:50%;
  -webkit-transform:translateY(-50%);
  transform:translateY(-50%);
}
#info .info_table_wrap{
  margin-top:16px;
  background:#FDF4F1;
  border:2px solid #FDBBC1;
  border-radius:10px;
  padding:24px 32px;
}
#info .info_table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
#info .info_table thead th{
  font-size:16px;
  font-weight:500;
  color:#4A3940;
  line-height:1.4;
  text-align:center;
  padding:0 0 10px;
}
#info .info_table thead th:first-child{
  text-align:left;
  width:34%;
}
#info .info_table tbody{
  border-top:none;
  position:relative;
}
#info .info_table tbody::before{
  content:"";
  display:block;
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1.5px;
  background:repeating-linear-gradient(to right, #A38B95 0, #A38B95 4px, transparent 4px, transparent 11px);
}
#info .info_table tbody th,
#info .info_table tbody td{
  padding:4px 0;
}
#info .info_table tbody tr:first-child th,
#info .info_table tbody tr:first-child td{
  padding-top:16px;
}
#info .info_table tbody th{
  font-size:16px;
  font-weight:500;
  color:#4A3940;
  line-height:1.4;
  text-align:left;
  white-space:nowrap;
  padding-left:17px;
}
#info .info_table tbody td{
  font-size:14px;
  font-weight:500;
  color:#4A3940;
  line-height:1.4;
  text-align:center;
}
#info .info_table .mark_gray{
  color:#A38B95;
}
#info .info_table .mark_red{
  color:#F4616F;
}
#info .info_notes{
  margin-top:8px;
  font-size:14px;
  font-weight:400;
  color:#4A3940;
  line-height:1.4;
  text-align:left;
}
#info .info_notes p + p{
  margin-top:0;
}


/* ============================================
   コラムセクション
   ============================================ */
#column{
  text-align:left;
  position:relative;
}
#column .column_head{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:24px;
  margin-bottom:24px;
}
#column .column_head_left{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:24px;
}
#column .column_tit{
  font-size:22px;
  font-weight:500;
  color:#4A3940;
  letter-spacing:0.1em;
  line-height:1.4;
}
#column .column_nav{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:16px;
  position:absolute;
  top:min(12vw, 120px);
  right:max(3vw, calc((100vw - 1120px) / 2));
}
#column .column_prev,
#column .column_next{
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
  line-height:0;
  -webkit-transition:opacity 0.3s;
  transition:opacity 0.3s;
}
#column .column_prev:hover,
#column .column_next:hover{
  opacity:0.6;
}
#column .column_prev{
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}
#column .column_prev img,
#column .column_next img{
  width:25px;
  height:16px;
}

/* スライダー */
#column .column_slider{
  display: -webkit-flex;
  display: flex;
  gap:24px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-left:max(3vw, calc((100vw - 1120px) / 2));
  -ms-overflow-style:none;
  scrollbar-width:none;
}
#column .column_slider::-webkit-scrollbar{
  display:none;
}
#column .column_slider::after{
  content:"";
  -webkit-flex-shrink:0;
  flex-shrink:0;
  width:3vw;
}

/* カード */
#column .column_card{
  -webkit-flex-shrink:0;
  flex-shrink:0;
  width:304px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-decoration:none;
  color:inherit;
  -webkit-transition:opacity 0.3s;
  transition:opacity 0.3s;
}
#column .column_card:hover{
  opacity:0.7;
}
#column .column_card_img{
  width:100%;
  height:170px;
  border-radius:10px;
  overflow:hidden;
  line-height:0;
}
#column .column_card_img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#column .column_card_noimg{
  background:#FDBBC1;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
#column .column_card_noimg span{
  font-size:15px;
  font-weight:700;
  color:#F4616F;
}
#column .column_card_tit{
  margin-top:24px;
  font-size:16px;
  font-weight:700;
  color:#4A3940;
  line-height:1.4;
}
#column .column_card_txt{
  margin-top:8px;
  font-size:13px;
  font-weight:400;
  color:#A38B95;
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#column .column_card_meta{
  margin-top:24px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  gap:8px;
}
#column .column_card_cat{
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  height:24px;
  padding:3px 12px 5px;
  background:#9E8E73;
  border-radius:12.5px;
  font-size:14px;
  font-weight:600;
  color:#fff;
  line-height:1.2;
  white-space:nowrap;
}
#column .column_card_date{
  font-family:'Roboto', sans-serif;
  font-size:14px;
  font-weight:500;
  color:#4A3940;
  line-height:1.4;
}


/* ============================================
   SP
   ============================================ */
@media screen and (max-width:768px){
  #notice{
    padding-top:80px;
  }
  #notice .notice_box{
    display:block;
    padding:8% 6%;
  }

  #notice .notice_head{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    margin-right:0;
    margin-bottom:6%;
  }
  #notice .notice_head h2{
    font-size:5.5vw;
  }
  #notice .notice_head .view_link{
    margin-top:0;
    font-size:4vw;
  }

  #notice .notice_scroll{
    max-height:250px;
  }

  #notice .notice_list li:nth-child(n+2){
    margin-top:4vw;
    padding-top:4vw;
  }
  #notice .notice_list li a dl{
    display:block;
  }
  #notice .notice_list li a dl dt{
    margin-bottom:0.5em;
  }
  #notice .notice_list li a dl dt .date{
    font-size:3.5vw;
  }
  #notice .notice_list li a dl dt .cat{
    font-size:3vw;
  }
  #notice .notice_list li a dl dd{
    font-size:4vw;
  }

  #notice .notice_bar{
    width:4px;
    margin-left:3vw;
  }

  /* 挨拶セクション SP */
  #greeting .greeting_wrapper{
    display:block;
  }
  #greeting .greeting_text{
    width:auto;
  }
  #greeting .greeting_text .tit .jp{
    font-size:6vw;
  }
  #greeting .greeting_img{
    width:auto;
    margin-bottom:12%;
  }

  .btn_primary{
    width:75vw;
    max-width:300px;
    height:50px;
    margin:12% auto 0;
    font-size:4.5vw;
  }

  /* 特徴セクション SP */
  #feature .feature_box{
    padding:8% 6%;
  }
  #feature .feature_head{
    display:block;
    margin-bottom:6%;
  }
  #feature .feature_head .tit{
    margin-bottom:4%;
  }
  #feature .feature_head .tit .jp{
    font-size:7vw;
  }
  #feature .feature_lead{
    font-size:4vw;
    padding-top:0;
  }

  #feature .feature_main{
    display:block;
    margin-bottom:0;
  }
  #feature .feature_card{
    width:auto;
    padding:4%;
    margin-bottom:6%;
  }
  #feature .feature_card_img{
    aspect-ratio:304/182;
  }
  #feature .feature_card_badge{
    top:-15px;
    right:-15px;
    width:80px;
    height:80px;
  }
  #feature .feature_card_num{
    font-size:40px;
    text-align:right;
    text-shadow:2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff;
    position:relative;
    margin-top:-30px;
    z-index:2;
  }
  #feature .feature_card_tit{
    font-size:20px;
  }
  #feature .feature_card_txt{
    font-size:4vw;
  }
  #feature .feature_card_link{
    margin-top:4%;
  }

  #feature .feature_sub{
    display:block;
    margin-bottom:0;
  }
  #feature .feature_item{
    margin-bottom:10%;
  }
  #feature .feature_item_img{
    aspect-ratio:336/150;
  }
  #feature .feature_item_imgs{
    aspect-ratio:336/170;
  }
  #feature .feature_item_num{
    font-size:24px;
    text-align:right;
    text-shadow:2px 2px 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff;
    position:relative;
    margin-top:-20px;
    z-index:2;
  }
  #feature .feature_item_tit{
    font-size:20px;
  }
  #feature .feature_item_txt{
    font-size:4vw;
  }
  #feature .feature_item_link{
    margin-top:4%;
  }

  .btn_tertiary{
    font-size:4vw;
  }
  #feature .btn_primary{
    margin:8% auto 0;
  }

  /* 診療内容セクション SP */
  #treatment .treatment_head{
    display:block;
    margin-bottom:6%;
  }
  #treatment .treatment_head .tit{
    margin-bottom:4%;
  }
  #treatment .treatment_head .tit .jp{
    font-size:7vw;
  }
  #treatment .treatment_lead{
    font-size:4vw;
    padding-top:0;
  }

  #treatment .treatment_tabs{
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
  #treatment .treatment_tab{
    width:130px;
    height:40px;
    font-size:22px;
  }
  #treatment .treatment_tab img{
    right:8px;
  }

  #treatment .treatment_panel{
    padding:6%;
  }
  #treatment .panel_ob{
    border-radius:0 15px 15px 15px;
  }
  #treatment .panel_gy{
    border-radius:15px 0 15px 15px;
  }

  #treatment .ob_items{
    display:block;
  }
  #treatment .ob_items > *{
    -webkit-flex:none;
    flex:none;
  }
  #treatment .ob_card{
    margin-bottom:4%;
  }
  #treatment .ob_card_tit{
    font-size:4.5vw;
  }
  #treatment .ob_card_arw{
    margin-top:4%;
  }
  #treatment .ob_card_wrap{
    margin-bottom:4%;
  }
  #treatment .ob_card_wrap .ob_card{
    height:auto;
    margin-bottom:0;
  }
  #treatment .ob_fukidashi{
    top:-10px;
    left:auto;
    right:4%;
  }

  #treatment .ob_banner{
    padding:16px;
    height:120px;
  }
  #treatment .ob_banner_body{
    margin-top:0;
  }
  #treatment .ob_banner_txt{
    font-size:5vw;
  }
  #treatment .ob_banner_flower{
    width:140px;
  }

  #treatment .gy_items{
    display:block;
  }
  #treatment .gy_card{
    width:auto;
    margin-bottom:3%;
    padding:10px 15px;
    border-radius:7px;
  }
  #treatment .gy_card_tit{
    font-size:4.5vw;
  }

  #treatment .treatment_banners{
    display:block;
    margin-top:8%;
  }
  #treatment .treatment_bnr_childcare{
    margin-bottom:16px;
  }
  #treatment .treatment_bnr_note{
    margin-top:12px;
  }

  /* 理事長セクション SP */
  #doctor .doctor_box{
    padding:8% 6%;
  }
  #doctor .doctor_role{
    font-size:4vw;
  }
  #doctor .doctor_name{
    display:block;
    margin-top:2%;
  }
  #doctor .doctor_name_jp{
    font-size:6vw;
    display:block;
  }
  #doctor .doctor_name_en{
    font-size:4vw;
    display:block;
    margin-top:2%;
  }
  #doctor .doctor_desc{
    margin-top:4%;
    font-size:4vw;
  }
  #doctor .doctor_career_head{
    margin-top:6%;
    font-size:4.5vw;
  }
  #doctor .doctor_career{
    display:block;
    margin-top:4%;
  }
  #doctor .doctor_career_col{
    font-size:3.5vw;
  }
  #doctor .doctor_career_col:nth-child(n+2){
    margin-top:2%;
  }
  #doctor .btn_primary{
    margin:8% auto 0;
  }

  /* クリニック情報 SP */
  #info .info_wrapper{
    display:block;
  }
  #info .info_right{
    width:auto;
  }
  #info .info_name{
    font-size:20px;
    letter-spacing:0.1em;
  }
  #info .info_desc{
    margin-top:8px;
    font-size:14px;
  }
  #info .info_schedule_tit{
    font-size:16px;
    margin-top:6%;
  }
  #info .info_table_wrap{
    margin-top:16px;
    padding:16px;
  }
  #info .info_table thead th{
    font-size:14px;
  }
  #info .info_table thead th:first-child{
    width:30%;
  }
  #info .info_table tbody th{
    font-size:13px;
  }
  #info .info_table tbody td{
    font-size:13px;
  }
  #info .info_notes{
    margin-top:8px;
    font-size:13px;
  }
  #info .info_map{
    margin-top:8%;
    height:300px;
    border-radius:15px;
  }
  #info .info_address_sp{
    margin-top:16px;
  }
  #info .info_address_sp .info_address_main{
    font-size:16px;
    line-height:1.6;
  }
  #info .info_address_sp .info_access{
    margin-top:4px;
    font-size:14px;
    line-height:1.4;
  }
  #info .info_address_sp .info_access p + p{
    margin-top:0;
  }
  #info .info_sp_bottom .btn_tertiary{
    display: -webkit-inline-flex;
    display: inline-flex;
    margin-top:10px;
    font-size:4vw;
  }
  #info .info_sp_bottom .info_parking{
    margin-top:16px;
    text-align:right;
  }
  #info .info_sp_bottom .info_parking img{
    width:100px;
    height:100px;
  }

  /* コラムセクション SP */
  #column .column_head_left{
    width:100%;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  #column .column_slider{
    padding-left:3vw;
  }
  #column .column_nav{
    position:static;
    margin-top:24px;
    padding-left:3vw;
  }

  /* SP時 #column を #notice の直後に並び替え */
  #main_wrapper{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  /* MV SP */
  #mv{ margin-top:-70px; order:0; }
  #mv .mv_inner{
    width:calc(100% - 24px);
    height:auto;
    aspect-ratio:376 / 400;
  }
  #mv .mv_slide img{
    object-position:center top;
  }
  #mv .mv_overlay{ display:none; }
  #mv .mv_content{
    left:5vw;
    top:auto;
    bottom:5vw;
  }
  #mv .mv_tit{ font-size:min(6.5vw, 26px); letter-spacing:2.6px; }
  #mv .mv_txt{ font-size:min(4vw, 16px); letter-spacing:0.8px; }
  #mv .mv_bubbles{
    left:auto;
    right:-10px;
    top:auto;
    bottom:8vw;
    width:44vw;
    height:26vw;
  }

  #notice{   -webkit-order:1; order:1; }
  #column{   -webkit-order:2; order:2; }
  #greeting{  -webkit-order:3; order:3; }
  #feature{   -webkit-order:4; order:4; }
  #treatment{ -webkit-order:5; order:5; }
  #doctor{    -webkit-order:6; order:6; }
  #info{      -webkit-order:7; order:7; }
}
