@charset "utf-8";
/*
Theme Name: ★BizVektor子テーマサンプル★
Theme URI: http://bizvektor.com
Template: biz-vektor
Description: 
Author: satoclinic
Tags: 
Version: 2026.0317
*/

html{
 font-size: 16px;
}
@media (max-width:768px){
 html{
  font-size: 15px;
 }
}
@media (max-width:480px){
 html{
  font-size: 14px;
 }
}

	body {
	width:100%;
	height: 100%;
	padding: 0;
	margin: 0;
 font-family: 'Public Sans', 'Noto Sans JP', 'Yu Gothic', 'Hiragino Sans', 'Meiryo', sans-serif;
 font-size: 1rem;
 line-height: 1.8em;
 color: #555;
}

/*============================*/
/*flex-box親の登録*/

.flex{
			display: -webkit-box;
			display: -ms-flexbox;
	display: flex;}

.row-reverse{
	-webkit-box-orient: horizontal;
			-webkit-box-direction: reverse;
			-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;}

.flex-column{
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
   -ms-flex-direction: column;
	flex-direction: column;}

.column-reverse{
	-webkit-box-orient: vertical;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: column-reverse;
 flex-direction: column-reverse;}

.flex-wrap{
			-ms-flex-wrap: wrap;
	flex-wrap: wrap;}

.justify-between{
	-webkit-box-pack: justify;
   -ms-flex-pack: justify;
	justify-content: space-between;}

.justify-around{
		-ms-flex-pack: distribute;
	justify-content: space-around;}

.justify-center{
 -webkit-box-pack: center;
   -ms-flex-pack: center;
 justify-content: center;}

.justify-end{
 -webkit-box-pack: end;
	  -ms-flex-pack: end;
	justify-content: flex-end;}

.valign-center{
	-webkit-box-align: center;
   -ms-flex-align: center;
	align-items: center;}

.valign-end{
	-webkit-box-align: end;
   -ms-flex-align: end;
	align-items: flex-end;}

.flex-align-center {
	  -ms-flex-line-pack: center;
	align-content: center;}



/* ===========　共通　=========== */
.sr-only {
 position:absolute;
 width:1px;
 height:1px;
 padding:0;
 margin:-1px;
 overflow:hidden;
 clip:rect(0,0,0,0);
 white-space:nowrap;
 border:0;
}

.mb-br{
 display: none;
}

@media (max-width:768px){
 .pc-br{
  display: none;
 }
}

h1, h2, h3, h4, h4, h5, h6,
#header #site-title,
#pageTitBnr #pageTitInner #pageTit,
#content .leadTxt,
#sideTower .localHead {
	font-family: 'Public Sans', 'Noto Sans JP', 'Yu Gothic', 'Hiragino Sans', 'Meiryo', sans-serif;
 font-weight: 400;
}

@media (max-width:480px){
 #pageTitBnr #pageTitInner #pageTit{
  font-size: 18px;
  margin: 10px 0 10px;
 }
}
@media (max-width:375px){
 #pageTitBnr #pageTitInner #pageTit{
  font-size: 16px;
 }
}

.serif{
 font-family: "Noto Serif JP", serif;
}

.cursive {
 font-family: "Corinthia", cursive;
 font-weight: 400;
 font-style: normal;
}

*{
 box-sizing: border-box;
}

a{
    color: #6AC194;
}

a:hover {
	color: #6AC194;
}

@media (min-width: 970px){
 #main #container .content{
  width: 680px;
 }
}

.sideTower .sideWidget li a{
 color: #555;
 font-size: 0.9rem;
}

#sideTower .search{
 font-size: 0.9rem;
}

#content h1.contentTitle,
#content h1.entryPostTitle {
 border-top: 2px solid #6dc095;
}

#content h2:not(.section-title):not(.home-sectt) {
 background: linear-gradient(0deg, #ddd, #fff 35%);
 border: solid 1px #ccc;
 border-left: solid 5px #27b487;
 border-top-color: #27b487;
}

.moreLink a {
	background-color: #27b487;
}

.moreLink a:hover {
	background-color: #6ebf94;
}

.linkbtn a{
 display: block;
 box-sizing: border-box;
 width: 220px;
 margin: auto auto 3em;
 background: #27b487;
 color: #fff;
 border: solid 2px #27b487;
 font-size: 20px;
 font-weight: bold;
 text-align: center;
 padding: 0.5em 0;
 text-decoration: none;
 letter-spacing: 0.1em;
 transition: background 0.3s ease, color 0.3s ease;
}

.linkbtn a:hover{
 background: #fff;
 color: #27b487;
}

@media (max-width:480px){
 .linkbtn a{
  width: 70%;
  font-size: 1.2em;
 }
}

/* テーブル */
#content table {
	table-layout: auto;
	border-collapse: collapse;
	border: 1px solid #CCC;
 margin: 1rem 0 3rem;
}
#content table caption {
	font-size: 16px;
	text-align: left;
	margin-bottom: 0.5rem;
}
#content tr td {
	font-size: 14px;
	border-style: solid dashed;
	padding: 10px 15px;
	vertical-align: top;
}

/* ================ヘッダー================ */
#header {
 padding-top: 0px;
 text-align: left;
 padding-bottom: 1rem;
}

#header .innerBox{
 display: flex;
 align-items: center;
}
@media (max-width:769px){
 #header{
  padding-top: 8px;
 }
}
@media (max-width:740px){
 #header .innerBox{
  align-items: flex-end;
 }
}
@media (max-width:480px){
 #header {
 padding-bottom: 0;
}
 #header .innerBox{
  display: block;
 }
}

#header #site-title {
 float: none;
 font-size: 24px;
 line-height: 45px;
 margin: 0;
 padding: 0;
 position: relative;
 font-weight: lighter;
}

#header #site-title a{
 display: block;
 line-height: 1;
}

#header #site-title a img{
 width: 100%;
 max-height: 45px;
 margin-top: 0;
}

#headerTop {
	background-color: unset;
	border-top-color: #6AC194;
 margin-bottom: 1rem;
}

#site-description {
	font-size: 12px;
}

/* ヘッダー電話番号部分 */
#header #headContact {
 float: none;
 margin: 0;
 padding-left: 1rem;
}

#header #headContact #headContactTel {
 color: #6AC194;
 font-family: 'Public Sans', sans-serif;
 font-weight: 700;
 letter-spacing: 0.05em;
}

#header #headContact #headContactTel a{
 text-decoration: none;
}

#header #headContact #headContactTxt {
 font-size: 14px;
 text-align: right;
 color: #6AC194;
 letter-spacing: 0.05em;
}
@media (max-width: 740px) {
 #header #headContact #headContactTxt {
  display: none;
 }
}
@media (max-width: 480px) {
 #header #headContact{
  width: auto;
 }
 #header #site-title a img{
  width: 85%;
 }
}

/*　グローバルメニュー */		
#gMenu .menu li a span {
	display: block;
	font-size: 10px;
	line-height: 140%;
	letter-spacing: 1px;
	font-family: verdana, Arial, Helvetica, sans-serif;
	color: #999;
}

@media (min-width: 770px) {
 #gMenu {
  border-top: 1px solid #6AC194;
  border-bottom: 1px solid #6AC194;
  box-shadow: 0px 4px 3px -3px rgba(0,0,0,0.2);
 }
 #gMenu .menu li:hover li {
  border-color: #bbdec2;
 }
}
@media (max-width: 769px) {
 #gMenu{
  border-top: none!important;
 }
 #gMenu h3.assistive-text{
  background: none;
  background-color: #fab6d2;
  border-right: none;
 }
 #gMenu .menu li.current_page_item > a,
 #gMenu .menu li > a:hover{
  background-color: #7fd7be;
 }
}

/* パンくずリスト */
#panList {
	display: none;
}

#topMainBnr {
    width: 100%;
		background-color: #6AC194;
}

/* ================フッター================ */
#content .mainFoot {
 display: none;
}

#footer {
	background-color: #ffffff;
	border-top: 1px solid white;
	margin: 0px;
	padding: 20px 0;
	display: block;
	overflow: hidden;
}

/*#footer dl#footerOutline dt,
#footer dl#footerOutline dd{
	color: white;
}*/

#footerSiteMap {
 padding-top: 15px;
}
#footerSiteMap .menu-footersitemap-container {
	margin-top: 10px;
}
#footerSiteMap .menu li a:hover {
	color: #6dc095;
	background: url('images/icon_arrow1_gray.gif') no-repeat scroll left 50% transparent;
}

#menu-footersitemap {
	background-color: #fff;
}

/* フッター境界線（上）の色 */
#footMenu {
	border-top-color: white;
}
		 
/* (9)CopyrightとPowered byの背景色と罫線*/
#siteBottom {
	margin: 0;
	padding: 0;
	border-top: 1px solid #27b487;
	background-color: #ffffff;
}

/* (10)CopyrightとPowered byの色 */
#siteBottom #copy,  #siteBottom #copy a,  #siteBottom #powerd,  #siteBottom #powerd a {
	color: #333333;
}

#siteBottom #powerd {
	display: none;
}

/* ================ホーム================ */
/* スライドショー */
.flexslider .flex-control-nav{
 display: none;
}
#topMainBnrFrame a.slideFrame:hover{
 border-color: #ffec94;
}

#content .home-sectt{
 border: none;
 box-shadow: none;
 background: none;
 color: #27b487;
 padding: 0.25em 0 0.25em 0.5em;
 border-left: solid 6px #f08fb7;
 font-size: 1.8rem;
 letter-spacing: 0.05em;
 font-weight: 600;
}

/* 診療カレンダー */
#content .clinic-time{
 width:100%;
 max-width: 700px;
 text-align:center;
 color: #27b487;
 font-weight: 500;
 margin: 0 0 1rem 0;
 border-collapse: separate;
 border: 3px solid #bbdec2;
 border-radius: 6px;
 overflow: hidden;
}

#content .clinic-time th{
 box-shadow: none;
 font-weight: 500;
}

#content .clinic-time th,
#content .clinic-time td{
 font-size: 1.1rem;
 border-width: 0 1px 1px 0;
 border-style: solid;
 border-color: #bbdec2;
 vertical-align: middle;
 padding: 0.75rem;
}

#content .clinic-time td .open{
 display: inline-block;
 font-size: 1.5rem;
}

@media (max-width:660px){
 #content .clinic-time th,
 #content .clinic-time td{
  font-size: 1rem;
  padding: 1em 0;
 }
 #content .clinic-time td .open{
  font-size: 1.3rem;
 }
}
@media (max-width:400px){
 #content .clinic-time th,
 #content .clinic-time td{
  font-size: 3.5vw;
 }
}

#content .clinic-time thead th:last-child{
 border-right: 0;
}

#content .clinic-time tbody tr:last-child th,
#content .clinic-time tbody tr:last-child td{
 border-bottom: 0;
}

.clinic-time thead th{
 background-color:#27b487;
 color:#fff;
}

.clinic-time thead th:not(:first-child){
 width: 11%;
}
@media (max-width:480px){
 .clinic-time thead th:not(:first-child){
  width: 11.5%;
 }
}

.clinic-time thead th:last-child,
#content .clinic-time td[rowspan="2"]{
 border: 0;
}

.clinic-time tbody th{
 background:#f4f8f6;
}

.clinic-time .bg-th{
 display: inline-block;
 background: #fff;
 padding: 5px 0.5em;
 margin-bottom: 0.5em;
}

.clinic-time .closed{
 color:#d44;
}

.clinic-time .note{
 font-size: 0.8em;
 display: inline-block;
 line-height: 1;
 margin-top: 0.5em;
}

.open.short{
 margin-top: 0.5em;
}

@media (max-width:660px){
 .clinic-time .bg-th{
  margin-bottom: 0.25em;
 }
 .clinic-time .time{
  font-size: 0.9em;
  line-height: 1;
 }
 .clinic-time .closed{
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
 }
 .clinic-time .note,
 .clinic-time .mb-none{
  display: none;
 }
 .open.short{
  margin-top: 0;
 }
 .clinic-time .mb-br{
  display: block;
 }
}

.attention{
 font-size: 0.9rem;
 color: #d44;
}

/* ホーム紹介メッセージ部分 */
#content p.int {
	width: 610px;
	padding-right: 10px;
}

/* 新着情報 */
#content .infoList .infoDate {
	margin-right: 8px;
	font-size: 0.9rem;
 color: #666;
}

.page #content  div:not(#topInfo).infoList {
 border-top: none;
}

.content .infoList ul li .infoTxt a{
 background-position: center left;
}

#content .infoList ul li .infoTxt a:hover {
	color: #6AC194;
}

#topFreeArea {
 margin-bottom: 0px;
 display: block;
 overflow: hidden;
 padding-bottom: 0px;
 border-bottom: none;
 box-shadow: none;
}

/*ブログスタイル変更*/
#topInfo a,
body.blog .infoList a,
body.archive .infoList a,
body.news .infoList a{
 text-decoration: none;
 color: #666;
}

.moreLink a{
 color: #fff!important;
}

body.blog .moreLink a,
body.archive .moreLink a,
body.news .moreLink a{
 color: #F5F5F5;
 font-size: 0.8rem;
}

.entryMeta .infoCate{
 display: inline-block;
 font-size: 0.75rem;
 padding: 3px 0.6em;
 border-radius: 3px;
 background: #e5e5e5;
 line-height: 1;
 vertical-align: 0.15em;
}

body.news .infoCate{
 margin-right: 4px;
 background-color: #e5e5e5;
 color: #666;
 font-size: 11px;
 padding: 2px 7px 1px;
 line-height: 14px;
 border-radius: 3px;
 text-decoration: none;
}

.page #content #topInfo{
 border: solid 1px #cfd9df;
 padding: 16px;
 border-radius: 12px;
 height: 350px;
 overflow-y: scroll;
 margin-bottom: 2em;
}

.page #content #topInfo .rssBtn{
 right: 16px;
}

#content #topInfo h2{
 border-top: none;
 border: none;
 background: none;
 padding-left: 0;
}

#content #topInfo .rssBtn a{
 margin-right: 0;
}

#content #topInfo .infoListBox{
 padding: 1em 0px;
}

#content #topInfo h4{
 border-bottom: none;
}

#topInfo .moreLink{
 display: none;
}

#content #topInfo .infoListBox div.entryTxtBox{
 overflow: inherit;
 width: auto!important;
}

@media (max-width:480px){
 #topInfo h2{
  padding: 10px 0px;
 }
 
 #content #topInfo .rssBtn{
  margin-bottom: 0;
 }
 
 #content #topInfo .infoListBox{
  margin-bottom: 0;
 }
 
 #content #topInfo .infoListBox div.entryTxtBox p:not(.entryMeta){
  font-size: 1em;
 }
 #content .infoList .infoListBox div.entryTxtBox p.entryMeta{
  font-size: 0.85em;
 }
}

/* =========================
オンライン診療 curon
========================= */
.curon-box{
  width:100%;
  border:2px solid #61c7a7;
  border-radius:24px 24px 0 0;
  background:#fff;
  overflow:hidden;
}

body.page .curon-box{
 border-radius: 17px;
}

.curon-head{
 display:flex;
 justify-content:center;
 align-items:center;
 gap:18px;
 padding:18px 20px!important;
 margin: 0!important;
 border-bottom: 2px solid #61c7a7!important;
 border-left: none!important;
 background:#eee;
}

.curon-head-text{
  color:#009e67;
  font-size:20px;
  font-weight:700;
  line-height:1.3;
}

.curon-logo{
  height:42px;
  width:auto;
  display:block;
}

.curon-body{
  padding:24px 22px 34px;
}

.curon-body .curon-lead{
 padding: 0;
 font-size: 0.9rem;
 line-height:2;
 text-align: justify;
}

.top-curon-links{
  margin-top:26px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}

.top-curon-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:70px;
  padding:14px 20px;
  background:#27b487;
  color:#fff;
  text-decoration:none;
  font-size:20px;
  font-weight:700;
  line-height:1.5;
  text-align:center;
  box-sizing:border-box;
  border:2px solid #27b487;
  transition: background 0.3s ease, color 0.3s ease;
}

.top-curon-link-wide{
  width:100%;
  max-width:580px;
}

.top-curon-link-narrow{
  width:100%;
  max-width:420px;
}

.top-curon-link:hover{
  background:#fff;
  color:#27b487;
}

/* スマホ */
@media (max-width: 768px){
 .curon-box{
   max-width:450px;
   margin:0 auto;
 }
 .curon-head{
   flex-direction:column;
   gap:10px;
   padding:16px 16px 14px;
 }
 .curon-head-text{
   font-size:20px;
   text-align:center;
 }
 .curon-logo{
   height:34px;
 }
 .curon-body{
   padding:18px 16px 26px;
 }
 .curon-lead{
   font-size:14px;
   line-height:1.9;
 }
 .top-curon-links{
   gap:16px;
   margin-top:20px;
 }
 .top-curon-link{
   min-height:64px;
   font-size:15px;
   padding:12px 14px;
 }
 .top-curon-link-wide,
 .top-curon-link-narrow{
   max-width:100%;
 }
}

/* =========================
Appダウンロードボタン
========================= */
.app-download {
  margin-top: 20px;
  text-align: center;
}
.download-title {
 color: #20b082;
 font-weight: 700;
 margin: 0 0 12px!important;
 border-bottom: none!important;
}
.store-buttons {
 display: flex;
 justify-content: center;
 gap: 10px;
 flex-wrap: wrap;
 margin: 0!important;
}
.store-buttons li{
 list-style: none!important;
 margin-bottom: 0;
 line-height: 0;
}
.store-btn-image {
  display: inline-block;
  line-height: 0;
}
.store-btn-image img {
  display: block;
  height: auto;
  max-height: 46px;
  width: auto;
}


/* twitter X 埋め込み */
.twitter-tweet{
 margin-top: 6em!important;
}

/* サイドバー */
#sideTower {
	width: 100%;
	height: 100%;
}
#sideTower .localHead {
 border-top-color: #27b487;
	margin-bottom: 0;
}
#sideTower #text-2 {
	margin-bottom: 0;
}
#sideTower #text-3 {
	margin-bottom: 0;
}
#sideTower .search {
	margin-top: 16px;
}
#sideTower .sideWidget .textwidget {
padding-top: 3px;
padding-bottom: 8px;
}

#sideTower .sidewidget img.attachment-full {
	margin-bottom: 10px;
}

@media (max-width:969px){
 .widget_sp_image{
  text-align: center;
 }
}

/*　メルマガ登録フォーム */
label {
	display: none;
}

.wp-image-444 {
	margin-right:18px !important}
	
#comments {
	display: none;}

#content h4:not(.price-group-title):not(.treatment-example-tt),
#content dt {
 color: #27b487;}

#content .infoList .infoCate a:hover {
	background-color: #27b487;}


/* 問い合わせ送信ボタン */
a.btn, .linkBtn.linkBtnS a, .linkBtn.linkBtnM a, .moreLink a, .btn.btnS a, .btn.btnM a, .btn.btnL a, #content p.btn.btnL input, input[type="button"], input[type="submit"], #searchform input[type="submit"], p.form-submit input[type="submit"], form#searchform input#searchsubmit, #content form input.wpcf7-submit, #confirm-button input {
 background-color: #27b487;
 color: #F5F5F5;
}

/* コンタクトフォーム */
.wpcf7 {
	max-width: 600px;
}
.form-width { max-width: 90%;}



/* **************************** */
/* 　予約システムのフローティングバナー　 */
/* **************************** */

/*トップへ戻るボタンがかぶるので位置変更*/
#back-top a{
 bottom: 200px;
}

.floating-link{
 display: block;
 position: fixed; /* バナーを追従させる */
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 0; /* バナーの上下の位置 */
  right: 0; /* バナーの左右の位置 */
  width: 300px; /* バナーの横幅 */
}

.floating-banner__image {
  max-width: 100%; /* 画像の最大幅 */
}
@media screen and (max-width: 1280px) {
 #back-top a{
  bottom: 100px;
 }
 
 /* バナー固定分、フッターナビが隠れるので下部パディングを空ける */
 #footerSection{
  padding-bottom: 4rem;
 }
}
@media screen and (max-width: 480px) {
 #back-top a{
  bottom: 140px;
 }
 #back-top #pagetop{
  width: 32px;
  height: 32px;
 }
 #footerSection{
  padding-bottom: 8rem;
 }
 .floating-link{
   display: block;/* 消していたバナーを表示させる */
   width: 100%; /* スマホの画面幅いっぱいにバナーを表示 */
 }
}


/* **************************** */
/* 　各ページのスタイル　 */
/* **************************** */
/* =========================
見出し共通
========================= */
.content h3:not(.notice-circle):not(.dotted-line):not(.curon-head){
 border-left-color: #6ac194;
 border-left-width: 8px;
 border-bottom: solid 1px #ccc;
}

.content .section-title {
 font-size: 30px;
 color: #20b082;
 font-weight: 600;
 letter-spacing: 0.05em;
 line-height: 1.3;
 border-left: none;
 border: none;
 box-shadow: none;
 background: inherit;
 margin: 0 0 20px;
 padding: 0 0 0.7rem 1rem;
 position: relative;
}

.content .section-title:before{
 content: "";
 display: block;
 width: 1.1em;
 height: 1.1em;
 border-radius: 50%;
 background: radial-gradient(transparent, #bfecd5);
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
}

.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 7px;
  background: repeating-linear-gradient(
    -50deg,
    #b7ead9 0,
    #b7ead9 3px,
    transparent 3px,
    transparent 7px
  );
}

.section-title .en {
 display: inline-block;
 margin-left: 1rem;
 font-size: 0.65em;
 font-weight: normal;
}

.content .notice-title {
 font-size: 18px;
 margin-top: 0;
 margin: 0 0 10px;
 color: #20b082;
 font-weight: 700;
 line-height: 1.4;
}

#content .sub-title {
 font-size: 20px;
 margin: 0 0 10px;
 color: #20b082;
 font-weight: 700;
 line-height: 1.4;
}

#content .dotted-line {
 border-bottom: 2px dotted #7fd7be;
 padding: 6px!important;
 border-left: none;
}

@media (max-width: 768px) {
  .content .section-title {
    font-size: 26px;
  }
  .sub-title {
    font-size: 18px;
  }
  .content .notice-title {
    font-size: 17px;
 }
}
@media (max-width: 480px) {
 .content .section-title{
  font-size: 24px;
 }
 .section-title .en{
  display: block;
  margin-left: 0;
  color: #7fd7be;
  font-size: 0.55em;
 }
}
@media (max-width: 375px) {
 .content .section-title{
  font-size: 22px;
 }
}


/* =========================
共通 レイアウトパーツ
========================= */
.part{
 margin-bottom: 3rem;
}

.content .no-marker-list {
 margin-left: 0;
 margin-bottom: 0;
}
.content .no-marker-list li{
 list-style-type: none!important;
 margin-bottom: 0.5em;
 line-height: 1.5;
}

.notice-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 28px 0 22px;
}
#content .notice-circle {
 padding: 0;
 margin-top: 0;
 margin-bottom: 0;
 width: 86px;
 height: 86px;
 flex-shrink: 0;
 border-radius: 50%;
 border: none;
 background: #27b487;
 box-shadow: inset 0 0 0 3px #bfeee0;
 color: #fff;
 font-size: 1rem;
 font-weight: 700;
 line-height: 1.3;
 text-align: center;
 display: flex;
 align-items: center;
 justify-content: center;
}
.notice-text {
  flex: 1;
}
.notice-text p:last-child {
 font-size: 0.9rem;
 margin: 0;
}
@media (max-width: 768px){
 .notice-row {
   align-items: flex-start;
 }
}
@media (max-width: 480px){
 #content .notice-circle {
  margin-bottom: 0.5rem;
 }
 .notice-row {
  display: block;
 }
 .notice-text{
  position: relative;
 }
 .notice-title{
  width: calc(100% - 100px);
  position: absolute;
  top: -80px;
  left: 100px;
 }
 .notice-title .mb-br{
  display: block;
 }
}
@media (max-width: 375px){
 #content .notice-title{
  left: 92px;
  padding: 6px 0 !important;
 }
}

p.part-read{
 color: #20b082;
 border-bottom: dashed 2px #b7ead9;
 padding-bottom: 1em;
}

.img-dl{
 padding-left: 8.5rem;
 margin-bottom: 2rem;
}

.img-dl .item{
 padding-top: 1rem;
 position: relative;
 min-height: 9rem;
}
.img-dl .item dt{
 padding-bottom: 0;
 margin-bottom: -0.5rem;
 margin-left: -1rem;
}

.img-dl .item dt span{
 display: inline-block;
 padding-left: 1.5rem;
 padding-right: 1.5rem;
 background: #20b082;
 color: #fff;
 border-radius: 2rem;
 position: relative;
}
.img-dl .item dt span:before{
 content:"";
 display: inline-block;
 width: 2rem;
 height: 1.5rem;
 background: #20b082;
 position: absolute;
 top: 0;
 left: 0;
 transform: translateX(-50%);
}
.img-dl .item dd{
 padding: 1rem 1rem 1rem 1.5rem;
 background: linear-gradient(45deg, transparent, #eef9f3);
}
.img-dl .item dd p{
 color: #20b082;
 font-size: 0.9rem;
 padding: 0;
 margin-bottom: 0;
}
.img-dl .item dd figure{
 width: 8.5rem;
 border-radius: 50%;
 border: solid 2px #20b082;
 overflow: hidden;
 position: absolute;
 top: 0;
 left: -8.5rem;
}
.img-dl .item figure img{
 border: solid 4px #fff;
 border-radius: 50%;
}

@media (max-width: 480px){
 .img-dl{
  padding-left: 0;
 }
 .img-dl .item{
  padding-top: 0;
 }
 .img-dl .item dt{
  font-size: 17px;
  margin-left: 0;
 }
 .img-dl .item dt span{
  padding: 0.15em 1.5em;
 }
 .img-dl .item dt span:before{
  content: none;
 }
 .img-dl .item dd figure{
  width: 50%;
  max-width: 160px;
  margin: auto auto 1em;
  position: static;
 }
}

.flow-3img{
 margin: 0!important;
 padding: 1rem;
 border: 3px solid #7fd7be;
 border-radius: 10px;
 counter-reset: item;
}

.flow-3img .item{
 width: 31%;
 margin-bottom: 0;
 list-style-type: none;
 position: relative;
}

.flow-3img .item:before{
 display: block;
 content: counter(item, decimal-leading-zero);
 counter-increment: item;/*カウンターを増減*/
 color: #7fd7be;
 font-size: 1.5rem;
 margin-left: 1.25em;
}

.flow-3img .item:not(:last-child):after{
 content: "";
 width: 0;
 height: 0;
 display: inline-block;
 border: solid 0.9rem transparent;
 border-right-width: 0;
 border-left-color: #7fd7be;
 position: absolute;
 top: 45%;
 right: 0;
 transform: translateY(-50%) translateX(100%);
}

.flow-3img .item img{
 margin-bottom: 0.5rem;
}

.flow-3img .item p{
 font-size: 0.85rem;
 line-height: 1.3;
 margin-bottom: 0;
 padding: 0;
 text-align: center;
}

@media (max-width:480px){
 .flow-3img{
  display: block;
 }
 .flow-3img .item{
  width: 50%;
  min-width: 180px;
  margin: auto;
 }
 .flow-3img .item img {
  margin-bottom: 1rem;
 }
 .flow-3img .item p{
  font-size: 1rem;
 }
 .flow-3img .item:not(:last-child){
  border-bottom: solid 1px #7fd7be;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
 }
 .flow-3img .item:before{
  margin-left: 0;
 }
 .flow-3img .item:not(:last-child):after{
  border: solid 0.9rem transparent;
  border-bottom-width: 0;
  border-top-color: #7fd7be;
  top: inherit;
  bottom: -2rem;
  left: 50%;
  right: inherit;
  transform: translateY(0) translateX(-50%);
 }
}


.teltoi .inner-gy{
 padding: 1rem 2rem;
 background: #eee;
 border-top-left-radius: 1rem;
 border-top-right-radius: 1rem;
}
#content .teltoi h3{
 margin: 0 0 0.5em;
 padding: 0 0 0.25em;
 border-left: none;
 font-size: 1rem;
 font-weight: 600;
 color: #333;
}
.teltoi p{
 margin-bottom: 0;
 padding: 0;
}

p.tel-cta{
 text-align: center;
 padding: 1rem 0;
 background: repeating-linear-gradient(110deg, #38b781 0, #38b781 10px, #20b082 10px, #20b082 20px);
 color: #fff;
 font-size: 2.5rem;
 line-height: 1;
}

p.tel-cta a{
 color: #fff;
 text-decoration: none;
}

@media (max-width:480px){
 .teltoi .inner-gy{
  padding: 1rem 1.5rem;
 }
 p.tel-cta{
  font-size: 1.8rem;
 }
}

/* *******　診療案内　******* */
.yajirusi-dl .item{
 line-height: 1.5;
 margin-bottom: 1rem;
}

.yajirusi-dl dt{
 background: #27b487;
 color: #fff !important;
 padding: 0.5rem 0 0.5rem 0.5rem;
 border-left: solid 10px #ffec94;
 margin-bottom: 0;
 width: 20%;
 min-width: 7em;
 position: relative;
}

.yajirusi-dl dt:after{
 content: "";
 width: 0;
 height: 0;
 display: inline-block;
 border: solid 0.6rem transparent;
 border-right-width: 0;
 border-left-color: #ffec94;
 position: absolute;
 top: 50%;
 right: 0.5rem;
 transform: translateY(-50%);
}

.yajirusi-dl dd{
 border: solid 1px #27b487;
 margin-bottom: 0;
 padding: 0.5rem 1rem;
 width: 80%;
 font-size: 0.9rem;
 font-weight: 500;
 color: #27b487;
}

@media (max-width:660px){
 .yajirusi-dl dt{
  border-left: none;
 }
}
@media (max-width:480px){
 .yajirusi-dl dd br{
  display: none;
 }
}

/* *******　AGAページ　******* */
.aga-page {
  width: 100%;
  line-height: 1.9;
}
.aga-page * {
  box-sizing: border-box;
}
.aga-page img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* =========================
上部説明
========================= */
.intro-block {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 22px;
}
.intro-text {
  flex: 1;
}
.intro-text p {
  margin: 0;
}
.intro-image {
  width: 200px;
  flex-shrink: 0;
}
.intro-image img {
  width: 100%;
  border: 1px solid #e5e5e5;
}

@media (max-width: 768px) {
 .intro-block {
   flex-direction: column;
   gap: 14px;
 }
 .intro-image {
  width: 100%;
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
 }
}

/* =========================
費用見出し
========================= */
.aga-page .price-heading {
  margin: 28px 0 14px;
  color: #20b082;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

/* =========================
費用ボックス
========================= */
.aga-page .price-box {
  border: 3px solid #7fd7be;
  border-radius: 12px;
  background: #fff;
  padding: 18px 18px 16px;
}
.aga-page .price-group + .price-group {
  margin-top: 14px;
}
.aga-page .price-group-title {
 color: inherit;
 border-bottom: none;
 margin: 0 0 6px;
 font-weight: 700;
}
.aga-page .price-group p {
  margin: 0;
}
.aga-page .treatment-example {
  margin-top: 16px;
  border: 1px solid #39b58d;
  border-radius: 4px;
  overflow: hidden;
}
.aga-page .treatment-example-tt {
 background: #20b082;
 color: #fff;
 font-size: 0.9rem;
 font-weight: 700;
 padding: 8px 12px;
 margin-top: 0!important;
 margin-bottom: 0!important;
}
.aga-page .treatment-example .inner{
 padding: 12px;
}
.aga-page .treatment-example p {
  margin: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.7;
}
.aga-page .treatment-example p:not(:last-of-type){
 margin-bottom: 1em;
}
.aga-page .treatment-example .ex-price {
  padding: 0;
  font-size: 20px;
  line-height: 1.3;
  color: #333;
  font-weight: 600;
}


/* =========================
オンライン治療を希望される方へ
========================= */
.aga-page .online-link-text {
  margin-top: 24px;
}
.aga-page .online-link-text p:last-child {
  margin: 0;
}


/* =========================
注記
========================= */
.note {
 margin-top: 1em;
 padding: 0!important;
 font-size: 0.9rem;
 font-weight: 500;
 line-height: 1.7;
}
.note.gr{
 color: #20b082;
}


/* *******　生活習慣病ページ　******* */
.lifestyle-page .flow-block {
  margin-top: 18px;
}
.lifestyle-page .flow-title {
  margin: 0 0 8px;
  color: #20b082;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.lifestyle-page .flow-text {
  margin: 0;
}

/* =========================
月ごとの流れ
========================= */
.lifestyle-page .schedule-box {
  margin-top: 14px;
  border: 3px solid #7fd7be;
  border-radius: 10px;
  background: #fff;
  padding: 12px;
}
.lifestyle-page .schedule-caption {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}
.lifestyle-page .month-flow {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 6px;
  flex-wrap: nowrap;
}
.lifestyle-page .month-step {
  width: 13%;
  min-width: 68px;
  border: 1px solid #33b48b;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
  flex-shrink: 0;
}
.lifestyle-page .month-step .month-name {
  background: #27b487;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.4;
  padding: 6px 4px;
}
.lifestyle-page .month-step .month-status {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6px 4px;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
  color: #27b487;
  background: #fff;
}
.lifestyle-page .month-step.online .month-status {
  color: #666;
}
.lifestyle-page .flow-arrow{
 width: 1rem;
 flex-shrink: 0;
 position: relative;
}
.lifestyle-page .flow-arrow:before{
 content: "";
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent transparent transparent #27b487;
 border-width: 10px 0 10px 10px;
 display: block;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%,-50%);
}


/* スマホ */
@media (max-width: 768px) {
  .lifestyle-page .month-flow {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .lifestyle-page .month-step {
    width: 64px;
  }
  .lifestyle-page .month-step .month-name {
    font-size: 12px;
    padding: 5px 4px;
  }
  .lifestyle-page .month-step .month-status {
    min-height: 48px;
    font-size: 10px;
    padding: 6px 3px;
  }
  .lifestyle-page .flow-arrow:before{
   border-width: 8px 0 8px 8px;
  }
  .lifestyle-page .flow-title {
    font-size: 17px;
  }
  .lifestyle-page .schedule-box {
    padding: 10px;
  }
  .lifestyle-page .schedule-caption {
    font-size: 12px;
  }
}

/* *******　院長あいさつページ******* */
/*メッセージボックス*/
.prof-img{
 width: 32%;
 border: solid 6px #fff;
 box-shadow: 0px 0px 8px #ccc;
 margin-left: 8px;
}
.messe-txt{
 width: 430px;
 margin-left: 2em;
}

.messe-txt .voice{
 color: #399f6a;
 font-size: 1.5rem;
 letter-spacing: 0.05em;
 line-height: 1.6;
 padding: 0;
}

.messe-txt .voice span{
 display: block;
}
.messe-txt .voice span.left4{
 padding-left: 4em;
}
.messe-txt .voice .right{
 text-align: right;
}
.messe-txt .voice span.right1{
 padding-right: 1em;
}
.messe-txt .voice span.right2{
 padding-right: 2em;
}
.messe-txt .voice span.right3{
 padding-right: 3em;
}

.messe-txt .name-set{
 padding-bottom: 0.5em;
 margin-bottom: 3rem;
 border-bottom: solid 1px #ccc;
 position: relative;
}

.messe-txt .name{
 display: inline-block;
 font-size: 1.3rem;
 letter-spacing: 0.15em;
 margin-left: 1em;
}

.messe-txt .name-set .en{
 position: absolute;
 bottom: 0;
 right: 0.5em;
 transform: translateY(100%);
 color: #ddd;
 font-size: 3.5em;
 line-height: 1;
 letter-spacing: 0;
}

@media (max-width:660px){
 .prof-head{
  display: block;
 }
 .prof-img{
  width: 50%;
  max-width: 220px;
  margin: auto auto 2rem;
 }
 .messe-txt{
  width: 95%;
  max-width: 430px;
  margin: 0 auto 5rem;
 }
 .messe-txt .voice{
  text-align: center;
  font-size: 1.4rem;
 }
 .messe-txt .voice span.right1,
 .messe-txt .voice span.right2,
 .messe-txt .voice span.right3{
  text-align: inherit;
  padding-right: 0;
 }
 .messe-txt .voice span.left4{
  padding-left: 0;
 }
}
@media (max-width:375px){
 .prof-img{
  border-width: 4px;
  box-shadow: 0px 0px 6px #ccc;
 }
 .messe-txt{
  width: 100%;
 }
 .messe-txt .voice{
  font-size: 1.3rem;
 }
}

/* ごあいさつ */
.message-iinchou{
	font-size: 1rem;
	line-height: 1.8em;
	letter-spacing: 1px;
	color: #333;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	box-sizing: border-box;
 margin-top: 2rem;
	margin-bottom: 2rem;
	padding: 20px;
	background-size: 35px 35px;
	background-image: linear-gradient( -45deg, #F5FCF9 25%, #EEF9F3 25%, #EEF9F3 50%, #F5FCF9 50%, #F5FCF9 75%, #EEF9F3 75%, #EEF9F3);}

.musubi{
	text-align:right;}

p.prof {
	margin-bottom: 0px !important;
font-size: 18px;
}

.prof-iinchou tr:nth-of-type(odd){
	background-color: #ffe5eb;}

.prof-iinchou tr:nth-of-type(even){
	background-color: #fff6f2;}

/* マークの由来 */
.about-logo .mark{
 width: 30%;
 margin: 0;
 padding: 0;
}
.about-logo .mark img{
 display: block;
 width: 100%;
 max-width: 155px !important;
 margin: auto;
}
.about-logo .about{
 width: 65%;
 margin: 0;
 padding: 0;
}

/* 地図 */
a.map {
	font-size: 18px;
}

.access-michijyun{
 margin-top: 3rem;
}
	
/* *******　404ページ******* */
/* 404ページ */
.error-404{
	background: #e7f5ee;
	padding: 10px;
	margin-bottom: 2em;}
	
#content .error-404 .container p:last-of-type{
	margin-bottom:0;}
	

