@charset "UTF-8";
/*--------------------------------------------------------
  基本デザイン設定
--------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Abel&family=Open+Sans+Condensed:wght@300&family=Noto+Serif+JP:wght@300&family=Varela+Round&display=swap");
/*---------- color ----------*/
/*---------- base ----------*/
/*---------- 共通 ----------*/
*,
*:before,
*:after {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box; }

* {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 130%; }

html {
  overflow: visible; }

html,
body {
  height: 100vh; }

body {
  margin: 0 auto;
  /*@include mg0auto; */
  padding: 0;
  background: #e8f4f7;
  color: #4D5156;
  font-size: 75%;
  font-family: 'Avenir', 'Helvetica Neue', 'メイリオ', Meiryo, 'ヒラギノ角ゴ', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'Osaka', sans-serif; }

#wrap {
  position: relative;
  overflow: auto;
  height: auto !important;
  /* IE6*/
  height: 100%;
  /* IE6*/
  min-height: 100%;
  margin: 0 auto;
  background: #ffffff;
  border-left: 1px solid #c3d8e9;
  border-right: 1px solid #c3d8e9; }

#content {
  height: 100%;
  margin: 0;
  height: auto !important;
  /* IE6*/
  height: 100%;
  /* IE6*/
  min-height: 100%;
  margin: 0 auto; }

body > #content {
  height: auto; }

/*ヘッダー内*/
#header {
  position: fixed;
  left: 0%;
  right: 0%;
  z-index: 50;
  margin: 0 auto;
  padding: 0em 1em 0;
  background-color: #ffffff;
  border-left: 1px solid #c3d8e9;
  border-right: 1px solid #c3d8e9; }

#headerLogo {
  position: absolute;
  top: 1em;
  left: 1em;
  margin: 0;
  width: 290px;
  height: 100%; }

#headerMain {
  position: absolute;
  top: 2.5em;
  left: 310px;
  width: calc(100% - 320px);
  overflow: hidden; }
  #headerMain p {
    font-weight: normal;
    font-size: 1em; }

.btn {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 5%;
  width: 60px;
  height: 60px;
  margin: 10px;
  padding: .8em 0;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  background: #c8ee77;
  font-size: 1.3em;
  font-weight: bold;
  color: #646a3c;
  text-align: center; }
  .btn .offer1 {
    font-size: .8em;
    padding-top: .5em; }
  .btn:hover {
    background-color: #24B9F4;
    color: #ffffff; }
  .btn:hover {
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -o-transition: .3s; }
  .btn i {
    color: #ffffff; }

#left {
  margin: 0;
  background-color: #ffffff; }

#right {
  background-color: #ffffff; }

#footer {
  position: absolute;
  z-index: 100;
  bottom: 0;
  width: 100%;
  height: 30px;
  background-color: #2ca9e1;
  color: #ffffff; }
  #footer p {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%); }

#pagetop {
  position: fixed;
  z-index: 888;
  width: 40px;
  height: 40px;
  right: 10%;
  bottom: 0;
  background: #666666;
  opacity: 0.6; }
  #pagetop a {
    display: block;
    position: relative;
    width: 40px;
    height: 40px;
    text-decoration: none;
    border: 0; }
    #pagetop a::before {
      position: absolute;
      content: '\f106';
      width: 20px;
      height: 20px;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      font-family: "font Awesome 5 Free";
      font-size: 20px;
      font-weight: 900;
      color: #ffffff;
      text-align: center; }
  #pagetop img {
    max-width: 100%;
    height: auto; }

/*--------------------------------------------------------
  パーツデザイン設定
--------------------------------------------------------*/
/* トップページ デザイン定義 */
#title {
  width: 100%;
  margin: 0 0 1em 0; }

#toppage-text {
  width: 100%;
  margin: 0 0 2em 0;
  padding: 1em 1em 2em;
  background: #ffffff;
  font-family: 'Noto Serif JP', 'ヒラギノ明朝', '游明朝', 'Osaka', serif;
  font-size: 1.1em;
  border: 1px solid #4D5156;
  -webkit-border-radius: 5px;
  border-radius: 5px; }
  #toppage-text span {
    float: right;
    padding: 1em .5em 0;
    color: #165e83;
    font-size: 1.1em;
    font-family: 'Noto Serif JP', 'ヒラギノ明朝', '游明朝', 'Osaka', serif;
    background-color: #ffffff; }

#toppage-news {
  clear: right;
  text-align: center;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box; }

#news {
  -webkit-overflow-scrolling: touch;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  max-width: 600px;
  height: 13em;
  margin: 0 auto;
  overflow-y: scroll; }

#news dl {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  margin: auto;
  padding: 0;
  border-top: 1px dotted #ccc;
  border-right: 1px dotted #ccc; }

#news dt {
  flex-basis: 15%;
  padding: 1em;
  background-color: #f1f1f1;
  border-bottom: 1px dotted #ccc;
  font-family: 'Abel', 'Raleway', 'Meiryo', sans-serif; }

#news dd {
  flex-basis: 85%;
  padding: 1em;
  background-color: #ffffff;
  border-bottom: 1px dotted #ccc;
  text-align: left; }

#news dd .news-tittle {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: 1.2em;
  font-weight: bold;
  color: #2ca9e1; }

#h2 {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 1em 1em 0; }
  #h2 .en {
    color: #165e83;
    font-size: 2em;
    font-family: 'Abel', 'Raleway', 'Meiryo', sans-serif;
    text-transform: capitalize; }
  #h2 .ja {
    font-size: 1.3em; }
  #h2 .icon-info::before {
    content: '\f518';
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 100%;
    left: 50%;
    top: -.8em;
    color: #c8c8c8;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-family: "font Awesome 5 Free";
    font-size: .8em;
    font-weight: 900; }

h4 {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 2em 0 1em;
  padding: 0;
  text-align: left;
  border-bottom: solid 2px #c8c8c8; }
  h4::after {
    content: '';
    position: absolute;
    display: block;
    width: 2em;
    left: 0;
    bottom: -2px;
    border-bottom: solid 2px #2ca9e1;
    -webkit-border-radius: 0px;
    border-radius: 0px; }
  h4 span.ja {
    color: #4D5156;
    font-size: 1.3em; }
  h4 span.red {
    color: #fe2d2d; }
  h4 i {
    margin-right: 1em;
    color: #2ca9e1; }

h6 {
  color: #2ca9e1;
  font-weight: bold;
  font-size: 1.3em;
  text-align: left; }

.text {
  margin-bottom: 1em; }
  .text p {
    padding: 0 1em; }

/* リンク文字色 */
#header a,
a:hover {
  border-bottom: 0; }

a:link {
  color: #59c4c2; }
a:visited {
  color: #59c4c2; }
a:hover {
  color: #c8c8c8;
  text-decoration: none;
  transition: .3s;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -o-transition: .3s; }
a:active {
  color: #c8c8c8;
  text-decoration: none; }

#hpb-skip {
  /* ヘッダースキップの非表示 */
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  text-indent: -9999px; }

/*--------------------------------------------------------
  レスポンシブデザイン設定
--------------------------------------------------------*/
/*---------- over768px  ----------*/
@media only screen and (min-width: 768px) {
  * {
    line-height: 160%; }

  #wrap {
    width: 95%; }

  #header {
    width: 95%;
    height: 80px; }

  #content {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin: 0;
    padding-top: 110px; }

  #left {
    flex-shrink: 0;
    order: 0;
    z-index: 20;
    padding: 0;
    width: 250px;
    height: 100%; }

  #right {
    flex: 1;
    order: 2;
    padding: 0 3em 50px; }

  #pagetop {
    right: 2.5%; } }
/*---------- under1000px  ----------*/
@media only screen and (max-width: 1000px) {
  #header {
    background-image: none; }

  #news dl {
    flex-flow: column;
    text-align: left;
    border-right: 0px; }

  #news dt {
    background-color: #ffffff;
    border-bottom: 0;
    padding-bottom: 0;
    color: #165e83; }

  #news dd {
    padding: 0 1em 1em; } }
/*---------- over1280px  ----------*/
@media only screen and (min-width: 1280px) {
  #wrap {
    width: 70%; }

  #header {
    width: 70%; }

  #pagetop {
    right: 15%; } }
/*---------- under767px  ----------*/
@media only screen and (max-width: 767px) {
  * {
    font-size: 14px;
    line-height: 160%; }

  body {
    background-color: #ffffff; }

  #wrap {
    width: 100%;
    padding: 0 1em;
    border: 0; }

  #header {
    width: 100%;
    height: 60px;
    border: 0; }

  #headerLogo {
    position: relative;
    height: 46px;
    top: .5em;
    left: 0; }
    #headerLogo img {
      height: 46px; }

  #headerMain,
  #headerExtra1,
  .btn {
    display: none; }

  #left {
    width: 100%;
    padding: 0; }

  #right {
    width: 100%;
    padding: 60px 0; }

  #pagetop {
    right: 8px; }

  #footer {
    width: 100%;
    margin: 0 -1em; }

  #news {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    flex-wrap: wrap;
    height: 18em;
    border-bottom: 1px dotted #ccc; }

  #h2 span.en {
    font-size: 2.5em; }
  #h2 span.ja {
    font-size: 2em; }
  #h2 .icon-info::before {
    font-size: 1em; }

  h4 i {
    font-size: 1.1em; } }
#g-nav {
  background: #ffffff;
  position: relative;
  padding-bottom: 15em;
  height: 100%; }

#g-nav span.en {
  font-size: .9em;
  font-family: 'Abel', 'Raleway', 'Meiryo', sans-serif;
  text-transform: uppercase;
  color: #c8c8c8;
  display: block;
  margin: -.5em 0 0 1em; }

/*リストのレイアウト設定*/
#g-nav ul {
  width: 100%;
  display: block;
  position: absolute;
  padding: 0;
  z-index: 999; }

#g-nav li {
  list-style: none;
  border-top: 1px solid #ccc;
  position: relative;
  /*下の階層のulや矢印の基点にするためliにrelativeを指定*/ }

#g-nav li a {
  color: #333;
  font-weight: bold;
  text-decoration: none;
  text-align: left;
  border-bottom: 0;
  background-color: #ffffff;
  padding: .6em 2em;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 1em;
  font-family: "游ゴシック", 'Open Sans Condensed', sans-serif; }

.fas fa-sort-down {
  text-align: right; }

#g-nav li a:hover {
  color: #24B9F4;
  transition: .3s;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -o-transition: .3s;
  /* background-color: #24B9F4;*/ }

#g-nav li a:hover span.en {
  color: #e7e7e7;
  transition: .3s;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -o-transition: .3s; }

/*2階層目以降は横並びにしない*/
#g-nav ul ul {
  display: block;
  padding-bottom: .5em; }

#g-nav li li {
  border-top: 0; }

#g-nav .bor-top {
  border-top: 1px solid #ccc;
  padding-top: .5em; }

#g-nav .bor-bottom {
  border-bottom: 1px solid #ccc; }

#g-nav li li a {
  color: #333;
  font-size: 1em;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "Osaka", sans-serif;
  font-weight: normal;
  text-decoration: none;
  text-align: left;
  border: 0;
  padding: 0 0 0 4em;
  display: block;
  letter-spacing: 0.1em; }

#g-nav ul li li a {
  font-weight: normal;
  font-size: 1em; }

#g-nav li li .city {
  color: #333;
  font-size: 1em;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "Osaka", sans-serif;
  font-weight: normal;
  text-decoration: none;
  text-align: left;
  border: 0;
  padding: .5em 0 0 4em;
  display: block;
  letter-spacing: 0.1em; }

#g-nav ul li li .city {
  font-weight: bold;
  font-size: 1em; }

/*2階層目を持つliの矢印の設定*/
#g-nav ul li.has-child::before {
  content: '';
  position: absolute;
  right: 1em;
  top: 25px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
  transform: rotate(135deg); }

/*下の階層を持っているulの指定*/
#g-nav li.has-child ul {
  /*絶対配置で位置を指定*/
  position: absolute;
  left: 0;
  top: 30px;
  z-index: 20;
  width: 100%;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  transition: all 0s; }

#g-nav li.has-child ul,
#g-nav li.has-child ul ul {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  visibility: visible;
  /*JSで制御するため一旦表示*/
  opacity: 1;
  /*JSで制御するため一旦表示*/
  display: none;
  /*JSのslidetoggleで表示させるため非表示に*/
  transition: none;
  /*JSで制御するためCSSのアニメーションを切る*/ }

/*矢印の位置と向き*/
#g-nav ul li.has-child::before {
  right: 1em; }

#g-nav ul li.has-child.active::before {
  transform: rotate(-45deg); }

#g-nav li.has-child a:hover {
  transition: 0s;
  -webkit-transition: 0s;
  -moz-transition: 0s;
  -o-transition: 0s; }

#g-nav li.has-child li:first-child {
  padding-top: .5em; }

#g-nav li.has-child li:last-child {
  padding-bottom: .5em; }

/*left navi 下*/
#g-nav li.advert {
  margin: 15px 15px 40px;
  border: 0; }

.aside {
  text-align: center;
  border: 0;
  padding: 10px 10px 5px 10px;
  background-color: #ffffff; }

.aside h5 {
  border-left: 5px solid #f5e56b;
  margin: 0 0 1em 0;
  font-size: 1em;
  text-align: left;
  padding-left: 1em; }

.aside h5 .h5en {
  display: none; }

.aside p {
  font-size: .8em;
  text-align: center; }

.aside .tel {
  font-size: 1.3em;
  font-weight: bold;
  color: #165e83; }

/*---------- over768px  ----------*/
@media only screen and (min-width: 768px) {
  /*リストのレイアウト設定*/
  #navi {
    width: 250px;
    height: calc(100% - 110px);
    position: fixed;
    margin: 0;
    overflow: auto;
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    /* Firefox 対応 */ }

  #navi::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none; }

  #g-nav li a {
    font-size: 1.2em; }

  #g-nav ul li li a::before {
    position: absolute;
    top: 50%;
    left: 3em;
    content: '';
    margin-top: -5px;
    border: 7px solid transparent;
    border-top-width: 5px;
    border-bottom-width: 5px;
    border-left-color: #ffffff;
    transition: .2s;
    -webkit-transition: .2s;
    -moz-transition: .2s;
    -o-transition: .2s; }

  #g-nav ul li li a:hover::before {
    border-left-color: #24B9F4; } }
/*---------- under767px  ----------*/
@media only screen and (max-width: 767px) {
  #g-nav li.advert {
    margin: 15px 15px 10px; }

  .aside h5 {
    border-left: 0;
    text-align: center;
    margin: 0 0 .3em 0;
    padding-left: 0;
    color: #2ca9e1;
    font-size: 1.3em; }

  #g-nav {
    position: fixed;
    z-index: 999;
    top: 59px;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: #ffffff;
    transition: all 0.6s; }

  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    right: 0; }

  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: calc(100% - 59px);
    overflow: auto; }

  #g-nav.panelactive #g-nav-list {
    display: block;
    /*クラスが付与されたら出現*/ }

  /*ナビゲーション*/
  #g-nav ul {
    padding: 0;
    position: absolute;
    top: 10%; }

  /*リストのレイアウト設定*/
  #g-nav li a {
    padding: .8em .8em .8em 3em;
    font-size: 1em; }

  #g-nav ul li li a {
    padding: .2em 0 .2em 5em; }

  #g-nav li span.en {
    padding: .5em 0 0; }

  #g-nav li.has-child ul,
  #g-nav li.has-child ul ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    /*JSで制御するため一旦表示*/
    opacity: 1;
    /*JSで制御するため一旦表示*/
    display: none;
    /*JSのslidetoggleで表示させるため非表示に*/
    transition: none;
    /*JSで制御するためCSSのアニメーションを切る*/ }

  /*矢印の位置と向き*/
  #g-nav ul li.has-child::before {
    right: 1em; }

  #g-nav ul li.has-child.active::before {
    transform: rotate(-45deg); }

  /*========= ハンバーガー ===============*/
  .openbtn1 {
    position: fixed;
    z-index: 9999;
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px; }

  /*×に変化*/
  .openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    right: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #666;
    width: 45%; }

  .openbtn1 span:nth-of-type(1) {
    top: 15px; }

  .openbtn1 span:nth-of-type(2) {
    top: 23px; }

  .openbtn1 span:nth-of-type(3) {
    top: 31px; }

  .openbtn1.active span:nth-of-type(1) {
    top: 18px;
    right: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%; }

  .openbtn1.active span:nth-of-type(2) {
    opacity: 0; }

  .openbtn1.active span:nth-of-type(3) {
    top: 30px;
    right: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%; } }
#store {
  /*矢印の設定*/
    /*.slick-prev,
    .slick-next {
        position: absolute;
        z-index: 3;
        top: 42%;
        padding: 5px;
        cursor: pointer;
        outline: none;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        height: 20px;
        width: 20px;
    }

    .slick-prev {
        left: 2.5%;
        transform: rotate(-135deg);
    }

    .slick-next {
        right: 2.5%;
        transform: rotate(45deg);
    }*/
  /*ドットナビゲーションの設定*/ }
  #store .store-slide {
    position: relative;
    width: 100%;
    margin: 0;
    text-align: center; }
  #store .slider {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 270px; }
  #store .slider-item {
    width: 100%;
    height: 250px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-size: cover; }
  #store .slick-dots {
    position: relative;
    z-index: 3;
    text-align: center;
    margin: 1em 0 0 0; }
  #store .slick-dots li {
    display: inline-block;
    margin: 0 5px; }
  #store .slick-dots button {
    color: transparent;
    outline: none;
    width: 8px;
    height: 8px;
    display: block;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer; }
  #store .slick-dots .slick-active button {
    background: #333; }

/*---------- over768px  ----------*/
@media only screen and (min-width: 768px) {
  .slider {
    width: 300px; } }
/*---------- under840px  ----------*/
@media only screen and (max-width: 840px) {
  .slider {
    width: 300px; } }
/*---------- under400px  ----------*/
@media only screen and (max-width: 400px) {
  .slider {
    width: calc(100% + 2em); } }
/* 店舗ページ デザイン定義 */
#store {
  margin: -3em 0 0 0;
  text-align: center;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  overflow: visible; }
  #store #h3 {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 1em 0;
    padding: 1em 1em 1em 2em;
    text-align: left;
    border: 1px solid #c3d8e9;
    background-image: url(../images/h2img.jpg);
    background-size: auto 80px;
    background-position: right;
    background-repeat: no-repeat; }
    #store #h3 .ja {
      color: #4D5156;
      font-size: 1.3em; }
    #store #h3 .en {
      margin: 0 0 0 .5em;
      color: #c8c8c8;
      font-family: 'Abel', 'Raleway', 'Meiryo', sans-serif;
      line-height: 60%; }

.recrut-p {
  display: flex;
  align-items: center; }
  .recrut-p .btn2 {
    display: flex;
    flex-direction: column;
    width: 50px;
    height: 50px;
    margin: 1em 0 0 1em;
    padding: .8em 0;
    -webkit-border-radius: 10px;
    border-radius: 50%;
    background: #c8ee77;
    font-size: 1.3em;
    font-weight: bold;
    color: #165e83;
    text-align: center;
        /*&:hover {
            background-color: #24B9F4;
            color: #fff;
        }

        &:hover {
            transition: .3s;
            -webkit-transition: .3s;
            -moz-transition: .3s;
            -o-transition: .3s;
        }*/ }
    .recrut-p .btn2 .fle-cen {
      flex-grow: 1;
      display: flex;
      justify-content: center; }
    .recrut-p .btn2 .offer1 {
      font-size: .8em;
      padding-top: .5em; }
    .recrut-p .btn2 i {
      font-size: 1.2em;
      color: #fff; }
  .recrut-p p {
    margin-left: 1em; }

.item {
  padding: .5em;
  width: 100%;
  text-align: center;
  border: 2px solid #f1f1f1;
  border-radius: 5px;
  -webkit-border-radius: 5px; }
  .item ul {
    display: flex;
    flex-flow: row wrap;
    margin: 0; }
  .item ul li {
    padding-top: 0;
    padding-left: 1em;
    list-style-type: none;
    font-weight: bold; }
    .item ul li::before {
      padding-right: .5em;
      content: '\f0da';
      font-family: "font Awesome 5 Free";
      font-weight: 900;
      color: #a3d678; }

#tenpo2 {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  overflow: visible; }
  #tenpo2 .h4 {
    width: 100%; }
  #tenpo2 .list {
    display: flex;
    flex-flow: column wrap;
    position: relative;
    z-index: 1;
    margin: 1.5em 1.5em 0 0;
    padding: .5em;
    max-width: 260px;
    height: 290px; }
    #tenpo2 .list img {
      top: 0;
      max-width: 150px;
      height: 150px;
      margin: .5em auto 1em auto;
      border-radius: 50%;
      -webkit-border-radius: 50%; }
    #tenpo2 .list .list-link {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 2; }
    #tenpo2 .list .store-name {
      color: #165e83;
      font-weight: bold;
      font-size: 1.2em;
      text-align: center; }
    #tenpo2 .list a {
      display: inline-block;
      position: relative;
      color: #165e83;
      text-decoration: none;
      transition: .3s; }
    #tenpo2 .list a::after {
      position: absolute;
      top: calc(100% - 150px + 3.5em);
      /*bottom: 0;*/
      left: 50%;
      content: '';
      width: 0;
      height: 2px;
      background-color: #2ca9e1;
      transition: .3s;
      transform: translateX(-50%); }
    #tenpo2 .list a:hover::after {
      width: calc(100% - 1em); }
    #tenpo2 .list p {
      text-align: center; }

#tenpo {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }
  #tenpo dl {
    display: flex;
    flex-flow: row wrap;
    margin: auto;
    padding: 0;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc; }
    #tenpo dl.Ctenpo {
      width: calc(100% - 350px);
      border-right: 1px solid #ccc; }
  #tenpo dt {
    padding: 1em;
    background-color: #e8f4f7;
    border-bottom: 1px solid #ccc;
    font-family: 'Abel', sans-serif;
    font-weight: bold; }
  #tenpo .Ctenpo dt {
    flex-basis: 100px; }
  #tenpo dd {
    padding: 1em;
    background-color: #ffffff;
    border-bottom: 1px solid #ccc;
    text-align: left; }
    #tenpo dd:nth-of-type(1) {
      font-weight: bold; }
    #tenpo dd:nth-of-type(4) {
      color: #fe2d2d; }
  #tenpo .Ctenpo dd {
    flex-basis: calc(100% - 100px); }
  #tenpo a {
    color: #4D5156;
    text-decoration: none; }

.r-tenpo {
  display: flex;
  flex-direction: column;
  justify-content: center; }
  .r-tenpo .time-table {
    margin: 0 auto;
    width: 330px;
    height: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: .5em;
    text-align: center; }
    .r-tenpo .time-table th {
      width: 30px;
      background-color: #e8f4f7;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      border-bottom: 1px solid #ccc; }
      .r-tenpo .time-table th:first-child {
        width: 110px; }
      .r-tenpo .time-table th:last-child {
        border-right: 1px solid #ccc; }
    .r-tenpo .time-table tr {
      font-size: .5em; }
    .r-tenpo .time-table td {
      width: 30px;
      border-left: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      border-top: none;
      background-color: #e1e1e1; }
      .r-tenpo .time-table td.open {
        background-color: #ffffff; }
      .r-tenpo .time-table td:first-child {
        width: 110px; }
      .r-tenpo .time-table td:last-child {
        color: #fe2d2d;
        border-right: 1px solid #ccc; }
  .r-tenpo .free {
    display: flex;
    flex-flow: wrap;
    margin: 2em 0 0;
    padding: .5em;
    width: 330px;
    font-size: .5em;
    text-align: left; }
    .r-tenpo .free p {
      flex-grow: 1;
      justify-content: center;
      color: #165e83;
      font-size: 2em;
      font-weight: bold; }
  .r-tenpo .info-icon {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    width: auto;
    height: 50px;
    margin: 0 1em;
    padding: .5em;
    background-color: #f1f1f1;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: solid 1px #c8c8c8;
    text-align: center; }
    .r-tenpo .info-icon .info-icon-text {
      color: #165e83;
      font-size: 2em;
      font-weight: bold; }
      .r-tenpo .info-icon .info-icon-text span {
        font-weight: normal; }

.cashless {
  display: flex;
  flex-flow: wrap;
  justify-content: space-around;
  max-width: 100%;
  height: auto; }
  .cashless img {
    margin: .3em; }

.credit {
  max-width: 100%;
  height: auto;
  background-image: url(../images/credit.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover; }

.electronic {
  max-width: 100%;
  height: auto;
  background-image: url(../images/electronic.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover; }

.code {
  max-width: 100%;
  height: auto;
  background-image: url(../images/code.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover; }

.T-p {
  margin: 0;
  color: #165e83;
  font-size: 1em;
  font-weight: bold; }

.T-p::before {
  content: "";
  display: inline-block;
  width: 55px;
  height: 55px;
  background-image: url(../images/t-point.png);
  background-size: contain;
  vertical-align: middle; }

.map {
  width: 80%;
  height: 400px;
  border: 0; }

.info {
  margin-left: 1em;
  color: #fe2d2d; }

.box-sch {
  width: 100%;
  padding: 1em;
  border: 1px solid #f1f1f1;
  border-radius: 10px;
  background-color: #f1f1f1;
  text-align: left; }

.sch-date {
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  margin: 0 0 .5em 0;
  color: #fe2d2d;
  font-family: 'Varela Round', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 1.2em;
  font-weight: bold; }

.sch-date::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 1.5px;
  background-color: #4D5156; }

/*---------- under1000px  ----------*/
@media only screen and (max-width: 1000px) {
  #store {
    margin: 0; }
    #store #h3 .ja {
      display: flex;
      flex-direction: column;
      width: 100%;
      background-size: auto 100%; }
    #store #h3 .en {
      top: 0;
      left: 0;
      margin: 0;
      width: 100%; }

  #tenpo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    #tenpo dl.Ctenpo {
      width: 100%;
      margin-bottom: 1em; }
    #tenpo dt {
      background-color: #e8f4f7; }
    #tenpo .Ctenpo dt {
      flex-basis: 90px; }
    #tenpo .Ctenpo dd {
      flex-basis: calc(100% - 90px);
      text-align: left; }
    #tenpo .free {
      width: 100%; }
      #tenpo .free .info-icon {
        margin: 0 .5em; }
        #tenpo .free .info-icon .info-icon-text {
          font-size: 1em; }
    #tenpo .mb-cen p {
      text-align: center; }

  .btn2 {
    font-size: 1.3em;
    font-weight: bold; }
    .btn2 i {
      font-size: 1.2em; }

  .map {
    width: 90%;
    height: 300px; } }
/*---------- under767px  ----------*/
@media only screen and (max-width: 767px) {
  #tenpo2 {
    flex-flow: column wrap;
    width: 100%; }
    #tenpo2 .list {
      display: flex;
      flex-flow: row wrap;
      margin: 0 0 1em 0;
      padding: .5em;
      max-width: 100%;
      height: auto;
      text-align: left; }
      #tenpo2 .list .h4 {
        width: 100%; }
      #tenpo2 .list .pict {
        width: 130px;
        margin: 0 1em 0 0; }
      #tenpo2 .list img {
        max-width: 130px;
        height: 130px;
        margin: 0;
        border-radius: 50%;
        -webkit-border-radius: 50%; }
      #tenpo2 .list .list-text {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        width: calc(100% - 130px - 1em);
        height: auto; }
      #tenpo2 .list .store-name {
        color: #165e83;
        font-weight: bold;
        font-size: 1em;
        text-align: left; }
      #tenpo2 .list a:hover::after {
        display: none; }
      #tenpo2 .list p {
        font-size: .8em;
        text-align: left; }

  #tenpo dl {
    border-left: 0; }
    #tenpo dl.Ctenpo {
      border-right: 0; }

    /*    #tenpo {

        dl.Ctenpo {
            display: flex;
            flex-flow: column;
            margin: auto;
            padding: 0;

            &.Ctenpo {
                width: 100%;
                border: 0;
            }
        }


        dt {
            padding: .3em .3em .3em 1em;
            background-color: $cl-haikei;
            border: 0;
            font-family: 'Abel', sans-serif;
            font-weight: bold;
            text-align: left;
        }

        .Ctenpo dt {
            flex-basis: 100%;
        }

        dd {
            padding: 1em;
            background-color: $cl-white;
            border-bottom: 0;
            text-align: left;
        }

        .Ctenpo dd {
            flex-basis: 100%;
        }
    }*/ }
/*　文字装飾　*/
p {
  text-align: left; }

.texdeco-none {
  text-decoration: none; }

.mb1 {
  margin-bottom: 1em; }

.bold {
  font-weight: bold; }

.line {
  text-decoration: underline; }

.red {
  color: #fe2d2d; }

.white {
  color: #ffffff; }

.navy {
  color: #165e83; }

.hanten {
  transform: scale(-1, 1); }

.i-s {
  font-size: .8em; }

.date {
  color: #c8c8c8;
  font-family: 'Abel', 'Raleway', 'Meiryo', sans-serif;
  font-weight: normal; }

.imp {
  color: #fe2d2d;
  font-weight: bold;
  text-decoration: underline;
  text-decoration-color: #fe2d2d; }

/*---------- over768px  ----------*/
@media only screen and (min-width: 768px) {
  .pc-none {
    display: none; } }
/*---------- under767px  ----------*/
@media only screen and (max-width: 767px) {
  .mb-none {
    display: none; } }

/*# sourceMappingURL=store.css.map */
