@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: #545454; 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: #545454; background-color: #FFFFFF; } }
/* ----------------------------------------------------------- 構成
----------------------------------------------------------- */
body { position: relative; width: 100%; margin: 0 auto; text-size-adjust: none; -webkit-text-size-adjust: none; }

section { height: auto; overflow: hidden; margin: 0; }
section.low { margin: 4rem 0 0 0; }

.sentence { height: auto; overflow: hidden; }

.pc_none { display: block; }

.sp_none { display: none; }

.bold { font-weight: bold; }

.red { color: #FF0000; }

.txt_r { text-align: right; }

@media print, screen and (min-width: 768px) { body { position: relative; z-index: 0; box-sizing: border-box; min-width: 1380px; }
  section { height: auto; overflow: hidden; margin: 0; }
  section.low { margin: 60px 0 0 0; }
  .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: #f9f7f5; }

.main { width: 90%; margin: 0 auto; padding: 1rem 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; padding: 0; }
  .main { width: 1280px; margin: 0 auto; padding: 0; } }
/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */
header .head_frame { width: 100%; margin: 0; padding: 0; background-color: #FFFFFF; }
header .head_frame .header_info { display: block; width: 100%; margin: 0; padding: 2rem 2rem 0 2rem; box-sizing: border-box; }
header .head_frame .header_info .head_logo img { width: 84%; height: auto; margin: 0; display: block; }
header .head_frame .header_info .head_access { margin: 2rem 0 1rem; padding: 0; box-sizing: border-box; display: block; align-items: center; }
header .head_frame .header_info .head_access .box { width: 100%; height: auto; background: #f8bf45; display: flex; justify-content: center; align-items: center; color: #FFFFFF; font-size: 1.2rem; font-weight: 700; border-radius: 6px; margin: 0 0 .8rem 0; padding: .4rem 0; }
header .head_frame .header_info .head_access p.h_access { padding: 0; margin: 0; font-size: 1.2rem; line-height: 1.4; }
header .head_frame .header_info .head_sns { margin: 0 auto; width: fit-content; }
header .head_frame .header_info .head_sns a { color: #000; text-decoration: none; font-size: 1.4rem; }
header .head_frame .header_info .head_sns a::before { content: ""; display: inline-block; background: url(../images/icon_x.png) no-repeat; width: 45px; height: 45px; margin: 0 10px 0 0; }
header .head_frame .header_info .head_phone { display: none; }
header .key_on { width: 100%; height: auto; background-position: center top; background-size: contain; background-repeat: no-repeat; display: flex; padding: 0 0 1.2rem 0; }
header .key_on .key_visual { width: 100%; margin: 0; }
header .key_on .key_visual figure { margin: 0 auto; padding: 3rem 0 0 0; display: block; text-align: center; }
header .key_on .key_visual figure img { width: 75%; }
header .key_on .key_visual .contents { display: block; width: 90%; margin: 4rem auto 0; }
header .key_on .key_visual .contents .box { width: 100%; height: auto; border: .2rem #FFFFFF solid; border-radius: 10px; font-size: 1.8rem; color: #FFFFFF; letter-spacing: 3px; line-height: 1.2; font-weight: 700; text-align: center; box-sizing: border-box; padding: .6rem 0; position: relative; }
header .key_on .key_visual .contents .box::after { font-family: fontello; content: '\0e82e'; color: #FFFFFF; position: absolute; right: 1rem; bottom: 1rem; font-size: 1.2rem; }
header .key_on .key_visual .contents .box span.fs18 { font-size: 1.2rem; }
header .key_on .key_visual .contents .box span.fs26 { font-size: 1.4rem; }
header .key_on .key_visual .contents .pink { background: #e57da0; display: none; }
header .key_on .key_visual .contents .blue { background: #4d9dd2; display: none; }
header .key_visual_low { background: url("../images/key_visual_low.jpg") no-repeat center; background-size: cover; overflow: hidden; width: 100%; height: auto; margin: 0; padding: 0; }
header .key_visual_low h1 { font-size: 2.2rem; font-weight: normal; padding: 3rem 1rem; text-align: center; color: #bd7e1d; }

@media print, screen and (min-width: 768px) { header .head_frame { width: 100%; margin: 0; padding: 30px 0; background-color: #FFFFFF; }
  header .head_frame .header_info { display: -webkit-flex; display: flex; align-items: flex-end; justify-content: space-between; width: 1200px; margin: 0 auto; padding: 0; }
  header .head_frame .header_info .head_logo img { width: 351px; height: auto; margin: 0; display: block; }
  header .head_frame .header_info .head_access { margin: 0; padding: 0 0 8px 0; box-sizing: border-box; display: flex; align-items: center; width: 31%; }
  header .head_frame .header_info .head_access .box { width: 105px; height: 30px; background: #f8bf45; display: flex; justify-content: center; align-items: center; color: #FFFFFF; font-size: 1.4rem; font-weight: 700; border-radius: 6px; margin: 0 14px 0 0; padding: 0; }
  header .head_frame .header_info .head_access p.h_access { padding: 0; margin: 0; font-size: 1.4rem; line-height: 1.2; }
  header .head_frame .header_info .head_sns a { color: #000; text-decoration: none; font-size: 1.8rem; }
  header .head_frame .header_info .head_sns a::before { content: ""; display: inline-block; background: url(../images/icon_x.png) no-repeat; width: 45px; height: 45px; margin: 0 10px 0 0; }
  header .head_frame .header_info .head_phone { margin: 0 30px 0 0; padding: 0; display: block; width: 25%; text-align: center; }
  header .head_frame .header_info .head_phone p.h_tel { font-size: 2.6rem; color: #555555; margin: 0; font-weight: 700; }
  header .head_frame .header_info .head_phone p.h_tel span { font-size: 1.8rem; }
  header .key_on { width: 100%; height: 712px; background-position: center; background-size: auto; background-repeat: no-repeat; display: flex; padding: 0; }
  header .key_on .key_visual { width: 1280px; margin: 0 auto; }
  header .key_on .key_visual figure { margin: 0 auto; padding: 175px 0 0 0; display: block; text-align: center; }
  header .key_on .key_visual figure img { width: auto; }
  header .key_on .key_visual .contents { display: flex; justify-content: center; width: 640px; margin: 150px auto 0; }
  header .key_on .key_visual .contents .box { width: 306px; height: 110px; border: 3px #FFFFFF solid; border-radius: 10px; font-size: 3rem; color: #FFFFFF; letter-spacing: 3px; line-height: 1.2; font-weight: 700; text-align: center; box-sizing: border-box; padding: 16px 0 0 0; position: relative; }
  header .key_on .key_visual .contents .box::after { font-family: fontello; content: '\0e82e'; color: #FFFFFF; position: absolute; right: 10px; bottom: 10px; font-size: 1.4rem; }
  header .key_on .key_visual .contents .box span.fs18 { font-size: 1.8rem; }
  header .key_on .key_visual .contents .box span.fs26 { font-size: 2.6rem; }
  header .key_on .key_visual .contents .pink { background: #e57da0; display: none; }
  header .key_on .key_visual .contents .blue { background: #4d9dd2; display: none; }
  header .key_visual_low { background: url("../images/key_visual_low.jpg") no-repeat center; background-size: auto; width: 100%; height: 200px; display: flex; justify-content: center; align-items: center; }
  header .key_visual_low h1 { width: 1280px; font-size: 4rem; padding: 0; margin: 0; } }
/* -----------------------------------------------------------
　メインナビ
----------------------------------------------------------- */
.main_nav_pc { display: none; }

@media print, screen and (min-width: 768px) { .nav-tgl-btn { display: none; }
  .main_nav_pc { display: block; margin: 0; width: 100%; height: auto; box-sizing: border-box; }
  .main_nav_pc nav ul { width: auto; margin: 0 auto; 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; display: flex; align-items: center; box-sizing: border-box; }
  .main_nav_pc nav ul li span { padding: 0 25px; margin: 17px 0; box-sizing: border-box; display: block; }
  .main_nav_pc nav ul li span::before { font-family: fontello; content: '\0e82a'; display: inline-block; color: #e89456; margin: 0 5px 0 0; vertical-align: 2px; }
  .main_nav_pc nav ul li.doctor span::before { content: '\0e82b'; color: #4babdb; }
  .main_nav_pc nav ul li.clinic span::before { content: '\0e875'; color: #84c57a; }
  .main_nav_pc nav ul li.access span::before { content: '\0e818'; color: #e04136; }
  .main_nav_pc nav ul li.blog span::before { content: '\0e830'; color: #9783ed; }
  .main_nav_pc nav ul li.treatment { position: relative; }
  .main_nav_pc nav ul li.treatment span::before { content: '\0e82c'; color: #ea7ab2; }
  .main_nav_pc nav ul li.first { position: relative; }
  .main_nav_pc nav ul li.first span::before { content: '\0e82d'; color: #ea7ab2; }
  .main_nav_pc nav ul li a { text-decoration: none; font-size: 1.8rem; width: 100%; height: auto; box-sizing: border-box; color: #545454; }
  .main_nav_pc nav ul li ul { width: 240px; margin: 0; display: none; z-index: 999; height: 0; padding: 0; position: absolute; top: 54px; left: 0; }
  .main_nav_pc nav ul li ul li { width: 100%; height: 64px; padding: 0 20px; margin: 0; box-sizing: border-box; background-color: rgba(43, 140, 202, 0.85); border-bottom: #FFFFFF .1rem solid; border-left: 0; display: flex; align-items: 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: #FFFFFF; text-align: left; }
  .main_nav_pc nav ul li ul li a br { display: none; }
  .main_nav_pc nav ul li ul li:hover { background: #4d9dd2; }
  .main_nav_pc nav ul li ul li:hover a { color: #FFFFFF !important; }
  .main_nav_pc nav ul li ul.open_nav { display: block; } }
/* -----------------------------------------------------------
　診療時間
----------------------------------------------------------- */
.table_wrapper { width: 100%; }
.table_wrapper table.timetable { padding: 0; vertical-align: middle; width: 100%; margin: 0; text-align: center; border-collapse: collapse; box-sizing: border-box; background: #FFFFFF; }
.table_wrapper table.timetable tr { margin: 0; padding: 0; vertical-align: middle; }
.table_wrapper table.timetable tr th, .table_wrapper table.timetable tr td { padding: 0; text-align: center; font-size: 1.2rem; font-weight: normal; vertical-align: middle; box-sizing: border-box; }
.table_wrapper table.timetable tr th { width: 3.2rem; padding: 0 0 1rem 0; }
.table_wrapper table.timetable tr th span { background: #ffebc0; border-radius: 50%; width: 2.2rem; height: 2.2rem; margin: 0 auto; display: flex; justify-content: center; align-items: center; }
.table_wrapper table.timetable tr th:nth-of-type(7) span { background: #e6f5ff; }
.table_wrapper table.timetable tr th:nth-of-type(n+8) span { background: #fed1df; }
.table_wrapper table.timetable tr td { height: 2.5rem; margin: 0 0 1rem 0; background: #FFFFFF; }
.table_wrapper table.timetable tr td.time { white-space: nowrap; width: 9rem; border-radius: 6px; background: #c6eeba; display: flex; justify-content: center; align-items: center; }
.table_wrapper .notice_time { margin: 12px 0 0 0; display: block; text-align: right; }
.table_wrapper .notice_time p { margin: 0; font-size: 1.2rem; text-align: center; border-radius: 6px; background: #e5e5e5; height: 25px; padding: 0 10px; display: inline-flex; align-items: center; }

@media print, screen and (min-width: 768px) { .table_wrapper { width: 100%; }
  .table_wrapper table.timetable { padding: 0; vertical-align: middle; width: 100%; margin: 0; text-align: center; border-collapse: collapse; box-sizing: border-box; }
  .table_wrapper table.timetable tr { margin: 0; padding: 0; vertical-align: middle; }
  .table_wrapper table.timetable tr th, .table_wrapper table.timetable tr td { padding: 0; text-align: center; font-size: 1.4rem; font-weight: normal; vertical-align: middle; box-sizing: border-box; }
  .table_wrapper table.timetable tr th { width: 35px; padding: 0 0 12px 0; }
  .table_wrapper table.timetable tr th span { background: #ffebc0; border-radius: 50%; width: 28px; height: 28px; margin: 0 auto; display: flex; justify-content: center; align-items: center; }
  .table_wrapper table.timetable tr th:nth-of-type(7) span { background: #e6f5ff; }
  .table_wrapper table.timetable tr th:nth-of-type(n+8) span { background: #fed1df; }
  .table_wrapper table.timetable tr td { height: 27px; margin: 0 0 10px 0; }
  .table_wrapper table.timetable tr td.time { white-space: nowrap; width: 117px; border-radius: 6px; background: #c6eeba; display: flex; justify-content: center; align-items: center; }
  .table_wrapper .notice_time { margin: 12px 0 0 0; display: block; text-align: right; }
  .table_wrapper .notice_time p { margin: 0; font-size: 1.2rem; text-align: center; border-radius: 6px; background: #e5e5e5; height: 25px; padding: 0 10px; display: inline-flex; align-items: center; } }
/* -----------------------------------------------------------
　お知らせ
----------------------------------------------------------- */
.notice_wrapper { background: #fff8e4; width: 100%; margin: 0; padding: 3rem 0 0 0; }
.notice_wrapper .notice_frame { height: auto; width: 100%; height: 48rem; margin: 0 auto; padding: 3rem 0 0 0; box-sizing: border-box; background-color: #FFFFFF; border-radius: 6rem 6rem 0 0; }
.notice_wrapper .notice_frame figure { display: none; }
.notice_wrapper .notice_frame dl { padding: 0 0 2rem 0; margin: 0 auto; box-sizing: border-box; width: 90%; height: 46rem; overflow-y: scroll; }
.notice_wrapper .notice_frame dl dt { color: #e57da0; font-size: 1.5rem; font-weight: bold; margin: 0 0 1rem 0; padding: 0; box-sizing: border-box; }
.notice_wrapper .notice_frame dl dt::before { display: inline-block; content: url("../images/arrow.png"); margin: 0 .4rem 0 .6rem; transform: rotate(-270deg); }
.notice_wrapper .notice_frame dl dt.dd_open { border-bottom: 0; }
.notice_wrapper .notice_frame dl dt.dd_open::before { display: inline-block; content: url("../images/arrow.png"); margin: 0 .4rem 0 0; transform: rotate(-90deg); }
.notice_wrapper .notice_frame dl dd { margin: 0 0 2rem 0; padding: 0; box-sizing: border-box; border-bottom: 1px #e5e5e5 solid; }
.notice_wrapper .notice_frame dl dd:not(:nth-of-type(-n+3)) { display: none; }
.notice_wrapper .notice_frame dl dd p { font-size: 1.3rem; margin: 0; padding: 0 0 2rem 0; box-sizing: border-box; line-height: 1.6; }

@media print, screen and (min-width: 768px) { .notice_wrapper { padding: 98px 0 0 0; }
  .notice_wrapper .notice_frame { width: 1200px; height: 82rem; padding: 47px 0 0 0; border-radius: 160px 160px 0 0; position: relative; }
  .notice_wrapper .notice_frame figure { display: block; margin: 0; padding: 0; }
  .notice_wrapper .notice_frame figure.img_l { position: absolute; bottom: 20px; left: -40px; }
  .notice_wrapper .notice_frame figure.img_r { position: absolute; bottom: 20px; right: -40px; }
  .notice_wrapper .notice_frame dl { padding: 0 0 20px 0; width: 880px; height: 80rem; overflow-y: scroll; }
  .notice_wrapper .notice_frame dl dt { font-size: 2rem; margin: 0 0 10px 0; }
  .notice_wrapper .notice_frame dl dd { margin: 0 0 30px 0; }
  .notice_wrapper .notice_frame dl dd p { font-size: 1.8rem; margin: 0; padding: 0 0 28px 0; } }
/* -----------------------------------------------------------
　診療のご案内
----------------------------------------------------------- */
.treatment_wrapper { padding: 3rem 0 0 0; }
.treatment_wrapper ul.treat { width: 90%; margin: 0 auto; padding: 0; display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; list-style: none; }
.treatment_wrapper ul.treat li { width: 48%; height: auto; margin: 0 0 2rem 0; position: relative; }
.treatment_wrapper ul.treat li a { color: #545454; font-size: 1.4rem; margin: 12.5rem 0 0 0; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.treatment_wrapper ul.treat li a::after { content: url("../images/arrow.png"); display: inline-block; margin: 0 0 0 .6rem; }
.treatment_wrapper ul.treat li::before { content: ''; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; width: 12rem; height: 12rem; background: url("../images/img_internal.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(2)::before { background: url("../images/img_lifestyle.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(3)::before { background: url("../images/img_orthopedics.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(4)::before { background: url("../images/img_rehabilitation.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(5)::before { background: url("../images/img_osteoporosis.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(6)::before { background: url("../images/img_dermatology.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(7)::before { background: url("../images/img_allergies.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(8)::before { background: url("../images/img_child.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(9)::before { background: url("../images/img_vaccination.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(10)::before { background: url("../images/img_private.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(11)::before { background: url("../images/img_checkup.png") no-repeat center top; background-size: cover; }
.treatment_wrapper ul.treat li:nth-child(12)::before { background: url("../images/img_antismoking.png") no-repeat center top; background-size: cover; }

a.sheet { text-align: center; background: #c6eeba; color: #545454; font-size: 150%; border-radius: 1.2rem; padding: 1.0rem 1.6rem; margin: 0 auto; display: block; width: 90%; text-decoration: none; box-sizing: border-box; line-height: 1.4; }

@media print, screen and (min-width: 768px) { .treatment_wrapper { padding: 96px 0 0 0; }
  .treatment_wrapper ul.treat { width: 1200px; margin: 0 auto; padding: 0; display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; list-style: none; }
  .treatment_wrapper ul.treat li { width: 150px; height: 210px; margin: 0 60px 48px 0; position: relative; }
  .treatment_wrapper ul.treat li a { color: #545454; font-size: 1.8rem; margin: 168px 0 0 0; display: flex; align-items: center; justify-content: center; text-decoration: none; }
  .treatment_wrapper ul.treat li a::after { content: url("../images/arrow.png"); display: inline-block; margin: 0 0 0 8px; }
  .treatment_wrapper ul.treat li::before { content: ''; position: absolute; top: 0; left: auto; right: auto; width: 150px; height: 150px; background: url("../images/img_internal.png"); }
  .treatment_wrapper ul.treat li:nth-child(2)::before { background: url("../images/img_lifestyle.png"); }
  .treatment_wrapper ul.treat li:nth-child(3)::before { background: url("../images/img_orthopedics.png"); }
  .treatment_wrapper ul.treat li:nth-child(4)::before { background: url("../images/img_rehabilitation.png"); }
  .treatment_wrapper ul.treat li:nth-child(5)::before { background: url("../images/img_osteoporosis.png"); }
  .treatment_wrapper ul.treat li:nth-child(6)::before { background: url("../images/img_dermatology.png"); }
  .treatment_wrapper ul.treat li:nth-child(7)::before { background: url("../images/img_allergies.png"); }
  .treatment_wrapper ul.treat li:nth-child(8)::before { background: url("../images/img_child.png"); }
  .treatment_wrapper ul.treat li:nth-child(9)::before { background: url("../images/img_vaccination.png"); }
  .treatment_wrapper ul.treat li:nth-child(10)::before { background: url("../images/img_private.png"); }
  .treatment_wrapper ul.treat li:nth-child(6n) { margin: 0 0 48px 0; }
  .treatment_wrapper ul.treat li:hover { opacity: 0.8; }
  a.sheet { width: 60%; font-size: 180%; }
  a.sheet:hover { opacity: .8; } }
/* -----------------------------------------------------------
　ボタン
----------------------------------------------------------- */
.btn_link { width: 80%; height: auto; padding: 1rem 0; margin: 0 auto 1rem; display: flex; justify-content: center; align-items: center; border-radius: 10px; background: #f8bf45; text-decoration: none; color: #FFFFFF; font-size: 1.6rem; font-weight: 400; background: #f8bf45 url("../images/btn_arrow.png") no-repeat right 20px center; }

@media print, screen and (min-width: 768px) { .btn_link { width: 280px; height: 60px; margin: 0; display: flex; justify-content: center; align-items: center; border-radius: 10px; background: #f8bf45; text-decoration: none; color: #FFFFFF; font-size: 1.8rem; font-weight: 400; padding: 0; background: #f8bf45 url("../images/btn_arrow.png") no-repeat right 20px center; }
  .btn_link:hover { background-color: cornflowerblue; } }
/* -----------------------------------------------------------
　ごあいさつ
----------------------------------------------------------- */
.greeting_wrapper { padding: 3rem 0; }
.greeting_wrapper .greeting { width: 90%; margin: 0 auto; display: block; }
.greeting_wrapper .greeting .txt_box { background-image: url("../images/flag.png"), url("../images/garden.png"); background-repeat: no-repeat; background-position: center top,center bottom; width: 100%; margin: 0 0 3rem 0; padding: 6rem 0 4rem; }
.greeting_wrapper .greeting .txt_box p { font-size: 1.4rem; line-height: 1.6; }
.greeting_wrapper .greeting figure { width: 100%; margin: 0; padding: 0; }
.greeting_wrapper .greeting figure img { width: 100%; display: block; margin: 0; }

@media print, screen and (min-width: 768px) { .greeting_wrapper { padding: 50px 0 100px; }
  .greeting_wrapper .greeting { width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; }
  .greeting_wrapper .greeting .txt_box { background-image: url("../images/flag.png"), url("../images/garden.png"); background-repeat: no-repeat; background-position: center top,center bottom; width: 550px; margin: 0 auto 0 0; padding: 92px 0 0 0; }
  .greeting_wrapper .greeting .txt_box p { font-size: 1.8rem; line-height: 1.9; }
  .greeting_wrapper .greeting figure { width: 543px; margin: 0; padding: 0; }
  .greeting_wrapper .greeting figure img { width: auto; display: block; margin: 0 0 0 auto; } }
/* -----------------------------------------------------------
　クリニックの特長
----------------------------------------------------------- */
.feature_wrapper { padding: 3rem 0 1rem 0; background: #e6f5ff; }
.feature_wrapper ul.feature { width: 90%; margin: 5rem auto 0; display: block; list-style: none; padding: 0; }
.feature_wrapper ul.feature li { width: 100%; height: auto; margin: 0 0 4rem 0; border: 0.2rem #b8e3ff solid; border-radius: 1.6rem; box-sizing: border-box; background: #FFFFFF; position: relative; }
.feature_wrapper ul.feature li .number { font-size: 2.2rem; color: #FFFFFF; background: #4d9dd2; width: 3.5rem; height: 3.5rem; display: flex; justify-content: center; align-items: center; position: absolute; top: -2rem; left: 2rem; }
.feature_wrapper ul.feature li figure { padding: 0; margin: 0; }
.feature_wrapper ul.feature li figure img { width: 100%; border-radius: 1.6rem 1.6rem 0 0; }
.feature_wrapper ul.feature li p { padding: 2rem; margin: 0; font-size: 1.3rem; }

@media print, screen and (min-width: 768px) { .feature_wrapper { padding: 100px 0 44px; background: #e6f5ff; }
  .feature_wrapper ul.feature { width: 1200px; margin: 67px auto 0; display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; list-style: none; }
  .feature_wrapper ul.feature li { width: 570px; height: 420px; margin: 0 0 56px 0; border: 3px #b8e3ff solid; border-radius: 20px; box-sizing: border-box; background: #FFFFFF; position: relative; }
  .feature_wrapper ul.feature li .number { font-size: 3.6rem; color: #FFFFFF; background: #4d9dd2; width: 45px; height: 45px; display: flex; justify-content: center; align-items: center; position: absolute; top: -22px; left: 26px; }
  .feature_wrapper ul.feature li figure { padding: 0; margin: 0; }
  .feature_wrapper ul.feature li figure img { width: auto; border-radius: 20px 20px 0 0; }
  .feature_wrapper ul.feature li p { padding: 30px; font-size: 1.8rem; } }
/* -----------------------------------------------------------
　医院概要
----------------------------------------------------------- */
.overview_bg { width: 100%; margin: 0; padding: 3rem 0 0 0; }
.overview_bg .overview { padding: 0 0 3rem 0; margin: 0 auto; width: 90%; }
.overview_bg .overview .ov_info { display: block; margin: 0 0 1rem 0; }
.overview_bg .overview .ov_info figure { margin: 0 auto; padding: 0; display: contents; }
.overview_bg .overview .ov_info figure img { width: 100%; }
.overview_bg .overview .ov_info p.phone { display: none; }
.overview_bg .overview .ov_access { margin: 0 0 3rem 0; padding: 0 0 .8rem 0; box-sizing: border-box; display: block; }
.overview_bg .overview .ov_access .box { width: 100%; height: auto; background: #f8bf45; display: flex; justify-content: center; align-items: center; color: #FFFFFF; font-size: 1.2rem; font-weight: 700; border-radius: 6px; margin: 0 0 .8rem 0; padding: .4rem 0; }
.overview_bg .overview .ov_access p.o_access { padding: 0; margin: 0; font-size: 1.2rem; line-height: 1.2; }
.overview_bg .overview .overview_frame { display: block; width: 100%; margin: 0 auto; flex-wrap: nowrap; }
.overview_bg .overview .overview_frame .ov_left { width: 100%; padding: 0 0 2rem 0; box-sizing: border-box; }
.overview_bg .overview .overview_frame .ov_left ul { list-style: none; width: 100%; margin: 0; padding: 0; }
.overview_bg .overview .overview_frame .ov_left ul li { font-size: 1.2rem; text-align: left; border-bottom: 1px #e5e5e5 solid; margin: 0 0 1.2rem 0; padding: 0 0 .8rem 0; }
.overview_bg .overview .overview_frame .ov_right { width: 100%; padding: 0; margin: 0; box-sizing: border-box; }
.overview_bg .overview .overview_frame .ov_right iframe { width: 100%; height: 35rem; border: 0; border-radius: 16px; }

@media print, screen and (min-width: 768px) { .overview_bg { width: 100%; margin: 0 auto; padding: 100px 0 0 0; }
  .overview_bg .overview { padding: 0 0 60px 0; margin: 0 auto; width: 1200px; }
  .overview_bg .overview .ov_info { display: flex; justify-content: center; align-items: flex-end; margin: 0 0 18px 0; }
  .overview_bg .overview .ov_info figure { margin: 0 auto; padding: 0; display: contents; }
  .overview_bg .overview .ov_info figure img { width: auto; }
  .overview_bg .overview .ov_info p.phone { display: block; margin: 0 0 0 18px; font-weight: 700; font-size: 2.6rem; color: #555555; }
  .overview_bg .overview .ov_info p.phone span { font-size: 1.8rem; }
  .overview_bg .overview .ov_access { margin: 0 0 50px 0; padding: 0 0 8px 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center; }
  .overview_bg .overview .ov_access .box { width: 105px; height: 30px; background: #f8bf45; display: flex; justify-content: center; align-items: center; color: #FFFFFF; font-size: 1.4rem; font-weight: 700; border-radius: 6px; margin: 0 14px 0 0; padding: 0; }
  .overview_bg .overview .ov_access p.o_access { padding: 0; margin: 0; font-size: 1.4rem; line-height: 1.2; }
  .overview_bg .overview .overview_frame { display: flex; justify-content: space-between; width: 1200px; margin: 0 auto; flex-wrap: nowrap; }
  .overview_bg .overview .overview_frame .ov_left { width: 500px; padding: 0 50px 0 0; box-sizing: border-box; }
  .overview_bg .overview .overview_frame .ov_left ul { list-style: none; width: 100%; margin: 0 0 40px 0; padding: 0; }
  .overview_bg .overview .overview_frame .ov_left ul li { font-size: 1.4rem; text-align: left; border-bottom: 1px #e5e5e5 solid; margin: 0 0 18px 0; padding: 0 0 8px 0; }
  .overview_bg .overview .overview_frame .ov_right { width: 700px; padding: 0; margin: 0; box-sizing: border-box; }
  .overview_bg .overview .overview_frame .ov_right iframe { height: 357px; width: 700px; border: 0; border-radius: 16px; } }
/* -----------------------------------------------------------
　フッター
----------------------------------------------------------- */
footer { margin-bottom: 3.3rem; background: #fff8e4; }
footer .footer_wrapper ul { display: none; }
footer .global-nav { position: fixed; left: 0; bottom: 0; width: 100%; }
footer .nav-list { display: flex; width: 100%; border-collapse: collapse; padding: 0; margin: 0; list-style: none; text-align: center; background-color: #f8bf45; border-top: 1px #FFFFFF solid; }
footer .nav-item { border-left: .1rem #FFFFFF solid; padding: .8rem 0; white-space: nowrap; vertical-align: middle; line-height: 1.0; color: #FFF; }
footer .nav-item:first-child { border-left: 0; }
footer .nav-item span.tel::before { content: 'tel.'; font-size: 1.8rem; margin: 0 .4rem 0 0; display: inline-block; color: #FFF; vertical-align: -2px; }
footer .nav-item span.link { font-size: 1.2rem; }
footer .nav-item span.top::before { content: "\025b2"; margin: 0; font-weight: bold; font-size: 1.8rem; }
footer .nav-item a { text-decoration: none; color: #FFFFFF; font-size: 1.4rem; }
footer .phone { /*width: 25%;*/ width: 40%; }
footer .rsv { /*width: 30%;*/ width: 45%; background-color: #4d9dd2; }
footer .check { width: 30%; background-color: #a0cc5d; }
footer .tpage { width: 15%; background-color: #e57da0; }
footer .copyright { height: auto; display: flex; justify-content: center; align-items: center; margin: 0; padding: 1rem 0 3rem; border-bottom: 0; }
footer .copyright a { text-decoration: none; font-size: 1.2rem; margin: 0; color: #545454; }

@media print, screen and (min-width: 768px) { footer { background: #fff8e4; 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: 1200px; margin: 0 auto; padding: 20px 0 0 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 { display: block; text-align: left; margin: 0 0 10px 0; padding: 0; }
  footer .footer_wrapper .footer_frame ul li { display: inline-block; padding: 0 8px; border-right: 1px #333333 solid; margin: 0; }
  footer .footer_wrapper .footer_frame ul li.treatment { display: none; }
  footer .footer_wrapper .footer_frame ul li:last-child { border-right: 0; }
  footer .footer_wrapper .footer_frame ul li a { color: #545454; font-size: 1.4rem; text-decoration: none; }
  footer .footer_wrapper .footer_frame ul li a:hover { text-decoration: underline; }
  footer .footer_wrapper .footer_frame ul li br { display: none; }
  footer .copyright { height: auto; display: flex; justify-content: flex-start; align-items: center; margin: 0; padding: 17px 0; border-bottom: 0; }
  footer .copyright a { text-decoration: none; font-size: 1.2rem; margin: 0; color: #545454; } }
/* -----------------------------------------------------------
　ネット予約
----------------------------------------------------------- */
.side-menu { display: none; }

@media print, screen and (min-width: 768px) { .side-menu { display: block; position: fixed; top: 200px; right: 0; left: inherit; z-index: 9999; width: 45px; }
  .side-menu a { background-color: transparent; display: block; margin-bottom: 1em; }
  .side-menu a img { display: block; }
  .side-menu a p { display: none; } }
/* -----------------------------------------------------------
　ページトップへ
----------------------------------------------------------- */
#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: 35px; height: auto; }
  #pagetop { position: fixed; bottom: 40px; left: 60%; margin: 0 0 0 560px; height: 35px; text-align: center; }
  #pagetop a { display: block; color: #ffffff; }
  #pagetop_position { float: right; margin: 0px; padding: 0px; display: block; } }
@media print, screen and (min-width: 768px) and (max-width: 1500px) { #pagetop { position: fixed; bottom: 0; left: 95%; margin: 0; height: 60px; text-align: center; } }
/*----------------------------------------------------------- インポート
----------------------------------------------------------- */
/*ハンバーガー*/
.scroll-prevent { position: fixed; z-index: -1; width: 100%; height: 100%; }

#nav-tgl { display: none; }

.nav-tgl-btn { cursor: pointer; position: fixed; top: 0; right: 0; margin: 0; }

.open { z-index: 999; width: 5rem; height: 5rem; background: #f8bf45; transition: background 0.6s, transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1); }

.open::before, .open::after { content: ""; }

.open span, .open::before, .open::after { content: ""; position: absolute; top: calc(42% - 1px); right: 30%; width: 40%; border-bottom: .2rem solid white; transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1); }

.open::before { transform: translateY(-8px); }

.open::after { transform: translateY(8px); }

.open span::after { content: 'MENU'; display: block; color: #FFFFFF; font-size: 1rem; position: absolute; top: 1.3rem; left: -.4rem; right: auto; }

.close { z-index: 1; width: 100%; height: 100%; pointer-events: none; transition: background .6s; }

#nav-tgl:checked + .open { background: #e57da0; transform: translateX(-26rem); }

#nav-tgl:checked + .open span { transform: scaleX(0); }

#nav-tgl:checked + .open::before { transform: rotate(45deg); top: calc(50% - 1px); }

#nav-tgl:checked + .open::after { transform: rotate(-45deg); top: calc(50% - 1px); }

#nav-tgl:checked ~ .close { pointer-events: auto; background: rgba(0, 0, 0, 0.3); }

.content-wrapper { transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1); }

#nav-tgl:checked ~ .content-wrapper { transform: translateX(-250px); }

/* メニューデザイン */
.drower-menu { z-index: 999; position: fixed; overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; top: 0; right: 0; width: 26rem; height: 100%; margin: 0; padding: 0 0 6rem 0; box-sizing: border-box; background: #b8e3ff; transform: translateX(100%); transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1); }

.drower-menu a { display: block; color: #545454; padding: 1rem; text-decoration: inherit; transition: background .6s; font-size: 1.4rem; }
.drower-menu a br { display: none; }

.drower-menu a:hover { background: black; }

#nav-tgl:checked ~ .drower-menu { transform: none; }

.drower-menu-list ul.hbg { list-style: none; margin: 0; padding: 0; text-align: center; }
.drower-menu-list ul.hbg li { border-bottom: 1px #4d9dd2 solid; }
.drower-menu-list ul.hbg li p { color: #545454; background: #FFFFFF; margin: 0; font-size: 1.4rem; padding: 1rem; }
.drower-menu-list ul.hbg li.treatment { display: none; }
.drower-menu-list ul.hbg li.rsv { background: #4D9DD2; }
.drower-menu-list ul.hbg li.rsv a { color: #fff !important; }
.drower-menu-list ul.hbg li:last-of-type { border-bottom: 0; }
.drower-menu-list ul.hbg li br { 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 1.6rem 0; text-align: center; }
.img_right img { width: 90%; height: auto; }

.img_doctor { margin: 0 0 2rem 0; text-align: center; }
.img_doctor img { width: 70%; 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 30px; }
  .img_right img { width: 350px; height: auto; }
  .img_doctor { float: right; margin: 0 0 80px 30px; }
  .img_doctor img { width: 300px; height: auto; }
  .img_center { float: none; margin: 0 0 10px; text-align: center; }
  .img_center img { width: auto; height: auto; max-width: 1280px; }
  /*画像右*/
  .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: 1.6; font-size: 1.4rem; list-style: none; margin: 0; padding: 0; }
ul.list_normal li { margin: 0 0 1rem 1.8rem; padding: 0; text-indent: -1.5rem; }
ul.list_normal li::before { content: '●'; color: #f8bf45; margin: 0 .3rem 0 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_none li br:nth-child(2) { display: none; }

/*数値*/
ul.list_num { box-sizing: border-box; width: 100%; padding: 0 1.4rem; margin: 0; }
ul.list_num li { line-height: 130%; font-size: 1.4rem; list-style-type: decimal; margin: 0 0 10px 2rem; box-sizing: border-box; width: 90%; }

/*概要*/
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: 1.6; font-size: 1.4rem; list-style: none; margin: 0; padding: 0; }
  ul.list_normal li { margin: 0 0 15px 25px; padding: 0; text-indent: -21px; }
  ul.list_normal li::before { content: '●'; color: #f8bf45; margin: 0 3px 0 0; font-size: 1.4rem; vertical-align: 1.0px; }
  /*画像●*/
  ul.list_maru { padding: 0; }
  ul.list_maru li { line-height: 100%; font-size: 1.8rem; 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.8rem; 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.8rem; 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%; padding: 0 1.0rem; }
  ul.list_num li { line-height: 130%; font-size: 1.8rem; list-style-type: decimal; margin: 0 0 10px 25px; box-sizing: border-box; width: 90%; }
  /*概要*/
  ul.list_overview li { line-height: 130%; font-size: 1.8rem; 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.8rem; 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 2rem 0; line-height: 1.2; }
dl.bio_list dt { width: 100%; margin: 0; font-weight: bold; }
dl.bio_list dd { width: 100%; margin: 0 0 2rem 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.8rem; box-sizing: border-box; line-height: 1.6; width: 100%; }
  dl.bio_list dt { width: 10%; margin: 0 0 20px 0; font-weight: normal; }
  dl.bio_list dd { width: 90%; 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.8rem; 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; } }
/*見出し*/
h1, h2, h3, h4, h5 { margin: 0; clear: both; }

h2.top { color: #4d9dd2; font-size: 2.2rem; font-weight: normal; text-align: center; margin: 0 auto 2.8rem; padding: 0 10px; display: table; background: linear-gradient(transparent 90%, #e6f5ff 90%); }
h2.top::before { display: block; margin: .6rem auto 0; content: url("../images/h2_before.png"); }

h3 { clear: both; color: #3fa869; font-weight: normal; font-size: 2.0rem; margin: 4rem 0 1.8rem 0; border-radius: 6px; padding: .8rem 0 .8rem 1.2rem; height: auto; width: 100%; box-sizing: border-box; display: flex; align-items: center; background: #bdece2; background: -moz-linear-gradient(left, #bdece2 0%, #bfefd7 10%, #d1f6c1 40%, #edf6c1 60%, #f8f4c3 90%, #fbecd1 100%); background: -webkit-linear-gradient(left, #bdece2 0%, #bfefd7 10%, #d1f6c1 40%, #edf6c1 60%, #f8f4c3 90%, #fbecd1 100%); background: linear-gradient(to right, #bdece2 0%, #bfefd7 10%, #d1f6c1 40%, #edf6c1 60%, #f8f4c3 90%, #fbecd1 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bdece2', endColorstr='#fbecd1',GradientType=1 ); }

h4 { clear: both; color: #e57da0; font-weight: normal; font-size: 1.8rem; padding: 0; margin: 3rem 0 1.6rem 0; width: 100%; box-sizing: border-box; }
h4::before { content: url("../images/h4_before.png"); display: inline-block; margin: 0 1rem 0 0; vertical-align: middle; }

h5 { color: #e6f5ff; font-size: 1.6rem; padding: 0; margin: 26px 0 12px 0; font-weight: bold; }

p { font-size: 1.4rem; margin: 0 0 2rem 0; line-height: 1.4; }

@media print, screen and (min-width: 768px) { h2.top { color: #4d9dd2; font-size: 3.6rem; font-weight: normal; text-align: center; margin: 0 auto 45px; padding: 0 10px; display: table; background: linear-gradient(transparent 90%, #e6f5ff 90%); }
  h2.top::before { display: block; margin: 8px auto 0; content: url("../images/h2_before.png"); }
  h3 { font-size: 2.8rem; margin: 50px 0 20px 0; padding: 0 0 0 20px; height: 45px; }
  h4 { font-size: 2.4rem; margin: 30px 0 20px 0; }
  h4::before { margin: 0 10px 0 0; vertical-align: middle; }
  h5 { color: #e6f5ff; font-size: 2.0rem; padding: 0; margin: 26px 0 12px 0; font-weight: bold; }
  p { font-size: 1.8rem; margin: 0 0 2rem 0; line-height: 1.6; } }
/*下層*/
/* 下層共通 */
.low .mt30 { margin-top: 3rem !important; }
.low .mg0 { margin: 0 !important; }
.low .wrapper { padding: 3rem 0 6rem; }
.low section { margin: 0 0 4rem 0; }
.low figure img.machine { display: block; margin: 0 auto 2rem; width: 80%; }
.low .main p { line-height: 1.6; }
.low .main p.txt_right { display: block; text-align: right; }
.low p.g_txt { font-size: 1.8rem; color: #f8bf45; margin: 0 0 .6rem 0; font-weight: bold; }
.low p.m0 { margin: 0; }
.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: #e57da0; border-radius: 50%; position: relative; top: -1px; margin-right: 15px; }
.low ul.hospital { border: 0.1rem #f8bf45 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: block; margin: 0; border-left: 0.1rem #545454 solid; border-right: 0.1rem #545454 solid; }
.low dl.smp dt, .low dl.smp dd { width: 100%; padding: 1rem; box-sizing: border-box; margin: 0; }
.low dl.smp dt { color: #545454; font-weight: bold; background-color: #fed1df; display: flex; justify-content: center; align-items: center; border-top: 0.1rem #545454 solid; border-bottom: 0.1rem #545454 solid; }
.low dl.smp dd { color: #333333; background: #FFFFFF; }
.low dl.smp dd:last-of-type { border-bottom: 0.1rem #545454 solid; }
.low dl.smp dd.tel a { text-decoration: none; color: #f8bf45; font-size: 2rem; }
.low dl.price { margin: 0 0 2rem 0; }
.low dl.price dt { padding: 1rem; box-sizing: border-box; }
.low dl.price dd { text-align: center; vertical-align: middle; }
.low table.tbl_list th, .low table.tbl_list td { font-size: 1.4rem; font-weight: normal; padding: 1rem; }
.low table.tbl_list th { white-space: nowrap; }
.low table.tbl_list2 { margin: 0 0 1.2rem 0; box-sizing: border-box; width: 99%; }
.low table.tbl_list2 tr { width: 100%; box-sizing: border-box; }
.low table.tbl_list2 th, .low table.tbl_list2 td { font-size: 1.4rem; font-weight: normal; padding: 1rem; border-bottom: .1rem #999999 solid; border-left: .1rem #999999 solid; box-sizing: border-box; }
.low table.tbl_list2 th:first-of-type, .low table.tbl_list2 td:first-of-type { border-top: .1rem #999999 solid; }
.low table.tbl_list2 th p, .low table.tbl_list2 td p { margin: 0; }
.low table.tbl_list2 th { background-color: #f8bf45; color: #FFFFFF; font-weight: bold; }
.low table.tbl_list2 th:first-of-type { width: 35%; }
.low table.tbl_list2 th:nth-of-type(2) { width: 65%; }
.low table.tbl_list2 td { border-right: .1rem #999999 solid; }
.low table.tbl_list2 td:first-of-type { width: 35%; }
.low table.tbl_list2 td:nth-of-type(2) { width: 65%; }
.low .blue_box { background-color: #e0f6fc; padding: 2rem 1rem; }
.low .blue_box p { margin: 0; font-size: 1.4rem; }
.low .flow_box { border: 3px #4d9dd2 solid; width: 95%; box-sizing: border-box; padding: 2rem; font-size: 1.4rem; margin: 0 0 1.4rem 0; }
.low .flow_center { text-align: center; font-size: 1.4rem; margin: 0 0 1rem 0; color: #f8bf45; }
.low .clinic_map { display: block; }
.low .clinic_map figure { width: 100%; margin: 2rem 0 0 0; padding: 0; }
.low .clinic_map figure img { width: 100%; }
.low .clinic_map figure figcaption { text-align: center; font-size: 1.6rem; color: #fff; background-color: #fff8e4; padding: .8rem 0; margin: 1.2rem 0 .8rem; }
.low iframe { width: 100%; height: 25rem; border: 0; }
.low .btn_flex { display: block; }
.low a.arrow { background: #f8bf45; border: 2px #e6f5ff solid; padding: 1.2rem 2rem; width: 90%; margin: 0 auto 1.6rem; color: #FFFFFF; font-size: 1.4rem; border-radius: 10px; display: flex; justify-content: center; align-items: center; box-sizing: border-box; }
.low .list_anc { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; list-style: none; padding: 0; }
.low .list_anc li { width: 100%; background: #f8bf45; padding: 1.0rem 0; border-radius: .6rem; margin-bottom: 1.4rem; text-align: center; }
.low .list_anc li a { display: block; width: 100%; text-decoration: none; color: #fff; }

@media print, screen and (min-width: 768px) { .low .wrapper { padding: 60px 0 100px; margin: 0; }
  .low section { margin: 0 0 60px 0; }
  .low figure img.machine { display: block; margin: 0 auto 2rem; width: 60%; }
  .low ul li { font-size: 1.8rem; }
  .low ul.about { width: 100%; margin: 0; }
  .low ul.about li { font-size: 1.8rem; }
  .low ul.certificate { margin: 0 0 2.8rem 0; }
  .low ul.certificate li a:hover { opacity: 0.8; }
  .low ul.hospital { border: 0.1rem #f8bf45 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.8rem; display: flex; flex-wrap: wrap; margin: 0; }
  .low dl.smp dt, .low dl.smp dd { padding: 2rem 0; box-sizing: border-box; margin: 0; }
  .low dl.smp dt { color: #545454; font-weight: bold; background-color: #fed1df; width: 30%; display: flex; justify-content: center; align-items: center; border-top: 0; }
  .low dl.smp dt:first-of-type { border-top: 0.1rem #545454 solid; }
  .low dl.smp dd { color: #545454; width: 70%; border-bottom: 0.1rem #545454 solid; padding: 2rem; border-left: 0; background: #FFFFFF; text-align: left; }
  .low dl.smp dd:first-of-type { border-top: 0.1rem #545454 solid; }
  .low dl.price { margin: 0 0 30px 0; }
  .low dl.price dt { padding: 20px 12px; box-sizing: border-box; }
  .low dl.price dd { text-align: left; vertical-align: middle; }
  .low table.tbl_list th, .low table.tbl_list td { font-size: 1.8rem; font-weight: normal; padding: 1rem; }
  .low table.tbl_list2 { margin: 0 0 1.2rem 0; box-sizing: border-box; }
  .low table.tbl_list2 th, .low table.tbl_list2 td { font-size: 1.8rem; font-weight: normal; padding: 1rem; border-bottom: .1rem #999999 solid; border-left: .1rem #999999 solid; box-sizing: border-box; }
  .low table.tbl_list2 th:last-of-type, .low table.tbl_list2 td:last-of-type { border-right: .1rem #999999 solid; }
  .low table.tbl_list2 th:first-of-type, .low table.tbl_list2 td:first-of-type { text-align: center; }
  .low table.tbl_list2 th { background-color: #f8bf45; color: #FFFFFF; font-weight: bold; }
  .low table.tbl_list2 th:first-of-type { width: 30%; border-right: .1rem #999999 solid; }
  .low table.tbl_list2 td { border-right: .1rem #999999 solid; }
  .low .main p { line-height: 1.8; }
  .low .main p.txt_right { display: block; text-align: right; }
  .low .main p.g_txt { font-size: 2rem; color: #f8bf45; margin: 0 0 1.2rem 0; }
  .low .blue_box { background-color: #e0f6fc; padding: 20px; }
  .low .blue_box p { margin: 0; font-size: 1.8rem; }
  .low .flow_box { border: 3px #4d9dd2 solid; width: 100%; box-sizing: border-box; padding: 30px; font-size: 1.8rem; margin: 0 0 15px 0; min-height: 290px; }
  .low .flow_center { text-align: center; font-size: 2rem; margin: 0 0 12px 0; color: #f8bf45; }
  .low .clinic_map { display: flex; flex-wrap: nowrap; justify-content: space-around; }
  .low .clinic_map figure { width: 100%; margin: 0 0 0 2rem; }
  .low .clinic_map figure figcaption { text-align: center; font-size: 1.6rem; color: #fff; background-color: #fff8e4; padding: .8rem 0; margin: 0 0 1.2rem 0; }
  .low iframe { width: 100%; height: 500px; }
  .low .btn_flex { display: flex; justify-content: space-between; }
  .low a.arrow { background: #f8bf45; border: 3px #e6f5ff solid; padding: 2rem 0; width: 45%; margin: 0 auto; color: #FFFFFF; font-size: 1.8rem; border-radius: 10px; display: flex; justify-content: center; align-items: center; }
  .low a.arrow:hover { opacity: 0.8; }
  .low .list_anc { justify-content: flex-start; }
  .low .list_anc li { width: 30.0rem; margin-right: calc(8.0rem/3); }
  .low .list_anc li:hover { background: #4d9dd2; }
  .low .list_anc li:nth-of-type(4), .low .list_anc li:nth-of-type(8) { margin-right: 0; } }
/* クリニック紹介、アクセス */
.clinic .slider-pro p.sp-layer, .access .slider-pro p.sp-layer { font-size: 3.0rem; }

@media print, screen and (min-width: 768px) { .clinic .slider-pro p.sp-layer, .access .slider-pro p.sp-layer { font-size: 1.8rem; } }
/* クリニック紹介 */
.clinic ul.device { display: block; padding: 0; margin: 0; }
.clinic ul.device li { width: 100%; list-style: none; }
.clinic ul.device li img { display: block; max-width: 100%; height: auto; margin: 0 auto .6rem; }
.clinic ul.device li p { font-size: 1.2rem; margin: 1rem auto 3rem; text-align: left; width: 100%; }
.clinic ul.device li p.tit { font-size: 1.6rem; text-align: center; font-weight: bold; color: #545454; margin: 0 0 .6rem 0; }

@media print, screen and (min-width: 768px) { .clinic ul.device { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .clinic ul.device li { width: 48%; margin: 0 0 30px 0; }
  .clinic ul.device li p { font-size: 1.6rem; margin: 10px auto 0; text-align: left; width: 90%; }
  .clinic ul.device li p.tit { font-size: 2rem; text-align: center; font-weight: bold; color: #545454; margin: 0 0 10px 0; width: auto; } }
/* 初めての方へ */
.first dl.flow { width: 96%; margin: 0 auto; border-bottom: 0; }
.first dl.flow dt { background-color: #f8bf45; color: #FFFFFF; border-radius: .6rem; padding: .2rem 0 .2rem 1rem; }
.first dl.flow dt, .first dl.flow dd { font-size: 1.4rem; line-height: 1.4; width: 100%; border-top: 0; border-bottom: 0; border-right: 0; border-left: 0; text-align: left; }
.first .arrow { font-weight: bold; margin: 1rem 0; text-align: center; color: #666666; }

@media print, screen and (min-width: 768px) { .first dl.flow { width: 100%; margin: 2rem 0 0 0; }
  .first dl.flow dt, .first dl.flow dd { font-size: 1.8rem; line-height: 1.6; width: 100%; text-align: left; } }
/* アクセス */
.access .table_wrapper { padding: 10px; box-sizing: border-box; background: #FFFFFF; }
.access .table_wrapper table.timetable tr td { width: 10%; }
.access .table_wrapper table.timetable tr td.time { width: auto; }
