@charset "UTF-8";
@font-face { font-family: 'fontello'; src: url("fontello/font/fontello.eot?27693034"); src: url("fontello/font/fontello.eot?27693034#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2?27693034") format("woff2"), url("fontello/font/fontello.woff?27693034") format("woff"), url("fontello/font/fontello.ttf?27693034") format("truetype"), url("fontello/font/fontello.svg?27693034#fontello") format("svg"); font-weight: normal; font-style: normal; }
/* ----------------------------------------------------------------------------------
共通部分　_base.scss
---------------------------------------------------------------------------------- */
/*文字PC*/
/*基本フォント*/
/*基本文字色*/
/*基本背景色PC*/
/*電話番号*/
/*リンク色*/
/*ポイントカラーメイン*/
/*ポイントカラーサブ*/
/*赤*/
/*紫*/
/*青*/
/* ----------------------------------------------------------------------------------
モジュール　_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 !important; }

.txt_l { text-align: left !important; }

.txt_r { text-align: right !important; }

.bold { font-weight: bold !important; }

.underline { background: linear-gradient(transparent 70%, yellow 70%); }

.font_s { font-size: smaller !important; }

.font_l { font-size: larger !important; }

/* 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: 48em), 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, .sp_n_i { display: none; }

@media screen and (min-width: 48em), print { .sp_n { display: block; }
  .sp_n_i { display: inline; }
  .pc_n { display: none; } }
/* マージン -------------------------------------- */
.mb_00 { margin-bottom: 0 !important; }

.mb_05 { margin-bottom: 0.5rem !important; }

.mb_10 { margin-bottom: 1rem !important; }

.mb_15 { margin-bottom: 1.5rem !important; }

.mb_20 { margin-bottom: 2rem !important; }

.mb_25 { margin-bottom: 2.5rem !important; }

.mb_30 { margin-bottom: 3rem !important; }

.mb_35 { margin-bottom: 3.5rem !important; }

.mb_40 { margin-bottom: 4rem !important; }

.mb_45 { margin-bottom: 4.5rem !important; }

.mb_50 { margin-bottom: 5rem !important; }

/* flex box */
.flex_LRTB, .flex_RLTB { flex-direction: column; -webkit-flex-direction: column; }

@media screen and (min-width: 48em), print { /* PCで左→右に配置／SPで上→下に配置 */
  .flex_LRTB { display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row; }
  .flex_LRTB.half { justify-content: space-between; flex-wrap: wrap; }
  .flex_LRTB.half > * { width: 48%; margin-bottom: 0; }
  .flex_LRTB.half > figure.w30 { width: 30% !important; margin-right: 2%; }
  .flex_LRTB.half > figure + ul { width: 68% !important; }
  .flex_LRTB.center { justify-content: center; }
  /* PCで右→左に配置／SPで上→下に配置 */
  .flex_RLTB { display: flex; display: -webkit-flex; flex-direction: row-reverse; -webkit-flex-direction: row-reverse; }
  .flex_RLTB.half { justify-content: space-between; flex-wrap: wrap; }
  .flex_RLTB.half > * { width: 48%; margin-bottom: 0; }
  .flex_RLTB.half > figure.w30 { width: 30% !important; margin-right: 2%; }
  .flex_RLTB.half > figure + ul { width: 68% !important; } }
/* ----------------------------------------------------------------------------------
リストなど　_basic.scss
---------------------------------------------------------------------------------- */
/* -----------------------------------------------------------
　リスト
----------------------------------------------------------- */
/*　なし -------------------------------------- */
ul { list-style-type: none; margin: 0 0 10px; padding: 0; }
ul li { margin: 0 0 10px; padding: 0; }

/* シンプル -------------------------------------- */
ul.list_sim { margin: 0 0 10px 25px; }
ul.list_sim > li { margin: 0 0 8px 0; padding: 0; text-indent: -0.5em; }
ul.list_sim > li::before { position: relative; top: -0.1em; left: -0.5em; display: inline-block; width: 0.5em; height: 0.5em; content: ''; border-radius: 100%; background: #5faa31; }

/* ● -------------------------------------- */
ul.list_maru { padding: 0; margin: 0 0 10px 1.1em; }
ul.list_maru li { list-style-type: none; margin: 0 0 8px 0; }
ul.list_maru li::before { display: inline-block; content: '●'; margin-left: -1.1em; margin-right: 0.1em; color: #5faa31; }

/*　● インライン -------------------------------------- */
ul.list_maru.list_in li { display: inline-block; margin: 0 40px 8px 0; }

/* ※ -------------------------------------- */
ul.list_kome { padding: 0; }
ul.list_kome li { text-indent: -1em; padding-left: 1em; margin-bottom: 8px; }
ul.list_kome li::before { content: '※'; width: 1em; color: #5faa31; }

/* link -------------------------------------- */
ul.list_lnk { padding: 0; }
ul.list_lnk li { text-indent: -1em; padding-left: 1em; margin-bottom: 8px; }
ul.list_lnk li::before { font-family: "Font Awesome 5 Free"; content: "\f105"; padding-right: 0.5rem; font-weight: bold; }

/* ページ内リンク -------------------------------------- */
ul.list_pl li { text-indent: -1em; padding-left: 1em; margin-bottom: 8px; }
ul.list_pl li a { color: #545454; }
ul.list_pl a::before { font-family: "Font Awesome 5 Free"; content: "\f107"; padding-right: 5px; font-weight: bold; color: #ffa028; }

@media screen and (min-width: 48em), print { ul.list_pl { display: flex; flex-wrap: wrap; justify-content: space-between; }
  ul.list_pl li { width: 33%; }
  ul.list_pl li a { background: rgba(248, 255, 225, 0.2); display: block; border: #f8ffe1 solid 2px; border-radius: 5px; padding: 7px 0 7px 25px; }
  ul.list_pl::after { content: ""; display: block; width: 33%; } }
/* 数値 -------------------------------------- */
ol.list_num { box-sizing: border-box; width: 100%; }
ol.list_num li { list-style-type: decimal; margin: 0 0 10px 35px; box-sizing: border-box; width: 90%; }

/* 流れ図 -------------------------------------- */
ol.list_flow { list-style: none; padding: 0; margin: 0; }
ol.list_flow li { border: 5px solid #ffa028; border-radius: 10px; margin-bottom: 35px; padding: 4px 10px; position: relative; }
ol.list_flow li p.ttl { font-weight: bold; font-size: 20px; margin-bottom: 0; }
ol.list_flow li p.ttl::first-letter { /*1文字めを大きく*/ font-family: Monotype Corsiva,garamond,times; font-size: 35px; font-style: italic; letter-spacing: 0.15em; color: #ffa028; }
ol.list_flow li::after { bottom: -32px; color: #ffa028; content: "▼"; font-size: 24px !important; left: 48%; position: absolute; }
ol.list_flow li:last-child::after { /*最後の▼を外す*/ content: ""; }

/* -----------------------------------------------------------
　定義リスト
----------------------------------------------------------- */
/* 経歴 -------------------------------------- */
.dl_career dd { margin: 0 0 0 5px; }

@media screen and (min-width: 48em), print { .dl_career dt { width: 5em; float: left; font-weight: normal; }
  .dl_career dd { margin-left: 6em; } }
/* dtに二重線 -------------------------------------- */
.dl_def { margin: 2rem auto; }
.dl_def > dt { font-weight: bold; border-bottom: double 3px #ffa028; margin-bottom: 0.7rem; }
.dl_def > dd { margin-bottom: 1.5rem; }
.dl_def > dd ul.list_maru li::before { color: #ffa028; }

/* テーブルもどき -------------------------------------- */
.dl_tbl { border: #90c31f solid 1px; margin-bottom: 0.5rem; }
.dl_tbl dt { font-weight: bold; background: #90c31f; padding: 0.5rem; color: #fff; }
.dl_tbl dd { padding: 1rem; margin: 0; }
.dl_tbl dd *:last-child { margin-bottom: 0; }

/* box -------------------------------------- */
.box1, .box2 { padding: 20px !important; margin-bottom: 20px; background: #f2f7d6; }
.box1 > dt, .box2 > dt { border-bottom: #90c31f dotted 2px; margin-bottom: 15px; padding-bottom: 5px; font-weight: bold; }
.box1 > dd, .box2 > dd { margin: 10px; }
.box1 > dd dt, .box2 > dd dt { color: #ffa028; font-weight: bold; }
.box1 > *:last-child, .box2 > *:last-child { margin-bottom: 0; }

.box2 { background: #fafbf6; }
.box2 dt { border-bottom: #ffa028 dotted 2px; }
.box2 ul.list_maru > li::before { color: #ffa028; }

@media screen and (min-width: 48em), print { .box1 > dt, .box2 > dt { font-size: 18px; }
  .box1 > dd dt, .box2 > dd dt { font-size: 17px; } }
/* テキストカラー -------------------------------------- */
.fc_rd { color: #C5515D; }

.fc_gr { color: #5faa31; }

.fc_or { color: #90c31f; }

/* リンク -------------------------------------- */
a { text-decoration: none; }

main p a { border-bottom: 1px solid #159e3c; color: #159e3c; }

a.btn { background: #fff; border-radius: 5px; color: #90c31f; border: 2px solid #90c31f; padding: 7px 60px; text-align: center; margin: 5px auto; width: auto; display: inline-block; position: relative; }

/* 画像  -------------------------------------- */
figure { margin: 0; }

#lower figure { margin-bottom: 10px; }

img { max-width: 100%; width: auto; }

/* 診療時間表 -------------------------------------- */
.tbl_time { border-collapse: collapse; width: 100%; text-align: center; font-size: 14px; margin-bottom: 20px; }
.tbl_time caption { caption-side: bottom; text-align: left; padding-top: 4px; font-size: 12px; }
.tbl_time thead tr { background: #5faa31; color: #fff; }
.tbl_time thead th, .tbl_time thead td { padding: 5px; }
.tbl_time tbody tr { border-bottom: #5faa31 2px solid; font-size: 1.4rem; background: #fff; }
.tbl_time tbody th, .tbl_time tbody td { padding: 10px 5px; vertical-align: middle; }

@media screen and (min-width: 48em), print { .tbl_time { width: 100%; }
  .tbl_time caption { padding: 10px; font-size: 1.6rem; text-align: center; }
  .tbl_time thead th { padding: 1rem; font-size: 1.6rem; font-weight: normal; }
  .tbl_time thead td { padding: 1rem; font-size: 1.6rem; }
  .tbl_time tbody th { padding: 1rem; font-size: 1.9rem; font-weight: normal; }
  .tbl_time tbody td { padding: 1rem; font-size: 1.6rem; } }
/* ページトップ -------------------------------------- */
#pageup { display: none; position: fixed; bottom: 5.0rem; right: 1.0rem; z-index: 1; cursor: pointer; }
#pageup a { display: block; width: 4.0rem; height: 4.0rem; text-align: center; background: #ffce5e; border-radius: 50%; color: #fff; font-size: 2.3rem; }

@media screen and (min-width: 48em), print { #pageup { bottom: 3.0rem; } }
/* ----------------------------------------------------------------------------------
共通部分　
---------------------------------------------------------------------------------- */
* { box-sizing: border-box; }

html { font-size: 62.5%; /* ベースを10pxに */ width: 100%; }

body { font-family: YakuHanJPs_Narrow, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #545454; font-size: 1.4rem; background-color: #ffffff; letter-spacing: 0.02em; }

@media screen and (min-width: 48em), print { body { min-width: 117rem; font-size: 1.6rem; } }
/* 全体の横幅設定  -------------------------------------- */
.wrap { width: 100%; margin: 0 auto; max-width: 60rem; padding: 2rem; }

.inner { padding: 0; }

main > .inner { margin: 0 1.5rem 3rem; }

section { margin-bottom: 4rem; }

main section { margin: 0 0 4rem; padding: 0; }

main section section { margin: 2rem 0 4rem; padding: 0; }

main section section section { margin: 3rem 0 4rem; padding: 0; }

@media screen and (min-width: 48em), print { main { padding: 0 !important; }
  .wrap { max-width: 117rem; padding: 0; }
  main > section section { margin: 7rem 0 4rem; padding: 0; }
  main section section section { margin: 6rem 0 4rem; }
  main section section section section { margin: 5rem 0 4rem; }
  main section section section section { margin: 4rem 0; }
  .inner { padding: 0; }
  #lower main .inner img.img_r, #lower main .inner img.img_l { width: 30rem; } }
/*---------------------------------------------*/
main section p { margin-bottom: 1.5rem; }

/*---------------------------------------------*/
body { border-top: 0.5rem solid #90c31f; font-family: YakuHanJPs_Narrow, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif; }

img.snowfall-flakes { opacity: 0.7; }

header { text-align: center; }
header .logo { max-width: 40rem; margin: 0 auto 1rem; }
header .headR > div:first-child { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1000; }
header .headR > div:first-child dt { border-top: #DEDEDE solid 0.3rem; border-bottom: #DEDEDE solid 0.3rem; padding: 0.5rem; font-size: 1.6rem; margin-bottom: 0.5rem; display: none; }
header .headR > div:first-child dd.tel { font-size: 1.8rem; background: #90c31f; color: #fff; padding: 0.5rem; }
header .headR > div:first-child dd.tel a { color: #fff; }
header .headR > div:first-child dd.tel::before { font-family: 'fontello'; content: "\e804"; padding-right: 3px; font-weight: bold; }
header .headR > div:last-child { background: #5faa31; border-radius: 0.5rem; font-size: 1.8rem; padding: 0.3rem; color: #fff; }

nav { background: #FEFFD3; }
nav ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin-bottom: 0; }
nav ul li { width: 50%; margin: 0; border-bottom: 1px solid #bde465; }
nav ul li a { color: #545454; text-align: center; display: block; padding: 0.5rem; }
nav ul li:nth-child(even) { border-right: 1px solid #bde465; }

aside { width: 100%; margin: 0 auto 2rem; padding: 0; text-align: center; }
aside a { display: none; }

#TopPage #kv { position: relative; text-align: center; }
#TopPage #kv .slider { margin: 0 auto; }
#TopPage #kv .slider li { margin: 0; line-height: 0; }
#TopPage #kv .kv_open { position: absolute; bottom: 1rem; left: 2rem; width: 30%; }
#TopPage #news { margin: 2rem 0; padding: 1rem 2rem; }
#TopPage #news h2 { background: #90c31f; color: #fff; text-align: center; padding: 0.5rem; border-radius: 0.5rem; margin-bottom: 1rem; font-size: 1.8rem; }
#TopPage #news dl { max-height: 25rem; padding: 1rem; overflow: auto; }
#TopPage #news dl dt { color: #5faa31; font-size: 1.6rem; border-bottom: 1px solid #c7c5c4; margin-bottom: 0.5rem; }
#TopPage #news dl dd { margin-bottom: 1.5rem; }
#TopPage #news dl::-webkit-scrollbar { width: 1rem; }
#TopPage #news dl::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.5); border: none; border-radius: 10px; box-shadow: inset 0 0 2px #F5EFE1; }
#TopPage #news dl::-webkit-scrollbar-thumb { background: rgba(144, 195, 31, 0.3); border-radius: 10px; box-shadow: none; }
#TopPage main { padding: 1rem 2rem; }
#TopPage main .catch { padding: 1rem 0; margin-bottom: 2rem; }
#TopPage main .catch p { margin: 1rem; }
#TopPage main .catch ul.list_maru { margin-left: 3rem; }
#TopPage main .catch .flip-horizontal { transform: scale(-1, 1); }
#TopPage main .catch + .list_kome { margin-bottom: 3rem; }
#TopPage main #features h2 { padding-top: 2.5rem; text-align: center; border-bottom: #5faa31 2px solid; background: url("../img/features_ttl.png") top center no-repeat; background-size: 4rem auto; font-size: 1.8rem; margin-bottom: 1rem; }
#TopPage main #features ol { margin-top: 3rem; list-style: none; }
#TopPage main #features ol li { margin-bottom: 2.5rem; }
#TopPage main #features ol li dt { text-align: center; }
#TopPage main #features ol li dt img { max-width: 25rem; }

#overview { background: #fafbf6; }
#overview h2 { color: #5faa31; border-bottom: 0.2rem solid #5faa31; text-align: center; font-size: 2rem; margin-bottom: 1.5rem; }
#overview dl dt p { background: #5faa31; border-radius: 0.5rem; color: #fff; text-align: center; padding: 0.3rem; margin-bottom: 1rem; }
#overview dl dd { margin-bottom: 2rem; }
#overview .gmap { width: 100%; }
#overview .gmap img.img_c { border: #cfe799 0.5rem solid; }
#overview .gmap .btn::before { font-family: 'fontello'; content: "\e808"; }

#lower main { padding: 1rem 2rem; }
#lower main h1 { background: url("../img/h1.png") no-repeat center center; background-size: contain; padding: 3rem 0 3.1rem; margin: 0 auto 2rem; max-width: 40rem; text-align: center; color: #90c31f; font-size: 1.8rem; text-shadow: 3px 3px 5px #fff, -3px 3px 5px #fff, 3px -3px 5px #fff, -3px -3px 5px #fff; }
#lower main h2 { background: #90c31f; border-radius: 0.5rem; color: #fff; padding: 0.5rem 1rem; margin: 0 auto 1.5rem; font-size: 1.6rem; }
#lower main h3 { color: #90c31f; border-bottom: #9b9b9b 0.2rem solid; padding: 0.5rem; margin: 0 auto 1.5rem; font-size: 1.6rem; }
#lower main h4 { border-bottom: #d1d1d1 0.2rem solid; padding: 0.5rem 1rem 0.5rem 1.5rem; margin: 0 auto 1.5rem; font-size: 1.6rem; position: relative; }
#lower main h4::before { content: ''; height: 80%; width: 0.5rem; border-radius: 0.2rem; background: #90c31f; display: block; position: absolute; left: 0; }

footer .wrap { display: none; }
footer address { background: #5faa31; color: #fff; text-align: center; font-style: normal; padding-bottom: 4rem; }
footer address a { color: #fff; }

@media screen and (min-width: 48em), print { body { border-top: 1.5rem solid #90c31f; }
  #TopPage #bg { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 360px 810px 1fr; grid-template-columns: 1fr 360px 810px 1fr; -ms-grid-rows: 1auto 1auto; grid-template-rows: 1auto 1auto; grid-template-areas: ". news news ." ". aside main ."; }
  #ng { -ms-grid-row: 1; -ms-grid-column: 2; -ms-grid-column-span: 2; grid-area: news; }
  aside { -ms-grid-row: 2; -ms-grid-column: 2; grid-area: aside; width: 31rem; margin-right: 5rem; }
  main { -ms-grid-row: 2; -ms-grid-column: 3; grid-area: main; display: block; }
  #lower #bg { display: -ms-grid; display: grid; -ms-grid-columns: 1fr 36rem 81rem 1fr; grid-template-columns: 1fr 36rem 81rem 1fr; -ms-grid-rows: 1fr; grid-template-rows: 1fr; grid-template-areas: ". aside main ."; }
  #lower #bg aside { -ms-grid-row: 1; -ms-grid-column: 2; grid-area: aside; width: 31rem; margin-right: 5rem; display: block; }
  #lower #bg main { -ms-grid-row: 1; -ms-grid-column: 3; grid-area: main; display: block; min-height: 100rem; }
  header { padding: 5rem 0; }
  header .wrap { display: flex; justify-content: space-between; align-items: center; }
  header .logo { max-width: none; margin: 0; }
  header .headR { display: flex; justify-content: space-between; align-items: center; }
  header .headR > div:first-child { position: inherit; margin: 0 3rem 0 0; width: auto; }
  header .headR > div:first-child dl dt { display: block; font-size: 1.8rem; border-width: 0.5rem; font-weight: bold; }
  header .headR > div:first-child dl dd.tel { background: none; color: #545454; font-size: 4.4rem; }
  header .headR > div:first-child dl dd.tel a { color: #545454; }
  header .headR > div:last-child { width: 10.4rem; height: 10.4rem; display: flex; justify-content: center; align-items: center; font-weight: bold; font-size: 2.4rem; }
  header .headR > div:last-child span { display: block; font-size: 1.6rem; }
  nav ul { width: 117rem; margin: 0 auto; padding: 1.5rem 0; }
  nav ul li { width: 20%; border-bottom: none !important; border-right: 2px solid #ebecbd !important; }
  nav ul li a { font-size: 1.8rem; line-height: 1; }
  nav ul li:first-child { border-left: 2px solid #ebecbd; }
  nav ul li a::before { font-family: 'fontello'; content: "\e800"; font-size: 3.1rem; display: block; text-align: center; color: #90c31f; margin-bottom: 1.5rem; }
  nav ul li:nth-child(2) a::before { content: "\e805"; }
  nav ul li:nth-child(3) a::before { content: "\e806"; }
  nav ul li:nth-child(4) a::before { content: "\e807"; }
  nav ul li:nth-child(5) a::before { content: "\e808"; }
  aside a { display: block; margin-top: 2rem; }
  footer { background: #90c31f; }
  footer .wrap { padding: 6rem 0 5rem; display: block; text-align: center; }
  footer .wrap div { width: 70rem; margin: 0 auto; }
  footer .wrap div ul { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 0 0.5rem; }
  footer .wrap div ul li { margin-bottom: 0; }
  footer .wrap div ul li a { color: #fff; }
  footer .wrap div ul li a::before { font-family: 'fontello'; content: "\f138"; padding-right: 3px; }
  footer address { padding: 1rem; }
  footer::before { content: ''; background: url("../img/bg_town.png") repeat-x bottom center #fff; height: 13rem; display: block; }
  #TopPage #kv { max-width: 140rem; width: 100%; margin: 0 auto; }
  #TopPage #bg { padding: 6rem 0 0; /*   background:url("../img/bg_top.jpg") no-repeat top center;*/ background-image: url("../img/bg_top.jpg"), url("../img/bg_bottom.jpg"); background-repeat: no-repeat,repeat-x; background-position: top center ,bottom center; }
  #TopPage header { padding-bottom: 0; z-index: 10000; position: relative; }
  #TopPage #news { display: flex; justify-content: space-between; height: 50rem; padding: 2rem 0; margin: 6rem 0; border-top: 1px solid #c7c5c4; border-bottom: 1px solid #c7c5c4; }
  #TopPage #news h2 { width: 24.4rem; height: 24.4rem; background: url("../img/news_ttl.png") center bottom 1rem no-repeat #90c31f; margin: 0; font-size: 3.3rem; text-align: left; padding: 2rem; line-height: 1.2; }
  #TopPage #news dl { width: 92.6rem; padding: 1rem 4rem 1rem 3rem; max-height: 45rem; }
  #TopPage #news dl dt { font-size: 2.1rem; padding-bottom: 0.5rem; margin-bottom: 1.5rem; font-weight: bold; }
  #TopPage #news dl dd { font-size: 1.8rem; margin-bottom: 3rem; }
  #TopPage main .catch { margin-bottom: 3rem; }
  #TopPage main .catch p { font-size: 2.5rem; text-align: center; margin: 3.5rem 0; }
  #TopPage main .catch ul.list_maru { display: flex; flex-wrap: wrap; width: 70rem; margin: 0 0 3.5rem 7rem; font-size: 2rem; }
  #TopPage main .catch ul.list_maru li { width: 33rem; }
  #TopPage main .catch ul.list_maru li:nth-child(even) { width: 36rem; }
  #TopPage main .catch + ul.list_kome { font-size: 1.7rem; text-align: center; margin-bottom: 7rem; }
  #TopPage main #features { font-size: 2.1rem; }
  #TopPage main #features h2 { background-size: 8.1rem auto; padding: 7rem 0 1.5rem; font-size: 3rem; margin-bottom: 2.5rem; }
  #TopPage main #features ol { font-size: 1.8rem; margin: 3rem 0; display: flex; flex-wrap: wrap; justify-content: space-between; }
  #TopPage main #features ol li { width: 38rem; margin-bottom: 6rem; }
  #TopPage main #features ol li dt img { max-width: none; }
  #TopPage #overview { padding: 9rem 0; }
  #TopPage #overview h2 { font-size: 3.5rem; padding-bottom: 2rem; margin-bottom: 3.5rem; }
  #TopPage #overview .flex_LRTB { justify-content: space-between; }
  #TopPage #overview .overviewL { width: 55rem; margin: 0 1rem; }
  #TopPage #overview .overviewL dl { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 5rem; }
  #TopPage #overview .overviewL dl dt { width: 9rem; }
  #TopPage #overview .overviewL dl dd { width: 44rem; margin-bottom: 2.0rem; font-size: 1.8rem; }
  #TopPage #overview .overviewR { width: 53rem; }
  #lower #bg { padding: 5rem 0; background-image: url("../img/bg_top.jpg"), url("../img/bg_bottom.jpg"); background-repeat: no-repeat,repeat-x; background-position: top center ,bottom center; }
  #lower main { margin-bottom: 10rem; }
  #lower main h1 { width: 81rem; height: 16rem; max-width: none; font-size: 3rem; display: flex; justify-content: center; align-items: center; margin-bottom: 5rem; }
  #lower main h2 { font-size: 2.2rem; padding: 1rem; margin-bottom: 2rem; }
  #lower main h3 { font-size: 2.2rem; padding: 1rem; margin-bottom: 2rem; }
  #lower main h4 { font-size: 2rem; padding: 0.5rem 1rem 0.5rem 2rem; margin-bottom: 2rem; }
  #lower main h4::before { top: 12%; height: 70%; } }
.list_lb { display: flex; flex-wrap: wrap; justify-content: space-between; }
.list_lb li { width: 49%; text-align: center; margin-bottom: 1.5rem; }

@media screen and (min-width: 48em), print { #lower #overview { background-color: transparent; }
  #lower #overview dl { width: 50rem; } }

/*# sourceMappingURL=style.css.map */
