@charset "UTF-8";
/* reset */
html {
  height: 100%;
  overflow-y: scroll;
  width: 100%;
}

body {
  height: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  vertical-align: top;
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  margin: 0;
}

p {
  margin: 0;
}

a img, img {
  border: 0;
  vertical-align: middle;
}

strong {
  font-style: normal;
  font-weight: bold;
}

small {
  font-size: 100%;
}

ol, ul {
  list-style-type: none;
}

dd, dl, dt, li, ol, ul {
  margin: 0;
  padding: 0;
}

hr {
  background-color: #CCCCCC;
  border: 0;
  color: #CCCCCC;
  height: 1px;
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

th {
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-align: left;
}

td, blockquote, div, span {
  margin: 0;
  padding: 0;
}

pre {
  font-family: monospace;
  line-height: 1;
  margin: 0;
  padding: 0;
}

button {
  background: 0;
  border: 0;
  cursor: pointer;
  padding: 0;
  vertical-align: middle;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

label {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

* html textarea, *:first-child + html textarea {
  margin-top: -2px;
}

abbr, acronym {
  border: 0;
}

address, caption, cite, code, dfn, em, var {
  font-style: normal;
  font-weight: normal;
}

caption {
  text-align: left;
}

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 1;
}

* + html code, * + html kbd, * + html pre, * + html samp, * + html tt {
  font-size: 108%;
}

q:after, q:before {
  content: "";
}

article, aside, audio, canvas, projects, figcaption, figure, footer, header, hgroup, mark, menu, nav, section, summary, time, video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

article, aside, projects, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

/* Vars
--------------------- */
/* Mixin
--------------------- */
/* Extend
--------------------- */
/* Clearfix */
.home-sns__item#instagram > div::after {
  clear: both;
  content: "";
  display: block;
}

/* Ellipsis */
.home-news__item dd, .home-info__items__title, .home-offer__items__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* PseudoTable */
.overlay > div, .header__logo > div, .bridal-visual, .bridal-sec4, .bridal-sec5__cols__col1, .bridal-cmn-visual, .bridal-cmn-sec1__col1 > div {
  display: table;
  height: 100%;
  width: 100%;
}

.overlay > div > *, .header__logo > div > *, .bridal-visual > *, .bridal-sec4 > *, .bridal-sec5__cols__col1 > *, .bridal-cmn-visual > *, .bridal-cmn-sec1__col1 > div > * {
  display: table-cell;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}

/* Modules
--------------------- */
/* .pc-only */
@media screen and (max-width: 960px) {
  .pc-only {
    display: none !important;
  }
}
/* .tb-only */
.tb-only, .sp-only {
  display: none !important;
}

@media screen and (max-width: 960px) {
  .tb-only {
    display: block !important;
  }
}
@media screen and (max-width: 960px) {
  br.tb-only {
    display: inline !important;
  }
}
/* .sp-only */
@media screen and (max-width: 560px) {
  .sp-only {
    display: block !important;
  }
}
@media screen and (max-width: 560px) {
  br.sp-only {
    display: inline !important;
  }
}
/* .cmn-heading1 */
.cmn-heading1 {
  padding: 60px 0 40px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .cmn-heading1 {
    padding: 6.66vw 0 4vw;
  }
}
.cmn-heading1__main {
  color: #8D8D8D;
  font-size: 3.3rem;
  line-height: 1.5;
}

@media screen and (max-width: 560px) {
  .cmn-heading1__main {
    font-size: 5.06vw;
  }
}
.cmn-heading1__sub {
  color: #AC965F;
  font-family: "EB Garamond";
  font-size: 1.6rem;
  font-style: italic;
  line-height: 1;
}

@media screen and (max-width: 560px) {
  .cmn-heading1__sub {
    font-size: 2.66vw;
  }
}
/* .cmn-heading2 */
.cmn-heading2 {
  padding: 110px 0 40px;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .cmn-heading2 {
    padding: 9vw 0 4vw;
  }
}
.cmn-heading2__main {
  color: #8D8D8D;
  font-size: 3rem;
  line-height: 1.5;
}

@media screen and (max-width: 560px) {
  .cmn-heading2__main {
    font-size: 4.66vw;
  }
}
.cmn-heading2__sub {
  color: #AC965F;
  font-family: "EB Garamond";
  font-size: 1.6rem;
  font-style: italic;
  line-height: 1;
}

@media screen and (max-width: 560px) {
  .cmn-heading2__sub {
    font-size: 2.66vw;
  }
}
.cmn-heading2__txt1 {
  font-size: 1.3rem;
  left: 50%;
  margin-left: -710px;
  max-width: 1460px;
  padding: 0 20px;
  position: absolute;
  text-align: right;
  top: 110px;
  width: 100%;
}
.cmn-heading2__txt1 p {
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 1460px) {
  .cmn-heading2__txt1 {
    left: 0;
    margin-left: 0;
  }
}
@media screen and (max-width: 960px) {
  .cmn-heading2__txt1 {
    margin-top: 36px;
    position: relative;
    text-align: center;
    top: 0;
  }
}
@media screen and (max-width: 560px) {
  .cmn-heading2__txt1 {
    padding: 0 5.33vw;
  }
}
/* .cmn-msg1 */
.cmn-msg1 {
  color: #9B7F3C;
  font-size: 2rem;
  line-height: 1;
  padding: 0 20px;
  margin-bottom: 40px;
  text-align: center;
}
.cmn-msg1 > div {
  border-bottom: 1px solid #9B7F3C;
  border-top: 1px solid #9B7F3C;
  display: inline-block;
  padding: 10px 100px;
}

@media screen and (max-width: 960px) {
  .cmn-msg1 {
    font-size: 1.25rem;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 560px) {
  .cmn-msg1 {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .cmn-msg1 > div {
    padding: 10px 0;
    text-align: left;
    width: 100%;
  }
}
/* Visual
--------------------- */
/* .cmn-visual */
.cmn-visual {
  background: url("../../img/restaurant/index_visual_bg.jpg") 50% 50% no-repeat;
  background-size: cover;
  height: 40.625vw;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .cmn-visual {
    height: 149.26vw;
  }
}
.cmn-visual__cols {
  align-items: center;
  display: flex;
  margin: 0 auto;
  width: 70.15vw;
}
.cmn-visual__cols figure {
  display: block !important;
  height: 31.25vw;
  width: 51.3vw;
}
.cmn-visual__cols figure img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .cmn-visual__cols {
    flex-direction: column;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .cmn-visual__cols figure {
    height: 65.33vw;
    width: 100%;
  }
}
.cmn-visual__contents {
  background: #fff;
  margin-left: -10.57vw;
  padding: 0.52vw;
  position: relative;
  text-align: center;
  width: 29.42vw;
}
.cmn-visual__contents::before, .cmn-visual__contents::after {
  background-color: #fff;
  content: "";
  height: 1.04vw;
  position: absolute;
  width: 1.04vw;
}
.cmn-visual__contents::before {
  left: 0;
  top: 0;
}
.cmn-visual__contents::after {
  right: 0;
  top: 0;
}
.cmn-visual__contents > div {
  border: 1px solid #707070;
  padding: 2.08vw;
}
.cmn-visual__contents > div::before, .cmn-visual__contents > div::after {
  background-color: #fff;
  content: "";
  height: 1.04vw;
  position: absolute;
  width: 1.04vw;
}
.cmn-visual__contents > div::before {
  bottom: 0;
  left: 0;
}
.cmn-visual__contents > div::after {
  bottom: 0;
  right: 0;
}
.cmn-visual__contents p {
  color: #575757;
  font-size: 0.83vw;
  line-height: 2.18;
}

@media screen and (max-width: 960px) {
  .cmn-visual__contents {
    margin: -7.33vw auto 0 !important;
    padding: 2vw;
    width: calc(100% - 10.66vw);
  }
}
@media screen and (max-width: 960px) {
  .cmn-visual__contents::before, .cmn-visual__contents::after {
    height: 4vw;
    width: 4vw;
  }
}
@media screen and (max-width: 960px) {
  .cmn-visual__contents > div {
    height: 100%;
    padding: 6vw 8vw;
  }
}
@media screen and (max-width: 960px) {
  .cmn-visual__contents > div::before, .cmn-visual__contents > div::after {
    height: 4vw;
    width: 4vw;
  }
}
@media screen and (max-width: 960px) {
  .cmn-visual__contents p {
    font-size: 3.46vw;
    line-height: 1.84;
  }
}
.cmn-visual__hd {
  color: #575757;
  font-weight: bold;
  font-size: 1.45vw;
  line-height: 1.71;
  margin-bottom: 0.5vw;
}

@media screen and (max-width: 960px) {
  .cmn-visual__hd {
    font-size: 4.26vw;
    line-height: 1.56;
    margin-bottom: 1vw;
  }
}
.cmn-visual__btn {
  margin-top: 1vw;
}
.cmn-visual__btn a {
  background-color: #1D1D1D;
  color: #fff !important;
  display: block;
  font-size: 1.04vw;
  font-weight: bold;
  margin: 0 auto;
  padding: 0.91vw 0;
  text-align: center;
  text-decoration: none;
  width: 15.62vw;
}
.cmn-visual__btn a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .cmn-visual__btn {
    margin-top: 3vw;
  }
}
@media screen and (max-width: 960px) {
  .cmn-visual__btn a {
    font-size: 3.73vw;
    padding: 4.13vw 0;
    width: 100%;
  }
}
/* .cmn-visual__btn-prev */
.cmn-visual__btn-prev {
  height: 2.08vw;
  left: 50%;
  margin-left: -40vw;
  margin-top: -1.04vw;
  position: absolute;
  top: 50%;
}
.cmn-visual__btn-prev img {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .cmn-visual__btn-prev {
    height: 6.66vw;
    left: 5.33vw;
    margin-left: 0;
    margin-top: 0;
    top: 35.8vw;
  }
}
/* .cmn-visual__btn-next */
.cmn-visual__btn-next {
  height: 2.08vw;
  margin-right: -40vw;
  margin-top: -1.04vw;
  position: absolute;
  right: 50%;
  top: 50%;
}
.cmn-visual__btn-next img {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .cmn-visual__btn-next {
    height: 6.66vw;
    margin-right: 0;
    margin-top: 0;
    right: 5.33vw;
    top: 35.8vw;
  }
}
/* .overlay__zoom */
.overlay__zoom {
  background: url("../../img/ico_zoom.svg") 50% 50% no-repeat;
  background-size: cover;
  cursor: pointer;
  height: 30px;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 30px;
}

/* .overlay */
.overlay {
  background: rgba(0, 0, 0, 0.8);
  display: none;
  height: 100vh;
  left: 0;
  padding: 20px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}

@media screen and (max-width: 560px) {
  .overlay {
    padding: 5.33vw;
  }
}
.overlay__contents {
  display: inline-block;
  max-height: calc(100vh - 40px);
  overflow: auto;
  position: relative;
}

.overlay__close {
  background: url("../../img/ico_close.svg") 50% 50% no-repeat;
  background-size: cover;
  cursor: pointer;
  height: 20px;
  position: absolute;
  right: 32px;
  top: 32px;
  width: 20px;
}

@media screen and (max-width: 560px) {
  .overlay__close {
    height: 4.6vw;
    right: 2.66vw;
    top: 2.66vw;
    width: 4.6vw;
  }
}
/* .pagination
--------------------- */
.pagination {
  margin-bottom: 40px;
}
.pagination ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .pagination {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .pagination ul {
    text-align: center;
  }
}
.pagination__item {
  display: inline-block;
  font-size: 1.6rem;
  height: 40px;
  line-height: 40px;
  margin: 0 10px 0 0;
  padding: 0;
  text-align: center;
  width: 40px;
}
.pagination__item:last-child {
  margin-right: 0;
}

.pagination__item--first, .pagination__item--last {
  display: none;
}

.pagination__item--current {
  background: #3d5f5c;
  color: #FFFFFF;
}

@media screen and (max-width: 560px) {
  .pagination__item {
    display: none;
    font-size: 4.27vw;
    height: 10.64vw;
    line-height: 10.64vw;
    margin: 0;
    width: 12%;
  }

  .pagination__item--current, .pagination__item--prev, .pagination__item--next, .pagination__item--first, .pagination__item--last {
    display: inline-block;
  }

  .pagination__item--prev, .pagination__item--next, .pagination__item--first, .pagination__item--last {
    position: absolute;
    top: 0;
  }

  .pagination__item--prev {
    left: 14%;
  }

  .pagination__item--next {
    right: 14%;
  }

  .pagination__item--first {
    left: 0;
  }

  .pagination__item--last {
    right: 0;
  }

  .pagination__item--current {
    background: 0;
    color: #000;
    width: 44%;
  }
}
.pagination__item a {
  background: #ccc;
  color: #fff;
  display: block;
  height: 100%;
  text-decoration: none;
  width: 100%;
}
.pagination__item a:hover {
  background: #3d5f5c;
  color: #FFFFFF;
}

.pagination__sp-txt {
  display: none;
}

@media screen and (max-width: 560px) {
  .pagination__sp-txt {
    color: #000;
    display: inline-block;
  }
}
@media screen and (max-width: 560px) {
  .pagination__pc-txt {
    display: none;
  }
}
/* General
--------------------- */
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  background-color: #fff;
  color: #333;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.5;
}
body * {
  box-sizing: border-box;
}

/* a */
a {
  color: #000;
  text-decoration: underline;
}
a:hover {
  color: #000;
  text-decoration: none;
}

/* #layout
--------------------- */
#layout {
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 960px) {
  #layout {
    padding-top: 13.33vw;
  }
}
/* #header
--------------------- */
#header {
  height: 7.1875vw;
  position: relative;
  width: 100%;
  z-index: 9;
}

@media screen and (max-width: 960px) {
  #header {
    background-color: #fff;
    height: 13.33vw;
    left: 0;
    position: fixed;
    top: 0;
  }
}
@media screen and (max-width: 960px) {
  .header__inner {
    background-color: #1D1D1D;
    display: none;
    height: calc(100vh - 13.33vw);
    left: 0;
    overflow: auto;
    padding: 5.86vw 10%;
    position: fixed;
    top: 13.33vw;
    width: 100%;
  }
  .header__inner > div {
    display: flex;
    flex-direction: column;
  }
}
.header__row1 {
  background-color: #1D1D1D;
  color: #fff;
  font-size: 1.2rem;
  height: 3.38vw;
  padding: 0 3.38vw 0 12.5vw;
  position: relative;
  width: 100%;
}
.header__row1:after {
  background-color: #A0CCC1;
  content: "";
  height: 3.38vw;
  position: absolute;
  right: 0;
  top: 0;
  width: 3.38vw;
}
.header__row1 span {
  cursor: pointer;
}
.header__row1 a {
  color: #fff !important;
  text-decoration: none !important;
}
.header__row1 span:hover, .header__row1 a:hover, .header__row1 .current {
  color: #AC965F !important;
}
.header__row1 > div {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: flex-end;
  padding: 0 4%;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .header__row1 {
    font-size: 2.66vw;
    height: auto;
    order: 2;
    padding: 0;
  }
}
@media screen and (max-width: 960px) {
  .header__row1 > div {
    justify-content: center;
    padding: 0;
  }
}
.lower .header__row1 {
  padding-left: 7.1875vw;
  padding-right: 0;
}
.lower .header__row1:after {
  display: none;
}

@media screen and (max-width: 960px) {
  .lower .header__row1 {
    padding-left: 0;
  }
}
.header__row1__lang {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 500;
  margin-right: 3.43vw;
}

@media screen and (max-width: 960px) {
  .header__row1__lang {
    margin-right: 8vw;
  }
}
.header__row1__size {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 500;
}

.header__row2 {
  background-color: rgba(155, 127, 60, 0.93);
  height: 3.8075vw;
  padding: 0 3.38vw 0 12.5vw;
  position: relative;
  transition: 0.3s ease-in-out;
  width: 100%;
}
.header__row2:after {
  background-color: #1D1D1D;
  content: "";
  height: 3.8075vw;
  position: absolute;
  right: 0;
  top: 0;
  width: 3.38vw;
}
.header__row2 nav {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-around;
  padding: 0 4% 0 0;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .header__row2 {
    background-color: #1D1D1D;
    height: auto;
    order: 1;
    padding: 0;
  }
}
@media screen and (max-width: 960px) {
  .header__row2 nav {
    flex-direction: column;
    height: auto;
    justify-content: space-between;
    padding: 0;
  }
}
#header.fixed .header__row2 {
  left: 0;
  padding-left: 3.8075vw;
  position: fixed;
  top: 0;
}

.lower .header__row2 {
  padding-left: 7.1875vw;
  padding-right: 0;
}
.lower .header__row2:after {
  display: none;
}

@media screen and (max-width: 960px) {
  .lower .header__row2 {
    padding-left: 0;
  }
}
/* .header__sns */
.header__sns {
  display: none;
}

@media screen and (max-width: 960px) {
  .header__sns {
    display: block;
    order: 3;
    padding: 9vw 0 0;
  }
  .header__sns ul {
    display: flex;
    justify-content: center;
  }
  .header__sns li {
    padding: 0 5.33vw;
  }
  .header__sns img {
    width: 6vw;
  }
}
/* .header__logo */
.header__logo {
  background-color: #fff;
  height: 12.5vw;
  left: 0;
  position: absolute;
  top: 0;
  transition: 0.3s ease-in-out;
  width: 12.5vw;
  z-index: 1;
}
.header__logo img {
  width: 75.83%;
}

#header.fixed .header__logo {
  background: url("../../img/logo_03.svg") 0% 0% no-repeat;
  background-size: 3.8075vw 3.8075vw;
  height: 3.8075vw;
  left: 0;
  position: fixed;
  top: 0;
  width: 3.8075vw;
}
#header.fixed .header__logo img {
  opacity: 0;
}

.lower .header__logo {
  height: 7.1875vw;
  width: 7.1875vw;
}
.lower .header__logo img {
  width: 72.76%;
}

@media screen and (max-width: 960px) {
  .header__logo, .lower .header__logo {
    left: 5.6vw;
    top: 2.53vw;
    height: auto;
    width: auto;
  }

  .header__logo img, .lower .header__logo img {
    width: 18.66vw;
  }
}
/* .header__btn-menu */
.header__btn-menu, .header__btn-reservation {
  display: none;
}

@media screen and (max-width: 960px) {
  .header__btn-menu {
    background: #1D1D1D url("../../img/header_btn_menu.svg") 0% 0% no-repeat;
    background-size: 100% 100%;
    cursor: pointer;
    display: block;
    height: 13.33vw;
    position: absolute;
    right: 0;
    top: 0;
    width: 13.33vw;
  }
}
/* .header__btn-reservation */
@media screen and (max-width: 960px) {
  .header__btn-reservation {
    background: #62A595;
    display: block;
    font-size: 3.06vw;
    font-weight: bold;
    height: 13.33vw;
    line-height: 13.33vw;
    position: absolute;
    right: 13.33vw;
    text-align: center;
    top: 0;
    width: 23.33vw;
  }
  .header__btn-reservation a {
    color: #fff;
    text-decoration: none;
  }
}
/* .header__gnav */
.header__gnav {
  display: flex;
  flex: 1;
  font-family: "EB Garamond";
  line-height: 1;
  justify-content: space-around;
}
.header__gnav li {
  text-align: center;
}
.header__gnav a {
  color: #fff;
  display: block;
  font-size: 0.88vw;
  text-decoration: none;
}
.header__gnav a span {
  display: block;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1rem;
  padding-top: 0.2vw;
}
.header__gnav a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .header__gnav {
    flex-direction: column;
    padding-bottom: 8.26vw;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .header__gnav li {
    border-bottom: 1px solid #656565;
    text-align: left;
  }
}
@media screen and (max-width: 960px) {
  .header__gnav a {
    font-size: 5.06vw;
    padding: 4vw 0;
  }
}
@media screen and (max-width: 960px) {
  .header__gnav a span {
    display: inline;
    font-size: 2.93vw;
    padding: 0 0 0 4.66vw;
    vertical-align: 1vw;
  }
}
/* .header__contact */
.header__contact {
  display: flex;
  font-family: "EB Garamond";
  line-height: 1;
  justify-content: space-between;
  width: 18.22vw;
}
.header__contact li {
  text-align: center;
  width: 48.57%;
}
.header__contact a {
  background-color: #4B4840;
  color: #fff;
  display: block;
  font-size: 0.72vw;
  padding: 0.5vw 0;
  text-decoration: none;
}
.header__contact a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .header__contact {
    padding-bottom: 6.66vw;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .header__contact li {
    width: 46.66%;
  }
}
@media screen and (max-width: 960px) {
  .header__contact a {
    font-size: 3.06vw;
    padding: 3.8vw 0;
  }
}
/* .topic-path
--------------------- */
.topic-path {
  color: #8D8D8D;
  font-size: 1.3rem;
  margin: 0 auto;
  padding: 26px 7.1875vw 0;
  width: 100%;
}
.topic-path li {
  display: inline;
}
.topic-path li::after {
  content: " >";
}
.topic-path li:last-child::after {
  content: "";
}
.topic-path a {
  color: #8D8D8D;
  text-decoration: none;
}
.topic-path a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 960px) {
  .topic-path {
    display: none;
  }
}
/* .sp-bar
--------------------- */
.sp-bar {
  background: #EAEAEA;
  bottom: 0;
  display: none;
  height: 13.33vw;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 3;
}

@media screen and (max-width: 960px) {
  .sp-bar {
    display: block;
  }
}
.sp-bar__menu {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-around;
  padding: 0 5%;
}

.sp-bar__menu__item {
  width: 12%;
}
.sp-bar__menu__item span, .sp-bar__menu__item a {
  background-position: 50% 0%;
  background-repeat: no-repeat;
  background-size: 4.8vw 4.8vw;
  color: #1D1D1D;
  display: inline-block;
  font-size: 2.53vw;
  font-weight: bold;
  line-height: 1;
  padding-top: 6vw;
  text-decoration: none;
}
.sp-bar__menu__item.home a {
  background-image: url("../../img/sp_bar_ico_home.svg");
}
.sp-bar__menu__item.tel span {
  background-image: url("../../img/sp_bar_ico_tel.svg");
}
.sp-bar__menu__item.access a {
  background-image: url("../../img/sp_bar_ico_access.svg");
}
.sp-bar__menu__item.top span {
  background-image: url("../../img/sp_bar_ico_top.svg");
}
.sp-bar__menu__item.current {
  opacity: 0.6;
}

.tel-lists {
  background-color: #9B7F3C;
  border: 3px solid #C8BB9B;
  display: none;
  height: auto;
  left: 0;
  overflow: auto;
  position: absolute;
  padding: 20px 0;
  bottom: 67px;
}

@media screen and (max-width: 1500px) {
  .tel-lists {
    bottom: 4.46vw;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists {
    background-color: #EAEAEA;
    border: 0;
    bottom: inherit;
    height: calc(100vh - 13.33vw - 13.33vw);
    padding: 8vw 0;
    position: fixed;
    top: 13.33vw;
    width: 100%;
    z-index: 9;
  }
}
.tel-lists__item {
  padding: 0 50px;
}
.tel-lists__item:nth-child(2n) {
  background-color: #AD8F46;
}
.tel-lists__item dl {
  align-items: center;
  border-bottom: 1px solid #fff;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 20px 0;
  white-space: nowrap;
}
.tel-lists__item dt {
  font-size: 1.8rem;
  text-align: center;
  white-space: nowrap;
}
.tel-lists__item dt span {
  display: block;
  font-size: 0.9rem;
}
.tel-lists__item dd {
  font-size: 3.1rem;
  font-family: "EB Garamond";
  font-style: italic;
  text-align: right;
}
.tel-lists__item dd span {
  display: block;
  font-size: 1.3rem;
}
.tel-lists__item dd a {
  color: #fff;
  cursor: default;
  text-decoration: none;
}
.tel-lists__item dd a:hover {
  opacity: 1;
}
.tel-lists__item:last-child dl {
  border-bottom: 0;
}

@media screen and (max-width: 960px) {
  .tel-lists__item {
    padding: 0 10vw;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item:nth-child(2n) {
    background-color: #D5D5D5;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item dl {
    border-bottom: 1px solid #656565;
    color: #333;
    padding: 1.8vw 0;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item dt {
    font-size: 4vw;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item dt span {
    font-size: 2.13vw;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item dd {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item dd span {
    font-size: 2.4vw;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item dd a {
    color: #333;
    cursor: pointer;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item:last-child dl {
    border-bottom: 1px solid #656565;
  }
}
@media screen and (max-width: 960px) {
  .tel-lists__item:first-child dl {
    border-top: 1px solid #656565;
  }
}
/* .reservation__form
--------------------- */
.reservation {
  background-color: #6E6E6E;
  position: absolute;
  right: 0;
  top: 2.6vw;
}

@media screen and (max-width: 960px) {
  .reservation {
    background-color: #62A595;
    display: none;
    padding: 10vw 10vw 12.8vw;
    position: fixed;
    top: 13.33vw;
    width: 100%;
    z-index: 4;
  }
}
#footer.fixed .reservation {
  bottom: 0;
  right: 0;
  position: fixed;
  top: inherit;
  z-index: 4;
}

@media screen and (max-width: 960px) {
  #footer.fixed .reservation {
    bottom: inherit;
    top: 13.33vw;
  }
}
.reservation__hd {
  background-color: #D5D5D5;
  display: none;
  font-size: 0.78vw;
  font-weight: bold;
  line-height: 1;
  padding: 0.78vw 0;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .reservation__hd {
    background: none;
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
    color: #fff;
    font-size: 3.46vw;
    margin-bottom: 7.5vw;
    padding: 2vw 0;
  }
}
.reservation__form {
  display: none;
  padding: 1vw 1.56vw;
}
.reservation__form input, .reservation__form select {
  background-color: #1D1D1D;
  border: none;
  color: #fff;
  font-size: 0.83vw;
  height: 1.56vw;
  padding: 0 0.5vw;
  text-align: center;
  width: 4.16vw;
}

@media screen and (max-width: 960px) {
  .reservation__form {
    padding: 0;
  }
}
@media screen and (max-width: 960px) {
  .reservation__form input, .reservation__form select {
    font-size: 4vw;
    height: 8.26vw;
    padding: 0 4vw;
    text-align: center;
    width: 22vw;
  }
}
.reservation__form__hd {
  color: #fff;
  font-size: 0.72vw;
  line-height: 1;
  margin-bottom: 0.3vw;
}

@media screen and (max-width: 960px) {
  .reservation__form__hd {
    font-size: 3.73vw;
    margin-bottom: 2vw;
  }
}
.reservation__form__link {
  color: #fff;
  font-size: 0.72vw;
  line-height: 1;
  margin-bottom: 1vw;
  text-align: right;
}
.reservation__form__link a {
  color: #fff;
}

@media screen and (max-width: 960px) {
  .reservation__form__link {
    font-size: 3.73vw;
    margin-bottom: 6vw;
  }
}
.reservation__form__btn button {
  background: #484848;
  color: #ffffff;
  display: block;
  font-size: 0.67vw;
  line-height: 1;
  padding: 0.57vw 0;
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .reservation__form__btn button {
    font-size: 3.73vw;
    padding: 3.46vw 0;
  }
}
.reservation__form__col {
  margin-right: 1.3vw;
}
.reservation__form__col:last-child {
  margin-right: 0;
}

@media screen and (max-width: 960px) {
  .reservation__form__col {
    margin-right: 6.93vw;
  }
}
.reservation__form__row {
  display: flex;
  margin-bottom: 1vw;
  position: relative;
}

@media screen and (max-width: 960px) {
  .reservation__form__row {
    margin-bottom: 6vw;
  }
}
/* 年月日の区切り文字 */
.cmbARRY-after, .cmbARRM-after {
  color: #fff;
  display: inline-block;
  font-size: 0.57vw;
  text-align: center;
  width: 1.3vw;
}

@media screen and (max-width: 960px) {
  .cmbARRY-after, .cmbARRM-after {
    font-size: 3.2vw;
    width: 6.93vw;
  }
}
@media screen and (max-width: 960px) {
  .cmbARRY-after {
    display: none;
  }
}
/* デートピッカーの位置調節 */
#calid {
  bottom: 100%;
}

/* .page-top
--------------------- */
.page-top {
  background: #62A595 url("../../img/page_top_ico.svg") 50% 50% no-repeat;
  cursor: pointer;
  height: 60px;
  left: 50%;
  margin-left: -30px;
  position: absolute;
  top: -30px;
  width: 60px;
  z-index: 1;
}

@media screen and (max-width: 960px) {
  .page-top {
    display: none;
  }
}
/* #footer
--------------------- */
#footer {
  background-color: #1D1D1D;
  padding-top: 117px;
  position: relative;
  width: 100%;
}
#footer > div {
  margin: 0 auto;
  max-width: 1500px;
  padding: 0 20px;
}

@media screen and (max-width: 1500px) {
  #footer {
    padding-top: 7.8vw;
  }
}
@media screen and (max-width: 960px) {
  #footer {
    padding-top: 6.66vw;
  }
}
/* .footer__cols */
.footer__cols {
  display: flex;
  justify-content: space-between;
  margin-bottom: 57px;
  padding-right: 288px;
}

@media screen and (max-width: 1500px) {
  .footer__cols {
    margin-bottom: 3.8vw;
    padding-right: 19.2vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__cols {
    flex-direction: column;
    margin-bottom: 0;
    padding-right: 0;
  }
}
.footer__cols__logo {
  text-align: center;
  width: 330px;
}
.footer__cols__logo img {
  width: 72.72%;
}

@media screen and (max-width: 1500px) {
  .footer__cols__logo {
    width: 22vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__cols__logo {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .footer__cols__logo img {
    width: 40vw;
  }
}
.footer__cols__info {
  color: #fff;
  font-size: 1.7rem;
  line-height: 2.05;
}

@media screen and (max-width: 1500px) {
  .footer__cols__info {
    font-size: 1.13vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__cols__info {
    font-size: 3.46vw;
    margin-bottom: 6.66vw;
    text-align: center;
  }
}
.footer__cols__nav {
  display: flex;
  font-size: 1.3rem;
}
.footer__cols__nav ul:first-child {
  margin-right: 88px;
}
.footer__cols__nav li {
  margin-bottom: 1em;
}
.footer__cols__nav a {
  color: #fff;
  text-decoration: none;
}
.footer__cols__nav a::before {
  content: "＞ ";
}
.footer__cols__nav a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1500px) {
  .footer__cols__nav {
    font-size: 0.86vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__cols__nav {
    display: block;
    font-size: 2.66vw;
    margin: 0 auto;
    width: 75%;
  }
}
@media screen and (max-width: 1500px) {
  .footer__cols__nav ul:first-child {
    margin-right: 5.86vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__cols__nav ul {
    display: inline;
  }
}
@media screen and (max-width: 960px) {
  .footer__cols__nav li {
    display: inline-block;
    padding: 0 2vw;
  }
}
/* .footer__sns */
.footer__sns {
  padding-top: 42px;
}
.footer__sns ul {
  display: flex;
  justify-content: center;
}
.footer__sns li {
  padding: 0 15px;
}
.footer__sns img {
  width: 25px;
}
.footer__sns a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1500px) {
  .footer__sns {
    padding-top: 2.8vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__sns {
    padding-bottom: 6.66vw;
    padding-top: 6.66vw;
  }
}
@media screen and (max-width: 1500px) {
  .footer__sns li {
    padding: 0 1vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__sns li {
    padding: 0 4vw;
  }
}
@media screen and (max-width: 1500px) {
  .footer__sns img {
    width: 1.66vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__sns img {
    width: 6vw;
  }
}
/* .footer__bnrs */
.footer__bnrs {
  z-index: 2;
}
.footer__bnrs ul {
  display: flex;
}
.footer__bnrs li {
  height: 75px;
  margin-left: 20px;
}
.footer__bnrs li:first-child {
  margin-left: 0;
  margin-right: 77px;
}
.footer__bnrs a:hover {
  opacity: 0.5;
}
.footer__bnrs img {
  height: 100%;
}

@media screen and (max-width: 1500px) {
  .footer__bnrs li {
    height: 4.5vw;
    margin-left: 1.33vw;
  }
  .footer__bnrs li:first-child {
    margin-right: 5.13vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__bnrs li {
    display: none;
  }
}
.footer__bnrs__tel {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 960px) {
  .footer__bnrs__tel {
    display: block !important;
  }
}
#footer.fixed .footer__bnrs__tel {
  bottom: 0;
  left: 0;
  position: fixed;
  z-index: 3;
}

.footer__bnrs__tel__inner {
  background-color: #9B7F3C;
  border: 3px solid #C8BB9B;
  color: #fff;
  cursor: pointer;
  font-size: 1.8rem;
  line-height: 1;
  padding: 31px 22px;
  text-align: center;
  text-decoration: none;
  width: 330px;
}
.footer__bnrs__tel__inner:hover {
  opacity: 0.5;
}
.footer__bnrs__tel__inner span {
  background: url("../../img/footer_btns_tel_ico.svg") 100% 50% no-repeat;
  display: block;
}

@media screen and (max-width: 1500px) {
  .footer__bnrs__tel__inner {
    font-size: 1.2vw;
    padding: 2.06vw 1.46vw;
    width: 22vw;
  }
}
@media screen and (max-width: 960px) {
  .footer__bnrs__tel__inner {
    display: none;
  }
}
/* .footer__copyright */
.footer__copyright {
  color: #fff;
  font-size: 1.2rem;
  padding: 40px 0;
  text-align: center;
}

@media screen and (max-width: 1500px) {
  .footer__copyright {
    font-size: 0.8vw;
    padding: 2.66vw 0;
  }
}
@media screen and (max-width: 960px) {
  .footer__copyright {
    font-size: 2.13vw;
    padding: 13.33vw 0 20vw;
  }
}
/* Visual
--------------------- */
/* .home-visual */
.home-visual {
  background: url("../../img/texture_01.png") 0% 0% repeat;
  height: 52.76vw;
  margin-top: -7.1875vw;
  padding: 0 3.38vw;
  position: relative;
  width: 100%;
}
.home-visual::after {
  background-color: #1D1D1D;
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 3.38vw;
}
.home-visual ul.visual-animate__dot {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  left: -3.38vw;
  padding: 10px 0 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 3.38vw;
}
.home-visual ul.visual-animate__dot li {
  background: #fff;
  border-radius: 10px;
  cursor: pointer;
  display: block;
  height: 5px;
  margin: 0.78vw 0;
  width: 5px;
}
.home-visual ul.visual-animate__dot li:last-child {
  margin-right: 0;
}
.home-visual ul.visual-animate__dot li.current {
  background: #9B7F3C;
}

@media screen and (max-width: 960px) {
  .home-visual::after {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .home-visual {
    background: url("../../img/home/visual_img_01_sp.jpg") 50% 50% no-repeat;
    background-size: cover;
    height: 128vw;
    margin-top: -13.33vw;
    padding: 0;
  }
  .home-visual img {
    display: none;
    width: 100%;
  }
}
/* .home-copy */
.home-copy {
  position: relative;
  z-index: 2;
}
.home-copy p {
  color: #575757;
  font-size: 1.25vw;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
  left: 8.48vw;
  line-height: 1.83;
  padding-right: 10.4vw;
  position: absolute;
  top: 3.4vw;
}
.home-copy p::after {
  background-color: #575757;
  content: "";
  height: 1px;
  right: 0;
  position: absolute;
  top: 75%;
  width: 5.2vw;
}

@media screen and (max-width: 960px) {
  .home-copy p {
    font-size: 4.13vw;
    left: 8.4vw;
    padding-right: 18vw;
    top: -19vw;
  }
}
@media screen and (max-width: 960px) {
  .home-copy p::after {
    width: 10vw;
  }
}
/* .home-visual__logo */
.home-visual__logo {
  bottom: 2.6vw;
  left: 6.77vw;
  position: absolute;
  z-index: 1;
}
.home-visual__logo img {
  width: 36.45vw;
}

@media screen and (max-width: 960px) {
  .home-visual__logo {
    display: none;
  }
}
/* News
--------------------- */
/* .home-news */
.home-news {
  background: url("../../img/texture_01.png") 0% 0% repeat;
  height: 12.5vw;
  position: relative;
  z-index: 1;
}
.home-news > div {
  background: rgba(188, 166, 116, 0.9);
  height: 12vw;
  padding: 2.6vw 10vw 0 5.41vw;
  position: absolute;
  right: 0;
  top: -6.97vw;
  width: 50%;
}

@media screen and (max-width: 960px) {
  .home-news {
    height: auto;
  }
}
@media screen and (max-width: 960px) {
  .home-news > div {
    background: #BCA674;
    height: auto;
    padding: 40px 5.33vw;
    position: relative;
    top: 0;
    width: 100%;
  }
}
.home-news__hd {
  left: 2.44vw;
  position: absolute;
  top: 1.61vw;
}
.home-news__hd img {
  width: 0.93vw;
}

@media screen and (max-width: 960px) {
  .home-news__hd {
    left: 0;
    margin-bottom: 20px;
    position: relative;
    text-align: center;
    top: 0;
  }
}
@media screen and (max-width: 960px) {
  .home-news__hd img {
    width: 52px;
  }
}
.home-news__more {
  bottom: 2.6vw;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.04vw;
  line-height: 1;
  position: absolute;
  right: 4.94vw;
}
.home-news__more a {
  background: url("../../img/home/information_ico_arrow.svg") 100% 50% no-repeat;
  background-size: 0.43vw auto;
  color: #fff;
  padding-right: 1vw;
}

@media screen and (max-width: 960px) {
  .home-news__more {
    bottom: 0;
    font-size: 1.65rem;
    margin-top: 25px;
    position: relative;
    right: 0;
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .home-news__more a {
    background-size: 5px auto;
    padding-right: 15px;
  }
}
.home-news__item {
  color: #fff;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 0.88vw;
  font-weight: 500;
  margin-bottom: 1.4vw;
}
.home-news__item dt {
  padding-right: 1.87vw;
  position: relative;
  width: 7em;
}
.home-news__item dt::after {
  background-color: #F1F3E5;
  content: "";
  height: 0.8vw;
  margin-top: -0.4vw;
  right: 1em;
  position: absolute;
  top: 50%;
  width: 1px;
}
.home-news__item dd {
  margin: -1.5em 0 0 7em;
}
.home-news__item a {
  color: #fff;
  text-decoration: none;
}
.home-news__item a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 960px) {
  .home-news__item {
    border-top: 1px solid #fff;
    font-size: 1.2rem;
    margin-bottom: 0;
    padding: 10px 2.66vw;
  }
  .home-news__item:last-child {
    border-bottom: 1px solid #fff;
  }
}
@media screen and (max-width: 960px) {
  .home-news__item dt {
    padding-right: 0;
    width: auto;
  }
}
@media screen and (max-width: 960px) {
  .home-news__item dt::after {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .home-news__item dd {
    margin: 0;
    overflow: auto;
    text-overflow: inherit;
    white-space: normal;
  }
}
/* Information
--------------------- */
/* .home-info */
.home-info {
  background: url("../../img/texture_01.png") 0% 0% repeat;
  overflow: hidden;
  padding: 0 0 7.55vw;
  position: relative;
}
.home-info::after {
  background: url("../../img/texture_02.png") 0% 0% repeat;
  top: 18.22vw;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .home-info {
    padding: 0 0 50px;
  }
}
@media screen and (max-width: 960px) {
  .home-info::after {
    background-size: auto 100px;
    top: calc(172px + 44.26vw);
  }
}
.home-info__header {
  height: 5.2vw;
  margin: 0 auto;
  position: relative;
  width: 69.01vw;
}
.home-info__header p {
  color: #fff;
  font-size: 0.83vw;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .home-info__header {
    height: 172px;
    padding-top: 45px;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .home-info__header p {
    font-size: 1.2rem;
  }
}
.home-info__header__hd {
  color: #fff;
  font-family: "EB Garamond";
  font-size: 1.45vw;
  line-height: 1;
  margin-bottom: 0.5vw;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .home-info__header__hd {
    font-size: 1.9rem;
    margin-bottom: 10px;
  }
}
.home-info__header__cate {
  bottom: 1.56vw;
  display: flex;
  position: absolute;
  right: 0;
}

@media screen and (max-width: 960px) {
  .home-info__header__cate {
    bottom: 0;
    margin: 30px auto 0;
    position: relative;
    width: 69.33vw;
  }
}
.home-info__header__cate__item {
  line-height: 1;
  margin-left: 0.78vw;
  width: 5.72vw;
}
.home-info__header__cate__item a {
  background-color: #fff;
  color: #9B7F3C;
  font-size: 0.67vw;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: bold;
  display: block;
  padding: 0.52vw 0;
  text-align: center;
  text-decoration: none;
}
.home-info__header__cate__item a:hover, .home-info__header__cate__item a.current {
  background-color: #9B7F3C;
  color: #fff;
}

@media screen and (max-width: 960px) {
  .home-info__header__cate__item {
    margin-left: 3.845%;
    width: 30.77%;
  }
  .home-info__header__cate__item:first-child {
    margin-left: 0;
  }
}
@media screen and (max-width: 960px) {
  .home-info__header__cate__item a {
    font-size: 1.25rem;
    padding: 10px 0;
    width: 100%;
  }
}
.home-info__inner {
  height: 21.09vw;
  overflow: hidden;
}

@media screen and (max-width: 960px) {
  .home-info__inner {
    height: 71.59vw;
  }
}
.home-info__items {
  display: none;
  height: 21.09vw;
  margin: 0 auto;
  width: 71.875vw;
}
.home-info__items#plan {
  display: block;
}
.home-info__items figure {
  display: block !important;
  height: 13.02vw;
}
.home-info__items figure img {
  display: block;
  height: 100%;
  width: 100%;
}
.home-info__items figure::after {
  background: url("../../img/info_corner_top.png") 0% 0% no-repeat;
  background-size: 100% 100%;
  content: "";
  height: 1.3vw;
  left: 1.43vw;
  position: absolute;
  top: 0;
  width: 1.3vw;
}
.home-info__items .visual-animate__layer ul {
  height: auto !important;
}
.home-info__items .visual-animate__layer__inner {
  overflow: visible !important;
  max-width: 33.33% !important;
}
.home-info__items .visual-animate__bg__layer__inner {
  vertical-align: top !important;
}

@media screen and (max-width: 960px) {
  .home-info__items {
    height: 71.59vw;
    width: 69.33vw;
  }
}
@media screen and (max-width: 960px) {
  .home-info__items figure {
    height: 44.26vw;
  }
}
@media screen and (max-width: 960px) {
  .home-info__items figure::after {
    height: 4.53vw;
    left: 0;
    width: 4.53vw;
  }
}
@media screen and (max-width: 960px) {
  .home-info__items .visual-animate__layer__inner {
    max-width: 100% !important;
  }
}
.home-info__items__item {
  padding: 0 1.43vw;
}

@media screen and (max-width: 960px) {
  .home-info__items__item {
    padding: 0;
  }
}
.home-info__items__contents {
  background-color: #F0EBDB;
  height: 8vw;
  padding: 7.4% 9.87% 0;
  text-align: left;
}
.home-info__items__contents::after {
  background: url("../../img/info_corner_bottom.png") 100% 0% no-repeat;
  background-size: 100% 100%;
  bottom: 0;
  content: "";
  height: 1.3vw;
  position: absolute;
  right: 1.43vw;
  width: 1.3vw;
}

@media screen and (max-width: 960px) {
  .home-info__items__contents {
    height: 27.33vw;
    padding: 4vw 4vw 0;
  }
}
@media screen and (max-width: 960px) {
  .home-info__items__contents::after {
    height: 4.53vw;
    right: 0;
    width: 4.53vw;
  }
}
.home-info__items__title {
  font-size: 0.98vw;
  font-weight: bold;
  margin-bottom: 0.78vw;
  text-align: center;
  width: 17vw;
}
.home-info__items__title a {
  color: #000;
}

@media screen and (max-width: 960px) {
  .home-info__items__title {
    font-size: 3.73vw;
    margin-bottom: 2.5vw;
    width: 60vw;
  }
}
.home-info__items__content {
  font-size: 0.78vw;
  line-height: 1.86;
}

@media screen and (max-width: 960px) {
  .home-info__items__content {
    font-size: 3.2vw;
  }
}
/* .home-info__btn-prev */
.home-info__btn-prev {
  height: 1.82vw;
  position: absolute;
  left: -2vw;
  top: 12.13vw;
}
.home-info__btn-prev img {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .home-info__btn-prev {
    height: 6.66vw;
    left: -9vw;
    top: 40.93vw;
  }
}
/* .home-info__btn-next */
.home-info__btn-next {
  height: 1.82vw;
  position: absolute;
  right: -2vw;
  top: 12.13vw;
}
.home-info__btn-next img {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .home-info__btn-next {
    height: 6.66vw;
    right: -9vw;
    top: 40.93vw;
  }
}
/* Section1
--------------------- */
/* .home-sec1 */
.home-sec1 {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-top: 20px solid #000;
}
.home-sec1 > div {
  background-repeat: no-repeat;
  background-size: 3.8vw auto;
  padding: 4.8vw 0;
}
.home-sec1 > div > div {
  align-items: center;
  display: flex;
  margin: 0 auto;
  max-width: 1400px;
  width: 100%;
}
.home-sec1 figure {
  width: 70%;
}
.home-sec1 figure img {
  width: 100%;
}
.home-sec1 .home-sec1__contents {
  background: #fff;
  padding: 10px;
  position: relative;
  text-align: center;
  width: 35.71%;
}
.home-sec1 .home-sec1__contents::before, .home-sec1 .home-sec1__contents::after {
  background-color: #fff;
  content: "";
  height: 20px;
  position: absolute;
  width: 20px;
}
.home-sec1 .home-sec1__contents::before {
  left: 0;
  top: 0;
}
.home-sec1 .home-sec1__contents::after {
  right: 0;
  top: 0;
}
.home-sec1 .home-sec1__contents > div {
  border: 1px solid #707070;
  padding: 10.41% 10% 11.66%;
}
.home-sec1 .home-sec1__contents > div::before, .home-sec1 .home-sec1__contents > div::after {
  background-color: #fff;
  content: "";
  height: 20px;
  position: absolute;
  width: 20px;
}
.home-sec1 .home-sec1__contents > div::before {
  bottom: 0;
  left: 0;
}
.home-sec1 .home-sec1__contents > div::after {
  bottom: 0;
  right: 0;
}
.home-sec1 .home-sec1__contents p {
  color: #575757;
  font-size: 1.5rem;
  line-height: 2.13;
}

@media screen and (max-width: 1400px) {
  .home-sec1 {
    border-top: 1.42vw solid #000;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 {
    border-top: 2vw solid #000;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 > div {
    background-position: 50% 4vw !important;
    background-size: auto 10.53vw;
    padding: 12vw 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 > div > div {
    flex-direction: column !important;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 figure {
    margin-bottom: 4vw;
    width: 100%;
  }
}
@media screen and (max-width: 1400px) {
  .home-sec1 .home-sec1__contents {
    padding: 0.71vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 .home-sec1__contents {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 2vw;
    width: 100%;
  }
}
@media screen and (max-width: 1400px) {
  .home-sec1 .home-sec1__contents::before, .home-sec1 .home-sec1__contents::after {
    height: 1.42vw;
    width: 1.42vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 .home-sec1__contents::before, .home-sec1 .home-sec1__contents::after {
    height: 4vw;
    width: 4vw;
  }
}
@media screen and (max-width: 1400px) {
  .home-sec1 .home-sec1__contents > div::before, .home-sec1 .home-sec1__contents > div::after {
    height: 1.42vw;
    width: 1.42vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 .home-sec1__contents > div::before, .home-sec1 .home-sec1__contents > div::after {
    height: 4vw;
    width: 4vw;
  }
}
@media screen and (max-width: 1400px) {
  .home-sec1 .home-sec1__contents p {
    font-size: 1.07vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1 .home-sec1__contents p {
    font-size: 1.2rem;
  }
}
.home-sec1__hd {
  color: #AC955F;
  font-weight: bold;
  font-size: 3.1rem;
  margin-bottom: 4%;
}

@media screen and (max-width: 1400px) {
  .home-sec1__hd {
    font-size: 2.21vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1__hd {
    font-size: 2rem;
  }
}
.home-sec1__btn a {
  background-color: #1D1D1D;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 4%;
  padding: 4% 0;
  text-align: center;
  text-decoration: none;
}

@media screen and (max-width: 1400px) {
  .home-sec1__btn a {
    font-size: 1.28vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1__btn a {
    font-size: 1.5rem;
  }
}
.home-sec1--1 {
  background-image: url("../../img/home/sec1_1_bg_01.jpg");
}
.home-sec1--1 > div {
  background-image: url("../../img/home/sec1_1_bg_02.svg");
  background-position: 100% 50%;
}
.home-sec1--1 .home-sec1__contents {
  margin-left: -5.71%;
}

@media screen and (max-width: 960px) {
  .home-sec1--1 > div {
    background-image: url("../../img/home/sec1_1_bg_02_sp.svg");
  }
}
.home-sec1--2 {
  background-image: url("../../img/home/sec1_2_bg_01.jpg");
}
.home-sec1--2 > div {
  background-image: url("../../img/home/sec1_2_bg_02.svg");
  background-position: 0% 50%;
}
.home-sec1--2 > div > div {
  flex-direction: row-reverse;
}
.home-sec1--2 .home-sec1__contents {
  margin-right: -5.71%;
}

@media screen and (max-width: 960px) {
  .home-sec1--2 > div {
    background-image: url("../../img/home/sec1_2_bg_02_sp.svg");
  }
}
.home-sec1--3 {
  background-image: url("../../img/home/sec1_3_bg_01.jpg");
}
.home-sec1--3 > div {
  background-image: url("../../img/home/sec1_3_bg_02.svg");
  background-position: 100% 50%;
}
.home-sec1--3 .home-sec1__contents {
  margin-left: -5.71%;
}

@media screen and (max-width: 960px) {
  .home-sec1--3 > div {
    background-image: url("../../img/home/sec1_3_bg_02_sp.svg");
  }
}
.home-sec1--4 {
  background-image: url("../../img/home/sec1_4_bg_01.jpg");
  border-bottom: 20px solid #000;
  border-top: 0;
}
.home-sec1--4 > div {
  background-image: url("../../img/home/sec1_4_bg_02.svg");
  background-position: 0% 50%;
}
.home-sec1--4 > div > div {
  flex-direction: row-reverse;
}
.home-sec1--4 .home-sec1__contents {
  margin-right: -5.71%;
}

@media screen and (max-width: 1400px) {
  .home-sec1--4 {
    border-bottom: 1.42vw solid #000;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1--4 {
    border-bottom: 2vw solid #000;
  }
}
@media screen and (max-width: 960px) {
  .home-sec1--4 > div {
    background-image: url("../../img/home/sec1_4_bg_02_sp.svg");
  }
}
/* Section2
--------------------- */
/* .home-sec2 */
.home-sec2 {
  background: url("../../img/texture_01.png") 0% 0% repeat;
  padding: 110px 20px;
}
.home-sec2 > div {
  display: flex;
  height: 500px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1320px;
  width: 100%;
}

@media screen and (max-width: 1360px) {
  .home-sec2 {
    padding: 8vw 20px;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2 {
    padding: 45px 5.33vw;
    position: relative;
  }
}
@media screen and (max-width: 1360px) {
  .home-sec2 > div {
    height: 36.76vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2 > div {
    flex-direction: column-reverse;
    height: auto;
  }
}
.home-sec2__bnrs {
  display: flex;
  height: 500px;
  flex-direction: column;
  justify-content: space-between;
}

@media screen and (max-width: 1360px) {
  .home-sec2__bnrs {
    height: 36.76vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__bnrs {
    display: none;
  }
}
.home-sec2__bnrs__item img {
  display: block;
  height: 80px;
  margin: 0 auto;
}
.home-sec2__bnrs__item a {
  background-color: rgba(255, 255, 255, 0.85);
  display: block;
}
.home-sec2__bnrs__item a.current, .home-sec2__bnrs__item a:hover {
  background-color: #53B9A1;
}

@media screen and (max-width: 1360px) {
  .home-sec2__bnrs__item img {
    height: 5.88vw;
  }
}
.home-sec2__col1 {
  width: 250px;
}

@media screen and (max-width: 1360px) {
  .home-sec2__col1 {
    width: 18.93%;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col1 {
    width: 100%;
  }
}
.home-sec2__col2 {
  width: 1035px;
}
.home-sec2__col2 > section {
  display: none;
}
.home-sec2__col2 #lumiere {
  display: block;
}
.home-sec2__col2 > section > div {
  align-items: center;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 1360px) {
  .home-sec2__col2 {
    width: 78.4%;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2 {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2 > section > div {
    flex-direction: column;
    margin-bottom: 35px;
    padding-bottom: 95px;
    position: relative;
  }
}
.home-sec2__col2__nav {
  display: none;
}

@media screen and (max-width: 960px) {
  .home-sec2__col2__nav {
    background-color: rgba(255, 255, 255, 0.85);
    display: block;
    margin-bottom: 17px;
    position: relative;
    text-align: center;
  }
  .home-sec2__col2__nav.current {
    background-color: #53B9A1;
  }
  .home-sec2__col2__nav.current::after {
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #53B9A1;
    bottom: -12px;
    content: "";
    left: 50%;
    margin-left: -12px;
    position: absolute;
  }
  .home-sec2__col2__nav img {
    height: 62px;
  }
}
.home-sec2__col2__col1 {
  padding: 0 7.24%;
  text-align: center;
  width: 44%;
}
.home-sec2__col2__col1 p {
  font-size: 1.5rem;
  line-height: 2.13;
}

@media screen and (max-width: 960px) {
  .home-sec2__col2__col1 {
    padding: 7vw 5.33vw 5.33vw;
    width: 100%;
  }
}
@media screen and (max-width: 1360px) {
  .home-sec2__col2__col1 p {
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2__col1 p {
    font-size: 1.3rem;
  }
}
.home-sec2__col2__col2 {
  width: 56%;
}
.home-sec2__col2__col2 > figure {
  height: 330px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.home-sec2__col2__col2 > figure::after {
  background-color: #fff;
  bottom: 0;
  content: "";
  height: 1px;
  position: absolute;
  right: 0;
  width: 100%;
}
.home-sec2__col2__col2 img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .home-sec2__col2__col2 {
    width: 100%;
  }
}
@media screen and (max-width: 1360px) {
  .home-sec2__col2__col2 > figure {
    height: 24.26vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2__col2 > figure {
    height: 43.86vw;
  }
}
.home-sec2__col2__fig {
  display: flex;
}
.home-sec2__col2__fig > figure {
  display: block;
  height: 170px;
  overflow: hidden;
  position: relative;
  width: 50%;
}
.home-sec2__col2__fig > figure:first-child::after {
  background-color: #fff;
  bottom: 0;
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  width: 1px;
}

@media screen and (max-width: 1360px) {
  .home-sec2__col2__fig > figure {
    height: 12.5vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2__fig > figure {
    height: 22.66vw;
  }
}
.home-sec2__col2__hd {
  margin-bottom: 44px;
}
.home-sec2__col2__hd img {
  width: 42.63%;
}

@media screen and (max-width: 1360px) {
  .home-sec2__col2__hd {
    margin-bottom: 3.23vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2__hd {
    margin-bottom: 16px;
  }
}
.home-sec2__col2__btn {
  margin-top: 50px;
}
.home-sec2__col2__btn a {
  background-color: #1D1D1D;
  color: #fff;
  display: block;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  padding: 22px 0;
  text-align: center;
  text-decoration: none;
}
.home-sec2__col2__btn a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1360px) {
  .home-sec2__col2__btn {
    margin-top: 3.67vw;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2__btn {
    bottom: 25px;
    left: 0;
    margin-top: 0;
    padding: 0 10vw;
    position: absolute;
    width: 100%;
  }
}
@media screen and (max-width: 1360px) {
  .home-sec2__col2__btn a {
    font-size: 1.47vw;
    padding: 1.61vw 0;
  }
}
@media screen and (max-width: 960px) {
  .home-sec2__col2__btn a {
    font-size: 1.6rem;
    padding: 15px 0;
  }
}
/* Offer
--------------------- */
.home-offer {
  background-color: #F0EBDB;
  padding: 5.2vw 0;
}

@media screen and (max-width: 960px) {
  .home-offer {
    padding: 34px 0;
  }
}
/* .home-offer__header */
.home-offer__header {
  text-align: center;
}
.home-offer__header img {
  width: 5.93vw;
}
.home-offer__header p {
  line-height: 1;
  margin-top: 0.5vw;
  font-size: 1.5rem;
}

@media screen and (max-width: 960px) {
  .home-offer__header img {
    width: 77px;
  }
}
@media screen and (max-width: 960px) {
  .home-offer__header p {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}
/* .home-offer__cate */
.home-offer__cate {
  display: flex;
  margin: 1.97vw auto 0;
  width: 72.91%;
}

@media screen and (max-width: 960px) {
  .home-offer__cate {
    display: none;
  }
}
.home-offer__cate__item {
  margin-right: 2.2375%;
  width: 18.21%;
}
.home-offer__cate__item:last-child {
  margin-right: 0;
}
.home-offer__cate__item a {
  background-color: #fff;
  color: #AC965F;
  display: block;
  font-size: 0.98vw;
  font-weight: bold;
  line-height: 1;
  padding: 1.19vw 0;
  text-align: center;
  text-decoration: none;
}
.home-offer__cate__item a.current {
  background-color: #AC965F;
  color: #fff;
  position: relative;
}
.home-offer__cate__item a.current::after {
  border-left: 0.625vw solid transparent;
  border-right: 0.625vw solid transparent;
  border-top: 0.625vw solid #AC965F;
  bottom: -0.625vw;
  content: "";
  left: 50%;
  margin-left: -0.625vw;
  position: absolute;
}

/* .home-offer__inner */
.home-offer__inner {
  height: 21.09vw;
  margin-top: 3.64vw;
  overflow: hidden;
}
.home-offer__inner > *:nth-child(2) {
  display: block;
}

@media screen and (max-width: 960px) {
  .home-offer__inner {
    height: auto;
  }
}
.home-offer__inner__hd {
  display: none;
}

@media screen and (max-width: 960px) {
  .home-offer__inner__hd {
    background-color: #fff;
    color: #AC965F;
    display: block;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1;
    margin: 0 5.33vw 17px;
    padding: 22px 0;
    text-align: center;
    text-decoration: none;
  }
  .home-offer__inner__hd.current {
    background-color: #AC965F;
    color: #fff;
    position: relative;
  }
  .home-offer__inner__hd.current::after {
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #AC965F;
    bottom: -12px;
    content: "";
    left: 50%;
    margin-left: -12px;
    position: absolute;
  }
}
.home-offer__items {
  display: none;
  height: 21.09vw;
  margin: 0 auto;
  width: 71.875vw;
}
.home-offer__items figure {
  display: block !important;
  height: 13.02vw;
}
.home-offer__items figure img {
  display: block;
  height: 100%;
  width: 100%;
}
.home-offer__items figure::after {
  border-right: 1.3vw solid transparent;
  border-top: 1.3vw solid #F0EBDB;
  content: "";
  left: 1.43vw;
  position: absolute;
  top: 0;
}
.home-offer__items .visual-animate__layer ul {
  height: auto !important;
}
.home-offer__items .visual-animate__layer__inner {
  overflow: visible !important;
  max-width: 33.33% !important;
}
.home-offer__items .visual-animate__bg__layer__inner {
  vertical-align: top !important;
}

@media screen and (max-width: 960px) {
  .home-offer__items {
    height: 71.59vw;
    margin-bottom: 35px;
    width: 69.33vw;
  }
}
@media screen and (max-width: 960px) {
  .home-offer__items figure {
    height: 44.26vw;
  }
}
@media screen and (max-width: 960px) {
  .home-offer__items figure::after {
    left: 0;
  }
}
@media screen and (max-width: 960px) {
  .home-offer__items .visual-animate__layer__inner {
    max-width: 100% !important;
  }
}
.home-offer__items__item {
  padding: 0 1.43vw;
}

@media screen and (max-width: 960px) {
  .home-offer__items__item {
    padding: 0;
  }
}
.home-offer__items__contents {
  background-color: #fff;
  height: 8vw;
  padding: 7.4% 9.87% 0;
  text-align: left;
}
.home-offer__items__contents::after {
  border-left: 1.3vw solid transparent;
  border-bottom: 1.3vw solid #F0EBDB;
  bottom: 0;
  content: "";
  position: absolute;
  right: 1.43vw;
}

@media screen and (max-width: 960px) {
  .home-offer__items__contents {
    height: 27.33vw;
    padding: 4vw 4vw 0;
  }
}
@media screen and (max-width: 960px) {
  .home-offer__items__contents::after {
    right: 0;
  }
}
.home-offer__items__title {
  font-size: 0.98vw;
  font-weight: bold;
  margin-bottom: 0.78vw;
  text-align: center;
  width: 17vw;
}
.home-offer__items__title a {
  color: #000;
}

@media screen and (max-width: 960px) {
  .home-offer__items__title {
    font-size: 3.73vw;
    margin-bottom: 2.5vw;
    width: 60vw;
  }
}
.home-offer__items__content {
  font-size: 0.78vw;
  line-height: 1.86;
}

@media screen and (max-width: 960px) {
  .home-offer__items__content {
    font-size: 3.2vw;
  }
}
/* .home-offer__btn-prev */
.home-offer__btn-prev {
  height: 1.82vw;
  position: absolute;
  left: -2vw;
  top: 12.13vw;
}
.home-offer__btn-prev img {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .home-offer__btn-prev {
    height: 6.66vw;
    left: -9vw;
    top: 40.93vw;
  }
}
/* .home-offer__btn-next */
.home-offer__btn-next {
  height: 1.82vw;
  position: absolute;
  right: -2vw;
  top: 12.13vw;
}
.home-offer__btn-next img {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .home-offer__btn-next {
    height: 6.66vw;
    right: -9vw;
    top: 40.93vw;
  }
}
/* SNS
--------------------- */
/* .home-sns */
.home-sns {
  background: url("../../img/texture_02.png") 0% 0% repeat;
  padding: 6vw 0;
}

/* .home-sns__tab */
.home-sns__tab {
  display: flex;
  margin: 0 auto 3.125vw;
  width: 72.91%;
}

@media screen and (max-width: 960px) {
  .home-sns__tab {
    display: none;
  }
}
.home-sns__tab__item {
  margin-right: 3.935%;
  width: 30.71%;
}
.home-sns__tab__item:last-child {
  margin-right: 0;
}
.home-sns__tab__item span {
  display: inline-block;
  padding: 1.19vw 0 1.19vw 2.5vw;
}
.home-sns__tab__item.instagram span {
  background: url("../../img/home/sns_ico_instagram.svg") 0% 50% no-repeat;
  background-size: 1.45vw auto;
}
.home-sns__tab__item.facebook span {
  background: url("../../img/home/sns_ico_facebook.svg") 0% 50% no-repeat;
  background-size: 1.45vw auto;
}
.home-sns__tab__item.information span {
  padding-left: 0;
}
.home-sns__tab__item a {
  background-color: #99C9BE;
  color: #fff;
  display: block;
  font-size: 1.04vw;
  font-weight: bold;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}
.home-sns__tab__item a.current {
  background-color: #62A595;
  color: #fff;
  position: relative;
}
.home-sns__tab__item a.current::after {
  border-left: 0.625vw solid transparent;
  border-right: 0.625vw solid transparent;
  border-top: 0.625vw solid #62A595;
  bottom: -0.625vw;
  content: "";
  left: 50%;
  margin-left: -0.625vw;
  position: absolute;
}

.home-sns__hd {
  display: none;
}

@media screen and (max-width: 960px) {
  .home-sns__hd {
    background-color: #99C9BE;
    color: #fff;
    display: block;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1;
    margin: 0 5.33vw 17px;
    text-align: center;
    text-decoration: none;
    /*
    &.instagram span {
    	background: url("../../img/home/sns_ico_instagram.svg") 0% 50% no-repeat;
    	background-size: 24px auto;
    }
    */
  }
  .home-sns__hd.current {
    background-color: #62A595;
    color: #fff;
    position: relative;
  }
  .home-sns__hd.current::after {
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #62A595;
    bottom: -12px;
    content: "";
    left: 50%;
    margin-left: -12px;
    position: absolute;
  }
  .home-sns__hd span {
    display: inline-block;
    padding: 22px 0 22px 38px;
  }
  .home-sns__hd.instagram a {
    color: #fff;
    display: block;
    text-decoration: none;
  }
  .home-sns__hd.instagram span {
    background: url("../../img/home/sns_ico_instagram.svg") 0% 50% no-repeat;
    background-size: 24px auto;
  }
  .home-sns__hd.facebook span {
    background: url("../../img/home/sns_ico_facebook.svg") 0% 50% no-repeat;
    background-size: 24px auto;
  }
  .home-sns__hd.information a {
    color: #fff;
    display: block;
    padding: 22px 0;
    text-decoration: none;
  }
}
.home-sns__item {
  display: none;
  margin: 0 auto;
  width: 72.91%;
}
.home-sns__item#instagram {
  display: block;
}
.home-sns__item#instagram > div > a {
  background: #000;
  display: block;
  float: left;
  padding-top: 23.5%;
  margin: 0 2% 2% 0;
  width: 23.5%;
}
.home-sns__item#instagram > div > a:nth-child(4n+1) {
  clear: both;
}
.home-sns__item#instagram > div > a:nth-child(4n) {
  margin-right: 0;
}
.home-sns__item#instagram > div > a:hover {
  opacity: 0.5;
}
.home-sns__item#instagram > div > a img {
  display: none;
}
.home-sns__item#facebook {
  display: none;
}

@media screen and (max-width: 960px) {
  .home-sns__item {
    padding: 0 5.33vw;
    margin-bottom: 40px;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .home-sns__item#instagram > div > a {
    float: none;
    margin: 0 0 5.33vw !important;
    padding-top: 100%;
    width: 100%;
  }
}
/* .home-sns__facebook */
.home-sns__facebook {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 5%;
}

@media screen and (max-width: 960px) {
  .home-sns__facebook {
    flex-direction: column-reverse;
  }
}
.home-sns__facebook__col1 {
  color: #000;
  font-size: 2vw;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  width: 50%;
}

@media screen and (max-width: 960px) {
  .home-sns__facebook__col1 {
    font-size: 6vw;
    width: 100%;
  }
}
.home-sns__facebook__btn {
  margin-top: 40px;
}
.home-sns__facebook__btn a {
  background-color: #1D1D1D;
  color: #fff;
  display: inline-block;
  font-size: 1.2vw;
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  padding: 20px 0;
  text-align: center;
  width: 60%;
}
.home-sns__facebook__btn a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .home-sns__facebook__btn a {
    font-size: 3.6vw;
    width: 100%;
  }
}
.home-sns__facebook__col2 {
  width: 50%;
}
.home-sns__facebook__col2 img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .home-sns__facebook__col2 {
    margin-bottom: 5.33vw;
    width: 100%;
  }
}
/* Bnrs
--------------------- */
/* .home-bnrs */
.home-bnrs {
  display: none !important;
}

@media screen and (max-width: 960px) {
  .home-bnrs {
    display: block !important;
    height: 120px;
    margin: 0 auto;
    padding: 35px 0;
    width: 69.33vw;
  }
  .home-bnrs .visual-animate__layer ul {
    height: auto !important;
  }
  .home-bnrs .visual-animate__layer__inner {
    overflow: visible !important;
    max-width: 100% !important;
  }
  .home-bnrs .visual-animate__bg__layer__inner {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 960px) {
  .home-bnrs__item__cols {
    display: flex;
    justify-content: space-around;
  }
  .home-bnrs__item__cols a, .home-bnrs__item__cols span {
    border: 1px solid #ccc;
    display: block;
  }
  .home-bnrs__item__cols img {
    display: block;
    height: 50px;
  }

  /* .home-bnrs__btn-prev */
  .home-bnrs__btn-prev {
    height: 6.66vw;
    left: -9vw;
    margin-top: -3.33vw;
    position: absolute;
    top: 50%;
  }
  .home-bnrs__btn-prev img {
    height: 100%;
  }

  /* .home-bnrs__btn-next */
  .home-bnrs__btn-next {
    height: 6.66vw;
    margin-top: -3.33vw;
    position: absolute;
    right: -9vw;
    top: 50%;
  }
  .home-bnrs__btn-next img {
    height: 100%;
  }
}
/* .restaurant--visual__label */
.restaurant--visual__label {
  line-height: 1;
  margin-bottom: 0.9vw;
  text-align: center;
}
.restaurant--visual__label > div {
  border: 1px solid #575757;
  display: inline-block;
  padding: 0.5vw 1vw;
}

@media screen and (max-width: 960px) {
  .restaurant--visual__label {
    margin-bottom: 3vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--visual__label > div {
    padding: 1.5vw 3vw;
  }
}
.restaurant--visual__label--lumiere > div {
  border-color: #0E9246;
}
.restaurant--visual__label--lumiere .restaurant--visual__label__s, .restaurant--visual__label--lumiere .restaurant--visual__label__l {
  color: #0E9246;
}

.restaurant--visual__label__s {
  display: inline-block;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 0.625vw;
  margin-right: 1em;
  vertical-align: middle;
}

@media screen and (max-width: 960px) {
  .restaurant--visual__label__s {
    font-size: 1.86vw;
  }
}
.restaurant--visual__label__l {
  display: inline-block;
  font-size: 1.04vw;
  vertical-align: middle;
}

@media screen and (max-width: 960px) {
  .restaurant--visual__label__l {
    font-size: 3.06vw;
  }
}
/* Lists
--------------------- */
/* .restaurant--lists */
.restaurant--lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1460px;
  padding: 0 20px;
  width: 100%;
}

@media screen and (max-width: 560px) {
  .restaurant--lists {
    flex-direction: column;
  }
}
.restaurant--lists__item {
  margin: 0 5.645% 150px 0;
  width: 29.57%;
}
.restaurant--lists__item:nth-child(3n) {
  margin-right: 0;
}
.restaurant--lists__item figure {
  margin-bottom: 18px;
}
.restaurant--lists__item figure img {
  width: 100%;
}
.restaurant--lists__item p {
  color: #575757;
  text-align: center;
}
.restaurant--lists__item .tel-link {
  color: #575757;
  cursor: default;
  text-decoration: none;
}

@media screen and (max-width: 560px) {
  .restaurant--lists__item {
    margin: 0 0 45px 0;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .restaurant--lists__item figure {
    margin-bottom: 5px;
  }
}
.restaurant--lists__logo {
  text-align: center;
}
.restaurant--lists__logo img {
  display: block;
  width: 100%;
}

.restaurant--lists__s {
  display: inline-block;
  font-size: 1.2rem;
}

@media screen and (max-width: 560px) {
  .restaurant--lists__s {
    font-size: 0.9rem;
  }
}
.restaurant--lists__m {
  display: inline-block;
  font-size: 1.6rem;
}

@media screen and (max-width: 560px) {
  .restaurant--lists__m {
    font-size: 1rem;
  }
}
.restaurant--lists__l {
  display: inline-block;
  font-size: 2.3rem;
}

@media screen and (max-width: 560px) {
  .restaurant--lists__l {
    font-size: 1.4rem;
  }
}
.restaurant--lists__s, .restaurant--lists__m, .restaurant--lists__l {
  line-height: 2.3rem;
  vertical-align: middle;
}

@media screen and (max-width: 560px) {
  .restaurant--lists__s, .restaurant--lists__m, .restaurant--lists__l {
    line-height: 1;
    vertical-align: bottom;
  }
}
.restaurant--lists__btns {
  display: flex;
  justify-content: space-between;
  margin-top: 25px;
}
.restaurant--lists__btns li {
  margin-right: 4.78%;
  width: 47.61%;
}
.restaurant--lists__btns li:last-child {
  margin-right: 0;
}
.restaurant--lists__btns a {
  background-color: #62A595;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  padding: 16px 0;
  text-align: center;
  text-decoration: none;
}
.restaurant--lists__btns a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 560px) {
  .restaurant--lists__btns {
    margin-top: 10px;
  }
}
@media screen and (max-width: 560px) {
  .restaurant--lists__btns a {
    font-size: 1.4rem;
    padding: 10px 0;
  }
}
/* Heading
--------------------- */
.restaurant--heading {
  padding: 110px 0 40px;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .restaurant--heading {
    padding: 9vw 0 4vw;
  }
}
.restaurant--heading__main {
  color: #8D8D8D;
  font-size: 3.5rem;
  line-height: 1.2;
}

@media screen and (max-width: 560px) {
  .restaurant--heading__main {
    font-size: 5.06vw;
  }
}
.restaurant--heading__sub {
  color: #8D8D8D;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.3rem;
  line-height: 1;
}

@media screen and (max-width: 560px) {
  .restaurant--heading__sub {
    font-size: 1.86vw;
  }
}
/* Contact
--------------------- */
.restaurant--contact {
  height: 165px;
  right: 3vw;
  position: absolute;
  top: 0;
}
.restaurant--contact > div {
  display: table;
  height: 100%;
}
.restaurant--contact > div > div {
  display: table-cell;
  height: 100%;
  vertical-align: bottom;
}

@media screen and (max-width: 960px) {
  .restaurant--contact {
    bottom: 0;
    height: auto;
    margin: 40px 0;
    position: relative;
    right: 0;
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--contact > div {
    display: block;
    height: auto;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--contact > div > div {
    display: block;
    height: auto;
  }
}
.restaurant--contact__tel {
  font-size: 2.8rem;
  line-height: 1;
}
.restaurant--contact__tel span {
  font-size: 1.8rem;
}

.restaurant--contact__time {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-top: 5px;
}

.restaurant--contact__reservation {
  font-size: 1.4rem;
  margin-top: 10px;
}
.restaurant--contact__reservation a {
  background: #1D1D1D;
  color: #fff;
  display: block;
  line-height: 1;
  padding: 9px 0;
  text-align: center;
  text-decoration: none;
}
.restaurant--contact__reservation a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .restaurant--contact__reservation {
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--contact__reservation a {
    display: inline-block;
    width: 60%;
  }
}
/* Nav
--------------------- */
.restaurant--nav {
  height: 4.265vw;
  margin: 4.68vw auto 3.48vw;
  width: 72.91%;
}
.restaurant--nav .restaurant--nav__btn-prev, .restaurant--nav .restaurant--nav__btn-next {
  display: none;
}
.restaurant--nav .visual-animate__overlay {
  background: rgba(255, 255, 255, 0.5);
  display: none;
}
.restaurant--nav.deactivate .visual-animate ul li {
  width: 18.21% !important;
}

@media screen and (max-width: 960px) {
  .restaurant--nav {
    height: auto;
    margin: 0 0 15px;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--nav .restaurant--nav__btn-prev, .restaurant--nav .restaurant--nav__btn-next {
    height: 6.66vw;
    margin-top: -4.93vw;
    position: absolute;
    top: 50%;
    width: 6.66vw;
    z-index: 9999;
  }
  .restaurant--nav .restaurant--nav__btn-prev img, .restaurant--nav .restaurant--nav__btn-next img {
    width: 100%;
  }
  .restaurant--nav .restaurant--nav__btn-prev {
    left: 5.33vw;
  }
  .restaurant--nav .restaurant--nav__btn-next {
    right: 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--nav .visual-animate__layer ul {
    height: auto !important;
    width: 100%;
  }
  .restaurant--nav .visual-animate__layer__inner {
    overflow: visible !important;
    max-width: 36vw !important;
  }
  .restaurant--nav .visual-animate__bg__layer__inner {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--nav .visual-animate__overlay {
    display: block;
    width: 32vw;
  }
}
.restaurant--nav__item {
  margin-right: 2.2375%;
  width: 100%;
}
.restaurant--nav__item:nth-child(5) {
  margin-right: 0;
}
.restaurant--nav__item a {
  background-color: #0E9246;
  color: #fff;
  display: block;
  font-size: 1.26vw;
  font-weight: bold;
  line-height: 1;
  opacity: 0.5;
  padding: 1.19vw 0;
  text-align: center;
  text-decoration: none;
}
.restaurant--nav__item a.current {
  background-color: #0E9246;
  color: #fff;
  position: relative;
  opacity: 1;
}
.restaurant--nav__item a.current::after {
  border-left: 0.625vw solid transparent;
  border-right: 0.625vw solid transparent;
  border-top: 0.625vw solid #0E9246;
  bottom: -0.625vw;
  content: "";
  left: 50%;
  margin-left: -0.625vw;
  position: absolute;
}

@media screen and (max-width: 960px) {
  .restaurant--nav__item {
    margin-right: 12px;
    padding-bottom: 3.2vw;
  }
  .restaurant--nav__item:nth-child(5) {
    margin-right: 12px;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--nav__item a {
    font-size: 3.33vw;
    padding: 3.33vw 0;
    opacity: 1;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--nav__item a.current::after {
    border-left: 3.2vw solid transparent;
    border-right: 3.2vw solid transparent;
    border-top: 3.2vw solid #0E9246;
    bottom: -3.2vw;
    margin-left: -3.2vw;
  }
}
.musashino .restaurant--nav {
  width: 90%;
}
.musashino .restaurant--nav.deactivate .visual-animate ul li {
  width: 13.42% !important;
}
.musashino .restaurant--nav .restaurant--nav__item {
  margin-right: 1%;
}
.musashino .restaurant--nav .restaurant--nav__item:nth-child(7) {
  margin-right: 0;
}

@media screen and (max-width: 960px) {
  .musashino .restaurant--nav {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .musashino .restaurant--nav .restaurant--nav__item {
    margin-right: 12px;
  }
  .musashino .restaurant--nav .restaurant--nav__item:nth-child(7) {
    margin-right: 12px;
  }
}
.hakurakuten .restaurant--nav {
  width: 90%;
}
.hakurakuten .restaurant--nav.deactivate .visual-animate ul li {
  width: 12.15% !important;
}
.hakurakuten .restaurant--nav .restaurant--nav__item {
  margin-right: 0.4%;
}
.hakurakuten .restaurant--nav .restaurant--nav__item:nth-child(8) {
  margin-right: 0;
}

@media screen and (max-width: 960px) {
  .hakurakuten .restaurant--nav {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .hakurakuten .restaurant--nav .restaurant--nav__item {
    margin-right: 12px;
  }
  .hakurakuten .restaurant--nav .restaurant--nav__item:nth-child(8) {
    margin-right: 12px;
  }
}
.facilities .restaurant--nav {
  width: 90%;
}
.facilities .restaurant--nav.deactivate .visual-animate ul li {
  width: 15.83% !important;
}
.facilities .restaurant--nav .restaurant--nav__item {
  margin-right: 1%;
}
.facilities .restaurant--nav .restaurant--nav__item:nth-child(6) {
  margin-right: 0;
}

@media screen and (max-width: 960px) {
  .facilities .restaurant--nav {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .facilities .restaurant--nav .restaurant--nav__item {
    margin-right: 12px;
  }
  .facilities .restaurant--nav .restaurant--nav__item:nth-child(6) {
    margin-right: 12px;
  }
}
/* Tab
--------------------- */
.restaurant--tabs__tab {
  background-color: #ECF6F0;
  display: none;
  padding-bottom: 120px;
}
.restaurant--tabs__tab:first-child {
  display: block;
}
.restaurant--tabs__tab .cmn-heading2 {
  padding-bottom: 0;
  padding-left: 20px;
  padding-right: 20px;
}
.restaurant--tabs__tab .cmn-heading2 > div {
  border-bottom: 1px solid #0E9246;
  margin: 0 auto;
  max-width: 1300px;
  padding-bottom: 60px;
}

@media screen and (max-width: 960px) {
  .restaurant--tabs__tab {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--tabs__tab .cmn-heading2 {
    padding-left: 5.33vw;
    padding-right: 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--tabs__tab .cmn-heading2 > div {
    padding-bottom: 30px;
  }
}
.restaurant--tabs__sec {
  padding-top: 65px;
}

@media screen and (max-width: 960px) {
  .restaurant--tabs__sec {
    padding-top: 23px;
  }
}
.restaurant--tabs__contents {
  margin: 40px auto 0;
  max-width: 1240px;
  padding: 0 20px;
  width: 100%;
}
.restaurant--tabs__contents > div {
  border-bottom: 1px dotted #0E9246;
  padding-bottom: 74px;
}
.restaurant--tabs__contents p {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 2.06;
  margin: 0 auto;
  max-width: 845px;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .restaurant--tabs__contents p {
    font-size: 1.2rem;
    text-align: left;
  }
}

@media screen and (max-width: 960px) {
  .restaurant--tabs__contents {
    padding: 0 5.33vw;
  }
}
.restaurant--tabs__contents__hd {
  font-size: 2.6rem;
  font-weight: bold;
  margin: 40px auto 20px;
  text-align: center;
}

.restaurant--tabs__info {
  align-items: center;
  background-color: #fff;
  border: 1px dotted #0E9246;
  display: flex;
  justify-content: space-between;
  margin: 80px auto 0;
  padding: 50px;
  max-width: 1200px;
  width: 100%;
}
.restaurant--tabs__info figure {
  width: 42%;
}
.restaurant--tabs__info figure img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .restaurant--tabs__info {
    flex-direction: column;
    margin-top: 40px;
    padding: 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--tabs__info figure {
    width: 100%;
  }
}
.restaurant--tabs__info__content {
  width: 52%;
}
.restaurant--tabs__info__content p {
  font-size: 1.7rem;
  line-height: 1.94;
  text-align: left;
}

@media screen and (max-width: 960px) {
  .restaurant--tabs__info__content {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--tabs__info__content p {
    font-size: 1.4rem;
  }
}
.restaurant--tabs__info__hd {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (max-width: 960px) {
  .restaurant--tabs__info__hd {
    font-size: 2rem;
    margin: 20px 0;
    text-align: center;
  }
}
.restaurant--tabs__info__special {
  color: #0E9246;
  font-size: 1.8rem;
  margin-top: 30px;
}
.restaurant--tabs__info__special span {
  border: 1px solid #0E9246;
  display: inline-block;
  line-height: 1;
  margin-right: 0.5em;
  padding: 10px;
}

@media screen and (max-width: 960px) {
  .restaurant--tabs__info__special {
    font-size: 1.4rem;
    margin-top: 20px;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--tabs__info__special span {
    display: block;
    margin: 0 0 10px;
  }
}
/* Reservation Button
--------------------- */
.restaurant--btn-reservation {
  margin: 80px 0 100px;
  text-align: center;
}
.restaurant--btn-reservation a {
  background-color: #0E9246;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1;
  text-decoration: none;
  padding: 26px 0;
  max-width: 560px;
  width: 100%;
}
.restaurant--btn-reservation a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .restaurant--btn-reservation {
    margin: 25px 13.33vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--btn-reservation a {
    font-size: 1.4rem;
    max-width: 100%;
    padding: 13px 0;
  }
}
/* Menu Buttons
--------------------- */
.restaurant--menu-btns {
  max-width: 1200px;
  text-align: center;
  width: 100%;
}
.restaurant--menu-btns > div {
  display: inline-block;
}
.restaurant--menu-btns dl {
  align-items: center;
  display: flex;
  margin-top: 36px;
}
.restaurant--menu-btns dt {
  flex: 1;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  padding-right: 100px;
  text-align: left;
}
.restaurant--menu-btns dt span {
  font-size: 1.4rem;
}
.restaurant--menu-btns dd {
  width: 320px;
}
.restaurant--menu-btns dd a {
  background-color: #1D1D1D;
  color: #fff;
  display: block;
  font-size: 1.7rem;
  line-height: 1;
  padding: 19px 0;
  text-decoration: none;
}
.restaurant--menu-btns dd a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .restaurant--menu-btns > div {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--menu-btns dt {
    flex: none;
    font-size: 1.4rem;
    padding-right: 5.33vw;
    width: 60%;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--menu-btns dd {
    width: 40%;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--menu-btns dd a {
    padding: 13px 0;
    font-size: 1.4rem;
  }
}
.restaurant--menu-btns__txt1 {
  font-size: 1.3rem;
  margin-top: 60px !important;
  text-align: center !important;
}
@media screen and (max-width: 768px) {
  .restaurant--menu-btns__txt1 {
    margin-top: 30px !important;
    text-align: left !important;
  }
}

/* Slider
--------------------- */
.restaurant--slider {
  height: 456px;
  width: 100%;
}
.restaurant--slider .restaurant--slider__btn-prev, .restaurant--slider .restaurant--slider__btn-next {
  height: 2.08vw;
  margin-top: -1.04vw;
  position: absolute;
  top: 50%;
  width: 2.08vw;
  z-index: 9999;
}
.restaurant--slider .restaurant--slider__btn-prev img, .restaurant--slider .restaurant--slider__btn-next img {
  width: 100%;
}
.restaurant--slider .restaurant--slider__btn-prev {
  left: 0;
}
.restaurant--slider .restaurant--slider__btn-next {
  right: 0;
}
.restaurant--slider .visual-animate__layer__inner {
  overflow: visible;
  max-width: 52.08vw;
}

@media screen and (max-width: 960px) {
  .restaurant--slider {
    height: 44vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--slider .restaurant--slider__btn-prev, .restaurant--slider .restaurant--slider__btn-next {
    height: 6.66vw;
    margin-top: -4.93vw;
    width: 6.66vw;
  }
  .restaurant--slider .restaurant--slider__btn-prev img, .restaurant--slider .restaurant--slider__btn-next img {
    width: 100%;
  }
  .restaurant--slider .restaurant--slider__btn-prev {
    left: 5.33vw;
    margin-left: 0;
  }
}
@media screen and (max-width: 960px) and (max-width: 960px) {
  .restaurant--slider .restaurant--slider__btn-prev {
    left: 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--slider .restaurant--slider__btn-next {
    margin-right: 0;
    right: 5.33vw;
  }
}
@media screen and (max-width: 960px) and (max-width: 960px) {
  .restaurant--slider .restaurant--slider__btn-next {
    right: 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--slider .visual-animate__layer ul {
    height: 44vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--slider .visual-animate__layer__inner {
    max-width: 73.33vw;
  }
}
.restaurant--slider__item {
  margin-right: 5.2vw;
  width: 100%;
}

/* Fair
--------------------- */
.restaurant--fair {
  padding: 0 20px;
}

@media screen and (max-width: 960px) {
  .restaurant--fair {
    padding: 0 5.33vw;
  }
}
.restaurant--fair__item {
  align-items: center;
  border-bottom: 1px dotted #0E9246;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1300px;
  padding: 60px 50px;
}
.restaurant--fair__item figure {
  width: 50%;
}
.restaurant--fair__item figure img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .restaurant--fair__item {
    flex-direction: column;
    padding: 23px 8vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--fair__item figure {
    margin-bottom: 20px;
    width: 100%;
  }
}
.restaurant--fair__contents {
  position: relative;
  width: 41.66%;
}
.restaurant--fair__contents p {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 2.06;
}

@media screen and (max-width: 960px) {
  .restaurant--fair__contents {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--fair__contents p {
    font-size: 1.2rem;
  }
}
.restaurant--fair__hd {
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (max-width: 960px) {
  .restaurant--fair__hd {
    font-size: 1.3rem;
    text-align: center;
  }
}
.restaurant--fair__more {
  margin-top: 40px;
  text-align: center;
}
.restaurant--fair__more a {
  background-color: #1D1D1D;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1;
  text-decoration: none;
  padding: 24px 0;
  width: 100%;
}
.restaurant--fair__more a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .restaurant--fair__more {
    margin-top: 30px;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--fair__more a {
    font-size: 1.4rem;
    padding: 13px 0;
  }
}
/* Detail
--------------------- */
.restaurant.detail {
  position: relative;
}
.restaurant.detail .cmn-visual__contents {
  bottom: 2.8vw;
  left: 7.18vw;
  margin-left: 0;
  position: absolute;
  text-align: left;
}
.restaurant.lumiere .cmn-visual {
  background: url("../../img/restaurant/lumiere_visual_bg.jpg") 50% 50% no-repeat;
  background-size: cover;
}

@media screen and (max-width: 960px) {
  .restaurant.detail .cmn-visual__contents {
    bottom: 0;
    height: auto;
    left: 0;
    margin: 0 auto !important;
    padding: 2vw;
    position: relative;
    text-align: center;
    width: calc(100% - 10.66vw);
  }
  .restaurant.detail .cmn-visual__contents > div {
    height: auto;
    padding: 6vw;
  }
}
/* Lumiere
--------------------- */
@media screen and (max-width: 960px) {
  .restaurant.lumiere .cmn-visual {
    background: url("../../img/restaurant/lumiere_visual_bg_sp.jpg") 50% 0% no-repeat;
    background-size: 100% auto;
    height: auto;
    padding-top: 58vw;
  }
}
/* Buffet
--------------------- */
/* French
--------------------- */
/* Breakfast
--------------------- */
.restaurant--tabs__tab#breakfast .restaurant--tabs__contents p {
  text-align: left;
}

/* Information
--------------------- */
/* .restaurant--information__sec1 */
.restaurant--information__sec1 {
  padding: 0 20px;
}
.restaurant--information__sec1 > div {
  align-items: center;
  border-bottom: 1px dotted #0E9246;
  display: flex;
  justify-content: space-between;
  padding: 60px 100px;
  margin: 0 auto;
  max-width: 1200px;
}
.restaurant--information__sec1 figure {
  width: 33%;
}

@media screen and (max-width: 960px) {
  .restaurant--information__sec1 > div {
    flex-direction: column;
    padding: 23px 0;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--information__sec1 figure {
    margin-bottom: 20px;
    text-align: center;
    width: 100%;
  }
}
.restaurant--information__sec1__content {
  width: 57%;
}

@media screen and (max-width: 960px) {
  .restaurant--information__sec1__content {
    width: 100%;
  }
}
.restaurant--information__sec1__hd {
  font-size: 2.6rem;
  font-weight: bold;
}

@media screen and (max-width: 960px) {
  .restaurant--information__sec1__hd {
    font-size: 2rem;
    text-align: center;
  }
}
.restaurant--information__sec1__txt1 {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 2rem;
  margin-top: 40px;
}

@media screen and (max-width: 960px) {
  .restaurant--information__sec1__txt1 {
    font-size: 1.6rem;
    margin-top: 20px;
    text-align: center;
  }
}
.restaurant--information__sec1__txt2 {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 2.06;
  margin-top: 20px;
}

@media screen and (max-width: 960px) {
  .restaurant--information__sec1__txt2 {
    font-size: 1.4rem;
    text-align: center;
  }
}
/* .restaurant--information__sec2 */
.restaurant--information__sec2 {
  padding: 0 20px;
}
.restaurant--information__sec2 > div {
  border-bottom: 1px dotted #0E9246;
  padding: 60px 100px;
  margin: 0 auto;
  max-width: 1200px;
}
.restaurant--information__sec2 table {
  border-bottom: 1px solid #0E9246;
  font-size: 1.6rem;
  margin-bottom: 20px;
  width: 100%;
}
.restaurant--information__sec2 table th {
  background-color: #0E9246;
  border-top: 1px solid #fff;
  color: #fff;
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
}
.restaurant--information__sec2 table tr:first-child th {
  border-top: 0;
}
.restaurant--information__sec2 table td {
  background-color: #fff;
  border-right: 1px solid #0E9246;
  border-top: 1px solid #0E9246;
  padding: 10px 50px;
}
.restaurant--information__sec2 table td.border-dotted {
  border-top: 1px dotted #0E9246;
}
.restaurant--information__sec2 p {
  font-size: 1.3rem;
  line-height: 2;
}

@media screen and (max-width: 960px) {
  .restaurant--information__sec2 > div {
    padding: 23px 0;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--information__sec2 table {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--information__sec2 table th {
    padding: 10px 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .restaurant--information__sec2 table td {
    padding: 10px 5.33vw;
  }
}
/* .restaurant__overlay */
.restaurant__overlay {
  background: #fff;
  padding: 100px 200px;
  width: 1200px;
}

@media screen and (max-width: 1240px) {
  .restaurant__overlay {
    padding: 8.064516129vw 16.1290322581vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .restaurant__overlay {
    padding: 10.66vw 5.33vw;
  }
}
/* Hakurakuten
--------------------- */
.hakurakuten .restaurant--fair__item .hakurakuten-ico-hoikoro {
  position: absolute;
  right: 0;
  top: 0;
}

@media screen and (max-width: 1320px) {
  .hakurakuten .restaurant--fair__item .hakurakuten-ico-hoikoro {
    margin-bottom: 20px;
    position: relative;
  }
  .hakurakuten .restaurant--fair__item .hakurakuten-ico-hoikoro img {
    width: 160px;
  }
}
@media screen and (max-width: 960px) {
  .hakurakuten .restaurant--fair__item .hakurakuten-ico-hoikoro {
    text-align: center;
  }
}
/* Bonparfum
--------------------- */
.restaurant_h4_div .hakurakuten-ico-hoikoro {
  position: absolute;
  right: 0;
  top: 40px;
}

@media screen and (max-width: 1320px) {
  .restaurant_h4_div .hakurakuten-ico-hoikoro {
    margin-bottom: 20px;
    position: relative;
    top: 0;
  }
  .restaurant_h4_div .hakurakuten-ico-hoikoro img {
    width: 160px;
  }
}
/* .hd3 */
.privacy .hd3, .agreement .hd3, .faq .hd3 {
  font-size: 24px;
  line-height: 1.8;
  margin: 40px auto 0px;
  max-width: 940px;
  text-align: center;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (max-width: 750px) {
  .privacy .hd3, .agreement .hd3 {
    font-size: 18px;
    margin: 60px auto 0px;
    max-width: 940px;
    text-align: center;
  }
}
.privacy .hd3_p, .agreement .hd3_p, .faq .hd3_p {
  font-size: 10px;
  color: #AC965F;
  line-height: 1;
  margin: 0 auto 40px;
  max-width: 940px;
  text-align: center;
  font-family: "EB Garamond";
}

@media only screen and (max-width: 750px) {
  .privacy .hd3, .agreement .hd3 {
    font-size: 10px;
    margin: 0px auto 40px;
    max-width: 940px;
    text-align: center;
  }
}
/* .privacy
--------------------- */
.privacy {
  margin-bottom: 60px;
}
.privacy #header {
  display: block;
  top: 0;
}

/* .privacy--article */
.privacy--article {
  margin: 0 auto;
  max-width: 740px;
  padding: 40px 20px 40px;
}
.privacy--article p {
  font-size: 14px;
  line-height: 1.5;
}

@media only screen and (max-width: 750px) {
  .privacy--article p {
    font-size: 12px;
  }
}
.privacy p {
  margin-bottom: 1em;
}
.privacy .bold {
  font-weight: bold;
}
.privacy table {
  border-left: 1px solid #CCC;
  border-top: 1px solid #CCC;
  margin-top: 8px;
}
.privacy th, .privacy td {
  border-bottom: 1px solid #CCC;
  border-right: 1px solid #CCC;
  padding: 8px 16px;
}

.privacy__txt1 {
  font-size: 1.4rem;
  margin-bottom: 1em;
  text-align: right;
}

.privacy__al {
  font-size: 1.4rem;
  list-style-type: lower-alpha;
  padding-left: 1em;
}
.privacy__al li {
  margin-bottom: 1em;
}

.privacy__num {
  font-size: 1.4rem;
  list-style-type: decimal;
  padding-left: 1em;
}
.privacy__num li {
  margin-bottom: 1em;
}

/* .agreement
--------------------- */
.agreement {
  margin-bottom: 60px;
}
.agreement #header {
  display: block;
  top: 0;
}

/* .agreement--article */
.agreement--article {
  margin: 0 auto;
  max-width: 740px;
  padding: 40px 20px 40px;
}
.agreement--article p {
  font-size: 14px;
  line-height: 1.5;
}

@media only screen and (max-width: 750px) {
  .agreement--article p {
    font-size: 12px;
  }
}
/* .faq--items
--------------------- */
.faq {
  margin-bottom: 60px;
}

.faq--items {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding-left: 50px;
  padding-right: 50px;
}

@media screen and (max-width: 1024px) {
  .faq--items {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}
.faq--item {
  font-size: 12px;
  line-height: 1.5;
}
.faq--item:first-child .faq--item--title {
  border-top: 1px dotted #3d5f5c;
}

.faq--item--title {
  border-bottom: 1px dotted #3d5f5c;
  cursor: pointer;
  font-size: 2rem;
  font-family: -apple-system, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding: 20px 10px 20px 0;
}
.faq--item--title span {
  background: url(../../img/faq/ico_down.svg) 100% 50% no-repeat;
  background-size: 18px auto;
  display: block;
}

@media screen and (max-width: 1024px) {
  .faq--item--title {
    background-size: 12px auto;
    font-size: 1.6rem;
    padding: 10px 10px 10px 0;
  }
}
.faq--item--title__opened span {
  background-image: url(../../img/faq/ico_up.svg);
}

.faq--item--contents {
  display: none;
}

.faq--item dl {
  line-height: 1.7;
  margin: 30px 0;
}
.faq--item dt {
  font-size: 1.6rem;
  padding: 10px 10px 10px 45px;
  position: relative;
}
.faq--item dt span {
  color: #53B9A1;
  font-size: 2rem;
  font-family: -apple-system, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  left: 15px;
  position: absolute;
  top: 5px;
}
.faq--item dd {
  background: #E7F7F3;
  font-size: 1.2rem;
  padding: 15px 15px 15px 45px;
  position: relative;
}
.faq--item dd span {
  color: #53B9A1;
  font-size: 2rem;
  font-family: -apple-system, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  left: 15px;
  position: absolute;
  top: 8px;
}
.faq--item dd p {
  display: inline;
  margin-top: 10px;
}
.faq--item dd *:first-child {
  margin-top: 0;
}

@media screen and (max-width: 1024px) {
  .faq--item dl {
    margin: 20px 0;
  }
}
@media screen and (max-width: 1024px) {
  .faq--item dt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1024px) {
  .faq--item dd {
    font-size: 1.4rem;
  }
}
.stay {
  position: relative;
}

/* Lists
--------------------- */
/* .stay-lists */
.stay-lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1460px;
  padding: 0 20px;
  width: 100%;
}

@media screen and (max-width: 560px) {
  .stay-lists {
    flex-direction: column;
  }
}
.stay-lists__item {
  margin: 0 5.645% 40px 0;
  padding-bottom: 70px;
  position: relative;
  width: 29.57%;
}
.stay-lists__item:nth-child(3n) {
  margin-right: 0;
}
.stay-lists__item figure {
  margin-bottom: 18px;
}
.stay-lists__item figure img {
  width: 100%;
}
.stay-lists__item p {
  font-size: 1.4rem;
  color: #575757;
  margin-top: 18px;
  text-align: left;
}
.stay-lists__item .tel-link {
  color: #575757;
  cursor: default;
  text-decoration: none;
}

@media screen and (max-width: 560px) {
  .stay-lists__item {
    margin: 0 0 45px 0;
    padding-bottom: 54px;
    width: 100%;
  }
}
.stay-lists__item--large {
  margin: 0 auto 100px;
  max-width: 1100px;
  width: 45%;
}
.stay-lists__item--large .stay-lists__btn a {
  width: 380px !important;
}
.stay-lists__item--large p {
  text-align: center;
}

@media screen and (max-width: 560px) {
  .stay-lists__item--large {
    margin-bottom: 40px;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .stay-lists__item--large .stay-lists__btn a {
    width: 100% !important;
  }
}
.stay-lists__hd {
  font-size: 2rem;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .stay-lists__hd {
    font-size: 1.3rem;
  }
}
.stay-lists__btn {
  bottom: 0;
  left: 0;
  margin-top: 40px;
  position: absolute;
  text-align: center;
  width: 100%;
}
.stay-lists__btn a {
  background-color: #9B7F3C;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1;
  padding: 16px 0;
  text-decoration: none;
  width: 90.47%;
}
.stay-lists__btn a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 560px) {
  .stay-lists__btn a {
    font-size: 1.4rem;
    padding: 10px 0;
    width: 100%;
  }
}
.stay-lists__overlay {
  background: #fff;
  padding: 100px 200px;
  width: 1200px;
}

@media screen and (max-width: 1240px) {
  .stay-lists__overlay {
    padding: 8.064516129vw 16.1290322581vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .stay-lists__overlay {
    padding: 10.66vw 5.33vw;
  }
}
.stay-lists__overlay__slider {
  height: 500px;
  width: 800px;
}

@media screen and (max-width: 1240px) {
  .stay-lists__overlay__slider {
    height: 40.3225806452vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .stay-lists__overlay__slider {
    height: 55.83vw;
  }
}
.stay-lists__overlay__slider__btn-prev {
  left: -70px;
  margin-top: -15px;
  position: absolute;
  top: 50%;
}

@media screen and (max-width: 560px) {
  .stay-lists__overlay__slider__btn-prev {
    left: -2.66vw;
  }
  .stay-lists__overlay__slider__btn-prev img {
    width: 5.33vw;
  }
}
.stay-lists__overlay__slider__btn-next {
  margin-top: -15px;
  position: absolute;
  right: -70px;
  top: 50%;
}

@media screen and (max-width: 560px) {
  .stay-lists__overlay__slider__btn-next {
    right: -2.66vw;
  }
  .stay-lists__overlay__slider__btn-next img {
    width: 5.33vw;
  }
}
.stay-lists__overlay__hd {
  font-size: 2rem;
  margin: 24px 0;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .stay-lists__overlay__hd {
    font-size: 1.6rem;
    margin: 12px 0;
  }
}
.stay-lists__overlay__table {
  border: 1px solid #9B7F3C;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  margin: 0 auto;
  width: 80%;
}
.stay-lists__overlay__table th {
  background: #CCB57B;
  border-top: 1px solid #fff;
  border-left: 1px solid #9B7F3C;
  color: #fff;
  padding: 14px 40px;
  text-align: center;
  width: 220px;
  white-space: nowrap;
}
.stay-lists__overlay__table tr:first-child th {
  border-top: 1px solid #9B7F3C;
}
.stay-lists__overlay__table td {
  background: #fff;
  border-top: 1px solid #9B7F3C;
  border-right: 1px solid #9B7F3C;
  color: #575757;
  padding: 14px 40px;
  text-align: left;
}
.stay-lists__overlay__table td p {
  text-align: left;
}

@media screen and (max-width: 960px) {
  .stay-lists__overlay__table {
    font-size: 1.2rem;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .stay-lists__overlay__table th {
    padding: 10px 14px;
    width: auto;
  }
}
@media screen and (max-width: 960px) {
  .stay-lists__overlay__table td {
    padding: 10px 14px;
    width: auto;
  }
}
/* .stay-type
--------------------- */
.stay-type {
  background-color: #FCF7E8;
}

/* Contact
--------------------- */
.stay-contact {
  height: 125px;
  right: 3vw;
  position: absolute;
  top: 0;
}
.stay-contact > div {
  display: table;
  height: 100%;
}
.stay-contact > div > div {
  display: table-cell;
  height: 100%;
  vertical-align: bottom;
}

@media screen and (max-width: 960px) {
  .stay-contact {
    bottom: 0;
    height: auto;
    margin: 40px 0 0;
    position: relative;
    right: 0;
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .stay-contact > div {
    display: block;
    height: auto;
  }
}
@media screen and (max-width: 960px) {
  .stay-contact > div > div {
    display: block;
    height: auto;
  }
}
.stay-contact__tel {
  font-size: 2.8rem;
  line-height: 1;
}
.stay-contact__tel span {
  font-size: 1.8rem;
}

.stay-contact__time {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-top: 5px;
}

.stay-contact__reservation {
  font-size: 1.4rem;
  margin-top: 10px;
}
.stay-contact__reservation a {
  background: #1D1D1D;
  color: #fff;
  display: block;
  line-height: 1;
  padding: 9px 0;
  text-align: center;
  text-decoration: none;
}
.stay-contact__reservation a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .stay-contact__reservation {
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .stay-contact__reservation a {
    display: inline-block;
    width: 60%;
  }
}
/* Nav
--------------------- */
.stay-nav {
  margin-bottom: 150px;
  padding: 0 20px;
}
.stay-nav ul {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1420px;
  width: 100%;
}
.stay-nav li {
  width: 23.23%;
}
.stay-nav a {
  background: #62A595 url("../../img/stay/stay_nav_ico_arrow.svg") 92% 50% no-repeat;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  padding: 32px 0;
  text-align: center;
  text-decoration: none;
}
.stay-nav a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 560px) {
  .stay-nav {
    margin-bottom: 40px;
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .stay-nav ul {
    flex-direction: column;
  }
}
@media screen and (max-width: 560px) {
  .stay-nav li {
    margin-bottom: 16px;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .stay-nav a {
    font-size: 1.5rem;
    padding: 18px 0;
  }
}
/* Info
--------------------- */
.stay-info {
  padding: 90px 20px;
}
.stay-info > div {
  margin: 0 auto;
  max-width: 1120px;
}

@media screen and (max-width: 560px) {
  .stay-info {
    padding: 40px 5.33vw;
  }
}
.stay-info__msg {
  border: 1px solid #8D8D8D;
  padding: 24px 48px;
}
.stay-info__msg dl {
  margin-bottom: 24px;
}
.stay-info__msg dl:last-child {
  margin-bottom: 0;
}
.stay-info__msg dt {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.78;
}
.stay-info__msg dt:before {
  content: "■";
}
.stay-info__msg dd {
  font-size: 1.4rem;
  line-height: 1.78;
  padding-left: 1em;
}
.stay-info__msg dd li {
  padding-left: 1em;
  text-indent: -1em;
}
.stay-info__msg dd li:before {
  content: "※";
}

@media screen and (max-width: 560px) {
  .stay-info__msg {
    padding: 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .stay-info__msg dt {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 560px) {
  .stay-info__msg dd {
    font-size: 1.2rem;
  }
}
.stay-info__acd {
  border-top: 1px solid #8D8D8D;
  margin-top: 86px;
}

@media screen and (max-width: 560px) {
  .stay-info__acd {
    margin-top: 40px;
  }
}
.stay-info__acd__item {
  border-bottom: 1px solid #8D8D8D;
}

.stay-info__acd__title {
  font-size: 2rem;
  padding: 20px 60px 20px 34px;
}
.stay-info__acd__title .toggle_plus {
  right: 34px !important;
}

@media screen and (max-width: 560px) {
  .stay-info__acd__title {
    font-size: 1.3rem;
    padding: 10px 50px 10px 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .stay-info__acd__title .toggle_plus {
    right: 20px !important;
  }
}
.stay-info__acd__cols {
  display: none;
}
.stay-info__acd__cols > div {
  display: flex;
  justify-content: space-between;
  padding: 30px 110px 50px;
}
.stay-info__acd__cols figure {
  width: 44.44%;
}
.stay-info__acd__cols figure img {
  width: 100%;
}

@media screen and (max-width: 1160px) {
  .stay-info__acd__cols > div {
    padding: 30px 9.48vw 50px;
  }
}
@media screen and (max-width: 560px) {
  .stay-info__acd__cols > div {
    padding: 20px 5.33vw;
    flex-direction: column;
  }
}
@media screen and (max-width: 560px) {
  .stay-info__acd__cols figure {
    margin-bottom: 20px;
    width: 100%;
  }
}
.stay-info__acd__content {
  font-size: 1.5rem;
  width: 48.88%;
}
.stay-info__acd__content p {
  line-height: 2.13;
  margin-bottom: 20px;
}
.stay-info__acd__content hr {
  background: 0;
  border-bottom: 1px dotted #8D8D8D;
  margin-bottom: 20px;
}
.stay-info__acd__content ul {
  margin-bottom: 20px;
}
.stay-info__acd__content ul li {
  line-height: 2.13;
  padding-left: 1em;
  text-indent: -1em;
}
.stay-info__acd__content ul li:before {
  content: "■";
}
.stay-info__acd__content ol {
  margin-bottom: 20px;
}
.stay-info__acd__content ol li {
  line-height: 1.92;
  padding-left: 1em;
  text-indent: -1em;
}
.stay-info__acd__content ol li:before {
  content: "※";
}
.stay-info__acd__content > *:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 560px) {
  .stay-info__acd__content {
    font-size: 1.2rem;
    width: 100%;
  }
}
/* .access-gmap */
.access-gmap {
  border: 0;
  display: block;
  height: 780px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .access-gmap {
    height: 300px;
  }
}
/* Nav
--------------------- */
.access-nav {
  height: 4.265vw;
  margin: 4.68vw auto 3.48vw;
  width: 72.91%;
}
.access-nav .access-nav__btn-prev, .access-nav .access-nav__btn-next {
  display: none;
}
.access-nav .visual-animate__overlay {
  background: rgba(255, 255, 255, 0.5);
  display: none;
}
.access-nav.deactivate .visual-animate ul li {
  width: 18.21% !important;
}

@media screen and (max-width: 960px) {
  .access-nav {
    height: auto;
    margin: 20px 0 20px;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .access-nav .access-nav__btn-prev, .access-nav .access-nav__btn-next {
    height: 6.66vw;
    margin-top: -4.93vw;
    position: absolute;
    top: 50%;
    width: 6.66vw;
    z-index: 9999;
  }
  .access-nav .access-nav__btn-prev img, .access-nav .access-nav__btn-next img {
    width: 100%;
  }
  .access-nav .access-nav__btn-prev {
    left: 5.33vw;
  }
  .access-nav .access-nav__btn-next {
    right: 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .access-nav .visual-animate__layer ul {
    height: auto !important;
    width: 100%;
  }
  .access-nav .visual-animate__layer__inner {
    overflow: visible !important;
    max-width: 36vw !important;
  }
  .access-nav .visual-animate__bg__layer__inner {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 960px) {
  .access-nav .visual-animate__overlay {
    display: block;
    width: 32vw;
  }
}
.access-nav__item {
  margin-right: 2.2375%;
  width: 100%;
}
.access-nav__item:nth-child(5) {
  margin-right: 0;
}
.access-nav__item a {
  background-color: #62A595;
  color: #fff;
  display: block;
  font-size: 1.26vw;
  font-weight: bold;
  line-height: 1;
  opacity: 0.5;
  padding: 1.19vw 0;
  text-align: center;
  text-decoration: none;
}
.access-nav__item a.current {
  color: #fff;
  position: relative;
  opacity: 1;
}
.access-nav__item a.current::after {
  border-left: 0.625vw solid transparent;
  border-right: 0.625vw solid transparent;
  border-top: 0.625vw solid #62A595;
  bottom: -0.625vw;
  content: "";
  left: 50%;
  margin-left: -0.625vw;
  position: absolute;
}

@media screen and (max-width: 960px) {
  .access-nav__item {
    margin-right: 12px;
    padding-bottom: 3.2vw;
  }
  .access-nav__item:nth-child(5) {
    margin-right: 12px;
  }
}
@media screen and (max-width: 960px) {
  .access-nav__item a {
    font-size: 3.33vw;
    padding: 3.33vw 0;
    opacity: 1;
  }
}
@media screen and (max-width: 960px) {
  .access-nav__item a.current::after {
    border-left: 3.2vw solid transparent;
    border-right: 3.2vw solid transparent;
    border-top: 3.2vw solid #62A595;
    bottom: -3.2vw;
    margin-left: -3.2vw;
  }
}
/* Tab
--------------------- */
.access-tabs__tab {
  background-color: #ECF6F0;
  display: none;
  padding: 0 20px 120px;
}
.access-tabs__tab:first-child {
  display: block;
}

@media screen and (max-width: 960px) {
  .access-tabs__tab {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 560px) {
  .access-tabs__tab {
    padding: 0 5.33vw 40px;
  }
}
.access-tabs__cols {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1354px;
  width: 100%;
}
.access-tabs__cols figure {
  width: 40%;
}
.access-tabs__cols figure img {
  width: 100%;
}

@media screen and (max-width: 560px) {
  .access-tabs__cols {
    flex-direction: column;
  }
}
@media screen and (max-width: 560px) {
  .access-tabs__cols figure {
    margin-bottom: 20px;
    width: 100%;
  }
}
.access-tabs__cols__col {
  width: 52%;
}
.access-tabs__cols__col .txt1 {
  font-size: 2.3rem;
}
.access-tabs__cols__col .txt2 {
  font-size: 1.7rem;
}
.access-tabs__cols__col .txt3 {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.3rem;
}
.access-tabs__cols__col > .access-tabs__hd:first-child {
  margin-top: 0;
}
.access-tabs__cols__col hr {
  background: 0;
  border-bottom: 1px dotted #62A595;
  margin: 40px 0;
}
.access-tabs__cols__col dl {
  margin-top: 40px;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.access-tabs__cols__col dt {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 10px;
  padding-left: 1em;
  text-indent: -1em;
}
.access-tabs__cols__col dt::before {
  content: "■";
}
.access-tabs__cols__col dd {
  font-size: 1.6rem;
  line-height: 2.1875;
  padding-left: 1em;
}
.access-tabs__cols__col ul {
  padding-left: 1.5em;
}
.access-tabs__cols__col li {
  list-style-type: disc;
}
.access-tabs__cols__col table {
  border-bottom: 1px solid #0E9246;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  margin-bottom: 20px;
  width: 100%;
}
.access-tabs__cols__col table th {
  background-color: #0E9246;
  border-top: 1px solid #fff;
  color: #fff;
  font-weight: bold;
  padding: 10px 20px;
  text-align: center;
  white-space: nowrap;
}
.access-tabs__cols__col table tr:first-child th {
  border-top: 0;
}
.access-tabs__cols__col table td {
  background-color: #fff;
  border-right: 1px solid #0E9246;
  border-top: 1px solid #0E9246;
  padding: 10px 20px;
}
.access-tabs__cols__col table th.border-dotted {
  border-top: 1px dotted #ffffff;
}
.access-tabs__cols__col table td.border-dotted {
  border-top: 1px dotted #0E9246;
}
.access-tabs__cols__col table th.border-right {
  border-right: 1px solid #fff;
}

@media screen and (max-width: 560px) {
  .access-tabs__cols__col {
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .access-tabs__cols__col .txt1 {
    font-size: 1.6rem;
  }
  .access-tabs__cols__col .txt2 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 560px) {
  .access-tabs__cols__col dt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 560px) {
  .access-tabs__cols__col dd {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 960px) {
  .access-tabs__cols__col table {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 960px) {
  .access-tabs__cols__col table th {
    padding: 10px 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .access-tabs__cols__col table td {
    padding: 10px 5.33vw;
  }
}
.access-tabs__hd {
  background: #fff;
  border: 1px solid #62A595;
  color: #62A595;
  font-size: 2.3rem;
  line-height: 1.43;
  margin-top: 80px;
  padding: 8px 0;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .access-tabs__hd {
    margin-top: 40px;
    font-size: 1.6rem;
  }
}
.access-tabs__hd2 {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 2.2rem;
  font-weight: bold;
  margin-top: 32px;
}
.access-tabs__hd2::before {
  content: "■";
}

@media screen and (max-width: 960px) {
  .access-tabs__hd2 {
    font-size: 1.6rem;
  }
}
.access-tabs__btn {
  margin-top: 32px;
  text-align: center;
}
.access-tabs__btn a {
  background: #1D1D1D;
  color: #fff;
  display: inline-block;
  font-size: 1.7rem;
  line-height: 1;
  margin: 0 auto;
  padding: 22px 0;
  text-align: center;
  text-decoration: none;
  max-width: 350px;
  width: 100%;
}
.access-tabs__btn a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 960px) {
  .access-tabs__btn a {
    font-size: 1.4rem;
  }
}
.access-tabs__sec {
  margin: 0 auto;
  max-width: 1354px;
  width: 100%;
}
.access-tabs__sec hr {
  background: 0;
  border-bottom: 1px dotted #62A595;
  margin: 40px 0;
}
.access-tabs__sec .fig1 {
  text-align: center;
}
.access-tabs__sec .fig1 img {
  max-width: 100%;
}

/* Slider
--------------------- */
.access-slider {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  height: 350px;
  margin: 32px auto 0;
  width: 100%;
}
.access-slider .access-slider__btn-prev, .access-slider .access-slider__btn-next {
  height: 40px;
  margin-top: -20px;
  position: absolute;
  top: 50%;
  width: 40px;
  z-index: 9999;
}
.access-slider .access-slider__btn-prev img, .access-slider .access-slider__btn-next img {
  width: 100%;
}
.access-slider .access-slider__btn-prev {
  left: -50px;
}
.access-slider .access-slider__btn-next {
  right: -50px;
}
.access-slider .visual-animate__layer ul {
  height: auto;
}
.access-slider .visual-animate__layer__inner {
  overflow: visible;
  max-width: 28.91%;
}
.access-slider .visual-animate__bg__layer, .access-slider .visual-animate__bg__layer__inner {
  display: block;
}

@media screen and (max-width: 1354px) {
  .access-slider {
    height: 25.84vw;
  }
}
@media screen and (max-width: 960px) {
  .access-slider {
    height: calc(74vw + 50px);
  }
}
@media screen and (max-width: 560px) {
  .access-slider {
    height: calc(70.4vw + 50px);
  }
}
@media screen and (max-width: 960px) {
  .access-slider .access-slider__btn-prev, .access-slider .access-slider__btn-next {
    height: 6.66vw;
    margin: -4.93vw 0 0;
    width: 6.66vw;
  }
  .access-slider .access-slider__btn-prev img, .access-slider .access-slider__btn-next img {
    width: 100%;
  }
  .access-slider .access-slider__btn-prev {
    left: -3.33vw;
  }
  .access-slider .access-slider__btn-next {
    right: -3.33vw;
  }
}
@media screen and (max-width: 960px) {
  .access-slider .visual-animate__layer ul {
    height: calc(74vw + 50px);
  }
}
@media screen and (max-width: 560px) {
  .access-slider .visual-animate__layer ul {
    height: calc(70.4vw + 50px);
  }
}
@media screen and (max-width: 960px) {
  .access-slider .visual-animate__layer__inner {
    max-width: 100%;
  }
}
.access-slider__item {
  margin-right: 87px;
}
.access-slider__item p {
  font-size: 1.6rem;
  height: 50px;
  line-height: 32px;
  padding-top: 18px;
  text-align: center;
  white-space: nowrap;
}
.access-slider__item figure {
  display: block !important;
}
.access-slider__item figure img {
  width: 100% !important;
}

@media screen and (max-width: 960px) {
  .access-slider__item p {
    font-size: 1.4rem;
  }
}
/* Public Transportation
--------------------- */
.access-public-transportation-sec {
  background: #fff;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 1300px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .access-public-transportation-sec {
    flex-direction: column-reverse;
  }
}
.access-public-transportation-sec__col:nth-child(1) {
  width: 74%;
}
.access-public-transportation-sec__col:nth-child(1) > div {
  display: table;
  height: 100%;
  width: 100%;
}
.access-public-transportation-sec__col:nth-child(1) > div > div {
  display: table-cell;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}
.access-public-transportation-sec__col:nth-child(1) .access-tabs__btn {
  margin-top: 75px;
}
.access-public-transportation-sec__col:nth-child(1) .access-tabs__btn:first-child {
  margin-top: 0;
}
.access-public-transportation-sec__col:nth-child(2) {
  width: 53.84%;
}
.access-public-transportation-sec__col figure img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .access-public-transportation-sec__col:nth-child(1) {
    padding: 5.33vw;
    width: 100%;
  }
}
@media screen and (max-width: 1400px) {
  .access-public-transportation-sec__col:nth-child(1) .access-tabs__btn {
    margin-top: 5.35vw;
  }
}
@media screen and (max-width: 960px) {
  .access-public-transportation-sec__col:nth-child(1) .access-tabs__btn {
    margin-top: 20px;
  }
}
@media screen and (max-width: 960px) {
  .access-public-transportation-sec__col:nth-child(2) {
    width: 100%;
  }
}
.bridal {
  background: url("../../img/bridal/index_bg_01.png") 50% 27.6vw no-repeat;
  background-size: 100% auto;
}

@media screen and (max-width: 960px) {
  .bridal {
    background: 0;
  }
}
/* Visual
--------------------- */
.bridal-visual {
  background: url("../../img/bridal/index_visual_img_01.jpg") 50% 50% no-repeat;
  background-size: cover;
  height: 47.13vw;
  margin: 2.34% auto 0;
  position: relative;
  width: 95.3125%;
}

@media screen and (max-width: 960px) {
  .bridal-visual {
    margin-top: calc(129px + 2.34%);
  }
}
.bridal-visual__hd img {
  width: 39.84vw;
}

@media screen and (max-width: 560px) {
  .bridal-visual__hd img {
    width: 80%;
  }
}
.bridal-visual__txt1 {
  color: #fff;
  font-size: 2.65vw;
  font-weight: bold;
}

@media screen and (max-width: 560px) {
  .bridal-visual__txt1 {
    font-size: 6vw;
  }
}
.bridal-visual__contact {
  background-color: #fff;
  color: #382B0F;
  padding: 0 2.34vw;
  position: absolute;
  right: 0;
  top: 0;
}

@media screen and (max-width: 960px) {
  .bridal-visual__contact {
    top: calc(-109px - 2.34vw);
    width: 100%;
  }
}
.bridal-visual__contact__tel {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
}
.bridal-visual__contact__tel span {
  font-size: 2rem;
}
.bridal-visual__contact__tel a {
  color: #382B0F;
  text-decoration: none;
}

.bridal-visual__contact__time {
  font-size: 1.2rem;
}

.bridal-visual__contact__btns {
  font-size: 1.5rem;
  line-height: 1;
  margin: 10px -2.34vw 0;
}
.bridal-visual__contact__btns ul {
  display: flex;
  justify-content: space-between;
}
.bridal-visual__contact__btns li {
  width: 50%;
}
.bridal-visual__contact__btns li.bridal-visual-document a {
  background-color: #AC955F;
  color: #fff;
}
.bridal-visual__contact__btns li.bridal-visual-document span {
  background: url("../../img/bridal/index_visual_ico_document.svg") 0% 50% no-repeat;
}
.bridal-visual__contact__btns li.bridal-visual-reservation a {
  background-color: #fff;
  color: #AC955F;
}
.bridal-visual__contact__btns li.bridal-visual-reservation span {
  background: url("../../img/bridal/index_visual_ico_email.svg") 0% 50% no-repeat;
}
.bridal-visual__contact__btns a {
  display: inline-block;
  text-decoration: none;
  line-height: 1;
  text-align: center;
  width: 100%;
}
.bridal-visual__contact__btns a:hover {
  opacity: 0.5;
}
.bridal-visual__contact__btns span {
  display: inline-block;
  padding: 18px 0 18px 30px;
}

/* Nav
--------------------- */
.bridal-nav {
  background: #382B0F;
  height: 4.6875vw;
  margin: 0 auto;
  width: 95.3125%;
}
.bridal-nav ul {
  align-items: center;
  display: flex;
  justify-content: center;
  height: 100%;
}
.bridal-nav li {
  margin-right: 2.91vw;
}
.bridal-nav li:last-child {
  margin-right: 0;
}
.bridal-nav a {
  color: #fff;
  font-size: 0.88vw;
  text-decoration: none;
}
.bridal-nav a:hoover {
  text-decoration: underline;
}

@media screen and (max-width: 960px) {
  .bridal-nav {
    height: auto;
  }
}
@media screen and (max-width: 960px) {
  .bridal-nav ul {
    height: auto;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 960px) {
  .bridal-nav li {
    margin-right: 0;
    text-align: center;
    width: 25%;
  }
  .bridal-nav li:nth-last-child(-n+3) {
    width: 33.33%;
  }
}
@media screen and (max-width: 960px) {
  .bridal-nav a {
    display: block;
    font-size: 2.6vw;
    padding: 2vw 0;
  }
}
/* Section1
--------------------- */
.bridal-sec1 {
  padding: 100px 0 20px;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .bridal-sec1 {
    padding: 100px 4.16vw 20px;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec1 {
    padding: 40px 5.33vw 20px;
  }
}
.bridal-sec1__hd {
  color: #382B0F;
  font-size: 3.8rem;
  line-height: 1.2;
}

@media screen and (max-width: 560px) {
  .bridal-sec1__hd {
    font-size: 6.8vw;
  }
}
.bridal-sec1__txt1 {
  color: #AC955F;
  font-size: 1.2rem;
  margin-bottom: 20px;
}

.bridal-sec1__txt2 {
  font-size: 1.6rem;
  line-height: 2.37;
}

@media screen and (max-width: 560px) {
  .bridal-sec1__txt2 {
    font-size: 1.4rem;
  }
}
/* Section2
--------------------- */
.bridal-sec2 {
  margin: 0 auto;
  max-width: 1400px;
  padding: 100px 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-sec2 {
    padding: 100px 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec2 {
    padding: 40px 5.33vw;
  }
}
.bridal-sec2__hd {
  margin-bottom: 48px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec2__hd {
    margin-bottom: 24px;
  }
  .bridal-sec2__hd img {
    width: 219.6px;
  }
}
.bridal-sec2__cols {
  display: flex;
  justify-content: space-between;
}
.bridal-sec2__cols figure {
  margin-bottom: 24px;
}
.bridal-sec2__cols figure img {
  width: 100%;
}

@media screen and (max-width: 560px) {
  .bridal-sec2__cols {
    flex-direction: column;
  }
}
.bridal-sec2__cols__col {
  width: 48.57%;
}

@media screen and (max-width: 560px) {
  .bridal-sec2__cols__col {
    margin-bottom: 40px;
    width: 100%;
  }
  .bridal-sec2__cols__col:last-child {
    margin-bottom: 0;
  }
}
.bridal-sec2__cols__txt1 {
  font-size: 1.5rem;
  line-height: 2.33;
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec2__cols__txt1 {
    font-size: 1.4rem;
  }
}
.bridal-sec2__cols__more {
  text-align: center;
}
.bridal-sec2__cols__more a {
  background-color: #9B7F3C;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  text-decoration: none;
  line-height: 1;
  padding: 20px 0;
  position: relative;
  text-align: center;
  width: 58.82%;
}
.bridal-sec2__cols__more a:hover {
  opacity: 0.5;
}
.bridal-sec2__cols__more a::before {
  background: #9B7F3C;
  bottom: -8px;
  content: "";
  height: 1px;
  left: 8px;
  position: absolute;
  width: 100%;
}
.bridal-sec2__cols__more a::after {
  background: #9B7F3C;
  content: "";
  height: 100%;
  position: absolute;
  right: -8px;
  top: 8px;
  width: 1px;
}

@media screen and (max-width: 560px) {
  .bridal-sec2__cols__more a {
    font-size: 1.4rem;
    padding: 16px 0;
    width: 100%;
  }
}
/* Section3
--------------------- */
.bridal-sec3 {
  background: url("../../img/bridal/index_bg_03.png") 50% 50% no-repeat;
  background-size: cover;
  padding: 80px 0 92px;
}

@media screen and (max-width: 560px) {
  .bridal-sec3 {
    padding: 40px 0;
  }
}
.bridal-sec3__hd {
  margin-bottom: 40px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec3__hd {
    margin-bottom: 24px;
  }
  .bridal-sec3__hd img {
    width: 186px;
  }
}
.bridal-sec3__txt1 {
  color: #fff;
  font-size: 1.5rem;
  margin: 88px 20px 24px;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .bridal-sec3__txt1 {
    margin: 88px 4.16vw 24px;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec3__txt1 {
    font-size: 1.4rem;
    margin: 44px 5.33vw 24px;
  }
}
.bridal-sec3__more {
  padding: 0 20px;
  text-align: center;
}
.bridal-sec3__more a {
  background-color: #fff;
  color: #9B7F3C;
  display: inline-block;
  font-size: 2rem;
  text-decoration: none;
  line-height: 1;
  max-width: 600px;
  padding: 24px 0;
  position: relative;
  text-align: center;
  width: 100%;
}
.bridal-sec3__more a:hover {
  opacity: 0.5;
}
.bridal-sec3__more a::before {
  background: #fff;
  bottom: -8px;
  content: "";
  height: 1px;
  left: 8px;
  position: absolute;
  width: 100%;
}
.bridal-sec3__more a::after {
  background: #fff;
  content: "";
  height: 100%;
  position: absolute;
  right: -8px;
  top: 8px;
  width: 1px;
}

@media screen and (max-width: 960px) {
  .bridal-sec3__more {
    padding: 0 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec3__more {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec3__more a {
    font-size: 1.4rem;
    padding: 16px 0;
  }
}
.bridal-sec3__slider {
  height: 35.41vw;
  width: 100%;
}
.bridal-sec3__slider .bridal-sec3__slider__btn-prev, .bridal-sec3__slider .bridal-sec3__slider__btn-next {
  cursor: pointer;
  height: 3.64vw;
  margin-top: -1.82vw;
  position: absolute;
  top: 50%;
  width: 3.64vw;
  z-index: 9999;
}
.bridal-sec3__slider .bridal-sec3__slider__btn-prev img, .bridal-sec3__slider .bridal-sec3__slider__btn-next img {
  width: 100%;
}
.bridal-sec3__slider .bridal-sec3__slider__btn-prev {
  margin-left: -39.31%;
  left: 50%;
}
.bridal-sec3__slider .bridal-sec3__slider__btn-next {
  margin-right: -39.31%;
  right: 50%;
}
.bridal-sec3__slider .visual-animate__layer li {
  margin-right: 2.08vw;
}
.bridal-sec3__slider .visual-animate__layer__inner {
  overflow: visible;
  max-width: 72.91%;
}
.bridal-sec3__slider ul.visual-animate__dot {
  padding: 40px 0 0;
  text-align: center;
  width: 100%;
}
.bridal-sec3__slider ul.visual-animate__dot li {
  background: #fff;
  border-radius: 10px;
  cursor: pointer;
  display: inline-block;
  height: 10px;
  margin-right: 30px;
  width: 10px;
}
.bridal-sec3__slider ul.visual-animate__dot li:last-child {
  margin-right: 0;
}
.bridal-sec3__slider ul.visual-animate__dot li.current {
  background: #AC955F;
}

@media screen and (max-width: 560px) {
  .bridal-sec3__slider {
    height: 48.57vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec3__slider .bridal-sec3__slider__btn-prev, .bridal-sec3__slider .bridal-sec3__slider__btn-next {
    height: 6.66vw;
    margin-top: -3.33vw;
    width: 6.66vw;
  }
  .bridal-sec3__slider .bridal-sec3__slider__btn-prev {
    margin-left: 0;
    left: 5.33vw;
  }
  .bridal-sec3__slider .bridal-sec3__slider__btn-next {
    margin-right: 0;
    right: 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec3__slider .visual-animate__layer li {
    margin-right: 0;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec3__slider .visual-animate__layer__inner {
    max-width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec3__slider ul.visual-animate__dot {
    padding: 12px 0 0;
  }
}
/* Section3
--------------------- */
.bridal-sec4 {
  align-items: center;
  background: url("../../img/bridal/index_sec4_bg_01.jpg") 50% 50% no-repeat;
  background-size: cover;
  height: 52.6vw;
  margin: 48px 0;
  padding: 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-sec4 {
    padding: 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec4 {
    margin: 24px 0;
    padding: 5.33vw;
  }
}
.bridal-sec4__box {
  background: #fff;
  padding: 64px 88px 80px;
  display: inline-block;
}

@media screen and (max-width: 640px) {
  .bridal-sec4__box {
    padding: 10vw 13.75vw;
    width: 100%;
  }
}
.bridal-sec4__hd {
  text-align: center;
  margin-bottom: 32px;
}

@media screen and (max-width: 640px) {
  .bridal-sec4__hd {
    margin-bottom: 5vw;
  }
  .bridal-sec4__hd img {
    width: 164.4px;
  }
}
.bridal-sec4__more {
  text-align: center;
}
.bridal-sec4__more a {
  background-color: #9B7F3C;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  text-decoration: none;
  line-height: 1;
  padding: 20px 0;
  position: relative;
  text-align: center;
  width: 400px;
}
.bridal-sec4__more a:hover {
  opacity: 0.5;
}
.bridal-sec4__more a::before {
  background: #9B7F3C;
  bottom: -8px;
  content: "";
  height: 1px;
  left: 8px;
  position: absolute;
  width: 100%;
}
.bridal-sec4__more a::after {
  background: #9B7F3C;
  content: "";
  height: 100%;
  position: absolute;
  right: -8px;
  top: 8px;
  width: 1px;
}

@media screen and (max-width: 640px) {
  .bridal-sec4__more a {
    font-size: 1.4rem;
    padding: 16px 0;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .bridal-sec4__more a::before {
    bottom: -1.25vw;
    left: 1.25vw;
  }
  .bridal-sec4__more a::after {
    right: -1.25vw;
    top: 1.25vw;
  }
}
/* Section5
--------------------- */
.bridal-sec5 {
  background: url("../../img/bridal/common_bg_02.svg") 50% 50% repeat;
  padding: 80px 20px;
}

@media screen and (max-width: 960px) {
  .bridal-sec5 {
    padding: 80px 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec5 {
    padding: 40px 5.33vw;
  }
}
.bridal-sec5__cols {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1400px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-sec5__cols {
    flex-direction: column-reverse;
  }
}
.bridal-sec5__cols__col1 {
  background: #fff;
  height: 516px;
  padding: 0 7.1428571429%;
  text-align: center;
  width: 39.2857142857%;
}

@media screen and (max-width: 1440px) {
  .bridal-sec5__cols__col1 {
    height: 35.8333333333vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__cols__col1 {
    height: auto;
    padding: 40px;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec5__cols__col1 {
    padding: 40px 5.33vw;
  }
}
.bridal-sec5__hd {
  margin-bottom: 7.2727272727%;
}

@media screen and (max-width: 1440px) {
  .bridal-sec5__hd img {
    width: 23.8194444444vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__hd {
    margin-bottom: 40px;
  }
  .bridal-sec5__hd img {
    width: auto;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec5__hd {
    margin-bottom: 20px;
  }
  .bridal-sec5__hd img {
    width: 205.8px;
  }
}
.bridal-sec5__txt1 {
  font-size: 1.5rem;
  margin-bottom: 7.2727272727%;
}

@media screen and (max-width: 1440px) {
  .bridal-sec5__txt1 {
    font-size: 1.0416666667vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__txt1 {
    font-size: 1.5rem;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec5__txt1 {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
}
.bridal-sec5__nav li {
  margin-bottom: 30px;
}
.bridal-sec5__nav li:last-child {
  margin-bottom: 0;
}
.bridal-sec5__nav a {
  background-color: #382B0F;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  text-decoration: none;
  line-height: 1;
  padding: 20px 0;
  text-align: center;
  width: 100%;
}
.bridal-sec5__nav a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1440px) {
  .bridal-sec5__nav li {
    margin-bottom: 2.0833333333vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__nav li {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1440px) {
  .bridal-sec5__nav a {
    font-size: 1.25vw;
    padding: 1.3888888889vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__nav a {
    font-size: 1.8rem;
    padding: 20px 0;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec5__nav a {
    font-size: 1.4rem;
    padding: 16px 0;
  }
}
.bridal-sec5__cols__col2 {
  height: 516px;
  position: relative;
  width: 51.4285714286%;
}
.bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-prev, .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-next {
  background: #fff;
  border-radius: 27px;
  cursor: pointer;
  height: 54px;
  margin-top: -27px;
  position: absolute;
  top: 50%;
  width: 54px;
  z-index: 9999;
}
.bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-prev img, .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-next img {
  width: 100%;
}
.bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-prev {
  margin-left: -27px;
  left: 0;
}
.bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-next {
  margin-right: -27px;
  right: 0;
}

@media screen and (max-width: 1440px) {
  .bridal-sec5__cols__col2 {
    height: 35.8333333333vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__cols__col2 {
    height: 53.75vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec5__cols__col2 {
    height: 92.1428571429vw;
  }
}
@media screen and (max-width: 1440px) {
  .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-prev, .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-next {
    border-radius: 1.875vw;
    margin-top: -1.875vw;
    height: 3.75vw;
    width: 3.75vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-prev, .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-next {
    border-radius: 3.33vw;
    margin-top: -3.33vw;
    height: 6.66vw;
    width: 6.66vw;
  }
}
@media screen and (max-width: 1440px) {
  .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-prev {
    margin-left: -1.875vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-prev {
    margin-left: -3.33vw;
  }
}
@media screen and (max-width: 1440px) {
  .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-next {
    margin-right: -1.875vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec5__cols__col2 .bridal-sec5__cols__col2__btn-next {
    margin-right: -3.33vw;
  }
}
/* Section6
--------------------- */
.bridal-sec6 {
  background: url("../../img/bridal/index_bg_01.png") 50% 50% no-repeat;
  background-size: cover;
  padding: 64px 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-sec6 {
    padding: 64px 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec6 {
    padding: 40px 5.33vw;
  }
}
.bridal-sec6__hd {
  margin: 0 auto 40px;
  max-width: 1400px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec6__hd {
    margin-bottom: 24px;
  }
  .bridal-sec6__hd img {
    width: 96px;
  }
}
.bridal-sec6__cols {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1400px;
}
.bridal-sec6__cols figure {
  margin-bottom: 24px;
}
.bridal-sec6__cols figure img {
  width: 100%;
}

@media screen and (max-width: 560px) {
  .bridal-sec6__cols {
    flex-direction: column;
  }
}
.bridal-sec6__cols__col {
  width: 49.2857142857%;
}

@media screen and (max-width: 560px) {
  .bridal-sec6__cols__col {
    margin-bottom: 40px;
    width: 100%;
  }
  .bridal-sec6__cols__col:last-child {
    margin-bottom: 0;
  }
}
.bridal-sec6__cols__hd {
  font-family: "EB Garamond";
  font-size: 2.7rem;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec6__cols__hd {
    font-size: 1.6rem;
  }
}
.bridal-sec6__cols__txt1 {
  font-size: 1.5rem;
  line-height: 2.33;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec6__cols__txt1 {
    font-size: 1.4rem;
  }
}
.bridal-sec6__cols__more {
  margin-top: 40px;
  text-align: center;
}
.bridal-sec6__cols__more a {
  background-color: #fff;
  border: 1px solid #9B7F3C;
  color: #9B7F3C;
  display: inline-block;
  font-size: 2rem;
  text-decoration: none;
  line-height: 1;
  max-width: 660px;
  padding: 24px 0;
  position: relative;
  text-align: center;
  width: 100%;
}
.bridal-sec6__cols__more a:hover {
  opacity: 0.5;
}
.bridal-sec6__cols__more a::before {
  background: #9B7F3C;
  bottom: -8px;
  content: "";
  height: 1px;
  left: 8px;
  position: absolute;
  width: 100%;
}
.bridal-sec6__cols__more a::after {
  background: #9B7F3C;
  content: "";
  height: 100%;
  position: absolute;
  right: -8px;
  top: 8px;
  width: 1px;
}

@media screen and (max-width: 560px) {
  .bridal-sec6__cols__more a {
    font-size: 1.4rem;
    padding: 16px 0;
    width: 100%;
  }
}
/* Section7
--------------------- */
.bridal-sec7 {
  padding: 80px 0;
  width: 100%;
}

@media screen and (max-width: 560px) {
  .bridal-sec7 {
    padding: 40px 0;
  }
}
.bridal-sec7__hd {
  margin: 0 auto 40px;
  max-width: 1400px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec7__hd {
    margin-bottom: 24px;
  }
  .bridal-sec7__hd img {
    width: 242.4px;
  }
}
.bridal-sec7__slider {
  height: 23.4375vw;
  width: 100%;
}
.bridal-sec7__slider .bridal-sec7__slider__btn-prev, .bridal-sec7__slider .bridal-sec7__slider__btn-next {
  cursor: pointer;
  height: 2.8125vw;
  margin-top: -1.40625vw;
  position: absolute;
  top: 50%;
  width: 2.8125vw;
  z-index: 9999;
}
.bridal-sec7__slider .bridal-sec7__slider__btn-prev img, .bridal-sec7__slider .bridal-sec7__slider__btn-next img {
  width: 100%;
}
.bridal-sec7__slider .bridal-sec7__slider__btn-prev {
  margin-left: -20.8072916667%;
  left: 50%;
}
.bridal-sec7__slider .bridal-sec7__slider__btn-next {
  margin-right: -20.8072916667%;
  right: 50%;
}
.bridal-sec7__slider .visual-animate__layer li {
  margin-right: 1.0416666667vw;
}
.bridal-sec7__slider .visual-animate__layer__inner {
  overflow: visible;
  max-width: 37.7604166667%;
}
.bridal-sec7__slider .visual-animate__bg__layer {
  background-color: rgba(0, 0, 0, 0.6);
}
.bridal-sec7__slider .visual-animate__contents {
  color: #fff;
  font-size: 1.4583333333vw;
  line-height: 1.6;
}

@media screen and (max-width: 560px) {
  .bridal-sec7__slider {
    height: 62.06vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec7__slider .bridal-sec7__slider__btn-prev, .bridal-sec7__slider .bridal-sec7__slider__btn-next {
    height: 6.66vw;
    margin-top: -3.33vw;
    width: 6.66vw;
  }
  .bridal-sec7__slider .bridal-sec7__slider__btn-prev {
    margin-left: 0;
    left: 5.33vw;
  }
  .bridal-sec7__slider .bridal-sec7__slider__btn-next {
    margin-right: 0;
    right: 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec7__slider .visual-animate__layer li {
    margin-right: 0;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec7__slider .visual-animate__layer__inner {
    max-width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec7__slider .visual-animate__contents {
    font-size: 3.45vw;
  }
}
.bridal-sec7__more {
  margin-top: 40px;
  padding: 0 20px;
  text-align: center;
}
.bridal-sec7__more a {
  background-color: #9B7F3C;
  color: #fff;
  display: inline-block;
  font-size: 2rem;
  text-decoration: none;
  line-height: 1;
  max-width: 660px;
  padding: 24px 0;
  position: relative;
  text-align: center;
  width: 100%;
}
.bridal-sec7__more a:hover {
  opacity: 0.5;
}
.bridal-sec7__more a::before {
  background: #9B7F3C;
  bottom: -8px;
  content: "";
  height: 1px;
  left: 8px;
  position: absolute;
  width: 100%;
}
.bridal-sec7__more a::after {
  background: #9B7F3C;
  content: "";
  height: 100%;
  position: absolute;
  right: -8px;
  top: 8px;
  width: 1px;
}

@media screen and (max-width: 960px) {
  .bridal-sec7__more {
    padding: 0 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec7__more {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec7__more a {
    font-size: 1.4rem;
    padding: 16px 0;
    width: 100%;
  }
}
/* Section8
--------------------- */
.bridal-sec8 {
  background: url("../../img/bridal/index_bg_03.png") 50% 50% no-repeat;
  background-size: cover;
  padding: 80px 0 92px;
}
.bridal-sec8 figure {
  margin: 0 auto;
  max-width: 1440px;
  padding: 0 20px;
  width: 100%;
}
.bridal-sec8 figure img {
  width: 100%;
}

@media screen and (max-width: 560px) {
  .bridal-sec8 {
    padding: 40px 0;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec8 figure {
    padding: 0 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec8 figure {
    padding: 0 5.33vw;
  }
}
.bridal-sec8__hd {
  margin-bottom: 40px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec8__hd {
    margin-bottom: 24px;
  }
  .bridal-sec8__hd img {
    width: 171px;
  }
}
/* Section9
--------------------- */
.bridal-sec9 {
  background: url("../../img/bridal/common_bg_02.svg") 50% 50% repeat;
  padding: 80px 20px;
}

@media screen and (max-width: 960px) {
  .bridal-sec9 {
    padding: 80px 4.16vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec9 {
    padding: 40px 5.33vw;
  }
}
.bridal-sec9__box {
  background: #fff;
  margin: 0 auto;
  max-width: 1400px;
  padding: 64px;
  width: 100%;
}

@media screen and (max-width: 560px) {
  .bridal-sec9__box {
    padding: 40px 5.33vw;
  }
}
.bridal-sec9__hd {
  margin-bottom: 48px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec9__hd {
    margin-bottom: 24px;
  }
  .bridal-sec9__hd img {
    width: 242.4px;
  }
}
.bridal-sec9__items {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  .bridal-sec9__items {
    flex-direction: column;
  }
}
.bridal-sec9__items__item {
  width: 31.4465408805%;
}
.bridal-sec9__items__item figure {
  margin-bottom: 24px;
}
.bridal-sec9__items__item figure img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-sec9__items__item {
    margin-bottom: 40px;
    width: 100%;
  }
  .bridal-sec9__items__item:last-child {
    margin-bottom: 0;
  }
}
.bridal-sec9__items__title {
  text-align: center;
}
.bridal-sec9__items__title a {
  color: #000;
  font-size: 1.6rem;
  text-decoration: none;
}
.bridal-sec9__items__title a:after {
  text-decoration: underline;
}

@media screen and (max-width: 560px) {
  .bridal-sec9__items__title a {
    font-size: 1.4rem;
  }
}
/* Section10
--------------------- */
.bridal-sec10 {
  padding: 80px 20px 120px;
  position: relative;
}

@media screen and (max-width: 960px) {
  .bridal-sec10 {
    padding: 80px 4.16vw 166px;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec10 {
    padding: 40px 5.33vw 86px;
  }
}
.bridal-sec10__hd {
  margin-bottom: 36px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-sec10__hd {
    margin-bottom: 24px;
  }
  .bridal-sec10__hd img {
    width: 215.4px;
  }
}
.bridal-sec10__cols {
  display: flex;
  justify-content: center;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-sec10__cols {
    align-items: center;
    flex-direction: column;
  }
}
.bridal-sec10__cols__col1 {
  margin-right: 92px;
}

@media screen and (max-width: 960px) {
  .bridal-sec10__cols__col1 {
    margin-right: 0;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec10__cols__col2 {
    margin-bottom: 40px;
  }
}
.bridal-sec10__cols__col2 dl {
  display: flex;
  line-height: 1.5;
  margin-bottom: 40px;
}
.bridal-sec10__cols__col2 dl:last-child {
  margin-bottom: 0;
}
.bridal-sec10__cols__col2 dt {
  border-right: 1px solid #8D8D8D;
  color: #9B7F3C;
  font-size: 1.5rem;
  padding-right: 24px;
}
.bridal-sec10__cols__col2 dd {
  padding-left: 24px;
}
.bridal-sec10__cols__col2 a {
  color: #575757;
  font-size: 1.5rem;
  text-decoration: none;
}
.bridal-sec10__cols__col2 a:after {
  text-decoration: underline;
}

@media screen and (max-width: 960px) {
  .bridal-sec10__cols__col2 dt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 960px) {
  .bridal-sec10__cols__col2 a {
    font-size: 1.4rem;
  }
}
.bridal-sec10__more {
  text-align: center;
}
.bridal-sec10__more a {
  background-color: #9B7F3C;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  text-decoration: none;
  line-height: 1;
  max-width: 284px;
  padding: 16px 0;
  position: relative;
  text-align: center;
  width: 100%;
}
.bridal-sec10__more a:hover {
  opacity: 0.5;
}
.bridal-sec10__more a::before {
  background: #9B7F3C;
  bottom: -8px;
  content: "";
  height: 1px;
  left: 8px;
  position: absolute;
  width: 100%;
}
.bridal-sec10__more a::after {
  background: #9B7F3C;
  content: "";
  height: 100%;
  position: absolute;
  right: -8px;
  top: 8px;
  width: 1px;
}

@media screen and (max-width: 960px) {
  .bridal-sec10__more {
    bottom: 120px;
    left: 0;
    position: absolute;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .bridal-sec10__more {
    bottom: 40px;
  }
}
/* Common Btn
--------------------- */
.bridal-cmn-btn, .bridal-cmn-sec1__btn a, .bridal-cmn-sec2__btn a, .bridal-cmn-sec2__overlay__btns a, .guests-sec2__cols__btn a, .guests-sec3__cols__btn a, .guests-sec5__btn a {
  background-color: #382B0F;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  text-decoration: none;
  line-height: 1;
  padding: 21px 0;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .bridal-cmn-btn, .bridal-cmn-sec1__btn a, .bridal-cmn-sec2__btn a, .bridal-cmn-sec2__overlay__btns a, .guests-sec2__cols__btn a, .guests-sec3__cols__btn a, .guests-sec5__btn a {
    font-size: 1.6rem;
    padding: 14px 0;
  }
}
.bridal-cmn-btn::before, .bridal-cmn-sec1__btn a::before, .bridal-cmn-sec2__btn a::before, .bridal-cmn-sec2__overlay__btns a::before, .guests-sec2__cols__btn a::before, .guests-sec3__cols__btn a::before, .guests-sec5__btn a::before {
  background: #382B0F;
  content: "";
  height: 100%;
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 1px;
}

.bridal-cmn-btn::after, .bridal-cmn-sec1__btn a::after, .bridal-cmn-sec2__btn a::after, .bridal-cmn-sec2__overlay__btns a::after, .guests-sec2__cols__btn a::after, .guests-sec3__cols__btn a::after, .guests-sec5__btn a::after {
  background: #382B0F;
  content: "";
  height: 1px;
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 100%;
}

.bridal-cmn-btn:hover, .bridal-cmn-sec1__btn a:hover, .bridal-cmn-sec2__btn a:hover, .bridal-cmn-sec2__overlay__btns a:hover, .guests-sec2__cols__btn a:hover, .guests-sec3__cols__btn a:hover, .guests-sec5__btn a:hover {
  opacity: 0.5;
}

/* Common Visual
--------------------- */
.bridal-cmn-visual {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 360px;
  margin: 2.34% auto 0;
  position: relative;
  width: 95.3125%;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-visual {
    margin-top: calc(129px + 2.34%);
  }
}
.ceremony .bridal-cmn-visual {
  background-image: url("../../img/bridal/ceremony_visual_img_01.jpg");
}

.banquet .bridal-cmn-visual {
  background-image: url("../../img/bridal/banquet_visual_img_01.jpg");
}

.cuisine .bridal-cmn-visual {
  background-image: url("../../img/bridal/cuisine_visual_img_01.jpg");
}

.plan .bridal-cmn-visual {
  background-image: url("../../img/bridal/plan_visual_img_01.jpg");
}

.fair .bridal-cmn-visual {
  background-image: url("../../img/bridal/fair_visual_img_01.jpg");
}

.guests .bridal-cmn-visual {
  background-image: url("../../img/bridal/guests_visual_img_01.jpg");
}

.bridal-cmn-visual__hd img {
  max-width: 100%;
}

.bridal-cmn-visual__txt1 {
  color: #fff;
  font-size: 3rem;
  line-height: 1;
}

@media screen and (max-width: 560px) {
  .bridal-cmn-visual__txt1 {
    font-size: 5.3571428571vw;
  }
}
/* Common Heading
--------------------- */
.bridal-cmn-hd1 {
  background: url("../../img/bridal/common_bg_02.svg") 50% 50% repeat;
  color: #382B0F;
  font-size: 3rem;
  line-height: 1.5;
  padding: 20px 0;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-hd1 {
    font-size: 5vw;
    padding: 4vw 0;
  }
}
/* Common Tab
--------------------- */
.bridal-tab {
  height: 4.265vw;
  margin: 4.68vw auto 3.48vw;
}
.bridal-tab .bridal-tab__btn-prev, .bridal-tab .bridal-tab__btn-next {
  display: none;
}
.bridal-tab .visual-animate__overlay {
  background: rgba(255, 255, 255, 0.5);
  display: none;
}

@media screen and (max-width: 960px) {
  .bridal-tab {
    height: auto;
    margin: 10.66vw 0 15px;
  }
}
@media screen and (max-width: 960px) {
  .bridal-tab .bridal-tab__btn-prev, .bridal-tab .bridal-tab__btn-next {
    height: 6.66vw;
    margin-top: -4.93vw;
    position: absolute;
    top: 50%;
    width: 6.66vw;
    z-index: 9999;
  }
  .bridal-tab .bridal-tab__btn-prev img, .bridal-tab .bridal-tab__btn-next img {
    width: 100%;
  }
  .bridal-tab .bridal-tab__btn-prev {
    left: 5.33vw;
  }
  .bridal-tab .bridal-tab__btn-next {
    right: 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-tab .visual-animate__layer ul {
    height: auto !important;
    width: 100%;
  }
  .bridal-tab .visual-animate__layer__inner {
    overflow: visible !important;
    max-width: 36vw !important;
  }
  .bridal-tab .visual-animate__bg__layer__inner {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 960px) {
  .bridal-tab .visual-animate__overlay {
    display: block;
    width: 32vw;
  }
}
.bridal-tab__item {
  width: 100%;
}
.bridal-tab__item a {
  background-color: #9B7F3C;
  color: #fff;
  display: block;
  font-size: 1.04vw;
  font-weight: bold;
  line-height: 1;
  opacity: 0.5;
  padding: 1.19vw 0;
  text-align: center;
  text-decoration: none;
}
.bridal-tab__item a.current {
  background-color: #9B7F3C;
  color: #fff;
  position: relative;
  opacity: 1;
}
.bridal-tab__item a.current::after {
  border-left: 0.625vw solid transparent;
  border-right: 0.625vw solid transparent;
  border-top: 0.625vw solid #9B7F3C;
  bottom: -0.625vw;
  content: "";
  left: 50%;
  margin-left: -0.625vw;
  position: absolute;
}

@media screen and (max-width: 960px) {
  .bridal-tab__item {
    padding-bottom: 3.2vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-tab__item a {
    font-size: 2.8vw;
    padding: 3.6vw 0;
    opacity: 1;
  }
}
@media screen and (max-width: 960px) {
  .bridal-tab__item a.current::after {
    border-left: 3.2vw solid transparent;
    border-right: 3.2vw solid transparent;
    border-top: 3.2vw solid #9B7F3C;
    bottom: -3.2vw;
    margin-left: -3.2vw;
  }
}
.bridal-tab-contents__item {
  display: none;
}
.bridal-tab-contents__item:first-child {
  display: block;
}

/* Common Detail
--------------------- */
.bridal-cmn-detail {
  margin-bottom: 56px;
}
.bridal-cmn-detail dl {
  align-items: center;
  border-bottom: 1px solid #D6D0BD;
  display: flex;
  margin-bottom: 10px;
  padding: 0 10px 10px;
}
.bridal-cmn-detail dl:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.bridal-cmn-detail dt {
  color: #9B7F3C;
  font-size: 1.6rem;
  line-height: 1.5;
  width: 7em;
}
.bridal-cmn-detail dd {
  color: #000;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-detail {
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-detail dt {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-detail dd {
    font-size: 1.2rem;
  }
}
/* Common Section1
--------------------- */
.bridal-cmn-sec1-items {
  padding-bottom: 176px;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec1-items {
    padding-bottom: 0;
  }
}
.bridal-cmn-sec1 {
  background: url("../../img/bridal/common_bg_02.svg") 50% 50% repeat;
  margin-top: 120px;
  width: 100%;
}
.bridal-cmn-sec1 > div {
  align-items: center;
  display: flex;
  height: 570px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1615px;
}
.bridal-cmn-sec1:nth-child(2n+1) > div {
  flex-direction: row;
  padding-left: 45px;
}
.bridal-cmn-sec1:nth-child(2n+2) > div {
  flex-direction: row-reverse;
  padding-right: 45px;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec1 {
    margin-top: 0;
  }
  .bridal-cmn-sec1:first-child {
    margin-top: 2.34vw;
  }
}
@media screen and (max-width: 1615px) {
  .bridal-cmn-sec1 > div {
    height: 35.2941176471vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec1 > div {
    flex-direction: column-reverse !important;
    height: auto;
  }
}
@media screen and (max-width: 1615px) {
  .bridal-cmn-sec1:nth-child(2n+1) > div {
    padding-left: 2.786377709%;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec1:nth-child(2n+1) > div {
    padding-left: 0;
  }
}
@media screen and (max-width: 1615px) {
  .bridal-cmn-sec1:nth-child(2n+2) > div {
    padding-right: 2.786377709%;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec1:nth-child(2n+2) > div {
    padding-right: 0;
  }
}
.bridal-cmn-sec1__hd {
  color: #382B0F;
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: 32px;
  text-align: center;
}
.bridal-cmn-sec1__hd img {
  margin-bottom: 16px;
  width: 44%;
}

@media screen and (max-width: 1615px) {
  .bridal-cmn-sec1__hd {
    font-size: 0.9287925697vw;
    margin-bottom: 5.3333333333%;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec1__hd img {
    width: auto;
  }
}
@media screen and (max-width: 560px) {
  .bridal-cmn-sec1__hd img {
    max-width: 60%;
  }
}
.bridal-cmn-sec1__col1 {
  background: #fff;
  height: 84.2105263158%;
  width: 38.2165605096%;
}
.bridal-cmn-sec1__col1 p {
  color: #000000;
  font-size: 1.6rem;
  line-height: 2.375;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec1__col1 {
    height: auto;
    padding: 10.66vw 0;
    width: 100%;
  }
}
@media screen and (max-width: 1615px) {
  .bridal-cmn-sec1__col1 p {
    font-size: 0.9907120743vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec1__col1 p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 560px) {
  .bridal-cmn-sec1__col1 p {
    font-size: 3vw;
  }
}
.bridal-cmn-sec1__btn {
  margin-top: 6%;
}
.bridal-cmn-sec1__btn a {
  background: #9B7F3C;
  width: 60%;
}
.bridal-cmn-sec1__btn a::before, .bridal-cmn-sec1__btn a::after {
  background: #9B7F3C;
}

@media screen and (max-width: 1615px) {
  .bridal-cmn-sec1__btn a {
    font-size: 1.1145510836vw;
    padding: 1.3003095975vw 0;
  }
  .bridal-cmn-sec1__btn a::before, .bridal-cmn-sec1__btn a::after {
    right: -0.4953560372vw;
    bottom: -0.4953560372vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec1__btn a {
    font-size: 1.8rem;
    padding: 21px 0;
    width: 360px;
  }
  .bridal-cmn-sec1__btn a::before, .bridal-cmn-sec1__btn a::after {
    right: -8px;
    bottom: -8px;
  }
}
@media screen and (max-width: 560px) {
  .bridal-cmn-sec1__btn a {
    font-size: 1.6rem;
    padding: 14px 0;
    width: 60%;
  }
}
.bridal-cmn-sec1__col2 {
  height: 100%;
  overflow: hidden;
  width: 58.9171974522%;
}
.bridal-cmn-sec1__col2 img {
  height: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec1__col2 {
    height: 61.6216216216vw;
    width: 100%;
  }
}
/* Common Section2
--------------------- */
.bridal-cmn-sec2 {
  align-items: center;
  border-bottom: 1px solid #9B7F3C;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1300px;
  padding: 80px 50px;
}

@media screen and (max-width: 1340px) {
  .bridal-cmn-sec2 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec2 {
    flex-direction: column;
    padding: 10.66vw 5.33vw;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec2 .overlay > div {
    display: block;
  }
  .bridal-cmn-sec2 .overlay > div > div {
    display: block;
  }
}
.bridal-cmn-sec2__col1 {
  width: 50%;
}
.bridal-cmn-sec2__col1 img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__col1 {
    margin-bottom: 5.33vw;
    width: 100%;
  }
}
.bridal-cmn-sec2__col2 {
  width: 41.6666666667%;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__col2 {
    width: 100%;
  }
}
.bridal-cmn-sec2__header {
  margin-bottom: 24px;
  position: relative;
}
.bridal-cmn-sec2__header p {
  color: #382B0F;
  font-size: 1.5rem;
  line-height: 1.2;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__header p {
    font-size: 1.2rem;
  }
}
.bridal-cmn-sec2__header__hd {
  color: #1D1D1D;
  font-size: 3rem;
  line-height: 1.6666666667;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__header__hd {
    font-size: 2rem;
  }
}
.bridal-cmn-sec2__header__icon {
  position: absolute;
  right: 0;
  top: 0;
}
.bridal-cmn-sec2__header__icon span {
  background-color: #AC965F;
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  height: 60px;
  line-height: 1;
  padding: 23px 0;
  text-align: center;
  width: 60px;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__header__icon {
    top: -10px;
  }
}
.bridal-cmn-sec2__txt1 {
  color: #1D1D1D;
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 24px;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__txt1 {
    font-size: 1.4rem;
  }
}
.bridal-cmn-sec2__btn {
  text-align: center;
}
.bridal-cmn-sec2__btn a {
  width: 360px;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__btn a {
    width: 100%;
  }
}
.bridal-cmn-sec2__overlay {
  background: #fff;
  padding: 100px 150px;
  width: 1200px;
}
.bridal-cmn-sec2__overlay table {
  border-left: 1px solid #D6D0BD;
  border-top: 1px solid #D6D0BD;
  width: 100%;
}
.bridal-cmn-sec2__overlay th {
  background: #F8F2E1;
  border-bottom: 1px solid #D6D0BD;
  border-right: 1px solid #D6D0BD;
  color: #9B7F3C;
  font-size: 1.6rem;
  padding: 10px 18px;
  text-align: center;
  white-space: nowrap;
}
.bridal-cmn-sec2__overlay td {
  background: #fff;
  border-bottom: 1px solid #D6D0BD;
  border-right: 1px solid #D6D0BD;
  color: #000;
  font-size: 1.6rem;
  padding: 10px 18px;
  text-align: left;
}
.bridal-cmn-sec2__overlay td span {
  font-size: 1.2rem;
}
.bridal-cmn-sec2__overlay td.mark {
  color: #8D8D8D;
  padding: 10px;
}

@media screen and (max-width: 1240px) {
  .bridal-cmn-sec2__overlay {
    padding: 8.064516129vw 12.0967741935vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .bridal-cmn-sec2__overlay {
    padding: 10.66vw 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .bridal-cmn-sec2__overlay th {
    font-size: 1.2rem;
    padding: 10px;
  }
}
@media screen and (max-width: 560px) {
  .bridal-cmn-sec2__overlay td {
    font-size: 1.2rem;
    padding: 10px;
  }
}
.bridal-cmn-sec2__overlay__special {
  margin-top: 56px;
}
.bridal-cmn-sec2__overlay__special p {
  font-size: 1.6rem;
  line-height: 2.1875;
  text-align: left;
}

.bridal-cmn-sec2__overlay__special__hd {
  border: 1px solid #D6D0BD;
  color: #9B7F3C;
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 16px;
  padding: 5px 0;
  text-align: center;
  width: 200px;
}

.bridal-cmn-sec2__overlay__btns {
  display: flex;
  justify-content: space-between;
  margin-top: 56px;
}
.bridal-cmn-sec2__overlay__btns a {
  width: 30%;
}

@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__overlay__btns {
    flex-direction: column;
  }
}
@media screen and (max-width: 960px) {
  .bridal-cmn-sec2__overlay__btns a {
    margin-top: 5.33vw;
    width: 100%;
  }
}
/* Cuisine
--------------------- */
.cuisine-sec1-items {
  padding-bottom: 120px;
}

@media screen and (max-width: 560px) {
  .cuisine-sec1-items {
    padding-bottom: 10.66vw;
  }
}
.cuisine-sec1 {
  padding-top: 120px;
}

@media screen and (max-width: 560px) {
  .cuisine-sec1 {
    padding-top: 10.66vw;
  }
}
.cuisine-sec1__header {
  margin-bottom: 32px;
}
.cuisine-sec1__header p {
  color: #000;
  font-size: 1.6rem;
  line-height: 2.375;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .cuisine-sec1__header {
    margin-bottom: 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .cuisine-sec1__header p {
    font-size: 3vw;
  }
}
.cuisine-sec1__hd {
  color: #382B0F;
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: 32px;
  text-align: center;
}
.cuisine-sec1__hd img {
  margin-bottom: 16px;
  max-width: 100%;
}

@media screen and (max-width: 560px) {
  .cuisine-sec1__hd {
    margin-bottom: 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .cuisine-sec1__hd img {
    max-width: 80%;
  }
}
.cuisine-sec1__slider {
  background: url("../../img/bridal/common_bg_02.svg") 50% 50% repeat;
  height: 672px;
  padding: 36px 0;
  position: relative;
  width: 100%;
}
.cuisine-sec1__slider .cuisine-sec1__slider__btn-prev, .cuisine-sec1__slider .cuisine-sec1__slider__btn-next {
  cursor: pointer;
  height: 86px;
  margin-top: -43px;
  position: absolute;
  top: 50%;
  width: 86px;
  z-index: 9999;
}
.cuisine-sec1__slider .cuisine-sec1__slider__btn-prev img, .cuisine-sec1__slider .cuisine-sec1__slider__btn-next img {
  width: 100%;
}
.cuisine-sec1__slider .cuisine-sec1__slider__btn-prev {
  margin-left: -574px;
  left: 50%;
}
.cuisine-sec1__slider .cuisine-sec1__slider__btn-next {
  margin-right: -574px;
  right: 50%;
}
.cuisine-sec1__slider .visual-animate__layer li {
  margin-right: 60px;
}
.cuisine-sec1__slider .visual-animate__layer__inner {
  overflow: visible;
  max-width: 1000px;
}
.cuisine-sec1__slider .visual-animate__contents {
  height: 100%;
  width: 100%;
}
.cuisine-sec1__slider .visual-animate__contents .overlay-btn-show {
  cursor: pointer;
  height: 100%;
  width: 100%;
}
.cuisine-sec1__slider .overlay {
  z-index: 10000;
}

@media screen and (max-width: 1200px) {
  .cuisine-sec1__slider {
    height: 56vw;
    padding: 3vw 0;
  }
}
@media screen and (max-width: 1200px) {
  .cuisine-sec1__slider .cuisine-sec1__slider__btn-prev, .cuisine-sec1__slider .cuisine-sec1__slider__btn-next {
    height: 7.1666666667vw;
    margin-top: -3.5833333333vw;
    width: 7.1666666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .cuisine-sec1__slider .cuisine-sec1__slider__btn-prev {
    margin-left: -47.8333333333vw;
  }
}
@media screen and (max-width: 1200px) {
  .cuisine-sec1__slider .cuisine-sec1__slider__btn-next {
    margin-right: -47.8333333333vw;
  }
}
@media screen and (max-width: 1200px) {
  .cuisine-sec1__slider .visual-animate__layer li {
    margin-right: 5vw;
  }
}
@media screen and (max-width: 1200px) {
  .cuisine-sec1__slider .visual-animate__layer__inner {
    max-width: 83.3333333333vw;
  }
}
.cuisine__overlay {
  background: #fff;
  padding: 100px 200px;
  width: 1200px;
}
.cuisine__overlay p {
  color: #000;
  font-size: 2rem;
  line-height: 2.5;
  text-align: center;
}

@media screen and (max-width: 1240px) {
  .cuisine__overlay {
    padding: 8.064516129vw 16.1290322581vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .cuisine__overlay {
    padding: 10.66vw 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .cuisine__overlay p {
    font-size: 3vw;
  }
}
.cuisine__overlay__fig {
  margin-bottom: 40px;
}
.cuisine__overlay__fig img {
  width: 100%;
}

.cuisine__overlay__hd {
  color: #000;
  font-size: 2.6rem;
  line-height: 1.5;
  margin-bottom: 16px;
  text-align: center;
}

/* Plan
--------------------- */
.plan .bridal-tab {
  width: 72.91%;
}
.plan .bridal-tab.deactivate .visual-animate ul li {
  width: 23.32% !important;
}
.plan .bridal-tab__item {
  margin-right: 1.42%;
}
.plan .bridal-tab__item:nth-child(4) {
  margin-right: 0;
}

@media screen and (max-width: 960px) {
  .plan .bridal-tab {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .plan .bridal-tab__item {
    margin-right: 12px;
  }
  .plan .bridal-tab__item:nth-child(4) {
    margin-right: 12px;
  }
}
/* .plan-recommend__txt1 */
.plan-recommend__txt1 {
  color: #000;
  font-size: 1.3rem;
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .plan-recommend__txt1 {
    font-size: 1.2rem;
  }
}
/* .plan-recommend__sec1 */
.plan-recommend__sec1 {
  border: 1px solid #382B0F;
  margin: 72px auto 128px;
  max-width: 1300px;
  padding: 32px 100px 64px;
}

@media screen and (max-width: 1340px) {
  .plan-recommend__sec1 {
    padding: 32px 7.6923076923% 64px;
    width: 97%;
  }
}
@media screen and (max-width: 960px) {
  .plan-recommend__sec1 {
    margin: 10.66vw auto;
    padding: 10.66vw 5.33vw;
    width: 89.34%;
  }
}
.plan-recommend__sec1__hd1 {
  color: #382B0F;
  font-size: 2.8rem;
  line-height: 1.2;
  margin-bottom: 32px;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .plan-recommend__sec1__hd1 {
    font-size: 2rem;
  }
}
.plan-recommend__sec1__cols {
  display: flex;
  justify-content: space-between;
  text-align: center;
}
.plan-recommend__sec1__cols figure {
  margin-bottom: 32px;
}
.plan-recommend__sec1__cols figure img {
  width: 100%;
}
.plan-recommend__sec1__cols p {
  color: #000;
  font-size: 1.6rem;
  line-height: 2.0625;
}

@media screen and (max-width: 960px) {
  .plan-recommend__sec1__cols {
    flex-direction: column;
  }
}
@media screen and (max-width: 960px) {
  .plan-recommend__sec1__cols p {
    font-size: 1.4rem;
  }
}
.plan-recommend__sec1__hd2 {
  color: #000;
  font-size: 1.8rem;
  line-height: 1.2;
  margin-bottom: 16px;
}

.plan-recommend__sec1__col1, .plan-recommend__sec1__col2 {
  width: 47.3588342441%;
}

@media screen and (max-width: 960px) {
  .plan-recommend__sec1__col1 {
    margin-bottom: 10.66vw;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .plan-recommend__sec1__col2 {
    width: 100%;
  }
}
/* Fair
--------------------- */
.fair .bridal-cmn-hd1 {
  margin-top: 120px;
}
.fair .bridal-cmn-sec2__header__hd, .fair .bridal-cmn-sec2__txt1 {
  text-align: left;
}
.fair .bridal-cmn-detail {
  border-top: 1px solid #D6D0BD;
  padding-top: 10px;
}
.fair .bridal-cmn-detail dl {
  border-bottom: 1px solid #D6D0BD;
  margin-bottom: 10px;
  padding: 0 10px 10px;
}
.fair .bridal-cmn-detail dl:last-child {
  margin-bottom: 0;
}

/* Guests
--------------------- */
.guests .bridal-tab {
  width: 83.33%;
}
.guests .bridal-tab.deactivate .visual-animate ul li {
  width: 14.8% !important;
}
.guests .bridal-tab__item {
  margin-right: 1.25%;
}
.guests .bridal-tab__item:nth-child(6) {
  margin-right: 0;
}
.guests .bridal-cmn-hd1 {
  margin-bottom: 80px;
}
.guests .bridal-tab__item a {
  opacity: 1;
}
.guests .bridal-tab__item a.current::after {
  display: none;
}

@media screen and (max-width: 960px) {
  .guests .bridal-tab {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .guests .bridal-tab__item {
    margin-right: 12px;
  }
  .guests .bridal-tab__item:nth-child(6) {
    margin-right: 12px;
  }
}
@media screen and (max-width: 560px) {
  .guests .bridal-cmn-hd1 {
    margin-bottom: 5.33vw;
  }
}
.guests-sec1 {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 120px;
  max-width: 1440px;
  padding: 0 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec1 {
    flex-direction: column;
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec1 {
    margin-bottom: 10.66vw;
  }
}
.guests-sec1__col1 {
  width: 58.5714285714%;
}
.guests-sec1__col1 img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec1__col1 {
    margin-bottom: 5.33vw;
    width: 100%;
  }
}
.guests-sec1__col2 {
  width: 35.7142857143%;
}

@media screen and (max-width: 960px) {
  .guests-sec1__col2 {
    width: 100%;
  }
}
.guests-sec1__hd {
  color: #1D1D1D;
  font-size: 3rem;
  line-height: 1.4;
  margin-bottom: 16px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .guests-sec1__hd {
    font-size: 2rem;
  }
}
.guests-sec1__time {
  background: #F8F2E1;
  color: #1D1D1D;
  font-size: 1.6rem;
  line-height: 1.875;
  margin-bottom: 16px;
  padding: 8px 0;
  text-align: center;
}
.guests-sec1__time > div {
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 560px) {
  .guests-sec1__time {
    font-size: 1.4rem;
  }
}
.guests-sec1__txt1 {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-bottom: 24px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .guests-sec1__txt1 {
    font-size: 1.4rem;
  }
}
.guests-sec1__detail {
  font-size: 1.6rem;
  line-height: 1.4;
}

@media screen and (max-width: 560px) {
  .guests-sec1__detail {
    font-size: 1.4rem;
  }
}
.guests-sec1__detail__inner dl {
  align-items: center;
  border-top: 1px solid #D6D0BD;
  display: flex;
  justify-content: space-between;
  line-height: 1.2;
  padding: 16px;
}
.guests-sec1__detail__inner dl.child {
  border-top: 1px dotted #D6D0BD;
}
.guests-sec1__detail__inner dl:first-child {
  border-top: 0;
}
.guests-sec1__detail__inner dl:last-child {
  border-bottom: 1px dotted #D6D0BD;
}
.guests-sec1__detail__inner dl.child {
  padding-left: 30%;
}
.guests-sec1__detail__inner dt {
  color: #9B7F3C;
}
.guests-sec1__detail__inner dd {
  color: #000;
}

.guests-sec1__detail__hd {
  color: #9B7F3C;
  font-size: 1.6rem;
  margin-bottom: 8px;
}

@media screen and (max-width: 560px) {
  .guests-sec1__detail__hd {
    font-size: 1.4rem;
  }
}
.guests-sec1__detail__txt1 {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 16px;
  text-align: right;
}

/* .guests-sec2 */
.guests-sec2 {
  margin: 0 auto 120px;
  max-width: 1440px;
  padding: 0 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec2 {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec2 {
    margin-bottom: 10.66vw;
  }
}
.guests-sec2__txt1 {
  color: #1D1D1D;
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 48px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .guests-sec2__txt1 {
    font-size: 1.4rem;
    margin-bottom: 5.33vw;
  }
}
.guests-sec2__cols {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  .guests-sec2__cols {
    flex-direction: column;
  }
}
.guests-sec2__cols__col {
  padding-bottom: 96px;
  position: relative;
  width: 30.7142857143%;
}
.guests-sec2__cols__col figure {
  margin-bottom: 24px;
}
.guests-sec2__cols__col figure img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec2__cols__col {
    margin-bottom: 10.66vw;
    padding-bottom: 0;
    width: 100%;
  }
}
.guests-sec2__cols__detail dl {
  align-items: center;
  border-bottom: 1px solid #D6D0BD;
  display: flex;
  margin-bottom: 10px;
  padding: 0 10px 10px;
}
.guests-sec2__cols__detail dl:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.guests-sec2__cols__detail dt {
  color: #9B7F3C;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  width: 7em;
}
.guests-sec2__cols__detail dt span {
  font-size: 1.3rem;
}
.guests-sec2__cols__detail dd {
  color: #000;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 960px) {
  .guests-sec2__cols__detail dt {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 960px) {
  .guests-sec2__cols__detail dd {
    font-size: 1.2rem;
  }
}
.guests-sec2__cols__btn {
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
}
.guests-sec2__cols__btn a {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec2__cols__btn {
    margin-top: 5.33vw;
    position: relative;
  }
}
/* .guests-sec3 */
.guests-sec3 {
  margin: 0 auto 120px;
  max-width: 1440px;
  padding: 0 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec3 {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec3 {
    margin-bottom: 10.66vw;
  }
}
.guests-sec3__cols {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  .guests-sec3__cols {
    flex-direction: column;
  }
}
.guests-sec3__cols__col1 {
  width: 58.5%;
}
.guests-sec3__cols__col1 img {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec3__cols__col1 {
    margin-bottom: 5.33vw;
    width: 100%;
  }
}
.guests-sec3__cols__col2 {
  width: 30.1428571429%;
}
.guests-sec3__cols__col2 p {
  font-size: 1.6rem;
  line-height: 2.1875;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .guests-sec3__cols__col2 {
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec3__cols__col2 p {
    font-size: 1.4rem;
  }
}
.guests-sec3__cols__btn {
  margin-top: 56px;
  width: 100%;
}
.guests-sec3__cols__btn a {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec3__cols__btn {
    margin-top: 5.33vw;
  }
}
/* .guests-sec4 */
.guests-sec4 {
  margin: 0 auto 120px;
  max-width: 1440px;
  padding: 0 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec4 {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec4 {
    margin-bottom: 10.66vw;
  }
}
.guests-sec4__cols {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  .guests-sec4__cols {
    flex-wrap: wrap;
  }
}
.guests-sec4__cols__col {
  width: 21.4285714286%;
}
.guests-sec4__cols__col figure {
  margin-bottom: 24px;
}
.guests-sec4__cols__col figure img {
  width: 100%;
}
.guests-sec4__cols__col p {
  color: #382B0F;
  font-size: 2.5rem;
  line-height: 1.4;
  text-align: center;
}
.guests-sec4__cols__col p span {
  font-size: 1.4rem;
  vertical-align: 0.5em;
}

@media screen and (max-width: 960px) {
  .guests-sec4__cols__col {
    margin-bottom: 5.33vw;
    width: 48%;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec4__cols__col figure {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec4__cols__col p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec4__cols__col p span {
    font-size: 1rem;
  }
}
.guests-sec4__txt1 {
  color: #1D1D1D;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  margin-top: 24px;
  text-align: center;
}
.guests-sec4__txt1 p {
  display: inline-block;
  text-align: left;
}

/* .guests-sec5 */
.guests-sec5 {
  margin: 0 auto 120px;
  max-width: 1315px;
  padding: 0 20px;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .guests-sec5 {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec5 {
    margin-bottom: 10.66vw;
  }
}
.guests-sec5__cols {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 560px) {
  .guests-sec5__cols {
    flex-direction: column;
  }
}
.guests-sec5__cols__col {
  margin-bottom: 80px;
  width: 47.8431372549%;
}
.guests-sec5__cols__col figure img {
  width: 100%;
}
.guests-sec5__cols__col p {
  color: #382B0F;
  font-size: 2.5rem;
  line-height: 1.4;
  margin-top: 16px;
  text-align: center;
}
.guests-sec5__cols__col p span {
  font-size: 1.5rem;
}

@media screen and (max-width: 560px) {
  .guests-sec5__cols__col {
    margin-bottom: 5.33vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec5__cols__col p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 560px) {
  .guests-sec5__cols__col p span {
    font-size: 1.2rem;
  }
}
.guests-sec5__btn {
  margin-top: 72px;
  text-align: center;
}
.guests-sec5__btn a {
  max-width: 600px;
  width: 100%;
}

@media screen and (max-width: 560px) {
  .guests-sec5__btn {
    margin-top: 5.33vw;
  }
}
/* Section1
--------------------- */
.about-sec1 {
  padding: 0 0 80px;
}

@media screen and (max-width: 1400px) {
  .about-sec1 {
    padding: 0 0 5.7142857143vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec1 {
    padding: 0 2.5vw 8.3333333333vw;
  }
}
.about-sec1__row1 {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1400px;
}
.about-sec1__row1 figure {
  width: 52.6428571429%;
}
.about-sec1__row1 figure img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .about-sec1__row1 figure {
    width: 100%;
  }
}
.about-sec1__row1--1 {
  flex-direction: row-reverse;
  position: relative;
}
.about-sec1__row1--1::after {
  background: #EFEADC;
  content: "";
  height: 760px;
  left: 500px;
  position: absolute;
  top: 80px;
  width: 100vw;
  z-index: -1;
}
.about-sec1__row1--1 .about-sec1__row1__content {
  padding: 0 0 100px 50px;
}

@media screen and (max-width: 960px) {
  .about-sec1__row1--1 {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 1400px) {
  .about-sec1__row1--1::after {
    height: 54.2857142857vw;
    left: 35.7142857143vw;
    top: 5.7142857143vw;
  }
}
@media screen and (max-width: 1400px) {
  .about-sec1__row1--1 .about-sec1__row1__content {
    padding: 0 0 7.1428571429vw 3.5714285714vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec1__row1--1 .about-sec1__row1__content {
    padding: 0;
  }
}
.about-sec1__row1--2 {
  flex-direction: row;
  margin-top: -100px;
  position: relative;
}
.about-sec1__row1--2 .about-sec1__row1__content {
  padding: 100px 50px 0 0;
}
.about-sec1__row1--2 figure {
  border: 5px solid #fff;
}

@media screen and (max-width: 1400px) {
  .about-sec1__row1--2 {
    margin-top: -7.1428571429vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec1__row1--2 {
    flex-direction: column-reverse;
    margin-top: 0;
  }
}
@media screen and (max-width: 1400px) {
  .about-sec1__row1--2 .about-sec1__row1__content {
    padding: 7.1428571429vw 3.5714285714vw 0 0;
  }
}
@media screen and (max-width: 960px) {
  .about-sec1__row1--2 .about-sec1__row1__content {
    padding: 0;
  }
}
.about-sec1__row1--3 {
  flex-direction: row-reverse;
  position: relative;
}
.about-sec1__row1--3::after {
  background: #EFEADC;
  content: "";
  height: 760px;
  right: 500px;
  position: absolute;
  top: -416px;
  width: 100vw;
  z-index: -1;
}
.about-sec1__row1--3 .about-sec1__row1__content {
  padding: 0 0 0 50px;
}

@media screen and (max-width: 960px) {
  .about-sec1__row1--3 {
    flex-direction: column;
  }
}
@media screen and (max-width: 1400px) {
  .about-sec1__row1--3::after {
    height: 54.2857142857vw;
    right: 35.7142857143vw;
    top: -29.7142857143vw;
  }
}
@media screen and (max-width: 1400px) {
  .about-sec1__row1--3 .about-sec1__row1__content {
    padding: 0 0 0 3.5714285714vw;
  }
}
.about-sec1__row1__content {
  font-size: 1.6rem;
  line-height: 2.6875;
  width: 35.7142857143%;
}

@media screen and (max-width: 1400px) {
  .about-sec1__row1__content {
    font-size: 1.1428571429vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec1__row1__content {
    font-size: 3.3333333333vw;
    margin: 6.6666666667vw 0;
    text-align: center;
    width: 100%;
  }
}
.about-sec1__txt1 {
  font-size: 1.6rem;
  line-height: 2.6875;
  margin: 64px 0;
  text-align: center;
}

@media screen and (max-width: 1400px) {
  .about-sec1__txt1 {
    font-size: 1.1428571429vw;
    margin: 4.5714285714vw 0;
  }
}
@media screen and (max-width: 960px) {
  .about-sec1__txt1 {
    font-size: 3.3333333333vw;
    margin: 6.6666666667vw 0;
    text-align: center;
  }
}
.about-sec1__row2 {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1400px;
}
.about-sec1__row2 figure {
  width: 49.2857142857%;
}
.about-sec1__row2 figure img {
  width: 100%;
}

.about-sec1__txt2 {
  font-size: 2.2rem;
  line-height: 2.6875;
  margin: 64px 0;
  text-align: center;
}

@media screen and (max-width: 1400px) {
  .about-sec1__txt2 {
    font-size: 1.5714285714vw;
    margin: 4.5714285714vw 0;
  }
}
@media screen and (max-width: 960px) {
  .about-sec1__txt2 {
    font-size: 3.3333333333vw;
    margin: 6.6666666667vw 0;
    text-align: center;
  }
}
/* Section2
--------------------- */
.about-sec2 {
  background-color: #D9EBE6;
  padding: 0 20px 120px;
}

@media screen and (max-width: 1440px) {
  .about-sec2 {
    padding: 0 1.3888888889vw 8.3333333333vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2 {
    padding: 0 2.5vw 8.3333333333vw;
  }
}
.about-sec2__items {
  margin: 0 auto;
  max-width: 1400px;
  width: 100%;
}

.about-sec2__items__item {
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: auto 100%;
  margin-bottom: 60px;
  min-height: 370px;
  position: relative;
}
.about-sec2__items__item p {
  font-size: 1.5rem;
  font-weight: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  line-height: 2;
  margin-top: 1em;
}
.about-sec2__items__item > div {
  padding: 64px 0;
  position: relative;
  width: 29.2857142857%;
  z-index: 2;
}
.about-sec2__items__item::after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  width: 70%;
  z-index: 1;
}
.about-sec2__items__item:nth-child(2n+1) {
  background-position: 100% 0%;
}
.about-sec2__items__item:nth-child(2n+1) > div {
  margin: 0 auto 0 80px;
}
.about-sec2__items__item:nth-child(2n+1)::after {
  background: linear-gradient(to right, white 0%, white 60%, rgba(255, 255, 255, 0) 100%);
  left: 0;
}
.about-sec2__items__item:nth-child(2n+2) {
  background-position: 0% 0%;
}
.about-sec2__items__item:nth-child(2n+2) > div {
  margin: 0 80px 0 auto;
}
.about-sec2__items__item:nth-child(2n+2)::after {
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 40%, white 100%);
  right: 0;
}
.about-sec2__items__item.local {
  background-image: url("../../img/about/about_sec2_img_local.jpg");
}
.about-sec2__items__item.local figure {
  margin-top: 20px;
}
.about-sec2__items__item.local figure img {
  max-width: 100%;
}
.about-sec2__items__item.disaster {
  background-image: url("../../img/about/about_sec2_img_disaster.jpg");
}
.about-sec2__items__item.internship {
  background-image: url("../../img/about/about_sec2_img_internship.jpg");
}
.about-sec2__items__item.event {
  background-image: url("../../img/about/about_sec2_img_event.jpg");
}

@media screen and (max-width: 960px) {
  .about-sec2__items__item {
    background-size: auto 44vw;
    min-height: auto;
    padding-bottom: 44vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1440px) {
  .about-sec2__items__item > div {
    padding: 4.4444444444vw 0;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item > div {
    padding: 4.4444444444vw;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item:nth-child(2n+1) {
    background-position: 100% 100%;
  }
}
@media screen and (max-width: 1440px) {
  .about-sec2__items__item:nth-child(2n+1) > div {
    margin-left: 5.5555555556vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item:nth-child(2n+1) > div {
    margin: 0;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item:nth-child(2n+1)::after {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item:nth-child(2n+2) {
    background-position: 0% 100%;
  }
}
@media screen and (max-width: 1440px) {
  .about-sec2__items__item:nth-child(2n+2) > div {
    margin-right: 5.5555555556vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item:nth-child(2n+2) > div {
    margin: 0;
  }
}
@media screen and (max-width: 960px) {
  .about-sec2__items__item:nth-child(2n+2)::after {
    display: none;
  }
}
.about-sec2__items__hd {
  border-bottom: 1px solid #AC965F;
  color: #AC955F;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 24px;
  padding-bottom: 8px;
}

@media screen and (max-width: 960px) {
  .about-sec2__items__hd {
    font-size: 2rem;
  }
}
@media screen and (max-width: 560px) {
  .about-sec2__items__hd {
    font-size: 5.4vw;
  }
}
/* Section3
--------------------- */
.about-sec3 {
  padding: 0 20px;
}

@media screen and (max-width: 1440px) {
  .about-sec3 {
    padding: 0 1.3888888889vw;
  }
}
@media screen and (max-width: 960px) {
  .about-sec3 {
    padding: 0 2.5vw;
  }
}
@media screen and (max-width: 560px) {
  .about-sec3 {
    padding: 0 5.33vw;
  }
}
.about-sec3__row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 104px;
  max-width: 1300px;
}

@media screen and (max-width: 560px) {
  .about-sec3__row {
    margin-bottom: 12vw;
  }
}
.about-sec3__row--l {
  flex-direction: row;
}

.about-sec3__row--r {
  flex-direction: row-reverse;
}

@media screen and (max-width: 560px) {
  .about-sec3__row {
    flex-direction: column-reverse;
  }
}
.about-sec3__row figure {
  width: 43.8461538462%;
}
.about-sec3__row figure img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .about-sec3__row figure {
    width: 48%;
  }
}
@media screen and (max-width: 560px) {
  .about-sec3__row figure {
    margin-bottom: 6vw;
    width: 100%;
  }
}
.about-sec3__row__hd {
  font-size: 3.4rem;
  line-height: 1.9117647059;
  margin-bottom: 48px;
}

@media screen and (max-width: 1340px) {
  .about-sec3__row__hd {
    font-size: 2.5373134328vw;
    margin-bottom: 3.5820895522vw;
  }
}
@media screen and (max-width: 560px) {
  .about-sec3__row__hd {
    font-size: 6vw;
    margin-bottom: 6vw;
  }
}
.about-sec3__row__content {
  width: 43.8461538462%;
}
.about-sec3__row__content p {
  font-size: 1.5rem;
  line-height: 2.3333333333;
}

@media screen and (max-width: 960px) {
  .about-sec3__row__content {
    width: 48%;
  }
}
@media screen and (max-width: 560px) {
  .about-sec3__row__content {
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .about-sec3__row__content p {
    font-size: 1.4rem;
  }
}
.about-sec3__row__btn {
  margin-top: 48px;
}
.about-sec3__row__btn a {
  background-color: #1D1D1D;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  padding: 24px 0;
  text-align: center;
  width: 100%;
}
.about-sec3__row__btn a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1340px) {
  .about-sec3__row__btn {
    margin-top: 3.5820895522vw;
  }
}
@media screen and (max-width: 560px) {
  .about-sec3__row__btn {
    margin-top: 6vw;
  }
}
.pretty {
  position: relative;
  display: inline-block;
  margin-right: 1em;
  white-space: nowrap;
  line-height: 1;
}
.pretty * {
  box-sizing: border-box;
}
.pretty input {
  position: absolute;
  left: 0;
  top: 0;
  min-width: 1em;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.pretty input:not([type=checkbox]):not([type=radio]) {
  display: none;
}
.pretty .state label {
  position: initial;
  display: inline-block;
  font-weight: normal;
  margin: 0;
  text-indent: 1.5em;
  min-width: calc(1em + 2px);
}
.pretty .state label:before, .pretty .state label:after {
  content: "";
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  display: block;
  box-sizing: border-box;
  border-radius: 0;
  border: 1px solid transparent;
  z-index: 0;
  position: absolute;
  left: 0;
  top: calc(0% - (100% - 1em) - 8%);
  background-color: transparent;
}
.pretty .state label:before {
  border-color: #bdc3c7;
}
.pretty .state.p-is-hover, .pretty .state.p-is-indeterminate {
  display: none;
}
.pretty.p-default.p-fill .state label:after {
  transform: scale(1);
}
.pretty.p-default .state label:after {
  transform: scale(0.6);
}
.pretty.p-default input:checked ~ .state label:after {
  background-color: #bdc3c7 !important;
}
.pretty.p-default.p-thick .state label:before {
  border-width: 0.1428571429em;
}
.pretty.p-default.p-thick .state label:after {
  border-width: 0.1428571429em;
  transform: scale(0.4) !important;
}
.pretty.p-icon .state .icon {
  position: absolute;
  font-size: 1em;
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  left: 0;
  z-index: 1;
  text-align: center;
  line-height: normal;
  top: calc(0% - (100% - 1em) - 8%);
  border: 1px solid transparent;
  opacity: 0;
}
.pretty.p-icon .state .icon:before {
  margin: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.pretty.p-icon input:checked ~ .state .icon {
  opacity: 1;
}
.pretty.p-icon input:checked ~ .state label:before {
  border-color: #5a656b;
}
.pretty.p-svg .state .svg {
  position: absolute;
  font-size: 1em;
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  left: 0;
  z-index: 1;
  text-align: center;
  line-height: normal;
  top: calc(0% - (100% - 1em) - 8%);
  border: 1px solid transparent;
  opacity: 0;
}
.pretty.p-svg .state svg {
  margin: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
.pretty.p-svg input:checked ~ .state .svg {
  opacity: 1;
}
.pretty.p-image .state img {
  opacity: 0;
  position: absolute;
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  top: 0;
  top: calc(0% - (100% - 1em) - 8%);
  left: 0;
  z-index: 0;
  text-align: center;
  line-height: normal;
  transform: scale(0.8);
}
.pretty.p-image input:checked ~ .state img {
  opacity: 1;
}
.pretty.p-switch input {
  min-width: 2em;
}
.pretty.p-switch .state {
  position: relative;
}
.pretty.p-switch .state:before {
  content: "";
  border: 1px solid #bdc3c7;
  border-radius: 60px;
  width: 2em;
  box-sizing: unset;
  height: calc(1em + 2px);
  position: absolute;
  top: 0;
  top: calc(0% - (100% - 1em) - 16%);
  z-index: 0;
  transition: all 0.5s ease;
}
.pretty.p-switch .state label {
  text-indent: 2.5em;
}
.pretty.p-switch .state label:before {
  transition: all 0.5s ease;
  border-radius: 100%;
  left: 0;
  border-color: transparent;
  transform: scale(0.8);
}
.pretty.p-switch .state label:after {
  transition: all 0.5s ease;
  border-radius: 100%;
  left: 0;
  border-color: transparent;
  transform: scale(0.8);
  background-color: #bdc3c7 !important;
}
.pretty.p-switch input:checked ~ .state:before {
  border-color: #575757;
}
.pretty.p-switch input:checked ~ .state label:before {
  opacity: 0;
}
.pretty.p-switch input:checked ~ .state label:after {
  background-color: #575757 !important;
  left: 1em;
}
.pretty.p-switch.p-fill input:checked ~ .state:before {
  border-color: #575757;
  background-color: #575757 !important;
}
.pretty.p-switch.p-fill input:checked ~ .state label:before {
  opacity: 0;
}
.pretty.p-switch.p-fill input:checked ~ .state label:after {
  background-color: #fff !important;
  left: 1em;
}
.pretty.p-switch.p-slim .state:before {
  height: 0.1em;
  background: #bdc3c7 !important;
  top: calc(50% - 0.1em);
}
.pretty.p-switch.p-slim input:checked ~ .state:before {
  border-color: #575757;
  background-color: #575757 !important;
}
.pretty.p-has-hover input:hover ~ .state:not(.p-is-hover) {
  display: none;
}
.pretty.p-has-hover input:hover ~ .state.p-is-hover {
  display: block;
}
.pretty.p-has-hover input:hover ~ .state.p-is-hover .icon {
  display: block;
}
.pretty.p-has-focus input:focus ~ .state label:before {
  box-shadow: 0px 0px 3px 0px #bdc3c7;
}
.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state:not(.p-is-indeterminate) {
  display: none;
}
.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state.p-is-indeterminate {
  display: block;
}
.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state.p-is-indeterminate .icon {
  display: block;
  opacity: 1;
}
.pretty.p-toggle .state.p-on {
  opacity: 0;
  display: none;
}
.pretty.p-toggle .state.p-off, .pretty.p-toggle .state .icon, .pretty.p-toggle .state .svg, .pretty.p-toggle .state img {
  opacity: 1;
  display: inherit;
}
.pretty.p-toggle .state.p-off .icon {
  color: #bdc3c7;
}
.pretty.p-toggle input:checked ~ .state.p-on {
  opacity: 1;
  display: inherit;
}
.pretty.p-toggle input:checked ~ .state.p-off {
  opacity: 0;
  display: none;
}
.pretty.p-plain input:checked ~ .state label:before, .pretty.p-plain.p-toggle .state label:before {
  content: none;
}
.pretty.p-plain.p-plain .icon {
  transform: scale(1.1);
}
.pretty.p-round .state label:before, .pretty.p-round .state label:after {
  border-radius: 100%;
}
.pretty.p-round.p-icon .state .icon {
  border-radius: 100%;
  overflow: hidden;
}
.pretty.p-round.p-icon .state .icon:before {
  transform: scale(0.8);
}
.pretty.p-curve .state label:before, .pretty.p-curve .state label:after {
  border-radius: 20%;
}
.pretty.p-smooth label:before, .pretty.p-smooth label:after {
  transition: all 0.5s ease;
}
.pretty.p-smooth .icon, .pretty.p-smooth .svg {
  transition: all 0.5s ease;
}
.pretty.p-smooth input:checked + .state label:after {
  transition: all 0.3s ease;
}
.pretty.p-smooth input:checked + .state .icon, .pretty.p-smooth input:checked + .state .svg, .pretty.p-smooth input:checked + .state img {
  -webkit-animation: zoom 0.2s ease;
          animation: zoom 0.2s ease;
}
.pretty.p-smooth.p-default input:checked + .state label:after {
  -webkit-animation: zoom 0.2s ease;
          animation: zoom 0.2s ease;
}
.pretty.p-smooth.p-plain input:checked + .state label:before {
  content: "";
  transform: scale(0);
  transition: all 0.5s ease;
}
.pretty.p-tada:not(.p-default) input:checked + .state .icon, .pretty.p-tada:not(.p-default) input:checked + .state .svg, .pretty.p-tada:not(.p-default) input:checked + .state img {
  -webkit-animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
          animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
  opacity: 1;
}
.pretty.p-tada:not(.p-default) input:checked + .state label:before, .pretty.p-tada:not(.p-default) input:checked + .state label:after {
  -webkit-animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
          animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
  opacity: 1;
}
.pretty.p-jelly:not(.p-default) input:checked + .state .icon, .pretty.p-jelly:not(.p-default) input:checked + .state .svg, .pretty.p-jelly:not(.p-default) input:checked + .state img {
  -webkit-animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 1;
}
.pretty.p-jelly:not(.p-default) input:checked + .state label:before, .pretty.p-jelly:not(.p-default) input:checked + .state label:after {
  -webkit-animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 1;
}
.pretty.p-jelly:not(.p-default) input:checked + .state label:before {
  border-color: transparent;
}
.pretty.p-rotate:not(.p-default) input:checked ~ .state .icon, .pretty.p-rotate:not(.p-default) input:checked ~ .state .svg, .pretty.p-rotate:not(.p-default) input:checked ~ .state img {
  -webkit-animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 1;
}
.pretty.p-rotate:not(.p-default) input:checked ~ .state label:before, .pretty.p-rotate:not(.p-default) input:checked ~ .state label:after {
  -webkit-animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 1;
}
.pretty.p-rotate:not(.p-default) input:checked ~ .state label:before {
  border-color: transparent;
}
.pretty.p-pulse:not(.p-switch) input:checked ~ .state label:before {
  -webkit-animation: pulse 1s;
          animation: pulse 1s;
}
.pretty input[disabled] {
  cursor: not-allowed;
  display: none;
}
.pretty input[disabled] ~ * {
  opacity: 0.5;
}
.pretty.p-locked input {
  display: none;
  cursor: not-allowed;
}
.pretty input:checked ~ .state.p-dark label:after, .pretty.p-toggle .state.p-dark label:after {
  background-color: #575757 !important;
}
.pretty input:checked ~ .state.p-dark .icon, .pretty input:checked ~ .state.p-dark .svg {
  color: #fff;
  stroke: #fff;
}
.pretty.p-toggle .state.p-dark .icon, .pretty.p-toggle .state.p-dark .svg {
  color: #fff;
  stroke: #fff;
}
.pretty input:checked ~ .state.p-dark-o label:before, .pretty.p-toggle .state.p-dark-o label:before {
  border-color: #575757;
}
.pretty input:checked ~ .state.p-dark-o label:after, .pretty.p-toggle .state.p-dark-o label:after {
  background-color: transparent;
}
.pretty input:checked ~ .state.p-dark-o .icon, .pretty input:checked ~ .state.p-dark-o .svg, .pretty input:checked ~ .state.p-dark-o svg {
  color: #575757;
  stroke: #575757;
}
.pretty.p-toggle .state.p-dark-o .icon, .pretty.p-toggle .state.p-dark-o .svg, .pretty.p-toggle .state.p-dark-o svg {
  color: #575757;
  stroke: #575757;
}
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-dark-o label:after {
  background-color: #575757 !important;
}
.pretty.p-switch input:checked ~ .state.p-dark:before {
  border-color: #575757;
}
.pretty.p-switch.p-fill input:checked ~ .state.p-dark:before {
  background-color: #575757 !important;
}
.pretty.p-switch.p-slim input:checked ~ .state.p-dark:before {
  border-color: #242424;
  background-color: #242424 !important;
}
.pretty.p-bigger label:before, .pretty.p-bigger label:after {
  font-size: 1.2em !important;
  top: calc(0% - (100% - 1em) - 35%) !important;
}
.pretty.p-bigger .icon, .pretty.p-bigger .svg, .pretty.p-bigger .img {
  font-size: 1.2em !important;
  top: calc(0% - (100% - 1em) - 35%) !important;
}
.pretty.p-bigger label {
  text-indent: 1.7em;
}

@-webkit-keyframes zoom {
  0% {
    opacity: 0;
    transform: scale(0);
  }
}

@keyframes zoom {
  0% {
    opacity: 0;
    transform: scale(0);
  }
}
@-webkit-keyframes tada {
  0% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
    transform: scale(7);
  }
  38% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    opacity: 1;
    transform: scale(1);
  }
  55% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    transform: scale(1.5);
  }
  72% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    transform: scale(1);
  }
  81% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    transform: scale(1.24);
  }
  89% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    transform: scale(1);
  }
  95% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    transform: scale(1.04);
  }
  100% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    transform: scale(1);
  }
}
@keyframes tada {
  0% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
    transform: scale(7);
  }
  38% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    opacity: 1;
    transform: scale(1);
  }
  55% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    transform: scale(1.5);
  }
  72% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    transform: scale(1);
  }
  81% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    transform: scale(1.24);
  }
  89% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    transform: scale(1);
  }
  95% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    transform: scale(1.04);
  }
  100% {
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    transform: scale(1);
  }
}
@-webkit-keyframes jelly {
  0% {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(0.75, 1.25, 1);
  }
  40% {
    transform: scale3d(1.25, 0.75, 1);
  }
  50% {
    transform: scale3d(0.85, 1.15, 1);
  }
  65% {
    transform: scale3d(1.05, 0.95, 1);
  }
  75% {
    transform: scale3d(0.95, 1.05, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes jelly {
  0% {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(0.75, 1.25, 1);
  }
  40% {
    transform: scale3d(1.25, 0.75, 1);
  }
  50% {
    transform: scale3d(0.85, 1.15, 1);
  }
  65% {
    transform: scale3d(1.05, 0.95, 1);
  }
  75% {
    transform: scale3d(0.95, 1.05, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
@-webkit-keyframes rotate {
  0% {
    opacity: 0;
    transform: translateZ(-200px) rotate(-45deg);
  }
  100% {
    opacity: 1;
    transform: translateZ(0) rotate(0);
  }
}
@keyframes rotate {
  0% {
    opacity: 0;
    transform: translateZ(-200px) rotate(-45deg);
  }
  100% {
    opacity: 1;
    transform: translateZ(0) rotate(0);
  }
}
@-webkit-keyframes pulse {
  0% {
    box-shadow: 0px 0px 0px 0px #bdc3c7;
  }
  100% {
    box-shadow: 0px 0px 0px 1.5em rgba(189, 195, 199, 0);
  }
}
@keyframes pulse {
  0% {
    box-shadow: 0px 0px 0px 0px #bdc3c7;
  }
  100% {
    box-shadow: 0px 0px 0px 1.5em rgba(189, 195, 199, 0);
  }
}
@media print {
  .pretty .state:before {
    color-adjust: exact;
    /* stylelint-disable */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .pretty .state label:before, .pretty .state label:after {
    color-adjust: exact;
    /* stylelint-disable */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .pretty .state .icon {
    color-adjust: exact;
    /* stylelint-disable */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.form-contact {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
.form-contact textarea.form-control {
  height: auto;
}
.form-contact select {
  padding-right: calc(1.5em + 2.25rem + 2px);
  background-image: url("../../img/icon-button-arrow-dark.svg");
  background-size: contain;
  background-size: calc(1.5em + 0.5625rem + 2px);
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
}
.form-contact select::-ms-expand {
  display: none;
}

.form-header {
  text-align: center;
  line-height: 2.5;
  letter-spacing: 0.0125em;
}

.form-title {
  font-size: 2.225rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.step-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0.75rem 1rem;
  list-style: none;
  color: #ffffff;
  background-color: #8D8D8D;
  font-size: 1.25rem;
}

.step-bar-item {
  color: #fff;
  background-color: rgba(155, 127, 60, 0.9);
  padding-left: 1.65rem;
  padding-right: 1.65rem;
}
.step-bar-item:not(.active) {
  background-color: transparent;
}
.step-bar-item + .step-bar-item {
  position: relative;
  margin-left: 2.5rem;
}
.step-bar-item + .step-bar-item::before {
  content: ">";
  display: inline-block;
  position: absolute;
  left: -1.25rem;
  transform: translateX(-50%);
}

.form-content {
  padding-top: 5%;
  padding-bottom: 7%;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 960px;
}

@media screen and (max-width: 960px) {
  .form-content {
    max-width: 90%;
  }
}
.input-group {
  display: flex;
  align-items: center;
}
.input-group + .input-group {
  padding-left: 1.5em;
}

.form-group {
  display: flex;
  align-items: center;
  margin-top: 3.25rem;
  margin-bottom: 3.25rem;
  font-size: 1.25rem;
}
.form-group .form-group {
  display: flex;
  margin-top: 0;
  margin-bottom: 0;
}
.form-group .form-group .form-control {
  width: auto;
}
.form-group .form-group .form-label {
  padding-left: 0;
  max-width: 100%;
}
.form-group .form-group + .form-group {
  margin-top: 2.75rem;
}

@media screen and (max-width: 960px) {
  .form-group {
    flex-wrap: wrap;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.form-control, .form-label {
  display: block;
  width: 100%;
  height: calc(1.5em + 2.25rem + 2px);
  padding: 1.125rem 1.555rem;
  text-align: justify;
  letter-spacing: 0.0025em;
  line-height: 1.5;
  font-size: 1.125rem;
  -ms-overflow-style: none;
  overflow: auto;
}

.form-check-inline {
  width: auto;
  display: inline-block;
}
.form-check-inline + .form-check-inline {
  margin-left: 2rem;
}

.form-label {
  color: #575757;
  align-self: flex-start;
  max-width: 27.5%;
  min-width: 27.5%;
  display: flex;
  align-items: center;
}
.form-label[required-text] {
  position: relative;
}
.form-label[required-text]::after {
  content: attr(required-text);
  display: inline-block;
  white-space: nowrap;
  padding: 0.075rem 1.555rem;
  margin: 0 1rem;
  font-size: 0.925rem;
  letter-spacing: 0.25em;
  color: white;
  background-color: #53B9A1;
}

@media screen and (max-width: 960px) {
  .form-label {
    flex-basis: auto;
    max-width: 100%;
    min-width: 100%;
    padding: 0;
  }
}
.form-control {
  color: #666666;
  background-color: #fff;
  background-clip: padding-box;
  border: 0.35px solid #777777;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}
.form-control::-moz-placeholder {
  color: #CCCCCC;
}
.form-control:-ms-input-placeholder {
  color: #CCCCCC;
}
.form-control::placeholder {
  color: #CCCCCC;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

@media screen and (max-width: 960px) {
  .form-control {
    flex: 1 1 0;
  }
}
.form-validate {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  width: 100%;
  max-width: 60%;
  margin: 0 auto;
  font-size: 1.35rem;
  display: flex;
  flex-direction: column;
}
.form-validate .form-check {
  align-self: center;
  margin-top: 2.75rem;
  margin-bottom: 2.75rem;
}

@media screen and (max-width: 960px) {
  .form-validate {
    max-width: 100%;
  }
}
.text-agree {
  padding: 0 2rem;
  vertical-align: middle;
  color: #1D1D1D;
}

.btn-submit {
  display: block;
  text-align: center;
  letter-spacing: 0.5em;
  padding: 1.755rem;
  color: white;
  background-color: #1D1D1D;
}

.error-messages, .messages {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  text-align: center;
  font-size: 1.35rem;
}

.error-messages {
  color: red;
  font-size: 1.75rem;
  line-height: 2;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.bizside-form-item-checkbox, .bizside-form-item-date, .bizside-form-item-datetime, .bizside-form-item-text {
  display: none;
}

.form-control-suffix {
  padding-left: 1.5rem;
}

.form-control-date, .form-control-number, .form-control-time {
  width: auto;
  padding-right: 2rem;
  margin-right: 1.5rem;
}

.pretty .state {
  display: flex;
  align-items: center;
}
.pretty input {
  width: 2em;
}

.flex-grow-1 {
  flex-grow: 1;
}

.ml-3 {
  margin-left: 1.5rem !important;
}

.ml-5 {
  margin-left: 2.25rem !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-50 {
  width: 50% !important;
}

.w-100 {
  width: 100% !important;
}

.h-auto {
  height: auto !important;
}

.text-nowrap {
  white-space: nowrap;
}

.text-center {
  text-align: center;
}

.text-xl {
  font-size: 2.5rem;
  font-weight: bold;
}

.form-check-input, .form-check-label {
  vertical-align: baseline;
}

.py-3 {
  padding-top: 1.125rem;
  padding-bottom: 1.125rem;
}

.text-red-600 {
  color: #e53e3e;
}

.form-text {
  line-height: 1.75;
  letter-spacing: 0.0125em;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Section1
--------------------- */
.point-card-sec1 {
  padding: 0 20px 80px;
}
.point-card-sec1 > div {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1120px;
}
.point-card-sec1 figure {
  width: 28.5714285714%;
}
.point-card-sec1 figure img {
  width: 100%;
}

@media screen and (max-width: 560px) {
  .point-card-sec1 {
    padding: 10.66vw 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec1 > div {
    flex-direction: column;
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec1 figure {
    margin-top: 5.33vw;
    width: 100%;
  }
}
.point-card-sec1__col {
  width: 65.3571428571%;
}

@media screen and (max-width: 560px) {
  .point-card-sec1__col {
    width: 100%;
  }
}
.point-card-sec1__col__hd {
  color: #575757;
  font-size: 2.8rem;
  line-height: 1.7857142857;
  margin-bottom: 14px;
}

@media screen and (max-width: 560px) {
  .point-card-sec1__col__hd {
    font-size: 6vw;
    text-align: center;
  }
}
.point-card-sec1__col__txt1 {
  color: #575757;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.5rem;
  line-height: 2.1333333333;
  margin-bottom: 20px;
}

.point-card-sec1__col__txt2 {
  border-bottom: 1px solid #AC965F;
  border-top: 1px solid #AC965F;
  color: #AC965F;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.8823529412;
  padding: 14px 0;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .point-card-sec1__col__txt2 {
    font-size: 1.5rem;
    text-align: left;
  }
}
/* Section2
--------------------- */
.point-card-sec2 {
  background: #EFEADC;
  padding: 80px 20px 30px;
}
.point-card-sec2 > div {
  margin: 0 auto;
  max-width: 1120px;
}

@media screen and (max-width: 560px) {
  .point-card-sec2 {
    padding: 10.66vw 5.33vw 5.33vw;
  }
}
.point-card-sec2__hd {
  color: #575757;
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 20px;
}
.point-card-sec2__hd::before {
  background: #8D8D8D;
  content: "";
  display: inline-block;
  height: 15px;
  margin-right: 10px;
  width: 15px;
}

@media screen and (max-width: 560px) {
  .point-card-sec2__hd {
    font-size: 1.8rem;
  }
}
.point-card-sec2__sec {
  margin-bottom: 50px;
}

@media screen and (max-width: 560px) {
  .point-card-sec2__sec {
    margin-bottom: 5.33vw;
  }
}
.point-card-sec2__sec__hd {
  background: #AC965F;
  color: #fff;
  font-size: 2rem;
  line-height: 1.5;
  padding: 14px 2.5%;
}

@media screen and (max-width: 560px) {
  .point-card-sec2__sec__hd {
    font-size: 1.6rem;
    padding: 2.66vw 5.33vw;
  }
}
.point-card-sec2__sec__inner {
  background: #fff;
  font-size: 1.5rem;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  line-height: 2.1333333333;
  padding: 3.2142857143% 7.8571428571% calc(3.2142857143% - 1em);
}
.point-card-sec2__sec__inner p {
  margin-bottom: 1em;
}
.point-card-sec2__sec__inner p span {
  color: #73000F;
  font-weight: bold;
}
.point-card-sec2__sec__inner dl {
  align-items: center;
  display: flex;
  margin-bottom: 1em;
}
.point-card-sec2__sec__inner dt {
  background: #73000F;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  margin-right: 24px;
  padding: 13px 0;
  text-align: center;
  width: 150px;
}
.point-card-sec2__sec__inner dd {
  color: #73000F;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.2;
}
.point-card-sec2__sec__inner dd span {
  color: #575757;
  font-size: 1.2rem;
  font-weight: normal;
}

@media screen and (max-width: 560px) {
  .point-card-sec2__sec__inner {
    font-size: 1.4rem;
    padding: 5.33vw 5.33vw calc(5.33vw - 1em);
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec2__sec__inner dl {
    flex-direction: column;
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec2__sec__inner dt {
    margin-right: 0;
    margin-bottom: 10px;
    padding: 10px 0;
    width: 100%;
  }
}
/* Section3
--------------------- */
.point-card-sec3 {
  background: #fff;
  padding: 80px 20px;
}
.point-card-sec3 > div {
  margin: 0 auto;
  max-width: 1120px;
}
.point-card-sec3 table {
  border: 1px solid #CCB57B;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  width: 100%;
}
.point-card-sec3 th {
  background: #CCB57B;
  border-top: 1px solid #fff;
  color: #fff;
  font-weight: bold;
  padding: 12px 0;
  text-align: center;
  width: 220px;
}
.point-card-sec3 tr:first-child th {
  border-top: 0;
}
.point-card-sec3 td {
  border: 1px solid #CCB57B;
  font-weight: bold;
  padding: 12px 46px;
}
.point-card-sec3 td .point-card-sec3__txt2 {
  color: #73000F;
}
.point-card-sec3 td .point-card-sec3__txt3 {
  font-size: 1.2rem;
  font-weight: normal;
}

@media screen and (max-width: 560px) {
  .point-card-sec3 {
    padding: 10.66vw 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec3 table {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1160px) {
  .point-card-sec3 th {
    padding: 12px 20px;
    width: auto;
    white-space: nowrap;
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec3 th {
    padding: 10px 5.33vw;
  }
}
@media screen and (max-width: 1160px) {
  .point-card-sec3 td {
    padding: 12px 20px;
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec3 td {
    padding: 10px 5.33vw;
  }
}
.point-card-sec3__hd {
  color: #575757;
  font-size: 2.4rem;
  line-height: 1.5;
}
.point-card-sec3__hd::before {
  background: #8D8D8D;
  content: "";
  display: inline-block;
  height: 15px;
  margin-right: 10px;
  width: 15px;
}

@media screen and (max-width: 560px) {
  .point-card-sec3__hd {
    font-size: 1.8rem;
  }
}
.point-card-sec3__txt1 {
  font-size: 1.5rem;
  line-height: 1.5;
  margin: -2.2em 0 24px 0;
  text-align: right;
}

@media screen and (max-width: 1160px) {
  .point-card-sec3__txt1 {
    margin: 0 0 24px 0;
    text-align: left;
  }
}
@media screen and (max-width: 560px) {
  .point-card-sec3__txt1 {
    font-size: 1.2rem;
  }
}
/* Section4
--------------------- */
.point-card-sec4 {
  background: #F4F4F4;
  padding: 80px 20px 10px;
}
.point-card-sec4 > div {
  margin: 0 auto;
  max-width: 1120px;
}

@media screen and (max-width: 560px) {
  .point-card-sec4 {
    padding: 10.66vw 5.33vw 5.33vw;
  }
}
.point-card-sec4__hd {
  color: #575757;
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 20px;
}
.point-card-sec4__hd::before {
  background: #8D8D8D;
  content: "";
  display: inline-block;
  height: 15px;
  margin-right: 10px;
  width: 15px;
}

@media screen and (max-width: 560px) {
  .point-card-sec4__hd {
    font-size: 1.8rem;
  }
}
.point-card-facilities {
  display: flex;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1120px;
}

@media screen and (max-width: 560px) {
  .point-card-facilities {
    flex-direction: column;
  }
}
.point-card-facilities__item {
  margin-bottom: 70px;
  margin-right: 1.7857142857%;
  width: 32.1428571429%;
}
.point-card-facilities__item figure img {
  width: 100%;
}
.point-card-facilities__item p {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 14px;
  text-align: center;
}
.point-card-facilities__item p span {
  font-size: 1.3rem;
  font-weight: normal;
}
.point-card-facilities__item:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 560px) {
  .point-card-facilities__item {
    margin-bottom: 5.33vw;
    margin-right: 0;
    width: 100%;
  }
}
.news-items {
  margin: 0 auto;
  max-width: 800px;
  padding: 0 20px 100px;
}

@media screen and (max-width: 560px) {
  .news-items {
    padding: 0 5.33vw 10.66vw;
  }
}
.news-items__item {
  border-bottom: 1px solid #ccc;
  display: flex;
  font-size: 1.6rem;
  line-height: 2;
  padding: 16px 0;
}

@media screen and (max-width: 560px) {
  .news-items__item {
    font-size: 1.4rem;
  }
}
.news-items__item__date {
  margin-right: 20px;
}

@media screen and (max-width: 560px) {
  .news-items__item__date {
    margin-right: 5.33vw;
  }
}
.news-items__item__title a {
  color: #333;
  text-decoration: none;
}
.news-items__item__title a:hover {
  color: #575757;
  text-decoration: underline;
}

.news-post {
  margin: 0 auto;
  max-width: 1440px;
  padding: 80px 20px;
}
.news-post figure {
  margin-bottom: 100px;
}
.news-post figure img {
  width: 100%;
}
.news-post p {
  font-size: 1.5rem;
  line-height: 2.1333333333;
  margin-bottom: 1em;
  padding: 0 7.1428571429%;
}

@media screen and (max-width: 560px) {
  .news-post {
    padding: 10.66vw 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .news-post figure {
    margin-bottom: 5.33vw;
  }
}
@media screen and (max-width: 560px) {
  .news-post p {
    font-size: 1.4rem;
    padding: 0;
  }
}
.news-post__date {
  color: #575757;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 10px;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 560px) {
  .news-post__date {
    font-size: 1.4rem;
    margin-bottom: 5.33vw;
  }
}
.news-post__title {
  border-bottom: 1px solid #8D8D8D;
  color: #575757;
  font-size: 3rem;
  line-height: 1.5;
  margin-bottom: 64px;
  padding-bottom: 10px;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .news-post__title {
    font-size: 1.8rem;
    margin-bottom: 5.33vw;
  }
}
.facilities table th {
  white-space: normal;
}

.facilities-lists__overlay {
  background: #fff;
  padding: 100px 200px;
  width: 1200px;
}

@media screen and (max-width: 1240px) {
  .facilities-lists__overlay {
    padding: 8.064516129vw 16.1290322581vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .facilities-lists__overlay {
    padding: 10.66vw 5.33vw;
  }
}
.facilities-lists__overlay__slider {
  height: 500px;
  width: 800px;
}

@media screen and (max-width: 1240px) {
  .facilities-lists__overlay__slider {
    height: 40.3225806452vw;
    width: 100%;
  }
}
@media screen and (max-width: 560px) {
  .facilities-lists__overlay__slider {
    height: 55.83vw;
  }
}
.facilities-lists__overlay__slider__btn-prev {
  left: -70px;
  margin-top: -15px;
  position: absolute;
  top: 50%;
}

@media screen and (max-width: 560px) {
  .facilities-lists__overlay__slider__btn-prev {
    left: -2.66vw;
  }
  .facilities-lists__overlay__slider__btn-prev img {
    width: 5.33vw;
  }
}
.facilities-lists__overlay__slider__btn-next {
  margin-top: -15px;
  position: absolute;
  right: -70px;
  top: 50%;
}

@media screen and (max-width: 560px) {
  .facilities-lists__overlay__slider__btn-next {
    right: -2.66vw;
  }
  .facilities-lists__overlay__slider__btn-next img {
    width: 5.33vw;
  }
}
.facilities-lists__overlay__hd {
  font-size: 2rem;
  margin: 24px 0;
  text-align: center;
}

@media screen and (max-width: 560px) {
  .facilities-lists__overlay__hd {
    font-size: 1.6rem;
    margin: 12px 0;
  }
}
.facilities-lists__overlay__table {
  border: 1px solid #9B7F3C;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  margin: 0 auto;
  width: 80%;
}
.facilities-lists__overlay__table th {
  background: #CCB57B;
  border-top: 1px solid #fff;
  border-left: 1px solid #9B7F3C;
  color: #fff;
  padding: 14px 40px;
  text-align: center;
  width: 220px;
  white-space: nowrap;
}
.facilities-lists__overlay__table tr:first-child th {
  border-top: 1px solid #9B7F3C;
}
.facilities-lists__overlay__table td {
  background: #fff;
  border-top: 1px solid #9B7F3C;
  border-right: 1px solid #9B7F3C;
  color: #575757;
  padding: 14px 40px;
  text-align: left;
}

@media screen and (max-width: 960px) {
  .facilities-lists__overlay__table {
    font-size: 1.2rem;
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .facilities-lists__overlay__table th {
    padding: 10px 14px;
    width: auto;
  }
}
@media screen and (max-width: 960px) {
  .facilities-lists__overlay__table td {
    padding: 10px 14px;
    width: auto;
  }
}
.form-agree__privacy {
  border: 1px solid #CCC;
  height: 200px;
  line-height: 2;
  margin-top: 20px;
  overflow: auto;
  padding: 20px;
  text-align: left;
  width: 100%;
}
.form-agree__privacy p {
  margin-bottom: 20px;
}

/* 施設紹介：写真室・美容室について */
.photoandsalon-container {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 20px;
}

.photoandsalon-col {
  display: flex;
  margin-top: 60px;
}
.photoandsalon-col figure {
  width: 50%;
}
.photoandsalon-col figure img {
  width: 100%;
}

.photoandsalon-col__txt {
  width: 50%;
  padding: 0 20px 0 40px;
}
.photoandsalon-col__txt h4 {
  font-size: 2rem;
  margin-bottom: 20px;
}
.photoandsalon-col__txt p {
  font-size: 1.6rem;
}

.photoandsalon-under {
  border-top: 1px solid #62A595;
  border-bottom: 1px solid #62A595;
  margin-top: 70px;
}
.photoandsalon-under p {
  padding: 40px 20px;
  font-size: 1.6rem;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}

.photoandsalon-container__sec {
  margin-top: 20px;
}
.photoandsalon-container__sec h3 {
  font-size: 2.6rem;
  margin: 70px auto 40px;
  text-align: center;
  color: #62A595;
}

.photoandsalon-info {
  display: flex;
  justify-content: center;
}

.photoandsalon-info-col {
  width: 33%;
  display: flex;
  flex-direction: column;
  padding: 0 40px;
}
.photoandsalon-info-col:not(:last-child) {
  border-right: 1px solid #62A595;
}
.photoandsalon-info-col figure img {
  width: 100%;
}

.photoandsalon-info-col__txt {
  padding: 0 20px;
}
.photoandsalon-info-col__txt h4 {
  font-size: 2rem;
  margin: 20px 0;
}
.photoandsalon-info-col__txt p {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .photoandsalon-col {
    flex-direction: column;
  }
  .photoandsalon-col figure {
    width: 100%;
  }

  .photoandsalon-col__txt {
    width: 100%;
    margin-top: 20px;
    padding: 0;
  }

  .photoandsalon-under p {
    padding: 30px 0px;
  }

  .photoandsalon-info {
    flex-direction: column;
  }

  .photoandsalon-info-col {
    width: 100%;
    padding: 40px 0;
  }
  .photoandsalon-info-col:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid #62A595;
  }
}
/* 施設紹介：館内施設 */
#inside .photoandsalon-col figure {
  width: 40%;
}
#inside .photoandsalon-col__txt {
  width: 60%;
}

@media screen and (max-width: 768px) {
  #inside .photoandsalon-col figure, #inside .photoandsalon-col__txt {
    width: 100%;
  }
}
/* TOPバナー */
.home-bnrtop {
  background: url(../../img/texture_01.png) 0% 0% repeat;
  overflow: hidden;
  position: relative;
}
.home-bnrtop ul {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 40px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.home-bnrtop ul li {
  width: calc(33.3333333333% - 20px);
  margin-bottom: 20px;
}
.home-bnrtop ul li a img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .home-bnrtop ul {
    padding: 50px 20px 0px;
  }
  .home-bnrtop ul li {
    width: calc(50% - 10px);
  }
}
.stay-hd__text0421 {
  text-align: center;
  font-size: 2rem;
  margin: 40px auto;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  .stay-hd__text0421 {
    font-size: 1.5rem;
    margin: 40px auto 0px;
  }
}
.privacy-pmark {
  display: flex;
  padding: 18px 10px 0;
  border: 2px solid #333;
}
.privacy-pmark .p-left {
  max-width: 80px;
  margin-right: 20px;
}
.privacy-pmark .p-left img {
  width: 100%;
}
.privacy-pmark .p-left p {
  line-height: 1.8;
}

/* レストラン bonparfum ケーキレイアウト調整 2022/6/1 */
.restaurant_h4_div {
  padding: 30px 0 60px !important;
}
@media screen and (max-width: 768px) {
  .restaurant_h4_div {
    padding: 20px 0 !important;
  }
  .restaurant_h4_div .restaurant_h4 {
    font-size: 2rem !important;
  }
}

.restaurant-holecake .restaurant-holecake-item {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
}
.restaurant-holecake .restaurant-holecake-item:not(:last-child) {
  margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake .restaurant-holecake-item {
    flex-direction: column;
  }
}
.restaurant-holecake .restaurant-holecake-item figure {
  margin-right: 40px;
  width: 35%;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake .restaurant-holecake-item figure {
    width: 80%;
    margin: 0 auto 14px;
  }
}
.restaurant-holecake .restaurant-holecake-item figure img {
  width: 100%;
}
.restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right {
  width: 65%;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right {
    width: 100%;
  }
}
.restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right .restaurant-holecake-item__right__title {
  text-align: left;
  padding-bottom: 6px;
  border-bottom: 1px solid #000;
  margin-bottom: 10px;
  font-size: 2.2rem;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right .restaurant-holecake-item__right__title {
    font-size: 1.6rem;
  }
}
.restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right .restaurant-holecake-item__right__text {
  text-align: left;
  margin-bottom: 14px;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right .restaurant-holecake-item__right__text {
    font-size: 1.2rem;
  }
}
.restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right .restaurant-holecake-item__right__under {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake .restaurant-holecake-item .restaurant-holecake-item__right .restaurant-holecake-item__right__under {
    font-size: 1.2rem;
  }
}

.restaurant-holecake-table {
  max-width: 600px;
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-table {
    margin: 40px auto 0;
  }
}
.restaurant-holecake-table table {
  width: 100%;
}
.restaurant-holecake-table table tbody tr {
  text-align: center;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-table table tbody tr {
    font-size: 1.2rem;
  }
}
.restaurant-holecake-table table tbody tr th {
  background: #9B7F3C;
  color: #fff;
  padding: 10px;
  text-align: center;
  border: 1px solid #c1c1c1;
}
.restaurant-holecake-table table tbody tr td {
  padding: 8px;
  border: 1px solid #c1c1c1;
  background: #fff;
}

.restaurant-holecake-option {
  display: flex;
  max-width: 820px;
  margin: 70px auto 0;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-option {
    margin: 26px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-option {
    flex-direction: column;
    width: 90%;
  }
}
.restaurant-holecake-option .restaurant-holecake-option-col {
  width: calc(50% - 20px);
  padding: 20px;
  border: 1px solid #c1c1c1;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-option .restaurant-holecake-option-col {
    width: 100%;
  }
  .restaurant-holecake-option .restaurant-holecake-option-col:not(:last-child) {
    margin-bottom: 14px;
  }
}
.restaurant-holecake-option .restaurant-holecake-option-col .restaurant-holecake-option-col__title {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 14px;
  font-weight: bold;
  height: 52px;
  display: flex;
  justify-content: center;
  line-height: 1.4;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-option .restaurant-holecake-option-col .restaurant-holecake-option-col__title {
    font-size: 1.6rem;
    height: inherit;
  }
}
.restaurant-holecake-option .restaurant-holecake-option-col .restaurant-holecake-option-col__text {
  text-align: left;
  margin-bottom: 18px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-option .restaurant-holecake-option-col .restaurant-holecake-option-col__text {
    font-size: 1.2rem;
  }
}
.restaurant-holecake-option .restaurant-holecake-option-col figure {
  text-align: center;
}
.restaurant-holecake-option .restaurant-holecake-option-col figure img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .restaurant-holecake-option .restaurant-holecake-option-col figure img {
    width: 80%;
  }
}

.restaurant-catcake figure {
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .restaurant-catcake figure {
    width: 80%;
    margin: 0 auto;
  }
}
.restaurant-catcake figure img {
  width: 100%;
}
.restaurant-catcake .restaurant-catcake-menu {
  display: flex;
  max-width: 900px;
  margin: 46px auto 0;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .restaurant-catcake .restaurant-catcake-menu {
    margin: 32px auto 0;
    flex-direction: column;
  }
}
.restaurant-catcake .restaurant-catcake-menu table {
  width: calc(46% - 20px);
}
@media screen and (max-width: 768px) {
  .restaurant-catcake .restaurant-catcake-menu table {
    width: 95%;
    margin: 0 auto;
  }
}
.restaurant-catcake .restaurant-catcake-menu table tbody tr {
  font-size: 1.8rem;
  padding: 8px 0;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .restaurant-catcake .restaurant-catcake-menu table tbody tr {
    font-size: 1.4rem;
  }
}
.restaurant-catcake .restaurant-catcake-menu table tbody tr th small {
  font-size: 1.2rem;
}/*# sourceMappingURL=style.css.map */