html {
  height: 100%;
  overflow-y: scroll;
}

body {
  height: 100%;
  font: 14px/1.231 "Lato", YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.7;
  letter-spacing: 0.08em;
  *font-size: small;
  *font: x-small;
  color: #333;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

@media all and (-ms-high-contrast: none) {
  body {
    font-family: "メイリオ", Meiryo, "Lato", YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
      "ＭＳ Ｐゴシック", sans-serif;
  }
}

*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: bold;
}

p,
a,
th,
td,
dt,
dd,
label {
  font-size: 115%;
  line-height: 1.5em;
}

h1,
h2,
h3,
h4,
h5 {
  line-height: 1.5em;
}

ul,
ol {
  list-style: none;
}

small {
  font-size: 85%;
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  outline: none;
}

a:hover {
  text-decoration: none;
}

a:focus,
input:focus,
button:focus {
  outline: none;
}

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

@media screen and (max-width: 767px) {
  img {
    height: auto;
  }
}

.mgn-btm8 {
  margin-bottom: 8px;
}

.mgn-btm16 {
  margin-bottom: 16px;
}

.mgn-btm24 {
  margin-bottom: 24px;
}

.mgn-btm32 {
  margin-bottom: 32px;
}

.mgn-btm40 {
  margin-bottom: 40px;
}

.mgn-btm48 {
  margin-bottom: 48px;
}

.mgn-btm56 {
  margin-bottom: 56px;
}

.mgn-btm64 {
  margin-bottom: 64px;
}

.mgn-btm72 {
  margin-bottom: 72px;
}

.mgn-btm80 {
  margin-bottom: 80px;
}

.flt-rgt {
  float: right;
}

.flt-lft {
  float: left;
}

.txt-ctr,
.txt-ctr-pc {
  text-align: center;
}

.txt-rgt {
  text-align: right;
}

.c-red {
  color: #e60012;
}

.c-wht {
  color: #fff;
}

.c-lylw {
  color: #fef89a;
}

.bg-red {
  background: #e60012;
}

.bg-dred {
  background: #d0101b;
}

.bg-wht {
  background: #fff;
}

.bg-lble {
  background: #d4f0ff;
}

.bg-gry {
  background: #f8f8f8;
}

.bg-ylw-stripe {
  background: repeating-linear-gradient(-45deg, #ffe100, #ffe100 9px, #ffea4d 0%, #ffea4d 18px);
}

.bg-ble-stripe {
  background: repeating-linear-gradient(-45deg, #def4ff, #def4ff 9px, #effafe 0%, #effafe 18px);
}

.ts-3w {
  text-shadow: 0 3px 0 #fff, 3px 0 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, -3px -3px 0 #fff, 3px -3px 0 #fff,
    -3px 3px 0 #fff, 3px 3px 0 #fff;
}

.ts-2w {
  text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff,
    -2px 2px 0 #fff, 2px 2px 0 #fff;
}

.ts-2ws {
  text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff,
    -2px 2px 0 #fff, 2px 2px 0 #fff, 4px 4px 6px rgba(0, 0, 0, 0.4);
}

.ts-3ws {
  text-shadow: 0 3px 0 #fff, 3px 0 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, -3px -3px 0 #fff, 3px -3px 0 #fff,
    -3px 3px 0 #fff, 3px 3px 0 #fff, 6px 6px 8px rgba(0, 0, 0, 0.6);
}

.round {
  border-radius: 50%;
}

.hirakaku-w4 {
  font-family: ヒラギノ角ゴ W4 JIS2004, Hiragino Kaku Gothic W4 JIS2004;
}

.hirakaku-w7 {
  font-family: ヒラギノ角ゴ W7 JIS2004, Hiragino Kaku Gothic W7 JIS2004;
}

.notosans {
  font-family: "Noto Sans", sans-serif;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  @-moz-document url-prefix() {
    * {
      font-feature-settings: "palt";
    }
  }

  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    * {
      font-feature-settings: "palt";
    }
  }
}

/* clearfix
 **************************************** */
/* For modern browsers */
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.clearfix {
  zoom: 1;
}

@media screen and (max-width: 767px) {
  p,
  a,
  th,
  td,
  dt,
  dd,
  label {
    font-size: 100%;
  }

  .mgn-btm8 {
    margin-bottom: calc(8px * 0.8);
  }

  .mgn-btm16 {
    margin-bottom: calc(16px * 0.8);
  }

  .mgn-btm24 {
    margin-bottom: calc(24px * 0.8);
  }

  .mgn-btm32 {
    margin-bottom: calc(32px * 0.8);
  }

  .mgn-btm40 {
    margin-bottom: calc(40px * 0.8);
  }

  .mgn-btm48 {
    margin-bottom: calc(48px * 0.8);
  }

  .mgn-btm56 {
    margin-bottom: calc(56px * 0.8);
  }

  .mgn-btm64 {
    margin-bottom: calc(64px * 0.8);
  }

  .mgn-btm72 {
    margin-bottom: calc(72px * 0.8);
  }

  .mgn-btm80 {
    margin-bottom: calc(80px * 0.8);
  }

  .txt-ctr-pc {
    text-align: left;
  }

  .ts-3w {
    text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff,
      -2px 2px 0 #fff, 2px 2px 0 #fff;
  }

  .ts-2ws {
    text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff,
      -1px 1px 0 #fff, 1px 1px 0 #fff, 2px 2px 3px rgba(0, 0, 0, 0.4);
  }

  .ts-3ws {
    text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff,
      -2px 2px 0 #fff, 2px 2px 0 #fff, 4px 4px 6px rgba(0, 0, 0, 0.6);
  }
}

/* list
 **************************************** */
.list:not(:first-child) {
  margin-top: 1em;
}

.list:not(:last-child) {
  margin-bottom: 1em;
}

.list li {
  position: relative;
  padding-left: 1.2em;
  font-size: 115%;
}

.list li::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0.4em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #e60012;
}

@media screen and (max-width: 767px) {
  .list li {
    font-size: 100%;
  }
}

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

    COMMON

===================================================================================== */
/* layout
 **************************************** */
.inner {
  width: 1080px;
  margin: 0 auto;
  position: relative;
}

.inner-l {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}

.inner-s {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

.inner-xs {
  width: 800px;
  margin: 0 auto;
  position: relative;
}

section {
  padding: 80px 0;
}

.section-s {
  padding: 64px 0;
}

.section-xs {
  padding: 40px 0;
}

.sp {
  display: none;
}

.pc {
  display: inline-block;
}

.bx-wrapper,
.bx-viewport {
  box-shadow: none !important;
  border: none !important;
  background: none !important;
  margin: 0 auto !important;
}

.eyecatch--list {
  display: none;
}

.bx-viewport .eyecatch--list {
  display: block;
}

.content-blc:not(:last-child) {
  margin-bottom: 64px;
}

.content-blc p:not(:last-child) {
  margin-bottom: 1em;
}

.content-blc a {
  font-size: 100%;
}

@media screen and (max-width: 767px) {
  .inner,
  .inner-l,
  .inner-s,
  .inner-xs {
    width: 90%;
  }

  section {
    padding: calc(80px * 0.8) 0;
  }

  .section-s {
    padding: calc(64px * 0.8) 0;
  }

  .section-xs {
    padding: calc(40px * 0.8) 0;
  }

  .sp {
    display: inline-block;
  }

  .pc {
    display: none;
  }

  .content-blc:not(:last-child) {
    margin-bottom: 32px;
  }
}

/* flex
**************************************** */

/* --- ブロック要素 --- */
.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

/* --- インライン要素 --- */
.flex-inline {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

/* --- 逆向き --- */
.flex-reverse {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* --- 縦並び --- */
.flex-column {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* --- 水平方向揃え --- */
.flex-j-start {
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.flex-j-end {
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.flex-j-ctr {
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex-j-between {
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.flex-j-around {
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/* --- 垂直方向揃え --- */
.flex-a-start {
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.flex-a-end {
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.flex-a-ctr {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex-a-baseline {
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.flex-a-stretch {
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

/* --- 子要素の折り返し設定 --- */
.flex-c-nowrap {
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flex-c-wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* --- 子要素の複数行設定 --- */
.flex-c-reverse {
  -webkit-flex-wrap: wrap-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

.flex-c-start {
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
}

.flex-c-start {
  -webkit-align-items: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
}

.flex-c-end {
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
  align-content: flex-end;
}

.flex-c-ctr {
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
}

.flex-c-baseline {
  -webkit-align-content: baseline;
  -ms-flex-line-pack: baseline;
  align-content: baseline;
}

.flex-c-stretch {
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}

/* --- ざっくりflexレイアウト --- */
.flex-col1 {
  display: block;
}

.flex-col2,
.flex-col3,
.flex-col4 {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-col2 > * {
  width: 47.5%;
  margin-right: 5%;
  margin-bottom: 5%;
}

.flex-col2 > *:nth-child(even) {
  margin-right: 0;
}

.flex-col3 > * {
  width: 30.66%;
  margin-right: 4%;
  margin-bottom: 4%;
}

.flex-col3 > *:nth-child(3n) {
  margin-right: 0;
}

.flex-col4 > * {
  width: 22.75%;
  margin-right: 3%;
  margin-bottom: 3%;
}

.flex-col4 > *:nth-child(4n) {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  /* --- 縦並び - sp --- */
  .flex-sp-block {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* --- ざっくりflexレイアウト - sp --- */
  .flex-col2.flex-sp-block > *,
  .flex-col3.flex-sp-block > *,
  .flex-col4.flex-sp-block > * {
    width: 100%;
    margin-bottom: 16px;
    margin-right: 0;
  }

  .flex-col2.flex-sp-block > *:last-child,
  .flex-col3.flex-sp-block > *:last-child,
  .flex-col4.flex-sp-block > *:last-child {
    margin-bottom: 0;
  }

  .flex-sp-col2 > *,
  .flex-sp-col2.flex-col3 > *:nth-child(3n) {
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 3%;
  }

  .flex-sp-col2 > *:nth-child(even) {
    margin-right: 0;
  }

  .flex-sp-col3 > *,
  .flex-sp-col3.flex-col4 > *:nth-child(4n) {
    width: 31.33%;
    margin-right: 3%;
    margin-bottom: 3%;
  }

  .flex-sp-col3 > *:nth-child(3n) {
    margin-right: 0;
  }
}

/* ttl
 **************************************** */
.section--ttl,
.section--ttl-r,
.section--ttl-w {
  font-family: ヒラギノ角ゴ W7 JIS2004, Hiragino Kaku Gothic W7 JIS2004;
  font-size: 250%;
  text-align: center;
}

.section--ttl,
.section--ttl-r {
  padding: 0 0 32px;
  position: relative;
}

.section--ttl::before,
.section--ttl-r::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 56px;
  height: 8px;
}

.section--ttl::before {
  background: #fee101;
}

.section--ttl-r::before {
  background: #e60012;
}

.section--ttl-w {
  color: #fff;
}

.section--ttl-s {
  font-size: 180%;
  color: #e60012;
}

.ttl-b,
.ttl-r {
  padding: 0 0 0 24px;
  position: relative;
  font-size: 125%;
}

.ttl-b::before,
.ttl-r::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 8px;
  height: 100%;
}

.ttl-b::before {
  background: #000;
}

.ttl-r::before {
  background: #e60012;
}

.ttl-r::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 3px;
  background: #000;
}

.page_ttl {
  height: 440px;
  align-items: center;
  -webkit-align-items: center;
  margin: -80px 0 0;
  padding: 80px 0 0;
}

.lineup .page_ttl {
  background: url("../images/title/ttl_lineup.jpg") center/cover;
}

.voice .page_ttl {
  background: url("../images/title/ttl_voice.jpg") center/cover;
}

.jirei .page_ttl {
  background: url("../images/title/ttl_jirei.jpg") center/cover;
}

.company .page_ttl {
  background: url("../images/title/ttl_company.jpg") center/cover;
}

.kansyasai .page_ttl {
  background: url("../images/title/ttl_kansyasai.jpg") center/cover;
}

.media .page_ttl {
  background: url("../images/title/ttl_media.jpg") center/cover;
}

.thanks .page_ttl {
  background: url("../images/title/ttl_common.jpg") center/cover;
}

.events .page_ttl {
  background: url("../images/title/ttl_events.jpg") center/cover;
}

.reservation .page_ttl {
  background: url("../images/title/ttl_reservation.jpg") center/cover;
}

.privacy .page_ttl {
  background: url("../images/title/ttl_privacy.jpg") center/cover;
}

.loan .page_ttl {
  background: url("../images/title/ttl_loan.jpg") center/cover;
}

body:has(.arc-property) .page_ttl {
  background: url("../images/title/ttl_events.jpg") center/cover;
}

.thanks .page_ttl,
.events-thanks .page_ttl,
.reservation-thanks .page_ttl,
.notfound .page_ttl {
  background: #fcf8f7;
}

.notfound .page_ttl {
  background: #f8f8f8;
}

.page_ttl h2 {
  font-size: 280%;
  padding: 0 0 24px;
  position: relative;
}

.page_ttl h2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 64px;
  height: 8px;
  background: #e60012;
}

@media screen and (max-width: 767px) {
  .section--ttl,
  .section--ttl-r,
  .section--ttl-w {
    font-size: 220%;
  }

  .section--ttl,
  .section--ttl-r {
    padding: 0 0 16px;
  }

  .section--ttl::before,
  .section--ttl-r::before {
    width: 48px;
    height: 6px;
  }

  .section--ttl-w {
    font-size: 220%;
  }

  .ttl-b,
  .ttl-r {
    padding: 0 0 0 16px;
    font-size: 115%;
  }

  .ttl-b::before,
  .ttl-r::before {
    width: 6px;
  }

  .section--ttl-s {
    font-size: 160%;
    text-align: center;
  }

  .page_ttl {
    height: 50vw;
    margin: 56px 0 0;
    padding: 0;
  }

  .page_ttl h2 {
    font-size: 220%;
    padding: 0 0 16px;
  }

  .page_ttl h2::before {
    width: 56px;
    height: 6px;
  }

  .section--ttl,
  .under .section--ttl-r {
    padding: 0 0 16px;
  }

  .section--ttl::before,
  .under .section--ttl-r::before {
    width: 48px;
    height: 6px;
  }

  /*under*/
  .section--ttl,
  .section--ttl-r,
  .section--ttl-w {
    font-size: 190%;
  }

  section.event {
    padding: calc(184px * 3) 0;
    padding-bottom: 80px !important;
  }
}
@media screen and (max-width: 500px) {
  section.event {
    padding: 184px 0;
  }
}

/* parts
 **************************************** */
/*btn*/
.btn-r {
  display: block;
  margin: 0 auto;
  height: 56px;
  line-height: 56px;
  font-family: ヒラギノ角ゴ W4 JIS2004, Hiragino Kaku Gothic W4 JIS2004;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  font-size: 140%;
  background: linear-gradient(to top right, #fe0000 50%, #e60012 50%) no-repeat top left/50.5% 100%,
    linear-gradient(to top left, #fe0000 50%, #e60012 50%) no-repeat top right/50.5% 100%;
  position: relative;
}

.btn-r:hover {
  background: linear-gradient(to top right, #fe4c4c 50%, #ed4c59 50%) no-repeat top left/50.5% 100%,
    linear-gradient(to top left, #fe4c4c 50%, #ed4c59 50%) no-repeat top right/50.5% 100%;
}

.btn-r::before {
  content: url("../images/common/arrow_w.png");
  margin: 0 32px 0 0;
}

.btn-r-s {
  font-size: 120%;
}

.btn-w {
  display: block;
  margin: 0 auto;
  width: 464px;
  height: 56px;
  line-height: 56px;
  text-align: center;
  font-weight: bold;
  color: #e60012;
  border-radius: 10px;
  border: 2px solid rgba(0, 0, 0, 0);
  background: #fff;
  background-position-x: 116px, 0;
  background-position-y: 50%, 0;
  position: relative;
}

.btn-w::before {
  content: url("../images/common/arrow_r.png");
  margin: 0 24px 0 0;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.btn-w::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 454px;
  height: 46px;
  border: 1px dashed #fff;
  border-radius: 10px;
}

.btn-w:hover {
  color: #fff;
  border: 2px solid #fff;
  background: #e60012;
  background-position-x: 116px, 0;
  background-position-y: 50%, 0;
}

.btn-w:hover::before {
  content: url("../images/common/arrow_w.png");
}

.btn-list {
  display: block;
  position: absolute;
  top: 4px;
  right: 0;
  font-weight: bold;
  padding: 0 0 0 24px;
  background: url("../images/common/arrow_r.png") no-repeat left;
}

.btn-list:hover {
  opacity: 0.7;
}

.btn-booking {
  position: relative;
  display: block;
  width: 200px;
  height: 56px;
  margin-left: auto;
  line-height: 56px;
  text-align: center;
  font-family: ヒラギノ角ゴ W7 JIS2004, Hiragino Kaku Gothic W7 JIS2004;
  color: #fff;
  font-size: 120%;
  border-radius: 5px;
  margin-left: 24px;
  background: -moz-linear-gradient(-80deg, #e0000d 0%, #e0000d 40%, #f60010 60%, #e0000d 80%, #e0000d 100%);
  background: -webkit-linear-gradient(-80deg, #e0000d 0%, #e0000d 40%, #f60010 60%, #e0000d 80%, #e0000d 100%);
  background: -o-linear-gradient(-80deg, #e0000d 0%, #e0000d 40%, #f60010 60%, #e0000d 80%, #e0000d 100%);
  background: -ms-linear-gradient(-80deg, #e0000d 0%, #e0000d 40%, #f60010 60%, #e0000d 80%, #e0000d 100%);
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}

.btn-booking::before {
  content: url("../images/common/arrow_w.png");
  margin: 0 16px 0 0;
}

.btn-booking::after {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: 0;
  margin: auto;
  z-index: -1;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: 5px;
  background: -moz-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
  background: -webkit-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
  background: -o-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
  background: -ms-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
}

.btn-booking:hover {
  top: -4px;
}

.btn-booking:hover::after {
  height: calc(100% + 8px);
}

.btn-booking:active {
  top: 0;
}

.btn-booking:active::after {
  height: calc(100% + 4px);
}

.btn-line {
  background: -moz-linear-gradient(-80deg, #06c755 0%, #06c755 40%, #18c706 60%, #06c755 80%, #06c755 100%);
  background: -webkit-linear-gradient(-80deg, #06c755 0%, #06c755 40%, #18c706 60%, #06c755 80%, #06c755 100%);
  background: -o-linear-gradient(-80deg, #06c755 0%, #06c755 40%, #18c706 60%, #06c755 80%, #06c755 100%);
  background: -ms-linear-gradient(-80deg, #06c755 0%, #06c755 40%, #18c706 60%, #06c755 80%, #06c755 100%);
}

.btn-line::after {
  background: -moz-linear-gradient(-80deg, #06c755 0%, #04873a 100%);
  background: -webkit-linear-gradient(-80deg, #06c755 0%, #04873a 100%);
  background: -o-linear-gradient(-80deg, #06c755 0%, #04873a 100%);
  background: -ms-linear-gradient(-80deg, #06c755 0%, #04873a 100%);
}

.btn-line::before {
  content: "";
  display: inline-block;
  width: 35px;
  height: 36px;
  background-image: url("../images/common/icon-line.svg");
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-right: 6px;
}

.btn-dot {
  display: block;
  text-align: center;
  color: #e60012;
  font-family: ヒラギノ角ゴ W7 JIS2004, Hiragino Kaku Gothic W7 JIS2004;
  font-size: 150%;
  border: 2px dotted #e60012;
  border-radius: 10px;
  height: 96px;
  line-height: 96px;
  padding: 0 0 0 56px;
  background: url("../images/common/arrow_r.png") no-repeat;
  background-position-x: 88px, 0;
  background-position-y: 50%, 0;
}

.btn-dot:hover {
  border: 2px dashed #e60012;
}

/*box*/
.box-dot {
  display: block;
  color: #e60012;
  border: 2px dotted #e60012;
  border-radius: 10px;
  position: relative;
  padding: 24px 16px;
  margin: 24px 0 0;
  font-size: 90%;
}

.box-dot_link:hover .box-dot {
  border: 2px dashed #e60012;
}

.box-dot h4 {
  position: absolute;
  top: -1.25em;
  left: 0;
  right: 0;
  margin: auto;
  padding: 4px 8px;
  width: 208px;
  border-radius: 5px;
  font-size: 110%;
  box-shadow: 0 6px 0 #fff, 6px 0 0 #fff, -6px 0 0 #fff, -6px -6px 0 #fff, 6px -6px 0 #fff, -6px 6px 0 #fff,
    6px 6px 0 #fff;
  font-size: 120%;
}

.box-dot dt {
  font-weight: bold;
}

.box-dot a {
  font-size: 90%;
}

.box-dot a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  /*btn*/
  .btn-r {
    display: block;
    margin: 0 auto;
    height: 48px;
    line-height: 48px;
    font-family: ヒラギノ角ゴ W4 JIS2004, Hiragino Kaku Gothic W4 JIS2004;
    text-align: center;
    color: #fff;
    font-size: 120%;
    background: linear-gradient(to top right, #fe0000 50%, #e60012 50%) no-repeat top left/50% 100%,
      linear-gradient(to top left, #fe0000 50%, #e60012 50%) no-repeat top right/50% 100%;
    position: relative;
  }

  .btn-r:hover {
    background: linear-gradient(to top right, #fe4c4c 50%, #ed4c59 50%) no-repeat top left/50% 100%,
      linear-gradient(to top left, #fe4c4c 50%, #ed4c59 50%) no-repeat top right/50% 100%;
  }

  .btn-r::before {
    content: url("../images/common/arrow_w.png");
    margin: 0 24px 0 0;
  }

  .btn-w {
    width: 100%;
    height: 48px;
    line-height: 48px;
    background-position-x: 48px, 0;
  }

  .btn-w::before {
    margin: 0 16px 0 0;
  }

  .btn-w::after {
    width: calc(100% - 4px);
    height: calc(100% - 4px);
  }

  .btn-w:hover {
    color: #e60012;
    background: #fff;
    background-position-x: 48px, 0;
    background-position-y: 50%, 0;
  }

  .btn-w:hover::before {
    content: url("../images/common/arrow_r.png");
  }

  .btn-list {
    display: inline-block;
    position: relative;
    top: 0;
    padding: 0 0 0 20px;
    background-size: 14px 14px;
    float: right;
  }

  .btn-list:hover {
    opacity: 1;
  }

  .btn-booking {
    height: 28px;
    line-height: 28px;
    width: auto;
    font-size: 85%;
    padding: 0 10px;
  }

  .btn-booking::before {
    display: none;
  }

  .btn-dot {
    font-size: 115%;
    height: 56px;
    line-height: 56px;
    padding: 0 0 0 10vw;
    background-size: 4vw;
    background-position-x: 7vw, 0;
  }

  .btn-dot:hover {
    border: 2px dotted #e60012;
  }

  /*box*/
  .box-dot {
    padding: 20px 16px 16px;
  }

  .box-dot_link:hover .box-dot {
    border: 2px dotted #e60012;
  }

  .box-dot h4 {
    width: 190px;
  }

  .box-dot dt {
    float: none;
    width: 100%;
  }

  .box-dot a:hover {
    opacity: 1;
  }
}

/* colorbox
 **************************************** */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  background: none;
  top: -32px;
  width: 28px;
  height: 18px;
}

#cboxPrevious,
#cboxNext,
#cboxClose {
  width: 28px;
  height: 28px;
}

#cboxPrevious::before,
#cboxNext::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  border-top: 4px solid #e60012;
  border-right: 4px solid #e60012;
}

#cboxPrevious::after,
#cboxNext::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 4px;
  background: #e60012;
}

#cboxPrevious {
  right: 72px;
}

#cboxPrevious::before {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 10px;
}

#cboxPrevious::after {
  left: 10px;
}

#cboxNext {
  right: 32px;
}

#cboxNext::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 10px;
}

#cboxNext::after {
  right: 10px;
}

#cboxClose::before,
#cboxClose::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 24px;
  height: 4px;
  background: #e60012;
}

#cboxClose::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#cboxClose::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/*マンガ*/
.home #cboxPrevious::after,
.home #cboxNext::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 4px;
  background: #e60012;
}

.home #cboxPrevious {
  right: 36px;
}

.home #cboxPrevious::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  left: 10px;
}

.home #cboxPrevious::after {
  left: 6px;
}

.home #cboxNext {
  right: 72px;
}

.home #cboxNext::before {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 10px;
}

.home #cboxNext::after {
  left: 10px;
}

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

    HEADER

===================================================================================== */
header,
.fx_header {
  width: 100%;
  z-index: 9999;
}

.fx_header {
  position: fixed;
  top: -80px;
}

.header .inner,
.fx_header .inner {
  width: 85vw;
  min-width: 1160px;
  height: 80px;
  align-items: center;
}

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

.header--tel {
  align-items: center;
  height: 56px;
  margin-left: 16px;
  padding: 12px 16px;
}

.header--tel-sp {
  display: none;
}

.header--num {
  height: 24px;
  line-height: 24px;
  font-size: 130%;
  white-space: nowrap;
}

.header--num .fa-phone {
  width: 24px;
  height: 24px;
  padding: 4px;
  margin: 0 8px 0 0;
}

.header--contact {
  background: rgba(45, 110, 210, 1);
  display: block;
  border-radius: 4px;
  margin-left: 8px;
  font-size: 90%;
  padding: 4px 12px;
}

.header h1 {
  font-size: 10px;
  color: #fff;
  margin-right: inherit;
  margin-left: 8px;
}

.active h1 {
  display: none;
}

.header--icon {
  display: none;
}

.active .header--icon {
  display: flex;
  justify-content: center;
  background: #fff;
  margin-top: 40px;
  padding: 16px 0;
}

.active .header--icon img {
  width: 25px;
  margin: 0 5px;
}
.active .sp-icon--youtube {
  width: 30px !important;
}

/*animation*/
.fx_header.slideDown {
  animation-name: slideDown;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  animation-duration: 0.4s;
  -webkit-animation-name: slideDown;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-duration: 0.4s;
  top: 0;
}

@keyframes slideDown {
  0% {
    top: -80px;
    opacity: 0;
  }

  100% {
    top: 0;
    opacity: 1;
  }
}

@-webkit-keyframes slideDown {
  0% {
    top: -80px;
    opacity: 0;
  }

  100% {
    top: 0;
    opacity: 1;
  }
}

.fx_header.slideUp {
  animation-name: slideUp;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  animation-duration: 0.4s;
  -webkit-animation-name: slideUp;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-duration: 0.4s;
  top: -80px;
  position: fixed;
}

@keyframes slideUp {
  0% {
    top: 0;
    opacity: 1;
  }

  100% {
    top: -80px;
    opacity: 0;
  }
}

@-webkit-keyframes slideUp {
  0% {
    top: 0;
    opacity: 1;
  }

  100% {
    top: -80px;
    opacity: 0;
  }
}

/*under*/
.under header {
  background: none;
}
.under header .gnav a {
  color: #000;
}
.under header .gnav--item_icon:nth-last-of-type(3),
.under header .gnav--item_icon:nth-last-of-type(4),
.under header .gnav--item_icon:nth-last-of-type(5),
.under header .gnav--item_icon:nth-last-of-type(6) {
  filter: invert(100%);
}

.under header .gnav a::before {
  background: -moz-linear-gradient(left, #000, #000 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -o-linear-gradient(left, #000, #000 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-linear-gradient(left, #000, #000 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to right, #000, #000 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background-size: 5px 5px;
}

.under header .header--tel {
  background: none;
}

@media screen and (min-width: 768px) {
  .under header h1 {
    color: #000;
  }
}
@media screen and (max-width: 767px) {
  .header,
  .fx_header {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .header.active,
  .fx_header.active {
    background: #fff;
  }

  .fx_header {
    display: none;
  }

  .header .inner,
  .fx_header .inner {
    min-width: auto;
    width: 90%;
    height: 56px;
  }

  .header--tel {
    display: none;
  }

  .header--nav-sp {
    display: block;
    width: 90%;
    margin: 0 auto;
    border-radius: 4px;
  }

  .header--num {
    font-size: 140%;
  }

  .header--hour {
    font-size: 110%;
  }

  .header--tel-sp {
    padding: 16px;
    margin-top: 16px;
  }

  .header--line-sp {
    background-color: #06c755;
    padding: 12px;
    margin: 16px auto 8px;
  }

  .header--line-sp::before {
    content: "";
    display: inline-block;
    width: 33px;
    height: 36px;
    background-image: url("../images/common/icon-line.svg");
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
  }

  .header--contact-sp {
    background-color: #a32135;
    padding: 12px;
  }

  .header--line-sp a,
  .header--contact-sp a {
    color: #fff;
    font-size: 120%;
  }

  /*under*/
  .under header {
    background: #e60012;
  }

  .under header .gnav a {
    color: #fff;
  }

  .under header .gnav a::before {
    background: -moz-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background: -o-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to right, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background-size: 5px 5px;
  }

  .under header .header--tel {
    background: #fff;
  }
}

/* gnav
 **************************************** */
.gnav_btn {
  display: none;
}

.gnav {
  padding-left: 5vw;
  justify-content: space-around;
  -webkit-justify-content: space-around;
}

.gnav--item {
  padding: 0 8px;
}

.gnav a {
  display: block;
  padding: 24px 0;
  font-weight: bold;
  font-size: 110%;
  white-space: nowrap;
  position: relative;
}

.gnav a::before {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  background: -moz-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -o-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to right, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background-size: 5px 5px;
  width: 0;
  height: 2px;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.gnav a:hover::before,
.gnav a:focus::before {
  width: 100%;
}

.gnav a.current::before {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
  width: 100%;
}

.gnav--item_icon {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .drop-menu {
    position: relative;
  }
  .drop-menu > a {
    pointer-events: none;
  }
  /* .drop-menu a::before {
    display: none;
  } */
  .gnav--item:hover .head_sub_nav {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .head_sub_nav {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 99;
    width: max-content;
    transform-origin: center top;
    visibility: hidden;
    transition: all 0.3s;
    opacity: 0;
  }
  .menu-item {
    background-color: #fff;
    transition: opacity 0.3s;
  }
  .drop-menu .head_sub_nav .menu-item a {
    color: #000;
    padding-inline: 24px;
    text-align: center;
  }
  .menu-item:hover {
    opacity: 0.9;
    transition: opacity 0.3s;
  }
}

@media screen and (max-width: 767px) {
  .gnav_btn {
    display: block;
  }

  .gnav_btn {
    position: fixed;
    width: 24px;
    height: 14px;
    top: 22px;
    right: 24px;
    z-index: 9999;
  }

  .gnav_btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .gnav_btn span:nth-of-type(1) {
    top: 0;
  }

  .gnav_btn span:nth-of-type(2) {
    top: 6px;
  }

  .gnav_btn span:nth-of-type(3) {
    bottom: 0;
  }

  .gnav_btn.active span {
    background: #e60012;
  }

  .gnav_btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(6px) rotate(-35deg);
    transform: translateY(6px) rotate(-35deg);
  }

  .gnav_btn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .gnav_btn.active span:nth-of-type(3) {
    -webkit-transform: translateY(-6px) rotate(35deg);
    transform: translateY(-6px) rotate(35deg);
  }

  .header--nav {
    display: none;
    width: 100%;
    position: fixed;
    top: 56px;
    left: 0;
    height: calc(100vh - 56px);
    background: #e60012;
    overflow: auto;
  }

  .gnav {
    display: block;
    width: 90%;
    margin: 0 auto 16px;
    padding: 0;
  }

  .gnav--item {
    padding: 0;
    position: relative;
  }
  .menu-item {
    position: relative;
  }

  .menu-item::before,
  .gnav--item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: -moz-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background: -o-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to right, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
    background-size: 5px 5px;
    width: 100%;
    height: 1px;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .gnav a {
    font-size: 100%;
    padding: 16px 0;
    white-space: normal;
    text-align: center;
  }

  .gnav a::before {
    display: none;
  }

  .drop-menu .head_sub_nav .menu-item a {
    color: #fff;
  }
}

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

    INDEX

===================================================================================== */
/* mainvisual
 **************************************** */
.mainvisual {
  width: 100%;
  height: 600px;
  margin: 0 0 40px;
  background: url("../images/index/mainvisual.jpg") repeat-x center/cover;
  position: relative;
  animation: slideLeft 60s linear infinite;
  -webkit-animation: slideLeft 60s linear infinite;
}

@keyframes slideLeft {
  0% {
    background-position: 0px 0px;
  }

  100% {
    background-position: -2000px 0px;
  }
}

@-webkit-keyframes slideLeft {
  0% {
    background-position: 0px 0px;
  }

  100% {
    background-position: -2000px 0px;
  }
}

.mainvisual--catch {
  position: absolute;
  bottom: -28px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}

.mainvisual--deco {
  position: absolute;
  width: 100%;
  height: 107px;
  bottom: -1px;
  left: 0;
  background: url("../images/index/deco_mainvisual.png") repeat-x center/cover;
}

.hero_ctaarea {
  margin: auto;
}

.hero_ctaarea .btn-r {
  margin-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  font-size: 18px;
  display: flex;
}

@media screen and (max-width: 767px) {
  .mainvisual {
    height: calc(100vh - 80px);
    margin: 0 0 24px;
  }

  .mainvisual--catch {
    bottom: -1.5vh;
  }

  .mainvisual--catch img {
    width: 85%;
  }

  .mainvisual--deco {
    height: 12vw;
    background: url(../images/index/deco_mainvisual.png) repeat-x left/220vw;
    z-index: 1;
  }

  .hero_sp_ctaarea {
    padding-top: calc(100vh - 32px);
    width: 100%;
  }

  .hero_ctaarea .btn-r {
    margin-bottom: 8px;
    padding-left: 16px;
    font-size: 16px;
    max-width: 336px;
  }
}

@media screen and (min-width: 768px) {
  .hero_ctaarea {
    position: absolute;
    z-index: 10;
    right: 8px;
    bottom: 8px;
  }
}

/* contents
 **************************************** */
.contents_box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.btn-contents {
  display: block;
  text-align: center;
  color: #e60012;
  font-family: ヒラギノ角ゴ W7 JIS2004, Hiragino Kaku Gothic W7 JIS2004;
  font-size: 100%;
  border: 2px dotted #e60012;
  border-radius: 10px;
  line-height: 56px;
  padding: 0 16px 0 48px;
  background: url(../images/common/arrow_r.png) no-repeat;
  background-position-x: 16px, 0;
  background-position-y: 50%, 0;
}

.btn-contents:hover {
  border: 2px dashed #e60012;
}

@media screen and (max-width: 767px) {
  .contents_box {
    display: flex;
    flex-direction: column;
    font-size: 12px;
  }
}

/* event変更後
 **************************************** */
.home .event,
.reservation .event,
.events .event {
  background: url("../images/index/bg_event.jpg") center/cover;
}

.home .event--wrap,
.reservation .event--wrap,
.events .event--wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.home .event--wrap:has(.no_post),
.reservation .event--wrap:has(.no_post),
.events .event--wrap:has(.no_post) {
  display: block;
}

.home .event--lft,
.home .event--rgt,
.reservation .event--lft,
.reservation .event--rgt,
.events .event--lft,
.events .event--rgt {
  position: relative;
}

.home .event--lft,
.reservation .event--lft,
.events .event--lft {
  width: 100%;
  margin: 0;
}

.reservation .event--lft {
  padding-bottom: 86px;
}

.home .event--rgt,
.reservation .event--rgt {
  width: 328px;
}

.home .event--content,
.home .event--content.no_post,
.home .event--lft .event--content.no_post,
.reservation .event--content,
.reservation .event--content.no_post,
.reservation .event--lft .event--content.no_post,
.events .event--content,
.events .event--content.no_post,
.events .event--lft .event--content.no_post {
  position: relative;
  padding: 49px 24px;
  display: block;
  overflow: hidden;
}

.home .event--content.soon::before,
.reservation .event--content.soon::before,
.events .event--content.soon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  z-index: 2;
}

.home .soon--txt,
.reservation .soon--txt,
.events .soon--txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  font-size: 180%;
  z-index: 2;
}

.home .event--lft .event--content,
.reservation .event--lft .event--content,
.events .event--lft .event--content {
  display: grid;
  grid-template-columns: 45% auto;
  padding: 0 0 40px 0;
  height: fit-content;
  border-radius: 16px;
}

.home .event--lft .event--content:last-child,
.reservation .event--lft .event--content:last-child,
.events .event--lft .event--content:last-child {
  margin: 0;
}

.home .event--lft .event--content a,
.reservation .event--lft .event--content a,
.events .event--lft .event--content a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(255, 255, 255, 0);
}

.home .event--lft .event--content a:hover,
.reservation .event--lft .event--content a:hover,
.events .event--lft .event--content a:hover {
  background: rgba(255, 255, 255, 0.3);
}

.home .event--info,
.reservation .event--info,
.events .event--info {
  padding: 8px;
}

.home .event--ttl,
.reservation .event--ttl,
.events .event--ttl {
  font-size: 170%;
  padding: 0 0 0 40px;
  background: url("../images/common/arrow_wr.png") no-repeat left;
}

.home .event--post_ttl,
.reservation .event--post_ttl,
.events .event--post_ttl {
  max-width: 280px;
  font-size: 115%;
  padding: 4px 8px;
  background: transparent;
}
.home .event--post_ttl span,
.reservation .event--post_ttl span,
.events .event--post_ttl span {
  background: linear-gradient(rgba(0, 0, 0, 0) 50%, #fff799 50%, #fff799 90%, rgba(0, 0, 0, 0) 90%);
}
.home .event--eyecatch,
.reservation .event--eyecatch,
.events .event--eyecatch {
  aspect-ratio: 1/1;
}

.home .event--rgt .event--eyecatch,
.reservation .event--rgt .event--eyecatch,
.events .event--rgt .event--eyecatch {
  margin: 0 auto;
}

.no_img {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
}

.home .event--lft .event--eyecatch.no_img p,
.reservation .event--lft .event--eyecatch.no_img p,
.events .event--lft .event--eyecatch.no_img p {
  font-size: 90%;
}

.home .event--sunshowkun,
.reservation .event--sunshowkun,
.events .event--sunshowkun {
  position: absolute;
  top: -50px;
  right: 0;
  z-index: 1;
}

.home .event--date,
.reservation .event--date,
.events .event--date {
  font-size: 120%;
}

.home .event--time,
.home .event--address,
.reservation .event--time,
.reservation .event--address,
.events .event--time,
.events .event--address {
  font-size: 100%;
}

.home .event--time span,
.home .event--address span,
.reservation .event--time span,
.reservation .event--address span,
.events .event--time span,
.events .event--address span {
  font-weight: bold;
}

.home .event--link,
.reservation .event--link,
.events .event--link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0);
}

.home .event--link:hover,
.reservation .event--link:hover,
.events .event--link:hover {
  background: rgba(255, 255, 255, 0.4);
}

.home .event--lft .event--link,
.reservation .event--lft .event--link,
.events .event--lft .event--link {
  top: 0;
  left: inherit;
  right: 0;
  display: block;
  width: 100%;
  padding-block: 8px;
}

.home .event--link_txt,
.reservation .event--link_txt,
.events .event--link_txt {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  font-size: 100%;
  line-height: 40px;
  background-color: #ffa500;
}
.home .event--link_txt::after,
.reservation .event--link_txt::after,
.events .event--link_txt::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid;
  border-right: 2px solid;
  rotate: 45deg;
  transition: var(--transit-default);
}

/* youtube
  **************************************** */
.youtube_thumbnail-pc:hover {
  opacity: 0.8;
}
.youtube_thumbnail-pc {
  width: 720px;
  height: 405px;
  display: flex;
  margin-inline: auto;
}
.youtube_thumbnail-pc img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .home .event--wrap,
  .reservation .event--wrap,
  .events .event--wrap {
    grid-template-columns: 100%;
  }
  .home .event--lft,
  .home .event--rgt,
  .reservation .event--lft,
  .reservation .event--rgt,
  .events .event--lft,
  .events .event--rgt {
    width: 100%;
  }

  .home .event--lft {
    margin: 0 0 32px;
  }

  .reservation .event--lft {
    padding-bottom: 42px;
  }

  .home .event--info,
  .reservation .event--info,
  .events .event--info {
    padding: 8px;
  }

  .home .event--ttl,
  .reservation .event--ttl,
  .events .event--ttl {
    font-size: 150%;
    background-size: 30px 30px;
  }

  .home .event--post_ttl,
  .reservation .event--post_ttl,
  .events .event--post_ttl {
    margin-bottom: 6px;
    padding: 0;
    display: -webkit-box;
    font-size: 93%;
    line-height: 1.3;
    background: unset;
  }

  .home .event--post_ttl span,
  .reservation .event--post_ttl span,
  .events .event--post_ttl span {
    background: linear-gradient(rgba(0, 0, 0, 0) 60%, #fff799 60%, #fff799 90%, rgba(0, 0, 0, 0) 90%);
  }

  .home .event--lft .event--content,
  .reservation .event--lft .event--content,
  .events .event--lft .event--content {
    padding-bottom: 30px;
    margin-bottom: 0;
    border-radius: 16px;
  }

  .home .event--eyecatch,
  .reservation .event--eyecatch,
  .events .event--eyecatch {
    width: 100%;
  }

  .home .event--lft .event--eyecatch,
  .reservation .event--lft .event--eyecatch,
  .events .event--lft .event--eyecatch {
    float: none;
  }

  .home .event--lft .event--eyecatch.no_img p,
  .reservation .event--lft .event--eyecatch.no_img p,
  .events .event--lft .event--eyecatch.no_img p {
    font-size: 75%;
  }

  .home .event--date,
  .reservation .event--date,
  .events .event--date {
    margin-bottom: 6px;
    font-size: 85%;
    line-height: 1.2;
  }

  .home .event--link_txt,
  .reservation .event--link_txt,
  .events .event--link_txt {
    line-height: 30px;
  }

  .home .event--time,
  .home .event--address,
  .reservation .event--time,
  .reservation .event--address,
  .events .event--time,
  .events .event--address {
    font-size: 80%;
    line-height: 1.2;
  }

  .home .event--sunshowkun,
  .reservation .event--sunshowkun,
  .events .event--sunshowkun {
    top: -36px;
  }

  .home .youtube_thumbnail-sp {
    width: 80%;
    display: block;
    margin-inline: auto;
    margin-bottom: 16px;
  }
}

/* feature
 **************************************** */
.feature {
  position: relative;
  background: url("../images/index/bg_feature.png") no-repeat center/contain;
  z-index: 0;
}

.home .feature::before {
  content: "";
  bottom: -56px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 56px 56px 0 56px;
  border-color: #fff transparent transparent transparent;
}

.feature--inner {
  overflow: hidden;
}

.feature--sunshowkun {
  position: absolute;
  top: 0;
  bottom: 68px;
  left: 490px;
  right: 0;
  margin: auto;
  z-index: 0;
}

.feature--bg {
  position: absolute;
  top: 0;
  z-index: -1;
}

.feature--rgt .feature--bg {
  left: -254px;
}

.feature--lft .feature--bg {
  right: -233px;
}

.feature--rgt,
.feature--lft {
  width: 600px;
  padding: 48px 0 86px;
}

.feature--btm {
  width: 506px;
}

.feature--ttl {
  padding: 16px;
  border-radius: 10px;
}

.feature--btm .feature--ttl {
  height: 152px;
  line-height: 132px;
  padding: 0;
}

.feature--content {
  padding: 0 48px;
}

.feature--btm .feature--content {
  padding: 0;
}

.feature--content p {
  text-align: justify;
  line-height: 1.75em;
}

.feature--content p .c-red {
  font-weight: bold;
  letter-spacing: 0;
}

@media (max-width: 1084px) {
  .feature .inner {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .feature::before {
    bottom: -10vw;
    border-width: 10vw 10vw 0 10vw;
  }

  .feature .inner {
    width: 90%;
  }

  .feature--img {
    width: 80%;
  }

  .feature--rgt,
  .feature--lft,
  .feature--btm {
    width: 100%;
    padding: 0;
    margin: 0 0 24px;
  }

  .feature--btm {
    margin: 0 0 32px;
  }

  .feature--btm:last-child {
    margin: 0;
  }

  .feature--bg {
    position: relative;
    left: inherit !important;
    right: inherit !important;
    margin: 0 0 calc(24px * 0.8);
  }

  .feature--ttl,
  .feature--btm .feature--ttl {
    height: inherit;
    line-height: inherit;
    padding: 0;
    background: none;
  }

  .feature--ttl img {
    width: 100%;
  }

  .feature--content {
    padding: 0;
  }

  .feature--content img {
    float: none;
    display: block;
    margin: 0 auto;
  }
}

/* tour
 **************************************** */
.home .tour {
  background: url("../images/index/bg_tour.jpg") no-repeat center/cover;
}

.home .tour--lft {
  width: 60%;
}

.home .tour .date--ttl {
  font-size: 200%;
  margin: 24px 0 8px;
}

.home .tour .tour--date {
  font-size: 230%;
}

@media screen and (max-width: 767px) {
  .home .tour {
    background: #edf6ff;
  }

  .home .tour--lft {
    width: 100%;
  }

  .home .tour .date--ttl {
    font-size: 150%;
    margin: calc(24px * 0.8) 0 calc(8px * 0.8);
  }

  .home .tour .tour--date {
    font-size: 170%;
  }
}

/* episode
 **************************************** */
.episode {
  margin: 12px 0;
}

.episode .inner::before {
  content: "";
  position: absolute;
  bottom: -80px;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/index/bg_episode.png") no-repeat right bottom;
}

.episode--fukidashi {
  position: absolute;
  top: 4px;
  left: 208px;
  font-size: 80%;
  line-height: 1em;
  transform: rotate(-5deg);
  width: 235px;
}

.episode--fukidashi::before {
  content: "";
  position: absolute;
  top: -28px;
  left: 30px;
  background: url(../images/index/fukidashi_episode.png) no-repeat center;
  transform: rotate(5deg);
  width: 185px;
  height: 117px;
  z-index: -1;
}

.episode--list {
  width: 432px;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

.episode--item {
  width: 200px;
  height: 246px;
  border: 5px solid #fff;
  margin: 0 0 32px;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  position: relative;
}

.episode--link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.episode--item:hover a:first-child {
  background: rgba(255, 255, 255, 0.3);
}

.episode--item p {
  font-size: 100%;
  font-weight: bold;
}

.episode--item:nth-child(1) {
  background: url("../images/index/episode01.jpg") no-repeat center/cover;
}

.episode--item:nth-child(2) {
  background: url("../images/index/episode02.jpg") no-repeat center/cover;
}

.episode--item:nth-child(3) {
  background: url("../images/index/episode03.jpg") no-repeat center/cover;
}

.episode--item:nth-child(4) {
  background: url("../images/index/episode04.jpg") no-repeat center/cover;
}

.episode--item:nth-last-child(-n + 2) {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .episode {
    padding: calc(80px * 0.8) 0 70vw;
    background: url("../images/index/bg_episode.png"),
      repeating-linear-gradient(-45deg, #ffe100, #ffe100 9px, #ffea4d 0%, #ffea4d 18px);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 60%, auto;
  }

  .episode .inner::before {
    display: none;
  }

  .episode--fukidashi {
    top: -56px;
    left: 0;
    font-size: 55%;
    width: 116px;
    padding: 12px 0;
    background: #fff;
    border-radius: 50%;
  }

  .episode--fukidashi::before {
    display: none;
  }

  .episode--fukidashi::after {
    content: "";
    position: absolute;
    right: 32px;
    bottom: -8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 4px 0 6px;
    border-color: #fff transparent transparent transparent;
    transform: rotate(-30deg);
  }

  .episode--list {
    width: 100%;
  }

  .episode--item {
    width: calc(50% - 8px);
    height: 55vw;
    margin: 0 0 16px;
  }

  .episode--item p {
    font-size: 90%;
  }
}

/* panorama
 **************************************** */
.home .panorama {
  background: #fcf8f7;
  overflow: hidden;
}

.home .panorama .bx-viewport {
  overflow: visible !important;
}

.home .panorama--link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(255, 255, 255, 0);
}

.home .panorama--link:hover {
  background: rgba(255, 255, 255, 0.4);
}

.home .panorama--img {
  width: 320px;
  height: 240px;
  margin: 0 auto 16px;
}

.home .panorama .ttl-b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home .panorama--content {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 4px 0;
}

.home .panorama .btn-r {
  width: 400px;
  margin: 80px auto 0;
}

.home .panorama--item {
  position: relative;
}

@media screen and (max-width: 767px) {
  .home .panorama--item {
    padding: 0 16px;
  }

  .home .panorama--img {
    width: 100%;
    height: 48vw;
    margin: 0 auto calc(16px * 0.8);
  }

  .home .panorama .btn-r {
    width: 90%;
    margin: calc(80px * 0.8) auto 0;
  }
}

/* jirei
 **************************************** */
.home_jirei {
  overflow: hidden;
}

.home_jirei .bx-viewport {
  overflow: visible !important;
}

.home_jirei .jirei--link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(255, 255, 255, 0);
}

.home_jirei .jirei--link:hover {
  background: rgba(255, 255, 255, 0.4);
}

.home_jirei .jirei--img {
  width: 320px;
  height: 240px;
  margin: 0 auto 16px;
}

.home_jirei .ttl-b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home_jirei .jirei--content {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 4px 0;
}

.home_jirei .btn-r {
  width: 400px;
  margin: 80px auto 0;
}

@media screen and (max-width: 767px) {
  .home_jirei .jirei--item {
    padding: 0 16px;
  }

  .home_jirei .jirei--img {
    width: 100%;
    height: 48vw;
    margin: 0 auto calc(16px * 0.8);
  }

  .home_jirei .btn-r {
    width: 90%;
    margin: calc(80px * 0.8) auto 0;
  }
}

/* voice
 **************************************** */
.home_voice {
  background: url("../images/index/img_voice.png") no-repeat center, url("../images/index/bg_voice.jpg") center/cover;
}

.home_voice .voice--list {
  min-height: 400px;
  position: relative;
}

.home_voice .voice--item {
  position: absolute;
}

.home_voice .voice--item:nth-child(1) {
  top: -114px;
  left: -40px;
}

.home_voice .voice--item:nth-child(2) {
  top: -114px;
  right: 32px;
}

.home_voice .voice--item:nth-child(3) {
  bottom: -24px;
  left: 0;
}

.home_voice .voice--item:nth-child(4) {
  bottom: -0;
  right: -16px;
}

@media screen and (max-width: 767px) {
  .home_voice {
    background-size: 55vw, cover;
    background-position: center top 148px, center;
  }

  .home_voice .voice--list {
    padding: 60vw 0 0;
    min-height: auto;
    text-align: center;
  }

  .home_voice .voice--item {
    position: relative;
    margin: 0 0 24px;
    border-radius: 10px;
  }

  .home_voice .voice--item:nth-child(even) {
    margin: 0 0 24px auto;
  }

  .home_voice .voice--item:last-child {
    margin: 0 0 48px auto;
  }

  .home_voice .voice--item:nth-child(1) {
    top: auto;
    left: auto;
    width: 100%;
  }

  .home_voice .voice--item:nth-child(2) {
    top: auto;
    right: auto;
    width: 100%;
  }

  .home_voice .voice--item:nth-child(3) {
    bottom: auto;
    left: auto;
    width: 100%;
  }

  .home_voice .voice--item:nth-child(4) {
    bottom: auto;
    right: auto;
    width: 100%;
  }
}

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

    FOOTER

===================================================================================== */
/* blog
 **************************************** */
footer .blog--wrap {
  position: relative;
  width: 50%;
  margin: 0 48px 0 0;
}

footer .blog--wrap:last-child {
  margin: 0;
}

footer .blog--item {
  padding: 24px 0;
  position: relative;
}

footer .blog--item::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: -moz-linear-gradient(left, #888, #888 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -o-linear-gradient(left, #888, #888 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-linear-gradient(left, #888, #888 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to right, #888, #888 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background-size: 6px 6px;
  width: 100%;
  height: 2px;
}

footer .blog--item a {
  font-size: 110%;
  display: block;
}

footer .blog--item a:hover {
  opacity: 0.7;
}

footer .blog--date,
footer .blog--post_ttl {
  font-size: 110%;
}

footer .blog--date {
  font-weight: bold;
}

/* fb, bnr
 **************************************** */
footer .fb,
footer .bnr {
  width: 50%;
  margin: 0 24px;
}

footer .bnr--link {
  display: block;
}

footer .bnr--link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  footer .blog--wrap {
    width: 100%;
    margin: 0 0 32px;
  }

  footer .blog--list {
    margin: 0 0 8px;
  }

  footer .blog--item {
    padding: calc(24px * 0.8) 0;
  }

  footer .blog--item a:hover {
    opacity: 1;
  }

  footer .blog--date,
  footer .blog--post_ttl {
    font-size: 100%;
  }

  footer .flex {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }

  footer .fb,
  footer .bnr {
    width: 100%;
    margin: 0;
  }

  footer .fb {
    margin: 0 0 32px;
  }
}

/* contact
 **************************************** */
footer .contact {
  background: url("../images/common/bg_contact.jpg") no-repeat center/cover;
}

.contact--txt {
  display: flex;
  width: 676px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 48px;
  padding: 24px 48px;
  border: solid 1px #e60012;
  border-radius: 3px;
}

.contact--txt .ttl {
  padding-top: 10px;
  padding-right: 48px;
  margin-right: 48px;
  border-right: solid 1px #e60012;
  font-size: 136%;
}

.contact--txt .tel {
  font-size: 100%;
}

#formy_form table {
  width: 100%;
}

#formy_form th,
#formy_form td {
  padding: 16px;
  vertical-align: middle;
  border-bottom: solid 1px #eee;
}

#formy_form th {
  white-space: nowrap;
  text-align: left;
  width: 34%;
}

#formy_form th label {
  font-size: 100%;
}

#formy_form table input[type="text"],
#formy_form table input[type="email"],
#formy_form table input[type="tel"],
#formy_form table input[type="date"],
#formy_form table input[type="password"],
#formy_form table textarea {
  width: 100%;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  vertical-align: bottom;
}

#formy_form table input[type="text"],
#formy_form table input[type="email"],
#formy_form table input[type="tel"],
#formy_form table input[type="date"],
#formy_form table input[type="password"],
#formy_form select,
#formy_form textarea {
  margin: 0;
  padding: 5px 15px;
  border: 1px solid #ccc;
  font: inherit;
  font-size: 100%;
}

#formy_form textarea {
  height: 100px;
}

#formy_form select {
  height: 40px;
}

#formy_form ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#formy_form input:hover {
  opacity: 0.7;
}

#formy_form textarea:hover {
  opacity: 0.7;
}

#formy_form input:focus {
  background-color: #fff;
}

#formy_form .parsley-validated {
  background-color: #eee;
}

#formy_form .parsley-error {
  background-color: #fee;
}

#formy_form .parsley-success {
  background-color: #fff;
}

.help_text {
  font-size: 85%;
  color: #999;
}

.hidden_help {
  display: none;
}

.formy_privacy div {
  overflow-y: scroll;
  height: 140px;
  border: solid 1px #ccc;
  font-size: 85%;
  padding: 8px 16px;
}

.requiredIcon {
  background: #f55;
  color: #fff;
  margin: 0 0 0 1em;
  font-size: 70%;
  padding: 2px 5px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  float: right;
}

#formy_btn {
  margin: 0 0 24px;
  text-align: center;
}

#formy_btn input {
  font-size: inherit;
  border: none;
  cursor: pointer;
  color: #fff;
  border-radius: 3px;
  padding: 16px 32px;
  -webkit-appearance: none;
  appearance: none;
  font-family: "Lato", YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
}

#formy_form ul li {
  vertical-align: middle;
  margin-right: 8px;
}

#formy_form ul li input[type="radio"],
#formy_form ul li input[type="checkbox"] {
  display: none !important;
}

#formy_form ul li label {
  height: 40px;
  line-height: 40px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding: 0px 8px 0px 40px;
  cursor: pointer;
  font-size: 100%;
}

#formy_form ul li label:hover {
  opacity: 0.7;
}

#formy_form ul li label::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border: 2px solid #788b93;
  left: 16px;
  top: 12px;
}

#formy_form ul li input[type="radio"] + label::before {
  border-radius: 10px;
}

#formy_form ul li input[type="radio"]:checked + label,
#formy_form ul li input[type="checkbox"]:checked + label {
  color: #e75f5f;
  font-weight: bold;
}

#formy_form ul li input[type="radio"]:checked + label::before,
#formy_form ul li input[type="checkbox"]:checked + label::before {
  border-color: #e75f5f;
}

#formy_form ul li input[type="radio"]:checked + label::after,
#formy_form ul li input[type="checkbox"]:checked + label::after {
  content: "";
  width: 10px;
  height: 18px;
  top: 4px;
  left: 20px;
  border-right: 2px solid #e75f5f;
  border-bottom: 2px solid #e75f5f;
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.formy_confirm {
  background-color: #4dbaff;
}

.formy_submit_disabled {
  background-color: #ccc;
}

#formy_btn .formy_submit_disabled:hover {
  opacity: 1;
  cursor: default;
}

.autoConfirmBack {
  background-color: #aaa;
}

.formy_send {
  background-color: #ff6600;
}

#total_required {
  margin: 24px 0;
  color: #f55555;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .contact--txt {
    display: block;
    width: calc(100% - 32px);
    margin-left: 16px;
    margin-right: 16px;
    margin-bottom: 24px;
    padding: 12px 16px;
    text-align: center;
  }

  .contact--txt .ttl {
    padding-top: 0;
    padding-right: 0;
    margin-right: 0;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-right: none;
    border-bottom: solid 1px #e60012;
    font-size: 100%;
  }

  .contact--txt .tel {
    font-size: 76%;
  }

  .contact--txt .tel .footer--num .fa-phone {
    width: 26px !important;
    height: 26px !important;
  }

  #formy_form {
    padding: 0 16px;
  }

  #formy_form ul li label {
    height: auto;
  }

  #formy_form th,
  #formy_form td {
    display: block;
    width: auto;
    padding-left: 0;
    padding-right: 0;
  }

  #formy_form th {
    border-bottom: none;
    padding-bottom: 0;
    white-space: normal;
    font-weight: bold;
  }

  #formy_form td {
    padding-top: 0;
  }

  #formy_btn {
    margin: 0 0 calc(24px * 0.8);
  }

  #formy_btn input {
    width: 100%;
    background-size: contain;
    background-position: center;
  }

  #total_required {
    margin: calc(24px * 0.8) 0;
  }
}

/* info
 **************************************** */
footer .info {
  background: #fcf8f7;
}

footer .info .inner-s {
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-align-items: center;
}

footer .footer--nav,
footer .footer--tel {
  width: 472px;
}

footer .footer--nav {
  padding: 0 32px 0 0;
}

footer .fnav--item {
  font-size: 95%;
  line-height: 2.5em;
}

footer .fnav--item::before {
  content: "/";
  padding: 0.5em;
}

footer .fnav--item:last-child::after {
  content: "/";
  padding: 0.5em;
}

footer .fnav--item a:hover {
  color: #e60012;
}

footer .footer--tel {
  height: 108px;
  padding: 16px 0;
}

footer .footer--num,
.contact--txt .tel .footer--num {
  font-size: 250%;
  height: 40px;
  line-height: 40px;
}

footer .footer--num .fa-phone,
.contact--txt .tel .footer--num .fa-phone {
  width: 32px;
  height: 32px;
  padding: 6px;
  margin: 0 14px 0 0;
  font-size: 74%;
}

footer .footer--hour {
  font-size: 180%;
  height: 32px;
  line-height: 32px;
}

footer .footer-sunshowkun {
  position: absolute;
  bottom: -40px;
  right: 0;
}

@media screen and (max-width: 767px) {
  footer .info {
    padding: calc(40px * 0.8) 0 108px;
  }

  footer .footer--tel {
    height: 96px;
    text-align: center;
  }

  footer .footer--nav {
    padding: 0;
  }

  footer .fnav--item {
    font-size: 90%;
    line-height: 2em;
  }

  footer .footer--num,
  .contact--txt .tel .footer--num {
    font-size: 230%;
    height: 32px;
    line-height: 32px;
  }

  footer .footer--num .fa-phone,
  .contact--txt .tel .footer--num .fa-phone {
    width: 30px;
    height: 30px;
    padding: 5px;
    margin: 0 10px 0 0;
    font-size: 74%;
  }

  footer .footer--hour {
    font-size: 160%;
    height: 24px;
    line-height: 24px;
  }

  footer .footer-sunshowkun {
    bottom: -108px;
  }
}

/* copyright, booking
 **************************************** */
footer .copyright {
  padding: 32px 0 116px;
}

.booking {
  width: 100%;
  height: 80px;
  background: url("../images/common/bg_booking.jpg");
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  padding: 12px 0;
  transition: all 0.4s ease-out;
}

.booking.fadeIn {
  opacity: 1;
  pointer-events: auto;
}

@media all and (-ms-high-contrast: none) {
  .booking {
    font-size: 95%;
  }
}

.booking .inner {
  width: 95vw;
}

.booking--sunshowkun,
.booking--fukidashi {
  position: absolute;
}

.booking--sunshowkun {
  bottom: -12px;
  left: 0;
}

.booking--fukidashi {
  bottom: 0;
  left: 132px;
  padding: 44px 24px 44px 34px;
  background: url("../images/common/fukidashi_booking.png") no-repeat center/contain;
  font-size: 115%;
}

.booking--fukidashi p {
  background: repeating-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 1em, #fff79a 0, #fff79a 1.5em);
}

.booking--btn {
  margin: 0 0 0 auto;
  align-items: center;
  -webkit-align-items: center;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.booking--tour {
  margin: 0 auto;
}

.booking--tour.no_post {
  height: 56px;
}

.booking--tour.no_post .tour--date {
  line-height: 56px;
}

footer .date--ttl {
  font-size: 130%;
}

footer .tour--date {
  margin-left: 340px;
  font-size: 160%;
}

.header--contact .pc {
  display: block;
}

@media (max-width: 1500px) {
  .booking .inner {
    width: 95vw;
  }

  .booking--sunshowkun {
    width: 130px;
  }

  footer .tour--date {
    margin-left: 270px;
    font-size: 130%;
  }
}

@media (max-width: 1366px) {
  footer .tour--date {
    font-size: 120%;
  }

  .btn-booking {
    width: 190px;
  }

  .booking--fukidashi {
    font-size: 90%;
    left: 112px;
  }
}

@media (max-width: 1200px) {
  .booking--sunshowkun {
    width: 110px;
  }

  .booking--fukidashi {
    left: 92px;
  }

  footer .tour--date {
    margin-left: 250px;
  }
}

@media screen and (max-width: 767px) {
  footer .copyright {
    padding: 24px 0 64px;
  }

  .booking {
    height: 48px;
    padding: 10px 0;
  }

  .booking--sunshowkun {
    display: none;
  }

  .booking--fukidashi {
    bottom: 22px;
    left: 0;
    padding: 10px 10px 16px;
    background: url("../images/common/fukidashi_booking_sp.png") no-repeat center/contain;
    border-radius: 50px;
    font-size: 80%;
  }

  .booking--btn {
    width: 100%;
    flex-wrap: nowrap !important;
  }

  .booking--btn .header--tel {
    display: flex;
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    padding: 0;
    height: auto;
    line-height: 1;
    margin-left: 8px;
    background: none;
  }

  .booking--btn .header--num {
    font-size: 110%;
    transform: translateY(-2px);
  }

  .booking--btn .header--num .fa-phone::after {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    right: 0;
    margin: auto;
    z-index: -1;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    border-radius: 50%;
    background: -moz-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
    background: -webkit-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
    background: -o-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
    background: -ms-linear-gradient(-80deg, #ff0850 0%, #930024 100%);
  }

  .booking--btn .header--num .fa-phone {
    position: relative;
    margin: 0;
    width: 28px;
    height: 28px;
    padding: 7px;
  }

  .booking--btn .header--num span {
    display: none;
  }

  .booking--btn .header--contact {
    padding: 6px 8px;
  }

  .booking--tour.no_post {
    height: 32px;
  }

  .booking--tour.no_post .tour--date {
    line-height: 32px;
  }

  .booking.sp {
    display: flex;
    padding: 0;
    height: 72px;
  }

  .booking.sp li {
    flex: 1;
    line-height: 1.2;
    text-align: center;
  }

  .booking.sp li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: #fff;
  }

  .booking.sp li:nth-child(1) a {
    background-color: #06c755;
  }

  .booking.sp li:nth-child(2) a {
    background-color: #ed7009;
  }

  .booking.sp li:nth-child(3) a {
    display: flex;
    background-color: #e60012;
  }

  .booking.sp li:nth-child(4) a {
    background-color: #2d6ed2;
  }

  .booking.sp .fa-phone {
    font-size: 115%;
    margin-right: 0.2em;
  }

  footer .booking--tour {
    width: calc(100% - 206px);
  }

  footer .date--ttl {
    font-size: 95%;
  }

  footer .tour--date {
    margin-left: 0;
    font-size: 80%;
  }

  footer .btn-booking {
    width: 70px;
    padding: 0;
  }

  .header--contact .pc {
    display: none;
  }
}

@media (max-width: 350px) {
  footer .btn-booking {
    width: 36px;
  }

  footer .booking--tour {
    width: calc(100% - 160px);
  }
}

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

    LINEUP 夢ハウス商品紹介

===================================================================================== */
/* header
 **************************************** */
.lineup header {
  background: #e60012;
}

.lineup header .gnav a {
  color: #fff;
}

.lineup header .gnav a::before {
  background: -moz-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -o-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-linear-gradient(left, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to right, #fff, #fff 20%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 100%);
  background-size: 5px 5px;
}

.lineup header .header--tel {
  background: #fff;
}

.lineup .page_ttl {
  display: none;
}

/* topvisual
 **************************************** */
.topvisual {
  width: 100%;
  height: 740px;
  background: url(/wp/wp-content/themes/original_theme/images/lineup/topvisual.jpg) repeat-x center/cover;
  position: relative;
  padding: 0;
  margin: 0 0 -90px;
}

.topvisual--catch {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .topvisual {
    height: 70vh;
    background: none;
    margin: 0;
  }

  .topvisual--catch {
    position: absolute;
    top: 56px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

/* lineup_point
 **************************************** */
.lineup .lineup_ttl {
  border-radius: 10px;
  position: relative;
}

.lineup .lineup_ttl h3 {
  float: right;
  padding: 24px;
}

.lineup .lineup_ttl--img {
  position: absolute;
  bottom: 0;
  left: 0;
}

.lineup .lineup_point {
  border: solid 1px #fee100;
  border-radius: 10px;
  padding: 40px 0;
}

.lineup .lineup_point--content {
  width: 712px;
  margin: 0 auto;
}

.lineup .lineup_point--content:before {
  content: "";
  position: absolute;
  width: 112px;
  height: 122px;
  background: url(../images/lineup/img_star_01.png) no-repeat center/cover;
  right: -22px;
}

.lineup .lineup_point--content:after {
  content: "";
  position: absolute;
  width: 106px;
  height: 127px;
  background: url(../images/lineup/img_star_02.png) no-repeat center/cover;
  left: -18px;
  bottom: 680px;
}

.lineup .lineup_point p,
.lineup .lineup_point02 p {
  font-size: 120%;
  font-weight: bold;
}

.lineup .lineup_point--img ul {
  width: 927px;
  margin: 0 auto;
}

.lineup .lineup_point--img li {
  float: left;
  margin: 0 20px;
}

.lineup .lineup_shadow {
  box-shadow: 4px 4px 15px -6px rgba(0, 0, 0, 0.8);
}

.lineup .lineup_point02 {
  border: solid 1px #fee100;
  border-radius: 10px;
  padding: 40px 0;
}

.lineup .lineup_point02--content {
  width: 608px;
  padding: 0 40px;
}

.lineup .lineup_ttl_02 {
  float: left;
  padding: 24px 60px;
  border-radius: 10px;
}

.lineup .lineup_ttl_02--img {
  position: absolute;
  right: 60px;
  bottom: 1px;
}

@media screen and (max-width: 767px) {
  .lineup .lintup_ttl-l {
    margin: 0 0 24px;
  }

  .lineup .lineup_point,
  .lineup .lineup_point02 {
    padding: 32px 16px;
  }

  .lineup .lineup_point--content,
  .lineup .lineup_point02--content {
    width: auto;
    padding: 0;
  }

  .lineup .lineup_ttl,
  .lineup .lineup_ttl_02 {
    position: relative;
    background: none;
  }

  .lineup .lineup_ttl h3,
  .lineup .lineup_ttl_02 {
    float: none;
    padding: 0;
  }

  .lineup .lineup_ttl--img,
  .lineup .lineup_ttl_02--img {
    display: none;
  }

  .lineup .lineup_point--img ul {
    width: 100%;
  }

  .lineup .lineup_point--img li {
    width: calc(100% / 3 - 8px);
    margin: 0 8px 0 0;
  }

  .lineup .lineup_point--img li:last-child {
    margin: 0;
  }

  .lineup .lineup_point--content {
    position: relative;
  }

  .lineup .lineup_point--content:before {
    width: 10vw;
    height: 11vw;
    top: -40px;
    right: -24px;
  }

  .lineup .lineup_point--content:after {
    width: 10vw;
    height: 12vw;
    bottom: -40px;
    left: -24px;
  }

  .lineup .lineup_point02 {
    padding: 32px 16px;
    position: relative;
  }

  .lineup .lineup_point p,
  .lineup .lineup_point02 p {
    font-size: 110%;
  }
}

/*商品ラインナップ*/
.lineup .lineup_floorplan img {
  display: block;
  margin: 0 auto;
  height: auto;
}

.lineup .lineup_floorplan li {
  width: calc(100% / 2 - (40px * 1 / 2));
  background-color: #fff;
  position: relative;
  float: left;
  margin: 0 40px 20px 0;
}

.lineup .lineup_floorplan li:nth-child(1),
.lineup .lineup_floorplan li:nth-child(2),
.lineup .lineup_floorplan li:nth-child(3),
.lineup .lineup_floorplan li:nth-child(4),
.lineup .lineup_floorplan li:nth-child(5) {
  width: 100%;
  margin: 0 0 20px 0;
}

/* .lineup .lineup_floorplan li:nth-last-child(-n+2) {
  margin: 0 40px 0 0;
} */
/* .lineup .lineup_floorplan li:nth-child(odd) {
  margin: 0 0 20px 0;
} */
.lineup .lineup_floorplan li:last-child {
  margin: 0;
}

.lineup .lineup_floorplan h4 {
  padding: 32px 16px 32px 86px;
  background: #e60012;
  color: #fff;
  text-align: left;
  font-size: 140%;
}

.lineup .lineup_floorplan a {
  position: relative;
  display: block;
  transition: 1s;
}

.lineup .lineup_floorplan a:hover {
  opacity: 0.5;
}

.lineup_floorplan--list {
  width: 1000px;
  margin: auto;
}

.lineup .lineup_floorplan--glass {
  position: absolute;
  background-color: rgba(187, 220, 239, 0.8);
  width: 112px;
  height: 112px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 50%;
  margin: auto;
}

.lineup .lineup_floorplan--glass:after {
  content: "";
  display: inline-block;
  background-image: url(../images/lineup/lineup_ttl_img_02.png);
}

.lineup .lineup_floorplan--glass img {
  position: absolute;
  top: -4px;
  bottom: 0;
  left: -4px;
  right: 0;
  margin: auto;
}

.lineup .lineup_floorplan--number {
  font-size: 200%;
  color: #e60012;
  width: 80px;
  height: 83px;
  background: url(/wp/wp-content/themes/original_theme/images/lineup/img_circle.png) no-repeat center/cover;
  position: absolute;
  top: -50px;
  left: -56px;
  padding: 18px 0;
  letter-spacing: 0em;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .lineup_floorplan--list {
    width: 100%;
  }

  .lineup .lineup_floorplan li,
  .lineup .lineup_floorplan li:nth-last-child(-n + 2),
  .lineup .lineup_floorplan li:nth-child(odd) {
    width: 100%;
    margin: 0 0 20px;
  }

  .lineup .lineup_floorplan--number {
    font-size: 165%;
    width: 70px;
    height: 73px;
    padding: 16px 0;
  }

  .lineup .lineup_floorplan h4 {
    padding: 16px 16px 16px 70px;
    font-size: 130%;
  }

  .lineup .lineup_floorplan--glass {
    width: 70px;
    height: 70px;
  }

  .lineup .lineup_floorplan--glass img {
    width: 40px;
  }
}

/*標準仕様*/
.lineup .specification {
  background: url(../images/lineup/lineup_specification_bg.jpg) center/cover;
}

.lineup .specification_bg {
  background-color: #fff;
  padding: 32px;
}

.specification--bnr {
  position: relative;
}

.specification--img {
  position: absolute;
  top: -40px;
  left: 0;
}

.lineup .specification--bnr ul {
  width: 648px;
  float: right;
  position: relative;
}

.lineup .specification--bnr li {
  float: left;
  margin: 0 24px 16px 0;
}

.lineup .specification--bnr li:nth-last-child(-n + 3) {
  margin: 0 24px 0 0;
}

.lineup .specification--bnr li:nth-child(3n) {
  margin: 0 0 16px;
}

.lineup .specification--bnr li:last-child {
  margin: 0;
}

.lineup .spec {
  width: 640px;
  position: relative;
}

.lineup .spec--img {
  position: absolute;
  right: -380px;
  bottom: -32px;
}

.lineup .spec h4 {
  margin: 0 auto;
  background-color: #91c9e6;
  border-top: 1px solid #91c9e6;
  border-left: 1px solid #91c9e6;
  border-right: 1px solid #91c9e6;
  padding: 16px 0;
  font-size: 140%;
}

.lineup .spec_small {
  font-size: 80%;
}

.lineup .spec_product--list {
  -webkit-flex-wrap: wrap;
  padding: 0;
}

.lineup .spec_product--item {
  width: calc(100% / 3);
  line-height: 1.5em;
  height: 56px;
  border-top: 2px dotted #91c9e6;
  border-left: 2px dotted #91c9e6;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  background-color: #fff;
  float: left;
}

.lineup .spec_product--item:nth-child(3n) {
  border-right: 2px dotted #91c9e6;
}

.lineup .spec_product--item:nth-child(2n) {
  background: #f8f8f8;
}

.lineup .spec_product--item:nth-last-child(-n + 3) {
  border-bottom: 2px dotted #91c9e6;
}

.lineup .spec_product--item:nth-child(-n + 3) {
  border-top: none;
}

@media screen and (max-width: 767px) {
  .lineup .specification_bg {
    padding: 24px;
  }

  .lineup .specification--bnr ul {
    width: 100%;
    float: none;
    margin: 0 0 32px;
  }

  .lineup .specification--bnr li,
  .lineup .specification--bnr li:nth-last-child(-n + 3),
  .lineup .specification--bnr li:nth-child(3n) {
    width: calc(100% / 2 - 4px);
    margin: 0 8px 8px 0;
  }

  .lineup .specification--bnr li:nth-last-child(-n + 2) {
    margin: 0 8px 0 0;
  }

  .lineup .specification--bnr li:nth-child(2n) {
    margin: 0 0 8px;
  }

  .lineup .specification--img {
    position: relative;
    top: 0;
  }

  .lineup .spec {
    width: 100%;
  }

  .lineup .spec h4 {
    padding: 8px 0;
    font-size: 120%;
  }

  .lineup .spec_product--list {
    margin: 0;
  }

  .lineup .spec_product--item,
  .lineup .spec_product--item:nth-child(3n),
  .lineup .spec_product--item:nth-last-child(-n + 3) {
    width: 100%;
    border-top: none;
    border-bottom: 2px dotted #91c9e6;
    border-left: 2px dotted #91c9e6;
    border-right: 2px dotted #91c9e6;
    float: none;
  }

  .lineup .spec--img {
    right: 0;
    bottom: -24px;
    position: relative;
  }
}

/*基礎工事・断熱*/
.lineup .lineup_point03 {
  margin: 0 auto;
}

.lineup .lineup_point03 img {
  display: block;
}

.lineup .lineup_point03--content {
  width: 488px;
  background: url(../images/lineup/lineup_img_bg.png) no-repeat center/cover;
  padding: 100px 0;
}

.lineup .basis_txt--ttl-r::before {
  background: #e60012;
}

.lineup .insulation_txt--ttl-l {
  font-family: JIS2004, Hiragino Kaku Gothic W7 JIS2004;
  font-size: 250%;
  padding: 0 0 32px;
  position: relative;
}

.lineup .insulation_txt--ttl-l::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 64px;
  height: 8px;
}

.lineup .insulation_txt--ttl-l::before {
  background: #e60012;
}

@media screen and (max-width: 767px) {
  .lineup .lineup_point03 img {
    margin: 0 0 24px;
  }

  .lineup .lineup_point03--content {
    width: 100%;
    background: url(../images/lineup/lineup_img_bg.png) no-repeat center/contain;
    padding: 56px 0 32px;
    margin: 0 0 32px;
  }

  .lineup .lineup_point03 .inner:last-child .lineup_point03--content {
    margin: 0;
  }

  .lineup .lineup_point03 .section--ttl-r {
    font-size: 160%;
    padding: 0 0 10px;
    margin: 0 0 24px;
  }

  .lineup .lineup_point03 .section--ttl-r::before {
    width: 40px;
    height: 4px;
  }
}

/*保証について*/
.lineup .security {
  background: url(../images/lineup/lineup_security_bg.jpg) center/cover;
}

.lineup .security_ttl {
  font-size: 24px;
  position: relative;
}

.lineup .security--list {
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.lineup .security--item {
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  padding: 0 72px;
  width: 384px;
  height: 384px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.lineup .security--item:nth-child(1) {
  margin: 0 0 40px 124px;
}

.lineup .security--item:nth-child(2) {
  margin: 0 124px 40px 0;
}

.security--comment_img {
  position: absolute;
  bottom: -98px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .lineup .security--item,
  .lineup .security--item:nth-child(1),
  .lineup .security--item:nth-child(2) {
    width: 100%;
    height: auto;
    padding: 16px;
    margin: 0 0 24px;
    border-radius: 10px;
    display: block;
  }

  .lineup .security--item:last-child {
    margin: 0;
  }

  .lineup .security--item img {
    width: 56px;
  }

  .security--comment_img {
    position: relative;
    bottom: -64px;
  }
}

/* foundation, insulation
 **************************************** */
.lineup .foundation,
.lineup .insulation {
  position: relative;
}

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

    COMPANY 会社案内

===================================================================================== */
/* greeting
 **************************************** */
.company .img_greeting.flt-rgt {
  margin: 0 0 32px 32px;
}

@media screen and (max-width: 767px) {
  .company .img_greeting.flt-rgt {
    margin: 0 auto 16px;
    float: none;
    display: block;
    max-height: 65vw;
  }
}

/* philosophy, policy
 **************************************** */
.company .philosophy--content {
  font-size: 180%;
}

.company .policy--content {
  font-size: 150%;
  line-height: 1.75em;
}

@media screen and (max-width: 767px) {
  .company .philosophy--content {
    font-size: 160%;
  }

  .company .policy--content {
    font-size: 115%;
    text-align: left;
    margin: 0 0 16px;
  }
}

/* profile, history
 **************************************** */
.company .profile--table,
.company .history--table {
  width: 740px;
  margin: 0 auto;
}

.company .profile--table th,
.company .profile--table td {
  border: 2px solid #ddd;
  padding: 8px 16px;
  vertical-align: middle;
}

.company .profile--table th {
  width: 15%;
  background: #fcf8f7;
}

.company .history--table th,
.company .history--table td {
  padding: 8px 16px;
}

.company .history--table th {
  width: 20%;
  border-bottom: 2px solid #e60012;
  color: #e60012;
  font-size: 120%;
}

.company .history--table td {
  border-bottom: 2px solid #ddd;
}

@media screen and (max-width: 767px) {
  .company .profile--table,
  .company .history--table {
    width: 100%;
  }

  .company .profile--table th,
  .company .profile--table td,
  .company .history--table th,
  .company .history--table td {
    padding: 6px 12px;
  }

  .company .history--table th {
    width: 30%;
    font-size: 100%;
  }
}

/* client
 **************************************** */
.company .client--list {
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

.company .client--item {
  width: calc(100% / 3);
  margin: 0 0 40px;
  padding: 0 24px;
}

.company .client--item:nth-last-child(-n + 3) {
  margin: 0;
}

.company .client--name {
  font-size: 130%;
}

.company .client--link {
  display: block;
}

.company .client--link:hover {
  opacity: 0.7;
}

.company .client--img,
.company .client--comment {
  width: 100%;
  height: 200px;
  position: relative;
}

.company .client--comment {
  width: 100%;
  height: 200px;
  background: #fff;
  border-radius: 10px;
}

.company .client--img img,
.company .client--comment img {
  max-width: 90%;
  max-height: 90%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .company .client--list {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }

  .company .client--item {
    width: 100%;
    margin: 0 0 calc(40px * 0.8);
    padding: 0;
  }

  .company .client--item:nth-last-child(-n + 3) {
    margin: 0 0 calc(40px * 0.8);
  }

  .company .client--item:last-child {
    margin: 0;
  }

  .company .client--name {
    font-size: 120%;
  }

  .company .client--link {
    display: block;
  }

  .company .client--link:hover {
    opacity: 0.7;
  }

  .company .client--img,
  .company .client--comment {
    width: 100%;
    height: 200px;
    position: relative;
  }

  .company .client--comment {
    width: 100%;
    height: 200px;
    background: #fff;
    border-radius: 10px;
  }

  .company .client--img img,
  .company .client--comment img {
    max-width: 95%;
    max-height: 95%;
  }
}

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

    RESERVATION 来店・見学予約

===================================================================================== */
.reservation--imgs {
  width: 100%;
  max-width: 776px;
  margin-left: auto;
  margin-right: auto;
}

.reservation .form a {
  font-size: 100%;
  color: #f55;
  text-decoration: underline;
}

.reservation .form a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .reservation--imgs {
    margin-bottom: 24px;
  }
}

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

    住宅ローン相談

===================================================================================== */
.loan_check {
  background: url(../images/lineup/lineup_specification_bg.jpg) center/cover;
}
.check_list-wrap {
  position: relative;
  padding: 5em;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 8px 8px 0 rgba(200, 197, 111, 0.3);
}
.check_list-wrap::after {
  content: "";
  position: absolute;
  right: -5%;
  bottom: 0;
  z-index: 10;
  pointer-events: none;
  width: calc(463px / 1.75);
  aspect-ratio: 463 / 396;
  background-image: url(../images/loan/mascot-img.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.check_list {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.check_list li {
  position: relative;
  padding-left: 3.75em;
  text-indent: -1.5em;
  margin-bottom: 0.5em;
  font-size: 125%;
}
.check_list li::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 1.25em;
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  border: 2px solid #e60012;
}
.check_list li::after {
  content: "";
  position: absolute;
  top: 0em;
  left: 0.5em;
  width: 0.75em;
  aspect-ratio: 1 / 2;
  transform: rotate(45deg);
  border-right: 4px solid #e60012;
  border-bottom: 4px solid #e60012;
}
.loan_merit {
  background: url(../images/lineup/lineup_security_bg.jpg) center/cover;
}
.merit_list li {
  width: 33.33%;
  padding-left: 1%;
  padding-right: 1%;
  margin-bottom: 2em;
  text-align: center;
  font-size: 125%;
}
.merit_list li img {
  margin-bottom: 1em;
}
.merit_txt {
  font-size: 150%;
  text-align: center;
}
.flow_list li {
  position: relative;
  padding-left: 86px;
  counter-increment: number;
}
.flow_list li:not(:last-child) {
  padding-bottom: 64px;
}
.flow_list li:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 64px;
  left: 32px;
  display: block;
  width: 0;
  height: calc(100% - 80px);
  border-right: 3px solid;
}
.flow_list .ttl {
  position: relative;
  font-size: 200%;
  margin-bottom: 0.5em;
  color: #e60012;
}
.flow_list .ttl::after {
  content: counter(number);
  position: absolute;
  top: -4px;
  left: -80px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  text-align: center;
  color: #000;
  background: repeating-linear-gradient(-45deg, #ffe100, #ffe100 9px, #ffea4d 0%, #ffea4d 18px);
  font-weight: bold;
}

.page_cta {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 64px;
  padding: 24px 48px;
  border: solid 1px #e60012;
  border-radius: 3px;
  background-color: #fff;
}
.flow_list .page_cta {
  max-width: 100%;
  margin-top: 24px;
  padding: 20px;
  padding-left: 0;
}
.page_cta .tel {
  margin-left: 24px;
}
.page_cta .tel .num {
  font-size: 200%;
  white-space: nowrap;
}
.page_cta .tel i {
  width: 32px;
  height: 32px;
  padding: 7px;
  margin-right: 8px;
  font-size: 74%;
}
.page_cta .tel .hour {
  margin-left: 40px;
}

/* loan_payment */
.loan_payment-img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.loan_payment--sp {
  display: none;
  position: absolute;
}
@media screen and (max-width: 767px) {
  /* .page_cta */
  .page_cta {
    padding: 24px;
    margin-top: 40px;
  }
  .page_cta .btn-booking {
    margin-left: 8px;
  }
  /* loan_check */
  .check_list-wrap::after {
    width: calc(463px / 2.1);
    bottom: -74px;
  }
  /* loan_payment */
  .loan_payment--txt-top {
    font-size: 120%;
  }
  .loan_payment--txt-btm {
    font-size: 150%;
  }
  .loan_payment--help_text {
    display: block;
  }
  .loan_payment--sp {
    display: block;
    position: relative;
  }
  .loan_payment--pc {
    display: none;
    position: absolute;
  }
  .point--slider {
    position: relative;
  }
  .slick-track {
    padding-bottom: 80px;
  }
  .slick-arrow {
    position: absolute;
    top: 35%;
    cursor: pointer;
    z-index: 1;
  }
  .slick-next {
    right: 26%;
  }
  .slick-prev {
    transform: scale(-1, 1);
    left: 26%;
  }
  .slick-arrow::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    color: #e60012;
    width: 24px;
    height: 24px;
    border-top: solid 2px;
    border-right: solid 2px;
    transform: rotate(45deg);
  }
  .point--content {
    height: auto;
    margin-inline: 16px;
    opacity: 0.5;
    position: relative;
  }
  .slick-center.point--content {
    opacity: 1;
  }
  .point .slick-dots {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
  }
  .point .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 8px;
    cursor: pointer;
    border: 2px solid #ddd;
    border-radius: 50%;
  }
  .point .slick-dots li button {
    font-size: 0;
    display: block;
    border: 0;
    outline: none;
    background-color: transparent;
  }
  .point .slick-dots .slick-active {
    background-color: #e60012;
  }

  /* loan_merit */
  .merit_list {
    justify-content: start;
  }
  .merit_list li {
    font-size: 120%;
    width: 50%;
  }

  /* loan_flow */
  .flow_list .page_cta {
    padding: 20px;
  }
}
@media screen and (max-width: 670px) {
  .slick-prev {
    left: 20%;
  }
  .slick-next {
    right: 20%;
  }
  .page_cta {
    padding: 24px 16px;
  }
  .page_cta .tel {
    margin-left: 16px;
  }
  .page_cta-flow {
    display: block;
    margin: 16px 0 0;
  }
  .page_cta-flow .btn-booking {
    margin: 0 auto 8px;
  }
  .page_cta-flow .tel {
    margin-left: 0;
  }
}
@media screen and (max-width: 564px) {
  .page_cta {
    display: block;
  }
  .page_cta .btn-booking {
    margin: 0 auto 8px;
  }
  .page_cta .tel {
    margin-left: 0;
  }
}
@media screen and (max-width: 540px) {
  .slick-prev {
    left: 40px;
  }
  .slick-next {
    right: 40px;
  }
  .point--content {
    margin-inline: 8px;
  }
}
@media screen and (max-width: 414px) {
  .check_list-wrap {
    padding: 2em;
  }
  .check_list li {
    padding-left: 2.5em;
    text-indent: 0;
    margin-bottom: 0;
    font-size: 112%;
  }
  .check_list-wrap::after {
    width: calc(463px / 2.6);
    bottom: -96px;
  }
  .point--content {
    width: 300px;
    height: auto;
  }
  .merit_list li {
    font-size: 112%;
  }
  .flow_list .ttl {
    font-size: 150%;
  }
  .page_cta-flow .tel .num {
    font-size: 180%;
  }
  .page_cta-flow .tel i {
    padding: 9px;
  }
}

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

    ARCHIVE, SINGLE

===================================================================================== */
.eyecatch--link {
  display: block;
  position: relative;
  z-index: 1;
}

.eyecatch--link:hover {
  opacity: 0.7;
}

/* main-column
 **************************************** */
.main-column {
  float: left;
  width: 796px;
}

.post--content,
.single--content {
  padding: 32px;
  background: #fff;
  border-radius: 10px;
  position: relative;
}

.post--content {
  margin: 0 0 32px;
  height: 402px;
}

.post--content.no_post,
.jirei .post--content.no_post,
.kansyasai .post--content.no_post {
  width: 100%;
  height: auto;
  float: none;
}

.post--content:last-of-type {
  margin: 0;
}

.post--link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0);
}

.post--link:hover {
  background: rgba(255, 255, 255, 0.3);
}

.post--ttl,
.single--ttl {
  font-size: 200%;
  padding: 0 0 0 24px;
  margin: 0 0 16px;
  position: relative;
}

.post--ttl::before,
.single--ttl::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 8px;
  height: 90%;
  background: #e60012;
}

.post--info {
  text-align: right;
  margin: 0 0 16px;
}

.post--eyecatch {
  width: 320px;
  height: 240px;
  float: left;
  margin: 0 32px 0 0;
}

.single--eyecatch {
  width: 100%;
  margin: 0 0 24px;
  position: relative;
}

.single--eyecatch img {
  max-height: 400px;
  display: block;
  margin: 0 auto;
}

.single--movie {
  margin: 0 0 16px;
}

@media screen and (max-width: 767px) {
  .main-column {
    width: 100%;
    float: none;
  }

  .post--content,
  .single--content {
    padding: 24px;
  }

  .post--content {
    height: auto;
    margin: 0 0 24px;
  }

  .post--ttl,
  .single--ttl {
    font-size: 160%;
    padding: 0 0 0 16px;
    margin: 0 0 8px;
  }

  .post--ttl::before,
  .single--ttl::before {
    width: 6px;
  }

  .post--info {
    margin: 0 0 8px;
  }

  .post--eyecatch {
    width: 100%;
    height: 50vw;
    float: none;
    margin: 0 0 16px;
  }

  .single--eyecatch {
    height: 50vw;
    margin: 0 0 16px;
  }

  .single--eyecatch img {
    max-height: 50vw;
  }

  .single--movie {
    margin: 0 0 8px;
  }

  .single--movie iframe {
    width: 100%;
    height: 50vw;
  }
}

/* side-column
 **************************************** */
.side-column {
  float: right;
  width: 240px;
}

.side-section {
  background: #fff;
  padding: 72px 32px 32px 32px;
  border-radius: 10px;
  position: relative;
}

.side-ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  padding: 6px 0;
  text-align: center;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  font-family: ヒラギノ角ゴ W7 JIS2004, Hiragino Kaku Gothic W7 JIS2004;
  font-size: 140%;
}

.side-section li {
  border-bottom: 2px dashed #eee;
}

.side-section li:last-child {
  border: none;
}

.side-section li a {
  display: block;
  padding: 8px 0;
}

.side-section li a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .side-column {
    width: 100%;
    margin: 24px 0 0;
  }
}

/* wp-pagenavi
 **************************************** */
.wp-pagenavi {
  text-align: center;
  padding: 40px 0 0;
}

.wp-pagenavi .pages {
  display: none;
}

.wp-pagenavi a,
.wp-pagenavi .current {
  height: 32px;
  line-height: 32px;
  display: inline-block;
  background: #e60012;
  color: #fff;
  margin: 0 2px;
  padding: 0 16px;
  text-decoration: none;
  font-weight: 300;
  font-size: 107%;
  border: 2px solid #e60012;
  border-radius: 4px;
}

.wp-pagenavi a:hover {
  background: #ed4c59;
  border: 2px solid #ed4c59;
}

.wp-pagenavi .current {
  border: 2px solid #ddd;
  color: #ddd;
}

.wp-pagenavi .extend {
  color: #e60012;
  margin: 0 8px;
}

.wp-pagenavi .current {
  background: transparent;
}

.nextpostslink,
.previouspostslink {
  position: relative;
  background: none !important;
  border: none !important;
  padding: 2px 16px !important;
}

.previouspostslink:before,
.nextpostslink:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  border-top: 2px solid #e60012;
  border-right: 2px solid #e60012;
}

.previouspostslink:before {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.previouspostslink:before {
  left: 20px;
}

.nextpostslink:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.nextpostslink:before {
  right: 20px;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi {
    padding: 32px 0 0;
    font-size: 90%;
  }

  .wp-pagenavi a,
  .wp-pagenavi .current {
    padding: 0 8px;
  }

  .previouspostslink:before,
  .nextpostslink:before {
    width: 12px;
    height: 12px;
  }

  .nextpostslink,
  .previouspostslink {
    padding: 2px 12px !important;
  }
}

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

    SINGLE

===================================================================================== */
/* Wysiwyg editor
 **************************************** */
.wysiwyg {
  text-align: justify;
  text-justify: inter-ideograph;
  -ms-text-justify: inter-ideograph;
}

.wysiwyg ul,
.wysiwyg ol {
  margin: 1em 0;
  padding: 0 0 0 1em;
}

.wysiwyg ul li,
.wysiwyg ol li {
  position: relative;
  margin: 0;
  border-bottom: none;
  padding: 0;
  padding-top: 8px;
  line-height: 1.65;
  list-style: disc;
}

.wysiwyg ul li {
  margin: 0;
}

.wysiwyg ol li {
  list-style-type: decimal;
}

.wysiwyg img {
  margin: 20px 0;
  max-width: 100%;
  height: auto;
}

.wysiwyg hr {
  border-top: 3px double #ccc;
  background: transparent;
}

.wysiwyg .alignleft {
  float: left;
  clear: left;
  margin: 0 24px 24px 0;
}

.wysiwyg .alignright {
  float: right;
  clear: right;
  margin: 0 0 24px 24px;
}

.wysiwyg .aligncenter {
  display: block;
  margin: 24px auto;
}

.wysiwyg table {
  border: 2px solid #ccc;
  max-width: 100%;
  margin: 20px 0;
  line-height: 1.6;
}

.wysiwyg a,
.text-link {
  text-decoration: underline;
  color: #d00a23;
}

.wysiwyg table th,
.wysiwyg table td {
  padding: 8px 16px;
  border: 1px solid #ccc;
  font-size: 93%;
  vertical-align: middle;
}

.wysiwyg table th {
  white-space: nowrap;
}

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5 {
  font-weight: normal;
  border-left: 5px solid;
  padding-left: 10px;
  line-height: 1;
  margin-bottom: 20px;
}

.wysiwyg h1 {
  font-size: 172%;
}

.wysiwyg h2 {
  font-size: 158%;
}

.wysiwyg h3 {
  font-size: 143%;
}

.wysiwyg h4 {
  font-size: 129%;
}

.wysiwyg h5 {
  font-size: 115%;
}

.wysiwyg p {
  margin-bottom: 1em;
  letter-spacing: 0.1em;
}

.wysiwyg p:last-child {
  margin: 0;
}

.wysiwyg blockquote {
  margin: 1em 0;
  padding: 15px 40px;
  border-radius: 3px;
  position: relative;
  display: inline-block;
  font-style: oblique;
  color: #666;
}

.wysiwyg blockquote p {
  margin-bottom: 0;
}

.wysiwyg blockquote::before,
.wysiwyg blockquote::after {
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
  font-size: 100%;
  position: absolute;
  width: 1em;
  height: 1em;
}

.wysiwyg blockquote::before {
  content: "\f10d";
  top: 13px;
  left: 10px;
}

.wysiwyg blockquote::after {
  content: "\f10e";
  bottom: 13px;
  right: 10px;
}

@media screen and (max-width: 767px) {
  .wysiwyg {
    font-size: 100%;
  }

  .wysiwyg .alignright,
  .wysiwyg .alignleft {
    float: none;
    margin: 20px auto;
    display: block;
  }

  .wysiwyg blockquote {
    padding: 15px;
  }

  .wysiwyg blockquote::before {
    top: 0;
    left: 0;
  }

  .wysiwyg blockquote::after {
    bottom: 0;
    right: 0;
  }

  .wysiwyg ul li,
  .wysiwyg ol li {
    margin-left: 1em;
  }

  .wysiwyg ul li {
    padding-left: 0;
  }

  .wysiwyg ul li::before {
    left: -14px;
    padding-top: 6px;
    font-size: 12px;
  }

  div.box-graybg,
  div.box-line {
    padding: 25px;
  }
}

/* pageNav
 **************************************** */
#pageNav {
  width: 100%;
  text-align: center;
  padding: 40px 0 0;
}

.pageNav--item {
  display: inline-block;
  vertical-align: top;
  color: #eee;
}

.pageNav--item:nth-child(1),
.pageNav--item:nth-child(3) {
  width: 40%;
}

.pageNav--item:nth-child(2) {
  width: 20%;
}

.pageNav--item a {
  display: block;
  padding: 8px 24px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #e60012;
  position: relative;
}

.pageNav--item a:hover {
  color: #ed4c59;
}

.pageNav--item:nth-child(1) a:before,
.pageNav--item:nth-child(3) a:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  border-top: 2px solid #e60012;
  border-right: 2px solid #e60012;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.pageNav--item:nth-child(1) a:before {
  left: 10px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.pageNav--item:nth-child(3) a:before {
  right: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.pageNav--item:nth-child(2) a {
  border-radius: 4px;
  background: #e60012;
  color: #fff;
}

.pageNav--item:nth-child(2) a:hover {
  background: #ed4c59;
  color: #fff;
}

.pageNav--item:nth-child(1) a:hover:before,
.pageNav--item:nth-child(3) a:hover:before {
  border-top: 2px solid #ed4c59;
  border-right: 2px solid #ed4c59;
}

.btn-top {
  display: none;
}

@media screen and (max-width: 767px) {
  #pageNav {
    width: 100%;
    padding: 32px 0 0;
    font-size: 90%;
  }

  .pageNav--item a {
    padding: 4px 12px;
  }

  .pageNav--item:nth-child(1) a:before,
  .pageNav--item:nth-child(3) a:before,
  .pageNav--item:nth-child(1) a:after,
  .pageNav--item:nth-child(3) a:after {
    width: 16px;
    height: 16px;
  }

  .pageNav--item:nth-child(1) a:before,
  .pageNav--item:nth-child(1) a:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }

  .pageNav--item:nth-child(1) a:before {
    left: 3px;
  }

  .pageNav--item:nth-child(1) a:after {
    left: 40px;
    opacity: 0;
  }

  .pageNav--item:nth-child(3) a:before,
  .pageNav--item:nth-child(3) a:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .pageNav--item:nth-child(3) a:before {
    right: 3px;
  }

  .pageNav--item:nth-child(3) a:after {
    right: 40px;
    opacity: 0;
  }
}

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

    VOICE お客様の声

===================================================================================== */
.voice .main-column,
.events .main-column {
  float: none;
  margin: 0 auto;
  width: 960px;
}

.voice .side-column,
.events .side-column {
  display: none;
}

.voice .eyecatch--link {
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .voice .main-column,
  .events .main-column {
    width: 100%;
  }

  .voice .eyecatch--link {
    pointer-events: all;
  }
}

/* archive
 **************************************** */

/* single
 **************************************** */
.voice .comment_image {
  width: 240px;
  height: 160px;
  float: left;
}

.voice .customer {
  padding: 16px;
  border-radius: 4px;
  width: 240px;
  margin: 0 0 24px 24px;
}

.voice .customer--info {
  margin: 0 0 32px;
}

.voice .customer--info:last-child {
  margin: 0;
}

.voice .customer small {
  display: block;
}

.voice .customer--comment {
  width: 208px;
  height: 208px;
}

.voice .customer--ttl {
  font-size: 105%;
  position: relative;
}

.voice .customer--ttl::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .voice .customer {
    width: 100%;
    float: none;
    margin: 0 0 16px;
  }

  .voice .customer--info {
    margin: 0 0 24px;
  }

  .voice .customer--comment {
    width: 80px;
    height: 80px;
    margin: 0 auto calc(8px * 0.8);
  }

  .voice .customer--ttl {
    font-size: 95%;
  }

  .voice .customer--ttl::before {
    top: -16px;
  }
}

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

    JIREI 施工事例

===================================================================================== */
.jirei .main-column {
  float: none;
  margin: 0 auto;
  width: 100%;
}

.jirei .side-column {
  display: none;
}

/* archive
 **************************************** */
.jirei .post--content {
  width: calc(100% / 2 - 32px);
  height: 524px;
  margin: 0 32px 32px 0;
  float: left;
}

.jirei .post--content:nth-last-child(-n + 2) {
  margin: 0 32px 0 0;
}

.jirei .post--content:nth-child(2n) {
  margin: 0 0 32px;
}

.jirei .post--content:last-child {
  margin: 0;
}

.jirei .post--ttl {
  font-size: 160%;
  padding: 0 0 0 16px;
  margin: 0 0 8px;
  position: relative;
}

.jirei .post--ttl::before {
  width: 6px;
}

.jirei .post--info {
  margin: 0 0 8px;
}

.jirei .post--eyecatch {
  width: 100%;
  height: 300px;
  margin: 0 0 16px;
}

@media screen and (max-width: 767px) {
  .jirei .post--content {
    width: 100%;
    height: auto;
    float: none;
    margin: 0 0 24px;
  }

  .jirei .post--content:nth-last-child(-n + 2) {
    margin: 0 0 24px;
  }

  .jirei .post--content:nth-child(2n) {
    margin: 0 0 24px;
  }

  .jirei .post--eyecatch {
    height: 50vw;
  }
}

/* panorama
 **************************************** */
.jirei .panorama {
  padding-top: 0;
}

.jirei .panorama--link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(255, 255, 255, 0);
}

.jirei .panorama--link:hover {
  background: rgba(255, 255, 255, 0.4);
}

.jirei .jirei--panorama--list {
  width: 800px;
  margin: auto;
}

.jirei .panorama--img {
  width: 280px;
  height: 200px;
}

.jirei .panorama .ttl-b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jirei .panorama--content {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 4px 0;
}

.jirei .panorama .btn-r {
  width: 400px;
  margin: 80px auto 0;
}

.jirei .panorama--item {
  position: relative;
}

.jirei .panorama--item .txtarea {
  width: calc(100% - 320px);
  padding: 30px 0;
}

@media screen and (max-width: 767px) {
  .jirei .jirei--panorama--list {
    width: 100%;
    padding: 5px 0 20px;
  }

  .jirei .panorama--item {
    padding: 36px 16px 0;
  }

  .jirei .panorama--img {
    width: 100%;
    height: 48vw;
    margin: 0 auto calc(16px * 0.8);
  }

  .jirei .panorama .btn-r {
    width: 90%;
    margin: calc(80px * 0.8) auto 0;
  }

  .jirei .panorama .ttl-b {
    position: absolute;
    top: 0;
  }

  .jirei .panorama--item .txtarea {
    width: 100%;
    padding: 0 0 20px;
  }
}

/* single
 **************************************** */
.jirei .single .main-column {
  width: 796px;
}

.jirei .bx-wrapper .single--eyecatch,
.kansyasai .bx-wrapper .single--eyecatch {
  background: #000;
  height: 400px;
  position: relative;
}

.jirei .bx-wrapper .single--eyecatch img,
.kansyasai .bx-wrapper .single--eyecatch img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.jirei #bx-pager,
.kansyasai #bx-pager {
  position: relative;
  overflow: hidden;
  display: none;
  margin: 0 auto;
}

.jirei #bx-pager li,
.kansyasai #bx-pager li {
  margin: 0 8px 16px 8px;
}

.jirei #bx-pager li a,
.kansyasai #bx-pager li a {
  display: block;
  width: 49px;
  height: 49px;
}

@media screen and (max-width: 767px) {
  .jirei .single .main-column {
    width: 100%;
  }

  .jirei .bx-wrapper .single--eyecatch,
  .kansyasai .bx-wrapper .single--eyecatch {
    height: 50vw;
  }

  .jirei #bx-pager li,
  .kansyasai #bx-pager li {
    margin: 0 4px 8px 4px;
  }

  .jirei #bx-pager li a,
  .kansyasai #bx-pager li a {
    display: block;
    width: 32px;
    height: 32px;
  }
}

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

    KANSYASAI 感謝祭

===================================================================================== */
.kansyasai #bx-pager {
  margin: inherit;
}

/* archive
 **************************************** */
.kansyasai .post--content {
  height: 400px;
}

.kansyasai .post--eyecatch {
  width: 308px;
  height: 232px;
}

.kansyasai .post--content #bx-pager {
  height: 232px;
  overflow: hidden;
}

.kansyasai .post--content #bx-pager li {
  margin: 0 8px 8px 0;
}

.kansyasai .post--content #bx-pager li:nth-last-child(-n + 5) {
  margin: 0 8px 0 0;
}

.kansyasai .post--content #bx-pager li:nth-child(5n) {
  margin: 0 0 8px 0;
}

.kansyasai .post--content #bx-pager li:last-child {
  margin: 0;
}

.kansyasai .post--content #bx-pager li a {
  width: 72px;
  height: 72px;
}

@media screen and (max-width: 767px) {
  .kansyasai .post--content {
    height: auto;
  }

  .kansyasai .post--eyecatch {
    width: 100%;
    height: 50vw;
  }

  .kansyasai .post--content #bx-pager {
    height: auto;
    margin: 0;
  }

  .kansyasai .post--content #bx-pager li {
    width: calc(100% / 4 - 3px);
    margin: 0 4px 4px 0;
  }

  .kansyasai .post--content #bx-pager li:nth-last-child(-n + 5),
  .kansyasai .post--content #bx-pager li:nth-child(5n) {
    margin: 0 4px 4px 0;
  }

  .kansyasai .post--content #bx-pager li:nth-last-child(-n + 4) {
    margin: 0 4px 0 0;
  }

  .kansyasai .post--content #bx-pager li:nth-child(4n) {
    margin: 0 0 4px 0;
  }

  .kansyasai .post--content #bx-pager li:last-child {
    margin: 0;
  }

  .kansyasai .post--content #bx-pager li a {
    width: 100%;
    height: 18vw;
  }
}

/* single
 **************************************** */
.kansyasai .single--content .wysiwyg {
  margin: 24px 0 0;
}

.kansyasai .single--content #bx-pager li {
  margin: 0 13px 13px 0;
}

.kansyasai .single--content #bx-pager li:nth-last-child(-n + 8) {
  margin: 0 13px 0 0;
}

.kansyasai .single--content #bx-pager li:nth-child(8n) {
  margin: 0 0 13px 0;
}

.kansyasai .single--content #bx-pager li:last-child {
  margin: 0;
}

.kansyasai #bx-pager li a {
  width: 80px;
  height: 80px;
}

@media screen and (max-width: 767px) {
  .kansyasai .single--content #bx-pager li,
  .kansyasai .single--content #bx-pager li:nth-last-child(-n + 8),
  kansyasai .single--content #bx-pager li:nth-child(8n) {
    width: calc(100% / 4 - 3px);
    margin: 0 4px 4px 0;
  }

  .kansyasai .single--content #bx-pager li:nth-last-child(-n + 4) {
    margin: 0 4px 0 0;
  }

  .kansyasai .single--content #bx-pager li:nth-child(4n) {
    margin: 0 0 4px 0;
  }

  .kansyasai .single--content #bx-pager li:last-child {
    margin: 0;
  }

  .kansyasai #bx-pager li a {
    width: 100%;
    height: 18vw;
  }
}

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

    MEDIA メディア掲載

===================================================================================== */
/* archive
 **************************************** */
.media .post--content {
  height: auto;
}

.media .post--eyecatch {
  width: 100%;
  height: auto;
  float: none;
  margin: 0 0 24px;
  position: relative;
}

.media .post--eyecatch img {
  max-height: 400px;
  display: block;
  margin: 0 auto;
}

.media .post--info {
  display: none;
}

@media screen and (max-width: 767px) {
  .media .post--eyecatch {
    height: 50vw;
    margin: 0 0 16px;
  }

  .media .post--eyecatch img {
    max-height: 50vw;
  }
}

/* single
 **************************************** */

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

    EVENTS イベント情報

===================================================================================== */
/* single
 **************************************** */
.events #pageNav {
  display: none;
}

.events .btn-top {
  display: block;
  text-align: center;
  padding: 40px 0 0;
}

.events .btn-top a {
  border-radius: 4px;
  background: #e60012;
  color: #fff;
  padding: 8px 40px;
}

.events .btn-top a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .sp-none {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .pc-none {
    display: none;
  }
}

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

    property 物件情報

===================================================================================== */
.property {
  padding-block: 80px;
}
.status {
  padding: 4px 12px;
  color: #fff;
  background-color: #2d6ed2;
  border-radius: 4px;
  white-space: nowrap;
}
.status01 {
  background-color: #ed7009;
}
.status02 {
  background-color: #04873a;
}
.status.post_type {
  background-color: #e60012;
}

.property .ttl_area {
  padding-block: 8px;
  margin-bottom: 24px;
  border-bottom: solid 4px #e60012;
}
.property .ttl_area .ttl {
  font-size: 30px;
}
.property .lead {
  margin-bottom: 24px;
  font-size: 20px;
}
.property .imgarea {
  margin-bottom: 24px;
  border: 1px solid #ccc;
  border-right: unset;
}
.property .image_main .img_wrap {
  width: 50%;
  aspect-ratio: 4/3;
  padding: 24px 32px;
}
.property .image_main .img_wrap .modal-trigger,
.property .image_sub .img_wrap .modal-trigger {
  display: block;
  width: 100%;
  height: 100%;
}
.property .image_main .img_wrap .modal-trigger img,
.property .image_sub .img_wrap .modal-trigger img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.property .image_main .img_wrap,
.property .image_sub {
  border-right: 1px solid #ccc;
}
.property .image_sub {
  padding: 24px 32px;
  gap: 2.5%;
  row-gap: 24px;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
  overflow: auto;
}
.property .image_sub .img_wrap {
  max-width: 18%;
  aspect-ratio: 1/1;
}
.property--info {
  margin-bottom: 24px;
}
.property--info table {
  width: 100%;
}
.property--info tr {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.property--info th {
  width: 18%;
  text-align: left;
  background-color: #fcf8f7;
  white-space: nowrap;
}
.property--info th,
.property--info td {
  padding: 16px 8px;
}
.property--info .info01 + .info02::before {
  content: "・";
}
.property .price {
  padding-right: 16px;
}

@media screen and (max-width: 767px) {
  .property .ttl_area,
  .property .lead {
    margin-bottom: 16px;
  }
  .property .ttl_area .ttl {
    font-size: 22px;
  }
  .property .imgarea,
  .property .image_sub {
    border: unset;
  }
  .property .imgarea {
    padding: 16px;
    border: 1px solid #ccc;
  }
  .property .image_main .img_wrap,
  .property .image_sub {
    border-right: unset;
  }
  .property .image_sub .img_wrap {
    max-width: calc((100% - 16px) / 3);
  }
  .property .image_main {
    padding-bottom: 8px;
    gap: 16px;
  }
  .property .image_main .img_wrap {
    width: 100%;
    padding: 0;
  }
  .property .image_sub {
    flex-wrap: wrap;
    padding: 8px 0 0 0;
    gap: 8px;
    column-gap: 8px;
  }
  .property--info tr {
    border: unset;
  }
  .property--info th,
  .property--info td {
    display: block;
    width: 100%;
  }
}

.modal-trigger {
  cursor: pointer;
  transition: all 0.4s ease-out;
  transition: var(--transit-default);
}
.modal-trigger:hover {
  opacity: 0.7;
}

.modal-common {
  position: fixed;
  top: calc(50% + 40px);
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1080px;
  height: calc(100% - 188px);
  z-index: 9990;
  border-radius: 0.3125rem;
  padding: 32px 40px;
  border: 2px solid #8fa6b7;
  border: 2px solid var(--clr-sub, #ccc);
  background-color: #fff;
  background-color: var(--bg-wht, #fff);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease-out;
  transition: var(--transit-default, all 0.4s ease-out);
}
.modal-common img {
  max-height: 100%;
}
@media screen and (max-width: 47.9375em) {
  .modal-common {
    max-height: 60vh;
    padding: 16px;
  }
}
.modal-common .close {
  position: absolute;
  top: -2.1875rem;
  right: 0;
  width: 1.5rem;
  height: 1.1875rem;
  pointer-events: none;
}
.modal-common .close::before,
.modal-common .close::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  border-radius: 9999px;
  background-color: #fff;
  background-color: var(--bg-wht, #fff);
}
.modal-common .close::before {
  transform: rotate(45deg);
}
.modal-common .close::after {
  transform: rotate(-45deg);
}
.modal-common + .overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease-out;
  transition: var(--transit-default, all 0.4s ease-out);
  cursor: pointer;
}
.modal-common.active,
.modal-common.active + .overlay {
  opacity: 1;
  pointer-events: auto;
}

/* archive */
.arc-property {
  position: relative;
  padding-block: 40px;
}
.arc-property .post-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.arc-property--categories {
  padding-bottom: 40px;
  gap: 16px;
}
.arc-property--category {
  position: relative;
  width: 160px;
  padding: 16px;
  border: 1px solid #000;
  border-radius: 4px;
  transition: all 0.5s ease;
}
.arc-property--category:hover {
  background-color: #e60012;
  border-color: #fff;
}
.arc-property--category:hover::after {
  border-color: transparent transparent transparent #fff;
}
.arc-property--category:hover a {
  color: #fff;
}
.arc-property--category::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  width: 0;
  height: 0;
  display: block;
  margin: auto;
  border-style: solid;
  border-width: 3px 0 3px 4px;
  border-color: transparent transparent transparent #000;
}
.arc-property--category a {
  width: 100%;
  height: 100%;
}
.arc-property--category a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.arc-property--posts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding-inline: 40px;
  margin-bottom: 40px;
}
.arc-property--post {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: 60% auto;
  gap: 24px;
  padding-bottom: 40px;
  border-bottom: 1px solid #333;
  transition: all 0.5s ease;
}
.arc-property--post:hover {
  opacity: 0.7;
}
.arc-property--info .ttl {
  font-size: 20px;
  line-height: 1.7;
}
.arc-property--info {
  font-size: 16px;
}
.arc-property--info .price {
  padding-block: 8px;
  color: #ed7009;
  font-size: 24px;
  text-align: right;
}
.arc-property--info .lead {
  margin-bottom: 16px;
}
.arc-property--ttl {
  margin-bottom: 40px;
  padding-block: 8px;
  text-align: center;
  font-size: 30px;
  color: #fff;
  background-color: #e60012;
}
.arc-property--img img {
  width: 100%;
  aspect-ratio: 4/3;
  margin-top: 32px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .arc-property--ttl {
    margin-bottom: 24px;
  }
  .arc-property--posts {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-inline: 16px;
  }
  .arc-property--post {
    gap: 16px;
    padding-bottom: 24px;
  }
  .arc-property--info .ttl {
    font-size: 16px;
  }
  .arc-property--info {
    font-size: 14px;
  }
  .arc-property--info .price {
    font-size: 20px;
    white-space: nowrap;
  }
  .arc-property--ttl {
    font-size: 22px;
  }
  .arc-property--info .areas {
    font-size: 12px;
    white-space: nowrap;
  }

  .arc-property--categories {
    flex-wrap: wrap;
    gap: 2%;
    row-gap: 8px;
  }
  .arc-property--category {
    width: 32%;
  }
  .arc-property--category.sp-full {
    width: 100%;
  }
}
