@charset "UTF-8";
:root {
  --color-main: #1D2089;
  --color-sub: #e4e8f2;
  --color-bg1: #6163a8;
  --color-bg2: #595ba3;
  --color-active: #060cf8;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

body {
  position: relative;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  color: #262626;
  line-height: 2;
  height: 100%;
  letter-spacing: 0.5px;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
    min-width: 0;
    width: 100%;
  }
}
a {
  text-decoration: none;
  cursor: pointer;
  color: var(--color-main);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  word-wrap: break-word;
}

ul,
li {
  list-style: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
  font-family: inherit;
}

textarea {
  font-family: inherit;
}

main {
  display: block;
  overflow: hidden;
}

small {
  font-size: 90%;
}

/*============================================================================

  共通

============================================================================*/
/*----------パディング----------*/
/* 上下 */
.u-py-xs {
  padding-top: 20px;
  padding-bottom: 20px;
}

.u-py-sm {
  padding-top: 40px;
  padding-bottom: 40px;
}

.u-py-md {
  padding-top: 60px;
  padding-bottom: 60px;
}

.u-py-lg {
  padding-top: 80px;
  padding-bottom: 80px;
}

.u-py-xl {
  padding-top: 100px;
  padding-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .u-py-xs {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .u-py-sm {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .u-py-md {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u-py-lg {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .u-py-xl {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
/* 上 */
.u-pt-none {
  padding-top: 0 !important;
}

.u-pt-xs {
  padding-top: 20px;
}

.u-pt-sm {
  padding-top: 40px;
}

.u-pt-md {
  padding-top: 60px;
}

.u-pt-lg {
  padding-top: 80px;
}

.u-pt-xl {
  padding-top: 100px;
}

@media screen and (max-width: 768px) {
  .u-pt-xs {
    padding-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .u-pt-sm {
    padding-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .u-pt-md {
    padding-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u-pt-lg {
    padding-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .u-pt-xl {
    padding-top: 50px;
  }
}
/* 下 */
.u-pb-none {
  padding-bottom: 0 !important;
}

.u-pb-xs {
  padding-bottom: 20px;
}

.u-pb-sm {
  padding-bottom: 40px;
}

.u-pb-md {
  padding-bottom: 60px;
}

.u-pb-lg {
  padding-bottom: 80px;
}

.u-pb-xl {
  padding-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .u-pb-xs {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .u-pb-sm {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u-pb-md {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .u-pb-lg {
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  .u-pb-xl {
    padding-bottom: 60px;
  }
}
/*----------マージン----------*/
/* 上下 */
.u-my-xs {
  margin-top: 20px;
  margin-bottom: 20px;
}

.u-my-sm {
  margin-top: 40px;
  margin-bottom: 40px;
}

.u-my-md {
  margin-top: 60px;
  margin-bottom: 60px;
}

.u-my-lg {
  margin-top: 80px;
  margin-bottom: 80px;
}

.u-my-xl {
  margin-top: 120px;
  margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
  .u-my-xs {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .u-my-sm {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u-my-md {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .u-my-lg {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  .u-my-xl {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
/* 上 */
.u-mt-none {
  margin-top: 0 !important;
}

.u-mt-xs {
  margin-top: 20px;
}

.u-mt-sm {
  margin-top: 40px;
}

.u-mt-md {
  margin-top: 60px;
}

.u-mt-lg {
  margin-top: 80px;
}

.u-mt-xl {
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  .u-mt-xs {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-sm {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-md {
    margin-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-lg {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-xl {
    margin-top: 60px;
  }
}
/* 下 */
.u-mb-none {
  margin-bottom: 0 !important;
}

.u-mb-xs {
  margin-bottom: 20px;
}

.u-mb-sm {
  margin-bottom: 40px;
}

.u-mb-md {
  margin-bottom: 70px;
}

.u-mb-lg {
  margin-bottom: 80px;
}

.u-mb-xl {
  margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .u-mb-xs {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .u-mb-sm {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .u-mb-md {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .u-mb-lg {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .u-mb-xl {
    margin-bottom: 50px;
  }
}
/*----------カラー----------*/
.red {
  color: #ff0000;
}

.blue {
  color: #1e00ff;
}

/*----------背景カラー----------*/
.bg-white {
  background: #fff !important;
}

/*----------マーカー下線----------*/
.c-marker {
  display: inline;
  background-color: #333;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #333));
  background: -webkit-linear-gradient(transparent 60%, #333 60%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), to(#333));
  background: -webkit-linear-gradient(transparent 60%, #333);
  background: linear-gradient(transparent 60%, #333);
}

/*----------クリアフィックス----------*/
.u-clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.u-clearfix .img {
  max-width: 30%;
  width: 100%;
  margin-bottom: 20px;
}

.u-clearfix .txt {
  text-align: left;
  margin-right: auto;
  margin-left: auto;
}

.u-clearfix--img-right .img {
  float: right;
  margin-left: 35px;
}

.u-clearfix--img-left .img {
  float: left;
  margin-right: 35px;
}

@media screen and (max-width: 768px) {
  .u-clearfix .img {
    float: none;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
/*----------グリッド----------*/
.col2,
.col3,
.col4,
.col5,
.col6 {
  display: -ms-grid;
  display: grid;
}

/* 2つ並び */
.col2 {
  -ms-grid-columns: 1fr 30px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

/*3つ並び */
.col3 {
  -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* 4つ並び */
.col4 {
  -ms-grid-columns: 1fr 30px 1fr 30px 1fr 30px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 20;
}

/* 5つ並び */
.col5 {
  -ms-grid-columns: 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr;
  grid-template-columns: repeat(5, 1fr);
  gap: 20;
}

/* 6つ並び */
.col6 {
  -ms-grid-columns: 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr;
  grid-template-columns: repeat(6, 1fr);
  gap: 20;
}

/*----------フレックス----------*/
/* 画像大きめ・画像左 */
.flex01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .flex01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.flex01 .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.flex01 .img {
  margin: 0 4% 0 0;
  width: 40%;
}

@media screen and (max-width: 767px) {
  .flex01 .img {
    width: 100%;
    margin: 20px 0 0 0;
  }
}
.flex01 .img img {
  max-width: 100%;
  height: auto;
}

/* 画像大きめ・画像右 */
.flex02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .flex02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.flex02 .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.flex02 .img {
  margin: 0 0 0 4%;
  width: 40%;
}

@media screen and (max-width: 767px) {
  .flex02 .img {
    margin: 20px 0 0 0;
    width: 100%;
  }
}
.flex02 .img img {
  max-width: 100%;
  height: auto;
}

/* 画像小さめ・画像左 */
.flex03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .flex03 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.flex03 .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.flex03 .img {
  margin: 0 3% 0 0;
  width: 30%;
}

@media screen and (max-width: 767px) {
  .flex03 .img {
    margin: 20px 0 0 0;
    width: 100%;
  }
}
.flex03 .img img {
  max-width: 100%;
  height: auto;
  width: 100%;
}

/* 画像小さめ・画像右 */
.flex04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .flex04 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.flex04 .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.flex04 .img {
  margin: 0 0 0 3%;
  width: 30%;
}

@media screen and (max-width: 767px) {
  .flex04 .img {
    margin: 20px 0 0 0;
    width: 100%;
  }
}
.flex04 .img img {
  max-width: 100%;
  height: auto;
  width: 100%;
}

/*----------ラッパー----------*/
/* 幅1040px */
.wrapper-xs {
  max-width: 1140px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .wrapper-xs {
    width: 100%;
  }
}

/* 幅81.94% */
.wrapper-sm {
  max-width: 1360px;
  width: 81.9444444444%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-sm {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* 幅86.11% */
.wrapper-md {
  max-width: 1420px;
  width: 86.1111111111%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-md {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* 幅89.58% */
.wrapper-lg {
  max-width: 1500px;
  width: 89.5833333333%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-lg {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* 幅94.5% */
.wrapper-xl {
  max-width: 1700px;
  width: 94.4444444444%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-xl {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }
}

/*----------リスト----------*/
/* 点のみ */
.list01 {
  list-style: none;
}

.list01 li {
  line-height: 2;
}

.list01 li::before {
  content: "●";
  color: #333;
  font-size: 0.5em;
  margin-right: 10px;
  vertical-align: middle;
  padding-bottom: 3px;
}

/* 下線 */
.list02 {
  margin: 10px 0;
  border-width: 0 1px 1px;
}

.list02 li {
  margin: 0;
  border-bottom: 1px dotted #333;
  list-style-type: none;
}

.list02 p:last-of-type {
  margin-bottom: 0;
}

/* 点と背景 */
.list03 {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px 20px 12px;
  background-color: #ccc;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.list03:after {
  display: block;
  clear: both;
  content: "";
}

.list03 li {
  position: relative;
  float: left;
  margin-bottom: 8px;
  padding-left: 0.9em;
  padding-right: 4%;
  list-style-type: none;
}

.list03 li:before {
  display: block;
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #333;
  border: 1px solid #333;
  border-radius: 50%;
}

.list03 p:last-of-type {
  margin-bottom: 0;
}

/* 点と枠線 */
.list04 {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px 20px 12px;
  border: solid 4px #ccc;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.list04:after {
  display: block;
  clear: both;
  content: "";
}

.list04 li {
  position: relative;
  float: left;
  margin-bottom: 8px;
  padding-left: 0.9em;
  padding-right: 4%;
  list-style-type: none;
}

.list04 li:before {
  display: block;
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #333;
  border: 1px solid #333;
  border-radius: 50%;
}

.list04 p:last-of-type {
  margin-bottom: 0;
}

/*チェックと背景*/
.list05 {
  margin-bottom: 10px;
  padding: 35px 10px 20px 45px;
  background-color: #ccc;
}

@media screen and (max-width: 768px) {
  .list05 {
    padding: 20px 20px 20px 25px;
  }
}
.list05:after {
  display: block;
  clear: both;
  content: "";
}

.list05 li {
  position: relative;
  float: left;
  margin-right: 5%;
  margin-bottom: 20px;
  margin-left: 19px;
  border-bottom: 1px dotted #cdcdcd;
}

@media screen and (max-width: 768px) {
  .list05 li {
    margin-bottom: 10px;
  }
}
.list05 li:before {
  display: block;
  position: absolute;
  top: 9px;
  left: -28px;
  width: 18px;
  height: 18px;
  background-image: url(/asset/images/common/icon-check.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left center;
  content: "";
}

@media screen and (max-width: 768px) {
  .list05 li:before {
    width: 14px;
    height: 14px;
    left: -20px;
  }
}
/*----------囲み枠----------*/
/*枠線 + 縦線背景*/
.well01 {
  padding: 30px 40px 40px;
  border: 9px solid #E0DBC8;
  background-image: -webkit-repeating-linear-gradient(left, #f1eee7, #f1eee7 11px, #eeebe2 11px, #eeebe2 24px);
  background-image: repeating-linear-gradient(90deg, #f1eee7, #f1eee7 11px, #eeebe2 11px, #eeebe2 24px);
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .well01 {
    padding: 20px;
    border: 6px solid #E0DBC8;
  }
}

/*枠線 + 格子模様背景*/
.well02 {
  padding: 30px 40px 40px;
  border: 9px solid #DADADA;
  background-image: url(/asset/images/common/well02-bg.png);
  background-position: left top;
  background-repeat: repeat;
  background-size: 16px;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .well02 {
    padding: 20px;
    border: 6px solid #DADADA;
  }
}

/*----------テーブル----------*/
.table01-wrap {
  border: 1px solid #d9d9d9;
  border-radius: 10px;
}

.table01 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  line-height: 1.8;
  border-radius: 10px;
  overflow: hidden;
}

.table01 tbody th,
.table01 tbody td {
  border-bottom: 1px solid #d9d9d9;
}

.table01 tbody tr:last-child th,
.table01 tbody tr:last-child td {
  border-bottom: none;
}

.table01 tbody th {
  background-color: #f1f1f1;
  padding: 17px 25px;
  text-align: left;
  width: 170px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 600;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .table01 tbody th {
    width: 94px;
    padding: 12px 10px;
  }
}

.table01 tbody td {
  text-align: left;
  padding: 17px 25px;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .table01 tbody td {
    padding: 12px;
  }
}

/*----------ボタン----------*/
.btn01,
.btn02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 290px;
  height: 58px;
  font-weight: 600;
  margin: 45px auto 0;
  border: 3px solid #000000;
  color: #000;
  background: #fff;
  position: relative;
  border-radius: 100vw;
  font-family: "futura-pt", sans-serif;
}

@media screen and (max-width: 768px) {
  .btn01,
  .btn02 {
    margin: 25px auto 0;
    width: 240px;
    height: 50px;
  }
}
.btn01:before,
.btn01:after,
.btn02:before,
.btn02:after {
  position: absolute;
  top: 50%;
  right: 12px;
  height: 1.5px;
  background: #000000;
  content: "";
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.btn01:before,
.btn02:before {
  width: 18px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.btn01:after,
.btn02:after {
  width: 6px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform-origin: right center;
  transform-origin: right center;
}

.btn01:hover,
.btn02:hover {
  background: #000000;
  color: #ffffff;
  opacity: 1;
}

.btn01:hover:before,
.btn01:hover:after,
.btn02:hover:before,
.btn02:hover:after {
  background: #ffffff;
}

.btn02 {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .btn02 {
    width: 100%;
    font-size: 14px;
    max-width: 380px;
  }
}
.btn02.long {
  width: 380px;
}

/*----------ページネーション----------*/
.pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.3rem;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 30px;
  }
}

.pagination a {
  display: inline-block;
  color: black;
  background: #fff;
  border: 1px solid #dedede;
  text-decoration: none;
  width: 40px;
  height: 40px;
  line-height: 37px;
  text-align: center;
  border-radius: 5px;
}

.pagination i {
  line-height: 40px;
}

.pagination .active a {
  background-color: var(--color-main);
  color: white;
}

.pagination a:hover {
  background-color: var(--color-main);
  color: white;
}

.pagination .disabled a {
  pointer-events: none;
  color: #ccc;
}

.pagination .disabled a:hover {
  background-color: initial;
  color: #ccc;
}

/*----------スマホで表示・非表示----------*/
.sp {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
/*----------パンくずリスト----------*/
.low #breadcrumbs {
  margin: 20px 20px 20px;
}
@media screen and (max-width: 768px) {
  .low #breadcrumbs {
    margin: 10px 10px 10px;
  }
}

.low #breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.low #breadcrumbs ul li {
  position: relative;
  margin-right: 0.5em;
  font-size: 13px;
  line-height: 1.2;
  margin-bottom: 3px;
}
@media screen and (max-width: 768px) {
  .low #breadcrumbs ul li {
    font-size: 11px;
  }
}

.low #breadcrumbs ul li:before {
  content: "＞";
  display: inline-block;
  padding-right: 0.5em;
}

.low #breadcrumbs ul li:first-child::before {
  display: none;
}

.low #breadcrumbs ul li a {
  color: var(--color-main, #0000a3);
}

.low #breadcrumbs ul li a:hover {
  text-decoration: underline;
}

.store-supporter + #breadcrumbs {
  background-color: #F5F5F5;
  margin: 0 0 -40px;
  padding: 20px 20px 0px;
}
@media screen and (max-width: 768px) {
  .store-supporter + #breadcrumbs {
    margin: 0 0 0px;
    padding: 10px 10px 0;
  }
}

/*----------タグリスト----------*/
.tag-list {
  margin-top: 7px;
}
.tag-list dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 5px;
}
.tag-list dl dd {
  background: var(--color-main);
  border-radius: 2px;
}
.tag-list dl dd a {
  padding: 4px 5px 6px;
  line-height: 1;
  color: #fff;
  display: block;
  font-size: 80%;
}
.tag-list dl dd a:hover {
  opacity: 0.8;
}
.tag-list dl dd p {
  padding: 4px 5px 6px;
  line-height: 1;
  color: #fff;
  display: block;
  font-size: 80%;
}

/*----------nolinkタグリスト----------*/
.nolink-tag-list {
  margin-top: 4px;
}
.nolink-tag-list dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 5px;
}
.nolink-tag-list dl dd {
  background: var(--color-main);
  border-radius: 2px;
  padding: 4px 5px 5px;
  line-height: 1;
  color: #fff;
  display: block;
  font-size: 11px;
}
@media screen and (max-width: 768px) {
  .nolink-tag-list dl dd {
    font-size: 9px;
  }
}

/*----------駅リスト----------*/
.station-list .fas {
  margin-right: 7px;
  color: #fff;
}
.station-list .station {
  color: #fff;
  position: relative;
}
.station-list .station:hover {
  text-decoration: underline;
}
.station-list .station:not(:last-child)::after {
  content: "/";
  margin: 0 3px;
  color: #fff;
}
.station-list.color-main .fas {
  color: var(--color-main);
}
.station-list.color-main .station {
  color: var(--color-main);
}
.station-list.color-main .station:not(:last-child)::after {
  color: var(--color-main);
}

/*----------nolink駅リスト----------*/
.nolink-station-list {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .nolink-station-list {
    font-size: 11px;
    line-height: 1.6;
  }
}
.nolink-station-list .fas {
  margin-right: 7px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .nolink-station-list .fas {
    margin-right: 0;
  }
}
.nolink-station-list .station {
  color: #fff;
  position: relative;
}
.nolink-station-list .station:not(:last-child)::after {
  content: "/";
  margin: 0 3px;
  color: #fff;
}
.nolink-station-list.color-main .fas {
  color: var(--color-main);
}
.nolink-station-list.color-main .station {
  color: var(--color-main);
}
.nolink-station-list.color-main .station:not(:last-child)::after {
  color: var(--color-main);
}

/*----------メインカテゴリーを写真の左下に配置----------*/
.main-category {
  position: absolute;
  bottom: 0px;
  left: 0px;
  background: var(--color-main);
  color: #fff;
  font-size: 11px;
  padding: 1px 8px;
  border-radius: 0 10px 0 0;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .main-category {
    font-size: 10px;
  }
}

/*============================================================================

  ヘッダー

============================================================================*/
/*----------PC版----------*/
@media screen and (max-width: 1100px) {
  .header {
    display: none;
  }
}
.header-bg {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.header-wrapper {
  width: 100%;
  height: 100px;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  padding-bottom: 10px;
}

/* ロゴ */
.header-logo {
  line-height: 1;
  top: 0px;
  left: 0;
  position: absolute;
  z-index: 1;
}

.header-logo > a {
  display: block;
  line-height: 1;
  background: #fff;
  width: 183px;
  height: 183px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-logo > a:hover {
  opacity: 1;
}

.header-logo > a img {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  width: 132px;
}

.header-logo > a img:hover {
  opacity: 0.7;
}

/* 右上のh1とボタン */
.header-sub {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.header-sub h1 {
  font-size: 12px;
  color: #999999;
  font-weight: 400;
  margin-right: 20px;
}
.header-sub .btn a,
.header-sub .btn button {
  width: 120px;
  display: block;
  background: var(--color-main);
  color: #fff;
  text-align: center;
  font-size: 14px;
  padding: 4px 0 6px;
}
.header-sub .btn a:hover,
.header-sub .btn button:hover {
  opacity: 0.9;
}
.header-sub .btn a span,
.header-sub .btn button span {
  position: relative;
  padding-left: 22px;
}
.header-sub .btn a span::before,
.header-sub .btn button span::before {
  content: "";
  background: url(/asset/images/common/icon-search.png);
  background-size: cover;
  position: absolute;
  left: 0;
  top: 2px;
  width: 16px;
  height: 16px;
}
.header-sub .btn.login-btn a {
  background: #272727;
}
.header-sub .btn.login-btn a span::before {
  content: "";
  background: url(/asset/images/common/icon-login.png);
  background-size: cover;
  top: 2px;
  width: 13px;
  height: 17px;
}

/* ナビ */
.header-nav {
  text-align: center;
  margin-left: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.header-nav__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-right: 25px;
}

.header-nav__list > li {
  position: relative;
}
.header-nav__list > li::before {
  content: "";
  display: block;
  height: 1em;
  border-left: 1px solid #000000;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.header-nav__list > li:last-of-type::after {
  content: "";
  display: block;
  height: 1em;
  border-right: 1px solid #000000;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.header-nav__list > li > a {
  display: inline-block;
  color: #000;
  padding: 4px 25px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 600;
  font-size: 16px;
}
@media screen and (max-width: 1300px) {
  .header-nav__list > li > a {
    padding: 4px 17px;
  }
}
@media screen and (max-width: 1200px) {
  .header-nav__list > li > a {
    padding: 4px 14px;
  }
}

.header-nav__list > li > a:hover,
.header-nav__list > li > a:focus {
  color: var(--color-main);
}

.header-nav__list > li.current a {
  color: var(--color-main);
}

/* アコーディオンメニュー */
.header-nav__has-child {
  position: relative;
}

.header-nav__second-menu {
  display: none;
  z-index: 1001;
  position: absolute;
  top: 49px;
  left: 0px;
  width: 170px;
}

.header-nav__second-menu > li {
  border-top: 1px solid #fff;
}

.header-nav__second-menu > li a {
  display: block;
  height: auto;
  line-height: 1.2;
  background-color: #272727;
  color: #fff !important;
  text-align: left;
  padding: 15px 15px;
  height: 52px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  font-size: 16px;
}

.header-nav__second-menu > li a:hover,
.header-nav__second-menu > li a:focus {
  opacity: 1;
  background-color: #171717;
}

/* 固定ナビ */
@media screen and (max-width: 1100px) {
  .header-fixed.thin {
    display: none;
    height: 0;
  }
}
.header-fixed.thin {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  -webkit-transform: translateY(-70px);
  transform: translateY(-70px);
  -webkit-box-shadow: 2px 0px 4px rgba(60, 40, 26, 0.2745098039);
          box-shadow: 2px 0px 4px rgba(60, 40, 26, 0.2745098039);
  -webkit-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
  background: #fff;
}

.is-fixed .header-fixed {
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
}

.header-fixed.thin .header-wrapper {
  height: 70px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 0;
}

.header-fixed.thin .header-logo {
  position: relative;
  margin-left: 20px;
}
.header-fixed.thin .header-logo > a {
  background: none;
  width: 70px;
  height: auto;
}
.header-fixed.thin .header-logo > a img {
  width: 70px;
}
.header-fixed.thin .header-nav__second-menu {
  top: 69px;
}
.header-fixed.thin .header-sub {
  position: inherit;
}
.header-fixed.thin .header-sub .btn a,
.header-fixed.thin .header-sub .btn button {
  width: 70px;
  height: 70px;
  font-size: 13px;
  padding-top: 35px;
}
.header-fixed.thin .header-sub .btn a span,
.header-fixed.thin .header-sub .btn button span {
  padding-left: 0;
}
.header-fixed.thin .header-sub .btn a span::before,
.header-fixed.thin .header-sub .btn button span::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -24px;
  width: 20px;
  height: 20px;
}
.header-fixed.thin .header-sub .btn.login-btn a span::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -25px;
  width: 16px;
  height: 21px;
}

.header-fixed.thin .header-nav {
  margin: 0;
  height: 70px;
  width: 100%;
}

.header-fixed.thin .header-nav__list {
  margin: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-left: 20px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header-fixed.thin .header-nav__list > li {
  height: 100%;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.header-fixed.thin .header-nav__list > li + li {
  position: relative;
}
.header-fixed.thin .header-nav__list > li + li::before {
  content: "";
  display: block;
  height: 1em;
  border-left: 1px solid #999;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.header-fixed.thin .header-nav__list > li:last-of-type::after {
  display: none;
}

.header-fixed.thin .header-nav__list > li::before {
  display: none;
}

.header-fixed.thin .header-nav__list > li > a {
  font-size: 16px;
  display: block;
  padding: 0;
  height: 100%;
  line-height: 70px;
}
@media screen and (max-width: 1200px) {
  .header-fixed.thin .header-nav__list > li > a {
    font-size: 14px;
  }
}

/*----------検索ポップアップ----------*/
.search-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  /* 中央寄せ */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.search-modal.is-active {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.search-modal__bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.search-modal__content {
  position: relative;
  width: calc(100% - 40px);
  max-width: 1100px;
  background: #fff;
  border-radius: 20px;
  padding: 30px 30px 30px;
  z-index: 2;
}
@media screen and (max-width: 1100px) {
  .search-modal__content {
    padding: 20px 20px 30px;
  }
}
.search-modal__close {
  position: absolute;
  top: -10px;
  right: -10px;
  border: none;
  background: none;
  font-size: 22px;
  cursor: pointer;
  background: #000;
  color: #fff;
  border-radius: 100vw;
  width: 40px;
  line-height: 40px;
  height: 40px;
}
@media screen and (max-width: 1100px) {
  .search-modal__close {
    width: 32px;
    line-height: 32px;
    height: 32px;
    font-size: 20px;
  }
}
.search-modal .store-search-box {
  padding: 0;
}

/*----------SP版----------*/
.sp_header {
  display: none;
  height: 0;
  position: relative;
}

@media screen and (max-width: 1100px) {
  .sp_header {
    display: block;
    height: auto;
  }
}
.sp_header-logo {
  width: 100px;
  height: 100px;
  display: inline-block;
  line-height: 1;
  z-index: 6;
  position: absolute;
  padding: 20px 0;
  background: #ffffff;
}

.sp_header-logo > a {
  display: block;
  margin: 0 auto;
  width: 75px;
}

.sp_header-logo > a > img {
  height: auto;
}

.sp_header-menu {
  position: relative;
}

.sp_menu-btn {
  width: 30px;
  height: 30px;
  position: fixed;
  top: 17px;
  right: 15px;
  z-index: 1000;
}

.sp_menu-btn .hamburger {
  display: block;
  height: 3px;
  background-color: #272727;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.sp_menu-btn .hamburger::before,
.sp_menu-btn .hamburger::after {
  content: "";
  display: block;
  height: 3px;
  background-color: #272727;
  position: absolute;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.sp_menu-btn .hamburger::before {
  top: -11px;
}

.sp_menu-btn .hamburger::after {
  bottom: -11px;
}

.sp_header-nav {
  width: 100%;
  height: 100%;
  padding-top: 70px;
  background-color: #272727;
  position: fixed;
  top: 0;
  right: -120%;
  z-index: 999;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  padding: 10px;
}

.sp_header-nav__inner {
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: #eeeee9;
  padding: 30px;
  border-radius: 10px;
}
.sp_header-nav__inner .search-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  border: 1px solid #777777;
  border-radius: 100vw;
  background: #fff;
  margin-bottom: 10px;
  font-family: "futura-pt", sans-serif;
}
.sp_header-nav__inner .search-form input {
  width: 250px;
  height: 45px;
  padding: 5px 15px;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1em;
  outline: none;
}
.sp_header-nav__inner .search-form input::-webkit-input-placeholder {
  color: #777777;
}
.sp_header-nav__inner .search-form input::-moz-placeholder {
  color: #777777;
}
.sp_header-nav__inner .search-form input:-ms-input-placeholder {
  color: #777777;
}
.sp_header-nav__inner .search-form input::-ms-input-placeholder {
  color: #777777;
}
.sp_header-nav__inner .search-form input::placeholder {
  color: #777777;
}
.sp_header-nav__inner .search-form button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50px;
  height: 45px;
  border: none;
  background-color: transparent;
  cursor: pointer;
}
.sp_header-nav__inner .search-form button::after {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23777777'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: "";
}

.sp_header-nav__inner .logo {
  margin-top: 25px;
}
.sp_header-nav__inner .logo img {
  width: 100px;
}

.sp_header-nav__list > li {
  border-bottom: 1px solid #bfbfbf;
}

.sp_header-nav__list > li > a {
  display: block;
  line-height: 1.4;
  color: #000000;
  text-align: left;
  padding: 12px 12px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.sp_header-nav__list > li > a:hover,
.sp_header-nav__list > li > a:focus {
  opacity: 0.7;
}

.sp_header-nav__toggle--open span.sp_header-nav__toggle-btn::after {
  -webkit-transform: scale(1, 0);
  transform: scale(1, 0);
}

.sp_header-nav__toggle-btn {
  display: block;
  line-height: 1.4;
  color: #000000;
  text-align: left;
  cursor: default;
  padding: 12px 12px;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.sp_header-nav__toggle-btn:hover,
.sp_header-nav__toggle-btn:focus {
  opacity: 0.7;
}

.sp_header-nav__toggle-btn::before,
.sp_header-nav__toggle-btn::after {
  content: "";
  display: block;
  background-color: #000000;
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.sp_header-nav__toggle-btn::before {
  width: 16px;
  height: 2px;
  right: 19px;
}

.sp_header-nav__toggle-btn::after {
  right: 26px;
  width: 2px;
  height: 16px;
}

.sp_header-nav__second-menu {
  display: none;
  border-radius: 10px;
  background-color: #ffffff;
  padding: 10px 15px;
  margin-bottom: 15px;
}

.sp_header-nav__second-menu li a {
  display: block;
  font-size: 14px;
  line-height: 1.4;
  color: #000000;
  text-align: left;
  padding: 5px 15px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.sp_header-nav__second-menu li a::before {
  content: "▶";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 8px;
  color: #000;
}

.sp_header-nav__second-menu li a:hover,
.sp_header-nav__second-menu li a:focus {
  opacity: 0.7;
}

.is_open-menu .sp_header-nav {
  right: 0px;
}

.is_open-menu .sp_menu-btn .hamburger {
  background: transparent !important;
}

.is_open-menu .sp_menu-btn .hamburger::before {
  background-color: #000000;
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.is_open-menu .sp_menu-btn .hamburger::after {
  background-color: #000000;
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.is_open-menu .sp_menu-btn .alph {
  display: none;
}

.sp_header-low .sp_header-logo {
  width: auto;
  height: auto;
  padding: 10px 10px;
  background: none;
}
.sp_header-low .sp_header-logo > a {
  display: block;
  margin: 0 auto;
  width: 120px;
}

.sp_header .header-sub {
  right: 60px;
}
.sp_header .header-sub .btn a,
.sp_header .header-sub .btn button {
  background: #d8d8d8;
  color: #000;
  width: 60px;
  height: 60px;
  font-size: 11px;
  padding-top: 32px;
}
.sp_header .header-sub .btn a span,
.sp_header .header-sub .btn button span {
  padding-left: 0;
}
.sp_header .header-sub .btn a span::before,
.sp_header .header-sub .btn button span::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -24px;
  width: 20px;
  height: 20px;
}
.sp_header .header-sub .btn.login-btn a {
  background: #272727;
  color: #fff;
}
.sp_header .header-sub .btn.login-btn a span::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -25px;
  width: 16px;
  height: 21px;
}
.sp_header .header-sub .btn.search-btn button span::before {
  content: "";
  background: url(/asset/images/common/icon-search-sp.png);
  background-size: cover;
}

/*============================================================================

  タイトル

============================================================================*/
.top-ttl {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  margin-top: -10px;
}
@media screen and (max-width: 767px) {
  .top-ttl {
    margin-bottom: 20px;
  }
}

.top-ttl .en {
  display: block;
  line-height: 1.1;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-size: 80px;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .top-ttl .en {
    font-size: 32px;
    letter-spacing: 1px;
  }
}

.top-ttl .ja {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 500;
  font-size: 17px;
}
@media screen and (max-width: 767px) {
  .top-ttl .ja {
    font-size: 14px;
  }
}

.top-ttl .ja::before {
  content: "";
  width: 10px;
  height: 1.5px;
  background-color: #000;
  display: block;
  margin-right: 7px;
}

.top-ttl .ja::after {
  content: "";
  width: 10px;
  height: 1.5px;
  background-color: #000;
  display: block;
  margin-left: 7px;
}

.ttl01 {
  font-size: 29px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.5;
  margin-top: 70px;
  margin-bottom: 20px;
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .ttl01 {
    font-size: 20px;
    margin-bottom: 15px;
    margin-top: 30px;
    padding-left: 10px;
  }
}
.ttl01::before {
  content: "";
  width: 5px;
  height: calc(100% - 10px);
  background-color: var(--color-main);
  position: absolute;
  top: 7px;
  left: 0;
}

.ttl02 {
  text-align: center;
  font-size: 26px;
  line-height: 1.6;
  font-weight: bold;
  margin-bottom: 30px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 767px) {
  .ttl02 {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 15px;
  }
}

.ttl03 {
  text-align: center;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-size: 46px;
  line-height: 1.6;
  letter-spacing: 3px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .ttl03 {
    font-size: 26px;
    margin-bottom: 18px;
  }
}

.ttl04 {
  display: block;
  font-size: 35px;
  line-height: 1.4;
  text-align: center;
  padding-bottom: 20px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin: 0 auto 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .ttl04 {
    margin-bottom: 20px;
    font-size: 24px;
  }
}
.ttl04::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 3px;
  background-color: var(--color-main);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.ttl05 {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  margin-top: -10px;
}
@media screen and (max-width: 767px) {
  .ttl05 {
    margin-bottom: 20px;
  }
}

.ttl05 .ja {
  display: block;
  line-height: 1.4;
  font-weight: 600;
  font-size: 46px;
  letter-spacing: 2px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 767px) {
  .ttl05 .ja {
    font-size: 26px;
    letter-spacing: 1px;
  }
}

.ttl05 .en {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  font-family: "futura-pt", sans-serif;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 600;
  font-size: 17px;
}
@media screen and (max-width: 767px) {
  .ttl05 .en {
    font-size: 14px;
  }
}

.ttl05 .en::before {
  content: "";
  width: 10px;
  height: 1.5px;
  background-color: #000;
  display: block;
  margin-right: 7px;
}

.ttl05 .en::after {
  content: "";
  width: 10px;
  height: 1.5px;
  background-color: #000;
  display: block;
  margin-left: 7px;
}

/*============================================================================

  トップページ

============================================================================*/
/*----------メインビジュアル----------*/
@media screen and (max-width: 1100px) {
  .top-mv {
    margin-top: 60px;
  }
}

/*----------サポーター----------*/
.top-supporter {
  background: #f2f2f2;
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  .top-supporter {
    padding: 30px 0;
  }
}
.top-supporter .ttl {
  text-align: center;
  font-size: 38px;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 2px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .top-supporter .ttl {
    font-size: 22px;
    margin-bottom: 15px;
  }
}
.top-supporter .supporter__slider {
  margin: 0 -10px;
}
@media screen and (max-width: 767px) {
  .top-supporter .supporter__slider {
    margin: 0 -5px;
  }
}
.top-supporter .supporter__slider .slick-slide {
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .top-supporter .supporter__slider .slick-slide {
    padding: 0 5px;
  }
}
.top-supporter .store-list li a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  margin-bottom: 0;
  border-radius: 15px;
}
.top-supporter .store-list li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.top-supporter .store-list li a article h3 {
  line-height: 1.7;
  padding-top: 8px;
  color: #262626;
  font-size: 15px;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-supporter .store-list li a article h3 {
    font-size: 12px;
  }
}
.top-supporter .store-list li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*----------新着情報----------*/
.top-arrival {
  padding: 100px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-arrival {
    padding: 40px 0;
  }
}
.top-arrival::before {
  content: "";
  position: absolute;
  top: 135px;
  bottom: 127px;
  right: 0;
  width: calc(50% + 460px);
  background-image: -webkit-repeating-linear-gradient(315deg, #f0f0f0, #f0f0f0 3px, transparent 3px, transparent 6px);
  background-image: repeating-linear-gradient(135deg, #f0f0f0, #f0f0f0 3px, transparent 3px, transparent 6px);
  background-size: cover;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-arrival::before {
    top: 65px;
    bottom: 65px;
    width: calc(100% - 40px);
  }
}
.top-arrival .arrival__slider {
  margin: 0 -20px;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider {
    margin: 0 -6px;
  }
}
.top-arrival .arrival__slider .slide-item {
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .slide-item {
    padding: 0 6px;
  }
}
.top-arrival .arrival__slider .slide-item a {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 5px #b4b4b4;
          box-shadow: 0 0 5px #b4b4b4;
  color: #262626;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .slide-item a {
    -webkit-box-shadow: 0 0 3px #b4b4b4;
            box-shadow: 0 0 3px #b4b4b4;
  }
}
.top-arrival .arrival__slider .slide-item a article {
  padding: 15px 20px 20px;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .slide-item a article {
    padding: 10px 15px 15px;
  }
}
.top-arrival .arrival__slider .slide-item a article h3 {
  line-height: 1.6;
  font-size: 17px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .slide-item a article h3 {
    font-size: 14px;
  }
}
.top-arrival .arrival__slider .slide-item a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .slide-item a article p {
    font-size: 12px;
  }
}
.top-arrival .arrival__slider .slide-item a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
}
.top-arrival .arrival__slider .slide-item a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.top-arrival .arrival__slider .slide-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.top-arrival .arrival__slider .slick-list {
  padding: 5px 0;
}
.top-arrival .arrival__slider .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
.top-arrival .arrival__slider .custom-arrow img {
  width: 100%;
  height: auto;
}
.top-arrival .arrival__slider .slick-prev {
  left: -45px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .slick-prev {
    left: -10px;
  }
}
.top-arrival .arrival__slider .slick-prev:hover {
  opacity: 0.7;
}
.top-arrival .arrival__slider .slick-next {
  right: -45px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-arrival .arrival__slider .slick-next {
    right: -10px;
  }
}
.top-arrival .arrival__slider .slick-next:hover {
  opacity: 0.7;
}
.top-arrival .arrival__slider .slick-prev:before,
.top-arrival .arrival__slider .slick-next:before {
  content: none;
}

/*----------店舗紹介----------*/
.top-introduction {
  background: #E5E2D9;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .top-introduction {
    padding: 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction .top-ttl {
    margin-bottom: 40px;
  }
}
.top-introduction .wrapper {
  position: relative;
}
.top-introduction .main-category {
  padding-left: 12px;
}
.top-introduction .category {
  position: absolute;
  right: 0px;
  top: 75px;
}
@media screen and (max-width: 767px) {
  .top-introduction .category {
    top: 60px;
    right: 20px;
  }
}
.top-introduction .category-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  font-size: 20px;
  text-decoration: none;
  color: #262626;
  padding-bottom: 6px;
  position: relative;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top-introduction .category-btn {
    font-size: 12px;
    padding-bottom: 3px;
    gap: 10px;
  }
}
.top-introduction .category-btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #262626;
}
.top-introduction .arrow {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #262626;
}
.top-introduction .btn01 {
  margin: 5px auto 0;
}
@media screen and (max-width: 767px) {
  .top-introduction .btn01 {
    margin: 10px auto 0;
  }
}

/*----------店舗からのお知らせ----------*/
.top-news {
  padding: 168px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-news {
    padding: 40px 14px;
  }
}
.top-news::after {
  content: "";
  position: absolute;
  top: 70px;
  bottom: 130px;
  left: 0;
  width: calc(50% - 300px);
  min-width: 435px;
  background: #EBEBEB;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-news::after {
    display: none;
  }
}
.top-news::before {
  content: "";
  position: absolute;
  top: 100px;
  bottom: 100px;
  left: 46px;
  width: 84%;
  background-image: -webkit-repeating-linear-gradient(315deg, #f0f0f0, #f0f0f0 3px, transparent 3px, transparent 6px);
  background-image: repeating-linear-gradient(135deg, #f0f0f0, #f0f0f0 3px, transparent 3px, transparent 6px);
  background-size: cover;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-news::before {
    left: 0;
    width: 88%;
    top: 65px;
    bottom: 65px;
  }
}
.top-news .contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .top-news .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top-news .contents .news-head {
  padding: 0 68px 0 78px;
  margin-top: -50px;
}
@media screen and (max-width: 900px) {
  .top-news .contents .news-head {
    padding: 0 40px 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .top-news .contents .news-head {
    margin-top: 0;
    padding: 0;
  }
}
.top-news .contents .news-head .btn01.pc {
  max-width: 210px;
  height: 50px;
  margin-top: 60px;
}
.top-news .contents .news__slider {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider {
    width: 100%;
  }
}
.top-news .contents .news__slider .slide-item {
  padding: 0 11px;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slide-item {
    padding: 0 6px;
  }
}
.top-news .contents .news__slider .slide-item a {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 5px #b4b4b4;
          box-shadow: 0 0 5px #b4b4b4;
  color: #262626;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slide-item a {
    -webkit-box-shadow: 0 0 3px #b4b4b4;
            box-shadow: 0 0 3px #b4b4b4;
  }
}
.top-news .contents .news__slider .slide-item a article {
  padding: 15px 20px 20px;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slide-item a article {
    padding: 10px 15px 15px;
  }
}
.top-news .contents .news__slider .slide-item a article h3 {
  line-height: 1.6;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slide-item a article h3 {
    font-size: 14px;
    margin-bottom: 3px;
  }
}
.top-news .contents .news__slider .slide-item a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slide-item a article p {
    font-size: 12px;
  }
}
.top-news .contents .news__slider .slide-item a article p.date {
  font-size: 12px;
  margin-bottom: 5px;
  font-family: "futura-pt", sans-serif;
}
.top-news .contents .news__slider .slide-item a article p.date span {
  background: #E73D58;
  font-size: 10px;
  color: #fff;
  margin-left: 10px;
  padding: 2px 5px;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slide-item a article p.date span {
    font-size: 9px;
  }
}
.top-news .contents .news__slider .slide-item a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  width: 100%;
}
.top-news .contents .news__slider .slide-item a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.top-news .contents .news__slider .slide-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.top-news .contents .news__slider .slick-list {
  padding: 5px 10% 5px 0 !important;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slick-list {
    padding: 5px 0 5px 0 !important;
  }
}
.top-news .contents .news__slider .slick-slide {
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slick-slide {
    margin-right: 0;
  }
}
.top-news .contents .news__slider .slick-list img {
  width: 100%;
}
.top-news .contents .news__slider .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
.top-news .contents .news__slider .custom-arrow img {
  width: 100%;
  height: auto;
}
.top-news .contents .news__slider .slick-prev {
  left: -15px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slick-prev {
    left: -10px;
  }
}
.top-news .contents .news__slider .slick-prev:hover {
  opacity: 0.7;
}
.top-news .contents .news__slider .slick-next {
  right: 25px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-news .contents .news__slider .slick-next {
    right: -10px;
  }
}
.top-news .contents .news__slider .slick-next:hover {
  opacity: 0.7;
}
.top-news .contents .news__slider .slick-prev:before,
.top-news .contents .news__slider .slick-next:before {
  content: none;
}

/*----------インタビュー----------*/
.top-interview {
  background: #272727;
  padding: 100px 0;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top-interview {
    padding: 40px 0;
  }
}
.top-interview .top-ttl .ja::after,
.top-interview .top-ttl .ja::before {
  background: #fff;
}
.top-interview .slide-item a {
  display: block;
  color: #fff;
  text-decoration: none;
}
.top-interview .slide-item a article {
  text-align: center;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .top-interview .slide-item a article {
    margin-top: 15px;
  }
}
.top-interview .slide-item a article h3 {
  font-size: 17px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top-interview .slide-item a article h3 {
    font-size: 14px;
  }
}
.top-interview .slide-item a article p {
  font-size: 15px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top-interview .slide-item a article p {
    font-size: 12px;
  }
}
.top-interview .slide-item a figure {
  overflow: hidden;
  height: 438px;
  position: relative;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .top-interview .slide-item a figure {
    height: 280px;
  }
}
.top-interview .slide-item a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.top-interview .slide-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.top-interview .btn01 {
  border: 3px solid #fff;
  color: #fff;
  background: none;
}
.top-interview .btn01::before, .top-interview .btn01::after {
  background: #fff;
}
.top-interview .btn01:hover {
  background: #fff;
  color: #262626;
}
.top-interview .btn01:hover::before, .top-interview .btn01:hover::after {
  background: #262626;
}
.top-interview .interview__slider .slide-item article {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100vw;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.top-interview .interview__slider .slick-center article {
  opacity: 1;
  visibility: visible;
}
.top-interview .custom-arrow {
  position: absolute;
  top: 94%;
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-interview .custom-arrow {
    width: 28px;
    height: 28px;
    top: 80%;
  }
}
.top-interview .custom-arrow img {
  width: 100%;
  height: auto;
}
.top-interview .slick-prev {
  left: 130px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-interview .slick-prev {
    left: 0;
  }
}
.top-interview .slick-prev:hover {
  opacity: 0.7;
}
.top-interview .slick-next {
  right: 130px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-interview .slick-next {
    right: 0;
  }
}
.top-interview .slick-next:hover {
  opacity: 0.7;
}
.top-interview .slick-prev:before,
.top-interview .slick-next:before {
  content: none;
}
.top-interview .nolink-station-list {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .top-interview .nolink-station-list {
    font-size: 12px;
  }
}

/*----------イベント＆特集----------*/
.top-event {
  background: #EDEAE1;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .top-event {
    padding: 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .top-event .top-ttl {
    margin-bottom: 40px;
  }
}
.top-event .wrapper {
  position: relative;
}
.top-event .category {
  position: absolute;
  right: 0px;
  top: 75px;
}
@media screen and (max-width: 767px) {
  .top-event .category {
    top: 60px;
    right: 20px;
  }
}
.top-event .category-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  font-size: 20px;
  text-decoration: none;
  color: #262626;
  padding-bottom: 6px;
  position: relative;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top-event .category-btn {
    font-size: 12px;
    padding-bottom: 3px;
    gap: 10px;
  }
}
.top-event .category-btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #262626;
}
.top-event .arrow {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #262626;
}
.top-event .btn-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .top-event .btn-flex {
    margin-top: 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.top-event .btn-flex .btn01 {
  margin: 0;
}

/*----------求人情報----------*/
.top-recruit {
  background: #8C8C8C;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .top-recruit {
    padding: 40px 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-recruit .top-ttl {
    margin-bottom: 40px;
  }
}
.top-recruit .wrapper {
  position: relative;
}
.top-recruit .category {
  position: absolute;
  right: 0px;
  top: 75px;
}
@media screen and (max-width: 767px) {
  .top-recruit .category {
    top: 60px;
  }
}
.top-recruit .category-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  font-size: 20px;
  text-decoration: none;
  color: #ffffff;
  padding-bottom: 6px;
  position: relative;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top-recruit .category-btn {
    font-size: 12px;
    padding-bottom: 3px;
    gap: 10px;
  }
}
.top-recruit .category-btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #ffffff;
}
.top-recruit .arrow {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #ffffff;
}
.top-recruit .top-ttl {
  color: #fff;
}
.top-recruit .top-ttl .ja::after,
.top-recruit .top-ttl .ja::before {
  background: #fff;
}
.top-recruit .recruit__slider {
  margin: 0 -20px;
}
@media screen and (min-width: 768px) {
  .top-recruit .recruit__slider {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
.top-recruit .recruit__slider .slide-item {
  color: #262626;
}
.top-recruit .recruit__slider .slide-item:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.top-recruit .recruit-card {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  margin: 0 20px;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .top-recruit .recruit-card {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-card {
    margin: 0;
    padding: 15px;
  }
}
.top-recruit .recruit-card article {
  min-height: 134px;
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-card article {
    min-height: 105px;
  }
}
.top-recruit .recruit-card .lead {
  font-size: 17px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1.6;
  font-weight: bold;
  margin-bottom: 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-card .lead {
    font-size: 14px;
  }
}
.top-recruit .recruit-card .salary {
  font-size: 16px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-card .salary {
    font-size: 12px;
  }
}
.top-recruit .recruit-bottom {
  border-top: 1px solid #E4E4E4;
  padding-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-top: 20px;
  min-height: 110px;
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-bottom {
    padding-top: 15px;
    margin-top: 15px;
    min-height: 96px;
  }
}
.top-recruit .recruit-bottom figure {
  overflow: hidden;
  height: 87px;
  width: 87px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-bottom figure {
    height: 80px;
  }
}
.top-recruit .recruit-bottom figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-bottom figure img {
    width: 140px;
  }
}
.top-recruit .recruit-bottom .info {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.top-recruit .recruit-bottom .info h3 {
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1.6;
  margin-top: -6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-recruit .recruit-bottom .info h3 {
    font-size: 14px;
  }
}
.top-recruit .custom-arrow {
  position: absolute;
  width: 48px;
  top: 50%;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-recruit .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
.top-recruit .custom-arrow img {
  width: 100%;
  height: auto;
}
.top-recruit .slick-prev {
  left: -45px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-recruit .slick-prev {
    left: -16px;
  }
}
.top-recruit .slick-prev:hover {
  opacity: 0.7;
}
.top-recruit .slick-next {
  right: -45px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-recruit .slick-next {
    right: -16px;
  }
}
.top-recruit .slick-next:hover {
  opacity: 0.7;
}
.top-recruit .slick-prev:before,
.top-recruit .slick-next:before {
  content: none;
}

/*----------クーポン----------*/
.top-coupon {
  padding: 100px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-coupon {
    padding: 40px 20px;
  }
}
.top-coupon::before {
  content: "";
  position: absolute;
  top: 135px;
  bottom: 126px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80%;
  max-width: 1160px;
  background-image: -webkit-repeating-linear-gradient(315deg, #f0f0f0, #f0f0f0 3px, transparent 3px, transparent 6px);
  background-image: repeating-linear-gradient(135deg, #f0f0f0, #f0f0f0 3px, transparent 3px, transparent 6px);
  background-size: cover;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-coupon::before {
    top: 55px;
    bottom: 65px;
  }
}
.top-coupon .coupon-list {
  margin: 0 -18px;
}
@media screen and (max-width: 767px) {
  .top-coupon .coupon-list {
    margin: 0 -6px;
  }
}
.top-coupon .coupon-list li {
  padding: 0 18px;
}
@media screen and (max-width: 767px) {
  .top-coupon .coupon-list li {
    padding: 0 6px;
  }
}
.top-coupon .coupon-list li a {
  color: #262626;
}
.top-coupon .coupon-list li a figure {
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  margin-bottom: 0;
  border-radius: 20px;
}
.top-coupon .coupon-list li a figure .main-category {
  padding-left: 12px;
}
.top-coupon .coupon-list li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.top-coupon .coupon-list li a article h3 {
  line-height: 1.6;
  padding-top: 8px;
  color: #262626;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-coupon .coupon-list li a article h3 {
    font-size: 14px;
  }
}
.top-coupon .coupon-list li a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-coupon .coupon-list li a article p {
    font-size: 12px;
  }
}
.top-coupon .coupon-list li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.top-coupon .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-coupon .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
.top-coupon .custom-arrow img {
  width: 100%;
  height: auto;
}
.top-coupon .slick-prev {
  left: 75px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-coupon .slick-prev {
    left: -10px;
  }
}
.top-coupon .slick-prev:hover {
  opacity: 0.7;
}
.top-coupon .slick-next {
  right: 75px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-coupon .slick-next {
    right: -10px;
  }
}
.top-coupon .slick-next:hover {
  opacity: 0.7;
}
.top-coupon .slick-prev:before,
.top-coupon .slick-next:before {
  content: none;
}

/*----------レコメンド----------*/
.top-recommend {
  background: #f2f2f2;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .top-recommend {
    padding: 40px 0px;
  }
}
.top-recommend .recommend__slider {
  margin: 0 -20px;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider {
    margin: 0 -6px;
  }
}
.top-recommend .recommend__slider .slide-item {
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slide-item {
    padding: 0 6px;
  }
}
.top-recommend .recommend__slider .slide-item a {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 5px #b4b4b4;
          box-shadow: 0 0 5px #b4b4b4;
  color: #262626;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slide-item a {
    -webkit-box-shadow: 0 0 3px #b4b4b4;
            box-shadow: 0 0 3px #b4b4b4;
  }
}
.top-recommend .recommend__slider .slide-item a article {
  padding: 15px 20px 20px;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slide-item a article {
    padding: 10px 15px 15px;
  }
}
.top-recommend .recommend__slider .slide-item a article h3 {
  line-height: 1.6;
  font-size: 17px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slide-item a article h3 {
    font-size: 14px;
  }
}
.top-recommend .recommend__slider .slide-item a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slide-item a article p {
    font-size: 12px;
  }
}
.top-recommend .recommend__slider .slide-item a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
}
.top-recommend .recommend__slider .slide-item a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.top-recommend .recommend__slider .slide-item a figure .point {
  display: block;
  font-style: normal;
  border-radius: 200px;
  background-color: #E73D58;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  position: absolute;
  top: 15px;
  right: 15px;
  width: 46px;
  height: 46px;
  line-height: 42px;
  color: #fff;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 10;
  font-size: 26px;
  padding-right: 0.4em;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slide-item a figure .point {
    font-size: 18px;
    width: 32px;
    height: 32px;
    line-height: 30px;
    top: 10px;
    right: 10px;
  }
}
.top-recommend .recommend__slider .slide-item a figure .point::after {
  content: "人";
  font-size: 10px;
  font-weight: 400;
  position: absolute;
  top: 5px;
  right: 5px;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slide-item a figure .point::after {
    font-size: 9px;
  }
}
.top-recommend .recommend__slider .slide-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.top-recommend .recommend__slider .slick-list {
  padding: 5px 0;
}
.top-recommend .recommend__slider .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
.top-recommend .recommend__slider .custom-arrow img {
  width: 100%;
  height: auto;
}
.top-recommend .recommend__slider .slick-prev {
  left: -45px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slick-prev {
    left: -10px;
  }
}
.top-recommend .recommend__slider .slick-prev:hover {
  opacity: 0.7;
}
.top-recommend .recommend__slider .slick-next {
  right: -45px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .top-recommend .recommend__slider .slick-next {
    right: -10px;
  }
}
.top-recommend .recommend__slider .slick-next:hover {
  opacity: 0.7;
}
.top-recommend .recommend__slider .slick-prev:before,
.top-recommend .recommend__slider .slick-next:before {
  content: none;
}

/*============================================================================

  top slider

============================================================================*/
header {
  position: relative;
  z-index: 9997;
}

.top-mv {
  padding: 50px 40px 50px 70px;
  width: 100%;
  position: relative;
  background: var(--color-main);
}
@media screen and (max-width: 767px) {
  .top-mv {
    padding: 30px 5% 60px 7%;
  }
}
.top-mv.mv-anime .inner {
  opacity: 0;
}
.top-mv .inner {
  max-width: 2000px;
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
}
.top-mv .test {
  color: #333;
  display: none;
}
.top-mv .slide {
  min-height: 100px;
  max-height: 680px;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .top-mv .slide {
    min-height: 100px;
    max-height: 460px;
  }
}
.top-mv .slide.is-fast ul .item {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.top-mv .slide.is-fast ul .item.slide5 {
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}
.top-mv .slide .pagination {
  position: absolute;
  bottom: 60px;
  left: 75px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-mv .slide .pagination {
    bottom: 30px;
    left: 10%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    width: 80%;
  }
}
.top-mv .slide .pagination .dot {
  width: 45px;
  height: 3px;
  background: #fff;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
.top-mv .slide .pagination .dot.active {
  background: var(--color-active);
}
@media screen and (max-width: 767px) {
  .top-mv .slide .pagination .dot {
    width: 100%;
  }
}
.top-mv .slide ul {
  position: relative;
  height: 100%;
}
.top-mv .slide ul .item {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: width 0.4s ease-out, height 0.4s ease-out, margin-left 0.4s ease-out, opacity 0.4s ease-out, -webkit-transform 0.4s ease-out;
  transition: width 0.4s ease-out, height 0.4s ease-out, margin-left 0.4s ease-out, opacity 0.4s ease-out, -webkit-transform 0.4s ease-out;
  transition: width 0.4s ease-out, height 0.4s ease-out, margin-left 0.4s ease-out, opacity 0.4s ease-out, transform 0.4s ease-out;
  transition: width 0.4s ease-out, height 0.4s ease-out, margin-left 0.4s ease-out, opacity 0.4s ease-out, transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
  will-change: transform, width, height, margin-left, opacity;
  overflow: hidden;
}
.top-mv .slide ul .item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-image: var(--bg-pc);
  z-index: -1;
  -webkit-filter: brightness(90%);
          filter: brightness(90%);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
  will-change: transform, filter;
}
@media screen and (max-width: 767px) {
  .top-mv .slide ul .item::before {
    background-image: var(--bg-sp);
  }
}
.top-mv .slide ul .item {
  border-radius: 15px;
  -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 18px rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.top-mv .slide ul .item a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.top-mv .slide ul .item.current {
  cursor: default;
}
.top-mv .slide ul .item.current a {
  display: block;
}
.top-mv .slide ul .item.current::before {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
  -webkit-animation: zoomUp 12s linear forwards;
          animation: zoomUp 12s linear forwards;
}
.top-mv .slide ul .item.slide1 {
  width: 83%;
  z-index: 5;
}
.top-mv .slide ul .item.slide1 a {
  display: block;
}
.top-mv .slide ul .item.slide2 {
  width: 80%;
  height: 90%;
  margin-left: 7.5%;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .top-mv .slide ul .item.slide2 {
    margin-left: 12%;
  }
}
.top-mv .slide ul .item.slide3 {
  width: 80%;
  height: 80%;
  margin-left: 12%;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .top-mv .slide ul .item.slide3 {
    margin-left: 20%;
    -webkit-animation-name: moveBackSP;
            animation-name: moveBackSP;
    -webkit-animation-duration: 0.7s;
            animation-duration: 0.7s;
    -webkit-animation-timing-function: ease;
            animation-timing-function: ease;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
}
.top-mv .slide ul .item.slide4 {
  width: 80%;
  height: 70%;
  margin-left: 16%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-mv .slide ul .item.slide4 {
    opacity: 0;
    visibility: hidden;
  }
}
.top-mv .slide ul .item.slide5 {
  width: 80%;
  height: 60%;
  margin-left: 20%;
  z-index: 1;
  -webkit-animation: moveBack 0.7s ease forwards;
          animation: moveBack 0.7s ease forwards;
}
@media screen and (max-width: 767px) {
  .top-mv .slide ul .item.slide5 {
    opacity: 0;
    visibility: hidden;
  }
}
.top-mv .slide ul .item:hover::before {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}
.top-mv .txt {
  position: absolute;
  left: 35px;
  bottom: 110px;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .top-mv .txt {
    bottom: 80px;
    left: 10px;
  }
}
.top-mv .txt li {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
}
.top-mv .txt li:first-child {
  opacity: 1;
}
.top-mv .txt li {
  pointer-events: none;
}
.top-mv .txt li.txt-hide h2 span {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 0.5s all ease-out;
  transition: 0.5s all ease-out;
}
.top-mv .txt li.txt-hide p {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 0.5s all ease;
  transition: 0.5s all ease;
}
.top-mv .txt li.txt-hide.active h2 span {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  -webkit-transition: 0.8s all ease-out;
  transition: 0.8s all ease-out;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.top-mv .txt li.txt-hide.active p {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  -webkit-transition: 0.8s all ease;
  transition: 0.8s all ease;
}
.top-mv .txt li.txt-hide.active p.tag {
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}
.top-mv .txt li h2 {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 32px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top-mv .txt li h2 {
    font-size: 14px;
  }
}
.top-mv .txt li h2 span {
  background: #fff;
  padding: 0 15px 5px;
  display: inline-block;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .top-mv .txt li h2 span {
    padding: 2px 8px 5px;
    margin-bottom: 5px;
  }
}
.top-mv .txt li .info,
.top-mv .txt li .tag {
  background: #fff;
  color: var(--color-main);
  font-weight: 600;
  display: inline-block;
  padding: 2px 15px 4px;
}
@media screen and (max-width: 767px) {
  .top-mv .txt li .info,
  .top-mv .txt li .tag {
    padding: 2px 8px 4px;
  }
}
.top-mv .txt li .info {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .top-mv .txt li .info {
    margin-bottom: 5px;
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .top-mv .txt li .tag {
    font-size: 12px;
  }
}
.top-mv .txt li .tag a {
  pointer-events: auto;
  display: inline-block;
  color: var(--color-main);
  margin-left: 0.5em;
  position: relative;
}
.top-mv .txt li .tag a:after {
  content: "";
  background-color: var(--color-main);
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 3px;
  left: 0;
  -webkit-transition: 0.2s all ease-out;
  transition: 0.2s all ease-out;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
}
.top-mv .txt li .tag a:first-of-type {
  margin-left: 0px;
}
.top-mv .txt li .tag a:hover:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
@media screen and (max-width: 767px) {
  .top-mv .txt li .tag a:hover:after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
.top-mv {
  /*&.mv-anime{
    .pagination{
      opacity: 0;
    }
    .txt{
      opacity: 0;
    }
    .slide{
      ul{
        .item{
          justify-content: space-between;
          &.slide1,&.slide2,&.slide3,&.slide4,&.slide5{
            width: 18%;
            height: 200px;
            margin-left: 0px;
            opacity: 0;
            transform-origin: right;
          }
          &.slide2{
            left: 20%;
            transition-delay: 1s;
            opacity: 1;
          }
          &.slide3{
            left: 40%;
          }
          &.slide4{
            left: 60%;
          }
          &.slide5{
            left: 80%;
          }
        }
      }
    }
  }*/
}

@-webkit-keyframes moveBack {
  0% {
    width: 83%;
    height: 100%;
    margin-left: 0;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
  35% {
    width: 83%;
    height: 104%;
    margin-left: -4%;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1.1);
            transform: translateY(-50%) scale(1.1);
    opacity: 0;
  }
  36% {
    z-index: 1;
    width: 70%;
    height: 50%;
    margin-left: 32%;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 0;
  }
  100% {
    width: 80%;
    height: 60%;
    margin-left: 20%;
    z-index: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
}

@keyframes moveBack {
  0% {
    width: 83%;
    height: 100%;
    margin-left: 0;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
  35% {
    width: 83%;
    height: 104%;
    margin-left: -4%;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1.1);
            transform: translateY(-50%) scale(1.1);
    opacity: 0;
  }
  36% {
    z-index: 1;
    width: 70%;
    height: 50%;
    margin-left: 32%;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 0;
  }
  100% {
    width: 80%;
    height: 60%;
    margin-left: 20%;
    z-index: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}
@-webkit-keyframes moveBackSP {
  0% {
    width: 83%;
    height: 100%;
    margin-left: 0;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
  35% {
    width: 83%;
    height: 100%;
    margin-left: -2%;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1.02);
            transform: translateY(-50%) scale(1.02);
    opacity: 0;
  }
  36% {
    z-index: 1;
    width: 70%;
    height: 50%;
    margin-left: 32%;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 0;
  }
  100% {
    width: 80%;
    height: 80%;
    margin-left: 20%;
    z-index: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
}
@keyframes moveBackSP {
  0% {
    width: 83%;
    height: 100%;
    margin-left: 0;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
  35% {
    width: 83%;
    height: 100%;
    margin-left: -2%;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(1.02);
            transform: translateY(-50%) scale(1.02);
    opacity: 0;
  }
  36% {
    z-index: 1;
    width: 70%;
    height: 50%;
    margin-left: 32%;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 0;
  }
  100% {
    width: 80%;
    height: 80%;
    margin-left: 20%;
    z-index: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    opacity: 1;
  }
}
.top-interview .interview_slider {
  margin: 0 -16px;
}
@media screen and (max-width: 767px) {
  .top-interview .interview_slider {
    margin: 0;
  }
}
.top-interview .interview_slider .inner {
  max-width: 1600px;
}
.top-interview .interview_slider .splide {
  opacity: 0;
}
.top-interview .interview_slider .splide__slide img {
  height: 100%;
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
.top-interview .interview_slider .splide__slide {
  z-index: 1;
  padding-top: 10px;
  -webkit-transition: 0.7s all ease-out;
  transition: 0.7s all ease-out;
  will-change: transform;
}
@media screen and (max-width: 767px) {
  .top-interview .interview_slider .splide__slide {
    padding-top: 0px;
  }
}
.top-interview .interview_slider .splide__slide:hover {
  -webkit-transform: translateY(-2%);
          transform: translateY(-2%);
}
@media screen and (max-width: 767px) {
  .top-interview .interview_slider .splide__slide:hover {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.top-interview .interview_slider .splide__slide span {
  display: block;
  -webkit-transform: translateX(-15%) scale(0.6);
          transform: translateX(-15%) scale(0.6);
  -webkit-transition: width 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: width 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: transform 0.8s ease-out, width 0.8s ease-out;
  transition: transform 0.8s ease-out, width 0.8s ease-out, -webkit-transform 0.8s ease-out;
  will-change: transform, width;
  height: 100%;
  width: 140%;
}
.top-interview .interview_slider .splide__slide .caption {
  opacity: 0;
}
.top-interview .interview_slider .splide__slide.is-prev, .top-interview .interview_slider .splide__slide.is-next {
  opacity: 1;
  /* 表示 */
  z-index: 3;
}
.top-interview .interview_slider .splide__slide.is-prev span, .top-interview .interview_slider .splide__slide.is-next span {
  width: 160%;
  -webkit-transform: translateX(-40%) scale(0.85);
          transform: translateX(-40%) scale(0.85);
}
@media screen and (max-width: 767px) {
  .top-interview .interview_slider .splide__slide.is-prev span, .top-interview .interview_slider .splide__slide.is-next span {
    -webkit-transform: translateX(-8%) scale(0.85);
            transform: translateX(-8%) scale(0.85);
  }
}
.top-interview .interview_slider .splide__slide.is-next span {
  -webkit-transform: translateX(-2%) scale(0.85);
          transform: translateX(-2%) scale(0.85);
}
@media screen and (max-width: 767px) {
  .top-interview .interview_slider .splide__slide.is-next span {
    -webkit-transform: translateX(-30%) scale(0.85);
            transform: translateX(-30%) scale(0.85);
  }
}
.top-interview .interview_slider .splide__slide.is-next + .splide__slide {
  opacity: 1;
  /* 表示 */
  z-index: 2;
}
.top-interview .interview_slider .splide__slide.is-next + .splide__slide span {
  width: 160%;
  -webkit-transform: translateX(-5%) scale(0.7);
          transform: translateX(-5%) scale(0.7);
}
@media screen and (max-width: 767px) {
  .top-interview .interview_slider .splide__slide.is-next + .splide__slide span {
    -webkit-transform: translateX(-30%) scale(0.7);
            transform: translateX(-30%) scale(0.7);
  }
}
.top-interview .interview_slider .splide__slide:has(+ .is-prev) {
  opacity: 1;
  /* 表示 */
  z-index: 2;
}
.top-interview .interview_slider .splide__slide:has(+ .is-prev) span {
  width: 160%;
  -webkit-transform: translateX(-40%) scale(0.7);
          transform: translateX(-40%) scale(0.7);
}
@media screen and (max-width: 767px) {
  .top-interview .interview_slider .splide__slide:has(+ .is-prev) span {
    -webkit-transform: translateX(-8%) scale(0.7);
            transform: translateX(-8%) scale(0.7);
  }
}
.top-interview .interview_slider .splide__slide.is-active {
  opacity: 1;
  /* 表示 */
  z-index: 4;
}
.top-interview .interview_slider .splide__slide.is-active span {
  width: 180%;
  -webkit-transform: translateX(-22%) scale(1) !important;
          transform: translateX(-22%) scale(1) !important;
}
.top-interview .splide__slide {
  position: relative;
}
.top-interview .splide__slide span {
  display: inline-block;
}
.top-interview .splide__slide span img {
  aspect-ratio: 3/4;
  display: block;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 9px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 9px rgba(0, 0, 0, 0.5);
}
.top-interview .splide__slide a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.top-interview .interviews-ttl {
  display: grid;
  grid-template-columns: 45px 1fr 45px;
  gap: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1100px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0px auto 0;
  padding-top: 50px;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl {
    margin: 0px auto 0;
    padding-top: 20px;
    grid-template-columns: 30px 1fr 30px;
  }
}
.top-interview .interviews-ttl img {
  width: 45px;
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl img {
    width: 305px;
  }
}
.top-interview .interviews-ttl .caption-area {
  text-align: center;
  opacity: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  will-change: transform, opacity;
}
.top-interview .interviews-ttl .caption-area.is-active {
  -webkit-animation: fadeInUp 0.6s ease-out forwards;
          animation: fadeInUp 0.6s ease-out forwards;
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl .caption-area {
    margin-top: 0px;
  }
}
.top-interview .interviews-ttl .caption-area h3 {
  font-size: 16px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl .caption-area h3 {
    font-size: 14px;
  }
}
.top-interview .interviews-ttl .caption-area h3 a {
  color: #fff;
  display: inline-block;
  position: relative;
}
.top-interview .interviews-ttl .caption-area h3 a:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.top-interview .interviews-ttl .caption-area h3 a:hover:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl .caption-area h3 a:hover:after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
.top-interview .interviews-ttl .caption-area p {
  font-size: 15px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl .caption-area p {
    font-size: 12px;
  }
}
.top-interview .interviews-ttl .caption-area p a {
  color: #fff;
  display: inline-block;
  position: relative;
}
.top-interview .interviews-ttl .caption-area p a:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.top-interview .interviews-ttl .caption-area p a:hover:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl .caption-area p a:hover:after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
.top-interview .interviews-ttl .my-prev-arrow {
  -webkit-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.top-interview .interviews-ttl .my-prev-arrow:hover {
  -webkit-transform: translateX(-5px);
          transform: translateX(-5px);
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl .my-prev-arrow:hover {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1;
  }
}
.top-interview .interviews-ttl .my-next-arrow {
  -webkit-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.top-interview .interviews-ttl .my-next-arrow:hover {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .top-interview .interviews-ttl .my-next-arrow:hover {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/*============================================================================

  layout-masonry

============================================================================*/
.layout-masonry {
  /* ---- grid ---- */
}
.layout-masonry .grid {
  counter-reset: grid-item;
  /* 右端の余白をなくす：wrapperのパディングを打ち消して右端まで伸ばす */
  width: 100%;
}
.layout-masonry {
  /* clearfix */
}
.layout-masonry .grid:after {
  content: "";
  display: block;
  clear: both;
}
.layout-masonry {
  /* ---- grid-sizer（MasonryのcolumnWidth基準、1列分の幅）---- */
  /* 4列・gutter 40px の場合: (100% - 120px) / 4 */
}
.layout-masonry .grid-sizer {
  width: calc((100% - 120px) / 4);
  visibility: hidden;
}
@media screen and (max-width: 1100px) {
  .layout-masonry .grid-sizer {
    /* 3列・gutter 30px */
    width: calc((100% - 60px) / 3);
  }
}
@media screen and (max-width: 767px) {
  .layout-masonry .grid-sizer {
    /* 2列・gutter 15px */
    width: calc((100% - 15px) / 2);
  }
}
.layout-masonry {
  /* ---- grid-item ---- */
}
.layout-masonry .grid-item {
  width: calc((100% - 120px) / 4);
  float: left;
  margin-bottom: 40px;
}
@media screen and (max-width: 1100px) {
  .layout-masonry .grid-item {
    width: calc((100% - 60px) / 3);
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .layout-masonry .grid-item {
    width: calc((100% - 15px) / 2);
    margin-bottom: 15px;
  }
}
.layout-masonry .grid-item figure {
  aspect-ratio: 16/9;
}
.layout-masonry .grid-item--width2 {
  width: calc((100% - 120px) / 4 * 2 + 40px);
}
@media screen and (max-width: 1100px) {
  .layout-masonry .grid-item--width2 {
    width: calc((100% - 60px) / 3 * 2 + 30px);
  }
}
@media screen and (max-width: 767px) {
  .layout-masonry .grid-item--width2 {
    width: 100%;
  }
}
.layout-masonry .grid-item--width2 h3 {
  font-size: 125% !important;
}
.layout-masonry .grid-item--width2 p {
  font-size: 88% !important;
}
.layout-masonry .grid-item--width3 {
  width: calc((100% - 120px) / 4 * 3 + 80px);
}
@media screen and (max-width: 1100px) {
  .layout-masonry .grid-item--width3 {
    width: 100%;
  }
}
.layout-masonry .grid-item--width3 h3 {
  font-size: 125% !important;
}
.layout-masonry .grid-item--width3 p {
  font-size: 88% !important;
}
.layout-masonry .grid-item--width3 figure {
  position: relative;
}
.layout-masonry .grid-item--width3 figure img {
  max-height: 460px;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout-masonry .grid-item--height2 figure {
  aspect-ratio: 5/9;
  width: 100%;
  height: auto !important;
}
@media screen and (max-width: 767px) {
  .layout-masonry .grid-item--height2 figure {
    aspect-ratio: 2/3;
  }
}
.layout-masonry .grid-item--width4 {
  width: 100%;
}

/*----------店舗紹介----------*/
.top-introduction .grid-item a {
  color: #000;
}
.top-introduction .grid-item a figure {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.top-introduction .grid-item a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.top-introduction .grid-item a article h3 {
  line-height: 1.6;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-bottom: 3px;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-introduction .grid-item a article h3 {
    font-size: 14px;
  }
}
.top-introduction .grid-item a article p {
  font-size: 13px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .top-introduction .grid-item a article p {
    font-size: 12px;
  }
}
.top-introduction .grid-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*----------イベント＆特集----------*/
.top-event .grid-sizer {
  /* 5列・gutter 40px */
  width: calc((100% - 160px) / 5);
}
@media screen and (max-width: 1100px) {
  .top-event .grid-sizer {
    /* 4列・gutter 30px */
    width: calc((100% - 90px) / 4);
  }
}
@media screen and (max-width: 767px) {
  .top-event .grid-sizer {
    /* 2列・gutter 15px */
    width: calc((100% - 15px) / 2);
  }
}
.top-event .grid-item {
  /* 5列・gutter 40px */
  width: calc((100% - 160px) / 5);
}
@media screen and (max-width: 1100px) {
  .top-event .grid-item {
    /* 4列・gutter 30px */
    width: calc((100% - 90px) / 4);
  }
}
@media screen and (max-width: 767px) {
  .top-event .grid-item {
    /* 2列・gutter 15px */
    width: calc((100% - 15px) / 2);
  }
}
.top-event .grid-item a {
  border-radius: 20px;
  background: #fff;
  display: block;
  color: #262626;
}
@media screen and (max-width: 767px) {
  .top-event .grid-item a {
    min-height: 100%;
    max-height: 100%;
  }
}
.top-event .grid-item a figure {
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  position: relative;
}
.top-event .grid-item a figure img {
  height: auto !important;
  max-height: max(10vw, 200px);
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
@media screen and (max-width: 767px) {
  .top-event .grid-item a figure img {
    height: 100px;
  }
}
.top-event .grid-item a article {
  padding: 8px 15px 15px;
  z-index: 3;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.top-event .grid-item a article h3 {
  line-height: 1.5;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-event .grid-item a article h3 {
    font-size: 14px;
  }
}
.top-event .grid-item a article p {
  font-size: 13px;
  line-height: 1.6;
}
.top-event .grid-item a article .info-flex {
  gap: 0 10px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.top-event .grid-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  z-index: 1;
}
.top-event .grid-item.type-a {
  background: none;
}
.top-event .grid-item.type-a a {
  max-height: 100%;
  position: relative;
  color: #fff;
  z-index: 1;
}
.top-event .grid-item.type-a a figure {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.top-event .grid-item.type-a a figure img {
  max-width: auto;
  width: 100%;
  height: 100% !important;
  max-height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-event .grid-item.type-a a figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
  pointer-events: none;
}
.top-event .grid-item.type-a article {
  aspect-ratio: 16/9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.top-event .grid-item--square {
  width: calc((100% - 160px) / 5 * 2 + 40px);
  aspect-ratio: 1/1;
  background: none;
}
@media screen and (max-width: 1100px) {
  .top-event .grid-item--square {
    width: calc((100% - 90px) / 4 * 2 + 30px);
  }
}
@media screen and (max-width: 767px) {
  .top-event .grid-item--square {
    width: 100%;
  }
}
.top-event .grid-item--square a {
  height: 100%;
  position: relative;
  color: #fff;
}
.top-event .grid-item--square a figure {
  height: 100%;
  width: 100%;
  border-radius: 20px;
}
.top-event .grid-item--square a figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
  pointer-events: none;
}
.top-event .grid-item--square a figure img {
  height: 100%;
  max-height: 100%;
  aspect-ratio: 1/1;
}
.top-event .grid-item--square a article {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 3;
}
.top-event .grid-item--square a article h3 {
  font-size: 115% !important;
}
.top-event .grid-item--square a article p {
  font-size: 84% !important;
}
.top-event .grid-item--width1.type-a article {
  aspect-ratio: 5/9;
}
.top-event .grid-item--width2 {
  width: calc((100% - 160px) / 5 * 2 + 40px);
}
@media screen and (max-width: 1100px) {
  .top-event .grid-item--width2 {
    width: calc((100% - 90px) / 4 * 2 + 30px);
  }
}
@media screen and (max-width: 767px) {
  .top-event .grid-item--width2 {
    width: 100%;
  }
}
.top-event .grid-item--height2 {
  width: calc((100% - 160px) / 5 * 2 + 40px);
}
.top-event .grid-item--height2 figure {
  max-height: 500px;
}
@media screen and (max-width: 1100px) {
  .top-event .grid-item--height2 {
    width: calc((100% - 90px) / 4 * 2 + 30px);
  }
}
@media screen and (max-width: 767px) {
  .top-event .grid-item--height2 {
    width: 100%;
  }
  .top-event .grid-item--height2 figure {
    max-height: 400px;
  }
}
.top-event .grid-item--width3 {
  width: calc((100% - 160px) / 5 * 3 + 80px);
}
@media screen and (max-width: 1100px) {
  .top-event .grid-item--width3 {
    width: calc((100% - 90px) / 4 * 3 + 60px);
  }
}
@media screen and (max-width: 767px) {
  .top-event .grid-item--width3 {
    width: 100%;
  }
}
.top-event .grid-item--width4 {
  width: calc((100% - 160px) / 5 * 4 + 120px);
}
@media screen and (max-width: 1100px) {
  .top-event .grid-item--width4 {
    width: 100%;
  }
}

/*----------イベント＆特集一覧ページ----------*/
#features .features .grid-sizer, #features .events .grid-sizer, #events .features .grid-sizer, #events .events .grid-sizer {
  /* 5列・gutter 40px */
  width: calc((100% - 160px) / 5);
}
@media screen and (max-width: 1100px) {
  #features .features .grid-sizer, #features .events .grid-sizer, #events .features .grid-sizer, #events .events .grid-sizer {
    /* 4列・gutter 30px */
    width: calc((100% - 90px) / 4);
  }
}
@media screen and (max-width: 767px) {
  #features .features .grid-sizer, #features .events .grid-sizer, #events .features .grid-sizer, #events .events .grid-sizer {
    /* 2列・gutter 15px */
    width: calc((100% - 15px) / 2);
  }
}
#features .features .grid-item, #features .events .grid-item, #events .features .grid-item, #events .events .grid-item {
  /* 5列・gutter 40px */
  width: calc((100% - 160px) / 5);
}
@media screen and (max-width: 1100px) {
  #features .features .grid-item, #features .events .grid-item, #events .features .grid-item, #events .events .grid-item {
    /* 4列・gutter 30px */
    width: calc((100% - 90px) / 4);
  }
}
@media screen and (max-width: 767px) {
  #features .features .grid-item, #features .events .grid-item, #events .features .grid-item, #events .events .grid-item {
    /* 2列・gutter 15px */
    width: calc((100% - 15px) / 2);
  }
}
#features .features .grid-item a, #features .events .grid-item a, #events .features .grid-item a, #events .events .grid-item a {
  border-radius: 20px;
  background: #fff;
  display: block;
  color: #262626;
}
@media screen and (max-width: 767px) {
  #features .features .grid-item a, #features .events .grid-item a, #events .features .grid-item a, #events .events .grid-item a {
    min-height: 100%;
    max-height: 100%;
  }
}
#features .features .grid-item a figure, #features .events .grid-item a figure, #events .features .grid-item a figure, #events .events .grid-item a figure {
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  position: relative;
}
#features .features .grid-item a figure img, #features .events .grid-item a figure img, #events .features .grid-item a figure img, #events .events .grid-item a figure img {
  height: auto !important;
  max-height: max(10vw, 200px);
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
@media screen and (max-width: 767px) {
  #features .features .grid-item a figure img, #features .events .grid-item a figure img, #events .features .grid-item a figure img, #events .events .grid-item a figure img {
    height: 100px;
  }
}
#features .features .grid-item a article, #features .events .grid-item a article, #events .features .grid-item a article, #events .events .grid-item a article {
  padding: 8px 15px 15px;
  z-index: 3;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#features .features .grid-item a article h3, #features .events .grid-item a article h3, #events .features .grid-item a article h3, #events .events .grid-item a article h3 {
  line-height: 1.5;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #features .features .grid-item a article h3, #features .events .grid-item a article h3, #events .features .grid-item a article h3, #events .events .grid-item a article h3 {
    font-size: 14px;
  }
}
#features .features .grid-item a article p, #features .events .grid-item a article p, #events .features .grid-item a article p, #events .events .grid-item a article p {
  font-size: 13px;
  line-height: 1.6;
}
#features .features .grid-item a article .info-flex, #features .events .grid-item a article .info-flex, #events .features .grid-item a article .info-flex, #events .events .grid-item a article .info-flex {
  gap: 0 10px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#features .features .grid-item a:hover figure img, #features .events .grid-item a:hover figure img, #events .features .grid-item a:hover figure img, #events .events .grid-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  z-index: 1;
}
#features .features .grid-item.type-a, #features .events .grid-item.type-a, #events .features .grid-item.type-a, #events .events .grid-item.type-a {
  background: none;
}
#features .features .grid-item.type-a a, #features .events .grid-item.type-a a, #events .features .grid-item.type-a a, #events .events .grid-item.type-a a {
  max-height: 100%;
  position: relative;
  color: #fff;
  z-index: 1;
}
#features .features .grid-item.type-a a figure, #features .events .grid-item.type-a a figure, #events .features .grid-item.type-a a figure, #events .events .grid-item.type-a a figure {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#features .features .grid-item.type-a a figure img, #features .events .grid-item.type-a a figure img, #events .features .grid-item.type-a a figure img, #events .events .grid-item.type-a a figure img {
  max-width: auto;
  width: 100%;
  height: 100% !important;
  max-height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}
#features .features .grid-item.type-a a figure::before, #features .events .grid-item.type-a a figure::before, #events .features .grid-item.type-a a figure::before, #events .events .grid-item.type-a a figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
  pointer-events: none;
}
#features .features .grid-item.type-a article, #features .events .grid-item.type-a article, #events .features .grid-item.type-a article, #events .events .grid-item.type-a article {
  aspect-ratio: 16/9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#features .features .grid-item--square, #features .events .grid-item--square, #events .features .grid-item--square, #events .events .grid-item--square {
  width: calc((100% - 160px) / 5 * 2 + 40px);
  aspect-ratio: 1/1;
  background: none;
}
@media screen and (max-width: 1100px) {
  #features .features .grid-item--square, #features .events .grid-item--square, #events .features .grid-item--square, #events .events .grid-item--square {
    width: calc((100% - 90px) / 4 * 2 + 30px);
  }
}
@media screen and (max-width: 767px) {
  #features .features .grid-item--square, #features .events .grid-item--square, #events .features .grid-item--square, #events .events .grid-item--square {
    width: 100%;
  }
}
#features .features .grid-item--square a, #features .events .grid-item--square a, #events .features .grid-item--square a, #events .events .grid-item--square a {
  height: 100%;
  position: relative;
  color: #fff;
}
#features .features .grid-item--square a figure, #features .events .grid-item--square a figure, #events .features .grid-item--square a figure, #events .events .grid-item--square a figure {
  height: 100%;
  width: 100%;
  border-radius: 20px;
}
#features .features .grid-item--square a figure::before, #features .events .grid-item--square a figure::before, #events .features .grid-item--square a figure::before, #events .events .grid-item--square a figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
  pointer-events: none;
}
#features .features .grid-item--square a figure img, #features .events .grid-item--square a figure img, #events .features .grid-item--square a figure img, #events .events .grid-item--square a figure img {
  height: 100%;
  max-height: 100%;
  aspect-ratio: 1/1;
}
#features .features .grid-item--square a article, #features .events .grid-item--square a article, #events .features .grid-item--square a article, #events .events .grid-item--square a article {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 3;
}
#features .features .grid-item--square a article h3, #features .events .grid-item--square a article h3, #events .features .grid-item--square a article h3, #events .events .grid-item--square a article h3 {
  font-size: 115% !important;
}
#features .features .grid-item--square a article p, #features .events .grid-item--square a article p, #events .features .grid-item--square a article p, #events .events .grid-item--square a article p {
  font-size: 84% !important;
}
#features .features .grid-item--width1.type-a article, #features .events .grid-item--width1.type-a article, #events .features .grid-item--width1.type-a article, #events .events .grid-item--width1.type-a article {
  aspect-ratio: 5/9;
}
#features .features .grid-item--width2, #features .events .grid-item--width2, #events .features .grid-item--width2, #events .events .grid-item--width2 {
  width: calc((100% - 160px) / 5 * 2 + 40px);
}
@media screen and (max-width: 1100px) {
  #features .features .grid-item--width2, #features .events .grid-item--width2, #events .features .grid-item--width2, #events .events .grid-item--width2 {
    width: calc((100% - 90px) / 4 * 2 + 30px);
  }
}
@media screen and (max-width: 767px) {
  #features .features .grid-item--width2, #features .events .grid-item--width2, #events .features .grid-item--width2, #events .events .grid-item--width2 {
    width: 100%;
  }
}
#features .features .grid-item--height2, #features .events .grid-item--height2, #events .features .grid-item--height2, #events .events .grid-item--height2 {
  width: calc((100% - 160px) / 5 * 2 + 40px);
}
#features .features .grid-item--height2 figure, #features .events .grid-item--height2 figure, #events .features .grid-item--height2 figure, #events .events .grid-item--height2 figure {
  max-height: 500px;
}
@media screen and (max-width: 1100px) {
  #features .features .grid-item--height2, #features .events .grid-item--height2, #events .features .grid-item--height2, #events .events .grid-item--height2 {
    width: calc((100% - 90px) / 4 * 2 + 30px);
  }
}
@media screen and (max-width: 767px) {
  #features .features .grid-item--height2, #features .events .grid-item--height2, #events .features .grid-item--height2, #events .events .grid-item--height2 {
    width: 100%;
  }
  #features .features .grid-item--height2 figure, #features .events .grid-item--height2 figure, #events .features .grid-item--height2 figure, #events .events .grid-item--height2 figure {
    max-height: 400px;
  }
}
#features .features .grid-item--width3, #features .events .grid-item--width3, #events .features .grid-item--width3, #events .events .grid-item--width3 {
  width: calc((100% - 160px) / 5 * 3 + 80px);
}
@media screen and (max-width: 1100px) {
  #features .features .grid-item--width3, #features .events .grid-item--width3, #events .features .grid-item--width3, #events .events .grid-item--width3 {
    width: calc((100% - 90px) / 4 * 3 + 60px);
  }
}
@media screen and (max-width: 767px) {
  #features .features .grid-item--width3, #features .events .grid-item--width3, #events .features .grid-item--width3, #events .events .grid-item--width3 {
    width: 100%;
  }
}
#features .features .grid-item--width4, #features .events .grid-item--width4, #events .features .grid-item--width4, #events .events .grid-item--width4 {
  width: calc((100% - 160px) / 5 * 4 + 120px);
}
@media screen and (max-width: 1100px) {
  #features .features .grid-item--width4, #features .events .grid-item--width4, #events .features .grid-item--width4, #events .events .grid-item--width4 {
    width: 100%;
  }
}

/*============================================================================

  階層ページ

============================================================================*/
/*----------メインビジュアル----------*/
.low #mv {
  width: 100%;
  position: relative;
  background-image: -webkit-repeating-linear-gradient(315deg, var(--color-bg1), var(--color-bg1) 3px, var(--color-bg2) 3px, var(--color-bg2) 8px);
  background-image: repeating-linear-gradient(135deg, var(--color-bg1), var(--color-bg1) 3px, var(--color-bg2) 3px, var(--color-bg2) 8px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  padding: 55px 200px;
}
@media screen and (max-width: 1100px) {
  .low #mv {
    margin-top: 60px;
    padding: 45px 20px 45px;
  }
}
@media screen and (max-width: 768px) {
  .low #mv {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 50px 20px 35px;
  }
}
.low #mv .icon {
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .low #mv .icon {
    margin: -20px 0 -10px;
  }
}
.low #mv .icon img {
  width: 100px;
  min-width: 100px;
}
@media screen and (max-width: 768px) {
  .low #mv .icon img {
    width: 40px;
    min-width: 100%;
  }
}
.low #mv .txt {
  text-align: center;
  color: #fff;
}
.low #mv .txt .ttl {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 35px;
  line-height: 1.3;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .low #mv .txt .ttl {
    font-size: 24px;
    margin-bottom: 8px;
  }
}
.low #mv .txt .ttl .inner {
  display: inline;
  position: relative;
}
.low #mv .txt .ttl .new {
  position: absolute;
  right: -45px;
  bottom: 8px;
  background: #E73D58;
  font-size: 10px;
  color: #fff;
  padding: 4px 6px 4px;
  border-radius: 2px;
}
@media screen and (max-width: 768px) {
  .low #mv .txt .ttl .new {
    position: relative;
    right: 0;
    bottom: 5px;
  }
}
.low #mv .txt .station-list {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .low #mv .txt .station-list {
    font-size: 12px;
    margin-top: 8px;
  }
}
.low #mv .txt .tag-list a {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .low #mv .txt .tag-list a {
    font-size: 10px;
  }
}
.low #mv .txt .comment {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .low #mv .txt .comment {
    font-size: 12px;
  }
}

/* 店舗詳細メインビジュアル */
.low-store #mv {
  padding: 55px 200px 55px;
}
@media screen and (max-width: 1100px) {
  .low-store #mv {
    padding: 45px 20px 45px;
  }
}
@media screen and (max-width: 768px) {
  .low-store #mv {
    padding: 50px 20px 30px;
  }
}
.low-store #mv .txt .ttl {
  margin-bottom: 7px;
}
@media screen and (max-width: 768px) {
  .low-store #mv .txt .ttl {
    margin-bottom: 0;
  }
}
.low-store #mv .txt .tag-list dl {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* 店舗詳細ナビ */
#store-nav {
  margin: 50px auto 0;
  width: 100%;
  max-width: 1100px;
  z-index: 10;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 1000px) {
  #store-nav {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  #store-nav {
    bottom: -23px;
    margin-top: 40px;
  }
}
#store-nav .list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--color-sub);
  border-radius: 10px;
  -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
@media screen and (max-width: 1000px) {
  #store-nav .list {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  #store-nav .list::-webkit-scrollbar {
    display: none;
  }
}
#store-nav .list li {
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
#store-nav .list li:not(.is-reserve) a {
  display: block;
  padding: 15px 12.7px;
  font-size: 18px;
  color: #262626;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  white-space: nowrap;
}
#store-nav .list li:not(.is-reserve) a:hover {
  color: var(--color-main);
}
@media screen and (max-width: 768px) {
  #store-nav .list li:not(.is-reserve) a {
    padding: 10px 15px;
    font-size: 14px;
  }
}
#store-nav .list li:not(.is-reserve):not(:last-child):not(:has(+ .is-reserve))::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 15px;
  background: #262626;
}
#store-nav .list li.current a {
  color: var(--color-main);
}
#store-nav .list li.disabled a {
  color: #a6a7ac;
  pointer-events: none;
}
#store-nav .list .is-reserve {
  margin-left: auto;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
#store-nav .list .is-reserve a {
  display: block;
  padding: 15px 15px;
  background: var(--color-main);
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  #store-nav .list .is-reserve a {
    padding: 10px 15px;
  }
}

/*----------店舗詳細ページ（食べる以外）----------*/
#information .introduction {
  margin: 60px 0 80px;
}
@media screen and (max-width: 767px) {
  #information .introduction {
    margin: 30px 0 50px;
  }
}
#information .introduction__slider {
  max-width: 1005px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider {
    margin-bottom: 30px;
  }
}
#information .introduction__slider-main {
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider-main {
    margin-bottom: 8px;
  }
}
#information .introduction__slider-main .slick-slide {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 30px;
}
#information .introduction__slider-main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#information .introduction__slider-thumb {
  margin-left: -3px;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider-thumb {
    margin-left: -2px;
  }
}
#information .introduction__slider-thumb .slick-slide {
  margin: 0 5px;
  cursor: pointer;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider-thumb .slick-slide {
    margin: 0 4px;
  }
}
#information .introduction__slider-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#information .introduction__slider-thumb .slick-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 10px;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  pointer-events: none;
}
#information .introduction__slider-thumb .slick-current::after {
  background: rgba(0, 0, 0, 0);
}
#information .introduction__slider .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
  background: var(--color-main);
  border-radius: 100vw;
  border: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
#information .introduction__slider .custom-arrow .next {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#information .introduction__slider .custom-arrow .next::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #fff;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider .custom-arrow .next::before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 7px solid #fff;
  }
}
#information .introduction__slider .custom-arrow .prev {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
#information .introduction__slider .custom-arrow .prev::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: 11px solid #fff;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider .custom-arrow .prev::before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 7px solid #fff;
  }
}
#information .introduction__slider .custom-arrow img {
  width: 100%;
  height: auto;
}
#information .introduction__slider .slick-prev {
  left: -70px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider .slick-prev {
    left: -10px;
  }
}
#information .introduction__slider .slick-prev:hover {
  opacity: 0.7;
}
#information .introduction__slider .slick-next {
  right: -70px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #information .introduction__slider .slick-next {
    right: -10px;
  }
}
#information .introduction__slider .slick-next:hover {
  opacity: 0.7;
}
#information .introduction__slider .slick-prev:before,
#information .introduction__slider .slick-next:before {
  content: none;
}
#information #news-list {
  padding: 60px 0 70px;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #information #news-list {
    padding: 40px 0 50px;
  }
}
#information #news-list ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media screen and (max-width: 768px) {
  #information #news-list ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
#information #news-list ul li {
  position: relative;
  background: #fff;
}
#information #news-list ul li a {
  position: absolute;
  inset: 0;
  z-index: 2;
}
#information #news-list ul li a:hover ~ figure img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
#information #news-list ul li a:hover ~ article {
  opacity: 0.7;
}
#information #news-list ul li figure {
  overflow: hidden;
  aspect-ratio: 3/2;
  position: relative;
  margin-bottom: 0;
}
#information #news-list ul li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#information #news-list ul li figure .date {
  font-size: 12px;
  background: var(--color-main);
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  padding: 2px 7px;
}
@media screen and (max-width: 768px) {
  #information #news-list ul li figure .date {
    font-size: 10px;
    padding-top: 0;
  }
}
#information #news-list ul li article {
  padding: 15px;
}
@media screen and (max-width: 768px) {
  #information #news-list ul li article {
    padding: 5px 10px 10px;
  }
}
#information #news-list ul li article h3 {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  #information #news-list ul li article h3 {
    font-size: 13px;
  }
}
#information #news-list ul li article p {
  margin-bottom: 10px;
}
#information #news-list .news-more {
  text-align: right;
  margin-top: 20px;
}
#information #news-list .more-link {
  position: relative;
  display: inline-block;
  padding-right: 30px;
  color: #000000;
  text-decoration: none;
}
#information #news-list .more-link:hover {
  opacity: 0.8;
}
#information #news-list .more-link::after {
  content: "";
  position: absolute;
  top: 55%;
  right: 0px;
  height: 1px;
  background: #000000;
  content: "";
  width: 6px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform-origin: right center;
  transform-origin: right center;
}
#information #news-list .more-link::before {
  position: absolute;
  top: 55%;
  right: 0px;
  height: 1px;
  background: #000000;
  content: "";
  width: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/*----------店舗詳細ページ（食べる）----------*/
#information .food {
  margin: 60px 0 80px;
}
@media screen and (max-width: 767px) {
  #information .food {
    margin: 30px 0 50px;
  }
}
#information .food .img01 {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 18/9;
  border-radius: 30px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #information .food .img01 {
    margin-bottom: 30px;
    aspect-ratio: 16/9;
  }
}
#information .food .img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#information .food .img02 {
  width: 100%;
  max-width: 820px;
  margin: 0 auto 70px;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  #information .food .img02 {
    margin-bottom: 30px;
  }
}
#information .food .img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#information .food .u-clearfix {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  #information .food .u-clearfix {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#information .food .u-clearfix .img {
  max-width: 48.5%;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  #information .food .u-clearfix .img {
    max-width: 100%;
    margin-top: 30px;
    margin-bottom: 0;
  }
}
#information .food .u-clearfix .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#information .food .food__slider {
  position: relative;
  max-width: 820px;
  margin: 0 auto 90px;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider {
    margin-bottom: 40px;
  }
}
#information .food .food__slider > div {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 30px;
}
#information .food .food__slider > div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#information .food .food__slider .slick-dots {
  bottom: -35px;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider .slick-dots {
    bottom: -25px;
  }
}
@media screen and (max-width: 767px) {
  #information .food .food__slider .slick-dots li {
    margin: 0;
  }
}
#information .food .food__slider li button:before {
  font-size: 12px;
  color: #d5d5d5;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider li button:before {
    font-size: 6px;
  }
}
#information .food .food__slider li.slick-active button:before {
  color: var(--color-main);
}
#information .food .food__slider .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
  background: var(--color-main);
  border-radius: 100vw;
  border: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
#information .food .food__slider .custom-arrow .next {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#information .food .food__slider .custom-arrow .next::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #fff;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider .custom-arrow .next::before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 7px solid #fff;
  }
}
#information .food .food__slider .custom-arrow .prev {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
#information .food .food__slider .custom-arrow .prev::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: 11px solid #fff;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider .custom-arrow .prev::before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 7px solid #fff;
  }
}
#information .food .food__slider .custom-arrow img {
  width: 100%;
  height: auto;
}
#information .food .food__slider .slick-prev {
  left: -70px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider .slick-prev {
    left: -10px;
  }
}
#information .food .food__slider .slick-prev:hover {
  opacity: 0.7;
}
#information .food .food__slider .slick-next {
  right: -70px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #information .food .food__slider .slick-next {
    right: -10px;
  }
}
#information .food .food__slider .slick-next:hover {
  opacity: 0.7;
}
#information .food .food__slider .slick-prev:before,
#information .food .food__slider .slick-next:before {
  content: none;
}

/*----------店舗一覧ページ----------*/
#store-all .store {
  margin-top: 50px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #store-all .store {
    margin-bottom: 50px;
    margin-top: 40px;
  }
}
#store-all .store .store-card {
  padding: 40px;
  border-radius: 30px;
  background-image: url(/asset/images/common/well02-bg.png);
  background-position: left top;
  background-repeat: repeat;
  background-size: 16px;
  border: solid 9px #D8D8D8;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card {
    padding: 20px;
    border: solid 6px #D8D8D8;
  }
}
#store-all .store .store-card:not(:last-of-type) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card:not(:last-of-type) {
    margin-bottom: 30px;
  }
}
#store-all .store .store-card .store-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 25px;
  margin-top: -10px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-bottom: 15px;
  }
}
#store-all .store .store-card .store-header .store-header__left {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-header__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
#store-all .store .store-card .store-header .store-header__left .store-name {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-header__left .store-name {
    font-size: 22px;
  }
}
#store-all .store .store-card .store-header .store-header__left .store-name a {
  color: var(--color-main);
}
#store-all .store .store-card .store-header .store-header__left .store-name a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-header__left .store-category {
    margin-bottom: 2px;
  }
}
#store-all .store .store-card .store-header .store-header__left .store-category a {
  margin-right: 6px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-header__left .store-category a {
    margin-right: 2px;
  }
}
#store-all .store .store-card .store-header .store-header__left .store-category a:hover {
  opacity: 0.8;
}
#store-all .store .store-card .store-header .store-header__left .store-category span {
  display: inline-block;
  background: var(--color-main);
  color: #fff;
  padding: 0px 10px 2px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  border-radius: 6px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-header__left .store-category span {
    font-size: 10px;
    padding: 0 8px;
  }
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-sns {
    margin-top: 3px;
  }
}
#store-all .store .store-card .store-header .store-sns a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 34px;
  height: 34px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: var(--color-main);
  border-radius: 50%;
  margin-left: 4px;
  text-decoration: none;
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-sns a {
    width: 28px;
    height: 28px;
    margin-left: 0;
    margin-right: 2px;
  }
}
#store-all .store .store-card .store-header .store-sns a:hover {
  opacity: 0.8;
}
#store-all .store .store-card .store-header .store-sns a img {
  width: 20px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-header .store-sns a img {
    width: 15px;
  }
}
#store-all .store .store-card .store-main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  margin-bottom: 24px;
  border-radius: 20px;
  border: solid 4px #E5E5E5;
  background: #fff;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 0;
    margin-bottom: 20px;
  }
}
#store-all .store .store-card .store-main .store-info {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#store-all .store .store-card .store-main .store-info .store-table tr:first-of-type th {
  border-radius: 16px 0 0 0;
  padding-top: 12px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-info .store-table tr:first-of-type th {
    border-radius: 0;
    padding-top: 5px;
  }
}
#store-all .store .store-card .store-main .store-info .store-table tr:first-of-type td {
  padding-top: 12px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-info .store-table tr:first-of-type td {
    padding-top: 5px;
  }
}
#store-all .store .store-card .store-main .store-info .store-table tr:last-of-type th {
  border-radius: 0 0 0 16px;
  padding-bottom: 12px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-info .store-table tr:last-of-type th {
    padding-bottom: 5px;
  }
}
#store-all .store .store-card .store-main .store-info .store-table tr:last-of-type td {
  padding-bottom: 12px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-info .store-table tr:last-of-type td {
    padding-bottom: 5px;
  }
}
#store-all .store .store-card .store-main .store-info .store-table tr th {
  background: #F5F5F5;
  padding: 1px 25px;
  text-align: left;
  font-size: 17px;
  min-width: 112px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-info .store-table tr th {
    min-width: 70px;
    font-size: 13px;
    padding: 1px 8px;
    line-height: 1.7;
  }
}
#store-all .store .store-card .store-main .store-info .store-table tr td {
  padding: 1px 0 1px 25px;
  font-size: 17px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-info .store-table tr td {
    font-size: 13px;
    padding: 1px 0 1px 8px;
    line-height: 1.7;
  }
}
#store-all .store .store-card .store-main .store-info .store-table tr td a {
  word-wrap: break-word;
}
#store-all .store .store-card .store-main .store-info .store-table tr td a:hover {
  opacity: 0.8;
}
#store-all .store .store-card .store-main .store-info .store-table tr td.tel {
  font-size: 24px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-info .store-table tr td.tel {
    font-size: 16px;
  }
}
#store-all .store .store-card .store-main .store-image {
  width: 380px;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 12px;
  margin: 30px 30px 30px 0;
}
@media screen and (max-width: 1100px) {
  #store-all .store .store-card .store-main .store-image {
    width: 280px;
  }
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-main .store-image {
    width: 100%;
    margin: 0 auto 0;
    border-radius: 16px 16px 0 0;
  }
}
#store-all .store .store-card .store-main .store-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#store-all .store .store-card .store-message {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-radius: 20px;
  border: solid 4px #E5E5E5;
  padding: 20px 25px;
  margin-bottom: 24px;
  gap: 20px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-message {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
    gap: 10px;
    margin-bottom: 20px;
  }
}
#store-all .store .store-card .store-message .doctor {
  width: 106px;
  height: 106px;
  margin-top: 4px;
  border-radius: 12px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-message .doctor {
    margin: 0;
  }
}
#store-all .store .store-card .store-message .doctor img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#store-all .store .store-card .store-message .message-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#store-all .store .store-card .store-message .message-text h3 {
  font-size: 17px;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-message .message-text h3 {
    font-size: 13px;
  }
}
#store-all .store .store-card .store-message .message-text p {
  font-size: 17px;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-message .message-text p {
    font-size: 13px;
  }
}
#store-all .store .store-card .store-btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-btns {
    gap: 5px;
  }
}
#store-all .store .store-card .store-btns a {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  padding: 10px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 8px;
  border: none;
  background: #EAEEF7;
  color: #a6a7ac;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  letter-spacing: 0;
  pointer-events: none;
}
@media screen and (max-width: 1100px) {
  #store-all .store .store-card .store-btns a {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc((100% - 40px) / 5);
        -ms-flex: 0 0 calc((100% - 40px) / 5);
            flex: 0 0 calc((100% - 40px) / 5);
  }
}
@media screen and (max-width: 768px) {
  #store-all .store .store-card .store-btns a {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc((100% - 10px) / 3);
        -ms-flex: 0 0 calc((100% - 10px) / 3);
            flex: 0 0 calc((100% - 10px) / 3);
    border-radius: 4px;
    font-size: 12px;
    padding: 5px 0;
  }
}
#store-all .store .store-card .store-btns a.is-active {
  background: var(--color-main);
  color: #fff;
  pointer-events: inherit;
}
#store-all .store .store-card .store-btns a.is-active:hover {
  opacity: 0.8;
}

/* タグbox */
#store-all #tag-box {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #store-all #tag-box {
    margin-bottom: 50px;
  }
}
#store-all #tag-box .ttl04 {
  font-size: 30px;
  margin-bottom: 30px;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  #store-all #tag-box .ttl04 {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 20px;
    padding-bottom: 15px;
  }
}
#store-all #tag-box .tag-box {
  padding: 40px;
  background-color: #f5f5f5;
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  #store-all #tag-box .tag-box {
    padding: 10px;
    border-radius: 20px;
  }
}
#store-all #tag-box .tag-box dl {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  list-style: none;
  margin-left: -15px;
  margin-bottom: -15px;
}
@media screen and (max-width: 768px) {
  #store-all #tag-box .tag-box dl {
    margin-left: -2%;
    margin-bottom: -2%;
  }
}
#store-all #tag-box .tag-box dl dd {
  line-height: 1;
  position: relative;
  margin-right: 0;
  margin-bottom: 15px;
  margin-left: 15px;
}
@media screen and (max-width: 768px) {
  #store-all #tag-box .tag-box dl dd {
    margin-bottom: 2%;
    margin-left: 2%;
  }
}
#store-all #tag-box .tag-box dl dd a {
  font-size: 15px;
  display: inline-block;
  color: #333;
  background-color: #fff;
  padding: 10px 13px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  border: 1px solid #ccc;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  #store-all #tag-box .tag-box dl dd a {
    font-size: 12px;
    padding: 7px 10px;
  }
}
#store-all #tag-box .tag-box dl dd a:hover {
  background: var(--color-main);
  color: #fff;
}

/*----------店舗からのお知らせ一覧ページ----------*/
#news-all .news {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #news-all .news {
    padding: 40px 0;
  }
}
#news-all .news {
  /* 一覧 */
}
#news-all .news-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}
@media screen and (max-width: 767px) {
  #news-all .news-list {
    gap: 15px;
    grid-template-columns: repeat(2, 1fr);
  }
}
#news-all .news-list li {
  list-style: none;
}
#news-all .news-list li a {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 5px #b4b4b4;
          box-shadow: 0 0 5px #b4b4b4;
  color: #262626;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #news-all .news-list li a {
    -webkit-box-shadow: 0 0 3px #b4b4b4;
            box-shadow: 0 0 3px #b4b4b4;
  }
}
#news-all .news-list li a article {
  padding: 15px 20px 20px;
}
@media screen and (max-width: 767px) {
  #news-all .news-list li a article {
    padding: 10px 15px 15px;
  }
}
#news-all .news-list li a article h3 {
  line-height: 1.6;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #news-all .news-list li a article h3 {
    font-size: 14px;
    margin-bottom: 3px;
  }
}
#news-all .news-list li a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #news-all .news-list li a article p {
    font-size: 12px;
  }
}
#news-all .news-list li a article p.date {
  font-size: 12px;
  margin-bottom: 5px;
  font-family: "futura-pt", sans-serif;
}
#news-all .news-list li a article p.date span {
  background: #E73D58;
  font-size: 10px;
  color: #fff;
  margin-left: 10px;
  padding: 2px 5px;
}
@media screen and (max-width: 767px) {
  #news-all .news-list li a article p.date span {
    font-size: 9px;
  }
}
#news-all .news-list li a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  width: 100%;
}
#news-all .news-list li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#news-all .news-list li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*----------各店舗ページの中のお知らせ一覧ページ----------*/
#store_news .store_news {
  padding: 60px 0 80px;
}
@media screen and (max-width: 767px) {
  #store_news .store_news {
    padding: 30px 0 50px;
  }
}
#store_news .store_news .news-list {
  border-top: 1px solid #ddd;
}
#store_news .store_news .news-list .news-item {
  padding: 25px 0 30px;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  #store_news .store_news .news-list .news-item {
    padding: 15px 0 20px;
  }
}
#store_news .store_news .news-list .news-item .news-date {
  width: 120px;
  color: var(--color-main);
  font-weight: 700;
  font-size: 16px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  #store_news .store_news .news-list .news-item .news-date {
    font-size: 12px;
    gap: 5px;
  }
}
#store_news .store_news .news-list .news-item .news-date .tag {
  background: var(--color-main);
  color: #fff;
  font-size: 12px;
  padding: 0px 8px 2px;
  border-radius: 3px;
  white-space: nowrap;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  #store_news .store_news .news-list .news-item .news-date .tag {
    font-size: 10px;
  }
}
#store_news .store_news .news-list .news-item .news-content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#store_news .store_news .news-list .news-item .news-content .news-title {
  gap: 5px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: -10px;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  #store_news .store_news .news-list .news-item .news-content .news-title {
    margin-bottom: 0;
    font-size: 18px;
  }
}
#store_news .store_news .news-list .news-item .news-content p {
  line-height: 1.8;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  #store_news .store_news .news-list .news-item .news-content p {
    margin-top: 10px;
  }
}
#store_news .store_news .news-list .news-item .news-content p a:hover {
  text-decoration: underline;
}
#store_news .store_news .news-list .news-item .news-content .img {
  margin-top: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #store_news .store_news .news-list .news-item .news-content .img {
    margin-top: 10px;
  }
}
#store_news .store_news .news-list .news-item .news-content .img img {
  width: 100%;
  max-width: 700px;
  border-radius: 30px;
}

/*----------新着情報一覧ページ----------*/
#new-arrival .new-arrival {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #new-arrival .new-arrival {
    padding: 40px 0;
  }
}
#new-arrival .new-arrival {
  /* 一覧 */
}
#new-arrival .new-arrival-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  #new-arrival .new-arrival-list {
    gap: 15px;
    grid-template-columns: repeat(2, 1fr);
  }
}
#new-arrival .new-arrival-list li {
  list-style: none;
}
#new-arrival .new-arrival-list li a {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 5px #b4b4b4;
          box-shadow: 0 0 5px #b4b4b4;
  color: #262626;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #new-arrival .new-arrival-list li a {
    -webkit-box-shadow: 0 0 3px #b4b4b4;
            box-shadow: 0 0 3px #b4b4b4;
  }
}
#new-arrival .new-arrival-list li a article {
  padding: 15px 20px 20px;
}
@media screen and (max-width: 767px) {
  #new-arrival .new-arrival-list li a article {
    padding: 10px 15px 15px;
  }
}
#new-arrival .new-arrival-list li a article h3 {
  line-height: 1.6;
  font-size: 17px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #new-arrival .new-arrival-list li a article h3 {
    font-size: 14px;
  }
}
#new-arrival .new-arrival-list li a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #new-arrival .new-arrival-list li a article p {
    font-size: 12px;
  }
}
#new-arrival .new-arrival-list li a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
}
#new-arrival .new-arrival-list li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#new-arrival .new-arrival-list li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*----------インタビュー一覧ページ----------*/
#interviews .interview {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #interviews .interview {
    padding: 40px 0;
  }
}
#interviews .interview {
  /* 一覧 */
}
#interviews .interview-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px 20px;
}
@media screen and (max-width: 767px) {
  #interviews .interview-list {
    gap: 20px 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
#interviews .interview-list li {
  list-style: none;
}
@media screen and (max-width: 767px) {
  #interviews .interview-list li:nth-of-type(15) {
    display: none;
  }
}
#interviews .interview-list li a:hover figure img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#interviews .interview-list figure {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  aspect-ratio: 3/2;
  margin-bottom: 10px;
}
#interviews .interview-list figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
#interviews .interview-list .store {
  font-size: 14px;
  line-height: 1.6;
  color: #000;
}
@media screen and (max-width: 767px) {
  #interviews .interview-list .store {
    font-size: 12px;
  }
}
#interviews .interview-list .name {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  color: #000;
}
@media screen and (max-width: 767px) {
  #interviews .interview-list .name {
    font-size: 15px;
  }
}
#interviews .interview-list .station-list {
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  #interviews .interview-list .station-list {
    font-size: 12px;
  }
}

/*----------インタビューページ----------*/
#interview .interview {
  margin: 60px 0 80px;
}
@media screen and (max-width: 767px) {
  #interview .interview {
    margin: 30px 0 50px;
  }
}
#interview .interview .main-img {
  position: relative;
}
@media screen and (max-width: 768px) {
  #interview .interview .main-img {
    margin: 0 -20px;
  }
}
#interview .interview .main-img figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  #interview .interview .main-img figure {
    border-radius: 0;
  }
}
#interview .interview .main-img figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), color-stop(15%, rgba(0, 0, 0, 0.4)), color-stop(25%, rgba(0, 0, 0, 0.3)), color-stop(35%, rgba(0, 0, 0, 0.2)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(45%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  background: linear-gradient(to left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  z-index: 2;
  pointer-events: none;
  border-radius: 0 30px 30px 0;
}
@media screen and (max-width: 768px) {
  #interview .interview .main-img figure::before {
    display: none;
  }
}
#interview .interview .main-img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#interview .interview .main-img .txt {
  position: absolute;
  z-index: 2;
  right: 50px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-width: 330px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #interview .interview .main-img .txt {
    background: #333;
    border-radius: 10px;
    position: inherit;
    right: -50%;
    top: -40px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 90%;
    padding: 20px;
    font-size: 12px;
    margin-bottom: -40px;
  }
}
#interview .interview .main-img .txt h3 {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 30px;
  line-height: 1.4;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #interview .interview .main-img .txt h3 {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 10px;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
  }
}
#interview .interview .main-img .txt h3 small {
  display: block;
  font-size: 18px;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  #interview .interview .main-img .txt h3 small {
    font-size: 14px;
    margin-bottom: 2px;
  }
}
#interview .interview .main-img .txt .lead {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #interview .interview .main-img .txt .lead {
    font-size: 14px;
  }
}
#interview .interview .u-clearfix {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #interview .interview .u-clearfix {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#interview .interview .u-clearfix .img {
  max-width: 48.5%;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  #interview .interview .u-clearfix .img {
    max-width: 100%;
    margin-top: 30px;
    margin-bottom: 0;
  }
}
#interview .interview .u-clearfix .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#interview .profile {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  #interview .profile {
    padding-bottom: 50px;
  }
}
#interview .profile .contents {
  background: #333333;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  padding: 70px;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  #interview .profile .contents {
    padding: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
#interview .profile .contents .txt {
  color: #fff;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#interview .profile .contents .txt .name {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1.4;
  font-size: 30px;
  margin-bottom: 15px;
}
#interview .profile .contents .txt .name small {
  display: block;
  font-size: 18px;
}
#interview .profile .contents .txt .name span {
  font-size: 24px;
}
#interview .profile .contents .txt .list {
  border-top: 1px solid #999;
}
#interview .profile .contents .txt .list li {
  padding: 12px 10px;
  line-height: 1.6;
  border-bottom: 1px solid #999;
}
@media screen and (max-width: 767px) {
  #interview .profile .contents .txt .list li {
    padding: 8px 5px;
  }
}
@media screen and (max-width: 767px) {
  #interview .profile .contents .img-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  #interview .profile .contents .img-wrap .img {
    width: 40%;
  }
}
#interview .profile .contents .img-wrap .name {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: block;
  font-size: 20px;
  line-height: 1.7;
  margin-bottom: 0;
  color: #fff;
  padding-left: 12px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
#interview .profile .contents .img-wrap .name small {
  display: block;
  font-size: 12px;
}
#interview .profile .contents .img-wrap .name span {
  font-size: 12px;
  display: block;
}
#interview .profile .contents .img {
  max-width: 310px;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 3/4;
  border-radius: 20px;
}
#interview .profile .contents .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/*----------おすすめページ----------*/
#pr .pr {
  padding: 60px 0 80px;
}
@media screen and (max-width: 767px) {
  #pr .pr {
    padding: 30px 0 50px;
  }
}
#pr .pr .txt {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #pr .pr .txt {
    margin-bottom: 20px;
  }
}
#pr .pr .img img {
  width: 100%;
  border-radius: 30px;
}

/*----------アクセス動画ページ----------*/
#access .access {
  padding: 60px 0 80px;
}
@media screen and (max-width: 767px) {
  #access .access {
    padding: 30px 0 50px;
  }
}
#access .access .movie iframe {
  border-radius: 30px;
}
#access .access .movie .time {
  margin-top: 20px;
  background: #F5F5F5;
  text-align: center;
  padding: 15px 0;
  line-height: 1.6;
  border-radius: 30px;
}
#access .access .movie .time h4 {
  font-size: 22px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  #access .access .movie .time h4 {
    font-size: 16px;
  }
}
#access .access .movie .time p {
  font-size: 28px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #access .access .movie .time p {
    font-size: 20px;
  }
}
#access .access .movie .time small {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  #access .access .movie .time small {
    font-size: 12px;
  }
}
#access .access .map {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  #access .access .map {
    margin-top: 30px;
  }
}
#access .access .map .map-iframe {
  aspect-ratio: 16/9;
}
#access .access .map .map-iframe iframe {
  width: 100%;
  height: 100%;
  vertical-align: top;
  border-radius: 30px;
}
#access .access .map .map-iframe + p {
  text-align: center;
  background: #F5F5F5;
  font-size: 20px;
  padding: 15px 15px;
  line-height: 1.8;
  margin-top: 20px;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  #access .access .map .map-iframe + p {
    text-align: left;
    font-size: 14px;
  }
}

/*----------求人一覧ページ----------*/
#works .store-search-box .c-search {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 25px;
}
#works .work {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #works .work {
    padding: 40px 0;
  }
}
#works .work.bg-white .work-list .recruit-card {
  background: #F5F5F5;
}
#works .work .work-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 30px;
}
@media screen and (max-width: 767px) {
  #works .work .work-list {
    gap: 20px 10px;
    grid-template-columns: repeat(1, 1fr);
  }
}
#works .work .work-list .recruit-card {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-card {
    margin: 0;
    padding: 15px;
  }
}
#works .work .work-list .recruit-card:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
#works .work .work-list .recruit-card article {
  min-height: 134px;
  color: #000;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-card article {
    min-height: auto;
  }
}
#works .work .work-list .recruit-card .lead {
  font-size: 17px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1.6;
  font-weight: bold;
  margin-bottom: 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-card .lead {
    font-size: 14px;
  }
}
#works .work .work-list .recruit-card .salary {
  font-size: 16px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-card .salary {
    font-size: 12px;
  }
}
#works .work .work-list .recruit-bottom {
  border-top: 1px solid #E4E4E4;
  padding-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  margin-top: 20px;
  min-height: 107px;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-bottom {
    padding-top: 15px;
    margin-top: 15px;
    min-height: 96px;
  }
}
#works .work .work-list .recruit-bottom figure {
  overflow: hidden;
  height: 97px;
  width: 97px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-bottom figure {
    height: 80px;
    width: 80px;
  }
}
#works .work .work-list .recruit-bottom figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-bottom figure img {
    width: 140px;
  }
}
#works .work .work-list .recruit-bottom .info {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#works .work .work-list .recruit-bottom .info h3 {
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1.6;
  margin-top: -6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 2px;
  color: #000;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-bottom .info h3 {
    font-size: 14px;
  }
}
#works .work .work-list .recruit-bottom .info .station-list {
  font-size: 13px;
}
#works .work .work-list .recruit-bottom .info .tag-list {
  margin-top: 4px;
}
#works .work .work-list .recruit-bottom .info .tag-list a {
  font-size: 10px;
}
@media screen and (max-width: 767px) {
  #works .work .work-list .recruit-bottom .info .tag-list a {
    font-size: 9px;
  }
}

/*----------求人ページ----------*/
#work .work {
  padding: 60px 0 60px;
}
@media screen and (max-width: 767px) {
  #work .work {
    padding: 30px 0 30px;
    margin: 0 -20px;
  }
}
#work .work .main-img {
  position: relative;
}
@media screen and (max-width: 768px) {
  #work .work .main-img {
    margin: 0 -20px;
  }
}
#work .work .main-img figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  #work .work .main-img figure {
    border-radius: 0;
  }
}
#work .work .main-img figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), color-stop(15%, rgba(0, 0, 0, 0.4)), color-stop(25%, rgba(0, 0, 0, 0.3)), color-stop(35%, rgba(0, 0, 0, 0.2)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(45%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  background: linear-gradient(to left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  z-index: 2;
  pointer-events: none;
  border-radius: 0 30px 30px 0;
}
@media screen and (max-width: 768px) {
  #work .work .main-img figure::before {
    display: none;
  }
}
#work .work .main-img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#work .work .main-img .txt {
  position: absolute;
  z-index: 2;
  right: 50px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-width: 330px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #work .work .main-img .txt {
    background: #333;
    border-radius: 10px;
    position: inherit;
    right: -50%;
    top: -40px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 90%;
    padding: 20px;
    font-size: 12px;
    margin-bottom: -40px;
  }
}
#work .work .main-img .txt .title {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.6;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #work .work .main-img .txt .title {
    font-size: 18px;
    background-size: 16px;
  }
}
#work .requirements {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  #work .requirements {
    margin-bottom: 30px;
  }
}
#work .atmosphere {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  #work .atmosphere {
    margin-bottom: 30px;
  }
}
#work .atmosphere .items {
  gap: 40px;
}
@media screen and (max-width: 768px) {
  #work .atmosphere .items {
    grid-template-columns: auto;
    gap: 20px;
  }
}
#work .atmosphere .items .item .img {
  overflow: hidden;
  aspect-ratio: 3/2;
  border-radius: 30px;
}
#work .atmosphere .items .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#work .atmosphere .items .item .txt {
  margin-top: 10px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #work .atmosphere .items .item .txt {
    font-size: 14px;
  }
}
#work .movie {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #work .movie {
    margin-bottom: 50px;
  }
}
#work .movie iframe {
  border-radius: 30px;
}
#work .movie + .apply-btn {
  margin-top: -40px;
}
@media screen and (max-width: 768px) {
  #work .movie + .apply-btn {
    margin-top: -20px !important;
  }
}
#work .apply-btn {
  margin-top: -20px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #work .apply-btn {
    margin-bottom: 50px;
    margin-top: 0 !important;
  }
}

/*----------クーポンー一覧ページ----------*/
#coupons .coupon {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #coupons .coupon {
    padding: 40px 0;
  }
}
#coupons .coupon {
  /* 一覧 */
}
#coupons .coupon-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px 30px;
}
@media screen and (max-width: 767px) {
  #coupons .coupon-list {
    gap: 20px 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
#coupons .coupon-list li a {
  color: #262626;
}
#coupons .coupon-list li a figure {
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  margin-bottom: 0;
  border-radius: 20px;
}
#coupons .coupon-list li a figure .main-category {
  padding-left: 12px;
}
#coupons .coupon-list li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#coupons .coupon-list li a article h3 {
  line-height: 1.6;
  padding-top: 8px;
  color: #262626;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #coupons .coupon-list li a article h3 {
    font-size: 14px;
  }
}
#coupons .coupon-list li a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #coupons .coupon-list li a article p {
    font-size: 12px;
  }
}
#coupons .coupon-list li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*----------クーポンページ----------*/
.coupon {
  padding: 60px 0 80px;
}
@media screen and (max-width: 767px) {
  .coupon {
    padding: 30px 0 50px;
  }
}
.coupon .coupon-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  background: var(--color-sub);
  padding: 25px;
  position: relative;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item {
    padding: 15px;
  }
}
.coupon .coupon-item:not(:first-of-type) {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item:not(:first-of-type) {
    margin-top: 30px;
  }
}
.coupon .coupon-item .coupon-img {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 30px;
  width: 225px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .coupon-img {
    width: 85px;
    min-width: 85px;
    border-radius: 20px;
  }
}
.coupon .coupon-item .coupon-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.coupon .coupon-item .coupon-content {
  padding-left: 25px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .coupon-content {
    padding-left: 0;
  }
}
.coupon .coupon-item .coupon-content .label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-right: 100px;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .coupon-content .label {
    margin-bottom: 5px;
    gap: 5px;
    margin-right: 0;
  }
}
.coupon .coupon-item .coupon-content .label span {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: inline-block;
  background: var(--color-main);
  color: #fff;
  font-size: 13px;
  padding: 1px 10px 2px;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .coupon-content .label span {
    font-size: 11px;
    padding: 1px 5px 1px;
  }
}
.coupon .coupon-item .coupon-content h3 {
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 8px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-right: 100px;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .coupon-content h3 {
    font-size: 16px;
    margin-bottom: 0;
    margin-right: 0;
  }
}
.coupon .coupon-item .coupon-content p {
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .coupon-content p {
    font-size: 14px;
  }
}
.coupon .coupon-item .coupon-off {
  position: absolute;
  top: 25px;
  right: 30px;
  color: #E73D58;
  font-size: 22px;
  font-weight: bold;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .coupon-off {
    position: static;
    text-align: right;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .sp-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 15px;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  .coupon .coupon-item .sp-flex .txt {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.coupon .note {
  font-size: 13px;
  line-height: 1.8;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .coupon .note {
    font-size: 12px;
  }
}
.coupon .btn02 {
  margin-top: 10px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .coupon .btn02 {
    margin-top: 15px;
    margin-bottom: 0px;
  }
}
.coupon .attention {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .coupon .attention {
    margin-top: 20px;
  }
}
.coupon .attention h4 {
  font-weight: bold;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  color: #E73D58;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .coupon .attention h4 {
    font-size: 16px;
  }
}
.coupon .attention p {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .coupon .attention p {
    font-size: 14px;
  }
}

/*----------レコメンド一覧ページ----------*/
#recommends .recommend {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #recommends .recommend {
    padding: 40px 0 50px;
  }
}
#recommends .recommend {
  /* 一覧 */
}
#recommends .recommend-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 30px;
}
@media screen and (max-width: 767px) {
  #recommends .recommend-list {
    gap: 20px 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
#recommends .recommend-list li a {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 5px #b4b4b4;
          box-shadow: 0 0 5px #b4b4b4;
  color: #262626;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #recommends .recommend-list li a {
    -webkit-box-shadow: 0 0 3px #b4b4b4;
            box-shadow: 0 0 3px #b4b4b4;
  }
}
#recommends .recommend-list li a article {
  padding: 15px 20px 20px;
}
@media screen and (max-width: 767px) {
  #recommends .recommend-list li a article {
    padding: 10px 15px 15px;
  }
}
#recommends .recommend-list li a article h3 {
  line-height: 1.6;
  font-size: 17px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #recommends .recommend-list li a article h3 {
    font-size: 14px;
  }
}
#recommends .recommend-list li a article p {
  font-size: 14px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #recommends .recommend-list li a article p {
    font-size: 12px;
  }
}
#recommends .recommend-list li a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
}
#recommends .recommend-list li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#recommends .recommend-list li a figure .point {
  display: block;
  font-style: normal;
  border-radius: 200px;
  background-color: #E73D58;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  position: absolute;
  top: 15px;
  right: 15px;
  width: 46px;
  height: 46px;
  line-height: 42px;
  color: #fff;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 10;
  font-size: 26px;
  padding-right: 0.4em;
}
@media screen and (max-width: 767px) {
  #recommends .recommend-list li a figure .point {
    font-size: 18px;
    width: 32px;
    height: 32px;
    line-height: 30px;
    top: 10px;
    right: 10px;
  }
}
#recommends .recommend-list li a figure .point::after {
  content: "人";
  font-size: 10px;
  font-weight: 400;
  position: absolute;
  top: 5px;
  right: 5px;
}
@media screen and (max-width: 767px) {
  #recommends .recommend-list li a figure .point::after {
    font-size: 9px;
  }
}
#recommends .recommend-list li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*----------レコメンドページ----------*/
#recommend .recommend {
  padding: 60px 0 60px;
}
@media screen and (max-width: 767px) {
  #recommend .recommend {
    padding: 30px 0 30px;
    margin: 0 -20px;
  }
}
#recommend .recommend .main-img {
  position: relative;
}
@media screen and (max-width: 768px) {
  #recommend .recommend .main-img {
    margin: 0 -20px;
  }
}
#recommend .recommend .main-img figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  #recommend .recommend .main-img figure {
    border-radius: 0;
  }
}
#recommend .recommend .main-img figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), color-stop(15%, rgba(0, 0, 0, 0.4)), color-stop(25%, rgba(0, 0, 0, 0.3)), color-stop(35%, rgba(0, 0, 0, 0.2)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(45%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  background: linear-gradient(to left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  z-index: 2;
  pointer-events: none;
  border-radius: 0 30px 30px 0;
}
@media screen and (max-width: 768px) {
  #recommend .recommend .main-img figure::before {
    display: none;
  }
}
#recommend .recommend .main-img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#recommend .recommend .main-img .txt {
  position: absolute;
  z-index: 2;
  right: 50px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-width: 330px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #recommend .recommend .main-img .txt {
    background: #333;
    border-radius: 10px;
    position: inherit;
    right: -50%;
    top: -40px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 90%;
    padding: 20px;
    font-size: 12px;
    margin-bottom: -40px;
  }
}
#recommend .recommend .main-img .txt .title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.6;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 767px) {
  #recommend .recommend .main-img .txt .title {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
#recommend .recommend .main-img .txt .number {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px;
  margin-bottom: 20px;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 767px) {
  #recommend .recommend .main-img .txt .number {
    margin-bottom: 15px;
  }
}
#recommend .recommend .main-img .txt .num {
  font-size: 64px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #recommend .recommend .main-img .txt .num {
    font-size: 40px;
  }
}
#recommend .recommend .main-img .txt .unit {
  font-size: 18px;
  margin-bottom: -5px;
}
#recommend .recommend .main-img .txt .line {
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  #recommend .recommend .main-img .txt .line {
    margin: 15px 0;
  }
}
#recommend .recommend .main-img .txt .clinic {
  font-size: 18px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1.6;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #recommend .recommend .main-img .txt .clinic {
    font-size: 12px;
  }
}
#recommend .recommend .main-img .txt .name {
  font-size: 23px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #recommend .recommend .main-img .txt .name {
    font-size: 18px;
  }
}
#recommend .recommend-list {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list {
    margin-bottom: 40px;
  }
}
#recommend .recommend-list .list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list .list {
    gap: 30px;
  }
}
#recommend .recommend-list .item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  background: var(--color-sub);
  border-radius: 30px;
  padding: 30px;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list .item {
    padding: 20px;
  }
}
#recommend .recommend-list .image {
  aspect-ratio: 3/2;
  overflow: hidden;
  border-radius: 30px;
  width: 340px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
#recommend .recommend-list .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#recommend .recommend-list .content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#recommend .recommend-list {
  /* 吹き出し */
}
#recommend .recommend-list .balloon {
  position: relative;
  background: rgba(255, 255, 255, 0.8156862745);
  padding: 16px 20px;
  border-radius: 10px;
  margin-bottom: 12px;
  line-height: 1.8;
  display: block;
  color: #000;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list .balloon {
    margin-bottom: 20px;
  }
}
#recommend .recommend-list .name {
  display: block;
  font-weight: bold;
  font-size: 19px;
  color: #000;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list .name {
    font-size: 15px;
  }
}
#recommend .recommend-list .clinic {
  display: block;
  color: #000;
  font-weight: 500;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list .clinic {
    font-size: 13px;
  }
}
#recommend .recommend-list .station-list {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list .station-list {
    font-size: 12px;
  }
}
#recommend .recommend-list .tag-list a {
  font-size: 11px;
}
@media screen and (max-width: 767px) {
  #recommend .recommend-list .tag-list a {
    font-size: 10px;
  }
}
#recommend .recommend-list .sp-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#recommend .recommend-list .sp-flex .image {
  width: 120px;
  border-radius: 10px;
  margin-right: 10px;
}
#recommend .recommend-list .sp-flex .image + div {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/*----------特集一覧ページ----------*/
#features .features {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #features .features {
    padding: 40px 0;
  }
}

/*----------特集ページ----------*/
#feature .feature {
  padding: 60px 0 100px;
}
@media screen and (max-width: 767px) {
  #feature .feature {
    padding: 30px 0 50px;
  }
}
#feature .feature .main-img {
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #feature .feature .main-img {
    margin-bottom: 60px;
  }
}
#feature .feature .main-img::before {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -50px;
  width: 100vw;
  height: calc(50% + 50px);
  background: #F1F1F1;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #feature .feature .main-img::before {
    bottom: -30px;
    height: 90%;
  }
}
#feature .feature .main-img figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 2/1;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  #feature .feature .main-img figure {
    aspect-ratio: 16/9;
    margin-bottom: 20px;
  }
}
#feature .feature .main-img figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), color-stop(15%, rgba(0, 0, 0, 0.4)), color-stop(25%, rgba(0, 0, 0, 0.3)), color-stop(35%, rgba(0, 0, 0, 0.2)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(45%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  z-index: 2;
  pointer-events: none;
  border-radius: 0 0 30px 30px;
}
@media screen and (max-width: 767px) {
  #feature .feature .main-img figure::before {
    display: none;
  }
}
#feature .feature .main-img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#feature .feature .main-img .txt {
  position: absolute;
  z-index: 2;
  left: 50px;
  right: 50px;
  bottom: 50px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #feature .feature .main-img .txt {
    position: inherit;
    color: #000;
    left: 0;
    bottom: 0;
  }
}
#feature .feature .main-img .txt h3 {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 36px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #feature .feature .main-img .txt h3 {
    font-size: 22px;
  }
}
#feature .feature .main-img .txt .tag-list {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  #feature .feature .main-img .txt .tag-list {
    font-size: 12px;
  }
}
#feature .feature .container .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
#feature .feature .container .content .main {
  width: 69%;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main {
    width: 100%;
  }
}
#feature .feature .container .content .main .ttl01:first-of-type {
  margin-top: 0;
}
#feature .feature .container .content .main figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main figure {
    margin: 20px 0;
  }
}
#feature .feature .container .content .main figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#feature .feature .container .content .main .feature__slider {
  position: relative;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider {
    margin-top: 20px;
  }
}
#feature .feature .container .content .main .feature__slider > div {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 30px;
}
#feature .feature .container .content .main .feature__slider > div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#feature .feature .container .content .main .feature__slider .slick-dots {
  bottom: -35px;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider .slick-dots {
    bottom: -25px;
  }
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider .slick-dots li {
    margin: 0;
  }
}
#feature .feature .container .content .main .feature__slider li button:before {
  font-size: 12px;
  color: #d5d5d5;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider li button:before {
    font-size: 6px;
  }
}
#feature .feature .container .content .main .feature__slider li.slick-active button:before {
  color: var(--color-main);
}
#feature .feature .container .content .main .feature__slider .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
#feature .feature .container .content .main .feature__slider .custom-arrow .next,
#feature .feature .container .content .main .feature__slider .custom-arrow .prev {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
#feature .feature .container .content .main .feature__slider .custom-arrow {
  /* ＞ */
}
#feature .feature .container .content .main .feature__slider .custom-arrow .next::before {
  content: "";
  width: 26px;
  height: 26px;
  border-top: 3px solid var(--color-main);
  border-right: 3px solid var(--color-main);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#feature .feature .container .content .main .feature__slider .custom-arrow {
  /* ＜ */
}
#feature .feature .container .content .main .feature__slider .custom-arrow .prev::before {
  content: "";
  width: 26px;
  height: 26px;
  border-top: 3px solid var(--color-main);
  border-left: 3px solid var(--color-main);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider .custom-arrow .next::before,
  #feature .feature .container .content .main .feature__slider .custom-arrow .prev::before {
    width: 12px;
    height: 12px;
  }
}
#feature .feature .container .content .main .feature__slider .slick-prev {
  left: 20px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider .slick-prev {
    left: 10px;
  }
}
#feature .feature .container .content .main .feature__slider .slick-prev:hover {
  opacity: 0.7;
}
#feature .feature .container .content .main .feature__slider .slick-next {
  right: 20px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .main .feature__slider .slick-next {
    right: 10px;
  }
}
#feature .feature .container .content .main .feature__slider .slick-next:hover {
  opacity: 0.7;
}
#feature .feature .container .content .main .feature__slider .slick-prev:before,
#feature .feature .container .content .main .feature__slider .slick-next:before {
  content: none;
}
#feature .feature .container .content .sidebar {
  width: 31%;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .sidebar {
    width: 100%;
  }
}
#feature .feature .container .content .sidebar .sidebar-section {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .sidebar .sidebar-section {
    margin-bottom: 30px;
  }
}
#feature .feature .container .content .sidebar .sidebar-section:last-of-type {
  margin-bottom: 0;
}
#feature .feature .container .content .sidebar .sidebar-label {
  font-size: 14px;
  font-weight: bold;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .sidebar .sidebar-label {
    font-size: 12px;
  }
}
#feature .feature .container .content .sidebar .sidebar-title {
  font-size: 26px;
  letter-spacing: 2px;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 1px solid #DFDFDF;
  font-family: "futura-pt", sans-serif;
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .sidebar .sidebar-title {
    font-size: 22px;
  }
}
#feature .feature .container .content .sidebar .article-list .article-item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  padding: 13px 0;
  border-bottom: 1px solid #DFDFDF;
  position: relative;
  color: #000;
}
#feature .feature .container .content .sidebar .article-list .article-item a figure {
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  margin-bottom: 0;
  width: 85px;
  border-radius: 10px;
}
#feature .feature .container .content .sidebar .article-list .article-item a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#feature .feature .container .content .sidebar .article-list .article-item a .article-content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#feature .feature .container .content .sidebar .article-list .article-item a .article-content .article-text {
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .sidebar .article-list .article-item a .article-content .article-text {
    font-size: 13px;
  }
}
#feature .feature .container .content .sidebar .article-list .article-item a .article-content .article-tags {
  font-size: 12px;
  color: var(--color-main);
}
#feature .feature .container .content .sidebar .article-list .article-item a .article-num {
  font-size: 35px;
  color: var(--color-main);
  opacity: 0.2;
  font-weight: bold;
  position: absolute;
  right: 5px;
  bottom: 0;
  line-height: 1.4;
  font-weight: bold;
  font-family: "futura-pt", sans-serif;
}
#feature .feature .container .content .sidebar .article-list .article-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
#feature .feature .container .content .sidebar .tag-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 6px;
  border-bottom: 1px solid #DFDFDF;
  padding: 13px 0;
}
#feature .feature .container .content .sidebar .tag-list a {
  font-size: 14px;
  color: var(--color-main);
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #feature .feature .container .content .sidebar .tag-list a {
    font-size: 13px;
  }
}
#feature .feature .container .content .sidebar .tag-list a:hover {
  opacity: 0.7;
}

/*----------イベント一覧ページ----------*/
#events .events {
  padding: 100px 0;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  #events .events {
    padding: 40px 0;
  }
}

/*----------イベントページ----------*/
#event .event {
  padding: 60px 0 100px;
}
@media screen and (max-width: 767px) {
  #event .event {
    padding: 30px 0 50px;
  }
}
#event .event .main-img {
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #event .event .main-img {
    margin-bottom: 60px;
  }
}
#event .event .main-img::before {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -50px;
  width: 100vw;
  height: calc(50% + 50px);
  background: #F1F1F1;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #event .event .main-img::before {
    bottom: -30px;
    height: 90%;
  }
}
#event .event .main-img figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 2/1;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  #event .event .main-img figure {
    aspect-ratio: 16/9;
    margin-bottom: 20px;
  }
}
#event .event .main-img figure::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), color-stop(15%, rgba(0, 0, 0, 0.4)), color-stop(25%, rgba(0, 0, 0, 0.3)), color-stop(35%, rgba(0, 0, 0, 0.2)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(45%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 15%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 45%);
  z-index: 2;
  pointer-events: none;
  border-radius: 0 0 30px 30px;
}
@media screen and (max-width: 767px) {
  #event .event .main-img figure::before {
    display: none;
  }
}
#event .event .main-img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#event .event .main-img .txt {
  position: absolute;
  z-index: 2;
  left: 50px;
  right: 50px;
  bottom: 50px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #event .event .main-img .txt {
    position: inherit;
    color: #000;
    left: 0;
    bottom: 0;
  }
}
#event .event .main-img .txt h3 {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 36px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #event .event .main-img .txt h3 {
    font-size: 22px;
  }
}
#event .event .main-img .txt .info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  #event .event .main-img .txt .info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    margin-top: 10px;
  }
}
#event .event .main-img .txt .info i {
  margin-right: 7px;
}
@media screen and (max-width: 767px) {
  #event .event .main-img .txt .info .station-list .fas {
    color: var(--color-main);
  }
}
@media screen and (max-width: 767px) {
  #event .event .main-img .txt .info .station-list .station {
    color: var(--color-main);
  }
}
@media screen and (max-width: 767px) {
  #event .event .main-img .txt .info .station-list .station:not(:last-child)::after {
    color: var(--color-main);
  }
}
#event .event .container .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  #event .event .container .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
#event .event .container .content .main {
  width: 69%;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main {
    width: 100%;
  }
}
#event .event .container .content .main .ttl01:first-of-type {
  margin-top: 0;
}
#event .event .container .content .main figure {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-radius: 30px;
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main figure {
    margin: 20px 0;
  }
}
#event .event .container .content .main figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#event .event .container .content .main .feature__slider {
  position: relative;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider {
    margin-top: 20px;
  }
}
#event .event .container .content .main .feature__slider > div {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 30px;
}
#event .event .container .content .main .feature__slider > div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#event .event .container .content .main .feature__slider .slick-dots {
  bottom: -35px;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider .slick-dots {
    bottom: -25px;
  }
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider .slick-dots li {
    margin: 0;
  }
}
#event .event .container .content .main .feature__slider li button:before {
  font-size: 12px;
  color: #d5d5d5;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider li button:before {
    font-size: 6px;
  }
}
#event .event .container .content .main .feature__slider li.slick-active button:before {
  color: var(--color-main);
}
#event .event .container .content .main .feature__slider .custom-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider .custom-arrow {
    width: 28px;
    height: 28px;
  }
}
#event .event .container .content .main .feature__slider .custom-arrow .next,
#event .event .container .content .main .feature__slider .custom-arrow .prev {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
#event .event .container .content .main .feature__slider .custom-arrow {
  /* ＞ */
}
#event .event .container .content .main .feature__slider .custom-arrow .next::before {
  content: "";
  width: 26px;
  height: 26px;
  border-top: 3px solid var(--color-main);
  border-right: 3px solid var(--color-main);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#event .event .container .content .main .feature__slider .custom-arrow {
  /* ＜ */
}
#event .event .container .content .main .feature__slider .custom-arrow .prev::before {
  content: "";
  width: 26px;
  height: 26px;
  border-top: 3px solid var(--color-main);
  border-left: 3px solid var(--color-main);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider .custom-arrow .next::before,
  #event .event .container .content .main .feature__slider .custom-arrow .prev::before {
    width: 12px;
    height: 12px;
  }
}
#event .event .container .content .main .feature__slider .slick-prev {
  left: 20px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider .slick-prev {
    left: 10px;
  }
}
#event .event .container .content .main .feature__slider .slick-prev:hover {
  opacity: 0.7;
}
#event .event .container .content .main .feature__slider .slick-next {
  right: 20px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .main .feature__slider .slick-next {
    right: 10px;
  }
}
#event .event .container .content .main .feature__slider .slick-next:hover {
  opacity: 0.7;
}
#event .event .container .content .main .feature__slider .slick-prev:before,
#event .event .container .content .main .feature__slider .slick-next:before {
  content: none;
}
#event .event .container .content .sidebar {
  width: 31%;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .sidebar {
    width: 100%;
  }
}
#event .event .container .content .sidebar .sidebar-section {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .sidebar .sidebar-section {
    margin-bottom: 30px;
  }
}
#event .event .container .content .sidebar .sidebar-section:last-of-type {
  margin-bottom: 0;
}
#event .event .container .content .sidebar .sidebar-label {
  font-size: 14px;
  font-weight: bold;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .sidebar .sidebar-label {
    font-size: 12px;
  }
}
#event .event .container .content .sidebar .sidebar-title {
  font-size: 26px;
  letter-spacing: 2px;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 1px solid #DFDFDF;
  font-family: "futura-pt", sans-serif;
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .sidebar .sidebar-title {
    font-size: 22px;
  }
}
#event .event .container .content .sidebar .article-list .article-item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  padding: 13px 0;
  border-bottom: 1px solid #DFDFDF;
  position: relative;
  color: #000;
}
#event .event .container .content .sidebar .article-list .article-item a figure {
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  margin-bottom: 0;
  width: 85px;
  border-radius: 10px;
}
#event .event .container .content .sidebar .article-list .article-item a figure label {
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--color-main);
  color: #fff;
  font-size: 10px;
  border-radius: 0 10px 0 10px;
  padding: 0 5px 2px;
}
#event .event .container .content .sidebar .article-list .article-item a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#event .event .container .content .sidebar .article-list .article-item a .article-content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#event .event .container .content .sidebar .article-list .article-item a .article-content .article-text {
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .sidebar .article-list .article-item a .article-content .article-text {
    font-size: 13px;
  }
}
#event .event .container .content .sidebar .article-list .article-item a .article-content .article-station {
  font-size: 12px;
  color: var(--color-main);
}
#event .event .container .content .sidebar .article-list .article-item a .article-num {
  font-size: 35px;
  color: var(--color-main);
  opacity: 0.2;
  font-weight: bold;
  position: absolute;
  right: 5px;
  bottom: 0;
  line-height: 1.4;
  font-weight: bold;
  font-family: "futura-pt", sans-serif;
}
#event .event .container .content .sidebar .article-list .article-item a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
#event .event .container .content .sidebar .tag-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 6px;
  border-bottom: 1px solid #DFDFDF;
  padding: 13px 0;
}
#event .event .container .content .sidebar .tag-list a {
  font-size: 14px;
  color: var(--color-main);
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #event .event .container .content .sidebar .tag-list a {
    font-size: 13px;
  }
}
#event .event .container .content .sidebar .tag-list a:hover {
  opacity: 0.7;
}
#event #others-list {
  padding: 60px 0 70px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  #event #others-list {
    padding: 40px 0 50px;
  }
}
#event #others-list ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media screen and (max-width: 768px) {
  #event #others-list ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
#event #others-list ul li {
  position: relative;
}
#event #others-list ul li a {
  display: block;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 5px #b4b4b4;
          box-shadow: 0 0 5px #b4b4b4;
  color: #262626;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #event #others-list ul li a {
    -webkit-box-shadow: 0 0 3px #b4b4b4;
            box-shadow: 0 0 3px #b4b4b4;
  }
}
#event #others-list ul li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
#event #others-list ul li figure {
  overflow: hidden;
  aspect-ratio: 3/2;
  position: relative;
  margin-bottom: 0;
}
#event #others-list ul li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
#event #others-list ul li figure .date {
  font-size: 12px;
  background: var(--color-main);
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  padding: 2px 7px;
  border-radius: 0 10px 0 0;
}
@media screen and (max-width: 768px) {
  #event #others-list ul li figure .date {
    font-size: 10px;
    padding-top: 0;
  }
}
#event #others-list ul li article {
  padding: 10px 20px 20px;
}
@media screen and (max-width: 767px) {
  #event #others-list ul li article {
    padding: 10px 15px 15px;
  }
}
#event #others-list ul li h3 {
  font-size: 16px;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #000;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  #event #others-list ul li h3 {
    font-size: 13px;
  }
}
#event #others-list ul li .info {
  font-size: 14px;
  color: var(--color-main);
}
@media screen and (max-width: 768px) {
  #event #others-list ul li .info {
    font-size: 12px;
  }
}
#event #others-list ul li .info i {
  margin-right: 7px;
}

/*----------共通インフォメーション----------*/
.info .info-well {
  border: 9px solid #DADADA;
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
  /* ===== ヘッダー ===== */
}
.info .info-well .store-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  background: #f1f1f1;
  padding: 14px 20px 18px;
}
@media screen and (max-width: 768px) {
  .info .info-well .store-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
.info .info-well .store-header .store-name {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  margin-right: 15px;
  margin-left: 15px;
}
@media screen and (max-width: 768px) {
  .info .info-well .store-header .store-name {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .info .info-well .store-header .store-name {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .info .info-well .store-header .store-category {
    margin-bottom: 2px;
  }
}
.info .info-well .store-header .store-category a:hover {
  opacity: 0.8;
}
.info .info-well .store-header .store-category span {
  display: inline-block;
  background: var(--color-main);
  color: #fff;
  padding: 0px 8px 2px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}
@media screen and (max-width: 768px) {
  .info .info-well .store-header .store-category span {
    font-size: 10px;
    padding: 0px 8px;
  }
}
.info .info-well {
  /* ===== table本体 ===== */
}
.info .info-well .info-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-bottom: 1px solid #D9D9D9;
}
.info .info-well .info-table th,
.info .info-well .info-table td {
  padding: 8px 15px 10px;
  border-bottom: 1px solid #D9D9D9;
  text-align: left;
  vertical-align: middle;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table th,
  .info .info-well .info-table td {
    padding: 10px 12px;
  }
}
.info .info-well .info-table th {
  width: 140px;
  padding-left: 35px;
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .info .info-well .info-table th {
    padding-left: 12px;
    padding-right: 0;
    min-width: 80px;
    width: 80px;
  }
}
.info .info-well .info-table td a {
  word-break: break-all;
}
.info .info-well .info-table td .tel {
  font-size: 24px;
  color: #0A67B4;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table td .tel {
    font-size: 18px;
  }
}
.info .info-well .info-table td .tel:hover {
  opacity: 0.8;
}
.info .info-well .info-table td.treatment {
  line-height: 2;
}
.info .info-well .info-table td.treatment a {
  margin-right: 6px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table td.treatment a {
    margin-right: 2px;
  }
}
.info .info-well .info-table td.treatment a:hover {
  opacity: 0.8;
}
.info .info-well .info-table td.treatment span {
  display: inline-block;
  background: var(--color-main);
  color: #fff;
  padding: 0px 12px 3px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  border-radius: 6px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table td.treatment span {
    font-size: 12px;
    padding: 1px 12px 1px;
  }
}
.info .info-well .info-table td .rest {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table td .rest {
    margin-left: 10px;
  }
}
.info .info-well .info-table {
  /* ヘッダー行 */
}
.info .info-well .info-table .head th {
  padding: 0;
  border-bottom: none;
  background: none;
}
.info .info-well .info-table {
  /* ===== 画像 ===== */
}
.info .info-well .info-table .pic {
  width: 380px;
  padding: 20px;
  vertical-align: middle;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  border-left: 1px solid #D9D9D9;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .info .info-well .info-table .pic {
    width: 280px;
  }
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table .pic {
    width: 100%;
  }
}
.info .info-well .info-table .pic img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
  display: block;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table .pic-sp {
    display: contents !important;
  }
}
.info .info-well .info-table {
  /* ===== SNS ===== */
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table .store-sns {
    margin-top: 3px;
  }
}
.info .info-well .info-table .store-sns a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 34px;
  height: 34px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  margin-right: 4px;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table .store-sns a {
    width: 28px;
    height: 28px;
    margin-right: 2px;
  }
}
.info .info-well .info-table .store-sns a:hover {
  opacity: 0.8;
}
.info .info-well .info-table .store-sns a img {
  width: 20px;
}
@media screen and (max-width: 768px) {
  .info .info-well .info-table .store-sns a img {
    width: 15px;
  }
}
.info .info-well .info-table .store-sns a.x {
  background: #000;
}
.info .info-well .info-table .store-sns a.line {
  background: #00b900;
}
.info .info-well .info-table .store-sns a.insta {
  background: -webkit-linear-gradient(225deg, #4c64d3, #cf2e92, #f26939, #ffdd83);
  background: linear-gradient(-135deg, #4c64d3, #cf2e92, #f26939, #ffdd83);
}
.info .info-well .info-table .store-sns a.fb {
  background: #3b5998;
}
.info .info-well .info-table .store-sns a.youtube {
  background: red;
}
.info .info-well .info-table .store-sns a.threads {
  background: #000;
}
.info .info-well .info-table {
  /* 最後のボーダー消す */
}
.info .info-well .info-table tr:last-child th,
.info .info-well .info-table tr:last-child td {
  border-bottom: none;
}
.info .info-well {
  /* ===== タブ（そのまま） ===== */
}
.info .info-well .store-btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  margin: 20px 35px;
}
@media screen and (max-width: 768px) {
  .info .info-well .store-btns {
    gap: 5px;
    margin: 12px;
  }
}
.info .info-well .store-btns a {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  padding: 10px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 8px;
  border: none;
  background: #EAEEF7;
  color: #a6a7ac;
  font-size: 16px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  letter-spacing: 0;
  pointer-events: none;
}
/* iPad 横向き(〜1366px)も 5 列で折返す。1100px 境界だと iPad Pro/Air 横(1180〜1366)が
   基底 flex:1 の 1 行に潰れ、ボタンが崩れて Web予約 が右にはみ出す。 */
@media screen and (max-width: 1366px) {
  .info .info-well .store-btns a {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc((100% - 40px) / 5);
        -ms-flex: 0 0 calc((100% - 40px) / 5);
            flex: 0 0 calc((100% - 40px) / 5);
  }
}
@media screen and (max-width: 768px) {
  .info .info-well .store-btns a {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc((100% - 10px) / 3);
        -ms-flex: 0 0 calc((100% - 10px) / 3);
            flex: 0 0 calc((100% - 10px) / 3);
    font-size: 12px;
    padding: 5px 0;
  }
}
.info .info-well .store-btns a.is-active {
  background: var(--color-main);
  color: #fff;
  pointer-events: auto;
}
.info .info-well .store-btns a.is-active:hover {
  opacity: 0.8;
}

.info-type1 {
  padding: 60px 0 290px;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .info-type1 {
    padding: 40px 0 155px;
  }
}
.info-type1 .info-table .ttl02 {
  background: #f1f1f1;
  padding: 14px 20px 18px;
  margin-bottom: 0;
}
.info-type1 .doctor-well h4 {
  margin-bottom: 10px;
}
.info-type1 .doctor-well .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .info-type1 .doctor-well .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.info-type1 .doctor-well .content .img {
  overflow: hidden;
  height: 160px;
  width: 160px;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .info-type1 .doctor-well .content .img {
    height: 140px;
    width: 140px;
  }
}
.info-type1 .doctor-well .content .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.info-type1 .doctor-well .content .txt {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.info-map iframe {
  width: 100%;
  height: 500px;
  margin-top: -250px;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .info-map iframe {
    height: 250px;
    margin-top: -125px;
  }
}

.info-type2 {
  padding: 60px 0 70px;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .info-type2 {
    padding: 40px 0 50px;
  }
}

/*----------検索----------*/
.store-search-box {
  padding: 30px 0;
}
@media screen and (max-width: 1100px) {
  .store-search-box {
    padding: 12px 0 20px;
  }
}
.store-search-box .c-search {
  display: grid;
  grid-template-columns: 180px 180px 180px 1fr 120px;
  gap: 25px;
}
.store-search-box .c-search__select, .store-search-box .c-search__input, .store-search-box .c-search__submit {
  height: 45px;
}
@media screen and (max-width: 1100px) {
  .store-search-box .c-search__select, .store-search-box .c-search__input, .store-search-box .c-search__submit {
    height: 35px;
  }
}
.store-search-box .c-search__select {
  position: relative;
}
.store-search-box .c-search__select::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #000000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1100px) {
  .store-search-box .c-search__select::before {
    right: 0;
  }
}
.store-search-box .c-search select,
.store-search-box .c-search input {
  width: 100%;
  height: 100%;
  padding: 0 30px 5px 0;
  border: none;
  border-bottom: 1px solid #000000;
  background: transparent;
  font-size: 16px;
  outline: none;
  color: #000;
}
@media screen and (max-width: 1100px) {
  .store-search-box .c-search select,
  .store-search-box .c-search input {
    font-size: 13px;
    padding: 0 15px 5px 0;
  }
}
.store-search-box .c-search button {
  width: 100%;
  height: 100%;
  background: var(--color-main);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 16px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 10px;
}
@media screen and (max-width: 1100px) {
  .store-search-box .c-search button {
    font-size: 13px;
    border-radius: 8px;
  }
}
.store-search-box .c-search button img {
  width: 16px;
  height: 16px;
  vertical-align: sub;
  padding-right: 6px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 1100px) {
  .store-search-box .c-search button img {
    width: 14px;
    height: 14px;
    margin-bottom: 2px;
  }
}
.store-search-box .c-search button:hover {
  opacity: 0.9;
}
@media screen and (max-width: 1100px) {
  .store-search-box .c-search {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px 15px;
  }
  .store-search-box .c-search__input {
    grid-column: 1/3;
  }
  .store-search-box .c-search__submit {
    grid-column: 3/4;
  }
}

/*----------一覧ページ共通サポーター----------*/
.store-supporter {
  background: #333;
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  .store-supporter {
    padding: 25px 0;
  }
}
.store-supporter .ttl {
  font-size: 24px;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 2px;
  margin-bottom: 15px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .store-supporter .ttl {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.store-supporter .supporter__slider {
  margin: 0 -10px;
}
@media screen and (max-width: 767px) {
  .store-supporter .supporter__slider {
    margin: 0 -5px;
  }
}
.store-supporter .supporter__slider .slick-slide {
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .store-supporter .supporter__slider .slick-slide {
    padding: 0 5px;
  }
}
.store-supporter .store-list li a figure {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  margin-bottom: 0;
  border-radius: 15px;
}
.store-supporter .store-list li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 1s all ease-out;
  transition: 1s all ease-out;
}
.store-supporter .store-list li a article h3 {
  line-height: 1.7;
  padding-top: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .store-supporter .store-list li a article h3 {
    font-size: 12px;
  }
}
.store-supporter .store-list li a:hover figure img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/*----------一覧ページ共通ジャンルタブ----------*/
.store-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 30px;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .store-tabs {
    margin-bottom: 20px;
    gap: 5px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.store-tabs li {
  border: 2px solid #ccc;
  text-align: center;
  padding: 12px;
  background: #ffffff;
  font-weight: 600;
  cursor: pointer;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  .store-tabs li {
    font-size: 12px;
    padding: 5px 0px;
    border-radius: 5px;
  }
}
.store-tabs li.active {
  background: var(--color-main);
  color: #fff;
}
.store-tabs li:hover {
  background: var(--color-main);
  color: #fff;
}

/*============================================================================

  フッター

============================================================================*/
/*----------バナー----------*/
#bnrlist {
  padding: 45px 0;
  background-color: #d9d9d9;
}
@media screen and (max-width: 767px) {
  #bnrlist {
    padding: 10px 0;
  }
}
#bnrlist ul {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 9px;
}
@media screen and (max-width: 900px) {
  #bnrlist ul {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (max-width: 767px) {
  #bnrlist ul {
    display: block;
    margin: 0 -5px;
  }
}
@media screen and (max-width: 767px) {
  #bnrlist ul li {
    padding: 0 5px;
  }
}
#bnrlist ul li a {
  display: block;
}
#bnrlist ul li a:hover {
  opacity: 0.7;
}

/*----------フッター----------*/
.footer {
  background: #1A1A1A;
  color: #fff;
  padding: 70px 0 40px;
  font-size: 15px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 30px 0 20px;
    font-size: 13px;
  }
}
.footer::before {
  position: absolute;
  background: url(/asset/images/common/footer-logo.png);
  width: 590px;
  height: 590px;
  top: 60px;
  right: -20px;
  content: "";
  background-size: cover;
  opacity: 0.1;
  -webkit-animation: rotate 30s linear infinite;
          animation: rotate 30s linear infinite;
}
@media screen and (max-width: 900px) {
  .footer::before {
    width: 400px;
    height: 400px;
  }
}
@media screen and (max-width: 767px) {
  .footer::before {
    width: 230px;
    height: 230px;
    top: auto;
    bottom: 40px;
  }
}
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.footer .wrapper {
  position: relative;
  z-index: 1;
}

.footer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .footer__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .footer__area-col.max {
    grid-column: span 2;
  }
}

.footer__area {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .footer__area {
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 30px;
  }
}

.footer__area-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}
@media screen and (max-width: 1100px) {
  .footer__area-grid {
    gap: 10px;
  }
}

.footer__ttl {
  font-size: 18px;
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  letter-spacing: 2px;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ffffff;
}
@media screen and (max-width: 767px) {
  .footer__ttl {
    font-size: 16px;
    padding-bottom: 5px;
    margin-bottom: 10px;
  }
}

.footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer li {
  margin-bottom: 3px;
}
@media screen and (max-width: 767px) {
  .footer li {
    margin-bottom: 0;
  }
}

.footer__sub-list li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 3px;
}

.footer__sub-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
  height: 1px;
  background: #ccc;
}

.footer a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer a:hover {
  opacity: 0.7;
}

.footer a:hover {
  color: #fff;
}

.footer__bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.footer__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 -16px !important;
}
.footer__links li {
  position: relative;
  padding: 0 16px;
}
.footer__links li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 57%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 10px;
  /* 線の高さ調整 */
  background: #ccc;
  /* 線の色 */
}
.footer__links li a {
  font-size: 12px;
}

.footer__copy {
  font-size: 11px;
}
@media screen and (max-width: 767px) {
  .footer__copy {
    margin-top: 10px;
    font-size: 10px;
  }
}

/*----------店舗ページフッター固定ナビ----------*/
.footer-fixed {
  display: none;
}
@media screen and (max-width: 768px) {
  .footer-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    z-index: 999;
    -webkit-box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
    font-family: "fot-tsukuardgothic-std", sans-serif;
  }
}

/* 左エリア */
.footer-left {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 40%;
}

/* 共通 */
.nav-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  line-height: 1;
}

/* 小ボタン */
.nav-btn.small {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 14px;
  font-weight: bold;
  color: var(--color-main);
  gap: 4px;
  border-right: 1px solid #d7d7d7;
}

/* アイコン */
.icon {
  font-size: 18px;
}

/* 大ボタン（予約） */
.nav-btn.large {
  width: 60%;
  background: var(--color-main);
  color: #fff;
  font-size: 16px;
  gap: 8px;
  font-weight: bold;
}

/* グレーアウト */
.nav-btn.disabled {
  background: #ccc !important;
  color: #888 !important;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .low-store ~ footer {
    margin-bottom: 60px;
  }
}/*# sourceMappingURL=style.css.map */
/* 入稿 u-aspect ユーティリティ（sakae.css から移植・style.css に未定義だった分）。
   未定義のため access/詳細の地図 iframe などが高さを失い潰れていた不具合の修正。 */
.u-aspect--1_1 {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
}
.u-aspect--1_1:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.u-aspect--1_1 > *:first-child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
.u-aspect--1_1 > img:first-child {
  -o-object-fit: cover;
     object-fit: cover;
}
.u-aspect--3_2 {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
}
.u-aspect--3_2:before {
  content: "";
  display: block;
  padding-top: 66.6%;
}
.u-aspect--3_2 > *:first-child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
.u-aspect--3_2 > img:first-child {
  -o-object-fit: cover;
     object-fit: cover;
}
.u-aspect--4_3 {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
}
.u-aspect--4_3:before {
  content: "";
  display: block;
  padding-top: 75%;
}
.u-aspect--4_3 > *:first-child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
.u-aspect--4_3 > img:first-child {
  -o-object-fit: cover;
     object-fit: cover;
}
.u-aspect--16_9 {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
}
.u-aspect--16_9:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.u-aspect--16_9 > *:first-child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
.u-aspect--16_9 > img:first-child {
  -o-object-fit: cover;
     object-fit: cover;
}
.u-aspect--3_4 {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
}
.u-aspect--3_4:before {
  content: "";
  display: block;
  padding-top: 133.3%;
}
.u-aspect--3_4 > *:first-child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
.u-aspect--3_4 > img:first-child {
  -o-object-fit: cover;
     object-fit: cover;
}

/* bnrlist-sp-center-20260704 */
@media screen and (max-width: 767px){#bnrlist ul li{margin:12px 0;text-align:center;}}

/*----------インタビュー本文: 単独画像（回り込みテキスト無し）----------*/
/* formatInterviewContent が出力。u-clearfix + 空 .txt の float 崩れ回避のため
   旧サイト同様に全幅スタンドアロン表示にする */
#interview .interview .img-standalone {
  margin: 0 auto 60px;
  text-align: center;
}
#interview .interview .img-standalone img {
  max-width: 100%;
  height: auto;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  #interview .interview .img-standalone {
    margin-bottom: 30px;
  }
}
