@charset "UTF-8";
/* Scss Document */
/* ======================================================================= 共通項目 
======================================================================= */
/*関数*/
/* ----------------------------------------------------------- 関数
----------------------------------------------------------- */
/*サイトの横幅*/
/*media screen*/
/*文字SP*/
/*文字PC*/
/*基本文字家族*/
/*基本文字色*/
/*基本背景色PC*/
/*以下、不使用*/
/* ----------------------------------------------------------- フォントサイズ基本
----------------------------------------------------------- */
html { font-size: calc(100vw / 32); overflow-y: auto; font-family: "Noto Sans JP", sans-serif; color: #252525; background-color: #FFFFFF; }

@media print, screen and (min-width: 768px) { html { font-size: 62.5%; overflow-y: scroll; font-family: "Noto Sans JP", sans-serif; color: #252525; background-color: #FFFFFF; } }
/* ----------------------------------------------------------- 構成
----------------------------------------------------------- */
body { position: relative; width: 100%; margin: 0 auto; }

section { height: auto; overflow: hidden; margin: 0 0 3rem 0; }
section.first { margin: 0; }
section.s_h2 { padding: 0; margin: 0; box-sizing: border-box; }

.sentence { height: auto; overflow: hidden; }

.pc_none { display: block; }

.sp_none { display: none; }

.bold_text { font-weight: bold; }

@media print, screen and (min-width: 768px) { body { position: relative; z-index: 0; box-sizing: border-box; min-width: 1400px; }
  section { height: auto; overflow: hidden; margin: 0 0 60px 0; }
  section.first { margin: 0; }
  section.s_h2 { margin: 0; box-sizing: border-box; }
  .pc_none { display: none; }
  .sp_none { display: block; } }
/* -----------------------------------------------------------
　枠
----------------------------------------------------------- */
article { height: auto; overflow: hidden; width: 100%; margin: 0; padding: 0; background-color: #FFFFFF; position: relative; }

.wrapper { height: auto; width: 100%; margin: 0; padding: 0; background-color: #FFFFFF; }

.main { width: 90%; margin: 0 auto; padding: 3rem 0 0 0; }

@media print, screen and (min-width: 768px) { article { height: auto; overflow: hidden; width: 100%; margin: 0 auto; padding: 0; }
  .wrapper { height: auto; width: 100%; margin: 0 auto; padding: 20px 0 0 0; background-color: #FFFFFF; }
  .main { width: 1400px; margin: 0 auto; padding: 0; } }
/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */
header .head_frame { width: 100%; margin: 0; padding: 1.0rem 0 0 0; position: fixed; background-color: #FFFFFF; z-index: 999; }
header .head_frame .header_info { width: 98%; margin: .8rem auto 1.6rem; }
header .head_frame .header_info .head_logo { width: 76%; margin: 0 auto 0 1rem; }
header .head_frame .header_info .head_logo p.p_txt { font-size: 1.1rem; margin: 0 0 .6rem 0; }
header .head_frame .header_info .head_logo img { width: 100%; height: auto; }
header .head_frame .header_info .info_tel { display: none; }
header .headder_cont { display: block; width: 100%; margin: 0; padding: 7rem 0 0 0; }
header .headder_cont .key_visual { width: 100%; height: 21.4rem; background-position: center top; background-size: auto; background-repeat: no-repeat; background-size: 100% auto; padding: 1rem; margin: 0 0 10rem 0; box-sizing: border-box; position: relative; }
header .headder_cont .key_visual .contents { width: 100%; padding: 0; position: relative; }
header .headder_cont .key_visual .contents .tag { display: flex; flex-direction: column; justify-content: center; gap: .6rem; align-items: center; padding: 7rem 0 0 0; }
header .headder_cont .key_visual .contents .tag span { background: rgba(255, 255, 255, 0.95); border-radius: 50px; font-weight: bold; color: #388154; padding: 0.4rem 0.8rem; width: 19rem; height: auto; text-align: center; line-height: 1.2; font-size: 1.5rem; }
header .headder_cont .key_visual .contents .tag span:nth-of-type(even) { color: #f17421; }
header .headder_cont .key_visual .contents figure { position: absolute; top: 3rem; left: 4rem; right: 4rem; }
header .headder_cont .key_visual .contents figure img { width: 100%; margin: 0; }
header .headder_cont .key_visual .contents_bottom { top: 105%; left: 10%; display: flex; gap: 1rem; position: absolute; }
header .headder_cont .key_visual .contents_bottom .circle { background: rgba(255, 255, 255, 0.7); border-radius: 50%; font-weight: bold; color: #388154; font-size: 1rem; width: 8rem; height: 8rem; display: flex; justify-content: center; flex-direction: column; align-items: center; text-align: center; line-height: 1.2; }
header .headder_cont .key_visual .contents_bottom .circle::after { font-family: 'fontello'; content: "\f101"; }
header .headder_cont .key_visual .contents_bottom .c1 { background: #FBE5D6; }
header .headder_cont .key_visual .contents_bottom .c2 { background: #E2F0D9; }
header .headder_cont .key_visual .contents_bottom .c3 { background: #DEEBF7; }
header .headder_cont .key_visual a { text-decoration: none; }
header .headder_cont .key_visual a .news { position: absolute; right: 0; bottom: 0; width: 0; height: 0; border-style: solid; border-width: 0 0 8rem 12rem; border-color: transparent transparent #2fd06d transparent; }
header .headder_cont .key_visual a .news p { position: absolute; bottom: -7.7rem; right: .4rem; margin: 0; width: 9rem; color: #FFFFFF; font-size: 1.1rem; text-align: right; }
header .headder_cont .key_visual a .news p.b_news { bottom: -6.4rem; font-weight: bold; font-size: 1.6rem; }
header .headder_cont .key_visual a .news p.b_news::before { content: ''; background: url("../images/leaf.png") no-repeat; background-size: contain; width: 1.8rem; height: 1.8rem; display: block; margin: 0 0 0 auto; }
header .headder_cont .message { background: #27a557; padding: 1rem; box-sizing: border-box; }
header .headder_cont .message p { color: #FFFFFF; text-align: center; font-weight: bold; font-size: 1.4rem; margin: 0; }
header ul.head_menu { display: flex; flex-wrap: wrap; justify-content: space-between; list-style: none; margin: .2rem 0 0 0; }
header ul.head_menu li { width: 50%; margin: 0 0 .2rem 0; padding: 1.8rem 0; background: #a2f2c1; box-sizing: border-box; }
header ul.head_menu li:nth-of-type(even) { border-right: .2rem #FFFFFF solid; }
header ul.head_menu li.home { display: none; }
header ul.head_menu li a { text-decoration: none; color: #252525; line-height: 1.2; text-align: center; font-size: 1.3rem; display: block; font-weight: 500; }
header ul.head_menu li::before { content: ''; display: block; margin: 0 auto .4rem; background: url("../images/leaf.png") no-repeat; background-size: contain; width: 2.4rem; height: 2.4rem; }
header ul.head_menu li:nth-of-type(3)::before { background: url("../images/heart.png") no-repeat; background-size: contain; }
header ul.head_menu li:nth-of-type(4)::before { background: url("../images/doctor.png") no-repeat; background-size: contain; }
header ul.head_menu li:nth-of-type(5)::before { background: url("../images/flow.png") no-repeat; background-size: contain; }
header ul.head_menu li:nth-of-type(6)::before { background: url("../images/access.png") no-repeat; background-size: contain; }
header ul.head_menu li:nth-of-type(7)::before { background: url("../images/tell.png") no-repeat; background-size: contain; }
header ul.head_menu li:nth-of-type(8)::before { background: url("../images/mail.png") no-repeat; background-size: contain; }
header ul.head_menu li:nth-of-type(9)::before { background: url("../images/star.png") no-repeat; background-size: contain; }
header .key_visual_low { width: 100%; padding: 7rem 0 0 0; }
header .key_visual_low .h1_area { width: 100%; height: auto; margin: 0 auto; padding: 3rem 0 0 0; display: flex; justify-content: center; align-items: center; }
header .key_visual_low .h1_area figure { margin: 0; padding: 0; }
header .key_visual_low .h1_area figure img { width: 60%; margin: 0 auto; padding: 0; display: block; }
header .key_visual_low .h1_area h1 { font-size: 2.3rem; color: #252525; font-weight: 500; padding: 0; text-align: center; line-height: 1.3; }

@media print, screen and (min-width: 768px) { header .head_frame { width: 100%; margin: 28px 0 0 0; padding: 0; height: auto; background-color: #FFFFFF; position: inherit; }
  header .head_frame .header_info { display: -webkit-flex; display: flex; justify-content: space-between; flex-wrap: nowrap; width: 1200px; margin: 0 auto; padding: 0 50px; box-sizing: border-box; }
  header .head_frame .header_info .head_logo { width: 530px; margin: 0; padding: 0; }
  header .head_frame .header_info .head_logo p.p_txt { font-size: 1.6rem; margin: 0 0 8px 0; }
  header .head_frame .header_info .head_logo img { width: 530px; height: auto; margin: 0; }
  header .head_frame .header_info .info_tel { width: auto; margin: auto 0 0 0; display: block; }
  header .head_frame .header_info .info_tel p { margin: 0; }
  header .head_frame .header_info .info_tel p.rule { color: #a27045; font-size: 1.6rem; margin: 0 0 4px 0; }
  header .head_frame .header_info .info_tel p.tel { font-size: 3rem; white-space: nowrap; line-height: inherit; }
  header .head_frame .header_info .info_tel p.tel span { font-size: 2rem; }
  header .head_frame .header_info .info_tel p.tel a { color: #252525; text-decoration: none; }
  header .head_frame .header_info .info_tel p.tel [data-ruby] { font-size: 3rem; position: relative; }
  header .head_frame .header_info .info_tel p.tel [data-ruby]::before { content: attr(data-ruby); position: absolute; top: -0.6rem; left: 1.1rem; margin: auto; font-size: 1.4rem; letter-spacing: 7px; }
  header .headder_cont { display: flex; flex-wrap: nowrap; width: 1400px; margin: 0 auto; padding: 0; }
  header .headder_cont .key_visual { width: 914px; height: 577px; background-position: center; background-size: 100% auto; background-repeat: no-repeat; padding: 0; margin: 0; display: flex; align-items: center; justify-content: center; }
  header .headder_cont .key_visual .contents { width: 1400px; height: 100%; margin: 0 auto; padding: 0; }
  header .headder_cont .key_visual .contents .tag { flex-direction: column; align-items: center; gap: 1.4rem; padding-top: 16.5rem; }
  header .headder_cont .key_visual .contents .tag span { font-size: 2.7rem; padding: 1.5rem; width: 38rem; }
  header .headder_cont .key_visual .contents figure { top: 7rem; left: 0; right: 0; margin: 0 auto; }
  header .headder_cont .key_visual .contents figure img { display: block; width: 70%; margin: 0 auto; }
  header .headder_cont .key_visual .contents_bottom { top: 70%; left: auto; }
  header .headder_cont .key_visual .contents_bottom .circle { font-size: 2rem; width: 15rem; height: 15rem; }
  header .headder_cont .key_visual a .news { display: none; }
  header .headder_cont .table_green { width: 476px; background-color: #2fd06d; padding: 10px; box-sizing: border-box; }
  header .headder_cont .table_green figure { margin: 0 0 13px 0; }
  header .headder_cont .table_green figure img { width: 100%; }
  header ul.head_menu { display: none; }
  header .key_visual_low { background: #f3ffec url("../images/low_key_visual.jpg"); background-position: center; background-repeat: no-repeat; width: 100%; padding: 0; }
  header .key_visual_low .h1_area { width: 1100px; height: 20rem; margin: 0 auto; padding: 0; display: flex; align-items: center; }
  header .key_visual_low .h1_area h1 { font-size: 3.6rem; color: #388154; font-weight: bold; padding: 0; } }
/* -----------------------------------------------------------
　メインナビ
----------------------------------------------------------- */
.main_nav_pc { display: none; }

@media print, screen and (min-width: 768px) { .main_nav_pc { display: block; margin: 30px 0 20px 0; }
  .main_nav_pc nav { width: 1200px; margin: 0 auto; }
  .main_nav_pc nav ul { list-style-type: none; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: row; flex-direction: row; align-items: center; box-sizing: border-box; }
  .main_nav_pc nav ul li { text-align: center; padding: 0 10px; margin: 0 10px 0 0; height: 52px; box-sizing: border-box; display: flex; align-items: baseline; }
  .main_nav_pc nav ul li:last-of-type { margin: 0; }
  .main_nav_pc nav ul li a { text-decoration: none; color: #252525; font-size: 1.8rem; width: 100%; height: auto; box-sizing: border-box; white-space: nowrap; }
  .main_nav_pc nav ul li a::before { display: block; margin: 0 0 6px 0; color: #2fd06d; font-size: 10px; }
  .main_nav_pc nav ul li.home a::before { content: "HOME"; }
  .main_nav_pc nav ul li.about a::before { content: 'ABOUT'; }
  .main_nav_pc nav ul li.feature a::before { content: 'FEATURE'; }
  .main_nav_pc nav ul li.treat { display: none; }
  .main_nav_pc nav ul li.treatment { position: relative; }
  .main_nav_pc nav ul li.treatment a::before { content: 'CLINIC'; }
  .main_nav_pc nav ul li.treatment a::after { content: '▼'; display: block; margin: 8px 0 0 0; color: #648ebc; font-size: 1.2rem; }
  .main_nav_pc nav ul li.doctor a::before { content: 'DOCTOR'; }
  .main_nav_pc nav ul li.clinic a::before { content: 'CLINIC'; }
  .main_nav_pc nav ul li.visitor a::before { content: 'VISITOR'; }
  .main_nav_pc nav ul li.flow a::before { content: 'FLOW'; }
  .main_nav_pc nav ul li.qa a::before { content: 'Q&A'; }
  .main_nav_pc nav ul li.access a::before { content: 'ACCESS'; }
  .main_nav_pc nav ul li.contact a::before { content: 'CONTACT'; }
  .main_nav_pc nav ul li ul { width: 250px; margin: 0; display: none; z-index: 999; height: 0; padding: 0; position: absolute; top: 72px; left: -40px; }
  .main_nav_pc nav ul li ul li { width: 100%; height: 54px; padding: 0 0 0 20px; margin: 0; box-sizing: border-box; background-color: #d1fddc; border-bottom: #93d3a0 .1rem solid; display: flex; align-items: center; background-image: url("../images/arrow_right.png"); background-repeat: no-repeat; background-position: right 16px center; }
  .main_nav_pc nav ul li ul li:last-of-type { border-bottom: 0; }
  .main_nav_pc nav ul li ul li a { border-left: none; padding: 0; height: auto; box-sizing: border-box; font-size: 1.6rem; color: #252525; text-align: left; }
  .main_nav_pc nav ul li ul li a::before, .main_nav_pc nav ul li ul li a::after { display: none !important; }
  .main_nav_pc nav ul li ul li:hover a { color: #2fd06d !important; background-image: url("../images/arrow_right_hover.png"); background-repeat: no-repeat; background-position: right 16px center; }
  .main_nav_pc nav ul.open_nav { display: block; } }
/* -----------------------------------------------------------
　診療時間
----------------------------------------------------------- */
.table_wrapper { width: 100%; background: #FFFFFF; border-radius: .6rem; padding: 0.6rem; box-sizing: border-box; }
.table_wrapper p { font-size: 1.1rem; margin: .6rem 0 0 0; text-align: left; }
.table_wrapper p span { color: #2fd06d; }

table.timetable { width: 100%; padding: 0; margin: 0; vertical-align: middle; font-size: 1.2rem; text-align: center; box-sizing: border-box; }
table.timetable tr:nth-last-of-type(2), table.timetable tr:nth-last-of-type(3) { border-bottom: 1px #d4d4d4 solid; }
table.timetable tr th { padding: 0.6rem 0; color: #FFFFFF; background: #27a557; font-weight: 500; box-sizing: border-box; }
table.timetable tr td { text-align: center; padding: 0.6rem 0; width: 11%; color: #27a557; background: #f9f9f9; }
table.timetable tr td.time { white-space: nowrap; width: 23%; color: #648ebc; }

@media print, screen and (min-width: 768px) { .table_wrapper { width: 100%; background: #FFFFFF; border-radius: 10px; padding: 8px; box-sizing: border-box; }
  .table_wrapper p { font-size: 1.4rem; margin: .8rem 0 0 0; text-align: left; }
  .table_wrapper p span { color: #2fd06d; }
  table.timetable { width: 100%; padding: 0; margin: 0; vertical-align: middle; font-size: 1.6rem; text-align: center; box-sizing: border-box; }
  table.timetable tr:nth-last-of-type(2), table.timetable tr:nth-last-of-type(3) { border-bottom: 1px #d4d4d4 solid; }
  table.timetable tr th { padding: 7px 0; color: #FFFFFF; font-weight: 500; box-sizing: border-box; }
  table.timetable tr td { text-align: center; padding: 7px 0; width: 11%; background: #f9f9f9; }
  table.timetable tr td.time { white-space: nowrap; width: 23%; color: #648ebc; } }
/* -----------------------------------------------------------
　お知らせ
----------------------------------------------------------- */
.notice_wrapper { width: 90%; margin: 3rem auto; box-sizing: border-box; }
.notice_wrapper .flex { width: 100%; margin: 0; padding: 0; display: block; box-sizing: border-box; }
.notice_wrapper .flex h2 { color: #2db97c; }
.notice_wrapper .flex h2::before { content: 'NEWS'; color: #2db97c; }
.notice_wrapper .flex h2::after { content: url("../images/h2_bottom_color.png"); }
.notice_wrapper .flex .notice_frame { padding: 0; box-sizing: border-box; width: 100%; margin: 0; overflow: visible; }
.notice_wrapper .flex .notice_frame #tabs { border: none; padding: 0; }
.notice_wrapper .flex .notice_frame #tabs ul { border: none; padding: 0; background: none; }
.notice_wrapper .flex .notice_frame #tabs ul li { list-style: none; width: 49%; border: none; background: none; }
.notice_wrapper .flex .notice_frame #tabs ul li a { background-color: #eff5fc; text-align: center; display: block !important; float: none; color: #5779b8; font-size: 1.3rem; padding: 0.5em; cursor: pointer; letter-spacing: 0.1em; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); cursor: pointer; }
.notice_wrapper .flex .notice_frame #tabs ul li a:focus { outline: none; }
.notice_wrapper .flex .notice_frame #tabs ul li.ui-tabs-active a { background-color: #eaffe9; }
.notice_wrapper .flex .notice_frame #tabs #tabs-1, .notice_wrapper .flex .notice_frame #tabs #tabs-2, .notice_wrapper .flex .notice_frame #tabs #tabs-3, .notice_wrapper .flex .notice_frame #tabs #tabs-4, .notice_wrapper .flex .notice_frame #tabs #tabs-5 { height: 50vh; overflow-y: scroll; box-sizing: border-box; background: #eaffe9 url("../images/leaf_l.png") no-repeat right 2rem bottom 1rem; background-size: 40%; }
.notice_wrapper .flex .notice_frame dl { padding: 1rem; box-sizing: border-box; }
.notice_wrapper .flex .notice_frame dl dt { color: #5779b8; font-size: 1.4rem; font-weight: 500; padding: 0; margin: 0 0 0.8rem 0; }
.notice_wrapper .flex .notice_frame dl dt span { font-size: 1.0rem; margin: 0 0 0 .8rem; }
.notice_wrapper .flex .notice_frame dl dd p { font-size: 1.3rem; margin: 0 0 2rem 0; padding: 0; box-sizing: border-box; line-height: 1.8; }
.notice_wrapper .flex .notice_frame dl dd p.link_text { margin: -2rem 0 2rem 0; }
.notice_wrapper .insta_wrapper { width: 100%; margin: 0; }
.notice_wrapper .insta_wrapper a.insta { margin: 2rem auto; display: block; text-align: center; }

@media print, screen and (min-width: 768px) { .notice_wrapper { width: 100%; margin: 0; padding: 0 0 100px 0; box-sizing: border-box; background: url("../images/bg_notice_left.png"), url("../images/bg_notice_right.png"); background-repeat: no-repeat, no-repeat; background-position: left top 80px, right top 80px; }
  .notice_wrapper .flex { width: 1400px; margin: 70px auto 0; padding: 0 150px; display: flex; justify-content: space-between; box-sizing: border-box; }
  .notice_wrapper .flex .notice_frame { padding: 0; box-sizing: border-box; width: 920px; margin: 0; }
  .notice_wrapper .flex .notice_frame #tabs ul li { width: calc(98% / 5); border: none; }
  .notice_wrapper .flex .notice_frame #tabs ul li a { font-size: 1.6rem; }
  .notice_wrapper .flex .notice_frame #tabs #tabs-1, .notice_wrapper .flex .notice_frame #tabs #tabs-2, .notice_wrapper .flex .notice_frame #tabs #tabs-3, .notice_wrapper .flex .notice_frame #tabs #tabs-4, .notice_wrapper .flex .notice_frame #tabs #tabs-5 { height: 50vh; overflow-y: scroll; box-sizing: border-box; background: #eaffe9 url("../images/leaf_l.png") no-repeat right 2rem bottom 1rem; background-size: 15%; }
  .notice_wrapper .flex .notice_frame dl { padding: 20px; box-sizing: border-box; }
  .notice_wrapper .flex .notice_frame dl dt { font-size: 1.8rem; font-weight: 500; padding: 0; margin: 0 0 8px 0; }
  .notice_wrapper .flex .notice_frame dl dt span { font-size: 1.2rem; margin: 0 0 0 24px; }
  .notice_wrapper .flex .notice_frame dl dd p { font-size: 1.6rem; margin: 0 0 26px 0; padding: 0; box-sizing: border-box; line-height: 1.8; }
  .notice_wrapper .flex .notice_frame dl dd p.link_text { margin: -20px 0 26px 0; }
  .notice_wrapper .insta_wrapper { width: 1400px; margin: 12px auto 0; }
  .notice_wrapper .insta_wrapper a.insta { margin: 0 0 0 320px; display: inline; }
  .notice_wrapper .insta_wrapper a.insta img:hover { opacity: 0.8; } }
/*スマホ用スライドバー*/
@media print, screen and (max-width: 767px) { .notice_frame::-webkit-scrollbar { width: 12px; background: #ffffff; }
  .notice_frame::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); border-radius: 3px; }
  .notice_frame::-webkit-scrollbar-thumb { border-radius: 3px; -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); } }
/* -----------------------------------------------------------
　SP用診療時間表・地図
----------------------------------------------------------- */
.table_green { background: #27a557; padding: 4rem 2rem; }
.table_green p.tit { color: #FFFFFF; text-align: center; font-weight: 700; font-size: 1.6rem; margin: 0 0 1.2rem 0; }
.table_green .table_wrapper { width: 100%; margin: 0; }
.table_green figure { margin: 2rem 0 0 0; padding: 0; }
.table_green figure img { width: 100%; }

/* -----------------------------------------------------------
　医院概要
----------------------------------------------------------- */
.overview_bg { width: 100%; margin: 0 auto; padding: 3rem 0; background: #eff5fc; }
.overview_bg .overview { padding: 0; margin: 0 auto; width: 90%; }
.overview_bg .overview .overview_frame { display: block; width: 100%; margin: 0; }
.overview_bg .overview .overview_frame .overview_frame_left, .overview_bg .overview .overview_frame .overview_frame_right { margin: 0; padding: 0; width: 100%; box-sizing: border-box; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info { margin: 0; padding: 0; text-align: center; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info img { width: 100%; margin: 0; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info p { font-size: 1.4rem; margin: 2rem 0 0 0; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span { color: #f17421; font-size: 1.2rem; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel a { font-size: 1.8rem; color: #252525; text-decoration: none; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel a span { font-size: 1.4rem; color: #252525; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel a [data-ruby] { font-size: 1.8rem; position: relative; }
.overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel a [data-ruby]::before { content: attr(data-ruby); position: absolute; top: -0.8rem; left: 0.6rem; margin: auto; font-size: 1.1rem; }
.overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic { width: 100%; margin: 1.8rem 0 0 0; display: flex; flex-wrap: wrap; }
.overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dt, .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dd { border-bottom: 1px #bcbcbc dashed; font-size: 1.2rem; line-height: 1.4; padding: 1rem 0; }
.overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dt:first-of-type, .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dd:first-of-type { border-top: 1px #bcbcbc dashed; }
.overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dt { width: 22%; color: #52a581; }
.overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dd { width: 78%; }

@media print, screen and (min-width: 768px) { .overview_bg { width: 100%; margin: 0 auto; padding: 100px 0 80px 0; background: #eff5fc; }
  .overview_bg .overview { padding: 0; margin: 0 auto; width: 1200px; }
  .overview_bg .overview .overview_frame { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; flex-wrap: wrap; width: 100%; margin: 0; }
  .overview_bg .overview .overview_frame .overview_frame_left, .overview_bg .overview .overview_frame .overview_frame_right { margin: 0; padding: 0; width: 100%; box-sizing: border-box; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info { margin: 0; padding: 0; border: 0; background: transparent; text-align: center; width: 100%; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info img { width: 700px; margin: 0 auto; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info p { font-size: 2.4rem; margin: 10px 0 0 0; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span { color: #f17421; font-size: 1.9rem; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel { font-size: 3.7rem; color: #252525; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel span { font-size: 3.7rem; color: #252525; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel [data-ruby] { font-size: 3.7rem; position: relative; }
  .overview_bg .overview .overview_frame .overview_frame_left .clinic_info p span.tel [data-ruby]::before { content: attr(data-ruby); position: absolute; top: -0.8rem; left: 1.0rem; margin: auto; font-size: 1.4rem; letter-spacing: 8px; white-space: nowrap; }
  .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic { width: 700px; margin: 30px auto 0; display: flex; flex-wrap: wrap; }
  .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dt, .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dd { border-bottom: 1px #bcbcbc dashed; font-size: 2rem; line-height: 1.4; padding: 13px 0; }
  .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dt:first-of-type, .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dd:first-of-type { border-top: 1px #bcbcbc dashed; }
  .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dt { width: 150px; color: #52a581; }
  .overview_bg .overview .overview_frame .overview_frame_right dl.list_clinic dd { width: 550px; } }
/* -----------------------------------------------------------
　フッター
----------------------------------------------------------- */
footer { margin-bottom: 3.3rem; }
footer .footer_wrapper { display: none; }
footer .global-nav { position: fixed; left: 0; bottom: 0; padding: 0; box-sizing: border-box; z-index: 999; width: 100%; }
footer .nav-list { display: flex; align-items: center; justify-content: space-between; table-layout: fixed; width: 100%; border-collapse: collapse; padding: 0; list-style: none; text-align: center; box-sizing: border-box; background-color: #eaffe9; }
footer .nav-item { white-space: nowrap; width: 80%; box-sizing: border-box; }
footer .nav-item:last-child { width: 20%; }
footer .nav-item a { text-decoration: none; color: #27a557; font-size: 2rem; font-weight: 900; letter-spacing: .2rem; }
footer .nav-item a i { font-size: 2rem; margin: 0 .2rem 0 0; color: #FFFFFF; }
footer .nav-item span { padding: 1.4rem 0; display: block; margin: 0; }
footer .nav-item span.link { background-color: #eaffe9; }
footer .nav-item span.totop { background-color: #2fd06d; }
footer a { text-decoration: none; }
footer a .copyright { text-align: center; height: auto; margin: 0; padding: 1.2rem 0 4rem; font-size: 1.1rem; color: #252525; }

@media print, screen and (min-width: 768px) { footer { margin-bottom: 0; width: 100%; height: auto; padding: 0; margin: 0; box-sizing: border-box; }
  footer nav.global-nav { display: none; }
  footer .footer_wrapper { width: 1400px; margin: 0 auto; padding: 30px 0 24px 0; display: block; }
  footer .footer_wrapper .footer_frame { display: block; width: auto; height: auto; margin: 0; padding: 0; box-sizing: border-box; }
  footer .footer_wrapper .footer_frame ul { text-align: center; margin: 0; }
  footer .footer_wrapper .footer_frame ul li { display: inline-block; padding: 0 16px; margin: 0 0 10px 0; line-height: 1.4; border-left: 1px #252525 solid; }
  footer .footer_wrapper .footer_frame ul li:first-child { border-left: 0; }
  footer .footer_wrapper .footer_frame ul li.treat, footer .footer_wrapper .footer_frame ul li.treatment { display: none; }
  footer .footer_wrapper .footer_frame ul li a { color: #252525; font-size: 1.4rem; text-decoration: none; }
  footer .footer_wrapper .footer_frame ul li a:hover { opacity: 0.8; }
  footer .footer_wrapper .footer_frame ul li a br { display: none; }
  footer a { text-decoration: none; }
  footer a .copyright { text-align: center; height: auto; margin: 0 auto; padding: 0 0 30px 0; width: 1400px; font-size: 1.2rem; margin: 0 auto; color: #252525; } }
/* -----------------------------------------------------------
　ページトップへ
----------------------------------------------------------- */
#linkpagetop { float: right; }

#linkpagetop img { width: 80%; height: auto; }

#pagetop { position: fixed; bottom: 13vw; right: 0px; height: 12vw; text-align: right; margin: 0 2% 0 0; }

#pagetop a { display: block; }

#pagetop_position { float: right; margin: 0px; padding: 0px; display: none; }

@media print, screen and (min-width: 768px) { #linkpagetop { float: left; }
  #linkpagetop img { width: 50px; height: auto; }
  #pagetop { position: fixed; bottom: 50px; left: 50%; margin: 0 0 0 560px; height: 70px; text-align: center; }
  #pagetop a { display: block; color: #ffffff; }
  #pagetop_position { float: right; margin: 0; padding: 0; display: block; } }
@media print, screen and (min-width: 768px) and (max-width: 1500px) { #pagetop { position: fixed; bottom: 50px; left: 95%; margin: 0; height: 50px; text-align: center; } }
/*----------------------------------------------------------- インポート
----------------------------------------------------------- */
/*ハンバーガー*/
.drawr { display: none; padding: 0; margin: 0; z-index: 999999; background-color: transparent; height: 100%; width: 100%; position: fixed; top: 6.6rem; overflow-y: scroll; -webkit-overflow-scrolling: touch; }
.drawr ul.hbg { list-style: none; }
.drawr ul.hbg li { background-color: #27a557; text-align: center; width: 100% !important; border-bottom: #ffffff 1px solid; }
.drawr ul.hbg li a { font-size: 1.4rem; text-decoration: none; padding: 1.5rem 0; display: block; color: #FFFFFF; line-height: 1.3; }
.drawr ul.hbg li a br { display: none; }
.drawr ul.hbg li.treatment { display: none; }
.drawr ul.hbg li:last-of-type { border-bottom: 0; }
.drawr ul.hbg li.treat span { font-size: 1.4rem; text-decoration: none; padding: 1.5rem 0; display: block; color: #FFFFFF; }
.drawr ul.hbg li.treat span::after { content: '▼'; margin: 0 0 0 1rem; display: inline-block; }
.drawr ul.hbg li.treat ul { display: none; }
.drawr ul.hbg li.active span { border-bottom: #ffffff 1px solid; }
.drawr ul.hbg li.active ul { display: block; background: #FFFFFF; }
.drawr ul.hbg li.active ul li { border-bottom: #2fd06d 1px solid; background-color: #FFFFFF; }
.drawr ul.hbg li.active ul li:last-of-type { border-bottom: 0; height: auto; }
.drawr ul.hbg li.active ul li a { color: #2fd06d; }
.drawr ul.hbg li:last-of-type { background-color: transparent; height: 6rem; }

.openNav { display: block; }

/*ハンバーガーナビ*/
.main_nav_sp { display: block; width: 100%; height: auto; margin: 0; }
.main_nav_sp ul.gnav { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; width: 100%; box-sizing: border-box; margin: 0 auto; }
.main_nav_sp ul.gnav li { width: 100%; font-weight: normal; font-size: 1.6rem; letter-spacing: 0.05em; line-height: 140%; list-style-type: none; box-sizing: border-box; padding: 0; border-bottom: #ffffff 1px solid; text-align: center; }
.main_nav_sp ul.gnav li a { color: #ffffff; text-decoration: none; width: 100%; display: block; padding: 1rem 0; text-shadow: none; box-sizing: border-box; }

.toggle { display: none; }

.toggle-label { box-sizing: border-box; cursor: pointer; display: block; width: 100%; height: 1.0rem; padding: 0; user-select: none; -webkit-tap-highlight-color: transparent; }

.toggle-label:active { -webkit-tap-highlight-color: transparent; }

.toggle-label .toggle-icon, .toggle-label .toggle-icon:before, .toggle-label .toggle-icon:after { position: relative; display: block; top: 50%; left: 50%; height: 4px; width: 3.6rem; background: #ffffff; content: ''; transition: all 300ms ease-in-out; display: none; }

.toggle-label .toggle-text { position: relative; display: block; top: calc(100% - .8rem); font-size: 1.0rem; color: #ffffff; text-align: center; }

.toggle-label .toggle-text:before { position: absolute; width: 100%; left: 0; content: 'MENU'; transition: all 500ms ease-in-out; visibility: visible; opacity: 1; font-weight: bold; font-size: 120%; }

.toggle-label .toggle-text:after { position: absolute; width: 100%; left: 0; content: 'CLOSE'; transition: all 500ms ease-in-out; visibility: hidden; opacity: 0; font-weight: bold; font-size: 120%; }

.toggle-label .toggle-icon { transform: translate3d(-50%, -5px, 0); }

.toggle-label .toggle-icon:before { transform: translate3d(-50%, -11.5px, 0); }

.toggle-label .toggle-icon:after { transform: translate3d(-50%, 5px, 0); }

.toggle:checked ~ .toggle-label .toggle-icon { background-color: transparent; }

.toggle:checked ~ .toggle-label .toggle-icon:before, .toggle:checked ~ .toggle-label .toggle-icon:after { top: 0; }

.toggle:checked ~ .toggle-label .toggle-icon:before { transform: translateX(-50%) rotate(45deg); top: 1.5px; }

.toggle:checked ~ .toggle-label .toggle-icon:after { transform: translateX(-50%) translateY(-10px) rotate(-45deg); top: 8.5px; }

.toggle:checked ~ .toggle-label .toggle-text:before { visibility: hidden; opacity: 0; }

.toggle:checked ~ .toggle-label .toggle-text:after { visibility: visible; opacity: 1; }

.container { display: flex; align-items: center; justify-content: center; width: 5rem; height: 5rem; position: fixed; cursor: pointer; top: 1.4rem; right: 0.5rem; padding: 0 0 .6rem 0; background-color: #2fd06d; box-sizing: border-box; z-index: 999999; }

@media print, screen and (min-width: 768px) { .main_nav_sp { display: none; } }
/*アサイド*/
/* -----------------------------------------------------------
　アサイド
----------------------------------------------------------- */
/*SP*/
aside { display: none; }

@media print, screen and (min-width: 768px) { aside { display: inline; width: 26rem; height: auto; margin: 0; /*メニュー下のバナー*/ }
  aside div ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; list-style-type: none; }
  aside div ul li { box-sizing: border-box; text-align: left; margin: 0 auto; width: 100%; padding: 0 .8rem; display: flex; justify-content: center; align-items: center; height: 7rem; border-radius: .4rem; margin: 0 0 1rem 0; background-color: #FFFFFF; }
  aside div ul li a { width: 100%; display: -webkit-flex; display: flex; align-items: center; text-decoration: none; font-size: 2.2rem; font-weight: bold; box-sizing: border-box; }
  aside div ul li:nth-of-type(-n+2) { border: .2rem #fd8960 solid; }
  aside div ul li:nth-of-type(-n+2) a { color: #fd8960; }
  aside div ul li:nth-child(n + 3):not(:nth-child(n + 5)) { border: .2rem #fd828c solid; }
  aside div ul li:nth-child(n + 3):not(:nth-child(n + 5)) a { color: #fd828c; }
  aside div ul li:nth-child(n + 5):not(:nth-child(n + 7)) { border: .2rem #f385c9 solid; }
  aside div ul li:nth-child(n + 5):not(:nth-child(n + 7)) a { color: #f385c9; }
  aside .banner { margin: 0; }
  aside .banner a { text-decoration: none; }
  aside .banner a figure { margin: 4rem auto 0; text-align: center; }
  aside .banner a figure:hover { opacity: 0.7; } }
/*イメージ*/
/* -----------------------------------------------------------
　イメージ
----------------------------------------------------------- */
.img_right { margin: 0 0 10px 0; text-align: center; }
.img_right img { width: 70%; height: auto; }

.img_doctor { margin: 0 0 10px 0; text-align: center; }
.img_doctor img { width: 75%; height: auto; }

.img_center { margin: 0 0 10px 0; text-align: center; }
.img_center img { width: 100%; height: auto; }

/*画像右*/
.img_right_frame { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; margin: 0 0 1rem 0; }
.img_right_frame div.right { order: 1; width: 100%; text-align: center; }
.img_right_frame div.right img { width: 80%; height: auto; margin: 0 0 1rem 0; }
.img_right_frame div.left { order: 2; width: 100%; }
.img_right_frame div.left .doctor_name { text-align: right; }

/*画像左*/
.img_left_frame { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; margin: 0 0 1rem 0; }
.img_left_frame div.left { order: 1; width: 100%; text-align: center; }
.img_left_frame div.left img { width: 80%; height: auto; margin: 0 0 1rem 0; }
.img_left_frame div.right { order: 2; width: 100%; line-height: 120%; }

/*二つ*/
.img_two { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; }
.img_two img { width: 70%; margin: 0 auto 20px auto; display: block; }

.top_doctor_name { font-size: 1.5rem; text-align: right; }
.top_doctor_name span { font-size: 1.8rem; }

.doctor_name2 { text-align: right; }

@media print, screen and (min-width: 768px) { .img_right { float: right; margin: 0 0 10px 10px; }
  .img_right img { width: 350px; height: auto; }
  .img_doctor { float: left; margin: 0 20px 10px 0; }
  .img_doctor img { width: 450px; height: auto; }
  .img_center { float: none; margin: 0 0 10px 10px; text-align: center; }
  .img_center img { width: auto; height: auto; }
  /*画像右*/
  .img_right_frame { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; margin: 0 0 3rem 0; }
  .img_right_frame div.right { order: 2; width: 350px; text-align: center; }
  .img_right_frame div.right img { width: 350px; height: auto; margin: 0; }
  .img_right_frame div.left { order: 1; width: 445px; line-height: 120%; }
  .img_right_frame div.left .doctor_name { text-align: right; }
  /*画像左*/
  .img_left_frame { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; margin: 0 0 0 0; }
  .img_left_frame div.left { order: 1; width: 350px; text-align: left; }
  .img_left_frame div.left img { width: 350px; height: auto; margin: 10px 0; }
  .img_left_frame div.right { order: 2; width: 445px; line-height: 120%; }
  /*二つ*/
  .img_two { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; }
  .img_two img { width: 540px; margin: 0 auto 20px auto; display: block; }
  .top_doctor_name { font-size: 1.8rem; text-align: right; }
  .top_doctor_name span { font-size: 2.2rem; } }
/*リスト*/
/* -----------------------------------------------------------
　リスト
----------------------------------------------------------- */
/*標準*/
ul.list_normal { line-height: 160%; font-size: 1.4rem; list-style-type: disc; margin: 0; }
ul.list_normal li { margin: 0 0 10px 1.8rem; padding: 0; }

/*画像●*/
ul.list_maru { padding: 0; margin: 0; }
ul.list_maru li { line-height: 130%; font-size: 1.4rem; list-style-type: none; margin: 0 0 10px 0; box-sizing: border-box; background: url(../images/maru.gif) no-repeat; background-position: left top 0.6rem; background-size: 1rem; padding: 0 0 0 1.8rem; line-height: 140%; }
ul.list_maru li ul { margin: 0.8rem 0 0 0; }
ul.list_maru li ul li { background: none; list-style-type: disc; margin: 0 0 10px 2rem; padding: 0 0 0 0; }

ul.list_maru_two { padding: 0; margin: 0; }
ul.list_maru_two li { line-height: 130%; font-size: 1.4rem; list-style-type: none; margin: 0 0 10px 0; box-sizing: border-box; background: url(../images/maru.gif) no-repeat; background-position: left top 0.6rem; background-size: 1rem; padding: 0 0 0 1.8rem; line-height: 140%; }

/*なし*/
ul.list_none { line-height: 160%; font-size: 1.4rem; list-style-type: none; margin: 0; }
ul.list_none li { margin: 0 0 15px 0; padding-left: 1.3em; text-indent: -1.3em; }
ul.list_none li span { color: #fedc50; margin: 0 0.5rem 0 0; }

/*数値*/
ul.list_num { box-sizing: border-box; width: 100%; }
ul.list_num li { line-height: 1.5; font-size: 1.4rem; list-style-type: decimal; margin: 0 0 1rem 2rem; box-sizing: border-box; }

ul.list_arrow li::after { display: block; content: '▼'; color: #2fd06d; text-align: center; }
ul.list_arrow li:last-child::after { content: ''; }

/*概要*/
ul.list_overview { box-sizing: border-box; width: 100%; }
ul.list_overview li { line-height: 130%; font-size: 1.4rem; list-style-type: disc; margin: 0 0 10px 25px; box-sizing: border-box; width: 90%; }

/*2列*/
ul.list_normal_two { display: flex; justify-content: space-between; flex-direction: column; }
ul.list_normal_two li { box-sizing: border-box; line-height: 130%; font-size: 1.4rem; list-style-type: disc; margin: 0 0 10px 25px; }

@media print, screen and (min-width: 768px) { /*標準*/
  ul.list_normal { line-height: 160%; font-size: 1.6rem; list-style-type: disc; margin: 0; }
  ul.list_normal li { margin: 0 0 15px 25px; padding: 0; }
  /*画像●*/
  ul.list_maru { padding: 0; }
  ul.list_maru li { line-height: 100%; font-size: 1.6rem; list-style-type: none; margin: 0 0 15px 0; box-sizing: border-box; background: url(../images/maru.gif) no-repeat; background-position: left top 3px; background-size: 1.5rem; padding: 0 0 0 25px; line-height: 140%; }
  ul.list_maru li ul { margin: 0.8rem 0 0 0; }
  ul.list_maru li ul li { background: none; list-style-type: disc; margin: 0 0 10px 2.6rem; padding: 0 0 0 0; }
  ul.list_maru_two { padding: 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  ul.list_maru_two li { width: 45%; line-height: 100%; font-size: 1.6rem; list-style-type: none; margin: 0 0 15px 0; box-sizing: border-box; background: url(../images/maru.gif) no-repeat; background-position: left top 3px; background-size: 1.5rem; padding: 0 0 0 25px; line-height: 140%; }
  /*なし*/
  ul.list_none { line-height: 160%; font-size: 1.6rem; list-style-type: none; }
  ul.list_none li { margin: 0 0 15px 0; }
  ul.list_none li span { color: #fedc50; margin: 0 5px 0 0; }
  /*数値*/
  ul.list_num { box-sizing: border-box; width: 100%; }
  ul.list_num li { line-height: 1.6; font-size: 1.6rem; list-style-type: decimal; margin: 0 0 10px 25px; box-sizing: border-box; }
  ul.list_arrow li::after { display: block; content: '▼'; color: #2fd06d; text-align: center; }
  ul.list_arrow li:last-child::after { content: ''; }
  /*概要*/
  ul.list_overview li { line-height: 130%; font-size: 1.6rem; list-style-type: disc; margin: 0 0 10px 25px; }
  ul.list_normal_two { display: flex; justify-content: space-between; flex-direction: row; flex-wrap: wrap; }
  ul.list_normal_two li { width: 45%; box-sizing: border-box; line-height: 130%; font-size: 1.6rem; list-style-type: disc; margin: 0 0 10px 25px; } }
/* -----------------------------------------------------------
　定義リスト
----------------------------------------------------------- */
dl.bio_list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.4rem; box-sizing: border-box; margin: 0 0 20px 0; line-height: 120%; }
dl.bio_list dt { width: 100%; margin: 0 0 0 0; font-weight: bold; }
dl.bio_list dd { width: 100%; margin: 0 0 20px 0; }

dl.book_list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.4rem; box-sizing: border-box; margin: 0 0 20px 0; line-height: 120%; }
dl.book_list dt { width: 100%; margin: 0 0 1rem 0; font-weight: bold; }
dl.book_list dd { width: 100%; margin: 0 0 2rem 0; }

@media print, screen and (min-width: 768px) { dl.bio_list { display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.6rem; box-sizing: border-box; line-height: 140%; width: 1200px; }
  dl.bio_list dt { width: 120px; margin: 0 0 20px 0; font-weight: normal; }
  dl.bio_list dd { width: 1080px; margin: 0 0 20px 0; }
  dl.book_list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.6rem; box-sizing: border-box; margin: 0 0 20px 0; line-height: 120%; }
  dl.book_list dt { width: 100%; margin: 0 0 1rem 0; font-weight: bold; }
  dl.book_list dd { width: 100%; margin: 0 0 4rem 0; } }
/*見出し*/
h2 { clear: both; }
h2.top { color: #FFFFFF; font-size: 2rem; font-weight: normal; text-align: center; margin: 0 0 2rem 0; padding: 0; line-height: 1.4; }
h2.top::before { color: #e5ffa5; font-size: 1.4rem; font-weight: normal; display: block; }
h2.top::after { content: url("../images/h2_bottom.png"); display: block; margin: 0; line-height: 1; }
h2.low { color: #FFFFFF; font-size: 2rem; font-weight: 700; text-align: center; margin: 0 auto 2rem; padding: 1rem 2rem; background: #71c57f; border-radius: 50%; display: table; letter-spacing: 2px; }
h2.doctor { color: #27a557; font-size: 2.4rem; text-align: left; font-weight: normal; margin: 0 0 2rem 0; }
h2.doctor::before { content: '●'; display: inline-block; margin: 0 .3rem 0 0; }

h3 { clear: both; color: #FFFFFF; font-size: 2.4rem; background: #71c57f; width: 100%; height: auto; padding: 2px; border-radius: 2px; box-sizing: border-box; margin: 0 0 24px 0; }
h3 span { width: 100%; height: 100%; box-sizing: border-box; border: 2px #FFFFFF solid; display: flex; align-items: center; padding: 0.6rem 1rem; }

h4 { clear: both; font-size: 1.6rem; color: #a2f2c1; margin: 40px 0 10px 0; font-weight: normal; }
h4::before { content: url("../images/h4_before.png"); margin: 0 4px 0 0; }

h5 { clear: both; color: #222222; font-weight: bold; font-size: 1.5rem; margin: 1.8rem 0; }

p { font-size: 1.4rem; margin: 0 0 2rem 0; line-height: 1.6; }

@media print, screen and (min-width: 768px) { h2.top { color: #FFFFFF; font-size: 3rem; font-weight: normal; text-align: center; margin: 0; padding: 0; line-height: inherit; }
  h2.top::after { content: url("../images/h2_bottom.png"); display: block; margin: 0; }
  h2.top::before { color: #e5ffa5; font-size: 1.2rem; font-weight: normal; margin: 0 0 10px 0; display: block; }
  h2.low { font-size: 3rem; padding: 10px 30px; }
  h3 { color: #FFFFFF; font-size: 2.6rem; background: #71c57f; width: 1100px; height: 50px; padding: 2px; border-radius: 2px; box-sizing: border-box; margin: 0 auto 24px; }
  h3 span { width: 100%; height: 100%; box-sizing: border-box; border: 2px #FFFFFF solid; display: flex; align-items: center; padding: 0 0 2px 18px; }
  h4 { font-size: 2.4rem; color: #a2f2c1; margin: 40px 0 10px 0; font-weight: normal; }
  h4::before { content: url("../images/h4_before.png"); margin: 0 4px 0 0; }
  h5 { color: #222222; font-weight: bold; font-size: 2.0rem; margin: 2.4rem 0 1.8rem 0; }
  p { font-size: 1.6rem; margin: 0 0 2rem 0; line-height: 1.6; } }
/*下層*/
/* 下層共通 */
.low .mt30 { margin-top: 3rem; }
.low .red { color: #FF0000 !important; }
.low .txt_right { display: block; text-align: right; }
.low .txt_center { display: block; text-align: center; }
.low .wrapper { background-color: #FFFFFF; margin: 0 0 3rem 0; }
.low .main { width: 100%; }
.low section.low { width: 90%; margin: 0 auto 3rem; }
.low h2.top { color: #2db97c; font-size: 1.8rem; margin: 0 0 1.8rem 0; }
.low h2.top::after { content: url("../images/h2_bottom_color.png"); }
.low figure img.machine { display: block; margin: 0 auto 2rem; width: 80%; }
.low figure img.illustmap { width: 100%; }
.low .oshirase { color: #f00; font-weight: bold; font-size: 180%; }
.low .g_txt { font-size: 1.8rem; font-weight: bold; color: #252525; margin: 0 0 1rem 0; }
.low .indent { margin-left: 1.4rem; }
.low ul li { font-size: 1.4rem; }
.low ul.about { width: 96%; margin: 0 auto; list-style: disc; list-style-position: inside; }
.low ul.about li { font-size: 1.4rem; }
.low ul.certificate { margin: 0 0 1.8rem 0; }
.low ul.certificate li { line-height: 2; padding-left: 1.6em; text-indent: -1.6em; }
.low ul.certificate li:before { content: ""; width: 10px; height: 10px; display: inline-block; background-color: #f02626; border-radius: 50%; position: relative; top: -1px; margin-right: 15px; }
.low ul.hospital { border: 0.1rem #2fd06d solid; box-sizing: border-box; padding: 2rem 1rem; }
.low ul.hospital li { padding: 0 0 1rem 0; padding-left: 1.4rem; text-indent: -1.5rem; line-height: 1.4; }
.low ul.hospital li:last-of-type { margin: 0; }
.low dl.smp { font-size: 1.3rem; display: flex; flex-wrap: wrap; }
.low dl.smp dt, .low dl.smp dd { width: 100%; padding: 1rem; box-sizing: border-box; border-bottom: .1rem #cccccc solid; border-right: .1rem #cccccc solid; }
.low dl.smp dt:first-of-type, .low dl.smp dd:first-of-type { border-top: .1rem #cccccc solid; }
.low dl.smp dt { width: 30%; color: #FFFFFF; font-weight: 500; background-color: #71c57f; display: flex; justify-content: center; align-items: center; border-left: .1rem #cccccc solid; }
.low dl.smp dd { width: 70%; color: #252525; line-height: 1.4; }
.low dl.smp dd span.tel a { text-decoration: none; color: #252525; font-size: 1.3rem; }
.low dl.stepbox { display: flex; flex-wrap: wrap; width: 100%; }
.low dl.stepbox dt, .low dl.stepbox dd { box-sizing: border-box; }
.low dl.stepbox dt { width: 20%; background: #27a557; display: flex; justify-content: center; align-items: center; position: relative; }
.low dl.stepbox dt img { width: 75%; margin: 0; padding: 0; }
.low dl.stepbox dt.st2 { background: #2fd06d; }
.low dl.stepbox dt.st3 { background: #8be11a; }
.low dl.stepbox dt.st4 { background: #c9e73f; }
.low dl.stepbox dt::before { content: ''; width: 100%; height: 2.9rem; position: absolute; top: 0; left: 0; right: 0; margin: 0; }
.low dl.stepbox dt:nth-of-type(2)::before { background: url("../images/visitor_triangle1.png") no-repeat; background-size: contain; }
.low dl.stepbox dt:nth-of-type(3)::before { background: url("../images/visitor_triangle2.png") no-repeat; background-size: contain; }
.low dl.stepbox dt:nth-of-type(4)::before { background: url("../images/visitor_triangle3.png") no-repeat; background-size: contain; }
.low dl.stepbox dd { width: 80%; background: #FFFFFF; border-bottom: 0.2rem #eaffe9 solid; padding: 1.8rem; }
.low dl.stepbox dd p { font-size: 1.4rem; margin: 0 0 1.6rem 0; line-height: 1.2; }
.low dl.stepbox dd p.tit { font-weight: 700; font-size: 1.8rem; color: #27a557; }
.low dl.stepbox dd p.tit2 { color: #19d962; }
.low dl.stepbox dd p.tit3 { color: #27a557; }
.low dl.stepbox dd p.tit4 { color: #89a01d; }
.low dl.stepbox dd p.call { font-weight: 700; }
.low table.visit { width: 99%; }
.low table.visit tr th, .low table.visit tr td { text-align: center; font-size: 1.4rem; padding: 12px 0; border: 1px #CCCCCC solid; width: 100%; }
.low table.visit tr th { font-weight: bold; }
.low table.visit tr td span { text-align: left; }
.low table.reserve tr th { background-color: #388154; color: #FFFFFF; }
.low table.week { margin: 0 0 2rem 0; }
.low table.week tr th, .low table.week tr td { width: calc(100%/7); }
.low table.week tr td.day { background: #D5D5D5; }
.low table.week tr td.day span { font-size: 75%; }
.low table.week tr td.sun { color: red; }
.low table.week tr td.sat { color: blue; }
.low table.week tr td.can { background: #71c57f; }
.low table.week tr td.cancel { border: 0; }
.low .cancel { display: flex; align-items: center; }
.low .cancel .box { width: 2rem; height: 1.2rem; border: 1px #CCCCCC solid; background: #71c57f; margin: 0 .4rem 0 0; }
.low .cancel p { color: #27a557; margin: 0; }
.low .flexmap { display: box; }
.low .flexmap .flex_box { width: 100%; margin: 0 0 2rem 0; }
.low .flexmap .flex_box iframe { width: 100%; height: 30rem; }
.low .flexlink { display: block; }
.low .flexlink a { width: 100%; margin: 0 0 1rem !important; }
.low .arrow { height: 10px; width: 20px; background-color: #007bff; position: relative; margin-top: 8px; margin-left: 10px; display: inline-block; }
.low .arrow::after { content: ''; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 20px; border-color: transparent transparent transparent #007bff; position: absolute; top: -50%; left: 100%; }
.low .consultation_box { display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; margin: 0 auto; padding: 4rem 2rem; background: #eaffe9; box-sizing: border-box; }
.low .consultation_box ul.consul { list-style: none; }
.low .consultation_box ul.consul li { font-size: 1.4rem; line-height: 1.8; padding-left: 1.8rem; text-indent: -2.4rem; margin: 0 0 1rem 0; }
.low .consultation_box ul.consul li::before { content: ''; display: inline-block; background: url("../images/leaf_real.png") no-repeat; background-size: contain; width: 1.4rem; height: 1.4rem; vertical-align: middle; margin: 0 1rem 0 0; }
.low .step { width: 100%; margin: 0 auto; padding: 4rem 2rem; background: #eaffe9; box-sizing: border-box; }
.low .step .number { width: 10rem; height: 10rem; margin: 0 auto 2rem; border-radius: 50%; border: .2rem #71c57f solid; background: #FFFFFF; display: flex; justify-content: center; align-items: center; align-content: center; flex-wrap: wrap; font-size: 4rem; font-weight: 700; color: #2fd06d; position: relative; }
.low .step .number span { font-size: 1.4rem; font-weight: normal; width: 100%; text-align: center; margin: .4rem 0 0 0; }
.low .step .number::after { content: ''; background: url("../images/leaf_real.png") no-repeat; background-size: contain; width: 4rem; height: 4rem; position: absolute; bottom: -1rem; right: 0; }
.low .step hr { border-top: 0.2rem #2fd06d solid; width: 100%; margin: 3rem 0; }
.low a.txt_link { text-decoration: none; color: crimson; font-size: 1.4rem; }
.low a.txt_link::before { content: url("../images/arrow_right_hover.png"); display: inline-block; margin: 0 6px 0 0; }
.low a.btn_link { text-decoration: none; background: #2fd06d url("../images/arrow_right_white.png") no-repeat right 1rem center; background-size: 4%; padding: 2rem 0; width: 100%; margin: 0; color: #FFFFFF; font-size: 1.6rem; font-weight: 700; display: flex; justify-content: center; align-items: center; border-radius: .6rem; }
.low a.btn_link02 { display: block; background-color: #F7F7F7; box-shadow: 1px 1px #aaaaaa; padding: 10px 0 10px 10px; width: 100%; text-decoration: none; font-size: 1.6rem; }
.low a.btn_link02::before { font-family: 'fontello'; content: "\e811"; margin-right: 1rem; font-size: 2rem; color: #59D98A; }
.low a.blue { background-color: #5779b8; color: #fff; }
.low a.blue:hover { color: #fff; }
.low .txt_box { background-color: #eaffe9; border: 3px solid #DEEBF7; padding: 20px 10px; margin: 2rem 0; }

@media print, screen and (min-width: 768px) { .low section { width: 100%; }
  .low section.low { width: 1100px; }
  .low .wrapper { margin: 10rem 0; padding: 0; }
  .low .wrapper .main { width: 100%; margin: 0 auto; }
  .low h2.top { color: #a2f2c1; font-size: 3rem; margin: 0 0 30px 0; }
  .low h2.top::after { content: url("../images/h2_bottom_color.png"); }
  .low figure img.machine { display: block; margin: 0 auto 2rem; width: 60%; }
  .low figure img.illustmap { width: auto; }
  .low ul li { font-size: 1.6rem; }
  .low ul.about { width: 100%; margin: 0; }
  .low ul.about li { font-size: 1.6rem; }
  .low ul.certificate { margin: 0 0 2.8rem 0; }
  .low ul.certificate li a:hover { opacity: 0.8; }
  .low ul.hospital { border: 0.1rem #2fd06d solid; box-sizing: border-box; padding: 2rem; }
  .low ul.hospital li { padding: 0 0 1rem 0; padding-left: 1.4rem; text-indent: -1.5rem; line-height: 1.4; }
  .low ul.hospital li:last-of-type { margin: 0; }
  .low dl.smp { font-size: 1.6rem; display: flex; flex-wrap: wrap; }
  .low dl.smp dt, .low dl.smp dd { padding: 2rem 0; box-sizing: border-box; }
  .low dl.smp dt { color: #FFFFFF; font-weight: bold; width: 30%; display: flex; justify-content: center; align-items: center; }
  .low dl.smp dd { color: #252525; width: 70%; padding: 2rem; border-left: 0; line-height: 1.6; }
  .low dl.stepbox dt { width: 10%; padding: 100px 0; }
  .low dl.stepbox dt img { width: 60%; }
  .low dl.stepbox dt::before { content: ''; width: 100%; height: 2.9rem; position: absolute; top: 0; left: 25%; right: 0; margin: 0; }
  .low dl.stepbox dd { width: 90%; border-bottom: 0.2rem #eaffe9 solid; padding: 30px; }
  .low dl.stepbox dd p { font-size: 1.6rem; margin: 0 0 2rem 0; line-height: 1.4; }
  .low dl.stepbox dd p.tit { font-size: 1.8rem; }
  .low table.visit { width: 60%; }
  .low table.visit tr th, .low table.visit tr td { text-align: center; font-size: 1.6rem; padding: 12px 0; border: 1px #CCCCCC solid; }
  .low table.visit tr th { font-weight: bold; }
  .low table.visit tr td span { text-align: left; }
  .low table.reserve tr th { background-color: burlywood; }
  .low table.week tr th, .low table.week tr td { width: calc(100%/7); }
  .low table.week tr td.day { background: #D5D5D5; }
  .low table.week tr td.sun { color: red; }
  .low table.week tr td.sat { color: blue; }
  .low table.week tr td.cancel, .low table.week tr td.nocancel { border: 0; padding: 0 0 22px 0; text-align: left; }
  .low .arrow { height: 10px; width: 254px; background-color: #007bff; position: relative; margin: 10px auto 0 0; display: inline-block; }
  .low .arrow::after { content: ''; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 30px; border-color: transparent transparent transparent #007bff; position: absolute; top: -50%; left: 100%; display: block; }
  .low .flexmap { display: flex; justify-content: space-between; }
  .low .flexmap .flex_box { width: 50%; margin: 0; }
  .low .flexmap .flex_box iframe { height: 33.1rem; }
  .low .flexlink { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; }
  .low .flexlink a { width: 35% !important; margin: 0 !important; }
  .low .flexlink::after { content: ""; display: block; width: 40%; /* .boxに指定したwidthと同じ幅を指定する */ height: 0; }
  .low .oshirase { font-size: 240%; }
  .low .txt_right { display: block; text-align: right; }
  .low .txt_right br { display: none; }
  .low .g_txt { font-size: 2rem; font-weight: bold; color: #252525; margin: 0 0 1rem 0; }
  .low .indent { margin-left: 1.6rem; }
  .low .step .center { width: 1100px; margin: 0 auto; }
  .low a.txt_link { text-decoration: none; color: crimson; font-size: 1.6rem; }
  .low a.txt_link::before { content: url("../images/arrow_right_hover.png"); display: inline-block; margin: 0 6px 0 0; }
  .low a.txt_link:hover { color: darkorange; }
  .low a.btn_link { background-size: 2%; padding: 30px 0; width: 60%; margin: 30px auto 0; font-size: 2rem; }
  .low a.btn_link:hover { opacity: 0.8; }
  .low a.btn_link02 { font-size: 2.2rem; padding: 25px 16px 25px 37px; }
  .low a.btn_link02::before { font-family: 'fontello'; content: "\e811"; margin-right: 1rem; font-size: 2rem; color: #59D98A; }
  .low a.btn_link02:hover { filter: brightness(80%); }
  .low .consultation_box { display: flex; /*justify-content: center; */ flex-wrap: wrap; width: 100%; margin: 0 auto; padding: 40px 2px; background: #eaffe9; box-sizing: border-box; }
  .low .consultation_box ul.consul { list-style: none; width: 1100px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; display: flex; justify-content: space-between; flex-wrap: wrap; }
  .low .consultation_box ul.consul li { font-size: 1.6rem; line-height: 1.8; padding-left: 1.8rem; text-indent: -2.4rem; margin: 0 0 18px 0; width: 42%; }
  .low .consultation_box ul.consul li::before { content: ''; display: inline-block; background: url("../images/leaf_real.png") no-repeat; background-size: contain; width: 1.6rem; height: 1.6rem; vertical-align: middle; margin: 0 10px 0 0; }
  .low iframe { width: 100%; height: 500px; }
  .low .txt_box { padding: 40px 30px 20px; margin: 4rem 0 2rem; }
  .low .txt_box p.font_b { font-size: 1.8rem; } }
/*----------------------------------------------------------- 未公開リンク制御
----------------------------------------------------------- */

/*# sourceMappingURL=style.css.map */
