@charset "UTF-8";
/* =======================================================================
 共通項目

======================================================================= */
/*関数*/
/* ----------------------------------------------------------- 関数
----------------------------------------------------------- */
/*サイトの横幅*/
/*media screen*/
/*文字SP*/
/*文字PC*/
/*基本フォント*/
/*白*/
/*基本背景色PC*/
/*基本文字色*/
/*お知らせタイトル、特長1、h4タイトル*/
/*特長2、h5タイトル*/
/**/
/*電話番号、特長3、h3タイトル*/
/*お知らせタイトル背景*/
/*アサイドアイコン背景*/
/**/
/*特長4、h3タイトル*/
/*アクセス*/
/*ナビボーダー、診療時間表、フッター*/
/*ナビテキスト、アサイドタイトル、概要タイトル、診療時間表*/
/**/
/* ----------------------------------------------------------- フォントサイズ基本
----------------------------------------------------------- */
html { font-size: calc( 100vw / 32 ); overflow-y: auto; font-family: メイリオ, Meiryo, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; color: #444; }
@media screen and (min-width: 768px) { html { font-size: 62.5%; overflow-y: scroll; } }

/* ----------------------------------------------------------- 構成
----------------------------------------------------------- */
body { background-color: #faf7ec; font-size: 1.4rem; line-height: 1.8; width: 100%; margin: 0 auto; }
@media screen and (min-width: 768px) { body { font-size: 1.8rem; padding: 0; margin: 0; } }

.content { height: auto; overflow: 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) { .wrapper { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 1110px; }
  .wrapper .main { width: 825px; margin: 0; } }

/* トップぺージ */
#index .section_inner { margin: 0 2% 5rem; }
@media screen and (min-width: 768px) { #index .section_inner { margin: 0 auto 10rem; } }

.section_inner { margin: 0 2% 3rem; }
@media screen and (min-width: 768px) { .section_inner { margin: 0 auto 5rem; } }

/* 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; }

.font_red { color: red; }

/* 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) { .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) { .sp_n { display: block; }
  .pc_n { display: none; } }
/* -----------------------------------------------------------
　ヘッダー
----------------------------------------------------------- */
.header { background-color: #faf7ec; box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.3); height: 82vw; /*待ち状況・順番受付*/ /*駐車場*/ }
.header_frame { width: 96%; margin: 0 auto; }
.header_logo { width: 80%; padding: 1rem 0; }
.header_logo_img { width: 100%; height: auto; }
.header_detail { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; }
.header_info3 { -webkit-justify-content: center; justify-content: center; background-color: #009FE8; background-size: 10%; border: 4px solid #5fcdff; border-top-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem; box-sizing: border-box; color: #fff; font-weight: bold; line-height: 1.05; text-align: center; width: 100%; height: auto; padding-top: 1rem; padding-bottom: 1rem; order: 2; color: #fff !important; text-decoration: none !important; }
.header_info3 span { position: relative; }
.header_info3 span::before { position: absolute; top: 0px; left: -32px; content: ""; background: url(../images/icon_hourglass.png) no-repeat; background-size: 100%; width: 20px; height: 40px; }
.header_info { -webkit-justify-content: center; justify-content: center; background-color: #8dbb3c; background-size: 10%; border: 4px solid #cbf384; border-top-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem; box-sizing: border-box; color: #fff; font-weight: bold; line-height: 1.05; text-align: center; width: 100%; height: auto; padding-top: 1rem; padding-bottom: 1rem; order: 3; }
.header_info span { position: relative; }
.header_info span::before { position: absolute; top: 3px; left: -32px; content: ""; background: url(../images/icon_parking.png) no-repeat; background-size: 82%; width: 30px; height: 13px; }
.header_info2 { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; order: 1; /*電話*/ /*アクセス*/ }
.header_info2 .tel { position: relative; color: #ef8200; font-size: 3rem; font-weight: bold; line-height: 1; padding-left: 2.5rem; margin-top: .5rem; margin-bottom: 1.2rem; }
.header_info2 .tel::before { position: absolute; content: ""; top: 50%; left: 0; background: url(../images/icon_tel.png); width: 18px; height: 24px; margin-top: -14px; }
.header_info2 .tel a { color: #ef8200; font-size: 3rem; font-weight: bold; text-decoration: none; }
.header_info2 .access { color: #804f1b; line-height: 1.2; text-align: center; width: 100%; padding: .3rem 0 .1rem; margin-bottom: 1rem; }
@media screen and (max-width: 736px) { .header_info3 { margin-bottom: 5px; }
  .header_info2 { width: 100%; }
  .header_info2 .tel { width: 100%; padding-left: 0; margin-top: 0; }
  .header_info2 .tel::before { display: none; }
  .header_info2 .tel a { position: relative; display: inline-block; background-color: #fff; border: 2px solid #ef8200; border-radius: 4px; box-sizing: border-box; color: #ef8200; font-size: 2.2rem; font-weight: bold; text-align: center; text-decoration: none; width: 100%; padding: 1.2rem 1rem; }
  .header_info2 .tel a::before { position: absolute; content: ""; top: 50%; left: 12%; background: url(../images/icon_tel.png); width: 18px; height: 24px; margin-top: -14px; } }
@media screen and (min-width: 768px) { .header { position: relative; height: 180px; z-index: 1; /*待ち状況・順番受付*/ /*駐車場*/ }
  .header_frame { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; width: 1110px; height: 100%; }
  .header_logo { width: auto; padding: 0; }
  .header_logo_img { width: 580px; }
  .header_detail { -webkit-flex-direction: row; flex-direction: row; }
  .header_info3 { background: #009FE8 url(../images/icon_hourglass.png) no-repeat center 0.7rem; font-size: 1.5rem; line-height: 1.1; width: 12rem; height: 10rem; padding-top: 5.5rem; padding-bottom: 0; order: 1; margin-right: 10px; color: #fff !important; text-decoration: none !important; }
  .header_info3:hover { background: #40b8ef url(../images/icon_hourglass.png) no-repeat center 0.7rem; }
  .header_info3 span::before { display: none; }
  .header_info { background: #8dbb3c url(../images/icon_parking.png) no-repeat center 0.7rem; font-size: 2rem; width: 10rem; height: 10rem; padding-top: 4.4rem; padding-bottom: 0; order: 1; }
  .header_info span::before { display: none; }
  .header_info2 { -webkit-flex-direction: column; flex-direction: column; width: auto; margin-left: 1.8rem; order: 2; /*電話*/ /*アクセス*/ }
  .header_info2 .tel { font-size: 3rem; }
  .header_info2 .access { border: 2px solid #8a5f35; width: auto; margin-bottom: 0; } }

/* -----------------------------------------------------------
　メインナビ
----------------------------------------------------------- */
.main_nav_pc { display: none; }

/* トップぺージ */
#index .main_nav_pc { margin-bottom: 10rem; }

@media screen and (min-width: 768px) { .main_nav_pc { display: block; margin-bottom: 8.5rem; }
  .main_nav_pc nav .main_nav { display: -webkit-flex; display: flex; width: 1110px; margin: 0 auto; }
  .main_nav_pc nav .main_nav li { position: relative; flex-grow: 1; }
  .main_nav_pc nav .main_nav li:not(:last-child) { padding-right: 3rem; }
  .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; border-bottom: 4px dotted #a58a72; color: #6f5c4b; font-size: 2rem; line-height: 1; text-decoration: none; white-space: nowrap; padding: 2rem 0; transition: opacity .2s; }
  .main_nav_pc nav .main_nav li a .sub_tit { color: #39b54a; font-size: 1.2rem; padding-top: 4px; padding: 4px 0; }
  .main_nav_pc nav .main_nav li a:hover { opacity: .7; } }
/* -----------------------------------------------------------
　キービジュアル
----------------------------------------------------------- */
.key_on_sp { margin-bottom: 4rem; }
.key_on_sp .key_on_info, .key_on_sp .key_on_info2 { position: relative; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; border-top-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem; width: calc(96%); height: 6rem; bottom: -1.5rem; left: -.25rem; margin: 0 auto 1.5rem; }
.key_on_sp .key_on_info::after, .key_on_sp .key_on_info2::after { position: absolute; content: ""; bottom: .5rem; left: .5rem; border-top-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem; width: 100%; height: 6rem; }
.key_on_sp .key_on_info .key_on_text, .key_on_sp .key_on_info2 .key_on_text { position: relative; color: #fff; font-size: 1.6rem; font-weight: bold; line-height: 1.2; text-align: center; padding-left: .5rem; margin-bottom: 0; z-index: 1; }
.key_on_sp .key_on_info { background-color: rgba(28, 168, 212, 0.75); }
.key_on_sp .key_on_info::after { background-color: rgba(56, 169, 90, 0.75); }
.key_on_sp .key_on_info2 { background-color: rgba(255, 218, 0, 0.75); margin-bottom: 2.5rem; }
.key_on_sp .key_on_info2::after { background-color: rgba(252, 152, 22, 0.75); }
@media screen and (min-width: 768px) { .key_on_sp { display: none; } }

.key_visual { display: block; background-color: #faf7ec; background-size: cover; background-position: center top; width: 100%; height: 53vw; }
.key_visual .key_on { display: none; }
@media screen and (min-width: 768px) { .key_visual { position: relative; height: 60rem; margin: 0 auto 4rem; }
  .key_visual .key_on { display: block; }
  .key_visual .key_on_info, .key_visual .key_on_info2 { position: absolute; border-top-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem; width: 47.5rem; height: 8rem; bottom: 6rem; }
  .key_visual .key_on_info::after, .key_visual .key_on_info2::after { position: absolute; content: ""; bottom: 1rem; left: 1rem; border-top-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem; width: 47.5rem; height: 8rem; }
  .key_visual .key_on_info .key_on_text, .key_visual .key_on_info2 .key_on_text { position: relative; color: #fff; font-size: 2.6rem; font-weight: bold; line-height: 1.2; text-align: center; padding-left: 1rem; margin-bottom: 0; z-index: 1; }
  .key_visual .key_on_info { left: calc(calc(50% - 47.5rem) - 5rem); background-color: rgba(28, 168, 212, 0.75); }
  .key_visual .key_on_info::after { background-color: rgba(56, 169, 90, 0.75); }
  .key_visual .key_on_info2 { left: calc(50% + 5rem); background-color: rgba(255, 218, 0, 0.75); }
  .key_visual .key_on_info2::after { background-color: rgba(252, 152, 22, 0.75); } }

/* -----------------------------------------------------------
　お知らせ
----------------------------------------------------------- */
.news_list { background-color: #fff; border: 1px solid #999; height: 130vw; padding: 1rem 4% 0 4%; overflow-y: scroll; }
.news_title { color: #44af35; font-size: 1.5rem; }
.news_title:first-child { margin-top: 0; }
@media screen and (min-width: 768px) { .news_list { height: 36rem; padding: 2rem; }
  .news_title { font-size: 2.4rem; } }

.news_list02 { background-color: #f3e8d2; border: 1px solid #44af35; padding: 1rem 4% 0 4%; margin-top: 2rem; }
.news_title02 { color: #44af35; font-size: 1.5rem; }
.news_title02:first-child { margin-top: 0; }
@media screen and (min-width: 768px) { .news_list02 { padding: 2rem; }
  .news_title02 { font-size: 2.4rem; } }

/*スマホ用スクロールバー*/
@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); } }
/* -----------------------------------------------------------
　ご挨拶
----------------------------------------------------------- */
/* テキストと画像 */
.mediaBox { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; }
.mediaBox_img { position: relative; text-align: center; /* 院長画像 */ }
.mediaBox_img .img { width: 100%; vertical-align: bottom; margin-bottom: 1rem; }
.mediaBox_img .doctor_img { width: 255px; height: auto; border-radius: 128px / 160px; }
.mediaBox_img .doctor_name { position: absolute; top: 250px; right: 10vw; 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; background: #37a959; background: -moz-linear-gradient(45deg, #37a959 0%, #19a7dd 100%); background: -webkit-linear-gradient(45deg, #37a959 0%, #19a7dd 100%); background: linear-gradient(45deg, #37a959 0%, #19a7dd 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#37a959', endColorstr='#19a7dd',GradientType=1 ); border-radius: 50%; color: #fff; font-size: 1.6rem; line-height: 1.4; text-align: center; width: 8rem; height: 8rem; }
.mediaBox_img .font-l { font-size: 2rem; }
@media screen and (min-width: 768px) { .mediaBox { -webkit-flex-direction: row; flex-direction: row; }
  .mediaBox_text { flex-grow: 1; }
  .mediaBox_img { margin-left: 30px; /* 院長画像 */ }
  .mediaBox_img .img { width: 35rem; height: auto; }
  .mediaBox_img .doctor_img { width: 25.5rem; }
  .mediaBox_img .doctor_name { top: 27rem; right: 0; font-size: 2rem; width: 10rem; height: 10rem; }
  .mediaBox_img .font-l { font-size: 2.4rem; } }

/* -----------------------------------------------------------
　当院の特長
----------------------------------------------------------- */
.feature { width: 100%; height: auto; }
.feature_inner { padding: 0 0 3rem; margin: 0 2%; }
.featureList { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; list-style-type: none; }
.featureList_item { position: relative; flex-basis: 80%; margin: 0 auto 3rem; }
.featureList_item:last-child { margin-bottom: 0; }
.featureList_label { position: absolute; top: 0; left: -1rem; 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; border-radius: 50%; box-sizing: border-box; color: #fff; font-size: 1.6rem; line-height: 1.1; text-align: center; width: 7rem; height: 7rem; padding-top: 1rem; }
.featureList_label .font-l { font-size: 3rem; }
.featureList_img { border-width: 4px; border-style: solid; border-radius: 50%; box-sizing: border-box; width: 100%; vertical-align: bottom; margin-bottom: 1rem; }
.featureList_text { font-size: 1.6rem; line-height: 1.2; text-align: center; margin-bottom: 0; }
.featureList .feature01 .featureList_img { border-color: #44af35; }
.featureList .feature01 .featureList_label { background-color: #44af35; }
.featureList .feature02 .featureList_img { border-color: #009fe8; }
.featureList .feature02 .featureList_label { background-color: #009fe8; }
.featureList .feature03 .featureList_img { border-color: #ef8200; }
.featureList .feature03 .featureList_label { background-color: #ef8200; }
.featureList .feature04 .featureList_img { border-color: #ffda00; }
.featureList .feature04 .featureList_label { background-color: #ffda00; }
@media screen and (min-width: 768px) { .feature { padding-bottom: 0; }
  .feature_inner { width: 1110px; padding: 6rem 0; margin: 0 auto; }
  .featureList { -webkit-justify-content: space-between; justify-content: space-between; }
  .featureList_item { flex-basis: 50%; box-sizing: border-box; padding: 0 5.6rem; margin-bottom: 5rem; }
  .featureList_item:nth-last-child(-n+2) { margin-bottom: 0; }
  .featureList_label { left: 3.3rem; font-size: 2.4rem; line-height: 1; width: 9rem; height: 9rem; padding-top: 1.2rem; }
  .featureList_label .font-l { font-size: 4rem; }
  .featureList_img { margin-bottom: 1.6rem; }
  .featureList_text { font-size: 2.2rem; } }

@media all and (-ms-high-contrast: none) { *::-ms-backdrop, .featureList_item { flex-basis: 36%; }
  /* IE11 */ }
.google-indoor { width: 100%; height: 35rem; }
@media screen and (min-width: 768px) { .google-indoor { height: 52rem; } }

/* -----------------------------------------------------------
　診療のご案内
----------------------------------------------------------- */
.treatment { 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: #ef8200; 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: #44af35; font-size: 1.4rem; font-weight: bold; line-height: 1.4; text-decoration: none; margin-bottom: .5rem; }
@media screen and (min-width: 768px) { .treatment { padding-bottom: 0; }
  .treatment_inner { width: 1110px; 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: #dfedc3; background-image: url(../images/overview_bg.png); 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) { .overview { padding: 0; margin: 0 auto; }
  .overview_inner { width: 1110px; padding: 11rem 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: 540px; margin: 0; }
  .overview_frame_right { width: 540px; margin: 0; padding: 0; }
  .overview_title { padding: 0; }
  .overview_title_img { width: 350px; margin-bottom: 5rem; } }

.officeOutline { border-top: 1px solid #6f5c4b; margin-bottom: 1.2rem; }
.officeOutline_title { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; color: #6f5c4b; font-size: 1.6rem; font-weight: bold; line-height: 1; width: 100%; padding: 1.2rem 0 1rem; }
.officeOutline_title-sub { color: #6f5c4b; font-size: 1.6rem; font-weight: bold; margin-bottom: 0; }
.officeOutline_desc { border-bottom: 1px solid #6f5c4b; box-sizing: border-box; color: #666; line-height: 1.3; padding-bottom: 1rem; }
.officeOutline_desc .tel { margin-bottom: 0; }
.officeOutline_desc .tel a { color: #ef8200; font-size: 1.8rem; font-weight: bold; text-decoration: none; margin-bottom: 0; }
@media screen and (min-width: 768px) { .officeOutline { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 2.6rem; }
  .officeOutline_title, .officeOutline_desc { border-bottom: 1px solid #6f5c4b; box-sizing: border-box; padding: 2.6rem 0; }
  .officeOutline_title { font-size: 2.2rem; font-weight: normal; width: 24%; }
  .officeOutline_title-sub { font-size: 2.2rem; font-weight: normal; color: #6f5c4b; }
  .officeOutline_desc { width: 76%; }
  .officeOutline_desc .tel { color: #ef8200; font-size: 3.2rem; font-weight: bold; } }

/* -----------------------------------------------------------
　診療時間
----------------------------------------------------------- */
.timetable { width: 100%; text-align: center; padding: 0px; margin-bottom: .5rem; }
.timetable tr { border-bottom: 1px solid #6f5c4b; vertical-align: middle; padding: 0px; margin: 0px; }
.timetable tr th { background-color: #a58a72; color: #fff; font-size: 90%; font-weight: normal; text-align: center; padding: .4rem 0; }
.timetable tr th.holiday { width: 13%; }
.timetable tr td { color: #6f5c4b; background-color: #faf7ec; text-align: center; padding: .8rem 0; }
.timetable tr td.time { font-size: 80%; width: 26%; }
@media screen and (min-width: 768px) { .timetable tr th { font-size: 1.8rem; }
  .timetable tr td { font-size: 1.8rem; padding: .8rem 0; }
  .timetable tr td.time { font-size: 100%; width: 145px; } }

.time_notice { color: #6f5c4b; font-size: 1.2rem; margin-bottom: 0; }
@media screen and (min-width: 768px) { .time_notice { font-size: 1.8rem; } }

.accessmap_i { border: 1px solid #6f5c4b; box-sizing: border-box; width: 100%; height: 30rem; vertical-align: bottom; margin-bottom: .5rem; }
@media screen and (min-width: 768px) { .accessmap_i { height: 70rem; } }

/* -----------------------------------------------------------
　フッター
----------------------------------------------------------- */
.footer_frame { display: none; }
@media screen and (min-width: 768px) { .footer { background-color: #a58a72; font-size: 1.5rem; }
  .footer_frame { display: block; width: 1110px; padding: 8rem 0 5rem; 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 #fff; line-height: 1; padding: 0 10px; }
  .footer_frame ul li:first-child { border-left: 1px solid #fff; }
  .footer_frame ul li a { color: #fff; 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 3rem; }
  .footer_frame ul.aside_list1 img, .footer_frame ul.aside_list1 i { display: none; } }

.copyright { background-color: #a58a72; font-size: 1rem; text-align: center; height: auto; padding: 1rem 0 7rem; margin: 0; }
.copyright a { color: #faf7ec; text-decoration: none; }
@media screen and (min-width: 768px) { .copyright { font-size: 1.4rem; max-width: 2000px; padding: 0 0 2rem; } }

.sticky-contact { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border-top: 1px solid #a58a72; background-color: #dfedc3; background-image: url(../images/overview_bg.png); position: fixed; bottom: 0; width: 100%; z-index: 998; margin: 0; padding: 0; }
.sticky-contact a { align-items: center; color: #ef8200; font-size: 2.0rem; font-weight: bold; text-decoration: none; text-align: center; width: 100%; padding: 3%; }
.sticky-contact a::after { position: absolute; content: "｜"; top: 35%; left: 48%; margin-top: -11px; }
.sticky-contact a span { position: relative; }
.sticky-contact a span::before { position: absolute; content: ""; top: 50%; left: 10px; background: url(../images/icon_tel.png) no-repeat; background-size: 80%; width: 22px; height: 24px; margin-top: -11px; }
@media screen and (min-width: 768px) { .sticky-contact { display: none; } }

/* -----------------------------------------------------------
　ページトップへ
----------------------------------------------------------- */
#linkpagetop { float: right; }

#linkpagetop img { width: 18vw; height: auto; }

#pagetop { position: fixed; bottom: 28vw; 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) { #linkpagetop { float: left; }
  #linkpagetop img { width: 60px; height: auto; }
  #pagetop { position: fixed; bottom: 120px; left: 50%; margin: 0 0 0 600px; 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: 120px; left: 90%; margin: 0 0 0 0; height: 80px; text-align: center; } }
/*----------------------------------------------------------- インポート
----------------------------------------------------------- */
/*ハンバーガー*/
.container { /*position: absolute;*/ position: fixed; top: .6rem; right: 2%; display: flex; align-items: center; justify-content: center; background-color: #a58a72; width: 56px; padding: 0 0 0.6rem 0; cursor: pointer; z-index: 999999; }

/*ハンバーガー*/
.drawr { display: none; /*position: absolute;*/ position: fixed; top: 18vw; width: 100%; padding: 0; margin: 0 auto; z-index: 999999; background-color: #a58a72; overflow: scroll; height: -webkit-calc(100vh - 140px); height: calc(100vh - 140px); }
.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.8rem; 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;*/ /*position: fixed;
width: 100%; height: 100%; margin: 0; top: 0; z-index: 9999; overflow: scroll;*/ }
.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) { .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% - 14px); 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; }

/*見出し*/
/* -----------------------------------------------------------
　見出し
----------------------------------------------------------- */
h1 { margin: 0; }

.title_lv1 { color: #846c45; font-size: 2.2rem; font-weight: normal; line-height: 160%; }
@media screen and (min-width: 768px) { .title_lv1 { width: 1110px; font-size: 4rem; margin: 0 auto 5rem; } }

.title_lv2 { position: relative; background-color: #e3f1c9; border: 3px solid #abd36d; border-radius: 1rem; color: #44af35; font-size: 2rem; font-weight: normal; line-height: 1.3; padding: .9rem 7rem .6rem 1rem; margin-bottom: 2rem; }
.title_lv2::after { position: absolute; top: 50%; right: 1rem; background: url(../images/icon_face.png) no-repeat; content: ""; width: 64px; height: 33px; margin-top: -16px; }
@media screen and (min-width: 768px) { .title_lv2 { font-size: 3rem; margin-bottom: 4rem; } }

.title_lv3 { position: relative; color: #ef8200; font-size: 2rem; font-weight: normal; padding-bottom: .5rem; margin-bottom: 1rem; }
.title_lv3::after { position: absolute; bottom: 0; left: 0; background: #ef8200; background: -moz-linear-gradient(top, #ef8200 0%, #ef8200 48%, #ef8200 50%, #ffda00 50%, #ffda00 50%, #ffda00 100%); background: -webkit-linear-gradient(top, #ef8200 0%, #ef8200 48%, #ef8200 50%, #ffda00 50%, #ffda00 50%, #ffda00 100%); background: linear-gradient(to bottom, #ef8200 0%, #ef8200 48%, #ef8200 50%, #ffda00 50%, #ffda00 50%, #ffda00 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef8200', endColorstr='#ffda00',GradientType=0 ); content: ""; width: 100%; height: 8px; }
@media screen and (min-width: 768px) { .title_lv3 { font-size: 2.8rem; margin-bottom: 2rem; } }

.title_lv4 { border-bottom: 4px solid #44af35; color: #44af35; font-size: 1.8rem; font-weight: normal; margin-bottom: 1rem; }
@media screen and (min-width: 768px) { .title_lv4 { font-size: 2.6rem; margin-bottom: 2rem; } }

.title_lv5 { border-bottom: 4px dotted #009fe8; color: #009fe8; font-size: 1.6rem; font-weight: normal; padding: 0; margin-bottom: 1rem; }
@media screen and (min-width: 768px) { .title_lv5 { font-size: 2rem; margin-bottom: 2rem; } }

p { font-size: 1.4rem; margin: 0 0 2rem 0; }
@media screen and (min-width: 768px) { p { font-size: 1.8rem; } }

/*アサイド*/
/* -----------------------------------------------------------
　アサイド
----------------------------------------------------------- */
.aside { display: none; }
@media screen and (min-width: 768px) { .aside { display: block; width: 255px; margin: 0; /*リンクリスト*/ }
  .aside_title { border-color: #c5b2a1; border-style: solid; border-top-width: 5px; border-bottom-width: 5px; color: #6f5c4b; font-size: 3rem; font-weight: normal; line-height: 1; text-align: center; padding: 1.1rem 0 .8rem; margin-bottom: 4rem; }
  .aside_list { border-color: #c5b2a1; border-style: solid; border-top-width: 5px; border-bottom-width: 5px; list-style-type: none; margin: 0; }
  .aside_list li { position: relative; width: auto; height: 10rem; transition: opacity .2s; }
  .aside_list li:not(:last-child) { border-bottom: 1px dashed #c5b2a1; }
  .aside_list li:hover { opacity: .7; }
  .aside_list li::before { position: absolute; content: ""; top: 2rem; left: 1.3rem; background-color: #99d770; background-repeat: no-repeat; background-position: center center; border-radius: .5rem; width: 6rem; height: 6rem; }
  .aside_list li.nav01::before { background-image: url(../images/icon_nav01.png); }
  .aside_list li.nav02::before { background-image: url(../images/icon_nav02.png); }
  .aside_list li.nav03::before { background-image: url(../images/icon_nav03.png); }
  .aside_list li.nav04::before { background-image: url(../images/icon_nav04.png); }
  .aside_list li.nav05::before { background-image: url(../images/icon_nav05.png); }
  .aside_list li.nav06::before { background-image: url(../images/icon_nav06.png); }
  .aside_list li.nav07::before { background-image: url(../images/icon_nav07.png); }
  .aside_list li.nav08::before { background-image: url(../images/icon_nav08.png); }
  .aside_list li.nav09::before { background-image: url(../images/icon_nav09.png); }
  .aside_list li a { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; background-color: #f3e8d2; color: #6f5c4b; font-size: 2rem; line-height: 1.3; text-decoration: none; height: 100%; padding-left: 9rem; padding-right: 1rem; } }

.bnr { margin: 0 auto; text-align: center; }
.bnr img { width: 100%; max-width: 255px; height: auto; margin: 2rem auto; }

/* -----------------------------------------------------------
　下層
----------------------------------------------------------- */
/* h1タイトル背景 */
.key_visual_low { background-color: #d8f0ac; padding: 0 2%; margin-bottom: 2rem; }
.key_visual_low_inner { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; background-image: url(../images/key_visual_low.png); background-repeat: no-repeat; background-position: right center; background-size: 32%; height: 12rem; }
@media screen and (min-width: 768px) { .key_visual_low { padding: 0; margin-bottom: 4rem; }
  .key_visual_low_inner { display: -webkit-flex; display: flex; -webkit-align-items: flex-end; align-items: flex-end; background-size: auto; width: 1110px; height: 30rem; margin: 0 auto; } }

.text_link { display: inline-block; color: #009fe8; text-decoration: none; }
@media screen and (min-width: 768px) { .text_link { transition: opacity .2s; }
  .text_link:hover { text-decoration: underline; opacity: .7; } }

/* 画像リスト */
.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) { .mediaList { -webkit-justify-content: space-between; justify-content: space-between; }
  .mediaList_item { flex-basis: calc(50% - 2rem); } }

/* テキストと画像（画像が左） */
.mediaBox-v2 { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; margin-bottom: 3rem; }
.mediaBox-v2_img { text-align: center; }
.mediaBox-v2_img .img { width: 70%; vertical-align: bottom; margin-bottom: 2rem; }
@media screen and (min-width: 768px) { .mediaBox-v2 { -webkit-flex-direction: row; flex-direction: row; }
  .mediaBox-v2_img { margin-right: 20px; }
  .mediaBox-v2_img .img { width: 300px; } }

.fl_r_img { width: 100%; margin-bottom: 1rem; }
@media screen and (min-width: 768px) { .fl_r_img { float: right; width: auto; margin-left: 3rem; } }

.fl_l_img { width: 100%; margin-bottom: 1rem; }
@media screen and (min-width: 768px) { .fl_l_img { float: left; width: auto; margin-right: 3rem; } }

/* ulリスト */
.plainList { list-style-type: none; /* 中黒付き */ }
.plainList li { font-size: 1.4rem; line-height: 160%; margin-bottom: 1rem; }
@media screen and (min-width: 768px) { .plainList li { font-size: 1.8rem; } }
.plainList.disc { list-style-type: disc; padding-left: 2rem; margin-left: 0; }

/* 色丸リスト */
.discList { list-style-type: none; margin-bottom: 2rem; }
.discList li { position: relative; font-size: 1.4rem; padding-left: 3rem; margin-bottom: 1rem; }
.discList li::before { position: absolute; content: ""; top: 11px; left: 8px; background-color: #99d770; border-radius: 50%; width: 8px; height: 8px; }
.discList li:last-child { margin-bottom: 0; }
@media screen and (min-width: 768px) { .discList { /* 3分割(PC) */ }
  .discList li { font-size: 1.8rem; }
  .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; } }

/*# sourceMappingURL=style.css.map */
