@charset "UTF-8";
/*+++++++++++++++++++++
// 変数
+++++++++++++++++++++*/
/*+++++++++++++++++++++ font 
+++++++++++++++++++++*/
/*+++++++++++++++++++++ @mixin 
+++++++++++++++++++++*/
/* ----------------------------------------------------------------------------------
リセット　_reset.scss
---------------------------------------------------------------------------------- */
html { box-sizing: border-box; }

*, *::before, *::after { box-sizing: inherit; }

ol, ul { margin: 0; padding: 0; list-style: none; }

h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; font-weight: normal; font-size: inherit; }

img { max-width: 100%; height: auto; vertical-align: bottom; }

/* ----------------------------------------------------------------------------------
モジュール　_module.scss
---------------------------------------------------------------------------------- */
/*----------------- clearfix  ------------------------ */
.cf::before, .cf::after { content: ""; display: block; }

.cf::after { clear: both; }

/*---------------------
float 
------------------------ */
.fl_l { float: left; }

.fl_r { float: right; }

/*---------------------- txt ----------------------- */
.txt_c { text-align: center; }

.txt_l { text-align: left; }

.txt_r { text-align: right; }

.point { font-weight: bold; font-size: 1.4rem; color: #00529f; }
.point.red { color: red; }
.point.green { color: #06a444; }
.point.strong { font-size: 1.5rem; }
@media all and (min-width: 48em), print { .point { font-size: 1.8rem; }
  .point.strong { font-size: 1.9rem; } }

/*-------------------- img  ---------------------- */
.img_c { display: block; max-width: 100%; height: auto; margin: 1rem auto; }

.img_l, .img_r { display: block; max-width: 80%; height: auto; margin: 1rem auto; }

@media all and (min-width: 48em), print { .img_l { float: left; margin: 0 2rem 2rem 0; }
  .img_r { float: right; margin: 0 0 2rem 2rem; } }
/*--------------------- PC・SP　表示・非表示  ---------------------- */
.sp_n { display: none; }

@media all and (min-width: 48em), print { .sp_n { display: block; }
  .pc_n { display: none; } }
/*----------------- マージン・パディング回り  ------------------------ */
.mt50 { margin-top: 5rem; }

.mt40 { margin-top: 4rem; }

.mt30 { margin-top: 3rem; }

.mt20 { margin-top: 2rem; }

.mt10 { margin-top: 1rem; }

.mt00 { margin-top: 0 !important; }

.mb50 { margin-bottom: 5rem; }

.mb40 { margin-bottom: 4rem; }

.mb30 { margin-bottom: 3rem; }

.mb20 { margin-bottom: 2rem; }

.mb10 { margin-bottom: 1rem; }

.mb00 { margin-bottom: 0 !important; }

@media all and (min-width: 48em), print { .mt50 { margin-top: 10rem; }
  .mt40 { margin-top: 8rem; }
  .mt30 { margin-top: 6rem; }
  .mt20 { margin-top: 4rem; }
  .mt10 { margin-top: 2rem; }
  .mt00 { margin-top: 0rem !important; }
  .mb50 { margin-bottom: 10rem; }
  .mb40 { margin-bottom: 8rem; }
  .mb30 { margin-bottom: 6rem; }
  .mb20 { margin-bottom: 4rem; }
  .mb10 { margin-bottom: 2rem; }
  .mb00 { margin-bottom: 0rem !important; } }
/*------------------ グーグルマップ  ----------------------- */
.gmap { width: 100%; }
.gmap iframe { width: 100%; height: 100%; border: none; }

/* -------------------
フレックス回り ------------------------  */
@media all and (min-width: 48em), print { .flex2 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .flex2 > section, .flex2 > ul, .flex2 > li { width: 48%; margin: 0 !important; } }
/* --------------------------
ボタン　テキストリンク関係
-----------------------------*/
.link_box { width: 100%; padding: 0.5rem 1rem; margin: 2em auto; color: #fff; background: #107831; /*背景色*/ box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32); /*影*/ text-align: center; }
.link_box .tit { font-size: 1.5rem; border-bottom: 1px dashed #fff; text-align: center; font-weight: bold; padding-bottom: 0.5rem; margin: 0.5rem 0; }
.link_box .text { font-size: 1.6rem; font-weight: bold; }
.link_box .text a { text-decoration: none !important; }
.link_box .text::before { content: "\e809"; font-family: "fontello"; margin-right: 0.5rem; }

@media all and (min-width: 48em), print { .link_box { width: 60%; margin: 2em auto; }
  .link_box .tit { font-size: 2rem; padding-bottom: 1rem; margin: 1rem 0; }
  .link_box .text { font-size: 2.2rem; } }
.g_link_box { text-align: center; padding: 1rem 0; }

.g_link_btn { text-align: center; display: inline-block; width: 20rem; padding: 0.8rem 0; text-decoration: none !important; background: #ffbb00; border: 1px solid #ffbb00; border-radius: 30px; color: #fff; font-weight: bold; position: relative; }
.g_link_btn::after { content: "\f006"; font-family: "fontello"; display: inline-block; width: 1.5rem; height: 1.5rem; position: absolute; top: 23%; right: 8%; }
.g_link_btn:hover { background: #ffffff; color: #ffbb00; }
.g_link_btn:hover::after { color: #ffbb00; }

@media all and (min-width: 48em), print { .g_link_box { padding: 1.5rem 0; }
  .g_link_btn { text-align: center; display: inline-block; width: 280px; padding: 1.5rem 0; font-size: 1.8rem; text-decoration: none !important; font-weight: bold; position: relative; }
  .g_link_btn::after { width: 2rem; height: 2rem; position: absolute; top: 25%; right: 8%; } }
.g_a_link { display: inline-block; color: #459033; font-weight: bold; }
.g_a_link::before { content: ""; background-color: #459033; display: inline-block; height: 2rem; width: 2rem; mask: url("../img/icon_arrow02_r.svg"); mask-size: cover; vertical-align: middle; margin-right: 0.5rem; }

@media all and (min-width: 48em), print { .g_a_link span { text-decoration: underline; } }
/*--------------------------------- リスト回り
-------------------------------------- */
.lst_ul01 li { text-indent: -1.4rem; padding-left: 1.4rem; line-height: 1.8; }
.lst_ul01 li::before { content: "●"; color: #70cb94; margin-right: 0.2rem; font-size: 80%; vertical-align: 5%; }
.lst_ul01.kome li::before { content: "※"; color: #333333; margin-right: 0.2rem; font-size: 80%; vertical-align: 5%; }

@media all and (min-width: 48em), print { .lst_ul01 li { text-indent: -1.4rem; padding-left: 1.4rem; line-height: 1.8; }
  .lst_ul01 li::before { margin-right: 0.2rem; vertical-align: 5%; } }
.lst_ul02 { padding: 1.7rem 1rem 0.5rem 1.5rem; background-color: #f6fbfd; }
.lst_ul02 li { text-indent: -1.5rem; padding-left: 1.5rem; padding-bottom: 1rem; line-height: 1.4; }
.lst_ul02 li::before { content: "●"; color: #bcdb80; margin-right: 0.4rem; font-size: 80%; vertical-align: 6%; }
.lst_ul02 li:last-of-type::before { content: none; }
.lst_ul02.all li:last-of-type::before { content: "●"; }

.lst_ul03 { padding: 1rem; background-color: #f5f9ec; width: 100%; }
.lst_ul03 li { display: inline-block; line-height: 2; }
.lst_ul03 li::before { content: "●"; margin-right: 0.4rem; color: #bcdb80; font-size: 80%; vertical-align: 6%; }

.lst_ul04 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.lst_ul04 li { width: 48%; margin: 0.8rem 0; }
.lst_ul04 li a { display: block; width: 100%; height: 100%; padding: 0.5rem 1rem 0.5rem 0.5rem; text-decoration: none !important; position: relative; background: #074356; border: 1px solid #074356; text-align: center; color: #fff; }
.lst_ul04 li a::after { content: ""; background-color: #fff; display: inline-block; mask: url("../img/icon_arrow02_r.svg"); mask-size: cover; width: 1rem; height: 1rem; position: absolute; top: 30%; right: 8%; }
.lst_ul04 li a:hover { background: #ffffff; color: #074356; }
.lst_ul04 li a:hover::after { background-color: #074356; }

@media all and (min-width: 48em), print { .lst_ul04 { -webkit-justify-content: center; justify-content: center; }
  .lst_ul04 li { width: 23.3%; margin: 1rem; }
  .lst_ul04 li a { font-size: 2rem; padding: 1rem 0; }
  .lst_ul04 li a::after { content: ""; background-color: #fff; display: inline-block; mask: url("../img/icon_arrow02_r.svg"); mask-size: cover; width: 2rem; height: 2rem; position: absolute; top: 30%; right: 8%; }
  .lst_ul04 li a:hover { background: #ffffff; color: #074356; }
  .lst_ul04 li a:hover::after { background-color: #074356; }
  .lst_ul04.block_2::after { content: ""; display: block; width: 48%; margin: 1rem 0; } }
.lst_ul05 li:not(:last-child)::after { margin: 2rem auto 0 auto; content: ""; display: block; width: 0; height: 0; border-left: 20px solid transparent; border-right: 20px solid transparent; border-top: 20px solid #00529f; }

@media all and (min-width: 48em), print { .lst_ul05 li:not(:last-child)::after { margin: 3rem auto 5rem auto; content: ""; display: block; width: 0; height: 0; border-left: 30px solid transparent; border-right: 30px solid transparent; border-top: 30px solid #00529f; } }
.lst_ul06 { padding: 1rem; display: inline-flex; flex-wrap: wrap; width: 100%; }
.lst_ul06 li { margin-right: 0.8rem; }
.lst_ul06 li::before { content: "・"; font-family: "fontello"; font-size: 100%; vertical-align: 0%; }

.lst_ul07 { padding: 0.5rem; width: 100%; font-size: 0; }
.lst_ul07 li { text-indent: -1.4rem; padding-left: 1.4rem; font-size: 1.4rem; }
@media all and (min-width: 48em), print { .lst_ul07 li { text-indent: -1.6rem; padding-left: 1.6rem; font-size: 1.6rem; } }
.lst_ul07 li::before { content: "・"; font-family: "fontello"; font-size: 100%; vertical-align: 0%; }

.lst_ul08 li { text-indent: -1.4rem; padding-left: 1.4rem; line-height: 1.7; }
.lst_ul08 li::before { content: "・"; }
.lst_ul08 li a { text-decoration: underline; color: #06a444; }

@media all and (min-width: 48em), print { .lst_ul08 li { text-indent: -1.8rem; padding-left: 1.8rem; } }
.lst_ul09 li { text-indent: -1.4rem; padding-left: 1.4rem; line-height: 1.7; }
.lst_ul09 li a { color: #06a444; text-decoration: underline; }
.lst_ul09.hardtosee li { text-indent: -1.6rem; padding-left: 1.6rem; }
.lst_ul09.hardtosee li a { color: #ffffff; text-decoration: underline; }

@media all and (min-width: 48em), print { .lst_ul09 li { text-indent: -1.8rem; padding-left: 1.8rem; }
  .lst_ul09.hardtosee li { text-indent: -2.4rem; padding-left: 2.4rem; } }
/* --------------------------------
dl dt dd 関係
------------------------------------ */
.lst_dl01 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; line-height: 1.8; }
.lst_dl01 dt { width: 33%; }
.lst_dl01 dt::before { content: "●"; color: #70cb94; margin-right: 0.2rem; font-size: 80%; vertical-align: 5%; }
.lst_dl01 dd { width: 64%; margin: 0; }

@media all and (min-width: 48em), print { .lst_dl01 { margin: 0; }
  .lst_dl01 dt { width: 20%; padding: 0 0 0.6rem 0; }
  .lst_dl01 dd { width: 78%; margin: 0; padding: 0 0 0.6rem 0; } }
.lst_dl02 dt { padding: 0.8rem; font-weight: bold; border: 1px solid #00529f; background-color: #00529f; color: #fff; }
.lst_dl02 dd { margin: 0; padding: 1rem; border: 1px solid #00529f; border-top: none; border-bottom: none; }
.lst_dl02 dd:last-of-type { border-bottom: 1px solid #00529f; }

.lst_dl03 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; line-height: 1.8; }
.lst_dl03 dt { width: 20%; }
.lst_dl03 dt::before { content: "●"; color: #70cb94; margin-right: 0.2rem; font-size: 80%; vertical-align: 5%; }
.lst_dl03 dd { width: 77%; margin: 0; }

@media all and (min-width: 48em), print { .lst_dl03 { margin: 0; }
  .lst_dl03 dt { width: 6%; padding: 0 0 0.6rem 0; }
  .lst_dl03 dd { width: 93%; margin: 0; padding: 0 0 0.6rem 0; } }
.lst_dl04 { line-height: 1.8; }
.lst_dl04 dt { font-size: 1.8rem; font-weight: bold; padding-left: 1.8rem; text-indent: -1.8rem; }
.lst_dl04 dt::before { content: "●"; color: #70cb94; margin-right: 0.2rem; font-size: 100%; vertical-align: 2%; }
.lst_dl04 dd { margin: 0; padding-left: 1.7rem; }

@media all and (min-width: 48em), print { .lst_dl04 dt { font-size: 2.8rem; padding: 1.5rem 0 0.5rem 0; padding-left: 2.8rem; text-indent: -2.8rem; }
  .lst_dl04 dt::before { content: "●"; color: #70cb94; margin-right: 0.2rem; font-size: 100%; vertical-align: 3%; }
  .lst_dl04 dd { margin: 0; padding-left: 3.5rem; } }
/* --------------------------------
// ol list
---------------------------------- */
.lst_ol01 { counter-reset: number; list-style-type: none !important; /*数字を一旦消す*/ padding: 0 1rem; }
.lst_ol01 li { padding-bottom: 1rem; text-indent: -2.7rem; padding-left: 2.2rem; }
.lst_ol01 li::before { counter-increment: number; content: counter(number); /*数字のデザイン変える*/ display: inline-block; background: #00529f; color: #fff; width: 2.2rem; height: 2.2rem; border-radius: 50%; text-align: center; margin-right: 0.5rem; line-height: 2.2rem; text-indent: -2.2rem; padding-left: 2.2rem; font-size: 1.2rem; font-weight: bold; }

@media all and (min-width: 48em), print { .lst_ol01 { padding: 1rem; }
  .lst_ol01 li { padding-bottom: 1.5rem; text-indent: -3.5rem; padding-left: 2.2rem; }
  .lst_ol01 li::before { width: 2.5rem; height: 2.5rem; text-align: center; margin-right: 1rem; line-height: 2.5rem; font-size: 1.6rem; } }
/*-------------------- タイムテーブル
------------------------*/
.tbl_time { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; box-sizing: border-box; }
.tbl_time caption { padding: 1rem 0.5rem; caption-side: bottom; text-align: left; font-size: 1.35rem; line-height: 1.6; background-color: #fff; }
.tbl_time caption > ul { margin-bottom: 1rem; }
.tbl_time caption .maru { color: #70cb94; }
.tbl_time caption .yasumi { display: inline-block; background-color: #70cb94; padding: 0.1rem 0.8rem; color: #fff; }
.tbl_time tr th { background-color: #70cb94; font-weight: normal; color: #fff; font-size: 1.35rem; padding: 0.8rem 0; font-weight: bold; }
.tbl_time tr th:first-child { width: 32%; }
.tbl_time tr td { text-align: center; padding: 0.8rem 0; line-height: 1.3; font-size: 1.35rem; color: #70cb94; background-color: #ffffff; border-bottom: 1px solid #cccccc; }
.tbl_time tr td.time { color: #333333; font-size: 1.35rem; color: #333333; }
.tbl_time.table { border: 1px solid  #daecf6; border-bottom: none; }
.tbl_time.table tr th { color: #00529f; background-color: #daecf6; }
.tbl_time.table tr td { border-bottom: 1px solid #daecf6; }
.tbl_time.table tr th, .tbl_time.table tr td { font-size: 1.6rem; }
@media all and (min-width: 48em), print { .tbl_time.table tr th, .tbl_time.table tr td { font-size: 2rem !important; } }
.tbl_time.table caption { padding: initial; }

@media all and (min-width: 48em), print { .tbl_time { width: 100%; font-size: 1.6rem; }
  .tbl_time caption { width: 100%; font-size: 1.8rem; line-height: 1.6; padding: 1rem 0 4rem 4rem; }
  .tbl_time tr th { padding: 1.7rem 0; font-size: 1.8rem; }
  .tbl_time tr th:first-child { width: 27%; }
  .tbl_time tr th.close { width: auto; }
  .tbl_time tr td { font-size: 1.8rem; }
  .tbl_time tr td.time { text-align: center; font-size: 1.8rem; padding: 1.7rem 0; } }
.tbl_time_hardtosee { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; box-sizing: border-box; }
.tbl_time_hardtosee caption { padding: 1rem 0.5rem; caption-side: bottom; text-align: left; font-size: 1.6rem; line-height: 1.6; background-color: #000; color: #fff; padding: 1rem 0; }
.tbl_time_hardtosee tr th { background-color: #000; color: #fff; font-size: 1.4rem; padding: 0.8rem 0; font-weight: bold; border-bottom: 1px solid #cccccc; }
.tbl_time_hardtosee tr th:first-child { width: 32%; }
.tbl_time_hardtosee tr td { text-align: center; padding: 0.8rem 0; line-height: 1.3; font-size: 1.6rem; color: #fff; background-color: #000; border-bottom: 1px solid #cccccc; }
.tbl_time_hardtosee tr td.time { color: #333333; font-size: 1.35rem; color: #fff; }

@media all and (min-width: 48em), print { .tbl_time_hardtosee { width: 100%; font-size: 1.6rem; }
  .tbl_time_hardtosee caption { width: 100%; font-size: 2.4rem; line-height: 1.6; padding: 1rem; }
  .tbl_time_hardtosee tr th { padding: 1.7rem 0; font-size: 2.8rem; }
  .tbl_time_hardtosee tr th:first-child { width: 27%; }
  .tbl_time_hardtosee tr th.close { width: auto; }
  .tbl_time_hardtosee tr td { font-size: 2.8rem; }
  .tbl_time_hardtosee tr td.time { text-align: center; font-size: 2.8rem; padding: 1.7rem 0; } }
/* --------------------------- タイトル回り
------------------------------ */
.tit_h1 { font-size: 2.2rem; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; font-weight: bold; }

.tit_h2 { font-size: 1.9rem; margin: 0 0 1.5rem 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-around; justify-content: space-around; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; }
.tit_h2 .jp { font-size: 2.4rem; }
.tit_h2 .en { color: #00529f; font-size: 1.2rem; font-weight: bold; }

.tit_h2_kaso { font-size: 2.2rem; padding: 2rem 0 1.5rem 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-around; justify-content: space-around; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; }
.tit_h2_kaso::after { content: ""; width: 4rem; height: 2px; background-color: #00529f; margin-top: 0.3rem; }

.tit_h3 { color: #fff; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; font-size: 1.7rem; font-weight: bold; margin: 3rem 0 1rem 0; padding: 0.5rem; background-color: #00529f; }

.tit_h4 { color: #fff; font-size: 1.6rem; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; font-weight: bold; margin: 2rem 0 1rem 0; background-color: #6db3de; }

.tit_h5 { font-size: 1.5rem; font-weight: bold; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; margin: 1.5rem 0 1rem 0; color: #00529f; display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; align-items: center; }
.tit_h5::before { content: ""; width: 1rem; height: 3px; background-color: #00529f; margin-right: 0.5rem; flex-shrink: 0; }

@media all and (min-width: 48em), print { .tit_h1 { font-size: 4.8rem; }
  .tit_h2 { margin: 2rem 0; }
  .tit_h2 .jp { font-size: 4.8rem; }
  .tit_h2 .en { color: #00529f; font-size: 1.8rem; }
  .tit_h2_kaso { font-size: 4.8rem; margin: 5rem 0 2.5rem 0; }
  .tit_h2_kaso::after { content: ""; width: 6rem; height: 3px; background-color: #00529f; }
  .tit_h3 { font-size: 3rem; margin: 4rem 0 2.5rem 0; padding: 0.8rem 0 0.8rem 1.5rem; }
  .tit_h4 { font-size: 2.5rem; margin: 3.5rem 0 1.5rem 0; padding: 0.3rem 0 0.3rem 1rem; }
  .tit_h5 { font-size: 2rem; margin: 2.5rem 0 1.3rem 0; } }
/* -------------------------- BOX関係  
-----------------------------*/
.g_txt_box { width: 100%; padding: 0.5rem; margin: 2rem auto; background: #f6fbfe; border: 1px solid #687f83; }
.g_txt_box .tit { font-size: 1.5rem; border-bottom: 1px dashed #fff; text-align: center; font-weight: bold; padding-bottom: 0.5rem; margin: 0.5rem 0; }
.g_txt_box .text { font-size: 1.6rem; font-weight: bold; }

@media all and (min-width: 48em), print { .g_txt_box { width: 60%; margin: 3rem auto; padding: 2rem; }
  .g_txt_box .tit { font-size: 2rem; padding-bottom: 1rem; margin: 1rem 0; }
  .g_txt_box .text { font-size: 2.2rem; } }
/* ------------------
共通　_common.scss
--------------------- */
html { font-size: calc(100vw / 32); font-family: "メイリオ", Meiryo, sans-serif; overflow: auto; }

body { background: #fff; color: #333333; overflow: hidden; width: 100%; }

a { color: inherit; text-decoration: none; }

h1 { text-align: center; font-weight: bold; }

h2 { text-align: center; font-size: 2rem; padding: 0 0 1rem 0; }

h3 { font-size: 1.8rem; }

.main { font-size: 1.4rem; line-height: 1.6; }
.main a:not([href*="tel"]) { text-decoration: underline; }
.main a[class*="btn_"] { text-decoration: none; }

.wrap { padding: 0 1rem; margin: auto; }

.cyosei { width: 100%; height: 0.1rem; margin-top: -6.5rem; padding-top: 6.5rem; }

@media all and (min-width: 48em), print { html { font-size: 62.5%; }
  body { min-width: 1200px; }
  a { transition: 0.2s; }
  a:hover { opacity: 0.8; }
  h2 { font-size: 2.7rem; }
  h3 { font-size: 2.5rem; }
  .wrap { width: 1200px; padding: 0; }
  .main { font-size: 1.8rem; }
  .cyosei { width: 100%; height: 0.1rem; margin-top: 0rem; padding-top: 0rem; } }
@media all and (min-width: 48em) and (max-width: 74em), print { .wrap { width: 1200px; margin: auto; padding: 0 1rem; } }
/*--------------------------
アイコンフォント ---------------------------- */
@font-face { font-family: "fontello"; src: url("fontello/font/fontello.eot"); src: url("fontello/font/fontello.eot#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2") format("woff2"), url("fontello/font/fontello.woff") format("woff"), url("fontello/font/fontello.ttf") format("truetype"), url("fontello/font/fontello.svg#fontello") format("svg"); }
/*---------------------------- 
アンカー対策 
------------------------------- */
:target { scroll-margin-top: 8.0rem; }
@media all and (min-width: 48em), print { :target { scroll-margin-top: 6.0rem; } }

/*----------------------------
ヘッダー 
------------------------------- */
.header .wrap { padding: 0; }
.header .wrap .item_box .inner .sp_logo { display: block; width: 90%; height: auto; margin: auto; padding: 1rem 0 1rem 0; }
.header .wrap .item_box .inner .sp_logo a img { margin: auto; max-width: 100% !important; width: 100%; }
.header .wrap .item_box .inner .pc_logo { display: none; }
.header .wrap .sp_navbar { padding: 0.5rem 0; background-color: #fff; }
.header .wrap .sp_navbar ul.sp_nav { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
.header .wrap .sp_navbar ul.sp_nav li { width: 20%; border-right: 1px solid #ccc; text-align: center; }
.header .wrap .sp_navbar ul.sp_nav li a { display: block; width: 100%; height: 100%; }
.header .wrap .sp_navbar ul.sp_nav li a::before { font-family: "fontello"; display: block; margin: 0.5rem 0; font-size: 1.3rem; color: #00529f; }
.header .wrap .sp_navbar ul.sp_nav li:nth-child(1) a::before { content: "\e805"; }
.header .wrap .sp_navbar ul.sp_nav li:nth-child(2) a::before { content: "\e800"; }
.header .wrap .sp_navbar ul.sp_nav li:nth-child(3) a::before { content: "\f031"; }
.header .wrap .sp_navbar ul.sp_nav li:nth-child(4) a::before { content: "\e806"; }
.header .wrap .sp_navbar ul.sp_nav li:nth-last-of-type(1)::before { content: none; }
.header .wrap .sp_navbar.is-fixed { width: 100%; position: fixed; top: 0; left: 0; z-index: 9998; }

@media all and (min-width: 48em), print { .header { width: 100%; background-color: #fff; }
  .header .wrap .item_box { position: relative; z-index: 9999; }
  .header .wrap .item_box .inner { position: absolute; top: 0; left: 0; background-color: #fff; border-top: 4px solid #00529f; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; width: 35rem; padding: 2rem; }
  .header .wrap .item_box .inner .sp_logo { display: none; }
  .header .wrap .item_box .inner .pc_logo { display: block; width: 95%; height: 100%; padding: 0; margin: auto; }
  .header .wrap .item_box .inner .pc_logo a { display: block; width: 100%; height: 100%; }
  .header .wrap .item_box .inner .pc_logo a img { margin: 0; width: 100%; }
  .header .wrap .item_box .inner .info_box { text-align: center; padding: 2rem 0 0 0; }
  .header .wrap .item_box .inner .info_box .address_box { font-size: 1.6rem; }
  .header .wrap .item_box .inner .info_box .tel_box { padding: 1rem 0 0 0; font-size: 3.6rem; color: #00529f; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; font-weight: bold; }
  .header .wrap .item_box .inner .info_box .tel_box::before { content: "\e800"; font-family: "fontello"; }
  .header .wrap .sp_navbar { padding: 0; background-color: #fff; width: 100%; position: relative; }
  .header .wrap .sp_navbar ul.sp_nav { display: none; }
  .header .wrap .sp_navbar.is-fixed { width: 100%; position: relative; } }
@media all and (min-width: 48em) and (max-width: 74em), print { .header { width: 100%; background-color: #fff; }
  .header .wrap .item_box { position: relative; z-index: 9999; }
  .header .wrap .item_box .inner { position: absolute; top: 0; left: 1%; width: 25rem; padding: 2rem; }
  .header .wrap .item_box .inner .sp_logo { display: none; }
  .header .wrap .item_box .inner .pc_logo { display: block; width: 95%; }
  .header .wrap .item_box .inner .info_box { padding: 2rem 0 0 0; }
  .header .wrap .item_box .inner .info_box .address_box { font-size: 1.2rem; }
  .header .wrap .item_box .inner .info_box .tel_box { padding: 1rem 0 0 0; font-size: 2rem; } }
/*----------------------------------------- SP ドロップダウンメニュー -------------------------------------- */
.btn_sp_box { position: absolute; top: 24vw; right: 2.3%; z-index: 9999; }

.sp_navbar.is-fixed .btn_sp_box { position: absolute; top: 20%; right: 2.3%; z-index: 9999; }

.sp_navbar .btn-trigger.active { transform: translateY(-4.2rem); z-index: 9999; }

.sp_navbar.is-fixed .btn-trigger.active { transform: translateY(0); z-index: 9999; }

.btn-trigger { position: relative; z-index: 9999; width: 4.6rem; height: 3.5rem; padding: 0.2rem; cursor: pointer; transition: all ease 0.5s; }
.btn-trigger.active { z-index: 9999; }
.btn-trigger::after { position: absolute; bottom: 0.2rem; left: 50%; top: 2.2rem; transform: translateX(-50%); content: "MENU"; font-size: 0.85rem; letter-spacing: 0.5px; }
.btn-trigger.active::after { content: "CLOSE"; }

.btn-trigger span { position: absolute; left: 50%; width: 60%; height: 2px; background-color: #00529f; border-radius: 4px; transform: translateX(-50%); }

.btn-trigger, .btn-trigger span { display: inline-block; transition: all 0.5s; box-sizing: border-box; }

.btn-trigger span:nth-of-type(1) { top: 0vw; }

.btn-trigger span:nth-of-type(2) { top: 2.5vw; }

.btn-trigger span:nth-of-type(3) { top: 5vw; }

#btn_sp span:nth-of-type(1) { -webkit-animation: btn_sp-bar01 0.75s forwards; animation: btn_sp-bar01 0.75s forwards; }

@-webkit-keyframes btn_sp-bar01 { 0% { transform: translateY(10px) translateX(-50%) rotate(45deg); }
  50% { transform: translateY(10px) translateX(-50%) rotate(0); }
  100% { transform: translateY(0) translateX(-50%) rotate(0); } }
@keyframes btn_sp-bar01 { 0% { transform: translateY(10px) translateX(-50%) rotate(45deg); }
  50% { transform: translateY(10px) translateX(-50%) rotate(0); }
  100% { transform: translateY(0) translateX(-50%) rotate(0); } }
#btn_sp span:nth-of-type(2) { transition: all 0.25s 0.25s; opacity: 1; }

#btn_sp span:nth-of-type(3) { -webkit-animation: btn_sp-bar03 0.75s forwards; animation: btn_sp-bar03 0.75s forwards; }

@-webkit-keyframes btn_sp-bar03 { 0% { -webkit-transform: translateY(-10px) translateX(-50%) rotate(-45deg); }
  50% { -webkit-transform: translateY(-10px) translateX(-50%) rotate(0); }
  100% { -webkit-transform: translateY(0) translateX(-50%) rotate(0); } }
@keyframes btn_sp-bar03 { 0% { transform: translateY(-10px) translateX(-50%) rotate(-45deg); }
  50% { transform: translateY(-10px) translateX(-50%) rotate(0); }
  100% { transform: translateY(0) translateX(-50%) rotate(0); } }
#btn_sp.active span:nth-of-type(1) { -webkit-animation: active-btn_sp-bar01 0.75s forwards; animation: active-btn_sp-bar01 0.75s forwards; }

@-webkit-keyframes active-btn_sp-bar01 { 0% { -webkit-transform: translateY(0) translateX(-50%) rotate(0); }
  50% { -webkit-transform: translateY(1.5vw) translateX(-50%) rotate(0); }
  100% { -webkit-transform: translateY(1.5vw) translateX(-50%) rotate(45deg); } }
@keyframes active-btn_sp-bar01 { 0% { transform: translateY(0) translateX(-50%) rotate(0); }
  50% { transform: translateY(1.5vw) translateX(-50%) rotate(0); }
  100% { transform: translateY(1.5vw) translateX(-50%) rotate(45deg); } }
#btn_sp.active span:nth-of-type(2) { opacity: 0; }

#btn_sp.active span:nth-of-type(3) { -webkit-animation: active-btn_sp-bar03 0.75s forwards; animation: active-btn_sp-bar03 0.75s forwards; }

@-webkit-keyframes active-btn_sp-bar03 { 0% { -webkit-transform: translateY(0) translateX(-50%) rotate(0); }
  50% { -webkit-transform: translateY(-3.75vw) translateX(-50%) rotate(0); }
  100% { -webkit-transform: translateY(-3.75vw) translateX(-50%) rotate(-45deg); } }
@keyframes active-btn_sp-bar03 { 0% { transform: translateY(0) translateX(-50%) rotate(0); }
  50% { transform: translateY(-3.75vw) translateX(-50%) rotate(0); }
  100% { transform: translateY(-3.75vw) translateX(-50%) rotate(-45deg); } }
#nav { position: fixed; top: 0; right: 0; z-index: 9998; width: 100%; height: 100%; padding: 6rem 0 1rem; font-family: "メイリオ", Meiryo, sans-serif; overflow: auto; background: #fff; -webkit-transform: translateY(-3rem); transform: translateY(-3rem); visibility: hidden; opacity: 0; transition: 0.45s cubic-bezier(0.03, 0.1, 0.15, 0.78); }
#nav.show { position: fixed; -webkit-transform: translateX(0); transform: translateX(0); visibility: visible; opacity: 1; transition: 0.6s cubic-bezier(0.29, 0.19, 0.1, 0.85); }
#nav ul.gnav { width: 100%; padding: 0 0.5rem; margin: auto; }
#nav ul.gnav li > a span.en { display: none; }
#nav ul.gnav li .treat_point01::before { content: "\e803"; display: inline-block; font-family: "fontello"; margin-right: 0.4rem; transform: rotate(90deg); }
#nav ul.gnav li .treat_point01.active::before { transform: rotate(-90deg); }
#nav ul.gnav li #sub_menu01 { z-index: 9998; display: none; }
#nav ul.gnav li #sub_menu01 ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 0.5rem; }
#nav ul.gnav li #sub_menu01 ul li { width: 100%; }
#nav ul.gnav li #sub_menu01 ul li a { display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; height: 100%; padding: 1rem 0.2rem; font-size: 1.4rem; color: #333333; }
#nav ul.gnav li #sub_menu01 ul li a::before { content: "\e803"; font-family: "fontello"; margin-right: 0.4rem; }
#nav ul.gnav li #sub_menu01 ul li a:hover { background-color: #fff; color: #00529f; }
#nav ul.gnav li #sub_menu01 ul li a:hover::before { color: #00529f; }
#nav ul.gnav > li > a { display: block; width: 100%; height: 100%; font-size: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #ccc; box-sizing: border-box; }
#nav ul.gnav > li.treat_point { position: relative; }

@media all and (min-width: 48em), print { #nav { display: block; position: absolute; transform: none; visibility: visible; overflow: visible; opacity: 1; padding: 0; width: 100%; background-color: #fff; width: 100%; height: 6rem; left: 0; top: 70rem; transition: none; }
  #nav.is-fixed-pc { position: fixed; top: 0; transform: translateY(0); z-index: 999; height: auto; background-color: rgba(255, 255, 255, 0.85); transition: none; }
  #nav ul.gnav { width: 1200px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; padding: 0; position: relative; padding: 1rem 0; }
  #nav ul.gnav li { border-bottom: none; padding: 0; }
  #nav ul.gnav li .treat_point01::before { content: none; }
  #nav ul.gnav li #sub_menu01 { border-radius: 6px; position: absolute; width: 23%; top: 100%; left: 4%; z-index: 9998; text-align: left; display: none; background-color: #00529f; }
  #nav ul.gnav li #sub_menu01 ul { display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 0; }
  #nav ul.gnav li #sub_menu01 ul li { width: 100%; }
  #nav ul.gnav li #sub_menu01 ul li a { -webkit-align-items: center; align-items: center; font-size: 1.6rem; font-weight: bold; flex-grow: 0; text-align: left; padding: 1.8rem 0.5rem 1.8rem 1rem; color: #fff; }
  #nav ul.gnav > li { text-align: center; padding: 0; }
  #nav ul.gnav > li > a { display: block; width: 100%; height: 100%; background-color: #daecf6; padding: 1.3rem 2.3rem; border-radius: 6px; position: relative; border-bottom: none; }
  #nav ul.gnav > li > a span.jp { font-size: 1.8rem; }
  #nav ul.gnav > li > a span.en { display: block; font-size: 1.4rem; color: #007bc6; }
  #nav ul.gnav > li > a:hover { background-color: #00529f; }
  #nav ul.gnav > li > a:hover span.jp { color: #fff; }
  #nav ul.gnav > li > a:hover span.en { color: #fff; }
  #nav ul.gnav > li.treat_point { cursor: pointer; position: relative; }
  body.index #nav ul.gnav > li > a.home, body.treatment #nav ul.gnav > li > a.treatment, body.doctor #nav ul.gnav > li > a.doctor, body.clinic #nav ul.gnav > li > a.clinic, body.first #nav ul.gnav > li > a.first, body.access #nav ul.gnav > li > a.access, body.hard_to_see #nav ul.gnav > li > a.hard_to_see { background-color: #00529f; }
  body.index #nav ul.gnav > li > a.home span.jp, body.treatment #nav ul.gnav > li > a.treatment span.jp, body.doctor #nav ul.gnav > li > a.doctor span.jp, body.clinic #nav ul.gnav > li > a.clinic span.jp, body.first #nav ul.gnav > li > a.first span.jp, body.access #nav ul.gnav > li > a.access span.jp, body.hard_to_see #nav ul.gnav > li > a.hard_to_see span.jp { color: #fff; }
  body.index #nav ul.gnav > li > a.home span.en, body.treatment #nav ul.gnav > li > a.treatment span.en, body.doctor #nav ul.gnav > li > a.doctor span.en, body.clinic #nav ul.gnav > li > a.clinic span.en, body.first #nav ul.gnav > li > a.first span.en, body.access #nav ul.gnav > li > a.access span.en, body.hard_to_see #nav ul.gnav > li > a.hard_to_see span.en { color: #fff; } }
@media all and (min-width: 48em) and (max-width: 74em), print { #nav { width: 100%; background-color: #fff; width: 100%; height: 6rem; left: 0; top: 58rem; }
  #nav.is-fixed-pc { position: fixed; top: 0; transform: translateY(0); z-index: 999; height: auto; background-color: rgba(255, 255, 255, 0.85); transition: none; }
  #nav ul.gnav { width: 1200px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; padding: 0; position: relative; padding: 1rem; }
  #nav ul.gnav li { border-bottom: none; padding: 0; }
  #nav ul.gnav li #sub_menu01 { position: absolute; width: 23%; top: 100%; left: 9%; z-index: 9998; text-align: left; display: none; font-size: 0; }
  #nav ul.gnav li #sub_menu01 ul { display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 0; }
  #nav ul.gnav li #sub_menu01 ul li { width: 100%; }
  #nav ul.gnav li #sub_menu01 ul li a { -webkit-align-items: center; align-items: center; font-size: 1.6rem; font-weight: bold; flex-grow: 0; text-align: left; padding: 1.8rem 0.5rem 1.8rem 1rem; }
  #nav ul.gnav > li { text-align: center; padding: 0; }
  #nav ul.gnav > li > a { display: block; width: 100%; height: 100%; background-color: #daecf6; padding: 1.3rem 2.3rem; border-radius: 6px; position: relative; border-bottom: none; }
  #nav ul.gnav > li > a span.jp { font-size: 1.8rem; }
  #nav ul.gnav > li > a span.en { display: block; font-size: 1.4rem; color: #007bc6; }
  #nav ul.gnav > li > a:hover { background-color: #00529f; }
  #nav ul.gnav > li > a:hover span.jp { color: #fff; }
  #nav ul.gnav > li > a:hover span.en { color: #fff; }
  #nav ul.gnav > li.treat_point { cursor: pointer; position: relative; } }
/*-------------------------- クリニック概要
---------------------------- */
.overview { padding: 2rem 0 0 0; background-color: #edf5fa; }
.overview .wrap { width: 100%; margin: auto; padding: 0 1rem 2.5rem 1rem; }
.overview .wrap .overview_box .overview_logo { width: 100%; }
.overview .wrap .overview_box .overview_logo img { width: 60%; }
.overview .wrap .overview_box .overview_logo .overview_tel { text-align: center; }
.overview .wrap .overview_box .overview_logo .overview_tel span { color: #00529f; font-size: 1.8rem; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; font-weight: bold; }
.overview .wrap .overview_box .overview_logo .overview_tel span::before { content: "\e800"; font-family: "fontello"; margin-right: 0.5rem; }
.overview .wrap .overview_box .overview_info .overview_list > dl { display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.4rem; line-height: 1.4; }
.overview .wrap .overview_box .overview_info .overview_list > dl > dt { width: 25%; color: #00529f; border-top: 1px solid #ccc; text-align: center; margin: 0; padding: 1.5rem 0; font-weight: bold; }
.overview .wrap .overview_box .overview_info .overview_list > dl > dt:nth-of-type(4) { border-bottom: 1px solid #ccc; }
.overview .wrap .overview_box .overview_info .overview_list > dl > dd { width: 75%; border-top: 1px solid #ccc; margin: 0; padding: 1.5rem 1rem; }
.overview .wrap .overview_box .overview_info .overview_list > dl > dd:nth-of-type(4) { border-bottom: 1px solid #ccc; }
.overview .wrap .overview_box .overview_map { padding: 0.5rem 0 1.5rem 0; text-align: center; }
.overview .wrap .overview_box .overview_map a { font-size: 1.4rem; }
.overview .overview_map .googlemap { width: 100%; height: 30rem; border: none; }

@media all and (min-width: 48em), print { .overview { padding: 4rem 0 0 0; }
  .overview .wrap { width: 1200px; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 0 0 3.5rem 0; }
  .overview .wrap .overview_box { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 0 0 2rem 0; }
  .overview .wrap .overview_box .overview_logo { width: 100%; padding: 0 0 4rem 0; }
  .overview .wrap .overview_box .overview_logo img { width: 27%; margin: 0 auto; }
  .overview .wrap .overview_box .overview_logo .overview_tel { margin-top: 3.5rem; text-align: center; }
  .overview .wrap .overview_box .overview_logo .overview_tel span { color: #00529f; font-size: 3.6rem; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; font-weight: bold; }
  .overview .wrap .overview_box .overview_logo .overview_tel span::before { content: "\e800"; font-family: "fontello"; margin-right: 0.5rem; }
  .overview .wrap .overview_box .overview_info { width: 48%; padding: 0; }
  .overview .wrap .overview_box .overview_info .overview_list > dl { margin: 0 0 2rem 0; font-size: 1.8rem; }
  .overview .wrap .overview_box .overview_info .overview_list > dl > dt { width: 15%; display: block; padding: 2.3rem 0; text-align: center; font-weight: bold; }
  .overview .wrap .overview_box .overview_info .overview_list > dl > dd { width: 80%; padding: 2.3rem 0 2.3rem 2rem; }
  .overview .wrap .overview_box .overview_map { width: 50%; padding: 0; text-align: center; }
  .overview .wrap .overview_box .overview_map img { width: 90%; margin: 0 auto; }
  .overview .wrap .overview_box .overview_map a { margin-top: 2rem; font-size: 1.8rem; }
  .overview .overview_map { width: 100%; }
  .overview .overview_map .googlemap { width: 100%; height: 40rem; border: none; } }
@media all and (min-width: 48em) and (max-width: 74em), print { .overview .wrap { width: 95%; padding: 3rem 6rem 5rem 6rem; }
  .overview .wrap .overview_box .overview_map { width: 50%; padding: 0; text-align: center; }
  .overview .wrap .overview_box .overview_map img { width: 100%; margin: 0 auto; }
  .overview .wrap .overview_box .overview_map a { margin-top: 3rem; font-size: 1.8rem; } }
/*---------------------
footer グローバルナビ
---------------------- */
.footer_menu { display: none; }

@media all and (min-width: 48em), print { .footer_menu { width: 100%; display: block; text-align: center; padding: 2rem 0; }
  .footer_menu .inner { display: inline-block; }
  .footer_menu .inner .item { text-align: center; }
  .footer_menu .inner .item ul { display: inline-block; }
  .footer_menu .inner .item ul li { display: inline-block; border-right: 1px solid #ccc; padding: 0 0.7rem; }
  .footer_menu .inner .item ul li:nth-last-of-type(1) { border-right: none; }
  .footer_menu .inner .item ul li a { font-size: 1.8rem; }
  .footer_menu .inner .item ul li a:hover { text-decoration: underline; opacity: 1; } }
/*------------------- ページUP　SP固定部
--------------------- */
.sp_footer { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; position: fixed; bottom: 0; left: 0; width: 100%; background-color: rgba(255, 255, 255, 0.8); z-index: 999; font-size: 1.5rem; text-align: center; font-family: "メイリオ", Meiryo, sans-serif; }
.sp_footer .sp_footer_tel { width: 70%; color: #fff; background-color: #06a444; }
.sp_footer .sp_footer_tel a { width: 100%; height: 100%; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; padding: 0.5rem 0; font-size: 1.3rem; }
.sp_footer .sp_footer_tel a .icon { font-size: 1.6rem; }
.sp_footer .sp_footer_tel a .icon::before { content: "\e800"; font-family: "fontello"; margin-right: 0.5rem; }
.sp_footer .sp_footer_totop { width: 30%; color: #fff; background-color: #ffbb00; }
.sp_footer .sp_footer_totop a { width: 100%; height: 100%; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }

.pageup a { display: none; }

@media all and (min-width: 48em), print { .sp_footer { display: none; }
  .pageup { cursor: pointer; position: fixed; bottom: 1rem; right: 9rem; z-index: 999; }
  .pageup a { display: block; text-align: center; width: 100%; } }
@media all and (min-width: 48em) and (max-width: 74em), print { .sp_footer { display: none; }
  .pageup { cursor: pointer; position: fixed; bottom: 5rem; right: 4rem; z-index: 999; }
  .pageup a { display: block; font-size: 2.5rem; text-align: center; width: 100%; } }
/*----------------------------
フッター＠表記部
----------------------------- */
.footer { padding-bottom: 4.5rem; background-color: #00529f; }
.footer .copy { display: block; padding: 0.8rem; font-size: 1.1rem; font-weight: normal; text-align: center; color: #fff; }
.footer ul { display: none; }

@media all and (min-width: 48em), print { .footer { text-align: center; padding-bottom: 0; margin-top: -0.1rem; }
  .footer .copy { width: 100%; padding: 2.9rem 0; font-size: 1.8rem; } }
.item_col-2.-col_sm-1 .item_box .item { width: 100%; }
@media all and (min-width: 48em), print { .item_col-2.-col_sm-1 .item_box .item { width: 46%; } }
.item_col-2 .item_box { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.item_col-2 .item_box .item { padding: 1rem 0 2rem 0; width: 46%; }

/* -----------------------------
トップ　_top.scss
------------------------------- */
/*------------------ 共通項目 -------------------- */
/*-------------------- キービジュアル -------------------- */
.keyvsl { max-width: 100%; position: relative; }
.keyvsl #slider { height: 20rem; position: relative; background-size: cover; background-position: center center; }
.keyvsl #slider .wrap { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: flex-end; align-items: flex-end; width: 100%; height: 100%; z-index: 99; }
.keyvsl #slider .wrap .pop { padding-bottom: 1rem; }
.keyvsl #slider .wrap .pop > div { text-align: center; font-size: 1.4rem; text-shadow: 0 0 20px #000; color: #fff; font-weight: bold; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; line-height: 1.6; }

@media all and (min-width: 48em), print { .keyvsl #slider { height: 680px; }
  .keyvsl #slider .wrap { width: 1200px; margin: auto; position: relative; }
  .keyvsl #slider .wrap .pop { padding-bottom: 4rem; }
  .keyvsl #slider .wrap .pop > div { text-align: center; font-size: 3.3rem; text-shadow: 0 0 20px #000; color: #fff; font-weight: bold; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; line-height: 1.6; } }
@media all and (min-width: 48em) and (max-width: 74em), print { .keyvsl #slider { height: 56rem; } }
.bx-wrapper { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none !important; border: 0px solid #fff; background: transparent; margin-bottom: 0; }

.bx-wrapper .bx-pager { text-align: right; display: none; }

.bx-wrapper .bx-pager.bx-default-pager a { background: #c9c9c9; -moz-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; }

.bx-wrapper .bx-pager.bx-default-pager a.active { background: #1e90ff; }

/* --------------------
お知らせ ---------------------- */
.t_info { background-color: #f8fafc; padding: 4rem 0 6rem 0; }
.t_info .wrap dl { width: 100%; position: relative; border-bottom: 1px #d5d5d5 solid; }
.t_info .wrap dl dt.news_title { padding: 1rem 0; font-size: 1.4rem; line-height: 1.4; cursor: pointer; border-top: 1px #d5d5d5 solid; }
.t_info .wrap dl dt.news_title:nth-of-type(1) { border-top: none; }
.t_info .wrap dl dt.news_title .title_box { padding: 0 0.5rem; font-weight: bold; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.t_info .wrap dl dt.news_title .title_box a { text-decoration: none; }
.t_info .wrap dl dt.news_title .title_box .item { width: 97.5%; }
.t_info .wrap dl dt.news_title .title_box::after { content: "\e801"; font-family: "fontello"; color: #ffbb00; font-size: 110%; width: 2.5%; }
.t_info .wrap dl dt.news_title .title_box span.new { display: none; }
.t_info .wrap dl dt.news_title .title_box span.info_date { color: #00529f; font-size: 1.2rem; }
.t_info .wrap dl dt.news_title .title_box span.info_title { flex-grow: 1; color: #00529f; }
.t_info .wrap dl dt.news_title.open .title_box { font-weight: bold; }
.t_info .wrap dl dt.news_title.open .title_box::after { content: "\e804"; }
.t_info .wrap dl dd { margin: 0; padding: 0 0.5rem 1.5rem 0.5rem; }
.t_info .wrap dl dd:nth-of-type(n + 4) { display: none; }
.t_info .wrap dl dd p { font-size: 1.3rem; margin: 0 0 0 0; }

@media all and (min-width: 48em), print { .t_info { padding: 1rem 0 7rem 0; margin-top: 12rem; }
  .t_info .wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
  .t_info .wrap .tit_h2 { width: 16%; margin-top: 4rem; }
  .t_info .wrap dl { width: 72%; position: relative; border-bottom: 1px #d5d5d5 solid; }
  .t_info .wrap dl dt.news_title { padding: 2.5rem 0 0.8rem 0; font-size: 1.8rem; cursor: pointer; border-top: 1px #d5d5d5 solid; }
  .t_info .wrap dl dt.news_title:nth-of-type(1) { border-top: none; }
  .t_info .wrap dl dt.news_title .title_box { padding: 0; }
  .t_info .wrap dl dt.news_title .title_box span.new { display: none; }
  .t_info .wrap dl dt.news_title .title_box span.info_date { font-size: 1.6rem; }
  .t_info .wrap dl dt.news_title .title_box span.info_title { color: #00529f; }
  .t_info .wrap dl dt.news_title.open .title_box { font-weight: bold; }
  .t_info .wrap dl dt.news_title.open .title_box::before { mask: url("../img/icon_arrow01_u.svg"); }
  .t_info .wrap dl dd { margin: 0; padding: 0 0 2.5rem 0; }
  .t_info .wrap dl dd p { font-size: 1.8rem; margin: 0 0 0 0; } }
@media all and (min-width: 48em) and (max-width: 74em), print { .t_info { padding: 6rem 0; }
  .t_info .wrap .tit_h2 { width: 17%; margin-top: 3rem; }
  .t_info .wrap dl { width: 70%; } }
/*------------------------- 特長
---------------------------- */
.t_feature { background-color: #edf5fa; padding: 3.5rem 0 0 0; }
.t_feature .wrap .t_feature_ul > li { display: block; padding: 0 0 4rem 0; }
.t_feature .wrap .t_feature_ul > li .img_box { position: relative; background: url("../img/top_feature_img01.jpg") no-repeat center center/cover; width: 100%; height: 15rem; }
.t_feature .wrap .t_feature_ul > li .img_box > span { position: absolute; top: 5%; left: 5%; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; width: 4rem; height: 4rem; border-radius: 50%; background-color: #6db3de; font-size: 2rem; color: #fff; font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; }
.t_feature .wrap .t_feature_ul > li .text_box { background-color: #fff; padding: 2rem 1.5rem 3rem 1.5rem; }
.t_feature .wrap .t_feature_ul > li .text_box h3 { font-family: "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", sans-serif; color: #00529f; font-weight: bold; line-height: 1.3; }
.t_feature .wrap .t_feature_ul > li .text_box p { margin: 2rem 0 0 0; }
.t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul { padding: 1rem 0 0 0; }
.t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul li { text-indent: -1.4rem; padding-left: 1.4rem; line-height: 1.8; }
.t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul li::before { content: "＞"; margin-right: 0.2rem; vertical-align: 5%; font-weight: bold; font-size: 80%; }
.t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul li > a { color: #06a444; }
.t_feature .wrap .t_feature_ul > li:nth-child(2) .img_box { background: url("../img/top_feature_img02.jpg") no-repeat center center/cover; }
.t_feature .wrap .t_feature_ul > li:nth-child(3) .img_box { background: url("../img/top_feature_img03.jpg") no-repeat center center/cover; }
.t_feature .wrap .t_feature_ul > li:nth-child(4) .img_box { background: url("../img/top_feature_img04.jpg") no-repeat center center/cover; }

@media all and (min-width: 48em), print { .t_feature { padding: 6rem 0 8rem 0; }
  .t_feature .wrap .t_feature_ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .t_feature .wrap .t_feature_ul > li { width: 47.5%; display: block; padding: 0 0 5rem 0; }
  .t_feature .wrap .t_feature_ul > li .img_box { width: 100%; height: 30rem; }
  .t_feature .wrap .t_feature_ul > li .img_box > span { height: 8rem; width: 8rem; font-size: 4.8rem; top: 6%; left: 4%; }
  .t_feature .wrap .t_feature_ul > li .text_box { height: 28rem; padding: 2rem 2.5rem; }
  .t_feature .wrap .t_feature_ul > li .text_box h3 { font-size: 3rem; }
  .t_feature .wrap .t_feature_ul > li .text_box p { margin: 0.5rem 0 0 0; font-size: 1.8rem; }
  .t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul { padding: 1rem 0 0 0; }
  .t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul li { text-indent: -1.8rem; padding-left: 1.8rem; line-height: 1.8; font-size: 1.8rem; }
  .t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul li::before { content: "＞"; margin-right: 0.2rem; vertical-align: 5%; font-weight: bold; font-size: 80%; }
  .t_feature .wrap .t_feature_ul > li .text_box .t_feature_03ul li > a { color: #06a444; font-size: 1.7rem; }
  .t_feature .wrap .t_feature_ul > li:nth-child(3) .text_box { height: 63rem; }
  .t_feature .wrap .t_feature_ul > li:nth-child(4) .text_box { height: 63rem; } }
/*-------------------------
感染対策
----------------------------*/
.t_infections { background: url("../img/top_kansen_bkimg.jpg") no-repeat center center/cover; }
.t_infections .wrap { padding: 3rem 1rem; }
.t_infections .wrap .item { padding: 2rem 1rem; background-color: rgba(255, 255, 255, 0.7); outline: 1px solid #fff; outline-offset: -5px; }
.t_infections .wrap .item p { margin: 1rem 0 0.5rem 0; }

@media all and (min-width: 48em), print { .t_infections { background: url("../img/top_kansen_bkimg.jpg") no-repeat center center/cover; }
  .t_infections .wrap { padding: 6rem 0; }
  .t_infections .wrap .item { width: 740px; margin: auto; padding: 2rem 9rem 8rem 7.5rem; background-color: rgba(255, 255, 255, 0.7); outline: 1px solid #fff; outline-offset: -10px; }
  .t_infections .wrap .item p { margin: 1.5rem 0 0.5rem 0; } }
/*-------------------------
医院写真ギャラリー
----------------------------*/
.footer_slider { padding: 3rem 0; }
.footer_slider .f_slider li { padding: 0 0.3rem; }

@media all and (min-width: 48em), print { .footer_slider { padding: 6rem 0; } }
/* ----------------------------------------------------------------------------------
下層共通_lower.scss
---------------------------------------------------------------------------------- */
body:not(.index) .main { padding: 1rem 0 4rem 0; display: block; }
body:not(.index) .main .wrap { padding: 0 1rem; }
body:not(.index) .main .wrap .img_l.kaso, body:not(.index) .main .wrap .img_r.kaso { margin: 1.5rem auto; }
body:not(.index) .main .wrap .ul_box { padding: 3rem 0 0 0; }
body:not(.index) .main .wrap .breadcrumb { margin: 0; padding: 0; list-style: none; }
body:not(.index) .main .wrap .breadcrumb li { display: inline; list-style: none; }
body:not(.index) .main .wrap .breadcrumb li::after { content: ">"; padding: 0 0.2rem; color: #00529f; }
body:not(.index) .main .wrap .breadcrumb li:last-child::after { content: ""; }
body:not(.index) .main .wrap .breadcrumb li a { text-decoration: none; color: #00529f; font-size: 1.4rem; }
body:not(.index) .main .wrap .breadcrumb li a:hover { text-decoration: underline; }

@media all and (min-width: 48em), print { body:not(.index) #nav { margin-top: 0; }
  body:not(.index) .main { padding: 9rem 0 6rem 0; }
  body:not(.index) .main .wrap { padding: 0; }
  body:not(.index) .main .wrap .img_r.kaso { width: 35%; margin: 0 0 2rem 2rem; }
  body:not(.index) .main .wrap .img_l.kaso { width: 35%; margin: 0 2rem 2rem 0; }
  body:not(.index) .main .wrap .img_c.kaso { width: 35%; } }
@media all and (min-width: 48em) and (min-width: 48em) and (max-width: 74em), print { body:not(.index) .main .wrap { padding: 0 1rem; } }
@media all and (min-width: 48em), print { body:not(.index) .main .wrap .breadcrumb li::after { padding: 0 0.2rem; }
  body:not(.index) .main .wrap .breadcrumb li a { font-size: 1.6rem; } }
@media all and (min-width: 48em), print { body:not(.index) #nav { padding: 0; width: 1200px; left: 0; top: 50rem; transition: none; }
  body:not(.index) #nav.is-fixed-pc { position: fixed; top: 0; width: 100%; } }
@media all and (min-width: 48em) and (max-width: 74em), print { body:not(.index) #nav { left: 0; top: 31rem; }
  body:not(.index) #nav.is-fixed-pc { position: fixed; top: 0; } }
/* -------------------
下層ページKV設定
------------------- */
body:not(.index) .keyvsl_kaso { background: url("../img/kv_kaso.jpg") no-repeat center center/cover; }
body:not(.index) .keyvsl_kaso h1 { color: #fff; padding: 3.5rem 0; text-align: right; text-shadow: 0 0 50px #00529f; }
@media all and (min-width: 48em), print { body:not(.index) .keyvsl_kaso h1 { padding: 22rem 0; } }
@media all and (min-width: 48em) and (max-width: 74em), print { body:not(.index) .keyvsl_kaso h1 { padding: 13rem 0; } }

/*-------------------------
当院の診療 --------------------------- */
body.treatment .wrap .treatment_item dl dd p a { word-break: break-all; }
body.treatment .wrap .treatment_item dl dd p a img { display: block; width: 35%; height: auto; }

@media all and (min-width: 48em), print { body.treatment .wrap .treatment_item dl dd p a { word-break: break-all; }
  body.treatment .wrap .treatment_item dl dd p a img { display: block; width: 154px; height: auto; } }
/*--------------------- ドクター紹介
-----------------------*/
/*---------------------- クリニック紹介 ---------------------- */
body.clinic .sp-layer.sp-black.sp-padding { text-align: center; font-size: 2.3rem; }
body.clinic .tokucyo_box { margin: 0 0 4rem 0; }
body.clinic .tokucyo_box dl dt { font-weight: bold; }
body.clinic .tokucyo_box dl dd { margin: 0.5rem 0; }
body.clinic .item_box .item { padding: 1rem 0; }
body.clinic .item_box .item p.tit { text-align: center; }

@media all and (min-width: 48em), print { body.clinic .sp-layer.sp-black.sp-padding { text-align: center; font-size: 2.2rem; }
  body.clinic .tokucyo_box { margin: 0 0 4rem 0; }
  body.clinic .tokucyo_box dl dt { font-weight: bold; }
  body.clinic .tokucyo_box dl dd { margin: 0.5rem 0; }
  body.clinic .item_box { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  body.clinic .item_box .item { padding: 1rem 0 2rem 0; width: 46%; } }
#clinicslide img, #clinicslide p, #clinicslide_1 img, #clinicslide_1 p, #clinicslide_2 img, #clinicslide_2 p { display: none; }

.sp-selected-thumbnail { border: 4px solid #000; }

/*------------------------- 初めての方へ --------------------------- */
body.first #first_cyui { padding-top: 5rem; margin-top: -5rem; }

@media all and (min-width: 48em), print { body.first #first_cyui { padding-top: 3rem; margin-top: -3rem; } }
/* -------------------------
診療時間・アクセス
--------------------------- */
body.access .access_timetable { margin: 2rem 0 0 0; }
body.access .access_timetable .tbl_time caption { padding: 1rem 0 0 0; }
body.access .access_map { text-align: center; }
body.access .access_map iframe { display: block; width: 100%; border: none; margin: 0 0 2rem 0; height: 30rem; }
body.access .access_map .btn_box { text-align: center; }
body.access .overview { background-color: #fff; padding: 0; }
body.access .access_tel::before { content: "\e809"; font-family: "fontello"; color: #00529f; }

@media all and (min-width: 48em), print { body.access .access_timetable .tbl_time caption { font-size: 1.8rem; }
  body.access .access_map { text-align: center; }
  body.access .access_map img { width: 68%; max-width: 820px; margin-bottom: 2rem; }
  body.access .access_map iframe { display: block; width: 100%; border: none; margin: 0 0 3rem 0; height: 28rem; }
  body.access .overview { padding: 0; } }
/* -------------------------
目が見づらい方へ
--------------------------- */
body.hard_to_see .main { padding: 0; }
body.hard_to_see .hardtosee_wrap { background-color: #000; width: 100%; padding: 1rem 0 4rem 0; }
body.hard_to_see .wrap ol.breadcrumb li { color: #fff; }
body.hard_to_see .wrap ol.breadcrumb li a { color: #fff !important; }
body.hard_to_see .wrap ol.breadcrumb li::after { color: #fff !important; }
body.hard_to_see .wrap .wrap_inner { background-color: #000; color: #fff; padding: 0.8rem 0rem; }
body.hard_to_see .wrap .wrap_inner p { font-size: 1.8rem; }
body.hard_to_see .wrap .wrap_inner .tit_h2_kaso { font-size: 2.6rem; font-weight: bold; }
body.hard_to_see .wrap .wrap_inner .tit_h2_kaso::after { background-color: #fff; }
body.hard_to_see .wrap .wrap_inner .tit_h3 { background-color: #000; color: #fff; border: 1px solid #fff; font-size: 2.4rem; }
body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dt { border: 1px solid #fff; background-color: #000; color: #fff; font-size: 2rem; }
body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dd { border-left: 1px solid #fff; border-right: 1px solid #fff; font-size: 1.8rem; }
body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dd:nth-last-of-type(1) { border-bottom: 1px solid #fff; }
body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dd a { color: #fff !important; }
body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dd span.point.strong { font-size: 1.9rem; color: #fff !important; }
body.hard_to_see .wrap .wrap_inner ul.lst_ul02.all { background-color: #000; border: 1px solid #fff; }
body.hard_to_see .wrap .wrap_inner ul.lst_ul02.all li { font-size: 1.8rem; color: #fff; }
body.hard_to_see .wrap .wrap_inner ul.lst_ul02.all li::before { color: #fff; }

@media all and (min-width: 48em), print { body.hard_to_see .main { padding: 9rem 0 0 0; }
  body.hard_to_see .hardtosee_wrap { background-color: #000; width: 100%; padding: 1rem 0 6rem 0; }
  body.hard_to_see .wrap .wrap_inner { background-color: #000; color: #fff; }
  body.hard_to_see .wrap .wrap_inner p { font-size: 2.4rem; }
  body.hard_to_see .wrap .wrap_inner .tit_h2_kaso { font-size: 5rem; font-weight: bold; }
  body.hard_to_see .wrap .wrap_inner .tit_h2_kaso::after { background-color: #fff; }
  body.hard_to_see .wrap .wrap_inner .tit_h3 { background-color: #000; color: #fff; border: 1px solid #fff; font-size: 4rem; }
  body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dt { border: 1px solid #fff; background-color: #000; color: #fff; font-size: 2.8rem; }
  body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dd { border-left: 1px solid #fff; border-right: 1px solid #fff; font-size: 2.4rem; }
  body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dd:nth-last-of-type(1) { border-bottom: 1px solid #fff; }
  body.hard_to_see .wrap .wrap_inner dl.lst_dl02 dd span.point.strong { font-size: 2.5rem; }
  body.hard_to_see .wrap .wrap_inner ul.lst_ul02.all { background-color: #000; border: 1px solid #fff; }
  body.hard_to_see .wrap .wrap_inner ul.lst_ul02.all li { font-size: 2.4rem; color: #fff; }
  body.hard_to_see .wrap .wrap_inner ul.lst_ul02.all li::before { color: #fff; } }

/*# sourceMappingURL=style.css.map */
