@charset "utf-8";

/* Font
-------------------------------*/
@font-face {
  font-family: "LogoTypeGothic";
  src: url("../font/07LogoTypeGothic7.eot?") format('eot'), url("../font/07LogoTypeGothic7.woff") format('woff');
}
.LogoType {
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

/* =======================================================================
	Style
======================================================================= */
html {
  font-size: 62.5%;
/* ベースを10pxに */
  width: 100%;
}
body {
  font-family: YakuHanJPs, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #595757;
  font-size: 1.6rem; 
/*16px*/
  background-color: #fff;
  letter-spacing: 0.05em;
}
main {
  font-size: 100%;
}
img {
  max-width: 100%;
  width: auto;
}
main p {
  margin-bottom: 1.5rem;
}
#lower main p {
  text-align: justify;
}
small {
  font-size: 90%;
}

/* ==== link ==== */
a {
  text-decoration: none !important;
}
a:link {
  color: #804C2E;
}
a:visited {
  color: #804C2E;
}
a:hover {
  opacity: 0.7;
}
.no-event {
  pointer-events: auto;
}
@media screen and (min-width: 48em) and (max-width: 96em) {
.no-event {
  pointer-events: none;
}
}

/* モジュール */
.flex_LRTB, .flex_RLTB {
  flex-direction: column;
  -webkit-flex-direction: column;
}

/* 画像のフロート SP時は解除 */
figure.fl_l, figure.fl_r {
  float: none;
  margin: auto;
  width: 100%;
  text-align: center;
  margin-bottom: 1rem;
}
.sp_none, .sp_none_in {
  display: none;
}
.txt_c {
  text-align: center !important;
}
.txt_l {
  text-align: left !important;
}
.txt_r {
  text-align: right !important;
}
.clear {
  clear: both;
  display: block;
}
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
.fc_rd {
  color: #dc143c;
}
.fc_gr {
  color: #95B3BA;
}
.fc_yl {
  color: #F6F401;
}
.fc_bl {
  color: #00018A;
}
.fc_br {
  color: #804C2E;
}
.fc_pr {
  color: #8B5898;
}
.font_s {
  font-size: smaller;
}
.font_l {
  font-size: larger;
}

/* ボタン */
.btn_s {
  padding: 0.6rem 2rem 0.4rem;
  text-align: center;
  display: inline-block;
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.btn {
  padding: 0.8rem 2rem 1rem;
  text-align: center;
  display: inline-block;
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
a.btn_def, a.btn_sim {
  border: 1px solid #95B3BA;
  color: #95B3BA !important;
  border-radius: 3rem;
}
a.btn_def::before {
  font-family: "Font Awesome 5 Free";
  content: "\f144";
  padding-right: 4px;
}
a.btn i {
  width: 1em !important;
}

/* リストマーク */
ul {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}
ol {
  margin: 0 0 1rem;
  padding-inline-start: 2.2rem;
}
ol li {
  margin: 0;
}
ul.list_kome li, ul.list_note li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 0.5rem;
}
ul.list_kome li:before {
  content: '※';
  left: -1.5em;
  width: 1em;
  margin-top: -.8em;
  color: #dc143c;
}
ul.list_note li:before {
  content: '＊';
  left: -1.5em;
  width: 1em;
  margin-top: -.8em;
}
ul.list_def > li {
  padding-left: 1em;
  margin-bottom: 0.5rem;
}
ul.list_def > li::before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f111';
  margin-left: -1em;
  margin-right: 0.3em;
  color: #95B3BA;
}
ul.list_def > li.white::before {
  font-weight: 400;
  content: '\f111';
}
ul.list_sim > li {
  list-style: disc !important;
  margin-left: 2rem;
}
ul li {
  margin-left: 2rem;
}
ul.list_in li {
  display: inline-block;
  margin-right: 2rem !important;
}
ul.list_dot li {
  border-bottom: 1px dotted #CAB7CF;
  padding: 0.2rem 0;
}
.list_lb {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  &.-creditcards {
    padding-top: .8em;
    align-items: center;
    margin-bottom: initial;
    li {
      &:last-child {
        margin-bottom: initial;
      }
      img {
        width: inherit;
      }
    }
  }
}
.list_lb li {
  width: 49%;
  text-align: center;
  margin: 0 0 1.5rem;
  color: #804C2E;
}
ul.list_pl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 1.5rem;
}
ul.list_pl li {
  margin: 0.5rem 0;
  width: 48%;
}
ul.list_pl li a {
  width: 100%;
  text-align: center;
  background: linear-gradient(#5d7d84 0%, #4D676D 100%);
  display: block;
  padding: 0.7rem 1rem 0.5rem;
  text-decoration: none;
  color: #FFF;
  border-radius: 3px;
  margin: 0 auto 2rem;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
}
ul.list_lnk > li {
  padding-left: 1em;
  margin-bottom: 0.5rem;
  margin-left: 0;
}
ul.list_lnk > li::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: bold;
  color: #85766e;
  margin-right: 0.3rem;
}
ul.list_lnk > li::after {
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: bold;
  color: #95B3BA;
  margin-left: 0.8rem;
}
ul.list_lnk > li a {
  text-decoration: underline !important;
}
ol.lst_ol {
  counter-reset: number 0;
  margin: 1.0rem 0;
}
ol.lst_ol li {
  counter-increment: number 1;
  padding: 0 0 0 1.8em;
  position: relative;
}
ol.lst_ol li:not(:last-child) {
  margin: 0 0 1.0rem;
}
ol.lst_ol li::befor {
  display: inline-block;
  content: counter(number, decimal-leading-zero)".";
  font-weight: bold;
  position: absolute;
  left: 0;
}

/* 定義リスト */
dl.dl_def {
  margin: 2rem auto;
}
dl.dl_def dt {
  font-weight: bold;
  border-bottom: double 3px #CAB4A8;
  margin-bottom: 0.5rem;
}
dl.dl_def dd {
  margin-bottom: 1rem;
}
dl.dl_tbl {
  border: #759ED3 solid 1px;
}
dl.dl_tbl dt {
  font-weight: bold;
  background: #3334A1;
  color: #fff;
  padding: 0.3rem;
  text-align: center;
}
dl.dl_tbl dd {
  padding: 1rem;
  margin: 0;
}
dl.dl_tbl dd *:last-child {
  margin-bottom: 0;
}
dl.dl_career dt {
  
/* 経歴 */
  width: 4em;
  float: left;
  font-weight: normal;
}
dl.dl_career dd {
  margin-left: 4.5em;
}

/* テキストの装飾 */
.underline {
  background: linear-gradient(transparent 70%, yellow 70%);
}
.bold {
  font-weight: bold;
}

/* 囲み枠 */
.box_gr {
  padding: 2rem !important;
  margin-bottom: 2rem;
  border: #95B3BA solid 0.2rem;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.5);
}
.box_gr dt {
  color: #95B3BA;
  margin-bottom: 1rem;
  font-weight: bold;
}
.box_br {
  padding: 2rem !important;
  margin-bottom: 2rem;
  border: #804C2E solid 0.2rem;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.5);
}
.box_br dt {
  color: #804C2E;
  margin-bottom: 1rem;
  font-weight: bold;
}
.box_br ul.list_def > li::before {
  color: #804C2E;
}
.box_gr *:last-child, .box_br *:last-child {
  margin-bottom: 0 !important;
}
p.box_gr {
  padding: 1rem !important;
  margin-bottom: 0rem;
  border: #95B3BA solid 1px;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.5);
}

/* マージン */
.mb_05 {
  margin-bottom: 0.5rem
}
.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
}
.bg_brown {
  background-color: #EDE4DD;
}

/* ==== 全体の横幅設定 ==== */
.wrapper {
  width: 100%;
  margin: 0 auto;
}
.inner {
  padding: 0 1%;
}
#lower main > .inner {
  margin: 0 1.5rem 3rem;
}
section {
  margin-bottom: 3rem;
}
main > section {
  margin: 0 auto 4rem;
  padding: 0 1.5rem;
}
section > section {
  margin-top: 3rem !important;
}

/* ==== header情報部全体 ==== */
header {
  text-align: center;
  width: 100%;
  margin: 0 auto;
  padding: 0.5rem 1rem;
  border-top: #804C2E 0.8rem solid;
  box-shadow: 0px 0px 12px -3px rgba(0, 0, 0, 0.3);
}
header .wrapper {
  margin: 0 auto;
  text-align: center;
  padding-top: 0.8rem;
}
header .wrapper .bnr_lst > li {
  margin: 0;
}
.sp_sns{
  display:flex;
  justify-content: center;
  gap: 0 2rem;
}
@media print, screen and (min-width: 46.875em) {
  div.sp_sns {
    display: none;
  }
}


.sns{
  margin-left: 10px !important;
  background-color: #fff;
  border-radius: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 65px;
  height: 65px;
  img{
    display: block;
    width: 100%;
    height: auto;
    width: 32px;
    height: 32px;
  }
}


header .wrapper .h_logo .h_txt {
  text-align: center;
  margin-bottom: 0.2em;
  margin-left: auto;
  margin-right: auto;
  background: #804C2E;
  color: #fff;
  padding: 0.2em;
  width: 200px;
  font-size: 1.4rem;
}
body::after {
  visibility: hidden;
  width: 100vw;
  height: 100vh;
  content: "";
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(0.6rem);
  position: fixed;
  top: 0;
  z-index: 99;
  opacity: 0;
  transition: all .2s ease-in-out 0s;
}
body.spnav_modal {
  overflow: hidden;
}
body.spnav_modal::after {
  visibility: visible;
  opacity: 1;
}
#nav {
  width: 100vw;
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
#sp_menu {
  width: 5rem;
  height: 5rem;
  text-align: center;
  line-height: 1.0;
  font-size: 1.0rem;
  padding: 0;
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 100000;
  background: #EDE4DD;
  display: block;
  outline: none;
  border: none;
  border-radius: 4px;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.35);
}
#sp_menu .btn-line {
  display: block;
  position: absolute;
  top: 1.3rem;
  left: 0;
  right: 0;
  width: 3.4rem;
  height: 3px;
  background-color: #804C2E;
  border-radius: 1px;
  transition: all .4s;
  margin: 0 auto;
  border-radius: 50vh;
}
#sp_menu .btn-line:nth-of-type(2) {
  top: 2.3rem;
}
#sp_menu .btn-line:nth-of-type(3) {
  top: 3.3rem;
}
#sp_menu .btn-line:nth-of-type(1) {
  animation: menu-bar01 .6s forwards;
}
#sp_menu .btn-line:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
#sp_menu .btn-line:nth-of-type(3) {
  animation: menu-bar02 .6s forwards;
}
#sp_menu.close .btn-line:nth-of-type(1) {
  animation: active-menu-bar01 .6s forwards;
}
#sp_menu.close .btn-line:nth-of-type(2) {
  opacity: 0;
}
#sp_menu.close .btn-line:nth-of-type(3) {
  animation: active-menu-bar03 .6s forwards;
}
.btn-line::before {
  transform: translateY(-0.7rem);
}
.btn-line::after {
  transform: translateY(0.7rem);
}
#nav.close .btn-line {
  background-color: transparent;
}
#nav.close .btn-line::before, #nav.close .btn-line::after {
  content: "";
  transition: 0.2s;
}
#nav.close .btn-line::before {
  transform: rotate(45deg);
}
#nav.close .btn-line::after {
  transform: rotate(-45deg);
}
@keyframes menu-bar01 {
  0% {
    transform: translateY(1rem) rotate(45deg);
  }
  50% {
    transform: translateY(1rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes menu-bar02 {
  0% {
    transform: translateY(-1rem) rotate(-45deg);
  }
  50% {
    transform: translateY(-1rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(1rem) rotate(0);
  }
  100% {
    transform: translateY(1rem) rotate(45deg);
  }
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-1rem) rotate(0);
  }
  100% {
    transform: translateY(-1rem) rotate(-45deg);
  }
}
#nav .gnav_subnav {
  display: none;
  width: calc(100% - 2rem);
  max-height: 70vh;
  overflow-y: auto;
  background: #f4efea;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.35);
  border-radius: 4px;
  padding: 3rem;
  position: fixed;
  top: 8rem;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1001;
}
#nav .gnav_subnav > ul {
  display: flex;
  flex-direction: column;
}
#nav .gnav_subnav > ul > li {
  margin: 0;
  border-bottom: 1px solid #C6C4C1;
}
#nav .gnav_subnav > ul > li:first-of-type {
  border-top: 1px solid #C6C4C1;
}
#nav .gnav_subnav > ul > li > a {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  color: #804C2E;
  font-weight: bold;
  text-align: center;
  line-height: 1.15;
  letter-spacing: 0.08rem;
  padding: 2rem 0 1.8rem;
}
#nav .gnav_subnav > ul > li > a span {
  display: block;
  line-height: 1.2;
  font-size: 85%;
  color: #7f7d7b;
  letter-spacing: 0.03rem;
  font-family: OCRB, "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

/* ==== メインエリア ====*/
main {
  margin-bottom: 5rem;
}

/* ==== サイドナビ ==== */
aside {
  text-align: center;
  margin-bottom: 2rem;
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
aside ul {
  display: flex;
  margin: 0 auto;
  flex-wrap: wrap;
  width: 100%;
  text-align: left;
}
aside li {
  width: 50%;
  padding: 0 0.5rem 1.5rem;
  margin: 0;
}
aside li a {
  text-align: center;
  width: 100%;
  display: block;
  padding: 0 0.5rem 1rem;
  color: #815741 !important;
  border-bottom: 1px dashed #E3D8D1;
}
aside li a img {
  width: 3rem;
}

/* ==== フッター ==== */
footer {
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

/* ==== 著作権表記エリア ==== */
address {
  text-align: center;
  font-size: 1em;
  background: #804C2E;
  padding: 0.7rem 0.7rem 5.2rem;
  font-style: normal;
  margin: 0;
}
footer address a {
  color: #fff !important;
}
footer address span {
  font-family: "Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
}
#tel_up {
  width: 100%;
  height: 4.5rem;
  background: #fff;
  box-shadow: 0px 0px 12px -3px rgba(0, 0, 0, 0.3);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  font-size: 1.3rem;
}
#tel_up ul {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
#tel_up ul li {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  margin: 0;
}
#tel_up ul li a {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  background: #EDE4DD;
}
#tel_up ul li a.-line {
  color: #fff;
  background-color: #06c755;
}

/* ==== バナー ==== */
ul.bnr {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 10rem auto 0;
}
ul.bnr li {
  margin: 0 1rem;
  width: 100%;
}
ul.bnr li:not(:first-child) {
  margin-top: 2rem;
}
ul.bnr li img {
  width: 100%;
  height: auto;
}


/* ==== ページトップ ==== */
#pageTop {
  display: block;
  position: fixed;
  z-index: 99;
  bottom: -100px;
  right: 10px;
  transition: .5s;
  opacity: 0.8;
}
#pageTop a {
  display: block;
  color: #fff !important;
  text-align: center;
  text-decoration: none;
  background-color: #95B3BA;
  border-radius: 80px;
  font-size: 0.8em;
  line-height: 1.1em;
  padding: 0.5rem 1rem;
}

/* Google Map */
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 300px;
  margin: 1rem 0;
  border: 0.3rem solid #fff;
}
h1 {
  display: none;
}
#lower h2 {
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: url("../images/common/h2.jpg") no-repeat center center;
  background-size: cover;
  width: 100%;
  color: #804C2E;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 4rem;
  font-size: 2.2rem;
  padding: 3.5rem 0;
  text-shadow: 3px 3px 5px #fff, -3px 3px 5px #fff, 3px -3px 5px #fff, -3px -3px 5px #fff;
}
#lower h3 {
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0.5rem 0 0.6rem 4.5rem;
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  color: #fff;
  background: url("../images/common/h3.png") no-repeat left 1rem top 45% #95B3BA;
  background-size: 2.6rem auto;
  min-height: 3rem;
  border-radius: 0.5rem;
}
#lower h4 {
  font-family: 
/*"LogoTypeGothic",*/ -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-bottom: 0.2rem solid #3E3A39;
  padding: 0 0 0.5rem 4rem;
  margin-bottom: 1.5rem;
  font-size: 1.7rem;
  position: relative;
  min-height: 2.5rem
}
#lower h4::before {
  position: absolute;
  left: 0.5rem;
  top: 52%;
  margin-top: -1.5rem;
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.1rem;
  background: url(../images/common/h4.png) no-repeat;
  background-size: 2.2rem auto;
}
#lower h5 {
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  border-bottom: 2px solid #666;
  font-size: 110%;
  color: #666;
  padding: 0 0 0.2rem 0.5rem;
  margin-bottom: 1rem;
}
#lower h5::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 20%;
  height: 2px;
  background-color: #95B3BA;
}
table.time {
  width: 100%;
  max-width: 57.5rem;
  margin: 2rem auto;
  font-size: 2.3rem;
  text-align: center;
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
table.time caption {
  caption-side: bottom;
  padding-top: 1rem;
  font-size: 2rem;
}
table.time th {
  width: 35%;
  padding: 1rem 0;
  font-weight: normal;
}
table.time tr {
  border-bottom: 0.2rem solid #7D4B2D;
}
table.time tbody td {
  color: #7D4B2D;
  vertical-align: middle;
}

/* access */
#lower .overview dl {
  width: 100%;
  margin: 1rem 0;
  display: flex;
  flex-wrap: wrap;
}
#lower .overview dt {
  width: 100%;
  font-weight: normal;
}
#lower .overview dt p {
  background: #B39482;
  color: #fff;
  padding: 0.5rem 0 0.3rem;
  text-align: center;
  margin-bottom: 0;
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
#lower .overview dd {
  margin: 0;
  padding: 1rem 0 2rem 1rem;
  width: 100%;
}
#overview dd i {
  color: #804C2E;
}

/* 予防接種 */
table.tbl_prc {
  width: 100%;
  margin-bottom: 2rem;
}
table.tbl_prc thead {
  background: #95B3BA;
  color: #fff;
  text-align: center;
  padding: 1rem 0;
  border: 0.1rem solid #95B3BA;
}
table.tbl_prc tbody td, table.tbl_prc tbody th {
  border: 0.1rem solid #95B3BA;
  padding: 0.5rem;
}
table.tbl_prc tbody tr:nth-child(even) {
  background: #FBF9F8;
}
table.tbl_prc tbody th {
  text-align: left;
}
table.tbl_prc tbody th span, table.tbl_prc tbody td span {
  font-weight: normal;
  color: #595757;
  font-size: 1.3rem;
}
table.tbl_prc tr.bg_cl {
  background: #FBF9F8;
}
table.tbl_prc tbody td:last-child {
  text-align: right;
  width: 7.5em;
}
table.tbl_prc tbody td.w10 {
  width: 10em !important
}
table.tbl_prc caption {
  font-weight: bold;
  background: #95B3BA;
  color: #fff;
  padding: 1rem;
}
table.tbl_def {
  width: 100%;
  margin-bottom: 2rem;
}
table.tbl_def tbody td, table.tbl_def tbody th {
  border: 0.1rem solid #95B3BA;
  padding: 0.5rem;
}
table.tbl_def tbody tr:nth-child(even) {
  background: #FBF9F8;
}

/* greeting */

/* ==== 特長 ==== */
#g-benefits ul {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  justify-content: center;
}
#g-benefits li {
  margin: 0 2rem 5rem;
  text-align: center;
}
#g-benefits li:last-child {
  margin-bottom: 0;
}
#g-benefits dt {
  margin: 2rem auto 0;
}
#g-benefits li dd {
  padding: 0.5rem 0.5rem 1rem;
  text-align: justify;
  font-size: 1.4rem;
}
#g-benefits li .btn_s {
  width: 100%;
}

/* -----------------------------------------------------------------------------------------------------------------------------------
	PC
----------------------------------------------------------------------------------------------------------------------------------- */
@media print, screen and (min-width: 46.875em) {
  body {}
  
/* ==== モジュールあれこれ ====*/
  
/* PCで左→右に配置／SPで上→下に配置 */
  .flex_LRTB {
    display: flex;
    display: -webkit-flex;
    flex-direction: row;
    -webkit-flex-direction: row;
  }
  
/* PCで右→左に配置／SPで上→下に配置 */
  .flex_RLTB {
    display: flex;
    display: -webkit-flex;
    flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
  }
  .half {
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .half > * {
    width: 48% !important;
    margin-bottom: 1.5rem;
  }
  .half .inner {
    width: 100% !important;
  }
  .flex_LRTB > figure.w30 {
    width: 30% !important;
    margin-right: 2%;
  }
  .flex_LRTB > figure + ul {
    width: 68% !important
  }
  
/* 画像のフロート SP時は解除 */
  figure.fl_r {
    float: right;
    width: auto;
    margin-left: 2rem;
    margin-bottom: 1.5rem;
  }
  figure.fl_l {
    float: left;
    width: auto;
    margin-right: 2rem;
    margin-bottom: 1.5rem;
  }
  .sp_none_in {
    display: inline;
  }
  .pc_none {
    display: none;
  }
  .sp_none {
    display: block;
  }
  .split_wrap {
    display: flex;
    justify-content: space-between; 
/*	position: relative; */
  }
  a[href^="tel:"] {
    pointer-events: none !important;
    color: #595757 !important;
  }
  header {
    padding: 2rem 2rem 1rem;
  }
  header .wrapper .h_logo .h_txt {
    width: 185px;
    font-size: 1.6rem;
    margin-left: 0;
    margin-right: 0;
  }
  header .wrapper .h_logo img {
    width: 390px;
  }
  header .wrapper .bnr_lst {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
  }
  header .wrapper .bnr_lst > li figure {
    margin: 0;
  }
  header .wrapper .bnr_lst > li a {
    cursor: pointer;
  }
  header .wrapper .header_tel img {
    width: 350px;
  }
  header .wrapper .header_rsv img {
    width: 140px;
  }
  #sp_menu {
    display: none;
  }
  
/* ==== メインエリア ====*/
  main {
    margin: 2rem 0 0 6rem;
    padding: 0;
    width: 81rem;
    line-height: 1.6;
  }
  #lower main {
    margin: 2rem 0 5rem 6rem;
  }
  
/* ==== 全体の横幅設定 ==== */
  .inner {
    margin: 0 auto;
    padding: 0;
    width: 81rem;
  }
  .wrapper {
    width: 115rem;
    margin: 0 auto;
  }
  nav + .wrapper {
    padding: 5rem 0;
  }
  .bg {
    background: url("../images/common/logo_bg.png") top center no-repeat;
    width: 100%;
    min-width: 115rem;
    background-attachment: fixed;
  }
  .bg_2 {
    background: url("../images/common/bg_gra.png") top left repeat-x;
    width: 100%;
  }
  section {
    margin-bottom: 5rem;
  }
  section section {
    margin: 3rem 0;
  }
  main > section {
    padding: 0;
  }
  
/* ==== ヘッダー ==== */
  body {
    border-top-width: 1.5rem;
    min-width: 115rem;
  }
  header {
    padding: 0;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1000;
    border-width: 1.6rem;
  }
  header .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.2rem 0 1rem;
    width: 115rem;
    margin: 0 auto;
  }
  header figure {
    margin-bottom: 1rem;
  }
  
/* ==== グローバルナビ全体設定 ==== */
  nav {
    padding: 1.5rem 0;
    min-width: 115rem;
  }
  #nav {
    width: auto;
  }
  #nav .gnav_subnav {
    display: block !important;
    width: 100%;
    max-height: inherit;
    box-shadow: none;
    position: static;
    background: none;
    padding: 0;
  }
  #nav .gnav_subnav > ul {
    width: 100rem;
    margin: 0 auto;
    text-align: center;
    align-items: center;
    flex-direction: row;
  }
  #nav .gnav_subnav > ul > li {
    width: 20%;
    padding: 0;
    border: none !important;
    border-right: 1px solid #C6C4C1 !important;
  }
  #nav .gnav_subnav > ul > li:first-of-type {
    border-left: 1px solid #C6C4C1 !important;
  }
  #nav .gnav_subnav > ul > li > a {
    padding: 0.5rem 0;
    line-height: 1;
    font-size: 1.8rem;
  }
  #nav .gnav_subnav > ul > li > a span {
    display: block;
    margin: 0.3rem auto 0;
    font-size: 1.2rem;
    line-height: inherit;
    letter-spacing: inherit;
  }
  
/* ==== サイドナビ ==== */
  aside {
    width: 30rem;
    margin: 0 auto 5rem 0;
    padding: 0;
  }
  aside ul {
    border-top: 1px dashed #E3D8D1;
  }
  aside li {
    width: 100%;
    padding: 0 0.5rem;
  }
  aside li a {
    padding: 2rem 0 2rem 2rem;
    border-top: none;
    font-size: 2rem;
    text-align: left;
    display: flex;
    align-items: center;
  }
  aside li a img {
    width: 4.8rem;
    display: block;
    margin-right: 2.1rem;
  }
  
/* ==== フッター ==== */
  footer {
    background: url("../images/common/f_bg.png");
    margin: 0;
    text-align: center;
    padding: 0;
    min-width: 115rem;
  }
  
/* ==== フッターナビ ==== */
  footer .wrapper {
    padding: 4rem 0 3rem;
    width: 74rem;
  }
  footer figure {
    margin-bottom: 4rem;
  }
  footer ul {
    display: flex !important;
    justify-content: flex-start;
    margin: 2.5rem auto 0;
    flex-wrap: wrap;
  }
  footer ul li {
    margin-right: 0;
  }
  footer ul li:last-child {
    margin-right: 0;
  }
  footer figure + ul {
    justify-content: center;
    -webkit-justify-content: center;
    padding: 0;
    border: none;
    margin: 0 auto;
  }
  footer figure + ul li {
    padding: 0;
    line-height: 1.6rem;
    text-indent: 0;
    margin: 0;
  }
  footer figure + ul a {
    text-align: center;
    display: block;
    padding: 0 3rem;
    color: #595757 !important;
    width: 100%;
    border-left: 0.1rem solid #595757;
    margin: 0;
  }
  footer figure + ul > li:last-child > a {
    border-right: 0.1rem solid #595757;
  }
  footer ul:last-child {
    margin-left: 2rem;
    margin-bottom: 2rem;
  }
  footer ul:last-child li {
    min-width: 20%;
    font-size: 1.4rem;
    padding-left: 2rem;
    margin-bottom: 0.5rem;
    text-align: left;
  }
  footer ul:last-child li.wide {
    min-width: 30%;
  }
  footer ul:last-child a {
    text-decoration: none !important;
    color: #595757 !important;
    position: relative;
  }
  footer ul:last-child a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: bold;
    color: #85766e;
  }
  footer ul:last-child li.last {
    min-width: 6em;
  }
  address {
    padding: 1rem;
    min-width: 115rem;
  }
  
/* ==== バナー ==== */
  ul.bnr {
    width: 87rem;
  }
  
/* access */
  #lower .overview dt {
    width: 6em;
    margin-bottom: 1.5rem;
  }
  #lower .overview dd {
    width: calc(100% - 6em);
    padding: 0.5rem 0 0 1.5rem;
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
  #lower h2 {
    min-height: 23rem;
    font-size: 3.2rem;
    margin-bottom: 5rem;
    padding: 0;
  }
  #lower h3 {
    font-size: 2.3rem
  }
  #lower h4 {
    font-size: 2rem;
  }
  
/* access */
  .tt img {
    max-width: 55rem;
  }
  .list_lb li {
    width: 30%;
  }
  .list_lb::after {
    content: "";
    display: block;
    width: 30%;
  }
  .list_lb {
    &.-creditcards {
      padding-top: .5em;
      align-items: center;
      li {
        width: initial;
        img {
          width: revert-layer;
        }
      }
    }
  }
  ul.list_pl {
    margin: 0 0 3rem;
  }
  ul.list_pl li a {
    font-size: 1.7rem;
  }
  table.tbl_prc td, table.tbl_prc th {
    padding: 0.8rem !important;
  }
  table.tbl_prc tbody tr td:last-child {
    text-align: right;
  }
  
/* greeting */
  
/* ==== 特長 ==== */
  #g-benefits {
    margin-top: 4rem;
  }
  #g-benefits ul {
    justify-content: center;
  }
  #g-benefits li {
    width: 23rem;
    margin: 0 2rem;
    position: relative;
    padding-bottom: 4rem;
  }
  #g-benefits li a {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #g-benefits li dd {
    padding: 1rem 0 2rem;
  }
}
@media screen\0 {
  
/* IEハック */
  #lower h2 {
    line-height: 17rem;
  }
}
.fas.inline, .far.inline {
  display: inline;
}

/* ------------------------------------------------------
	Tablet 48em=768px  96em=1536px
-------------------------------------------------------- */
@media screen and (min-width: 48em) and (max-width: 96em) {
  header .wrapper .h_logo .h_txt {
    margin-left: 15px !important;
  }
}
.company_health_check th, .company_health_check td {
  vertical-align: middle;
  text-align: center;
  box-sizing: border-box;
}
.company_health_check thead th {
  font-weight: bold;
  background: #95B3BA;
  color: #fff;
  border-left: 1px solid #fff;
  padding: 0.5rem;
}
.company_health_check thead tr:first-of-type th:last-of-type {
  border-bottom: 1px solid #fff;
}
.company_health_check tbody th {
  text-align: left;
}
@media print, screen and (min-width: 46.875em) {
  .company_health_check .wid_sml {
    width: 5%;
  }
  .company_health_check .wid_mid {
    width: 10%;
  }
}

/*フロー：お申込みの流れ*/
.flow_box {
  margin: 0 0 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.flow {
  width: 100%;
  padding-left: 0;
}
.flow > li {
  list-style-type: none;
  border-radius: 15px;
  background: #F4F6FA;
  position: relative;
  margin: 0 auto;
  padding: 20px;
}
.flow > li.arrow::before, .flow > li.arrow::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 3.5rem;
  width: 5px;
  height: 23px;
  border-radius: 9999px;
  background-color: #8EB83C;
  transform-origin: 50% calc(100% - 2.5px);
}
.flow > li.arrow::before {
  transform: rotate(45deg);
}
.flow > li.arrow::after {
  transform: rotate(-45deg);
}
.flow > li:not(:last-child) {
  margin-bottom: 20px;
}
.flow > li dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.flow > li dl dt {
  font-size: 1.2em;
  font-weight: 700;
  width: 100%;
  min-width: 7em;
}
.flow > li .icon {
  color: #8EB83C;
  margin-right: 0.5em;
}
.flow > li dl dd {
  margin: 0;
  width: 100%;
}
@media screen and (min-width: 48em) and (max-width: 96em) {
  .flow > li dl {
    flex-wrap: nowrap;
  }
  .flow > li dl dt {
    width: 25%;
  }
  .flow > li dl dd {
    width: calc(80% - 20px);
  }
}

/*TOPページ　モーダルウィンドウ*/
#c-modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.6);
}
#c-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  width: 90%;
  max-width: 800px;
  height: auto;
  transform: translate(-50%, -50%);
  background-color: #EDE4DD;
  padding: 20px;
}
#c-modal h4 {
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-bottom: 0.2rem solid #3E3A39;
  padding: 0 0 0.5rem 4rem;
  margin-bottom: 1.5rem;
  font-size: 1.7rem;
  position: relative;
  min-height: 2.5rem
}
#c-modal h4::before {
  position: absolute;
  left: 0.5rem;
  top: 52%;
  margin-top: -1.5rem;
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.1rem;
  background: url(../images/common/h4.png) no-repeat;
  background-size: 2.2rem auto;
}
#c-modal h5 {
  font-family: "LogoTypeGothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  border-bottom: 2px solid #666;
  font-size: 110%;
  color: #666;
  padding: 0 0 0.2rem 0.5rem;
  margin-bottom: 1rem;
}
#c-modal h5::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 20%;
  height: 2px;
  background-color: #95B3BA;
}
#c-modal p {
  margin-bottom: 1rem;
  font-size: 90%;
  line-height: 1.3;
}
#c-modal ul {
  list-style: none;
  text-align: center;
  margin: 0;
  padding: 0;
}
#c-modal ul li {
  text-align: center;
}
#c-modal_close {
  padding: 10px;
  cursor: pointer;
  text-align: center;
  background-color: #804C2E;
  border-radius: 5px;
  color: #fff;
  margin: 0 auto 20px;
  font-weight: normal;
  letter-spacing: 0.1rem;
  width: 40%;
  max-width: 200px;
}
@media print, screen and (min-width: 46.875em) {
  #c-modal p {
    margin-bottom: 1.5rem;
    font-size: 100%;
    line-height: 1.5;
  }
}

/* ページ内リンクのスクロール位置調整 */ 
:target {
  scroll-margin-top: 1rem;
}
@media print, screen and (min-width: 46.875em) {
  :target {
    scroll-margin-top: 25rem;
  }
}

.bnr_recruit {
  width: 100%;
  margin: 0 auto;
  padding: 1.5rem;
  background: #c87c02;
  color: #fff;
  border-radius: .8rem;
}
.bnr_recruit p {
    margin-bottom: 0;
}
@media screen and (min-width:768px) and ( max-width:1024px) {
.bnr_recruit {
  width: 40%;
}
}
@media screen and (min-width:1024px) {
.bnr_recruit {
  width: 40%;
}
}
