@charset "UTF-8";
/* =======================================================================
 共通項目

======================================================================= */
/*関数*/
/* ----------------------------------------------------------- 関数
----------------------------------------------------------- */
/*サイトの横幅*/
/*media screen*/
/*文字SP*/
/*文字PC*/
/*基本フォント*/
/*游明朝*/
/*丸文字*/
/*基本背景色PC*/
/*基本文字色*/
/*ロゴカラー、診療のご案内テキスト、フッター背景色*/
/*グロナビカラー、特長背景色、医院概要背景色*/
/*グロナビボーダーカラー、医院概要サブタイトル背景色、タイムテーブルテキスト・線*/
/*グロナビテキストカラー、特長タイトル*/
/*電話番号、お知らせタイトル、特長サブタイトル*/
/*お知らせ背景色、診療のご案内背景色*/
/*お知らせ詳細背景色*/
/*フッターグロナビ背景色*/
/* ----------------------------------------------------------- フォントサイズ基本
----------------------------------------------------------- */
html { font-size: calc( 100vw / 32 ); overflow-y: auto; font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "sans-serif"; color: #222; }
@media screen and (min-width: 768px), print { html { font-size: 62.5%; overflow-y: scroll; } }

/* ----------------------------------------------------------- 構成
----------------------------------------------------------- */
body { font-size: 1.4rem; line-height: 1.3; width: 100%; margin: 0 auto; }
@media screen and (min-width: 768px), print { body { font-size: 1.6rem; padding: 0; margin: 0; min-width: calc(1080px + 40px); } }

.section { margin-bottom: 3rem; }
.section:first-child { margin-top: 3rem; }
.section:last-child { margin-bottom: 4rem; }
.section_inner { margin: 0 2%; }
@media screen and (min-width: 768px), print { .section { margin-bottom: 4rem; }
  .section:first-child { margin-top: 6rem; }
  .section:last-child { margin-bottom: 9rem; }
  .section_inner { max-width: 1080px; margin: 0 auto; } }

/* 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; }

/* img -------------------------------------- */
.img_c { display: block; max-width: 100%; height: auto; margin: 1.0rem auto; }

.img_l, .img_r { display: block; max-width: 80%; height: auto; margin: 1.0rem auto; }

@media screen and (min-width: 768px), print { .img_l { float: left; margin: 0 2.0rem 2.0rem 0; }
  .img_r { float: right; margin: 0 0 2.0rem 2.0rem; } }
/* PC・SP　表示・非表示 -------------------------------------- */
.sp_n { display: none; }

@media screen and (min-width: 768px), print { .sp_n { display: block; }
  .pc_n { display: none; } }
/* -----------------------------------------------------------
　枠
----------------------------------------------------------- */
.content { background-color: #fbfff2; height: auto; overflow-x: hidden; width: 100%; margin: 0 auto; padding: 0; }
.content.low { margin: 0 auto; }

.wrapper { width: 100%; height: auto; margin: 0 auto; }
.wrapper .main { width: 100%; margin: 0 auto; }
@media screen and (min-width: 768px), print { .wrapper .main { width: 100%; padding: 0; margin: 0; } }

/* -----------------------------------------------------------
　ヘッダー
----------------------------------------------------------- */
.header { background-color: #fff; height: 51vw; }
.header .head_frame { width: 96%; margin: 0 auto; }
.header .head_frame .head_logo { width: 100%; margin: 1.5rem 0; }
.header .head_frame .head_logo_img { width: 100%; height: auto; }
.header .head_frame .head_info { width: calc(100% - 6rem); }
.header .head_frame .head_info .tel { color: #009649; }
.header .head_frame .head_info .tel a { color: #009649; font-size: 3rem; font-weight: bold; text-decoration: none; padding: 0; margin: 0; }
.header .head_frame .head_info2 { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }
.header .head_frame .head_info2 .access { order: 2; position: relative; padding-left: 2rem; margin: 0; }
.header .head_frame .head_info2 .access::before { position: absolute; font-family: "fontello"; font-size: 2rem; content: '\e801'; top: 0; left: 3px; }
@media screen and (max-width: 736px) { .header .head_frame .head_info { width: calc(100% - 6rem); }
  .header .head_frame .head_info .tel { color: #009649; }
  .header .head_frame .head_info .tel a { display: inline-block; background-color: #00ac97; border-radius: 4px; color: #fff; font-size: 2.2rem; font-weight: bold; text-align: center; text-decoration: none; width: calc(100% - 2rem); padding: 1.2rem 1rem; } }
@media screen and (min-width: 768px), print { .header { height: 106px; }
  .header .head_frame { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; max-width: 1080px; height: 105px; }
  .header .head_frame .head_logo { margin: 0; width: auto; }
  .header .head_frame .head_logo_img { width: 506px; }
  .header .head_frame .head_info, .header .head_frame .head_info2 { display: -webkit-flex; display: flex; width: auto; }
  .header .head_frame .head_info { -webkit-justify-content: flex-end; justify-content: flex-end; }
  .header .head_frame .head_info .tel { font-size: 3rem; font-weight: bold; line-height: 1.3; padding: 0; margin: 0; }
  .header .head_frame .head_info .btn_reserve { margin-left: 20px; }
  .header .head_frame .head_info2 { -webkit-justify-content: space-between; justify-content: space-between; }
  .header .head_frame .head_info2 .access { order: 1; display: -webkit-flex; display: flex; } }

/* -----------------------------------------------------------
　メインナビ
----------------------------------------------------------- */
.main_nav_pc { display: none; }

@media screen and (min-width: 768px), print { .main_nav_pc { display: block; background-color: #f4fddf; border-bottom: 2px solid #6eb92b; }
  .main_nav_pc nav .main_nav { display: -webkit-flex; display: flex; max-width: 1080px; margin: 0 auto; }
  .main_nav_pc nav .main_nav li { position: relative; flex-grow: 1; }
  .main_nav_pc nav .main_nav li:first-child::before, .main_nav_pc nav .main_nav li::after { background-color: #ccc; content: ""; position: absolute; top: 50%; width: 1px; height: 30px; margin-top: -15px; }
  .main_nav_pc nav .main_nav li:first-child::before { left: 0; }
  .main_nav_pc nav .main_nav li::after { right: 0; }
  .main_nav_pc nav .main_nav li a { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; color: #565656; font-family: "Kosugi Maru", sans-serif; font-size: 1.8rem; text-decoration: none; white-space: nowrap; padding: 19px 0 18px; transition: opacity .2s; }
  .main_nav_pc nav .main_nav li a .sub_tit { color: #6eb92b; font-size: 1.2rem; padding-top: 4px; padding: 4px 0; }
  .main_nav_pc nav .main_nav li a:hover { opacity: .7; } }
/* -----------------------------------------------------------
　キービジュアル
----------------------------------------------------------- */
@media screen and (min-width: 768px), print { .key_on_sp { display: none; } }

.key_visual { display: block; background-color: #fbfff2; background-size: cover; background-position: center top; width: 100%; height: 53vw; }
.key_visual .key_on { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 100%; }
.key_visual .key_on_info { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 100%; height: auto; }
.key_visual .key_on_info .key_on_text { color: #222; font-family: "Kosugi Maru", sans-serif; font-size: 1.6rem; line-height: 1.8; width: 1010px; padding: 0; margin-bottom: 0; }
@media screen and (min-width: 768px), print { .key_visual { height: 60rem; margin: 0 auto; }
  .key_visual .key_on { -webkit-justify-content: center; justify-content: center; }
  .key_visual .key_on_info { max-width: 1080px; -webkit-justify-content: flex-start; justify-content: flex-start; }
  .key_visual .key_on_info .key_on_text { font-size: 3rem; line-height: 2; padding: 0; } }

/* -----------------------------------------------------------
　お知らせ
----------------------------------------------------------- */
.info { background-color: #fbfff2; }
.info.section { margin-bottom: 0; }
.info .section_inner { display: block; padding: 0 0 3rem; }
.info_title { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; color: #565656; font-family: "Kosugi Maru", sans-serif; font-size: 2.4rem; font-weight: normal; padding: 6rem 0 2rem; }
.info_title span { position: relative; }
.info_title span::before { position: absolute; top: 0; left: 50%; background: url(../images/icon_leaf.png) no-repeat; content: ""; width: 39px; height: 24px; margin-top: -30px; margin-left: -20px; }
@media screen and (min-width: 768px), print { .info .section_inner { display: -webkit-flex; display: flex; padding: 4rem 0; }
  .info_title { flex-basis: 330px; font-size: 3.6rem; height: auto; padding: 0; } }

.notice_frame_inner { background-color: #f7f7f7; border-radius: 8px; padding: 1rem; }
@media screen and (min-width: 768px), print { .notice_frame { flex: 1; height: auto; }
  .notice_frame_inner { padding: 4rem 3rem 4rem 4rem; } }

.news_list { background-color: #f7f7f7; height: 60vw; padding: 0 4% 0 2%; overflow-y: scroll; }
.news_title { color: #009649; font-size: 1.5rem; font-weight: bold; margin: 2rem 0 .6rem; }
.news_title:first-child { margin-top: 0; }
.news_body { border-bottom: 1px solid #ccc; }
@media screen and (min-width: 768px), print { .news_list { height: 17rem; padding: 0 17px 0 0; }
  .news_title { font-size: 2rem; margin: 2rem 0 1rem; } }

/*スマホ用スクロールバー*/
@media screen and (max-width: 767px) { .news_list::-webkit-scrollbar { background: #fff; width: 10px; }
  .news_list::-webkit-scrollbar-track { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }
  .news_list::-webkit-scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); } }
/* -----------------------------------------------------------
　当クリニックの特長
----------------------------------------------------------- */
.feature { background: #f4fddf url(../images/index_feature_bg.png); width: 100%; height: auto; }
.feature_inner { padding: 0 0 3rem; margin: 0 2%; }
.feature_title { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; color: #565656; font-family: "Kosugi Maru", sans-serif; font-size: 2.4rem; font-weight: normal; padding: 6rem 0 2rem; }
.feature_title span { position: relative; }
.feature_title span::before { position: absolute; top: 0; left: 50%; background: url(../images/icon_leaf.png) no-repeat; content: ""; width: 39px; height: 24px; margin-top: -30px; margin-left: -20px; }
.featureList { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; }
.featureList_item { flex-basis: 100%; margin-bottom: 2rem; }
.featureList_img { border-radius: 8px; width: 100%; vertical-align: bottom; margin-bottom: 1rem; }
.featureList_text { color: #009649; font-size: 1.6rem; font-weight: bold; line-height: 1.4; margin-bottom: .5rem; }
@media screen and (min-width: 768px), print { .feature { padding-bottom: 0; }
  .feature_inner { max-width: 1080px; padding: 6rem 0; margin: 0 auto; }
  .feature_title { flex-basis: 330px; font-size: 3.6rem; height: auto; padding: 4rem 0; }
  .featureList { -webkit-justify-content: space-between; justify-content: space-between; }
  .featureList_item { flex-basis: calc(50% - 20px); }
  .featureList_text { font-size: 2.2rem; } }

/* -----------------------------------------------------------
　診療のご案内
----------------------------------------------------------- */
.treatment { background-color: #fbfff2; width: 100%; height: auto; }
.treatment_inner { padding: 0 0 3rem; margin: 0 2%; }
.treatment_title { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; color: #565656; font-family: "Kosugi Maru", sans-serif; font-size: 2.4rem; font-weight: normal; padding: 6rem 0 2rem; }
.treatment_title span { position: relative; }
.treatment_title span::before { position: absolute; top: 0; left: 50%; background: url(../images/icon_leaf.png) no-repeat; content: ""; width: 39px; height: 24px; margin-top: -30px; margin-left: -20px; }
.treatmentList { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; }
.treatmentList li { flex-basis: calc(50% - 1%); text-align: center; margin-bottom: 1rem; }
.treatmentList li:not(:nth-child(2n)) { margin-right: 2%; }
.treatmentList li a { display: inline-block; text-decoration: none; }
.treatmentList_img { border-radius: 8px; width: 100%; vertical-align: bottom; margin-bottom: .6rem; }
.treatmentList p { color: #00ac97; font-size: 1.4rem; font-weight: bold; line-height: 1.4; text-decoration: none; margin-bottom: .5rem; }
@media screen and (min-width: 768px), print { .treatment { padding-bottom: 0; }
  .treatment_inner { max-width: 1080px; padding: 6rem 0; margin: 0 auto; }
  .treatment_title { flex-basis: 330px; font-size: 3.6rem; height: auto; padding: 4rem 0; }
  .treatmentList li { flex-basis: 252px; margin-bottom: 2rem; }
  .treatmentList li:not(:nth-child(4n)) { margin-right: 24px; }
  .treatmentList li a { transition: opacity .2s; }
  .treatmentList li a:hover { opacity: .7; }
  .treatmentList_img { margin-bottom: 1rem; }
  .treatmentList p { font-size: 2.2rem; } }

/* -----------------------------------------------------------
　医院概要
----------------------------------------------------------- */
.overview { background-color: #f4fddf; margin: 0; }
.overview_inner { padding: 0 0 5rem; margin: 0 2%; }
.overview_frame { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; margin: 0; padding: 0; }
.overview_frame_left { width: 100%; margin: 0 auto 2rem; }
.overview_frame_right { width: 100%; margin: 0 auto 2rem; }
.overview_title { text-align: center; padding: 3rem 0 2rem; }
.overview_title_img { width: 86%; height: auto; }
@media screen and (min-width: 768px), print { .overview { padding: 0; margin: 0 auto; }
  .overview_inner { max-width: 1080px; padding: 6rem 0; margin: 0 auto; }
  .overview_frame { -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-direction: row; flex-direction: row; margin: 0 auto; }
  .overview_frame_left { width: 520px; margin: 0; }
  .overview_frame_right { width: 520px; margin: 0; padding: 0; }
  .overview_title { padding: 0; }
  .overview_title_img { width: 506px; margin-bottom: 3rem; } }

.officeOutline_title { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background-color: #6eb92b; border-radius: 1.5rem; color: #fff; font-weight: bold; line-height: 1; width: 24%; padding: .7rem 1rem; margin-bottom: .7rem; }
.officeOutline_desc { border-bottom: 1px dotted #009649; color: #222; line-height: 1.5; padding: 0 0 .7rem .7rem; margin-bottom: 1rem; }
.officeOutline_desc .tel a { color: #009649; font-size: 1.8rem; font-weight: bold; text-decoration: none; margin-bottom: 0; }
@media screen and (min-width: 768px), print { .officeOutline_title { width: 20%; padding: 8px 0 6px; }
  .officeOutline_desc { -webkit-flex-direction: column; flex-direction: column; padding: 0 0 .7rem 2rem; }
  .officeOutline_desc .tel { color: #009649; font-size: 2.6rem; font-weight: bold; margin-bottom: 0; } }

/* -----------------------------------------------------------
　診療時間
----------------------------------------------------------- */
.timetable { width: 100%; text-align: center; padding: 0px; }
.timetable tr { vertical-align: middle; padding: 0px; margin: 0px; }
.timetable tr.line { border-bottom: 1px solid #6eb92b; }
.timetable tr th { border-bottom: 1px solid #6eb92b; font-size: 90%; font-weight: normal; text-align: center; padding: 12px 0; }
.timetable tr th.holiday { width: 13%; letter-spacing: -.3rem; }
.timetable tr td { color: #6eb92b; background-color: #fff; text-align: center; padding: 0.8rem 0; }
.timetable tr td.time { color: #222; font-size: 80%; width: 26%; }
.timetableWrap { background-color: #fff; border-radius: 8px; padding: .1rem .8rem; margin-bottom: 1rem; }
@media screen and (min-width: 768px), print { .timetable tr th { font-size: 1.6rem; }
  .timetable tr td { font-size: 1.6rem; padding: 1.2rem 0; }
  .timetable tr td.time { font-size: 100%; width: 120px; }
  .timetableWrap { padding: 1rem 1.5rem; } }

.time_notice { font-size: 1.2rem; }
@media screen and (min-width: 768px), print { .time_notice { font-size: 1.6rem; } }

.accessmap { width: 100%; }

/* -----------------------------------------------------------
　フッター
----------------------------------------------------------- */
.footer_frame { display: none; }
@media screen and (min-width: 768px), print { .footer { background-color: #b8dfd5; color: #222; }
  .footer_frame { display: block; max-width: 1080px; padding: 30px 0 12px; margin: 0 auto; }
  .footer_frame ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; list-style-type: none; margin: 0 auto; }
  .footer_frame ul li { border-right: 1px solid #222; line-height: 1; padding: 0 10px; }
  .footer_frame ul li:first-child { border-left: 1px solid #222; }
  .footer_frame ul li a { color: #222; line-height: 1; text-decoration: none; transition: opacity .2s; }
  .footer_frame ul li a:hover { opacity: .7; }
  .footer_frame ul li a p { line-height: 1; margin-bottom: 0; }
  .footer_frame ul li a p:hover { opacity: .7; }
  .footer_frame ul.global_list, .footer_frame ul.aside_list1 { margin: 0 auto 2rem; }
  .footer_frame ul.aside_list1 img, .footer_frame ul.aside_list1 i { display: none; } }

.copyright { background-color: #00ac97; color: #fff; font-size: 1rem; text-align: center; height: auto; padding: 1rem 0; margin: 0; }
@media screen and (min-width: 768px), print { .copyright { font-size: 1.4rem; padding: 38px 0; } }

/* -----------------------------------------------------------
　ページトップへ
----------------------------------------------------------- */
#linkpagetop { float: right; }

#linkpagetop img { width: 18vw; height: auto; }

#pagetop { position: fixed; bottom: 15vw; right: 0px; height: 15vw; text-align: right; margin: 0 2% 0 0; z-index: 1000; }

#pagetop a { display: block; }

#pagetop_position { float: right; margin: 0px; padding: 0px; }

@media screen and (min-width: 768px), print { #linkpagetop { float: left; }
  #linkpagetop img { width: 80px; height: auto; }
  #pagetop { position: fixed; bottom: 120px; right: 100px; margin: 0; height: 80px; text-align: center; }
  #pagetop a { display: block; }
  #pagetop_position { float: right; margin: 0px; padding: 0px; }
  .pagetop { width: 80px; height: 80px; } }
@media screen and (min-width: 768px) and (max-width: 1500px) { #pagetop { position: fixed; bottom: 190px; right: 100px; margin: 0 0 0 0; height: 80px; text-align: center; } }
/*----------------------------------------------------------- インポート
----------------------------------------------------------- */
/*ハンバーガー*/
/*ハンバーガー*/
.drawr { display: none; position: absolute; top: 40vw; width: 100%; padding: 0; margin: 0 auto; height: auto; z-index: 999999; background-color: #00ac97; }
.drawr ul.hbg li { text-align: center; margin-bottom: 0; }
.drawr ul.hbg li a { border-bottom: #fff 1px solid; color: #fff; display: block; font-size: 1.6rem; text-decoration: none; padding: 1rem 0; }
.drawr ul.hbg li a p { color: #fff; font-size: 1.6rem; font-weight: normal; margin-bottom: 0; }
.drawr ul.hbg li a img, .drawr ul.hbg li a i, .drawr ul.hbg li a br { display: none; }

.openNav { display: block; }

/*ハンバーガーナビ*/
.main_nav_sp { display: block; width: 100%; height: auto; margin: 0; }
.main_nav_sp ul.gnav { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; width: 100%; box-sizing: border-box; margin: 0 auto; }
.main_nav_sp ul.gnav li { width: 100%; font-weight: normal; font-size: 1.6rem; letter-spacing: 0.05em; line-height: 140%; list-style-type: none; box-sizing: border-box; padding: 0; border-bottom: #fff 1px solid; text-align: center; }
.main_nav_sp ul.gnav li a { color: #fff; text-decoration: none; width: 100%; display: block; padding: 1rem 0; text-shadow: none; box-sizing: border-box; }
@media screen and (min-width: 768px), print { .main_nav_sp { display: none; } }

.toggle { display: none; }
.toggle-label { cursor: pointer; display: block; width: 56px; height: 50px; padding: 0 0 4px 0; user-select: none; -webkit-tap-highlight-color: transparent; }
.toggle-label:active { -webkit-tap-highlight-color: transparent; }
.toggle-label .toggle-icon, .toggle-label .toggle-icon::before, .toggle-label .toggle-icon::after { position: relative; display: block; top: 50%; left: 50%; height: 3px; width: 42px; background: #fff; content: ''; transition: all 500ms ease-in-out; }
.toggle-label .toggle-icon { transform: translate3d(-50%, -5px, 0); }
.toggle-label .toggle-icon::before { transform: translate3d(-50%, -11.5px, 0); }
.toggle-label .toggle-icon::after { transform: translate3d(-50%, 5px, 0); }
.toggle-label .toggle-text { position: relative; display: block; top: calc(100% - 10px); height: 14px; font-size: 12px; color: #fff; text-align: center; }
.toggle-label .toggle-text::before { position: absolute; width: 100%; left: 0; content: 'MENU'; transition: all 500ms ease-in-out; visibility: visible; opacity: 1; }
.toggle-label .toggle-text::after { position: absolute; width: 100%; left: 0; content: 'CLOSE'; transition: all 500ms ease-in-out; visibility: hidden; opacity: 0; }
.toggle:checked ~ .toggle-label .toggle-icon { background-color: transparent; }
.toggle:checked ~ .toggle-label .toggle-icon::before, .toggle:checked ~ .toggle-label .toggle-icon::after { top: 0; }
.toggle:checked ~ .toggle-label .toggle-icon::before { transform: translateX(-50%) rotate(45deg); top: 1.5px; }
.toggle:checked ~ .toggle-label .toggle-icon::after { transform: translateX(-50%) translateY(-10px) rotate(-45deg); top: 8.5px; }
.toggle:checked ~ .toggle-label .toggle-text::before { visibility: hidden; opacity: 0; }
.toggle:checked ~ .toggle-label .toggle-text::after { visibility: visible; opacity: 1; }

.container { position: absolute; top: 7.4rem; right: 2%; display: flex; align-items: center; justify-content: center; background-color: #00ac97; width: 56px; padding: 0 0 0.6rem 0; cursor: pointer; }

/*見出し*/
/* -----------------------------------------------------------
　見出し
----------------------------------------------------------- */
h1 { margin: 0; }

.title_lv1 { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; color: #565656; font-family: "Kosugi Maru", sans-serif; font-size: 2.6rem; font-weight: normal; line-height: 160%; height: 100%; }
@media screen and (min-width: 768px), print { .title_lv1 { width: 1080px; font-size: 3.6rem; margin: 0 auto; } }

.title_lv2 { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; color: #565656; font-family: "Kosugi Maru", sans-serif; font-size: 2rem; font-weight: normal; padding: 3rem 0; }
.title_lv2 span { position: relative; }
.title_lv2 span::before { position: absolute; top: 0; left: 50%; background: url(../images/icon_leaf.png) no-repeat; content: ""; width: 39px; height: 24px; margin-top: -30px; margin-left: -20px; }
@media screen and (min-width: 768px), print { .title_lv2 { flex-basis: 330px; font-size: 3.6rem; height: auto; padding: 4rem 0; } }

.title_lv3 { background-color: #6fba2c; border-radius: .8rem; color: #fff; font-size: 1.6rem; font-weight: bold; padding: 1.2rem 1.4rem; margin-bottom: 2rem; }
@media screen and (min-width: 768px), print { .title_lv3 { font-size: 3rem; padding: .8rem 2rem .7rem; } }

.title_lv4 { border-bottom: 1px solid #009649; color: #009649; font-size: 1.6rem; font-weight: bold; padding: .5rem 0; margin-bottom: 2rem; }
@media screen and (min-width: 768px), print { .title_lv4 { font-size: 2.4rem; } }

.title_lv5 { color: #009649; font-size: 1.6rem; font-weight: bold; padding: 0; margin-bottom: 1rem; }
@media screen and (min-width: 768px), print { .title_lv5 { font-size: 2rem; } }

p { font-size: 1.4rem; margin: 0 0 2rem 0; line-height: 140%; }
@media screen and (min-width: 768px), print { p { font-size: 1.6rem; line-height: 160%; } }

/*アサイド*/
/* -----------------------------------------------------------
　アサイド
----------------------------------------------------------- */
.aside { width: 100%; margin: 0 auto; /*リンクリスト*/ }
.aside_title { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; color: #fff; font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "serif"; font-size: 2.2rem; font-weight: normal; letter-spacing: .03em; padding: 2rem 0 1.2rem; }
.aside_title span { font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "sans-serif"; font-size: 1rem; letter-spacing: normal; }
.aside_list { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; margin: 0 2%; }
.aside_list li { width: 97%; margin: 0 auto 1rem; }
.aside_list li a { text-decoration: none; }
@media screen and (min-width: 768px), print { .aside { margin: 0; /*リンクリスト*/ }
  .aside_title { font-size: 3.6rem; letter-spacing: .1em; padding: 60px 0 30px; }
  .aside_title span { font-size: 1.4rem; }
  .aside_list { -webkit-justify-content: space-between; justify-content: space-between; margin: 0; }
  .aside_list li { width: auto; margin-bottom: 4rem; }
  .aside_list li a:hover { opacity: .7; } }

/* -----------------------------------------------------------
　下層
----------------------------------------------------------- */
/* h1タイトル背景 */
.key_visual_low { background-image: url(../images/key_visual_01.jpg); background-repeat: no-repeat; background-position: center; padding: 2rem 2%; }
@media screen and (min-width: 768px), print { .key_visual_low { height: 200px; padding: 0; } }

/* テキストと画像 */
.mediaBox { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; }
.mediaBox_img .img { width: 100%; vertical-align: bottom; margin-bottom: 2rem; }
@media screen and (min-width: 768px), print { .mediaBox { -webkit-flex-direction: row; flex-direction: row; }
  .mediaBox_text { flex-grow: 1; }
  .mediaBox_img { margin-right: 5rem; }
  .mediaBox_img .img { width: 42rem; height: auto; } }

.fl_r_img { width: 100%; margin-bottom: 2rem; }
@media screen and (min-width: 768px), print { .fl_r_img { float: right; width: 42rem; margin-left: 3rem; } }

.fl_l_img { width: 100%; margin-bottom: 2rem; }
@media screen and (min-width: 768px), print { .fl_l_img { float: left; width: 42rem; margin-right: 3rem; } }

/* テキスト */
.text_area { color: #222; padding: 2rem 1.5rem; margin-bottom: 2rem; }
.text_area ul { margin-bottom: 0; }
@media screen and (min-width: 768px), print { .text_area { padding: 4rem 4.5rem; } }
.text_area-plain { background-color: #dbf3bc; }
.text_area-basic { background-color: #ebf6f3; }

.text_link { display: inline-block; color: #00ac97; }
@media screen and (min-width: 768px), print { .text_link { transition: opacity .2s; }
  .text_link:hover { text-decoration: none; opacity: .7; } }

/* ボタン */
.btn { position: relative; display: inline-block; border-radius: .8rem; box-sizing: border-box; color: #00ac97; font-weight: bold; text-align: center; text-decoration: none; width: 80%; padding: 1.5rem 3%; margin: 0 10% 2rem; }
.btn .icon-right-circled { position: absolute; top: 50%; right: 1rem; margin-top: -1rem; }
@media screen and (min-width: 768px), print { .btn { width: auto; min-width: 260px; margin: 0 0 2rem; transition: opacity .2s; }
  .btn:hover { opacity: .7; } }
.btn-plain { background-color: #fff; border: 2px solid #00ac97; padding: 1.3rem 3%; }
.btn-basic { background-color: #00ac97; color: #fff; padding: 1.5rem 3%; }

/* dlリスト */
.dlList { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 3rem; /* カラーパターン */ /* スマホでカラムになるパターン */ }
.dlList dt { display: -webkit-flex; display: flex; width: calc(30% - 2rem); font-weight: bold; padding: 1rem; }
.dlList dd { box-sizing: border-box; width: 70%; padding: 1rem; margin: 0; }
@media screen and (min-width: 768px), print { .dlList dt { width: calc(25% - 4rem); padding: 2rem; }
  .dlList dd { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; width: 75%; padding: 2rem; } }
.dlList-plain dt { background-color: #6fba2c; border-bottom-color: #fff; border-bottom-style: solid; border-bottom-width: 1px; color: #fff; }
.dlList-plain dt:last-of-type { border-bottom-color: #6fba2c; }
.dlList-plain dd { background-color: #fff; border-bottom: 1px solid #6fba2c; }
.dlList-plain dd:first-of-type { border-top: 1px solid #6fba2c; }
@media screen and (min-width: 768px), print { .dlList-plain dd { background-color: #fff; border-bottom: 1px solid #6fba2c; }
  .dlList-plain dd:first-of-type { border-top: 1px solid #6fba2c; } }
.dlList-basic { border-top: 1px dotted #009649; }
.dlList-basic dt { background-color: #fff; border-bottom: 1px dotted #009649; color: #009649; }
.dlList-basic dd { background-color: #fff; border-bottom: 1px dotted #009649; }
.dlList-col dt { display: block; text-align: left; width: 100%; margin: 0; }
.dlList-col dd { width: 100%; }
.dlList-col dd:first-of-type { border-top-width: 0; }
@media screen and (min-width: 768px), print { .dlList-col dt { display: -webkit-flex; display: flex; width: calc(25% - 4rem); }
  .dlList-col dd { width: 75%; }
  .dlList-col dd:first-of-type { border-top-width: 1px; } }

/* ulリスト */
.plainList { list-style-type: none; /* 中黒付き */ }
.plainList li { font-size: 1.4rem; line-height: 140%; margin-bottom: 1rem; }
@media screen and (min-width: 768px), print { .plainList li { font-size: 1.6rem; line-height: 160%; } }
.plainList.disc { list-style-type: disc; padding-left: 2rem; margin-left: 0; }

/* 色丸リスト */
.discList { list-style-type: none; line-height: 140%; margin-left: 1rem; margin-bottom: 2rem; }
.discList li { position: relative; font-size: 1.4rem; padding-left: 2rem; margin-bottom: 1rem; }
.discList li::before { position: absolute; content: ""; top: 5px; left: 0; background-color: #00ac97; width: 8px; height: 8px; border-radius: 50%; }
.discList li:last-child { margin-bottom: 0; }
@media screen and (min-width: 768px), print { .discList { line-height: 160%; /* 3分割(PC) */ }
  .discList li { font-size: 1.6rem; }
  .discList-col3 { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .discList-col3 li { box-sizing: border-box; width: calc(100% / 3); padding-right: 1rem; }
  .discList-col3 li:nth-last-child(-n+3) { margin-bottom: 0; } }

.table { width: 100%; border-right: 1px solid #6eb92b; border-collapse: collapse; margin-bottom: 2rem; }
.table th { display: block; background: #6eb92b; color: #fff; text-align: left; vertical-align: top; padding: 1rem 1.5rem; }
.table td { display: block; background: #fff; border-left: 1px solid #6eb92b; border-bottom: 1px solid #6eb92b; vertical-align: top; padding: .8rem 1.5rem; }
@media screen and (min-width: 768px), print { .table { width: 100%; }
  .table th { display: table-cell; border-top: 1px solid #6eb92b; width: 30%; }
  .table td { display: table-cell; border-top: 1px solid #6eb92b; padding: 1rem 1.5rem; } }

/* -----------------------------------------------------------
　アクセス
----------------------------------------------------------- */
.access .officeOutline { margin-bottom: 3rem; }
@media screen and (min-width: 768px), print { .access .officeOutline { margin-bottom: 4rem; }
  .access .accessmap { width: auto; } }

.accessmap_i iframe { width: 100%; height: 300px; }
@media screen and (min-width: 768px), print { .accessmap_i iframe { height: 360px; } }

/* 画像リスト */
.mediaList { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; }
.mediaList_item { flex-basis: 100%; margin-bottom: 2rem; }
.mediaList_item p { margin-bottom: 0; }
.mediaList_img { width: 100%; vertical-align: bottom; margin-bottom: 1rem; }
@media screen and (min-width: 768px), print { .mediaList { -webkit-justify-content: space-between; justify-content: space-between; }
  .mediaList_item { flex-basis: calc(50% - 2rem); } }

/*# sourceMappingURL=style.css.map */
