@charset "utf-8";

/* reset
-------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td, figure, section, article {margin: 0; padding: 0;}
body {font:13px/1 "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;}
* html body {font-size: small;}
*:first-child+html body {font-size: small;}
img {border: 0; vertical-align: top;}
h1,h2,h3,h4,h5,h6 {font-size: 100%; font-weight: normal;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal; font-weight: normal;}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
input,textarea,select {font-family: inherit; font-size: inherit; font-weight:inherit;}
* html input,* html textarea,* html select {font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td {text-align: left; vertical-align: top;}
caption {text-align: left;}
pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}
input,select,textarea {font-size: 100%; font-family: Verdana, Helvetica, sans-serif;}
*:focus {outline: none;}

/* base
-------------------------------------------------------*/
body {
	letter-spacing:0.03em;
	color:#333;
}

strong {
	font-weight:bold;
}

a {
	color:#333;
	text-decoration:none;
}

a:hover {
	text-decoration:none;
	-moz-opacity:0.6;
	-webkit-opacity:0.6;
	opacity:0.6;
}

a:hover img{
}

.clearfix:after {
	content:"";
	display:block;
	clear:both;
	height:100%;
}

.clear {
	clear:both;
}

.mb0 { margin-bottom:0 !important; }
.mb4 { margin-bottom:4px !important; }
.mb8 { margin-bottom:8px !important; }
.mb10 { margin-bottom:10px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb45 { margin-bottom:45px !important; }
.mb50 { margin-bottom:50px !important; }
.mb55 { margin-bottom:55px !important; }
.mb60 { margin-bottom:60px !important; }
.mb65 { margin-bottom:65px !important; }
.mb70 { margin-bottom:70px !important; }
.mb75 { margin-bottom:75px !important; }
.mb80 { margin-bottom:80px !important; }
.mb90 { margin-bottom:90px !important; }
.mb100 { margin-bottom:100px !important; }
.mb1em { margin-bottom:1em !important; }
.mb2em { margin-bottom:2em !important; }
.mb3em { margin-bottom:3em !important; }
.mb4em { margin-bottom:4em !important; }
.mb5em { margin-bottom:5em !important; }
.mt0 { margin-top:0 !important; }
.mt30 { margin-top:30px !important; }
.fs11 {	font-size:11px !important; }
.fs12 {	font-size:12px !important; }
.fs13 {	font-size:13px !important; }
.fs14 {	font-size:14px !important; }
.fs15 {	font-size:15px !important; }
.fs16 {	font-size:16px !important; }
.fs17 {	font-size:17px !important; }
.fs18 {	font-size:18px !important; }

.al-center {
	text-align:center;
}

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

.f-left {
	float:left;
}

.f-right {
	float:right;
}

.inner {
	width:1000px;
	margin:auto;
	position:relative;
}

.inner:after {
	content:"";
	display:block;
	clear:both;
}

/* article
------------------------------------------------*/
#titlebox{
	text-align:center;
	background: #0C64AD;
	background-size:cover;
}

#titlebox h1{
	font-size:25px;
	height:200px;
	line-height:200px;
	color:#FFF;
}
#titlebox h1.ortho{
	font-size:25px;
	height:140px;
	line-height:1.5;
	padding-top:60px;
	color:#FFF;
}

#titlebox span{
	font-size:14px;
}

#wrapper {
	max-width: 1400px;
	width: 100%;
	margin:auto;
}

#wrapper:after {
	content:"";
	display:block;
	clear:both;
}

article {
	margin-top:40px;
}

article *:first-child{
	margin-top:0;
}

article h1{
	font-size:20px;
	text-align:center;
	padding-bottom:20px;
	margin-bottom:40px;
}



article p {
	font-size:13px;
	line-height:1.5em;
}

article p {
	margin:1em 0;
}

article .telfooter {
	margin-top:80px;
}

article .telfooter {
	padding:20px 40px;
	background:#f6efde;
}

article .telfooter p{
	display:inline-block;
	line-height:2em;
}

article .telfooter p:first-child{
	margin-right:80px;
}

article .telfooter a{
	color:#E7638D;
	font-size:26px;
	vertical-align:middle;
}

article .telfooter a:before{
	content: "";
	margin-right:5px;
}


/* aside
------------------------------------------------*/
aside {
	width:250px;
	float:right;
	padding-top:40px;
}

aside nav {
	margin-bottom:20px;
}

aside nav h3{
	font-size:14px;
	text-align:center;
	height:53px;
	line-height:53px;
	background: #f5f5f5;
}

aside nav ul{
	border:1px solid #ddd;
}

aside nav ul li{
	padding:0 10px;
}

aside nav ul li a{
	display:block;
	padding:10px;
	position:relative;
}

aside nav ul li a:before{
	left: 0;
	top: 15px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(133, 178, 0, 0);
	border-left-color: #2C63AB;
	border-width: 6px;
	margin-top: -6px;
}

aside ul.bnr{
	margin-top:20px;
}

aside ul.bnr li{
	margin-bottom:10px;
}

aside ul.bnr li img{
	width:100%;
	height:auto;
}

/*ranking*/
#ranking{
	background: #0C64AD;
	margin-bottom:20px;
}

#ranking h3{
	color:#fff;
	text-align:center;
	padding:15px 0;
	line-height:1.8em;
	font-size:14px;
}

#ranking h3 span{
	color:#F8E85A;
	font-size:13px;
}

#ranking #tabs {
	padding:0 5px;
}

#ranking #tabs:after {
	content:"";
	display:block;
	clear:both;
}

#ranking #tabs li {
	float:left;
	width:33.3%;
	box-sizing:border-box;
}

#ranking #tabs li ~ li{
	border-left:1px solid #A2C0D9;
}

#ranking #tabs li a{
	display:block;
	background:#E3E3E3;
	color:#2C63AB;
	text-align:center;
	font-size:15px;
	height:40px;
	line-height:40px;
}

#ranking #tabs li a.current{
	background:#fff;
	color:#ECD115;
}

#ranking .ranklist {
	padding:10px;
	background:#fff;
	border-left:1px solid #777;
	border-bottom:1px solid #777;
	border-right:1px solid #777;
}

#ranking .ranklist ul li {
	background:#fff;
	padding:5px;
	line-height:1.2em;
	font-size:13px;
	border-bottom:1px dotted #B09B75;
}

#ranking .ranklist ul li:after {
	content:"";
	display:block;
	clear:both;
}

#ranking .ranklist ul li img{
	margin-right:5px;
	float:left;
}

#ranking .ranklist ul li ~ li{
	margin-top:5px;
}


/* index
------------------------------------------------*/
#maingallery{
	width:auto;
	margin:auto;
}

#maingallery .gallery-cell{
	width:100%;
}

#maingallery .gallery-cell img{
	width:100%;
	height:auto;
}

#maingallery .flickity-page-dots{
	bottom:20px;
}

#topmenu{
	margin-bottom:70px;
}

#topmenu h3{
	float:left;
}

#topmenu ul{
	float:left;
	margin-left:30px;
	padding-top:50px;
	width: 70%;
}

#topmenu ul li{
	float:left;
	text-align:center;
	font-size:15px;
	font-weight:bold;
	width: 14.8%; /* 20190624 */
}

#topmenu ul li .topmenu-title { /* 20190624 */
	display: flex;
	width: 100%;
	height: 40px;
	flex-direction: column; 
    justify-content: center;
}

#topmenu ul li .topmenu-title span { /* 20190624 */
	text-align: center;
	display: block;
}

#topmenu ul li ~ li{
	/* margin-left:30px; */
	margin-left:15px; /* 20190624 */
}

#topmenu ul li img{
	margin-top:20px;
	width: 100%; /* 20190624 */
	height: auto; /* 20190624 */
}

#toppromise h2.bar{
	text-align:center;
	background:#2C63AB;
	color:#fff;
	font-size:24px;
	vertical-align:middle;
	height:88px;
	line-height:88px;
}

#toppromise h2.bar span{
	color:#F4DD0D;
	font-size:71px;
	vertical-align:middle;
	font-family:"Microsoft Sans Serif", serif;
	margin:0 10px;
}

#toppromise{
	background:#F7F7F9;
}

#toppromise ul{
	text-align:center;
	padding:50px 0;
}

#toppromise ul li{
	width:260px;
	display:inline-block;
	text-align:left;
	line-height:1.5em;
}

#toppromise ul li ~ li{
	margin-left:30px;
}

#toppromise ul li img{
	margin-bottom:20px;
}

#topaccess{
	padding:50px 0;
	border-top:5px solid #DADADE;
	border-bottom:5px solid #DADADE;
}

#topaccess h2{
	text-align:center;
	font-size:19px;
	margin-bottom:40px;
}

#topaccess .left{
	width:480px;
	float:left;
	line-height:1.5em;
}

#topaccess .left h2:before{
	content: "";
	display:block;
	margin-bottom:10px;
}

#topaccess .right h2:before{
	content: "";
	display:block;
	margin-bottom:10px;
}

table.time{
	width:100%;
	margin-bottom:20px;
}

table.time th,
table.time td{
	border:1px solid #DDDDDD;
	text-align:center;
	padding:12px 0;
	font-size:14px;
	vertical-align:middle;
}

table.time tr th:first-child{
	background:#EEEEEE;
	width:200px;
}

table.time td{
	color:#2C63AB;
}

table.time tr.tr03 td,
.green{
	color:#9FBF2C;
}

table.time .dash{
	color:#333 !important;
}

#topaccess .right{
	width:480px;
	float:right;
}

#topaccess .right iframe{
	width:100%;
	margin-bottom:20px;
}

#topaccess .right p{
	line-height:1.5em;
	font-size:14px;
}

#topaccess .right p a{
	float:right;
}

address.tel{
	border:2px solid #D2D2D2;
	padding:10px;
	margin-top:20px;
}

address.tel span{
	display:inline-block;
	font-weight:bold;
	border-right:1px dotted #00439A;
	margin-right:1em;
	padding-right:1em;
	vertical-align:middle;
}

address.tel a{
	color:#00439A;
	font-size:28px;
	font-weight:bold;
	vertical-align:middle;
	font-family:Arial, Helvetica, sans-serif;
}

address.tel a:before{
	content: "";
	vertical-align:-4px;
	margin-right:4px;
}

a.ico{
	position:relative;
	margin-left:10px;
}

a.ico:before{
	left: -10px;
	top: 10px;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(133, 178, 0, 0);
	border-left-color: #2C63AB;
	border-width: 6px;
	margin-top: -6px;
}

#topnews{
	background:#F1F1F5;
	padding:40px 0;
}

#topnews h2{
	text-align:center;
	font-size:19px;
	margin-bottom:40px;
}

#topnews h2:before{
	content: "";
	display:block;
	margin-bottom:10px;
}

#topnews ul:after{
	content:"";
	display:block;
	clear:both;
}

#topnews ul{
	min-height:270px;
	position:relative;
}

#topnews ul li{
	width:255px;
	min-height:270px;
	margin-right:20px;
}

#topnews ul li div{
	background:#fff;
	padding:20px 10px;
	line-height:1.5em;
	border-right:1px solid #E1E1E4;
	border-bottom:1px solid #B7B7B9;
}

#topnews ul li span.cat{
	position:absolute;
	display:inline-block;
	top:10px;
	left:-10px;
	background:#8BCF1B;
	padding:5px 10px;
	color:#fff;
}

/* about
------------------------------------------------*/
#about .f-right{
	margin-left:40px;
	margin-bottom:40px;
}

article section.pd40{
	padding:40px 0;
}

#about div.img{
	width:100%;
}

#about div.img img{
	width:50%;
	height:auto;
	float:left;
}

#about #access{
	padding-top:40px;
}

#about #access iframe{
	width:100%;
	height:350px;
}

/* guide
------------------------------------------------*/
#guide table{
	width:670px;
	height:250px;
	float:left;
}

#guide ul li{
	border:1px solid #DDDDDD;
	width:325px;
	height:280px;
	text-align:center;
	padding:10px;
	box-sizing:border-box;
	float:left;
	margin-bottom:12px;
}

#guide ul li ~ li{
	margin-left:12px;
}
#guide ul li:nth-child(4){
	margin-left:0;
}

#guide h3{
	color:#2C63AB;
	font-size:17px;
	font-weight:bold;
	padding-top:10px;
}

#guide ul li img{
	margin:30px auto;
}

#guide ul li p{
	text-align:left;
}



/* news content
------------------------------------------------*/
#info{
	width:720px;
	float:left;
}

ul.newslist > li{
	border:solid 1px #DDDDDD;
	padding:10px;
	margin-bottom:10px;
	background: transparent;
}

ul.newslist > li:hover{
	background-image: none;
}

ul.newslist > li:after{
	content:"";
	display:block;
	clear:both;
}

ul.newslist > li img{
	width:185px;
	height:auto;
	float:left;
}

ul.newslist > li .text{
	float:left;
	width:435px;
	margin-left:20px;
}

ul.newslist > li ul,
ul.newslist > li li{
	display:inline;
}

ul.newslist > li h3{
	font-size:16px;
	margin-top:10px;
	line-height:1.5em;
}

ul.newslist > li p{
	margin:0;
}

ul.newslist > li .text div a{
	color:#fff;
}

ul.newslist > li div.cat{
	background:#8BCF1B;
	color:#fff;
	display:inline-block;
	padding:4px 10px;
	margin-bottom:10px;
}

.wp-pagenavi{
	text-align:center;
	margin-top:60px;
}

.wp-pagenavi span,
.wp-pagenavi a{
	display:inline-block;
	padding:4px 10px !important;
}

article figure.postthumnail {
	text-align:center;
}

article figure.postthumnail img{
	max-width:100%;
	height:auto;
}

article .meta {
	margin-bottom:40px;
}

article .meta .post-categories{
	float:right;
}

article .meta .post-categories li {
	display:inline-block;
	margin-top:5px;
	margin-bottom:5px;
}

article .meta .post-categories li a{
	font-size:11px;
	color:#fff;
	background:#8BCF1B;
	padding:5px 10px;
}

article .hatena {
	background:#F3F3F3;
	width:640px;
	padding:10px 20px;
	box-sizing:border-box;
	margin:40px auto;
}

article .hatena p {
	float:left;
	margin-top:24px;
}

article .hatena ul{
	float:right;
}

article .hatena ul li{
	display:inline-block;
	vertical-align:top;
	margin-left:10px;
}

article #content h2{
	font-size:20px;
	color:#fff;
	margin-bottom:20px;
	border-left:0;
	background:#2C63AB;
	padding:20px;
}

article #thecontent{
	padding:40px 0;
}

article #thecontent p{
	margin:1em 0;
}

article #thecontent h3{
	font-size:18px;
	background:#F8F6F2;
	border-left:9px solid #84ABCC;
	padding:20px;
	margin-bottom:20px;
	margin-top:40px;
	line-height:1.25em;
}

article #thecontent h4{
	font-size:18px;
	color:#84ABCC;
	border-bottom:1px solid #84ABCC;
	padding-bottom:10px;
	margin-bottom:20px;
	margin-top:40px;
	line-height:1.25em;
}

article #thecontent h5{
	color:#84ABCC;
	font-weight:bold;
	font-size:15px;
	margin:1em 0;
	line-height:1.25em;
	margin-top:2em;
}

article #thecontent ol li{
	list-style:decimal;
	list-style-position:inside;
	color:#84ABCC;
}

article #thecontent ul li{
	list-style:disc;
	list-style-position:inside;
	color:#84ABCC;
}

article #thecontent ol,
article #thecontent ul {
	margin:1em;
}

article #thecontent a {
	color:#84ABCC;
	text-decoration:underline;
}

article #thecontent strong{
	color:#FF4C4C;
}

article #thecontent blockquote {
	background:#EEEEEE;
	padding:20px 80px;
	width:700px;
	margin:40px auto;
	position:relative;
	box-sizing:border-box;
}

article #thecontent blockquote:before{
	content:"“";
	position:absolute;
	left:0px;
	top:40px;
	font-size:60px;
	font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
	color:#666;
}

article #thecontent blockquote:after{
	content:"”";
	position:absolute;
	right:0;
	bottom:0;
	font-size:60px;
	font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
	color:#666;
	vertical-align:bottom;
}

article #thecontent img{
}

article #thecontent img.alignleft {
	float:left;
	margin-right:20px;
	margin-bottom:20px;
}

article #thecontent img.alignright {
	float:right;
	margin-left:20px;
	margin-bottom:20px;
}

article #thecontent img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}

article ul.socialbtn {
	text-align:center;
	margin-bottom:50px;
}
article ul.socialbtn li{
	display:inline-block;
	vertical-align:top;
	margin:0 10px;
}

article h3.share {
	font-size:15px;
	font-weight:bold;
	text-align:center;
	color:#84ABCC;
	margin:50px 0 20px;
}


#related {
	background:#F3F3F3;
	padding:20px;
	margin-bottom:50px;
}

#related ul:after {
	content:"";
	display:block;
	clear:both;
}

#related ul li{
	width:330px;
	padding:10px;
	box-sizing:border-box;
	background:#fff;
	margin-bottom:20px;
}

#related ul li:nth-child(odd){
	float:left;
}

#related ul li:nth-child(even){
	float:right;
}

#related ul li img{
	margin-right:10px;
	float:left;
	width:130px;
	height:auto;
}

#related h3{
	background:#2C63AB;
	color:#fff;
	padding:10px;
	font-size:18px;
	margin-bottom:20px;
}



/* オルソケラトロジー 2016.09.19 miura */
#guide #orthoSec1 ul {
	width:1000px;
}
#guide #orthoSec1 ul li {
	float:none;
	display:inline-block;
	border:none;
	width:194px;
	margin:0 74px 0 0;
	padding:0;
	height:auto;
}
#guide #orthoSec1 ul li:last-child {
	margin-right:0px;
}
#guide #orthoSec1 ul li img {
	margin:0;
	padding:0;
}
#guide #orthoSec2 ul{
	width:670px;
	padding:5px 5px 5px 320px;
	background-image: none;
	background-repeat:no-repeat;
}
#guide #orthoSec2 ul li{
	float:none;
	display:inline-block;
	border:none;
	width:335px;
	margin:0;
	padding:0;
	height:auto;
}
#guide #orthoSec2 ul li img {
	margin:0;
	padding:0;
}
#guide #orthoSec3 aside{
	width:990px;
	padding:5px;
	background-image: none;
	background-repeat:no-repeat;
	min-height:390px;
}
#guide #orthoSec3 aside.wid{
	background-image: none;
	background-repeat:no-repeat;
	min-height:300px;
}
#guide #orthoSec3 aside div{
	float:left;
	width:560px;
}
#guide #orthoSec3 aside.wid div{
	float:none;
	width:100%;
}
#guide #orthoSec3 aside h2{
	color:#000;
	font-weight:bold;
	font-size:26px;
	border-left:none;
	padding:0;
	margin:40px 0 40px 40px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}
#guide #orthoSec3 aside p{
	color:#000;
	margin:0 0 0 40px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}
#guide #orthoSec3 aside.wid p{
	color:#000;
	margin:0 40px 10px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}
#guide #orthoSec3 aside img{
	display:block;
	float:right;
	margin:20px 40px 20px 0;
}
#guide #orthoSec4 div{
	background-image: none;
	background-repeat:no-repeat;
	width:350px;
	height:120px;
	margin:0 50px 0 22px;
	float:left;
}
#guide #orthoSec4 div p{
	color:#FFF;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	padding:50px 20px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}
#guide #orthoSec4 div strong{
	color:#FFF;
	font-size:30px;
	font-family: "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;
}
#guide #orthoSec4 ul li{
	border:none;
	width: auto;
    height: auto;
    text-align: left;
	line-height:1.5;
	margin: 0;
    padding: 0;
    box-sizing: border-box;
    float: none;
}
#guide #orthoSec5 {
	padding:40px 10px;
}

#guide #orthoSec5 dl{
	width:440px;
	display:inline-block;
	vertical-align:top;
	margin:0 20px 40px 20px;
	background-image: none;
	background-repeat:no-repeat;
}
#guide #orthoSec5 dl dt{
	background-repeat:no-repeat;
	background-position:14px 14px;
	font-size:17px;
	font-weight:bold;
	line-height:1.5;
	padding:20px 10px 20px 60px;
	border-bottom:1px #CCC dashed;
	min-height:44px;
}
#guide #orthoSec5 dl.q1 dt {
	background-image: none;
}
#guide #orthoSec5 dl.q2 dt {
	background-image: none;
}
#guide #orthoSec5 dl.q3 dt {
	background-image: none;
}
#guide #orthoSec5 dl.q4 dt {
	background-image: none;
}
#guide #orthoSec5 dl.q5 dt {
	background-image: none;
}
#guide #orthoSec5 dl.q6 dt {
	background-image: none;
}
#guide #orthoSec5 dl.q7 dt {
	background-image: none;
}
#guide #orthoSec5 dl dd{
	background-image: none;
	background-repeat:no-repeat;
	background-position:14px 20px;
	padding:23px 10px 10px 60px;
	min-height:70px;
	line-height:1.5;
}

#myopiaSec4 ul{
	width:100%;
	margin:10px auto;
}
#myopiaSec4 ul li{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0;
	border:none;
	display:block;
	float:none;
}
#myopiaSec4 ul li img{
	width:100%;
	margin:0 auto;
}
#guide #myopiaSec4 ul li ~ li{
	margin-left:inherit;
}

/* menu content
------------------------------------------------*/
#course{
	width:720px;
	float:left;
}
#course section h3{
	font-size:15px;
	letter-spacing:0.16em;
	color:#2C63AB;
	margin:15px auto;
	line-height:1.5;
}
#course section h4{
	font-size:13px;
	letter-spacing:0.16em;
	color:#2C63AB;
	margin:auto auto 15px;
	width:94%;
	line-height:1.5;
}
.course #breadcrumb{
	background-color:#FFF;
}
#course section p{
	width:94%;
	margin:auto;
	line-height:1.5;
}
#course div.column{
	width:94%;
	margin:auto;
	background-color:#EEE;
	padding:20px 30px;
	box-sizing:border-box;
}
#course div.column h3{
	font-size:15px;
	color:#2C63AB;
	font-weight:bold;
	margin-bottom:15px;
}
#course div.column ul{
	width:94%;
	margin:auto;
}
#course div.column ul li{
	line-height:1.7;
}
.discList li{
	list-style-type:disc;
}
#course div.check{
	width:94%;
	margin:20px auto;
}
#course div.check h3{
	font-size:18px;
	font-weight:bold;
	margin-bottom:15px;
}
#course div.check ul{
	width:100%;
	background-color:#FFEFBF;
	padding:15px;
	box-sizing:border-box;
}
#course div.check ul li{
	line-height:1.7;

}
#course div.check ul li:before{
	content:"□";

}
ul.machineList{
	font-size:0px;
}
ul.machineList li{
	font-size:13px;
	display:inline-block;
	box-sizing:border-box;
	border:1px #DDD solid;
	width:222px;
	padding:5px;
	margin-right:17px;
	vertical-align:top;
	line-height:1.5;
}
ul.machineList li:nth-child(3n){
	margin-right:0;
}
ul.machineList li img{
	width:100%;
	max-width:212px;
	margin-bottom:10px;
}
ul.machineList li p strong{
	font-size:15px;
	color:#2C63AB;

}
#course figure{
	display:block;
}
#course figure img{
	float:right;
	margin-left:15px;
	width:100%;
	max-width:252px;
}

#course table.price{
	width:100%;
	border:1px #EEE solid;
}
#course table.price thead{
	background-color:#F2F6FA;
}

#course table.price th,#course table.price td{
	text-align:center;
	padding:8px;
}
#course table.price tbody tr{
	border-top:1px #EEE solid;
}

#course table.price td{
	border-left:1px #EEE solid;
}

aside address{
	border:1px solid #dfdfdf;
}

aside address h3{
	background:#e5edf5;
	font-size:16px;
	text-align:center;
	padding:15px;
}

aside address > img{
	width:100%;
	height:auto;
}

aside address .contactinfo{
	text-align:center;
	padding:20px 0;
}

aside address .contactinfo p:last-child{
	font-size:11px;
}

aside address ul li a{
	display:block;
	position:relative;
	padding:15px;
}

aside address ul li a:after{
	left: 92%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(57, 169, 178, 0);
	border-left-color: #39a9b2;
	border-width: 6px;
	margin-top: -6px;
}

aside address ul li{
	border-bottom:1px solid #dfdfdf;
}

aside address ul li:last-child{
	border-bottom:0;
}
aside address a.tel{
	font-family:"Tw Cen MT";
	font-size:24px;
	color:#16519b;
}

aside address a.tel:before{
	content: "";
	vertical-align:-5px;
	margin-right:5px;
}


/* contact
------------------------------------------------*/

#contact span.must {
    color: #FF0000;
}

#contact .phonebox {
	padding: 20px;
	border: 2px solid #00439A; 
}

#contact .phonebox .tel {
	color: #00439A;
	font-size: 20px;
}

#contact #formcontent .formwrap {
	padding: 30px 50px;
	background: #EEEEEE; 
	max-width: 981px;
	width: 100%;
	margin: 0 auto;
}

#contact #form #privacypolicy {
	height: 10em;
    overflow: scroll;
    box-sizing: border-box;
	max-width: 900px;
    width: 100%;
    margin: 30px auto;
    padding: 20px;
    border: 1px solid #333;
	background-color: #fff;
}

#contact #form .formbtnbox {
	text-align: center;
    margin-top: 50px;
}

#contact #form .formbtnbox button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background-color: #009dc4;
	border-radius: 30px;
	max-width: 350px;
	width: 100%;
	height: 60px;
	color: #fff;
	border: 0;
	cursor: pointer;
	font-size: 1rem;
	font-family: "Source Han Code JP", "Noto Sans JP", sans-serif;
	letter-spacing: 0.8px;
	transition: opacity 0.3s ease;
}

#contact #form .formbtnbox button:hover {
	opacity: 0.8;
}

#contact #form .formbtnbox button .btn-arrow {
	font-family: "Meiryo", sans-serif;
	letter-spacing: 1.6px;
}

#contact #form .formbtnbox a {
	background: #fff;
	height: 50px;
	width: 200px;
	line-height: 50px;
	display: inline-block;
	border: 1px solid #ccc;
	margin-right: 20px;
}

#contact #formcontent table {
	width: 100%;
}


#contact #formcontent tr th,
#contact #formcontent tr td {
	padding: 15px 0;
	vertical-align: middle;
	position: relative;
}

/* 現在の状況と備考は上揃え */
#contact #formcontent tr th.valign-top,
#contact #formcontent tr td.valign-top {
	vertical-align: top;
}

#contact #formcontent tr th {
	width: 16em;
	font-size: 16px;
}


#contact #form table td input[type="text"], 
#contact #form table td input[type="tel"], 
#contact #form table td input[type="email"], 
#contact #form table td input[type="number"], 
#contact #form table td select,
#contact #form table td textarea {
	width: 100%;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid #ccc;
}

#contact #form table td select {
    width: 16em;
}

#contact #form table td .surgery-other {
	display: inline-block;
	margin-left: 20px;
}

#contact #form table td .surgery-other #select-surgery-other {
	width: 16em;
}

#contact #form table td input.widthsmall {
    width: 5em;
}

#contact #form table td textarea {
    height: 17em;
}

/* ========================================
   Form Responsive Styles
   ======================================== */

/* #wrapper レスポンシブ対応 */
#wrapper {
	max-width: 1400px;
	width: 100%;
	margin: auto;
	padding-right: 30px;
	padding-left: 30px;
	box-sizing: border-box;
	
}

@media screen and (max-width: 768px) {
	#wrapper {
		padding-right: 15px;
		padding-left: 15px;
	}
	
	article {
		margin-top: 20px;
	}
	
	#contact #formcontent {
		padding: 15px;
	}
	
	#contact #formcontent .formwrap {
		padding: 15px;
	}
	
	#contact #form #privacypolicy {
		width: 100%;
		margin: 20px auto;
		padding: 15px;
	}
	
	#contact #formcontent tr th {
		width: 100%;
		display: block;
		font-size: 14px;
		padding-top: 10px;
		padding-bottom: 5px;
	}
	
	#contact #formcontent tr td {
		display: block;
		width: 100%;
		padding-top: 5px;
		padding-bottom: 15px;
	}
	
	#contact #form table td input[type="text"], 
	#contact #form table td input[type="tel"], 
	#contact #form table td input[type="email"], 
	#contact #form table td input[type="number"], 
	#contact #form table td select,
	#contact #form table td textarea {
		padding: 12px;
		font-size: 16px;
	}
	
	#contact #form table td select {
		width: 100%;
		max-width: 100%;
	}
	
	#contact #form table td input.widthsmall {
		width: 4em;
	}
	
	#contact #form table td input.widthmid {
		width: 100%;
	}
	
	#contact #form .formbtnbox {
		margin-top: 30px;
	}

	#contact #form .formbtnbox button {
		width: 100%;
		max-width: 280px;
		height: 55px;
		font-size: 16px;
	}

	#contact #form .formbtnbox a {
		width: 100%;
		max-width: 280px;
		margin-right: 0;
		margin-bottom: 10px;
	}
	
	/* 日時選択のレスポンシブ */
	.row {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		margin-bottom: 10px;
	}
	
	.row span {
		width: 100%;
		font-weight: bold;
		margin-bottom: 5px;
	}
	
	.row select {
		width: calc(33.33% - 6px) !important;
		min-width: 0;
	}
	
	/* form-text レスポンシブ */
	.form-text {
		font-size: 14px;
		padding-right: 10px;
		padding-left: 10px;
		line-height: 1.6;
	}
	
	/* icl-flow__title レスポンシブ */
	.icl-flow__title {
		font-size: 24px;
		line-height: 1.4;
	}
}

@media screen and (max-width: 480px) {
	#wrapper {
		padding-right: 10px;
		padding-left: 10px;
	}
	
	#contact #formcontent {
		padding: 10px;
	}
	
	#contact #formcontent .formwrap {
		padding: 10px;
	}
	
	#contact #formcontent tr th {
		font-size: 13px;
	}
	
	#contact #form table td input[type="text"], 
	#contact #form table td input[type="tel"], 
	#contact #form table td input[type="email"], 
	#contact #form table td input[type="number"], 
	#contact #form table td select,
	#contact #form table td textarea {
		padding: 10px;
		font-size: 16px;
	}
	
	#contact #form table td input.widthsmall {
		width: 3.5em;
		padding: 8px;
	}
	
	/* 日時選択の小画面対応 */
	.row select {
		width: 100% !important;
	}
	
	/* icl-flow__title 小画面対応 */
	.icl-flow__title {
		font-size: 20px;
	}
	
	/* reasons-hero__title 小画面対応 */
	.reasons-hero__title {
		font-size: 32px;
		padding-top: 110px;
		padding-bottom: 50px;
	}
}

/* ========================================
   Common CTA Styles
   ======================================== */
.common-cta {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1000;
  display: flex;
  flex-direction: row;
  gap: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
.common-cta.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media screen and (max-width: 768px) {
  .common-cta {
    right: 0;
    bottom: 0;
    left: 0;
    flex-direction: row;
    gap: 0;
    width: 100%;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background-color: #31457a;
  }
}

.common-cta__phone,
.common-cta__reservation,
.common-cta__contact {
  position: relative;
  cursor: pointer;
  border: 0;
  padding: 15px 20px;
  width: 239px;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .common-cta__phone,
  .common-cta__reservation,
  .common-cta__contact {
    width: calc(100% / 3);
    height: clamp(50px, 15vw, 60px);
    padding: clamp(4px, 2vw, 8px) clamp(2px, 1vw, 5px);
    border-radius: 0;
    box-shadow: none;
  }
}

@media screen and (max-width: 768px) {
  .common-cta__phone {
    flex-direction: column;
    gap: 2px;
  }
}

@media screen and (max-width: 768px) {
  .common-cta__reservation,
  .common-cta__contact {
    flex-direction: row;
    gap: clamp(2px, 1vw, 5px);
  }
}

.common-cta__phone {
  background: linear-gradient(135deg, #c9a227, #947705);
}
.common-cta__phone:hover {
  opacity: 0.8;
}

.common-cta__reservation {
  background: linear-gradient(135deg, #009dc4, #0388a8);
}
.common-cta__reservation:hover {
  opacity: 0.8;
}

.common-cta__contact {
  background: linear-gradient(135deg, #31457a, #00368b);
}
.common-cta__contact:hover {
  opacity: 0.8;
}

.common-cta__phone-top {
  position: absolute;
  top: 4px;
  left: 7px;
  display: flex;
  align-items: center;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .common-cta__phone-top {
    position: static;
    gap: clamp(2px, 1vw, 3px);
  }
}

.common-cta__phone-hours {
  position: absolute;
  bottom: 8px;
  left: 23px;
  font-weight: 500;
  font-family: "Noto Sans CJK JP", sans-serif;
  color: #fff;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .common-cta__phone-hours {
    position: static;
    text-align: center;
  }
}

.common-cta__phone-hours-time {
  font-size: 17px;
  letter-spacing: 0.17px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .common-cta__phone-hours-time {
    font-size: clamp(7px, 2.5vw, 9px);
  }
}

.common-cta__phone-hours-note {
  font-size: 12px;
  letter-spacing: 0.12px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .common-cta__phone-hours-note {
    font-size: clamp(7px, 2.5vw, 9px);
  }
}

.common-cta__phone-number {
  font-size: 29px;
  letter-spacing: 0.29px;
  font-weight: 500;
  font-family: "Noto Sans CJK JP", sans-serif;
  color: #fff;
  text-align: left;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .common-cta__phone-number {
    font-size: clamp(11px, 3.5vw, 14px);
    font-weight: 700;
  }
}

.common-cta__phone-icon {
  width: 21.4px;
  height: 27.9px;
}
@media screen and (max-width: 768px) {
  .common-cta__phone-icon {
    width: clamp(14px, 4vw, 18px);
    height: clamp(14px, 4vw, 18px);
    flex-shrink: 0;
  }
}

.common-cta__reservation-text,
.common-cta__contact-text {
  font-size: 21px;
  letter-spacing: 1.3px;
  line-height: 30px;
  font-weight: 500;
  font-family: "Noto Sans CJK JP", sans-serif;
  color: #fff;
  text-align: center;
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .common-cta__reservation-text,
  .common-cta__contact-text {
    font-size: clamp(9px, 3vw, 14px);
    line-height: 1.3;
    margin-left: 0;
    margin-top: 0;
    text-align: left;
  }
}

.common-cta__reservation-icon,
.common-cta__contact-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 14px;
  width: 30px;
  height: 26px;
}
@media screen and (max-width: 768px) {
  .common-cta__reservation-icon,
  .common-cta__contact-icon {
    position: static;
    transform: none;
    width: clamp(14px, 4vw, 18px);
    height: clamp(14px, 4vw, 18px);
    flex-shrink: 0;
  }
}

/* ========================================
   Footer Styles
   ======================================== */
.footer {
  background-color: #00368b;
  overflow-x: hidden;
}

.footer__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 40px;
  padding-right: 30px;
  padding-bottom: 40px;
  padding-left: 30px;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    padding-top: 30px;
    padding-right: 15px;
    padding-bottom: 30px;
    padding-left: 15px;
  }
}

.footer__logo {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    margin-bottom: 20px;
    text-align: center;
  }
}
.footer__logo img {
  max-width: 541px;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .footer__logo img {
    max-width: 280px;
  }
}

.footer__content {
  display: flex;
  gap: 50px;
}
@media screen and (max-width: 1024px) {
  .footer__content {
    flex-wrap: wrap;
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .footer__content {
    flex-direction: column;
    gap: 25px;
  }
}

.footer__info {
  flex: 1;
  min-width: 200px;
}
@media screen and (max-width: 768px) {
  .footer__info {
    text-align: center;
  }
}

.footer__address {
  font-size: 16px;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 1.6px;
  line-height: 31px;
  color: #fff;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .footer__address {
    font-size: 14px;
    line-height: 1.6;
  }
}

.footer__tel {
  font-size: 31px;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 3.1px;
  line-height: 31px;
  color: #fff;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .footer__tel {
    font-size: 24px;
    letter-spacing: 1.6px;
  }
}
.footer__tel a {
  color: #fff;
  text-decoration: none;
}

.footer__time {
  font-size: 14px;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 1.4px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer__time {
    font-size: 12px;
    letter-spacing: 0.48px;
  }
}

.footer__nav {
  display: flex;
  gap: 50px;
}
@media screen and (max-width: 1024px) {
  .footer__nav {
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .footer__nav {
    flex-direction: column;
    gap: 20px;
  }
}

@media screen and (max-width: 768px) {
  .footer__nav-column {
    text-align: center;
  }
}
.footer__nav-column h4 {
  font-size: 14px;
  font-family: "Noto Sans CJK JP", sans-serif;
  letter-spacing: 0.14px;
  line-height: 28px;
  color: #fff;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .footer__nav-column h4 {
    font-size: 13px;
    margin-bottom: 8px;
	text-align: left;
  }
}
.footer__nav-column ul {
  list-style: none;
}
.footer__nav-column ul li {
  margin-bottom: 5px;
}
.footer__nav-column ul li a {
  font-size: 14px;
  font-family: "Noto Sans CJK JP", sans-serif;
  letter-spacing: 0.14px;
  line-height: 28px;
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .footer__nav-column ul li a {
    font-size: 13px;
    line-height: 1.8;
  }
}

.footer__buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .footer__buttons {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
}

.footer__button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(50% 50% at 50% 50%, #c2b136, #d2ad26 8.2%, #95851a);
  width: 176px;
  height: 54px;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .footer__button {
    width: 150px;
    height: 50px;
  }
}
@media screen and (max-width: 375px) {
  .footer__button {
    width: calc(50% - 5px);
    max-width: 160px;
  }
}
.footer__button img {
  width: 25px;
  height: 21px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .footer__button img {
    width: 20px;
    height: 17px;
    margin-right: 6px;
  }
}
.footer__button span {
  font-size: 16px;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.99px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer__button span {
    font-size: 13px;
    letter-spacing: 0.48px;
  }
}

.footer__button--contact span {
  line-height: 22px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer__button--contact span {
    line-height: 1.3;
  }
}

.footer__breadcrumb {
  padding-top: 15px;
  padding-right: 30px;
  padding-bottom: 15px;
  padding-left: 260px;
}
@media screen and (max-width: 1024px) {
  .footer__breadcrumb {
    padding-left: 100px;
  }
}
@media screen and (max-width: 768px) {
  .footer__breadcrumb {
    padding-right: 15px;
    padding-left: 15px;
  }
}
.footer__breadcrumb p {
  font-size: 12px;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.48px;
  color: #242424;
}
@media screen and (max-width: 768px) {
  .footer__breadcrumb p {
    font-size: 11px;
  }
}

.footer__copyright {
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}
.footer__copyright p {
  font-size: 15px;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.39px;
  line-height: 23px;
  color: #242424;
}
@media screen and (max-width: 768px) {
  .footer__copyright p {
    font-size: 12px;
    letter-spacing: 0.28px;
    line-height: 1.5;
  }
}

/* ========================================
   Clinic Section Styles
   ======================================== */
.clinic-section {
  position: relative;
  overflow-x: hidden;
}

.clinic-section__image {
  position: relative;
  width: 100%;
  height: 493px;
}
@media screen and (max-width: 768px) {
  .clinic-section__image {
    height: 200px;
  }
}
@media screen and (max-width: 480px) {
  .clinic-section__image {
    height: 150px;
  }
}
.clinic-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.clinic-section__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 50px;
  padding-right: 30px;
  padding-bottom: 50px;
  padding-left: 30px;
}
@media screen and (max-width: 768px) {
  .clinic-section__inner {
    padding-top: 30px;
    padding-right: 15px;
    padding-bottom: 30px;
    padding-left: 15px;
  }
}

.clinic-section__title {
  position: absolute;
  top: 30px;
  left: 0;
  width: 100%;
  font-size: 2.5rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 2.32px;
  line-height: 1;
  color: #fff;
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .clinic-section__title {
    font-size: 1.5rem;
    letter-spacing: 1.4px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.clinic-section__content {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .clinic-section__content {
    flex-direction: column;
    gap: 25px;
  }
}

.clinic-section__gallery {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .clinic-section__gallery {
    flex-direction: row;
    gap: 15px;
  }
}
@media screen and (max-width: 768px) {
  .clinic-section__gallery {
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }
}

.clinic-section__photo {
  max-width: 100%;
  width: 100%;
  height: auto;
  aspect-ratio: 672/420;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .clinic-section__photo {
    max-width: calc(50% - 7.5px);
  }
}
@media screen and (max-width: 768px) {
  .clinic-section__photo {
    max-width: 90%;
    width: 90%;
  }
}

.clinic-section__info {
  flex: 1;
  min-width: 0;
}

.clinic-section__logo {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .clinic-section__logo {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
  }
}
.clinic-section__logo img:first-child {
  max-width: 117px;
  width: 15%;
  min-width: 70px;
  height: auto;
  aspect-ratio: 117/73;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .clinic-section__logo img:first-child {
    width: 80px;
  }
}
.clinic-section__logo img:last-child {
  max-width: 496px;
  width: 100%;
  height: auto;
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .clinic-section__logo img:last-child {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .clinic-section__logo img:last-child {
    max-width: 280px;
  }
}

.clinic-section__schedule {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .clinic-section__schedule {
    margin-bottom: 20px;
  }
}

.clinic-section__table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 15px;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .clinic-section__table {
    margin-bottom: 10px;
  }
}
.clinic-section__table th,
.clinic-section__table td {
  font-size: 1.125rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.47px;
  padding-top: 10px;
  padding-right: 15px;
  padding-bottom: 10px;
  padding-left: 15px;
  text-align: center;
  border: 1px solid #cfcfcf;
}
@media screen and (max-width: 1024px) {
  .clinic-section__table th,
  .clinic-section__table td {
    font-size: 0.875rem;
    padding-top: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
    padding-left: 8px;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 768px) {
  .clinic-section__table th,
  .clinic-section__table td {
    font-size: 0.625rem;
    padding-top: 5px;
    padding-right: 3px;
    padding-bottom: 5px;
    padding-left: 3px;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 375px) {
  .clinic-section__table th,
  .clinic-section__table td {
    font-size: 0.5625rem;
    padding-top: 4px;
    padding-right: 2px;
    padding-bottom: 4px;
    padding-left: 2px;
  }
}
.clinic-section__table th {
  background-color: #00368b;
  color: #fff;
}
.clinic-section__table th:first-child {
  width: 35%;
}
@media screen and (max-width: 768px) {
  .clinic-section__table th:first-child {
    width: 30%;
  }
}
.clinic-section__table td {
  color: #242424;
}

.clinic-section__mark {
  color: #9e8903;
  font-size: 1.4375rem;
}
@media screen and (max-width: 1024px) {
  .clinic-section__mark {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .clinic-section__mark {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 375px) {
  .clinic-section__mark {
    font-size: 0.625rem;
  }
}

.clinic-section__circle {
  color: #00368b;
  font-size: 1.4375rem;
}
@media screen and (max-width: 1024px) {
  .clinic-section__circle {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .clinic-section__circle {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 375px) {
  .clinic-section__circle {
    font-size: 0.625rem;
  }
}

.clinic-section__schedule-note {
  font-size: 0.9375rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.47px;
  color: #242424;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .clinic-section__schedule-note {
    font-size: 0.8125rem;
    letter-spacing: 0.34px;
    line-height: 1.6;
  }
}

.clinic-section__contact {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .clinic-section__contact {
    margin-bottom: 20px;
  }
}

.clinic-section__address {
  font-size: 1.125rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.47px;
  color: #242424;
  margin-bottom: 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .clinic-section__address {
    font-size: 0.875rem;
    letter-spacing: 0.34px;
  }
}

.clinic-section__tel {
  font-size: 1.25rem;
  font-family: "Source Han Sans JP", sans-serif;
  line-height: 41px;
  color: #242424;
  margin-bottom: 5px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .clinic-section__tel {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.clinic-section__tel a {
  font-size: 2.25rem;
  letter-spacing: 0.94px;
  color: #242424;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .clinic-section__tel a {
    font-size: 1.5rem;
    letter-spacing: 0.48px;
  }
}

.clinic-section__time {
  font-size: 1.125rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.47px;
  line-height: 30px;
  color: #242424;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .clinic-section__time {
    font-size: 0.8125rem;
    letter-spacing: 0.34px;
    line-height: 1.5;
  }
}

.clinic-section__map-link {
  font-size: 0.8125rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.34px;
  color: #242424;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .clinic-section__map-link {
    font-size: 0.75rem;
  }
}

.clinic-section__menu h3 {
  font-size: 1.125rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.47px;
  color: #242424;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .clinic-section__menu h3 {
    font-size: 0.9375rem;
    letter-spacing: 0.39px;
  }
}
.clinic-section__menu ul {
  list-style: none;
}
.clinic-section__menu ul li {
  font-size: 0.9375rem;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 0.39px;
  line-height: 23px;
  color: #242424;
}
@media screen and (max-width: 768px) {
  .clinic-section__menu ul li {
    font-size: 0.8125rem;
    letter-spacing: 0.34px;
    line-height: 1.7;
  }
}

/* ========================================
   Reasons Hero & BG Wrapper Styles
   ======================================== */
.reasons-bg-wrapper {
  background-image: url("../public/icl-reson-bg.webp");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: repeat-y;
  padding-bottom: 100px;
}

.reasons-hero__title {
  position: relative;
  padding-top: 180px;
  padding-bottom: 60px;
  font-size: 50px;
  letter-spacing: 5px;
  font-family: "Kozuka Mincho Pro", serif;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  text-align: center;
  z-index: 1;
}
.reasons-hero__title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../public/hero-bg-pattern.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .reasons-hero__title {
    font-size: 40px;
    padding-top: 160px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 768px) {
  .reasons-hero__title {
    font-size: 32px;
    padding-top: 110px;
    padding-bottom: 50px;
  }
}

/* ========================================
   ICL Flow Header Styles
   ======================================== */
.icl-flow__header {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .icl-flow__header {
    margin-bottom: 40px;
  }
}

.icl-flow__title {
  font-size: 40px;
  font-family: "Source Han Sans JP", sans-serif;
  letter-spacing: 2.32px;
  line-height: 50px;
  color: #31457a;
}
@media screen and (max-width: 768px) {
  .icl-flow__title {
    font-size: 28px;
  }
}

.icl-flow__title-line {
  width: 102px;
  height: 6px;
  background-color: #929292;
  margin-top: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .icl-flow__title-line {
    width: 80px;
    margin-top: 10px;
  }


  
}


.icl-contact-none{
	display: none;
	@media screen and (max-width: 400px) {
		display: block;
	}
}


