@charset "utf-8";
/* CSS Document */
.pcno { display:none;}
img { max-width:100%;}
#navArea{ display:none;}
/*▼ 初期化 ▼*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, ul, li, blockquote, th, td, tr, img { padding:0px; margin:0px; font-size:20px; line-height:1.5em; letter-spacing:1px; color:#333333;-webkit-text-size-adjust:100%; font-weight:500; font-family: "Zen Maru Gothic", serif;}
table { border-collapse:collapse; }
ul, li { list-style:none; }
h1, h2, h3, h4, h5, h6, .more{ padding:0px; margin:0px; font-size:100%; font-weight:normal;}
a { overflow:hidden; outline:none; }
img { border:none; vertical-align:bottom; }
table td { border:none; vertical-align:top; }
.text99 { text-indent:-9999px; }
a{-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
a:hover { text-decoration:none; }
a:hover { opacity:0.5; filter:alpha(opacity=50);-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
.kadomaru{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
/*▲ 初期化 ▲*/
.mb30{ margin-bottom:30px;}
.mb50{ margin-bottom:50px;}


/*▼エリア・背景設定▼*/
body{ min-width:1200px;}
h1{ text-indent:-9999px; height:0px;}


/*▼ヘッダー▼*/
#header{ max-width:1500px; margin:auto; height:150px; position:relative;}
#header #hmid{ overflow:hidden; padding:0 50px;}
#header .left { float:left; padding:35px 0 0;}
#header .left a{ text-decoration:none; display:inline-block;}
#header .left a img{ vertical-align: middle; margin-right: 5px; position: relative; top:-1px;}
#header .left a p{ font-size:36px; font-weight: 500; color:#4a7c59; line-height: 1em; display: inline-block; vertical-align: middle; font-family: "M PLUS 1 Code", monospace;}
#header .left a p span{ font-size: 18px; font-weight: 500; display: block; line-height: 1.5em; margin:0 0 5px 3px;}

#header .right{ float:right; text-align: right; padding:20px 0px 0 0;}
#header .right .p-01 {letter-spacing:normal; margin-bottom:5px;}
#header .right .p-01 img{ vertical-align: middle; margin-right:5px; position: relative; top:-2px;}
#header .right .p-tel{ font-size:36px; font-weight:600; letter-spacing:2px; line-height:1em; margin:0 0 5px; vertical-align:middle;}
#header .right .p-tel a{ background:url("../images/common/ico-tel.png") left 6px no-repeat; color:#333333; display:inline-block; text-decoration:none; padding-left:33px;}


/*▼メインナビゲーション▼*/
#navi{ display:inline-block; position:absolute; right:50px; top:100px;}
#navi ul{ padding:2px;}
#navi li { display:inline-block; font-size:17px; font-weight:500; text-align:center; letter-spacing: 2px; padding:0 20px 0 20px; position:relative;}
#navi li::before{ content:""; background:#626262; width:1px; height:25px; display: inline-block; position: absolute; left:0; top:3px;}
#navi li:last-child::after{ content:""; background:#626262; width:1px; height:25px; display: inline-block; position: absolute; right:0; top:3px;}
#navi li a{ color:#333; text-decoration:none; position:relative; display:block; padding:0 5px 24px;}
#navi li a:hover{ opacity:1; transition:0.3s; color:#90bd20;}
#navi li a:after /*ナビ下線*/{ content:""; position:absolute;left:0;bottom:2px;width:100%;height:3px;background:#90bd20;transform:scale(0, 1);transition:0.3s;}
#navi li a:hover:after{ transform:scale(1);}





/*▼メインビジュアル▼*/
#mp{ position: relative;}
#mp .inner{ width:1024px; height:642px; margin:auto; text-align: center;}
#mp .inner .p-01{ font-size:38px; font-weight: bold; color:#4a7c59; padding-top:100px; line-height: 2em; text-shadow:0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 20px#fff,0 0 20px#fff,0 0 20px#fff;}
#mp .inner .p-01 span{ font-size:20px; display: block; line-height: 1.5em;}


#about #mp{ background:url(../images/about/mp.png) center top no-repeat;}
#time-access #mp{ background:url(../images/time-access/mp.png) center top no-repeat;}
#contents #mp{ background:url(../images/contents/mp.png) center top no-repeat;}


#hmp{ background:url(../images/home/mp.png)center top no-repeat; position: relative;}
#hmp .inner{ width: 1024px; margin:auto; height:780px; position: relative;}
#hmp .inner .p-01{ font-size:28px; font-weight:500; color:#000; padding-top:100px; line-height:1.8em; text-shadow:0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 15px#fff,0 0 20px#fff,0 0 20px#fff,0 0 20px#fff; font-family: "M PLUS 1 Code", monospace;}
#hmp .inner .p-01 span{ font-size:36px; font-weight:bold; color:#4a7c59; display: block; line-height: 1.5em; margin-bottom: 15px;}

.mv .area-01 { background: #fff; width: 700px; padding: 10px 30px 30px 110px; box-shadow: 0 0 15px rgba(0,0,0,.1); position: absolute;left:0px; right:0; margin:auto;bottom:0px;verflow: hidden; box-sizing: border-box; border-radius: 30px; border: 2px solid #90bd20;overflow:hidden;}
.mv .area-01 table{ width:100%; text-align:center;}
.mv .area-01 table th{ border-bottom:2px solid #999; padding:15px 0; font-size:20px; font-weight:600; color:#333; min-width:30px;}
.mv .area-01 table td{ border-bottom:2px solid #999; padding:15px 0; vertical-align: middle;}
.mv .area-01 table td span{ font-size:22px; color:#90bd20;}
.mv .area-01 table tr>*:first-child{ width:160px;}
.mv .area-01 table tr>td:first-child{ font-size:24px; font-weight:bold;}
.mv .area-01 h2{ background:#90bd20; font-size:22px; font-weight: bold; color:#fff; width:80px; height: 100%; text-align:center; position: absolute; top:0px; left:0px; border:2px solid #90bd20; box-sizing:border-box;}
.mv .area-01 h2 span{ -ms-writing-mode:tb-rl; writing-mode:vertical-rl; display: inline-block; margin:60px 0 0;}
.mv .area-01 h2 img{ margin-bottom: 10px;}
.mv .area-01 h2 img:last-child{ margin-top: 10px; position: relative;}
.mv .area-01 .p-02{font-weight:500; color:#666; line-height: 1.7em; letter-spacing:normal; padding-top:15px;}



/*----- フッター -----*/
#footer {}
#footer #ftop{ background: #9acc33;}
#footer .area-01{ width:1024px; margin:auto; text-align: center; padding:35px 0;}
#footer .area-01 ul{ display: inline-block; vertical-align: top; margin-right: 80px;}
#footer .area-01 ul li{text-align: left; margin-bottom:2px; letter-spacing: normal;}
#footer .area-01 ul li:nth-child(n+2){ margin-left: 1em;}
#footer .area-01 ul li span{font-weight: bold; line-height: 1.5em; display: inline-block; margin-bottom:5px;}
#footer .area-01 ul li a{ color:#333; display: inline-block; text-decoration: none;}



#footer #fbottom{ background: #fff;}
#footer .area-02{ width:1024px; margin:auto; overflow:hidden; padding:30px 0 40px;}
#footer .area-02 .left { float:left; padding:15px 0 0;}
#footer .area-02 .left a{ text-decoration:none; display:inline-block;}
#footer .area-02 .left a img{ vertical-align: middle; margin-right: 5px; position: relative; top:-1px;}
#footer .area-02 .left a p{ font-size:36px; font-weight: 500; color:#4a7c59; line-height: 1em; display: inline-block; vertical-align: middle; font-family: "M PLUS 1 Code", monospace;}
#footer .area-02 .left a p span{ font-size: 18px; font-weight: 500; display: block; line-height: 1.5em; margin:0 0 5px 3px;}

#footer .area-02 .right{ float:right; text-align: right; padding:20px 20px 0 0;}
#footer .area-02 .right .p-01 {letter-spacing:normal; margin-bottom:5px;}
#footer .area-02 .right .p-01 img{ vertical-align: middle; margin-right:5px; position: relative; top:-2px;}
#footer .area-02 .right .p-tel{ font-size:36px; font-weight:600; letter-spacing:2px; line-height:1em; margin:0 0 5px; vertical-align:middle;}
#footer .area-02 .right .p-tel a{ background:url("../images/common/ico-tel.png") left 6px no-repeat; color:#333333; display:inline-block; text-decoration:none; padding-left:33px;}


#footer #tamonten { clear:both; text-align:center; line-height: 2em; font-size:10px; padding:8px 0; border-top: 1px solid #b9b9b9;}
#footer #tamonten a { display:block; cursor:default; color:#b9b9b9; text-decoration:none; opacity:1; filter:alpha(opacity=100);}

.page-top {
	position:fixed;
    bottom:70px;
    right:60px;
	background-image:url(../images/common/totop.png);
	width:58px; height:58px; text-indent:-9999px;
    -ms-filter:"alpha(opacity=80)";
    -moz-opacity:0.8;
    -khtml-opacity:0.8;
    opacity:0.8;
	z-index:10;
	-webkit-transition:0s; -moz-transition:0s; -ms-transition:0s; transition:0s;}






/*----- エリア・共通設定 -----*/
.box{ width:1024px; margin:auto; padding:70px 0;}

.h2-01{ font-size:36px; font-weight:bold; text-align:center; padding-bottom:30px; margin-bottom:50px; position: relative;}
.h2-01::before{ content:""; background:#90bd20; width: 20px; height: 4px; display: inline-block; position: absolute; left:0; right:0; bottom:0; margin:auto;}

.h2-02{ font-size:30px; font-weight:bold; margin-bottom:35px; padding-bottom:15px; border-bottom:2px solid #38a5ea;}

.h3-01{ font-size:26px; font-weight: bold; color:#9acc33; margin-bottom:30px;}


.more{ width:400px; margin:50px auto; font-size:24px; font-weight:500; text-align:center;}
.more a{ background:#88b73c; color:#fff; padding:20px 0; display:block; text-decoration:none; box-sizing:border-box; position: relative; overflow:inherit;}
.more a img{ position: absolute; top:30%; right:-37px;}





/*----- ホーム　home -----*/
#home #box-01{ padding-top: 100px;}
#home #box-01 .area-01{ overflow: hidden;}
#home #box-01 .area-01 img{ float: right;}
#home #box-01 .area-01 .tb{ width: 550px; float: left;}
#home #box-01 .area-01 .tb h2{ font-size:34px; font-weight: bold; color:#9acc33; margin-bottom:30px;}
#home #box-01 .area-01 .tb p { line-height: 1.8em; margin-bottom: 30px;}


#home #box-02{ padding:100px 0 100px; width: auto; background:#f4f8e9; margin-top:30px;}
#home #box-02 .area-01{ overflow:hidden; width:1064px; margin:auto;}
#home #box-02 .area-01 table {}
#home #box-02 .area-01 table td.td-01{ font-weight: bold; color:#38a5ea; padding:30px 20px 0 0; vertical-align:top;}
#home #box-02 .area-01 table td.td-01 span{ background:#90bd20; color:#fff; display: inline-block; padding:0 20px 3px; border-radius:10px;}
#home #box-02 .area-01 table td { padding:30px 10px 30px; border-bottom: 1px solid #ccc;letter-spacing:normal;}
#home #box-02 .area-01 table td span.title{ font-size:22px; font-weight:bold;letter-spacing:1px; margin-bottom:10px; display:block;}

#home #box-02 .area-01 table td .p-01{ color:#90bd20;font-size: 24px; font-weight: bold; background: #fff; padding: 2px 8px; border-radius: 5px; text-align:center; margin:10px 0px;}

#home #box-02 .area-01 table td .download-area { margin-top:20px;}

/* 予防接種・健康診断 案内用 */
#home .notice-area {  margin: 50px auto; text-align: left; }
#home .notice-box { background: #fff7e6; border: 3px solid #f59e0b;border-radius: 15px; padding: 30px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
#home .notice-box .p-01 { font-size: 22px; font-weight: bold; color: #b45309;margin-bottom: 20px; line-height: 1.8em; }
#home .notice-box .p-01 .highlight { color: #d97706; font-size: 24px; font-weight: bold; background: #fff; padding: 2px 8px; border-radius: 5px; }
#home .notice-box .p-02 { font-size: 18px; color: #333; line-height: 1.8em; }
#home .notice-area .p-03 { text-align:center; margin-bottom:15px;}

/* 再診案内専用カラー（青系） */
#home .notice-box.revisit { background: #e6f0ff;border: 3px solid #2563eb;border-radius: 15px; padding: 30px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
#home .notice-box.revisit .p-01 { font-size:20px; font-weight: bold; color: #1e3a8a;margin-bottom: 20px; line-height: 1.8em; }
#home .notice-box.revisit .p-02{ color: #1d4ed8;font-size: 24px; font-weight: bold; background: #fff; padding: 2px 8px; border-radius: 5px; text-align:center;}


/* トップページ お知らせ前のボタンエリア */
#home #box-btn-top { padding: 80px 0 0px; }
#home #box-btn-top .area-01 { text-align: center; }
#home #box-btn-top .btn { display: inline-block; margin: 0 15px 20px; }
#home #box-btn-top .btn i{ margin-left:10px;}
#home #box-btn-top .btn a { background: #38a5ea;               /* 青系カラー */ padding: 20px 40px; text-align: center; border-radius: 30px; display: block; text-decoration: none; transition: 0.3s; }
#home #box-btn-top .btn a span { font-size:20px; font-weight: bold; color: #fff; line-height: 1em; font-family: "Zen Maru Gothic", serif; }
#home #box-btn-top .btn a:hover { opacity: 0.9; transform: translateY(-3px); box-shadow: 0 4px 10px rgba(0,0,0,0.2); }



#home #box-03{ background:url(../images/home/bk-bottom.jpg)center bottom repeat-x; padding-bottom:10px; padding-top:100px;}
#home #box-03 .area-01{ width: 1064px; overflow: hidden; padding:40px 20px 0; margin:auto; box-sizing:border-box;}
#home #box-03 .area-01 .entry{ width: 315px; float: left; margin-right:39px; position: relative;}
#home #box-03 .area-01 .entry:last-child{ margin-right: 0;}
#home #box-03 .area-01 .entry p{letter-spacing: normal; padding-top:20px; line-height: 1.8em;}
#home #box-03 .area-01 .entry h3{ background:rgba(22,153,189,.8); width: 130px; line-height: 130px; text-align: center; border-radius:50%; position: absolute; left:-20px; top:-40px;}
#home #box-03 .area-01 .entry h3 span{ font-size: 28px; font-weight: bold; color:#fff; display: inline-block;}
#home #box-03 .area-01 .entry:nth-child(2) h3{ background:rgba(80,178,59,.8);}
#home #box-03 .area-01 .entry:nth-child(3) h3{ background:rgba(226,188,73,.8);}

#home #box-04{ width: 1400px; padding-bottom:100px;}
#home #box-04 .googlemap{ height: 650px; margin-bottom: 30px;}
#home #box-04 p{text-align: center;}





/*----- 当院について about -----*/
#about .box{ width: 1070px;}
#about #box-01{ padding-top: 100px;}
#about #box-01 .p-01{ font-size:22px; text-align: center; line-height: 2em; margin-bottom:50px;}
#about #box-01 .area-01{ border-radius:25px; box-shadow:5px 5px 5px rgba(0,0,0,.08); overflow: hidden; margin-bottom: 70px; position: relative;}
#about #box-01 .area-01 .img{ float: left; border-right:2px solid #90bd20;}
#about #box-01 .area-01 .tb{ width: 620px; float: right; margin-right: 50px; padding-top:50px;}
#about #box-01 .area-01 .tb h3{ margin-bottom:20px;}
#about #box-01 .area-01 a{ display: inline-block; text-decoration: none; position: absolute; right:50px; bottom:30px;}


#about .bk-01{ background:url(../images/about/bk-01.jpg)center top no-repeat;}
#about #box-02{padding-bottom: 100px;}
#about #box-02 .area-01{ overflow: hidden; margin-bottom:70px; padding-right: 25px;}
#about #box-02 .area-01 .tb{ width: 480px; float: left;}
#about #box-02 .area-01 .tb p{ line-height: 1.8em;}
#about #box-02 .area-01 .tb .p-01{ font-size: 22px; font-weight: bold; color:#4a7c59; line-height: 1em; margin-bottom: 15px; text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;}
#about #box-02 .area-01 .tb .p-02{ text-align: right; padding-top: 30px;}
#about #box-02 .area-01 img{ float: right; box-shadow:25px 25px 0 #90bd20;}
#about #box-02 .area-02{ background:#fff; padding:30px 50px 50px;}
#about #box-02 .area-02 .inner{ overflow: hidden; margin-bottom: 50px;}
#about #box-02 .area-02 .inner .entry{ min-width:265px; float: left; border-right: 1px solid #cbe096; padding:0 30px 20px;}
#about #box-02 .area-02 .inner .entry:nth-child(1){ padding-left:0;}
#about #box-02 .area-02 .inner .entry:nth-child(2){ border: none; padding-right: 0;}
#about #box-02 .area-02 .inner .entry:nth-child(3){ border: none; padding-right: 0;}
#about #box-02 .area-02 h3{ margin-bottom: 10px;}
#about #box-02 .area-02 ul li{margin-bottom:5px;}
#about #box-02 .area-02 table td{ padding:3px 20px 3px 0px}


#about .bk-02{ background:url(../images/about/bk-02.jpg)center top no-repeat;}
#about #box-03{ padding-bottom: 50px;}
#about #box-03 h3{ font-size: 24px; font-weight: bold; color:#4a7c59; margin-bottom:20px;}
#about #box-03 .area-01{ overflow: hidden; margin-bottom:50px;}
#about #box-03 .area-01 .entry{ width:250px; float: left; margin:0 22px 40px 0;}
#about #box-03 .area-01 .entry:nth-of-type(4n){ margin-right: 0;}
#about #box-03 .area-01 .entry p{padding-top:15px;}

#about #box-04{ border:4px solid #9acc33; border-radius:30px; padding:50px 50px; margin-bottom:100px;}
#about #box-04 .area-01 table{ width: 100%;}
#about #box-04 .area-01 table tr{ border-bottom:2px dotted #9acc33;}
#about #box-04 .area-01 table th{ width: 200px; font-size: 20px; text-align: left; padding:0 20px; vertical-align: middle;}
#about #box-04 .area-01 table td{ padding:10px 20px 10px 0; font-size: 16px;}
#about #box-04 .area-01 table td span{ display: inline-block; padding:25px 0 25px 30px; border-left:2px solid #9acc33;}
#about #box-04 .area-01 table tr:last-child{ border: none;}





/*----- 診療案内　contents -----*/
#contents #box-btn{ padding:100px 0 80px;}
#contents #box-btn .area-01{ text-align: center;}
#contents #box-btn .area-01 .btn{ display: inline-block; margin-right:20px;}
#contents #box-btn .area-01 .btn:last-child{ margin-right: 0;}
#contents #box-btn .area-01 .btn a{ background:#90bd20 url(../images/contents/arrow.png)center bottom 15px no-repeat; padding:20px 40px 40px; text-align: center; border-radius:20px; display: block; text-decoration: none;}
#contents #box-btn .area-01 .btn a span{ font-size:24px; font-weight: bold; color:#fff; line-height: 1em;font-family: "Zen Maru Gothic", serif;}


#contents #box-02{ background:url(../images/contents/bk-01.jpg)center top no-repeat; padding-bottom: 100px;}
#contents #box-02 .contents-area{ background:#fff url(../images/common/bk-top.jpg)left top repeat-x; width: 1080px; margin:auto; padding:70px 50px 90px; box-sizing:border-box;}
#contents #box-02 .contents-area .p-01{ font-size:20px; font-weight: 500; text-align: center; line-height:2em; margin-bottom:50px;}
#contents #box-02 .contents-area .area-01{ overflow: hidden; margin-bottom:70px;}
#contents #box-02 .contents-area .area-01 img{ float: right; width:400px; }
#contents #box-02 .contents-area .area-01 .tb{ margin-bottom:50px;}
#contents #box-02 .contents-area .area-02 { overflow: hidden;}
#contents #box-02 .contents-area .area-02 img{ float: left; margin-right: 120px;}
#contents #box-02 .contents-area .area-02 .tb{ float: left;}
#contents #box-02 .contents-area .ul-01{}
#contents #box-02 .contents-area .ul-01 li{background:url(../images/contents/ico-li.png)left 5px no-repeat; padding-left:35px; margin-bottom: 20px;}
#contents #box-02 .contents-area:last-of-type{ background:url(../images/common/bk-top.jpg),url(../images/common/bk-bottom.jpg),#fff; background-position: 0 0,0 bottom,0 0; background-repeat:repeat-x,repeat-x,repeat; padding-bottom:20px;}

#contents #box-02 .contents-area .tb-01{ clear:both; text-align:center; border:#91bd20 solid 1px; padding:20px;border-radius:20px;}
#contents #box-02 .contents-area .tb-01 p{ font-size:20px; font-weight:bold;}

/* 予防接種案内ボックス */
#contents #box-02 .contents-area .tb-01 { clear: both; border: 2px solid #f59e0b;   /* オレンジ系で注意喚起 */ background: #fff7e6;          /* 薄い背景で視認性UP */ padding: 25px 30px; border-radius: 15px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); margin-bottom:50px; text-align:center;}
#contents #box-02 .contents-area .tb-01 p { margin-bottom: 15px; font-size: 18px; line-height: 1.7em; color: #333; }
#contents #box-02 .contents-area .tb-01 .p-01 { font-size: 24px; font-weight: bold; color: #F00; margin-bottom: 12px; }
#contents #box-02 .contents-area .tb-01 .p-02 { font-weight: 600; color: #92400e; background: #fff; display: inline-block; padding: 5px 10px; border-left: 4px solid #f59e0b; margin-bottom: 15px; line-height:2em;}


/* PDFダウンロードボタン */
.download-area { text-align: center; margin:0px auto; padding:0px;}
.download-area .btn a { background: #90bd20; /* 緑系カラーで安心感 */ color: #fff; font-size: 22px; font-weight: bold; padding: 20px 50px; border-radius: 40px; display: inline-block; text-decoration: none; transition: 0.3s; }
.download-area .btn a i { margin-right: 10px; font-size: 24px; }
.download-area .btn a:hover { opacity: 0.9; transform: translateY(-3px); box-shadow: 0 4px 10px rgba(0,0,0,0.2); }

#contents #box-02 #link-04 .area-01{ margin-bottom:0px;}
/*----- 診療時間・アクセス time-access -----*/
#time-access .bk-01{ background:url(../images/time-access/bk-01.jpg)center 200px no-repeat;}

#time-access #box-01{ padding:10px 0 50px;}
#time-access #box-01 .area-01 { background:#fff; width:700px; padding:10px 30px 30px 110px; box-shadow:0 0 15px rgba(0,0,0,.1); margin:auto; overflow: hidden; box-sizing:border-box; border-radius:30px; border:2px solid #90bd20; position: relative;}
#time-access #box-01 .area-01 table{ width:100%; text-align:center;}
#time-access #box-01 .area-01 table th{ border-bottom:2px solid #999; padding:15px 0; font-size:20px; font-weight:600; color:#333; min-width:30px;}
#time-access #box-01 .area-01 table td{ border-bottom:2px solid #999; padding:15px 0; vertical-align: middle;}
#time-access #box-01 .area-01 table td span{ font-size:22px; color:#90bd20;}
#time-access #box-01 .area-01 table tr>*:first-child{ width:160px;}
#time-access #box-01 .area-01 table tr>td:first-child{ font-size:24px; font-weight:bold;}
#time-access #box-01 .area-01 h2{ background:#90bd20; font-size:22px; font-weight: bold; color:#fff; width:80px; height: 100%; text-align:center; position: absolute; top:0px; left:0px; border:2px solid #90bd20; box-sizing:border-box;}
#time-access #box-01 .area-01 h2 span{ -ms-writing-mode:tb-rl; writing-mode:vertical-rl; display: inline-block; margin:60px 0 0;}
#time-access #box-01 .area-01 h2 img{ margin-bottom: 10px;}
#time-access #box-01 .area-01 h2 img:last-child{ margin-top: 10px; position: relative;}
#time-access #box-01 .area-01 .p-02{font-weight:500; color:#666; line-height: 1.7em; letter-spacing:normal; padding-top:15px;}



#time-access #box-02{ padding-bottom:50px;}


/* 初めてご来院の方へ */
#time-access #box-02 .first-visit-box {background: #f9fff3; /* 薄い緑背景 */ border: 3px solid #90bd20; border-radius: 20px; padding: 40px; box-shadow: 0 4px 15px rgba(0,0,0,0.08); }
#time-access #box-02 .first-visit-box .title { font-size: 22px; font-weight: bold; color: #4a7c59; margin-bottom: 20px; }
#time-access #box-02 .first-visit-box .item-list { margin: 0 0 30px 20px; }
#time-access #box-02 .first-visit-box .item-list li { font-size: 18px; margin-bottom: 10px; line-height: 1.7em; list-style-type: disc; color: #333; }
#time-access #box-02 .first-visit-box .step { margin-bottom: 25px; }
#time-access #box-02 .first-visit-box .step h4 { font-size: 20px; font-weight: bold; color: #90bd20; margin-bottom: 10px; }
#time-access #box-02 .first-visit-box .step p { font-size: 17px; color: #333; line-height: 1.8em; }
#time-access #box-02 .first-visit-box .step .note { color: #d9534f; /* 注意文を赤系で強調 */ font-weight: bold; }

#time-access #box-03{}
#time-access #box-03 .area-01{ overflow: hidden;}
#time-access #box-03 .area-01 .entry{ background:#fff; width: 480px; float: left; height:100px; border:2px solid #90bd20; border-radius:50px 10px 10px 50px; position: relative; padding:0 20px 0 120px; box-sizing:border-box;}
#time-access #box-03 .area-01 .entry span{ display: inline-block; padding-top:20px; line-height:1.2em;}
#time-access #box-03 .area-01 .entry:last-child{ float: right;}
#time-access #box-03 .area-01 .entry:last-child span{ padding-top: 12px;}
#time-access #box-03 .area-01 .entry .img{ background:#fff; width: 100px; height: 100px; border-radius:50%; border:2px solid #90bd20; position: absolute; left:-2px; top:-2px; box-sizing:border-box;}
#time-access #box-03 .area-01 .entry .img img{ width:70%; position: absolute; left:0; right:0; top:0; bottom:0; margin:auto;}


#time-access #box-04{ width: 1064px;}
#time-access #box-04 .p-01{ font-size: 22px; font-weight: 500; text-align: center; line-height: 2em; margin-bottom: 30px;}
#time-access #box-04 .area-01{ overflow: hidden; padding:20px 20px 0;}
#time-access #box-04 .area-01 .entry{ background:#fff; width: 480px; float: left; border:2px solid #90bd20; border-radius:0px 0px 30px 0px; position: relative; padding:25px 40px 30px 40px; box-sizing:border-box;}
#time-access #box-04 .area-01 .entry span{ display: inline-block; padding-top:20px;}
#time-access #box-04 .area-01 .entry:last-child{ float: right;}
#time-access #box-04 .area-01 .entry:last-child span{ padding-top: 10px;}
#time-access #box-04 .area-01 .entry .img{ background:#90bd20; width:80px; height:80px; border-radius:50%; position: absolute; left:-20px; top:-20px; box-sizing:border-box;}
#time-access #box-04 .area-01 .entry .img img{ width:50%; position: absolute; left:0; right:0; top:0; bottom:0; margin:auto;}
#time-access #box-04 .area-01 .entry dt{ font-size: 24px; font-weight: bold; padding:0 0 15px 30px; border-bottom:3px dashed #90bd20; margin-bottom:15px;}
#time-access #box-04 .area-01 .entry dd{padding-left:0px; letter-spacing:normal;}


#time-access #box-05{}
#time-access #box-05 h3{ background:#90bd20; font-size:18px; font-weight: bold; color:#fff; padding:3px 0 3px 15px;}
#time-access #box-05 .area-01{ overflow: hidden; margin-bottom: 30px;}
#time-access #box-05 .area-01 .entry{ width: 50%; float:right; background:#fff;}
#time-access #box-05 .area-01 .entry:last-child{ float: left;}
#time-access #box-05 .area-01 .entry .inner{ padding:30px 20px 35px;}
#time-access #box-05 .area-01 .entry .inner p{line-height: 1.8em;}

#time-access #box-05 .area-02{ overflow: hidden;}
#time-access #box-05 .area-02 .entry{ width: 50%; float:left;}
#time-access #box-05 .area-02 .entry:last-child{ float: right; background:#fff;}
#time-access #box-05 .area-02 .entry .inner{ padding:15px 20px 15px;}
#time-access #box-05 .area-02 .entry .inner p{line-height: 1.8em;}



.modal-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s ease-out;
  z-index: 9;
}
 
.modal-container::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
 
.modal-container.active {
  opacity: 1;
  visibility: visible;
}
 
.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width:700px;
  width: 90%;
}
 
.modal-close {
  position: absolute;
  top: -22px;
  right:10px;
  font-size: 14px;
  color: #fff;
  background:#90bd20;
  padding: 4px 15px;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  border:none;
}
 
.modal-content {
  background: #fff;
  border: 2px solid #90bd20;
  text-align: left;
  padding: 30px;
  font-weight: bold;
  border-radius:10px;
}
.modal-content h2{ font-size:24px; font-weight: bold; color:#90bd20; text-align: center; margin-bottom: 20px;}
.modal-content .p-01{ font-size: 18px; text-wrap: 500px; text-align: center; line-height: 1.8em; margin-bottom: 20px;}
 
.modal-content .p-tel{ font-size:36px; font-weight:600; letter-spacing:2px; line-height:1em; margin:0 0 5px; vertical-align:middle; text-align: center;}
.modal-content .p-tel a{ background:url("../images/common/ico-tel.png") left 6px no-repeat; color:#333333; display:inline-block; text-decoration:none; padding-left:33px; vertical-align: middle;}
.modal-content .p-tel span{ font-size: 24px; font-weight:bold; color:#90bd20; letter-spacing:1px; display: inline-block; vertical-align: middle; margin-right:20px;}
