@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500&display=swap');



/*--------------------------------------------------
A Modern CSS Reset 
--------------------------------------------------*/

*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}


/*--------------------------------------------------
共通
--------------------------------------------------*/

html {
    scroll-behavior: smooth;
}

body{
	font-family: "メイリオ", Meiryo, sans-serif,"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","MS Pゴシック", "MS PGothic";
	color: #333333;
}

p{
	font-size: 16px;
	line-height: 1.6;
}


h2,h3,h4{font-weight: normal;}

a {text-decoration: none;}
a:hover, a:active, a:focus {text-decoration: none;}

.floatimg{
	float: right;
	height: 300px;
	margin: 20px;
}

.floatimg-L{
	float: left;
	width: 30%;
	margin-right: 20px;
}

.clearfix{
	clear: both;
}

.flex_main{
	width: 70%;
}

.flex_sub{
	width: 30%;
	margin-right: 20px;
}

.text-right{
	text-align: right;
}


@media (max-width:800px) {
	.floatimg{
		float: none;
		display: block;
		width: 250px;
		height: auto;
		margin: 20px auto;
	}

	.floatimg-L{
		float: none;
		width: 100%;
		margin: 0 auto 20px;
	}


}

.fa-photo:before, .fa-image:before, .fa-picture-o:before {
    content: "\f03e";
	margin-left: 20px;
	margin-right: 5px;
}

.text-left{
	text-align: left;
}

a{
color: #ea5532;
}

a:visited{
color: #ea5532;
}

a:hover{
color: #ea5532;
text-decoration: underline;
}

.emphasise{
	color:#ea5532;
}

/*--------------------------------------------------
スライダー
--------------------------------------------------*/

.main_v_cover{
	position: relative;
	background-color: #fff;
}
/*.main_v_cover:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: calc(100% - 4vw);
	height: 100%;
	margin: 0 auto;
	background-color: rgba(202,216,207,0.2);
	z-index: 1;
}*/
.main_v_cover:after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 1;
	transition: 2.5s;
}
.action.main_v_cover:after{
	width: 0%;
}
.main_visual{
	width: 100%;
	height: 85vh;
	margin: 0 auto;
	overflow: hidden;
}
.main_slider .slick-track,
.main_slider .slick-list{
	height: 100%;
}
.top_logo{
	width: 90vw;
	padding: 0 20px;
	position: absolute;
	top: 45%;
  	right: 0;
  	left: 0;
  margin: 0 auto;
  -webkit-transform: translate(0%,-50%);
  -moz-transform: translate(0%,-50%);
  -ms-transform: translate(0%,-50%);
  -o-transform: translate(0%,-50%);
  transform: translate(0%,-50%);
  z-index: 2;
}
.mainslide_white{
	width: 100%;
	height: 100%;
	background-color: #fff;
	position: relative;
	margin: 0;
}

.ofi{
	height: 100%;
	width: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover';
  }


/*--------------------------------------------------
ここから修正
--------------------------------------------------*/


.head-nav-toggle {
    display: block;
    z-index: 10;
    position: relative;
    width: 45px;
    height: 45px;
    background: url(images/common/toggle.svg) no-repeat center center;
    background-size: 40px;
    cursor: pointer;
}




.nakami{
	background-color: #f3d282;	
}





/*--------------------------------------------------
ここまで
--------------------------------------------------*/

  .container{
	max-width: 1280px;
	margin-top: -60px;
  }

  .other-container{
	max-width: 1280px;
	margin: 10px auto 50px;
	padding:10px;

  }

.container-b{
	max-width: 1000px;
	background-color: #fce8ba;
    margin: 30px auto;
	padding: 50px;
	border-radius: 10px;
}

/* ヘッダーがかぶる場合アンカーリンクの一番最初の子要素に入れる*/
.target:before {
    content: "";
    display: block;
    height: 280px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -280px; /* heightと同じ分のネガティブマージン */
    visibility: hidden;
}


.container-b.inner{
	padding-top: 100px;
    margin-top:-100px;
}

.container-c{
	max-width: 1000px;
    margin: 30px auto 60px;
	padding-left: 10px;
	padding-right: 10px;
}


.container-b-back{
	background-color: #fce8ba;
	padding: 50px;
	border-radius: 10px;
	margin-bottom: 40px;
}


.container-middle {
    max-width: 900px;
    margin: 0 auto;
 }



/*ロゴマーク*/
h1{
	width: 500px;
	margin-top: 20px;
}

h2{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	color:#ea5532;
	text-align: center;
	font-size: 50px;
	line-height: 2.5;
	margin-bottom: 20px;
}

h2:before{
	content: "";
	background-image: url("images/leaf.svg");
	display: inline-block;
	height: 50px;
	width: 50px;
	vertical-align: middle;
}

/* 破線 */
.dashed {
	background-image: linear-gradient(to right, #ea5532, #ea5532 6px, transparent 6px);
    background-size: 13px 2px;
    background-position: left bottom;
    background-repeat: repeat-x;
    letter-spacing: 1px;
  }


ruby > rt {
	display: block;
	font-size: 50%;
	text-align: start;
  }

/*PCでは無効（改行しない）*/	
.sp_view{
    display: none;
}

/*PCでは有効（改行する）*/	
.pc_view{
    display: block;
}

.text-r{
	text-align: right;
}

.cn{
	text-align: center;;
}

@media (max-width:800px) {
	/*スマートフォンでは有効（改行する）*/
    .sp_view{
        display: block;
    }
	/*スマートフォンでは無効（改行しない）*/
	.pc_view{
		display: none;
	}
	
	
}


.comments{
	font-size:14px;
}



.position_r{
	position: relative;
}
.top_section{
	padding: 60px 0;
}
.page_section{
	padding: 50px 0;
}

.underpage_section{
	padding-top: 80px;
}

.underpage_section02{
	padding-top: 50px;
}



/*タイトル*/
.sub_title{
	font-size: 40px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 60px;
}
.section_title{
	font-size: 30px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 40px;
}
/*テキスト*/
.common_text{
	font-size: 18px;
	line-height: 2.0;
	text-align: left;
}

.common_text_r{
	font-size: 18px;
	line-height: 2.0;
	text-align: right;	
}

/*ボタン*/
.common_btn{
	display: block;
	text-decoration: none;
	text-align: center;
	color: #000;
	border: 1px solid #000;
	width: 100%;
	max-width: 200px;
	padding: 10px;
	margin: 10px auto;
	transition: 0.3s;
}
.common_btn:hover{
	color: #b3b3b3;
}

/*その他*/
.bg_gray{
	background-color: #f2f2f2;
}


/*--------------------------------------------------
フッター
--------------------------------------------------*/



.site-foot{
	background-image: url(images/back-color03.png);
	background-repeat:repeat-x;
	width: 100%;
	height: 320px;
	position: relative;
	margin-top: 100px;
}

.footer-box{
}

/*
.footer-box{
	position: absolute;
	top: 50%;
	left: 50%;
	bottom: -200px;
	transform: translate(-50%,-50%);
	max-width: 600px;
}
*/



.footer-logo{
	width: 250px;
	text-align: center;
	position: absolute;
	left: 50%;
	transform: translate(-50%,-50%);
}

.footer-textarea{
	text-align: center;
	padding-top: 150px;
	max-width: 600px;
	margin: 0 auto;
	z-index: 10;
}

.contact_text{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	line-height: 30px;
	text-align: center;
}
.f_tel{
	display: block;
	text-decoration: none;
	color: #000;
	text-align: center;
	font-size: 25px;
	font-weight: 600;
	margin: 40px 0;
	transition: 0.3s;
}
.f_tel:hover{
	color: #b3b3b3;
}
.foot-sitemap a{
	transition: 0.3s;
	color: #000;
}
.foot-sitemap a:hover{
	color: #b3b3b3;
}
.foot-sitemap{
	width: 100%;
	max-width: 550px;
	margin: 0 0 0 auto;
}

.copyright{
	margin-top: 0;
	color: #000;
	padding-bottom: 10px;
}

.f_spbr::before{
	content: '';
	margin-right: 10px;
}
.contact_spnobr::before{
	content: "\A" ;
	white-space: pre ;
}
.contact_btn{
	display: block;
	text-decoration: none;
	text-align: center;
	color: #000;
	border: 1px solid #000;
	width: 100%;
	max-width: 500px;
	padding: 10px;
	margin: 10px auto;
	transition: 0.3s;
}
.contact_btn:hover{
	color: #b3b3b3;
}

/*--------------------------------------------------
トップページ
--------------------------------------------------*/

.header{
	background-color: #fff;
	position: fixed;
	width: 100%;
	height: 200px;
	z-index: 10;
}

.heder-contents{
	max-width:1280px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 20px;
	background-color: #fff;
}


.site-head{
	width: 100%;
}

.site-head-navi{
	width: 800px;
	margin: 0 auto;

}

.head-nav{
	background-color: #fff;
}

.right{
	margin: 0 0 0 auto;
	width: 120px;
}

.topage{
	background-color: #ea5532;
	padding: 10px 20px;
	border-radius: 20px;
	color: #fff;
	text-align: center;

}

/*--------------------------------------------------
グローバルメニュー
--------------------------------------------------*/


#gvl-nav ul {
	z-index: 9;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	padding: 60px 10px 10px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: 0.3s;
	transition: 0.3s;
  }
  #gvl-nav ul li {
	border-bottom: 1px solid #efefef;
  }
  #gvl-nav ul li:first-child {
	border-top: 1px solid #efefef;
  }
  #gvl-nav ul li a {
	display: block;
	padding: 20px 0;
	color: #fff;
	text-align: center;
	text-decoration: none;
  }
  #gvl-nav.show ul {
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	opacity: 1;
	pointer-events: auto;
  }



.gvl-nav-toggle {
	display: block;
	z-index: 10;
	position: relative;
	width: 38px;
	height: 38px;
	background: url(images/common/toggle.svg) no-repeat center center;
	background-size: 30px;
	cursor: pointer;
  }
  #gvl-nav .show .gvl-nav-toggle{
	background: url(images/common/toggle_close.svg) no-repeat center center;
	background-size: 30px;
	position: fixed;
	top: 15px;
	right: 10px;
  }




.main-nav{
	display: flex;
	justify-content: space-between;
}

.main-nav li{
	display: flex;
	font-weight: bold;
	border-right: 1px solid #583f3a;
}


.data-item{
	max-width: 600px;
}


.bt-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bt-box .tel{
	font-size: 30px;
	color: #ea5532;
}


.bt-box .tel:before{
	content: "";
	background-image: url("images/telmark.svg");
	display: inline-block;
	height: 30px;
	width: 30px;
	vertical-align: middle;
	margin-right: 10px;
}



/*オンライン予約ボタン*/

.reserve_area{
	width: 330px;
	margin-left:20px;
}

.bt-box .reserve-bot{
	max-width:300px;
	text-align: center;
	background-color: #ea5532;
	color: #fff;
	border-radius: 30px;
	font-size: 20px;
	padding: 5px 20px;
	transition: all  0.3s ease;

}

.bt-box .reserve-bot:hover{
	background-color: #896239;
}


.main-vis{
	background-image: url(images/back_img01.jpg);
	background-size: cover;
	height: 80vh;
	position: relative;
	min-height: 600px;
}



.topslider{
	position: relative;
	margin-top: 0px;
}

.namisen_cover{
	position:absolute;
	bottom: 0;
	z-index: 2;
}

.intro-text{
		color: #fff;
		text-align: center;
		font-size: 30px;
		text-shadow: 3px 3px 11px rgba(0,0,0,1);
}

.namisen-back{
		position: absolute;
		width: 100%;
		bottom: 0;
}

.namisen-back img{
	vertical-align:bottom;
}
	   
.namisen-box{
		   background-image: url(images/back-color01-1.png);
		   background-repeat:repeat-x;
		   width: 100%;
		   position: absolute;
		   bottom: 0px;
		   z-index: 2;
}

.intro-section{
	background-color: #fad275;
	padding-top: 20px;
	padding-bottom: 70px;
	margin-top: -10px;
	
}

.fromdental-section{
	background-color: #fad275;
	padding-top: 20px;
	padding-bottom: 0px;
	margin-top: -10px;
	
}





.main-textbox{
	width: 1000px;
	height: 100px;
	position: absolute;
	right: 50%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);

}



/*令和5年3/28開院*/
.open-date {
	background-color: #fff;
	border-radius: 100px;
	padding: 10px 30px;
	color:#ea5532;
	text-align: center;
	max-width: 800px;
	margin: 100px auto 50px;
}

.open-date .openday{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:45px;
	line-height: 1;
}

.open-date .num{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:80px;
	line-height: 1;
}

.greeting-box{
	background-color: #fff;
	max-width: 900px;
	margin: 30px auto;
	border-radius: 20px;
	padding: 10px 30px 30px;
	box-shadow: 0px 15px 0px 0 rgb(195, 153, 109);
}

.greeting-text{
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.reserve-section{
	background-image: url(images/back-color02.png);
	background-repeat:repeat-x;
	width: 100%;
	height: 300px;
	padding-top: 100px;
}


.reserve-bot02{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	background-color: #ea5532;
	border-radius: 100px;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	max-width: 600px;
	font-size: 50px;
	padding: 10px 30px;
	transition: all  0.3s ease;
}

.reserve-bot02:hover{
	background-color: #896239;
}

.follow_area{
	display: none;
}


.news-section{
	margin: 50px auto 20px;
	max-width: 1280px;
	padding: 10px;
}


.info-section{
	margin: 50px auto 150px;

}

.info-box{
	background-color: #fce8ba;
	max-width: 900px;
	margin: 0 auto 100px;
	border-radius: 20px;
	padding: 10px 30px 30px;
}

.info-list {
    list-style:  none;  /* デフォルトのアイコンを消す */
    margin:  0;         /* デフォルト指定上書き */
    padding: 0;         /* デフォルト指定上書き */
	font-size: 16px;
	letter-spacing: 0.1em;
	text-indent: -1em;
   	padding-left: 1em;
}
 
 
.info-list-item:before {
    content:  "";     /* 空の要素作成 */
    width:  15px;               /* 幅指定 */
    height:  15px;              /* 高さ指定 */
    display:  inline-block;     /* インラインブロックにする */
    background-color: #F44336;  /* 背景色指定 */
    border-radius:  50%;        /* 要素を丸くする */
    position:  relative;        /* 位置調整 */
    top: 2px;                  /* 位置調整 */
    margin-right: 5px;          /* 余白指定 */
}

.info-list a{
	color:#ea5532;
	text-decoration: underline;
}



.subject-section dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

.subject-section  dl dt{
	background-color: #ea5532;
	color: #fff;
	padding: 0px;
	border-radius: 50px;
	width: 30%;
	margin-bottom: 10px;
	text-align: center;
}

.subject-section  dl dd{
	width: 68%;
	text-align: left;
	margin-inline-start: 0;
	margin-bottom: 10px;
}

.hosoku-title{
	width: 600px;
	text-align: center;
	margin: 20px auto 20px;

}


/*--------------------------------------------------
料金表（保険適用外診療）
--------------------------------------------------*/

/*上へ戻るボタン*/
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #ea5532;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #ea5532;
    border-right: 3px solid #ea5532;
    transform: translateY(20%) rotate(-45deg);
}


.pricelist-navi {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px,1fr));
	gap: 5px;
  }

.pricelist-navi a {
	display: block;
	text-align: center;
	padding: 10px;
	background-color: #fce8ba;
	color: inherit;
	text-decoration: none;
	border-bottom: 5px solid #ea5532;
	transition: 0.3s;
  }

  .pricelist-navi a:hover{
	opacity: 0.5;
  }

.komidashi{
	max-width: 350px;
	border-radius: 30px;
	margin: 50px auto 30px;
	font-size: 20px;
	text-align: center;
	background-color: #8c7042;
	padding: 10px;
	color: #fff;
}

.komidashi02{
	max-width: 450px;
	border-radius: 30px;
	margin: 50px auto 30px;
	font-size: 20px;
	text-align: center;
	background-color: #8c7042;
	padding: 10px;
	color: #fff;
}

.inner-text{
	width: 800px;
	margin: 0 auto 30px;
}


.ind01{
	text-indent:0.7em;
}

.ind02{
	text-indent:0.6em;
}

.ind03{
	text-indent:11em;
}


  .top_calendar_table {
	width: 100%;
	border-right: 1px solid #3a2d1c;
	border-left: 1px solid #3a2d1c;
	border-bottom: 1px solid #3a2d1c;
	border-top: 1px solid #3a2d1c;
	background-color:#fbf6ec;
	color: #3a2d1c;
	text-align: center;
  }

  .top_calendar_table  thead{
	text-transform: uppercase;
	border-bottom: 0;
  }

  
  .tableborder-r{
	  border-right: 1px solid #3a2d1c;
  }

  .tableborder-b{
	border-bottom: 1px solid #3a2d1c;
  }
  
  .yohaku{
	  padding:12px;
  }
  
  .top_calendar_table th{
	padding: 12px;
	font-weight: 500;
	border-right: 1px solid #fff;
	border-left: 1px solid #3a2d1c;
	border-bottom: 1px solid #3a2d1c;
	border-top: 1px solid #3a2d1c;
	background-color: #3a2d1c;
	color: #fff;
  }

    
  .top_calendar_table th:last-child{
	border-right: 1px solid #3a2d1c;
}
  
  th.calendar_title{
	white-space: nowrap;
  }
  
  td.calendar_time{
	  color: #3a2d1c;
  }




.attention{
 max-width: 900px;
 margin: -20px auto 30px;
 text-align: center;
 color: #ea5532;
}


.pricelist{
	width: 70%;
	margin: 30px auto;
	border: 1px solid #595959;
	border-collapse: collapse;

}

.pricelist th {
	border: 1px solid #595959;
	padding: 15px;
	width: 100px;
	background: #f8d047;
	text-align: left;
	white-space: nowrap;
}

.pricelist td {
	border: 1px solid #595959;
	padding: 15px;
	width: 300px;
	background: #fff;
	white-space: nowrap;
}

.pricelist02{
	width: 70%;
	margin: 30px auto;
	border: 1px solid #595959;
	border-collapse: collapse;

}

.pricelist02 th {
	border: 1px solid #595959;
	padding: 15px;
	width: 45%;
	background: #f8d047;
	white-space: nowrap;
}

.pricelist02 td {
	border: 1px solid #595959;
	padding: 15px;
	width: 55%;
	background: #fff;
	white-space: nowrap;
}


.pricelist03{
	width: 70%;
	margin: 30px auto;
	border: 1px solid #595959;
	border-collapse: collapse;
	
}

.pricelist03 td{
	padding: 15px;
	white-space: nowrap;
}

.backyellow{
	background: #f8d047;
	font-weight: bold;
}

.backwhite{
	background: #fff;
}

.border-bottom{
 border-bottom: 1px solid #000;
}

.border-right{
	border-right: 1px solid #000;
}



.table-flex{
	display: flex;
}

.table-flex02{
	display: flex;
}



@media(max-width:800px){
	.table-flex{
		display: block;
	}
}

/*--------------------------------------------------
医院の特徴
--------------------------------------------------*/



.inner-photo{
	max-width: 280px;
}

.about-lead{
	color: #ea5532;
	font-size: 20px;
	border-bottom: solid 2px #ea5532;
	margin-bottom: 10px;
}

.line-marker{
	background-color: #ff9;	
}

.under-marker{
	border-bottom: 1px solid #000;
	padding-bottom: 3px;
}

.about-setumei{
	max-width: 500px;
	margin-left: 44%;
	text-align: left;
}

/*--------------------------------------------------
診療設備
--------------------------------------------------*/

.category-name{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	display: inline;
	color:#ea5532;
	font-size: 25px;
	border-bottom: dotted 2px #ea5532;
}

.flex-container{
	display: flex;
	align-items: flex-start; 
	justify-content: space-between;
	margin-bottom: 40px;
}

.flex-container .imgitem{
	width: 300px;
	height: auto;
}

.flex-container .text{
	width: 70%;
	margin-left: 20px;
}

.flex-item{
	width: 550px;
	margin-left: 10px;
}

.flex-item-img{
	background-color: #b3b3b3;
	border-radius: 10px;
	width: 300px;
	height: 200px;
}

.fleximage{
	width: 800px;
	display: flex;
	align-items: flex-start;
	justify-content:space-between;
	margin: 0 auto;
}


.kadomaru{
	border-radius: 10px;
}




.treatment-contents{
	background-color: #fce8ba;
	padding: 50px;
	border-radius: 10px;
	margin-bottom: 40px;
}

.headline{
	font-size: 18px;
	font-weight: bold;
	border-bottom: 2px solid #ea5532;
	margin-bottom:10px;
}




/*診療内容*/
.card{
	width: 100%;
	max-width: 250px;
	margin: 0 auto;
	text-align: center;
}
.name_title{
	margin: 10px 0 0;
	font-size: 20px;
	text-align: left;
}
/*医院情報*/
.i_tel{
	font-size: 25px;
	font-weight: 600;
	margin: 20px 0;
}
/*診療時間*/

.top_calendar{
	color: #000;
	background-color: #fff;
	padding: 10px 0;
  }

.week_kugiri_table {
    width: 100%;
    margin-bottom: 10px;
    letter-spacing: 2px;
    border-radius: 5px;
    overflow: hidden;
}

table {
    border-collapse: collapse;
}

.week_kugiri_table thead {
    text-transform: uppercase;
    border-bottom: 0;
}

.week_kugiri_table .calendar_time {
    text-align: left;
    width: 170px;
}

.week_kugiri_table .week th {
    color: #fff;
    background-color: #ea5532;
    border-right: 1px solid #fff;
}

.week_kugiri_table td, .week_kugiri_table th {
    padding: 5px;
    text-align: center;
    font-weight: 500;
}

.week_kugiri_table td {
    font-size: 14px;
    padding-top: 10px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    background-color: #eee8dd;
}

.week_kugiri_table .calendar_time {
    text-align: left;
    width: 170px;
}



.top_calendar_table {
  width: 100%;
}
.top_calendar_table  thead{
  text-transform: uppercase;
  border-bottom: 0;
}
.top_calendar_table tr{
    border: 1px solid #000;
}
.top_calendar_table td,
.top_calendar_table th{
  padding: 5px;
  text-align: center;
  font-weight: 500;
  border-right: 1px solid #000;
}
.top_calendar_table th{
	background-color: #ea5532;
	color: #fff;
}
.top_calendar_table td{
	font-size: 12px;
}
.top_calendar_table td:last-child,
.top_calendar_table th:last-child{
	border-right: none;
}
th.calendar_title{
  white-space: nowrap;
  background-color: #ea5532;
  color: #000;
}


td.calendar_mark{
	color: #ea5532;
}

.top_calendar_table .holiday{
	background-color: #fff;
	color:#0081cc;
}

.calendar_maincolor{
	color: #ea5532;
}

.tel-area{
	border: 2px solid #ea5532;
	padding:10px;
	background-color: #fff;
	font-weight: 600;
	width:300px;
	border-radius: 50px;
	font-size: 30px;
	text-align: center;
	color: #ea5532;
}

.mapimg{
	width: 650px;
	padding-left: 20px;
}

.access-map{
	width: 800px;
	display: block;
	margin: 100px auto 50px;
}


/*--------------------------------------------------
院長紹介
--------------------------------------------------*/

.doctor-img{
	margin: 0 auto 20px;
	text-align: center;
}

.doctor-name{
	font-size: 20px;
	margin-bottom: 30px;
	border-bottom: #ea5532 solid 2px;
	padding-bottom: 5px;
	
}

.introduction-flex-item{
	width: 650px;
	margin-left: 20px;
}

.profile-item{
	width: 430px;

}

.profileimg{
	width:40%;
	margin-right: 20px;
}

.profiletext{
	width: 60%;
}

.profile-title{
	color: #ea5532;
	font-size: 20px;
	border-bottom: solid 2px #ea5532;
	padding-bottom: 5px;
	margin-bottom: 10px;
}


/*--------------------------------------------------
診療設備
--------------------------------------------------*/





/*--------------------------------------------------
当院について
--------------------------------------------------*/
.about_tre_cate{
	font-size: 18px;
	font-weight: 600;
	text-align: center;
}
.kugiri{
	border-right: 1px solid #000;
}
.about_tre_cate_text{
	text-align: center;
	padding: 30px;
}
/*--------------------------------------------------
診療内容
--------------------------------------------------*/
.tre_cate_name{
	margin: 0 0 30px;
	font-size: 25px;
	font-weight: 600;
}
.tre_name{
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 600;
}
.tre_text{
	margin-bottom: 30px;
}


/*--------------------------------------------------
お知らせ
--------------------------------------------------*/
.news_list{
	width: 100%;
	max-width: 900px;
	margin: 30px auto;
}
.news_list li{
	font-size: 16px;
	margin: 10px 0;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px dashed #ea5532;
  padding-bottom: 5px;
  
}
.news_list a{
	display: block;
	text-decoration: none;
	color: #4b4b4b;
	margin: 0;
	transition: 0.3s;
}



.news_list .date{
	margin-right: 30px;
	font-weight: bold;
	color: #ea5532;

}
.news_list a:hover{
	color: #aaaaaa;
}

.news_list_btn{
	text-align: right;
}

.news_list_btn a{
	text-decoration: none;
	color: #4b4b4b;
	transition: 0.3s;
}

.news_list_btn a:hover{
	color: #aaaaaa;
}

.newslink_title{
	letter-spacing: 0.1em;
}

.news_img{
	width: 400px;
	margin-left: 20px;
}


/*お知らせ個別 ==========================*/

.top_news_area{
	padding:10px;
}


.page-title{
	font-size: 35px;
	margin: 30px auto 30px;
	line-height: normal;
}

.single-date{
	margin-right: 30px;
    font-weight: bold;
    color: #ea5532;
}


.single-body{
	min-height: 500px;
}
.ovH{
	margin-top: 50px;
	align-items: center;
}

.next_article {
    text-align: left;
}


.next_article {
    text-align: right;
}

.back_article a,
.next_article a{
	text-decoration: none;
	transition: 0.3s;
	color: #ea5532;
}
.back_article a:hover,
.next_article a:hover{
	color: #aaaaaa;
}

.list-btn{
	margin: 0 auto;
	max-width: 300px;
    text-align: center;
    background-color: #ea5532;
    color: #fff;
    border-radius: 30px;
    font-size: 20px;
    padding: 5px 20px;
    transition: all 0.3s ease;
}




/*--------------------------------------------------
お問い合わせフォーム
--------------------------------------------------*/

.contact_text{
	text-align:center;
	}
	
	.contact_form{
		margin-top: 30px;
		background-color: #fff;
	 border-radius: 10px;
	}
	
	.contact_table{
		width: 100%;
		margin: 10px auto;
	}
	.contact_table tr{
		display: block;
		margin-bottom: 20px;
	}
	.contact_table th,
	.contact_table td{
		width: 100%;
		display: block;
	}
	.contact_table th{
		font-weight: normal;
		text-align: left;
		vertical-align: top;
		letter-spacing: 0.1em;
	}
	.contact_table td{
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.contact_table input,
	.contact_table textarea {
		width: 100% !important;
		border: 1px solid #dcdcdc;
	  background-color: #f5f5f5;
	  padding: 10px;
	}
	.contact_table input[type="checkbox"],
	.contact_table input[type="radio"] {
	  -webkit-box-sizing: border-box;
			  box-sizing: border-box;
	  width: 20px !important;
	  height:20px;
	  margin: 5px 10px 10px 5px;
	  vertical-align: -0.2em;
	}
	
	
	/*タグ*/
	.required{
		background-color: #ea5532;
		padding: 5px;
		color: #fff;
		text-align: center;
		margin-right: 10px;
		font-size: 12px;
	  border-radius: 5px;
	}
	
	
	span.wpcf7-list-item {
	  /*チェックボックスを縦並びに*/
	  display: block;
	  margin-left:0;
	}
	input[type="submit"],input[type="button"]{
	  /*ボタンのスタイルを変更する*/
	  display: inline;
	  margin: 10px;
		color:#fff;
	  border: 1px solid #ea5532;
		background-color:#ea5532;
		border-radius: 30px;
	  font-size: 100%;
	  font-weight: 500;
	  letter-spacing: 3px;
	  cursor: pointer;
	  padding: 10px;
	  width: 100%;
	  max-width: 200px;
	  text-align: center;
	  transition: 0.3s;
	}
	
	input[type="submit"]:hover,input[type="button"]:hover{
		color: #fff;
		border: 1px solid #000;
		background-color:#000;
	}
	
	
	.td-area{
		border: 1px solid #dcdcdc;
		background-color: #f5f5f5;
		text-align: left;
		padding-left: 10px;
	}
	
	.thanks{
		height: 100vh;
	}
	
	.thanks .text{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		margin: auto;
	  }


/*--------------------------------------------------
レスポンシブ
--------------------------------------------------*/

@media (max-width: 800px) {

.target:before {
		content: "";
		display: block;
		height: 100px;
		margin-top: -100px;
		visibility: hidden;
	}


.site-body {
    min-height: 80vh;
    margin-top: 100px;
}


.footer-logo{
	width: 150px;
	text-align: center;
	position: absolute;
	left: 50%;
	transform: translate(-50%,-50%);
}

.footer-textarea{
	text-align: center;
	padding-top: 70px;
	padding-bottom: 20px;
	max-width: 600px;
	margin: 0 auto;
	z-index: 10;
}



/*上へ戻るボタン*/
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 120px;
    background: #fff;
    border: solid 2px #ea5532;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #ea5532;
    border-right: 3px solid #ea5532;
    transform: translateY(20%) rotate(-45deg);
}

.underpage_section{
	padding-top: 80px;
}


.site-foot{
	margin-bottom: 90px;
}
	

.container-b{
	max-width: 95%;
	background-color: #fce8ba;
    margin: 30px auto;
	padding: 20px;
	border-radius: 10px;
}

	
.reserve_area{
	display: none;
}

.follow_area{
	display: block;
	  top: auto;
	bottom: 0px;
	left: 0;
	position: fixed;
	width: 100%;
}


.follow_nobr{ white-space: nowrap; }
.follow_con{ 
	width: 100%; 
	margin: 0 auto;
	background-color: #fff;
}
.follow_yoyaku{
display: block;
border-radius: 10px 10px 0px 0px / 10px 10px 0px 0px;
background-color: #ea5532;
font-size: 20px;
color:#fff;
padding: 10px 5px;
margin: 0;
width: 100%;
text-align: center;
}


.follow_yoyaku:visited{
	border: 1px solid #ea5532;
	background-color: #ea5532;
	color: #fff;
}
.follow_yoyaku:hover{
	border-color: #896239;
	background-color: #fff;
	color: #896239;
}

.follow_area .tel{
	font-size: 30px;
	color: #ea5532;
	background-color: #fff;
	text-align: center;
}


.follow_area .tel:before{
	content: "";
	background-image: url("images/telmark.svg");
	display: inline-block;
	height: 30px;
	width: 30px;
	vertical-align: middle;
	margin-right: 10px;
}

	
.main_visual{
		width: 100%;
		height: 50vh;
}

.ofi{
	height: 100%;
	width: 50%;
	object-fit: contain;
}



.container-b-back{
		background-color: #fce8ba;
		padding: 30px 10px;
		border-radius: 10px;
		margin-bottom: 40px;
}
	

.greeting-box{
	background-color: #fff;
	max-width: 95%;
	margin: 30px auto;
	border-radius: 20px;
	padding: 10px 30px 30px;
	box-shadow: 0px 15px 0px 0 rgb(195, 153, 109);
}

p{
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0em;
}

h2{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	color:#ea5532;
	text-align: center;
	font-size: 25px;

}

h2:before{
	content: "";
	background-image: url("images/leaf.svg");
	display: inline-block;
	height: 30px;
	width: 30px;
	vertical-align: middle;
}


.header{
		background-color: #fff;
		width: 100%;
		height: 80px;
		position: fixed;
		padding-bottom: 20px;
}
	


.heder-contents{
	display: flex;
	padding:10px;
}

h1{
	width: 250px;
	margin: 0px;
}


.data-item{
	max-width: 600px;
	margin-bottom: 20px;
}





.main-textbox{
	width: 100%;
	position: absolute;
	right: 50%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);

}


.intro-text{
	color: #fff;
	text-align: center;
	font-size: 23px;
	text-shadow: 3px 3px 11px rgba(0,0,0,1);
}

.bt-box{
	display: none;
}

.hosoku-title{
	width:300px;
}

.flex_main{
	width: 100%;
}

.flex_sub{
	width: 100%;
	margin: 0 auto 20px;

}


/*令和5年3/28開院*/
.open-date {
	background-color: #fff;
	border-radius: 100px;
	padding: 10px 30px;
	color:#ea5532;
	text-align: center;
	max-width: 800px;
	margin: 100px auto 50px;
}

.open-date .openday{
	font-size:22px;
	line-height: 1;
}

.open-date .num{
	font-size:32px;
	line-height: 1;
}


.reserve-bot02{
	font-size: 30px;
	padding: 10px;
}


.tel-area{
 margin: 0 auto;
}

.flex-container{
	display: block;
	margin-bottom: 40px;
	text-align: center;
}

.flex-item{
	width: 100%;
	margin: 0 auto;
	padding-left: 10px;
	padding-right: 10px;

}


.inner-photo{
	max-width: 280px;
	margin: 0 auto 30px;
}

.flex-item-img{
	margin: 0 auto 10px;
}

.fleximage{
	width:90%;
	margin: 0 auto;
	display: block;
	text-align: center;
}

.flex-container .imgitem{
	width: 100%;
	height: auto;
	text-align: center;
	margin-top: 20px;
}

.flex-container .text{
	width: 100%;
	margin-left: 0px;
	text-align: left;
	margin-top: 20px;
}

.introduction-flex-item{
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
	margin: 0 auto;
}

.profile-item{
	width: 100%;

}

.sp-flexbox{
	display: flex;
	justify-content: space-between;
	padding-left: 10px;
	padding-right: 10px;
}

.sp-flexbox-itemA{
	width: 80%;
}

.sp-flexbox-itemB{
	width: 20%;
}

/*オンライン予約ボタン*/
.bt-box .reserve-bot{
	width:70%;
	text-align: center;
	background-color: #ea5532;
	color: #fff;
	border-radius: 30px;
	font-size: 20px;
	padding: 5px 20px;
	transition: all  0.3s ease;
	margin: 0  auto;
}


.back_article, .next_article {
    text-align: center;
    margin: 30px 0;
}

.profileimg{
	width: 90%;
	margin: 0 auto 20px;
}

.profiletext{
	width: 95%;
	margin: 0 auto 20px;
}

.mapimg{
	width: 95%;
}

.pricelist{
	width: 100%;
	margin: 30px auto;
	border: 1px solid #595959;
	border-collapse: collapse;

}

.pricelist p{
	font-size: 15px;
}

.pricelist th {
	border: 1px solid #595959;
	padding: 5px;
	width: 100px;
	background: #f8d047;
	text-align: left;
	white-space: nowrap;
	font-size: 15px;
}

.pricelist td {
	padding: 10px;
	font-size: 15px;
}

.pricelist02{
	width: 100%;
	margin: 30px auto;
	border: 1px solid #595959;
	border-collapse: collapse;

}

.pricelist02 th {
	border: 1px solid #595959;
	padding: 15px;
	width: 45%;
	background: #f8d047;
	white-space: wrap;
	font-size: 15px;
}

.pricelist02 td{
	font-size: 15px;
}

.inner-text{
	width: 100%;
	margin: 0 auto 30px;
}



	/*スタッフ紹介========================================*/
	.pro_table th,
	.pro_table td{
		display: block;
	}
	.pro_table th{
		min-width: 100%;
		padding-bottom: 0;
	}
	.pro_table td{
		width: 100%;
	}

	.common_text{
		font-size: 16px;
		line-height: 2.0;
		text-align: left;
	}

	.common_text_r{
		font-size: 16px;
		line-height: 2.0;
		text-align: right;	
	}
	
}
@media only screen and (max-width: 600px) {
	/*flex{
	flex-direction: column;}*/
	.sub_title{
		font-size: 30px;
	}
	.section_title{
		font-size: 25px;
	}

	.sp-br::before{ /*横幅600で改行する*/
		content: "\A" ;
  	white-space: pre ;
	}
	/*フッター========================================*/
	.contact_text{
		text-align: left;
	}
	.foot-sitemap{
		flex-direction: column;
		max-width: 100%;
		margin-top: 20px;
	}
	.foot-sitemap li{
		margin: 10px 0;
	}
	.foot-sitemap a{
		width: 100%;
		display: block;
	}

	.contact_spnobr::before{
		content: '';
	}
	.f_spbr::before{
		content: "\A" ;
  	white-space: pre ;
	}
	.f_tel{
		text-align: left;
	}
	/*当院について========================================*/
	.kugiri{
		border-bottom: 1px solid #000;
		border-right: none;
	}

	.top_section{
		padding: 50px 0;
	}

	.comments{
		font-size:14px;
		text-align: center;
	}
	
	.date-L{
		font-size:45px;
	}

	.open-day{
		background-color: #e4007f;
		padding: 30px 0;
		margin-bottom: 50px;
	}
	   
		
	.open-day p{
		color: #fff;
		font-size:23px;
		text-align: center;
	}
	
	.subject-section dl{
		width: 100%;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	
		.subject-section dl dt{
			width: 70%;
		text-align: center;
		background-color: #ea5532;
		color: #fff;
		padding: 0px;
		border-radius: 50px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 10px;
	
	}
	
		.subject-section dl dd{
		width: 100%;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 30px;
	}


	.about-setumei{
		width: 95%;
		margin-left:8%;
		text-align: center;
	}

	/*お知らせ========================================*/
	.news_list li{
		flex-direction: column;
	}
	
	.news_img{
		width: 90%;
		margin: 0 auto 30px;
	}


	/*お問い合わせ========================================*/
	.contact_table th{
		min-width: 100%;
	}
	.contact_table th,
	.contact_table td{
		width: 100%;
		display: block;
		padding: 10px;
	}
	span.wpcf7-list-item {
  /*チェックボックスを縦並びに*/
	  display: block;
	}
}
@media only screen and ( min-width: 600px ) {
	/*電話番号*/
	.f_tel{
    	pointer-events: none;
  	}
 }

@media all and (-ms-high-contrast:none){
 .svg-full {
   width: 100%;
 }
}