@charset "UTF-8";
/* -----------------------------------------------
  Variables
--------------------------------------------------*/
/* font */
/* color */
/* bg */
/* size */
/* margin */
/* SNS */
/* -----------------------------------------------
  Mixins
--------------------------------------------------*/
/* ---------- Media Query --------- */
/* ---------- lang --------- */
/* ---------- clearfix --------- */
/* ---------- CSS Hack --------- */
/* ---------- mt10～100, pt10～100 --------- */
.mt100 {
  margin-top: 100px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

/* ---------- form reset --------- */
/* ---------- flexbox --------- */
/* ---------- arrow --------- */
/* ---------- kerning --------- */
/* ---------- Image --------- */
/**************************************************
  base
***************************************************/
/* ---------- image ---------- */
img, svg, video {
  border: 0;
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

.caption, figcaption {
  display: block;
  margin-top: 1rem;
  font-size: 0.88em;
}

._nocss {
  margin: 0;
  position: relative;
  background: transparent;
}
._nocss::before, ._nocss::after {
  display: none;
}

/* -----------------------------------------------
  Helper Class
-------------------------------------------------- */
/* ---------- clear ---------- */
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._float-l {
  float: left;
}

._float-r {
  float: right;
}

._clear {
  clear: both;
}

._hidden {
  display: none;
}

/* ---------- text ---------- */
._bold {
  font-weight: bold;
}

._underline {
  text-decoration: underline;
}

._small {
  font-size: 88% !important;
}

._x-small {
  font-size: 75% !important;
}

._large {
  font-size: 113% !important;
}

._x-large {
  font-size: 140% !important;
}

._valignt {
  vertical-align: top !important;
}

._valignm {
  vertical-align: middle !important;
}

._valignb {
  vertical-align: bottom !important;
}

._textc, ._textc th, ._textc td {
  text-align: center !important;
}

._textr, ._textr th, ._textr td {
  text-align: right !important;
}

._textl, ._textl th, ._textl td {
  text-align: left !important;
}

._wordbreak {
  word-break: break-all !important;
}

._nowrap {
  white-space: nowrap !important;
}

._image-text {
  overflow: hidden !important;
}

/* ---------- margin ---------- */
._first {
  margin-top: 0 !important;
}

._zero {
  margin-bottom: 0 !important;
}

._half {
  margin-bottom: calc( 3rem / 2) !important;
}

._default {
  margin-bottom: 3rem !important;
}

._double {
  margin-bottom: calc( 3rem * 2) !important;
}

/* ---------- devices ---------- */
@media (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
/* -----------------------------------------------
  Accecibility
-------------------------------------------------- */
.visuallyHidden {
  position: absolute;
  top: -1000em;
}
.visuallyHidden:focus {
  left: 6px;
  top: 6px;
  height: auto;
  width: auto;
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 23px 14px;
  background: #f0f0f1;
  color: #2271b1;
  z-index: 100000;
  line-height: normal;
  text-decoration: none;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

/*
Basic
----------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-feature-settings: "pwid" 1;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-text-size-adjust: 100%;
}

article, aside, header, canvas, details, figcaption, figure, footer, nav, section, summary {
  display: block;
}

html {
  width: 100%;
  height: 100%;
}
@media (min-width: 769px) {
  html {
    scroll-padding-top: 88px;
  }
}

body {
  width: 100%;
  height: 100%;
  min-width: 320px;
  overflow-x: hidden;
  word-wrap: break-word;
  scroll-behavior: smooth;
  color: #444;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

p, li, div, span {
  line-height: 2;
}

#wrapper {
  position: relative;
  width: 100vw;
  height: 100%;
  margin: 0 auto;
  overflow-x: hidden;
}

/* reset */
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* link */
a, button, img {
  transition: all 0.8s ease 0s;
}

/* ---------------------------------------------
 base modules
------------------------------------------------ */
.inner {
  width: 1040px;
  /* コンテンツ幅に書き直す */
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  .inner {
    width: 100%;
  }
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 767px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}
/* ---------------------------------------------
 container
------------------------------------------------ */
.container {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  .container {
    width: 100%;
    overflow: hidden;
  }
}

/* ------ title -------------------------------- */
.page-title h1 {
  height: 65px;
  background: #eee;
  text-align: left;
  padding: 30px 20px 0;
  font-size: 160%;
  font-weight: bold;
  margin: 0 auto;
}

/* ------ topic-path --------------------------- */
.container .topic-path {
  text-align: left;
  margin: 15px 0;
  color: #999;
  font-size: 78%;
  list-style: none;
}

.topic-path a {
  color: #666666;
  text-decoration: none;
}
.topic-path a:link, .topic-path a:hover, .topic-path a:visited, .topic-path a:active {
  color: #666666;
  text-decoration: none;
}

/* sidebar
------------------------------------------------ */
/* loading
------------------------------------------------ */
body {
  animation: fadein 1s forwards;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ---------------------------------------------
 elements initialization 
------------------------------------------------ */
body {
  margin: 0;
  padding: 0;
  height: 100%;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

a:hover {
  opacity: 0.5;
}

a img, fieldset, img {
  border: 0;
  vertical-align: top;
}

a img {
  opacity: 1;
  transition: opacity 0.8s ease;
}

a img:hover {
  opacity: 0.5;
}

blockquote, dd, div, dl, dt, fieldset, form,
h1, h2, h3, h4, h5, h6, input, li, ol, p, pre,
select, span, textarea, td, th, ul {
  margin: 0;
  padding: 0;
}

abbr, acronym {
  border: 0;
}

address, caption, cite, code, dfn, em, th, strong, var {
  font-style: normal;
  font-weight: normal;
}

caption, th {
  text-align: left;
}

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 100%;
}

/* for IE7 */
* + html code, kbd, pre, samp, tt {
  font-size: 108%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

input, select, textarea {
  font-size: 100%;
}

ol, ul, li {
  list-style: none;
}

q:before, q:after {
  content: '';
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

hr {
  display: none;
}

strong {
  font-weight: bold;
  background-color: rgba(124, 200, 185, 0.5);
}

em {
  font-style: italic;
}

p {
  text-align: justify;
  text-justify: inter-ideograph;
}

/* ------ form --------------------------------- */
button, fieldset, form, input,
label, legend, select, textarea {
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

input, textarea {
  vertical-align: middle;
  padding: 1px;
}

textarea {
  width: 98%;
}

input[type="radio"],
input[type="checkbox"] {
  vertical-align: baseline;
  margin-right: 3px;
}

/* ------ font --------------------------------- 

body{
  font-size:14px;
  color: #333;
  font-family: "メイリオ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック", Osaka ;
}

*/
/* ------ links color -------------------------- */
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: underline;
}

a:link {
  color: #444;
}

a:visited {
  color: #444;
}

a:hover, a:active {
  color: #444;
}

/* ------ clearfix scheme ---------------------- */
/*
div:after {
  visibility:hidden;
  display:block;
  font-size:0;
  content:" ";
  clear:both;
  height:0;
}*/
* html div {
  zoom: 1;
}

/* IE6 */
*:first-child + html div {
  zoom: 1;
}

/* IE7 */
/* base modules
------------------------------------------------ */
.content p, .content ul, .content dl, .content ol, .content table, .content blockquote {
  margin: 20px 0 0;
  line-height: 1.8em;
}

.column-image-left + .entry-container > p, .column-image-right + .entry-container > p {
  margin-top: 10px;
}

.content ul p, .content ul dl, .content ul ol {
  margin: 0;
}
.content dl p, .content dl ul, .content dl ol {
  margin: 0;
}
.content ol p, .content ol ul, .content ol dl {
  margin: 0;
}
.content table p, .content table ul, .content table dl, .content table ol {
  margin: 0;
}
.content p img, .content dl img, .content ul img {
  vertical-align: middle;
}

.column-image-left, .column-image-center, .column-image-right {
  margin-top: 20px !important;
}

/* common modules
------------------------------------------------ */
em {
  font-weight: bold;
  font-style: normal;
}

.small {
  font-size: 87%;
}

.x-small {
  font-size: 78%;
}

.large {
  font-size: 107%;
}

.x-large {
  font-size: 120%;
}

.attention {
  color: #FF3366;
}

.bold {
  font-weight: bold;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.float-l {
  float: left;
}

.float-r {
  float: right;
}

.clear {
  clear: both;
}

.img-l {
  float: left;
  margin: 0 25px 10px 0;
}

.img-r {
  float: right;
  margin: 0 0 10px 25px;
}

.nowrap {
  white-space: nowrap;
}

.nomargintop {
  margin-top: 0 !important;
}

.content .nocss {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

.lh2,
p.lh2 {
  line-height: 2;
}

/* --- ext icon --- */
/* --- blockquote --- */
blockquote, .acms-entry blockquote {
  border: 0;
  margin-bottom: 30px;
  border-left: 1px solid #ccc;
}

/* ------ title -------------------------------- */
.content:not(.top) h2, .content:not(.top) .wysiwyg h1 {
  clear: both;
  margin: 30px 0 0;
  font-weight: bold;
  background: #bbb;
  padding: 8px 10px 8px 20px;
}
.content:not(.top) h2 a:link, .content:not(.top) h2 a:visited {
  text-decoration: underline;
}
.content:not(.top) h2 a:hover {
  text-decoration: none;
}
.content:not(.top) h3, .content:not(.top) .wysiwyg h2 {
  clear: both;
  margin: 30px 0 0;
  font-weight: bold;
  background: #eee;
  padding: 10px;
}
.content:not(.top) h4, .content:not(.top) .wysiwyg h3 {
  clear: both;
  font-weight: bold;
  margin: 30px 0 0;
  padding: 5px;
  border-left: 5px solid #bbb;
}
.content:not(.top) h5, .content:not(.top) .wysiwyg h4 {
  clear: both;
  font-weight: bold;
  margin: 40px 0 0;
  padding: 5px 10px;
  border: 1px solid #eef1fa;
  font-size: 120%;
}

/* ------ social media ------------------------- */
/* index
------------------------------------------------ */
.index {
  clear: both;
  margin: 0 0 0 -20px;
}
.index dl {
  position: relative;
  float: left;
  display: inline;
  margin-left: 20px;
  width: 350px;
  background: #eee;
}
.index dt {
  padding: 7px;
  background: #ddd;
}
.index dt a {
  text-decoration: none;
}
.index dd {
  padding: 7px;
}

/* cms
------------------------------------------------ */
/* --- entry-date --- */
.entry-date {
  text-align: right;
  font-size: 87%;
}

/* --- entry-navigation / pager-navigation --- */
.entry-navigation, .pager-navigation {
  font-size: 87%;
  margin: 50px 0 0;
}

.entry-navigation a:link, .entry-navigation a:visited, .entry-navigation a:hover, .entry-navigation a:active {
  text-decoration: none;
}

.pager-navigation a:link, .pager-navigation a:visited, .pager-navigation a:hover, .pager-navigation a:active {
  text-decoration: none;
}

.entry-navigation ul, .pager-navigation ul {
  margin: 0;
}

/* entry-navigation */
.entry-navigation {
  background: #eee;
  padding: 10px;
}
.entry-navigation li {
  width: 33%;
}
.entry-navigation .entry-new {
  float: left;
}
.entry-navigation .entry-list {
  float: left;
  text-align: center;
}
.entry-navigation .entry-old {
  float: right;
  text-align: right;
}
.entry-navigation .home {
  text-align: center;
  margin-top: -20px;
}
.entry-navigation ul:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

* html .entry-navigation ul, *:first-child + html .entry-navigation ul {
  zoom: 1;
}

/* IE6 */
/* IE7 */
/* pager-navigation */
.pager-navigation ul li {
  float: left;
  text-align: center;
  margin-right: 10px;
  line-height: 1;
}
.pager-navigation ul li span.cur {
  background: #f6f6f6;
  border: 1px solid #CECECE;
  color: #666;
  display: block;
  line-height: 1;
  padding: 0.5em 0.7em;
  position: relative;
}
.pager-navigation ul li a:link, .pager-navigation ul li a:visited {
  background: #fff;
  border: 1px solid #CECECE;
  color: #666;
  display: block;
  line-height: 1;
  padding: 0.5em 0.7em;
  position: relative;
}
.pager-navigation ul li a:hover, .pager-navigation ul li a:active {
  background: #CECECE;
}

/* 続きを読むリンク */
.search.entry p.continue {
  margin: 0;
  padding: 0;
}
.search.entry p.continue a {
  display: block;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #E8E8E8;
}
.search.entry p.continue a:hover {
  background-color: #F0F0F0;
}

/**************************************************
  Typography
***************************************************/
/* -----------------------------------------------
  p
-------------------------------------------------- */
.en {
  font-family: "Playfair Display", serif;
}

.subText {
  text-align: center;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  letter-spacing: 2px;
}
@media (max-width: 767px) {
  .subText {
    text-align: left;
    padding: 0 2rem;
  }
}
.subText + .localNav {
  margin-top: 30px;
}

/* -----------------------------------------------
  deco
-------------------------------------------------- */
.decoTxt {
  margin: 0;
  font-family: "Playfair Display", serif;
  color: #e0f4f0;
  font-size: 125px;
  line-height: 1;
  position: absolute;
}
@media (max-width: 767px) {
  .decoTxt {
    font-size: 80px;
  }
}
.decoTxt._light {
  color: #7cc8b9;
  opacity: .2;
}
.decoTxt._bottom {
  position: absolute;
  bottom: 2rem;
}
@media (max-width: 767px) {
  .decoTxt._bottom {
    bottom: 46%;
    white-space: nowrap;
  }
}

/* -----------------------------------------------
  Heading
-------------------------------------------------- */
.heading--md-l {
  font-size: 180%;
  letter-spacing: 3px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  text-align: center;
  display: block;
  margin-top: 60px;
  margin-bottom: 30px;
}

.heading--md {
  font-size: 180%;
  letter-spacing: 3px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  text-align: center;
  display: block;
  margin-top: 60px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .heading--md {
    font-size: 130%;
    text-align: left;
  }
}

.heading--s {
  font-size: 130%;
  letter-spacing: 3px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  display: block;
  margin-top: 30px;
}
@media (max-width: 767px) {
  .heading--s {
    font-size: 110%;
  }
}

.titleBox._center {
  justify-content: center;
  align-items: baseline;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .titleBox._center {
    align-items: center;
  }
}

.plain {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 30px;
  margin-bottom: 30px;
}

/* -----------------------------------------------
  Box
-------------------------------------------------- */
.colorBox {
  background: rgba(124, 200, 185, 0.2);
  padding: 2rem;
  margin-bottom: 3rem;
}
.colorBox *:first-child {
  margin-top: 0;
}
.colorBox *:last-child {
  margin-bottom: 0;
}

.borderBox {
  border: 1px solid #7cc8b9;
  padding: 2rem;
  margin-bottom: 3rem;
}
.borderBox *:first-child {
  margin-top: 0;
}
.borderBox *:last-child {
  margin-bottom: 0;
}

.section .colorBox, .section .borderBox {
  margin-top: 2rem;
}

/* -----------------------------------------------
  Blockquote
-------------------------------------------------- */
blockquote {
  border-left: 5px solid #7cc8b9;
  padding: 1rem 0 1rem 2rem;
  margin: 0 0 2rem;
}
blockquote cite {
  font-style: normal;
  display: block;
  text-align: right;
  font-size: 90%;
}

/**************************************************
  Button
***************************************************/
/* -----------------------------------------------
  Default
-------------------------------------------------- */
a.btn {
  display: inline-block;
  width: auto;
  padding: 13.5px 40px 13.5px 50px;
  font-family: "Yu Mincho Demibold", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 15px;
  color: #7cc8b9;
  border: 1px solid #7cc8b9;
  text-align: center;
  letter-spacing: 1.5px;
  text-decoration: none !important;
}
@media (min-width: 769px) {
  a.btn:hover {
    color: #fff;
    background: #7cc8b9;
    opacity: 1;
  }
}
@media (max-width: 767px) {
  a.btn {
    width: 100%;
    padding: 12px 0;
    font-size: 12px;
    color: #fff;
    background: #7cc8b9;
  }
}
a.btn._blur {
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.5);
}
@media (max-width: 767px) {
  a.btn._blur {
    background-color: #7cc8b9;
  }
}
a.btn._blur:hover {
  background-color: #7cc8b9;
}

.winIcon {
  width: 1em;
  height: 1em;
  margin-left: 0.3rem;
  vertical-align: baseline;
  position: relative;
  top: 2px;
}

/**************************************************
  local nav
***************************************************/
/* -----------------------------------------------
  sidebar toc
-------------------------------------------------- */
.toc .current {
  font-weight: bold;
  background: rgba(255, 255, 255, 0.2);
}
.toc .chapter {
  margin-left: 1rem;
}

/* -----------------------------------------------
  local nav
-------------------------------------------------- */
.localNav {
  display: flex;
  justify-content: center;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 18px;
  letter-spacing: 3px;
  line-height: 1;
  margin: 50px auto;
}
@media (max-width: 767px) {
  .localNav {
    font-size: 15px;
    margin-bottom: 60px;
  }
}
.localNav ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .localNav ul {
    width: 100%;
    padding: 0 20px;
    justify-content: center;
  }
}
.localNav li:not(:last-child) {
  margin-right: 50px;
}
@media (max-width: 767px) {
  .localNav li:not(:last-child) {
    margin-right: 30px;
  }
}
.localNav a {
  position: relative;
  text-decoration: none;
  display: flex;
  align-items: center;
}
.localNav a::after {
  border-style: solid;
  border-width: 0 1px 1px 0;
  content: "";
  position: absolute;
  height: 5px;
  width: 5px;
  transform: rotate(45deg);
  position: static;
  margin-left: 5px;
}
.localNav a img {
  margin-right: 10px;
}

.slider-conatiner .slick-slide {
  margin-right: 1px;
}
@media (max-width: 767px) {
  .slider-conatiner .slick-slide {
    margin-right: 0;
  }
}
.slider-conatiner .slick-dots {
  margin: 20px auto 0;
  display: flex;
  justify-content: flex-end;
  max-width: 1040px;
}
@media (max-width: 767px) {
  .slider-conatiner .slick-dots {
    margin: 20px;
  }
}
.slider-conatiner .slick-dots li:not(:last-child) {
  margin-right: 7px;
}
.slider-conatiner .slick-dots button {
  width: 8px;
  height: 8px;
  display: block;
  position: relative;
  font-size: 0;
  line-height: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.slider-conatiner .slick-dots button::after {
  content: '';
  margin: auto;
  border-radius: 50%;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #d8d8d8;
  transition: all 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.slider-conatiner .slick-dots .slick-active button::after {
  background-color: #444;
}

/**************************************************
  List
***************************************************/
/* ------ ul ----------------------------------- */
/* --- normal list --- */
ul.list li {
  padding-left: 20px;
  position: relative;
  font-size: 15px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  ul.list li {
    padding-left: 14px;
    font-size: 14px;
  }
}
ul.list li::before {
  content: "";
  display: inline-block;
  background-color: #dcdcdc;
  position: absolute;
  top: 14px;
  left: 0;
  width: 8px;
  height: 1px;
}
@media (max-width: 767px) {
  ul.list li::before {
    top: 10px;
  }
}
ul.list li strong {
  background-color: transparent;
}

@media (min-width: 769px) {
  _::-webkit-full-page-media, _:future, :root ul.list li::before {
    top: 15px;
  }
}
/* --- link list --- */
.link li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
}
.link li:before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  position: absolute;
  top: 0.5em;
  left: 0;
  transform: rotate(45deg);
}

/* --- number list --- */
ol {
  counter-reset: number;
  padding: 0;
  list-style: none;
  /* olがはき出す数字を消す */
}
ol li {
  text-indent: -30px;
  padding-left: 30px;
}
ol li:before {
  counter-increment: number;
  content: counter(number) ". ";
  font-weight: bold;
  text-align: right;
  display: inline-block;
  width: 25px;
  margin-right: 5px;
}

/* --- attention list --- */
.rice li,
p.rice {
  text-indent: 0;
  margin-left: 1em;
  position: relative;
}
.rice li::before,
p.rice::before {
  content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: -1em;
  width: 1em;
  height: 1em;
}

.rice._min {
  font-size: 13px;
  margin-top: 30px;
}

/* ------ dl ----------------------------------- */
/* --- normal list --- */
.list dt {
  font-weight: bold;
}
.list dd {
  padding-left: 13px;
}

/* --- link list --- */
.link dt {
  padding-left: 15px;
  font-weight: bold;
}
.link dd {
  padding-left: 15px;
}

/* --- horizonal --- */
.horizonal dt {
  clear: left;
  float: left;
  width: 10em;
  padding: 8px 8px 8px 0;
}
.horizonal dd {
  padding: 8px 15px 8px 11em;
  border-bottom: 1px solid #ddd;
}

/**************************************************
  Table
***************************************************/
/* -----------------------------------------------
  Default
-------------------------------------------------- */
table {
  border-collapse: collapse;
  border-top: 1px solid #cecece;
  width: 100%;
}
table caption {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 17px;
  font-weight: bold;
  border-bottom: 1px solid #eee;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
table th, table td {
  padding: 20px;
  vertical-align: top;
  border-bottom: 1px solid #cecece;
}
table th {
  font-weight: bold;
}
table thead th {
  background: #e0ecfa;
  text-align: center;
}

th.head {
  background: #e0ecfa;
  text-align: center;
}

/* -----------------------------------------------
  no border
-------------------------------------------------- */
table.noborder {
  border: 0;
  background: none;
}
table.noborder td, table.noborder th {
  border: 0;
  background: none;
  padding: 10px 0;
}

/* -----------------------------------------------
  col
-------------------------------------------------- */
table._col th, table._col td {
  display: block;
}
table._col td {
  padding-top: 0;
}

/* -----------------------------------------------
  sp
-------------------------------------------------- */
@media (max-width: 767px) {
  ._spCol th, ._spCol td {
    display: block;
    width: 100%;
  }
  ._spCol td {
    padding-top: 0;
  }

  ._spScroll {
    width: 200vw;
    margin-top: 0 !important;
  }
  ._spScroll--wrap {
    overflow: auto;
    position: relative;
    margin-top: 30px;
  }
  ._spScroll--wrap::before {
    content: '▼この表はスクロールできます';
    color: #999;
    position: sticky;
    left: 0;
    top: 0;
  }
}
/**************************************************
  faq
***************************************************/
.faq {
  letter-spacing: 2px;
  margin-top: 30px;
  border-bottom: 1px solid #e0e0e0;
  line-break: strict;
  text-align: justify;
}
.faq dt {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  padding: 20px 40px 20px 20px;
  font-size: 16px;
  display: flex;
  align-items: center;
  border-top: 1px solid #e0e0e0;
  position: relative;
}
@media (max-width: 767px) {
  .faq dt {
    font-size: 15px;
    padding: 20px 30px 20px 0;
  }
}
.faq dt:hover {
  cursor: pointer;
}
.faq dt::before {
  content: 'Q.';
  font-size: 25px;
  font-weight: normal;
  margin-right: 10px;
}
.faq dt::after {
  border-style: solid;
  border-width: 0 1px 1px 0;
  content: "";
  position: absolute;
  height: 5px;
  width: 5px;
  transform: rotate(45deg);
  right: 20px;
  transition: 0.8s;
}
@media (max-width: 767px) {
  .faq dt::after {
    right: 10px;
  }
}
.faq dt._active::after {
  transform: rotate(225deg);
}
.faq dd {
  padding: 0 20px 30px 62px;
  font-size: 14px;
  line-height: 2;
  display: none;
}
@media (max-width: 767px) {
  .faq dd {
    padding: 0 20px 30px 45px;
  }
}
.faq dd *:last-child {
  margin-bottom: 0;
}
.faq table.noborder {
  font-size: 90%;
}

.infoList {
  display: flex;
  flex-wrap: wrap;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 100%;
  margin: 30px 0;
}
.infoList dt, .infoList dd {
  line-height: 1.5;
  margin-bottom: 10px;
}
.infoList dt:last-child, .infoList dd:last-child {
  margin-bottom: 0;
}
.infoList dt {
  width: 45%;
  display: flex;
}
.infoList dt::before {
  width: 14px;
  margin-right: 5px;
  margin-top: 1px;
}
.infoList dd {
  width: 55%;
  line-height: 1.5;
}
.infoList--time::before {
  content: url(../images/common/icon_clock.svg);
}
.infoList--lo::before {
  content: url(../images/common/icon_order.svg);
}
.infoList--price::before {
  content: url(../images/common/icon_price.svg);
}
.infoList--checkout::before {
  content: url(../images/common/icon_checkout.svg);
}
.infoList--bar::before {
  content: url(../images/common/icon_bar.svg);
}

.activityList {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .activityList {
    padding: 0 10px;
  }
}
.activityList--item {
  width: 50%;
  padding: 0 30px 40px;
}
@media (max-width: 767px) {
  .activityList--item {
    width: 100%;
  }
}
.activityList--item._small {
  width: calc( (100% - 100px) / 3);
  padding: 0 0 40px;
  /*margin-right: 50px;*/
}
@media (max-width: 767px) {
  .activityList--item._small {
    width: 100%;
    margin-right: 0;
    padding: 0 2rem 40px;
  }
}
.activityList--item._small:nth-of-type(3n) {
  margin-right: 0;
}
.activityList--img {
  margin-bottom: 30px;
  position: relative;
}
.activityList--img::before {
  content: url("../images/activity/img_activity_num.png");
  position: absolute;
  top: -20px;
  left: -30px;
  width: 130px;
  height: 118px;
  z-index: 1;
}
.activityList--num {
  position: absolute;
  z-index: 2;
  font-family: "Playfair Display", serif;
  color: #7cc8b9;
  font-size: 76px;
  line-height: 1;
  top: -20px;
  left: 0;
  display: flex;
  flex-direction: column;
}
.activityList--num span {
  background-color: #7cc8b9;
  color: #fff;
  line-height: 1;
  font-size: 13px;
  text-align: center;
  margin-top: 10px;
  padding: 0 0 2px;
  letter-spacing: 3px;
}
.activityList--title {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 20px;
  letter-spacing: 5px;
  text-align: center;
  display: block;
  margin-bottom: 25px;
}
.activityList .infoList {
  background: rgba(124, 200, 185, 0.2);
  padding: 20px 20px 10px;
}
.activityList a.btn {
  width: 100%;
  display: block;
}
.activityList--txt {
  font-size: 15px;
}
.activityList--txt dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-weight: normal;
}
.activityList--txt dl.infoList {
  font-size: 90%;
}
.activityList._noSlash .activityList--img::before {
  content: none;
}
.activityList._noSlash .activityList--title {
  letter-spacing: 2px;
  line-height: 1.8;
  margin-bottom: 15px;
}

.activityList-B {
  gap: 50px;
}
@media (max-width: 767px) {
  .activityList-B {
    gap: 0 !important;
  }
}

.fileIcon {
  max-height: 1.5rem;
  max-width: 1.5rem;
  margin-left: 0.5rem;
  vertical-align: baseline;
}

/**************************************************
  others
***************************************************/
/* -----------------------------------------------
  button
-------------------------------------------------- */
.primary a {
  border: 1px solid #c8917c;
  color: #c8917c;
  text-decoration: none;
  display: block;
  position: relative;
  text-align: center;
  padding: 13px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  letter-spacing: 3px;
}
@media (max-width: 767px) {
  .primary a {
    text-align: left;
    padding: 15px 60px 15px 15px;
  }
}
.primary a::before, .primary a::after {
  content: "";
  position: absolute;
  margin: auto;
  vertical-align: middle;
  right: 19vw;
  transition: 0.8s;
}
@media (max-width: 767px) {
  .primary a::before, .primary a::after {
    right: 20px;
  }
}
.primary a::before {
  top: 1.6rem;
  width: 38px;
  height: 2px;
  background: #c8917c;
}
@media (max-width: 767px) {
  .primary a::before {
    top: 50%;
  }
}
.primary a::after {
  width: 6px;
  height: 6px;
  border-top: 2px solid #c8917c;
  border-right: 2px solid #c8917c;
  transform: rotate(45deg);
  top: 1.45rem;
}
@media (max-width: 767px) {
  .primary a::after {
    top: 46%;
  }
}
.primary a:hover {
  background-color: #c8917c;
  color: #fff;
}
.primary a:hover::before, .primary a:hover::after {
  right: 18vw;
}
.primary a:hover::before {
  background-color: currentColor;
}
.primary a:hover::after {
  border-color: currentColor;
}

/* -----------------------------------------------
  iframe
-------------------------------------------------- */
.iframeWrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.iframeWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.header {
  width: 100vw;
  z-index: 10;
  position: fixed;
  top: 0;
  transition: 0.8s;
}
@media (max-width: 767px) {
  .header {
    height: 65px;
  }
}
.header a {
  text-decoration: none;
}
.header .wrap {
  width: 100%;
  max-width: 1200px;
  height: 140px;
  margin: 0 auto;
  position: relative;
  display: flex;
}
@media (min-width: 769px) {
  .header .wrap {
    justify-content: flex-end;
    align-items: flex-start;
  }
}
.header .wrap--menu {
  display: flex;
}
@media (max-width: 767px) {
  .header .wrap--menu {
    flex-direction: column;
    width: 305px;
    max-width: 305px;
    height: 100%;
    overflow: scroll;
    padding: 10px 40px 0;
    position: relative;
    left: calc(100% - 305px);
  }
}
@media (max-width: 767px) {
  .header .wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
    width: 100%;
    height: 100vh;
    transition: all 0.8s ease-out;
    position: fixed;
    left: 101vw;
    padding-top: 65px;
  }
  .header .wrap::before {
    content: "";
    display: inline-block;
    background-color: #fff;
    background-image: url(../images/common/bg_nav.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top left;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: calc(100vw - 305px);
    height: 100%;
  }
  .header .wrap .logo {
    display: none;
  }
  .header .wrap.open {
    left: 0;
    height: 100vh !important;
  }
}
.header .spNav {
  width: 100%;
  height: 65px;
  position: absolute;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
@media (min-width: 769px) {
  .header .spNav {
    display: none !important;
  }
}
.header .spNav > a {
  font-size: 13px;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  padding: 0 24px 0 0;
  z-index: 0;
  position: absolute;
  top: 1.3rem;
  right: 7.5rem;
}
@media screen and (max-width: 350px) {
  .header .spNav > a {
    line-height: 1.2;
    font-size: 11.5px;
    text-align: center;
    padding: 0 13px 0 0;
  }
}
.header .spNav > a svg, .header .spNav > a img {
  width: 16px;
  height: 20px;
  margin-left: 6px;
  position: relative;
  top: -1px;
}
.header .spNav > a::before {
  content: "";
  display: inline-block;
  background-color: #eee;
  position: absolute;
  top: -1rem;
  right: 0;
  width: 1px;
  height: 50px;
}
.header .js-lang {
  margin-right: 65px;
  margin-left: 1rem;
  line-height: 65px;
  font-family: "Playfair Display", serif;
  text-align: center;
  width: 40px;
  font-size: 65%;
}
.header .js-lang ::-webkit-details-marker {
  display: none;
}
.header .js-lang[open] .nav-lang {
  animation: fadeIn 0.8s ease;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    /* 透明 */
    transform: translateY(-10px);
    /* 上から表示 */
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.header #js-buttonHamburger {
  display: block;
  width: 65px;
  height: 65px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2000;
}
.header #js-buttonHamburger::before, .header #js-buttonHamburger::after {
  content: "";
  display: inline-block;
  background-color: #444;
  height: 1px;
  position: absolute;
  right: 20px;
  transition: all 0.8s ease 0s;
}
.header #js-buttonHamburger::before {
  width: 24px;
  top: 29px;
}
.header #js-buttonHamburger::after {
  width: 14px;
  top: 37px;
}
.header #js-buttonHamburger.open::before {
  transform: rotate(45deg);
}
.header #js-buttonHamburger.open::after {
  width: 24px;
  transform: rotate(-45deg);
  top: 29px;
}
@media (min-width: 769px) {
  .header .logo {
    position: absolute;
    left: -3px;
    top: 46px;
    color: #fff;
    filter: drop-shadow(0px 1px 2px rgba(89, 72, 28, 0.7));
  }
  .header .logo img.color {
    display: none;
  }
}
@media (max-width: 767px) {
  .header .logo {
    width: 140px;
    height: 130px;
    position: relative;
    transition: all .3s ease 0s;
  }
  .header .logo a {
    display: block;
    width: 102px;
    height: 100px;
    margin: 15px 20px;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .header .logo a {
    position: relative;
    z-index: 1500;
  }
}
@media (max-width: 767px) {
  .header .logo img {
    width: 100%;
    height: 100%;
    opacity: 1 !important;
  }
  .header .logo.starting:not(.open) {
    width: 70px;
    height: 65px;
  }
  .header .logo.starting:not(.open) a {
    width: 52px;
    height: 50px;
    margin: 7px 10px;
  }
}
@media screen and (max-width: 385px) {
  .header .logo.open a {
    width: 82px;
    height: 81px;
  }
}
@media screen and (max-width: 355px) {
  .header .logo.open a {
    width: 61px;
    height: 60px;
  }
}
.header .logo a {
  color: #fff;
}
.header .gnav {
  position: relative;
}
@media (min-width: 769px) {
  .header .gnav {
    top: 64px;
  }
  .header .gnav._min {
    display: none;
  }
}
.header .gnav ul {
  display: flex;
}
@media (min-width: 769px) {
  .header .gnav ul {
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
  }
}
@media (max-width: 767px) {
  .header .gnav ul {
    flex-direction: column;
    align-items: normal;
  }
}
@media (min-width: 769px) {
  .header .gnav ul li {
    margin-right: 30px;
    text-shadow: 0 0 6px #59481c ,0 0 0.5px #59481c;
    font-size: 14.5px;
  }
  .header .gnav ul li.pet {
    position: relative;
    margin-left: 15px;
    margin-right: 15px;
  }
  .header .gnav ul li.pet::before {
    content: "|";
    display: inline-block;
    color: #fff;
    font-size: 13px;
    text-shadow: 0 0 6px #59481c ,0 0 0.5px #59481c;
    position: absolute;
    top: 2px;
    left: -24px;
  }
  .header .gnav ul li.pet a {
    padding-left: 1.5rem;
    display: block;
  }
  .header .gnav ul li.pet svg, .header .gnav ul li.pet img {
    width: 16px;
    height: 15px;
    position: absolute;
    top: 6px;
    left: 0;
    filter: drop-shadow(0px 1px 2px #59481c);
  }
  .header .gnav ul li:last-child {
    margin-right: 0;
  }
  .header .gnav ul li.instagram {
    margin-top: -6px;
  }
  .header .gnav ul li.instagram a:hover {
    background: none;
    opacity: .8;
  }
}
@media (max-width: 767px) {
  .header .gnav ul li {
    font-size: 14px;
    margin-bottom: 12px;
  }
  .header .gnav ul li svg, .header .gnav ul li img {
    display: none;
  }
  .header .gnav ul li a {
    display: block;
  }
  .header .gnav ul li a:hover {
    background: transparent;
    color: #444;
  }
}
@media (min-width: 769px) {
  .header .gnav ul li.viewing {
    border-bottom: 2px solid #7cc8b9;
  }
}
.header .gnav ul li a {
  color: #fff;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #7cc8b9 50%);
  background-position: 0 0;
  background-size: 200% auto;
}
@media (max-width: 767px) {
  .header .gnav ul li a {
    color: #444;
  }
}
.header .gnav ul li a:hover {
  background-position: -100% 0;
  opacity: 1;
  text-shadow: none;
  color: #fff;
}
.header .gnav._min {
  margin-top: 10px;
}
.header .gnav._min ul li {
  font-size: 12px;
}
.header .gnav._min ul li a {
  color: #b2b2b2;
}
@media (min-width: 769px) {
  .header .tel {
    display: none;
  }
}
@media (max-width: 767px) {
  .header .tel {
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
    font-size: 28px;
    font-weight: 400;
    display: flex;
    align-items: center;
    letter-spacing: 0.5px;
  }
  .header .tel span {
    font-size: 12px;
    margin: 0 7px 0 0;
  }
  .header .tel a {
    text-decoration: underline;
  }
}
@media (min-width: 769px) {
  .header--btn {
    position: relative;
    top: 63px;
    right: 0;
    margin-left: 38px;
  }
}
@media (max-width: 767px) {
  .header--btn {
    width: 100%;
    margin: 20px 0 40px;
  }
}
.header--btn a {
  color: #fff;
  font-size: 14px;
  position: relative;
  z-index: 1;
}
@media (min-width: 769px) {
  .header--btn a {
    padding: 16px 24px 15px 28px;
    border: 1px solid #fff;
  }
  .header--btn a::before {
    content: "";
    display: inline-block;
    background: #c8917c;
    opacity: 0.7;
    width: 180px;
    height: 49px;
    position: absolute;
    top: 4px;
    left: 4px;
    z-index: -1;
    transition: all 0.8s ease 0s;
  }
  .header--btn a:hover {
    opacity: 1;
  }
  .header--btn a:hover::before {
    top: 0;
    left: 0;
  }
}
@media (max-width: 767px) {
  .header--btn a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #c8917c;
    padding: 10.5px 0;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
    font-size: 12px;
  }
}
.header--btn a svg, .header--btn a img {
  width: 18px;
  height: 19px;
  position: relative;
  z-index: 1;
  top: -2px;
  left: 8px;
}
@media (max-width: 767px) {
  .header--btn a svg, .header--btn a img {
    width: 11px;
    height: 12px;
    top: 0;
  }
}
.header._scroll {
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(10px);
}
.header._scroll .logo {
  top: 10px;
  filter: none;
}
@media (max-width: 767px) {
  .header._scroll .logo {
    top: 0;
  }
}
.header._scroll .logo img, .header._scroll .logo svg {
  height: 65px;
  width: auto;
}
@media (max-width: 767px) {
  .header._scroll .logo img, .header._scroll .logo svg {
    width: 100%;
    height: 100%;
  }
}
.header._scroll .logo svg.current {
  display: none;
}
.header._scroll .logo img.color {
  display: block;
  margin: 0 auto;
}
.header._scroll .gnav ul li {
  text-shadow: none;
}
.header._scroll .gnav ul li a {
  color: #444;
}
.header._scroll .gnav ul li a:hover:not(img) {
  color: #fff;
}
.header._scroll .gnav ul li.pet::before {
  text-shadow: none;
  color: #444;
}
.header._scroll .gnav ul li.pet svg {
  filter: none;
}
.header._scroll .header--btn a {
  border-color: #444;
}
.header._scroll .header--btn a::before {
  background: #bd7356;
}
@media (min-width: 769px) {
  .header._scroll .gnav, .header._scroll .header--btn {
    top: 30px;
  }
  .header._scroll .wrap {
    height: 88px;
  }
}

@media (min-width: 769px) {
  .bgh {
    background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, #ece8e4 100%);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100vw;
    height: 140px;
  }

  .spNav,
  #js-buttonHamburger {
    display: none;
  }
}
@media (max-width: 767px) {
  .bgh {
    display: none;
  }
}
/* -----------------------------------------------
  lower
-------------------------------------------------- */
body:not(#top) .header .logo {
  filter: none;
  width: 152px;
  text-align: center;
  transition: 0.8s;
}
@media (max-width: 767px) {
  body:not(#top) .header .logo {
    width: 140px;
    height: 130px;
    background: none;
  }
  body:not(#top) .header .logo img, body:not(#top) .header .logo svg {
    height: 100%;
    width: 100%;
  }
}
body:not(#top) .header .gnav ul li {
  text-shadow: none;
}
body:not(#top) .header .gnav ul li a {
  color: #444;
}
body:not(#top) .header .gnav ul li.pet::before {
  color: #444;
  text-shadow: none;
}
body:not(#top) .header .gnav ul li.pet svg {
  filter: none;
}

/* -----------------------------------------------
  logged-in
-------------------------------------------------- */
.logged-in .header {
  position: absolute;
  top: 85px;
}
.logged-in .header._scroll {
  position: fixed;
  top: 0;
}

.contact {
  background: #96d3c7;
  padding: 52px 0 43px;
}
@media (max-width: 767px) {
  .contact {
    padding: 28px 0 25px;
  }
}
.contact * {
  color: #fff;
}
.contact > div {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .contact > div {
    flex-direction: column;
    align-items: center;
  }
}
.contact .titleBox {
  align-items: center;
}
.contact .titleBox h2 {
  color: #fff;
  font-size: 40px;
  letter-spacing: 7px;
}
@media (min-width: 769px) {
  .contact .titleBox h2 {
    position: relative;
    top: -4px;
    left: 3px;
  }
}
@media (max-width: 767px) {
  .contact .titleBox h2 {
    font-size: 20px;
    letter-spacing: 4.5px;
    margin-bottom: 11px;
  }
}
.contact .titleBox h2::after {
  background-color: #fff;
  width: 80px;
  top: 22px;
  right: -33px;
  -webkit-transform: rotate(132deg);
  transform: rotate(132deg);
}
@media (max-width: 767px) {
  .contact .titleBox h2::after {
    width: 38px;
    top: 11px;
    right: -14px;
  }
}
.contact .titleBox p {
  letter-spacing: 1px;
  margin-left: 40px;
}
@media (max-width: 767px) {
  .contact .titleBox p {
    font-size: 12px;
    text-align: center;
    margin: 0 auto;
  }
}
.contact .txt {
  display: flex;
  align-items: center;
  flex-direction: row;
}
.contact .txt--tel {
  display: flex;
  align-items: center;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 30px;
  letter-spacing: -0.5px;
}
@media (max-width: 767px) {
  .contact .txt--tel {
    font-size: 33px;
    font-weight: 400;
  }
}
.contact .txt--tel span {
  font-size: 12px;
  margin-right: 10px;
}
@media (max-width: 767px) {
  .contact .txt--tel span {
    font-size: 13px;
  }
}
.contact .txt--tel a {
  color: #fff;
}
.contact .txt--time {
  font-size: 12px;
  line-height: 1.2;
  margin-left: 16px;
}
@media screen and (max-width: 330px) {
  .contact .txt {
    flex-direction: column;
  }
}

.access {
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .access {
    max-height: 377px;
  }
}
@media (max-width: 767px) {
  .access iframe {
    display: none;
  }
}
@media (min-width: 769px) {
  .access .inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
.access--box {
  padding: 35px 34px 32px;
}
@media (min-width: 769px) {
  .access--box {
    position: absolute;
    top: 40px;
    right: -68px;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.19);
  }
}
@media (max-width: 767px) {
  .access--box {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.access--box ul.list li {
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .access .logo {
    position: absolute;
    top: 39px;
    left: 35px;
  }
}
@media (max-width: 767px) {
  .access .logo {
    margin-bottom: 23px;
  }
}
@media (min-width: 769px) {
  .access address {
    margin-left: 92px;
  }
}
.access address p {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.66;
}
@media (max-width: 767px) {
  .access address p {
    font-size: 14.5px;
    text-align: center;
  }
}
@media (min-width: 769px) {
  .access address > p {
    margin-left: 8px;
  }
}
.access address .tel {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 28px;
  display: flex;
  align-items: center;
  flex-direction: row;
  line-height: 2.6;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .access address .tel {
    display: none;
  }
}
.access address .tel span {
  font-size: 12px;
  margin: 0 7px 0 0;
}
@media (max-width: 767px) {
  .access ul {
    margin: 20px auto;
  }
}
.access ul li {
  font-size: 14px;
  line-height: 2.2;
}
@media (max-width: 767px) {
  .access ul li {
    font-size: 12px;
  }
}
.access ul li::before {
  top: 14px;
}
@media (max-width: 767px) {
  .access ul li::before {
    top: 12px;
  }
}
@media (min-width: 769px) {
  .access .mapBtn {
    display: none;
  }
}

.footer {
  background: #fff;
  clear: both;
  padding: 37px 0 43px;
}
@media (max-width: 767px) {
  .footer {
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 5px 0 84px;
  }
}
.footer a {
  text-decoration: none;
  color: #333;
  font-size: 14px;
}
@media (max-width: 767px) {
  .footer a {
    font-size: 12px;
  }
}
.footer ul {
  display: flex;
  justify-content: center;
}
.footer ul li {
  padding: 0 40px;
  line-height: 1;
  position: relative;
}
@media (max-width: 767px) {
  .footer ul li {
    padding: 0 20px;
    text-align: center;
  }
  .footer ul li:first-child {
    padding-left: 0;
  }
  .footer ul li:last-child {
    padding-right: 0;
  }
}
.footer ul li:not(:last-child)::before {
  content: "";
  display: inline-block;
  background-color: #444;
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
}

.copyright {
  text-align: center;
  font-size: 12px;
  color: #333;
  margin: 25px 0 0;
}
@media (max-width: 767px) {
  .copyright {
    font-size: 9px;
  }
}

@media (min-width: 769px) {
  .btmBtn {
    display: none;
  }
}
@media (max-width: 767px) {
  .btmBtn {
    width: 100%;
    position: fixed;
    bottom: -70px;
    z-index: 10;
    background: #deb8b0;
    text-align: center;
    transition: all 0.8s ease 0s;
  }
  .btmBtn a {
    display: block;
    padding: 18px 0;
    color: #fff;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
  }
  .btmBtn a svg {
    width: 14px;
    height: 14px;
    margin-left: 6px;
    position: relative;
    top: 2px;
  }
  .btmBtn.starting {
    bottom: 0;
  }
}

/**************************************************
  Content
***************************************************/
.type-index, .type-entry {
  font-size: 15px;
}
.type-index .content, .type-entry .content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* -----------------------------------------------
  breadcrumb
-------------------------------------------------- */
.breadcrumb {
  position: absolute;
  right: 20px;
  top: 25vw;
  font-size: 12px;
}
@media (max-width: 767px) {
  .breadcrumb {
    top: auto;
    bottom: 0;
    display: none;
  }
}
.breadcrumb li {
  text-indent: 0;
  padding-left: 0;
  writing-mode: vertical-rl;
}
.breadcrumb li:not(:first-child):before {
  content: '';
  margin: .5rem 0;
  display: inline-block;
  width: 1px;
  height: 10px;
  background-color: #444;
}
.breadcrumb li:first-child::before {
  content: url("../images/common/icon_tent.svg");
  height: 1rem;
  margin-bottom: 5px;
}

._isIe .breadcrumb ol {
  height: 170px;
}
._isIe .breadcrumb li:first-child {
  height: 60px;
}

/* -----------------------------------------------
  hero
-------------------------------------------------- */
.hero {
  position: relative;
  margin-bottom: 5rem;
  margin-top: -2rem;
}
@media (max-width: 767px) {
  .hero {
    margin-top: 4rem;
    margin-bottom: 0;
  }
}
.hero--img {
  position: relative;
}
.hero--img::before {
  content: '';
  display: inline-block;
  width: 40vw;
  height: 380px;
  background: url("../images/top/bg_concept.jpg");
  background-size: cover;
  position: absolute;
  bottom: -3rem;
  transform: rotateZ(360deg);
}
@media (max-width: 767px) {
  .hero--img::before {
    width: 50vw;
    height: 50vw;
  }
}
.hero--img figure:nth-child(1) {
  text-align: right;
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .hero--img figure:nth-child(1) {
    margin: 0;
  }
}
.hero--img figure:nth-child(1) img {
  width: 25vw;
  height: auto;
}
@media (max-width: 767px) {
  .hero--img figure:nth-child(1) img {
    width: 43vw;
  }
}
.hero--img figure:nth-child(2) {
  text-align: center;
  margin: -8rem auto 0;
  position: relative;
}
@media (max-width: 767px) {
  .hero--img figure:nth-child(2) {
    margin: -2rem 0 0;
    width: 82vw;
  }
}

.hero + .container {
  padding-top: 6rem;
}
@media (max-width: 767px) {
  .hero + .container {
    padding-top: 3rem;
  }
}

._isIe .hero {
  height: 600px;
}

/* -----------------------------------------------
  page title
-------------------------------------------------- */
.category-title {
  position: relative;
  max-width: 1200px;
  margin: -20vw auto 0;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .category-title {
    margin-left: 20px;
    margin-top: -15vw;
  }
}
.category-title .en {
  font-size: 90px;
  font-family: 'MonteCarlo';
  text-transform: capitalize;
  letter-spacing: 3px;
}
@media (max-width: 767px) {
  .category-title .en {
    font-size: 70px;
    margin-bottom: 30px;
  }
}
.category-title .ja {
  font-size: 18px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-weight: bold;
  letter-spacing: 5px;
}
@media (max-width: 767px) {
  .category-title .ja {
    font-size: 16px;
    margin-top: -3rem;
  }
}

/* -----------------------------------------------
  section
-------------------------------------------------- */
@media (max-width: 767px) {
  .section {
    padding: 0 2rem;
  }
}
.section p {
  margin-top: 20px;
}
.section ol, .section ul {
  margin-top: 2px;
}
.section ol li, .section ul li {
  margin-bottom: 10px;
}
.section ol li ol, .section ol ul, .section ul li ol, .section ul ul {
  margin-top: 5px;
}
.section .list--en li::before {
  content: counter(number,lower-alpha) ". ";
}
.section .list--enNumber li::before {
  content: counter(number,lower-roman) ". ";
}
.section table {
  margin-top: 2rem;
}

hr.slash {
  height: 12px;
  border: none;
  display: block;
  background-size: auto auto;
  background-color: transparent;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 8px, #ccc 8px, #ccc 9px);
  margin-top: 6rem;
}

/* -----------------------------------------------
  width
-------------------------------------------------- */
.fullWidth {
  width: 100vw;
  position: relative;
}
@media (min-width: 1200px) {
  .fullWidth {
    margin-left: calc(50% - 50vw);
  }
}

.col2 {
  position: relative;
  display: flex;
}
@media (max-width: 767px) {
  .col2 {
    flex-direction: column;
  }
}
.col2--img {
  width: 60%;
}
@media (max-width: 767px) {
  .col2--img {
    width: 100%;
  }
}
.col2--img img {
  width: 100%;
  height: auto;
  box-shadow: 10px 10px 60px rgba(0, 0, 0, 0.2);
}
.col2--img._noShadow img {
  box-shadow: none;
}
.col2--txt {
  width: 40%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .col2--txt {
    width: 100%;
  }
}
.col2--txt--inner {
  padding: 0 60px 0 8vw;
}
@media (max-width: 767px) {
  .col2--txt--inner {
    padding: 0 2rem 3rem;
  }
}
.col2--txt .title {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-weight: normal;
  margin-bottom: 1rem;
}
.col2--txt .title--name {
  font-size: 30px;
  font-weight: normal;
}
.col2--txt .title--info {
  text-align: right;
  font-size: 16px;
}
.col2--txt a.btn {
  display: block;
}
.col2--freeImg {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 120px;
}
.col2--freeImg img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .col2--freeImg img {
    width: 50vw;
  }
}
.col2--freeImg .decoTxt {
  right: 0;
  text-align: right;
  top: 100px;
}
@media (min-width: 769px) {
  .col2._reverse {
    flex-direction: row-reverse;
  }
  .col2._reverse .col2--txt--inner {
    padding: 0 8vw 0 60px;
  }
}

.minWidth {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

/* -----------------------------------------------
  color
-------------------------------------------------- */
.colorC strong {
  background-color: rgba(209, 156, 185, 0.5) !important;
}
.colorC a.btn {
  color: #d19cb9;
  border-color: #d19cb9;
}
.colorC a.btn:hover {
  color: #fff;
  background-color: #d19cb9;
  border-color: #d19cb9;
}
@media (max-width: 767px) {
  .colorC a.btn {
    color: #fff;
    background-color: #d19cb9;
  }
}

.colorD strong {
  background-color: rgba(200, 145, 124, 0.5) !important;
}
.colorD a.btn {
  color: #c8917c;
  border-color: #c8917c;
}
.colorD a.btn:hover {
  color: #fff;
  background-color: #c8917c;
  border-color: #c8917c;
}
@media (max-width: 767px) {
  .colorD a.btn {
    color: #fff;
    background-color: #c8917c;
  }
}

/* -----------------------------------------------
  404
-------------------------------------------------- */
#error404 .hero {
  margin-top: 0;
}
#error404 .hero--img {
  display: none;
}
#error404 .hero + .container {
  padding-top: 0;
}
#error404 .category-title {
  margin: 10vw auto 0;
  text-align: center;
}
@media (max-width: 767px) {
  #error404 .category-title {
    margin: 40vw 0 10vw;
  }
}
@media (max-width: 767px) {
  #error404 .category-title .en {
    font-size: 40px;
  }
}
#error404 .breadcrumb {
  display: none;
}
@media (max-width: 767px) {
  #error404 .inner {
    padding: 0 20px;
  }
}

/**************************************************
	a-blog cms
***************************************************/
/* -----------------------------------------------
	Base
-------------------------------------------------- */
.acms-admin-form-edit {
  font-weight: normal;
}

/* -----------------------------------------------
AdminBox
-------------------------------------------------- */
.entryFormColumn #more,
.entryFormColumn label[for*="unit-map-msg-"],
.entryFormColumn textarea[name*="map_msg_"],
.formColumnMap .entryFormFileControl .acms-admin-margin-bottom-small tr:nth-child(2) {
  display: none !important;
}

#adminBox {
  margin: 0;
}

.acms-entry + .acms-box-medium {
  margin-top: 20px;
}

/* -----------------------------------------------
	Lite Editor
-------------------------------------------------- */
.color-red {
  font-weight: bold;
  color: #F00;
}

.color-orange {
  font-weight: bold;
  color: #F60;
}

.color-green {
  font-weight: bold;
  color: #096;
}

.color-blue {
  font-weight: bold;
  color: #06C;
}

.color-pink {
  font-weight: bold;
  color: #F06;
}

.color-gray {
  font-weight: bold;
  color: #888;
}

.color-yellow {
  font-weight: bold;
  color: #FC3;
}

.color-yGreen {
  font-weight: bold;
  color: #9C3;
}

.lite-editor-toolbox span[class*="color-"],
.acms-admin-form-radio span[class*="color-"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
}
.lite-editor-toolbox .color-red,
.acms-admin-form-radio .color-red {
  background-color: #F00;
}
.lite-editor-toolbox .color-orange,
.acms-admin-form-radio .color-orange {
  background-color: #F60;
}
.lite-editor-toolbox .color-green,
.acms-admin-form-radio .color-green {
  background-color: #096;
}
.lite-editor-toolbox .color-blue,
.acms-admin-form-radio .color-blue {
  background-color: #06C;
}
.lite-editor-toolbox .color-pink,
.acms-admin-form-radio .color-pink {
  background-color: #F06;
}
.lite-editor-toolbox .color-gray,
.acms-admin-form-radio .color-gray {
  background-color: #888;
}
.lite-editor-toolbox .color-yellow,
.acms-admin-form-radio .color-yellow {
  background-color: #FC3;
}
.lite-editor-toolbox .color-yGreen,
.acms-admin-form-radio .color-yGreen {
  background-color: #9C3;
}

/* -----------------------------------------------
	Grid Custom
-------------------------------------------------- */
@media (min-width: 769px) {
  .acms-entry [class*=column-file-] {
    margin-bottom: 10px;
  }

  .acms-grid > .column-image-left,
  .acms-grid > .column-media-left,
  [class*="box-"] > .column-image-left,
  [class*="box-"] > .column-media-left {
    padding-right: 25px;
  }

  .acms-grid > .column-image-right,
  .acms-grid > .column-media-right,
  [class*="box-"] > .column-image-right,
  [class*="box-"] > .column-media-right {
    padding-left: 25px;
  }

  .js-edit_inplace p:last-child {
    margin-bottom: 1em;
  }
  .js-edit_inplace p.caption {
    margin-bottom: 0;
  }
  .js-edit_inplace.align_left + .js-edit_inplace {
    overflow: hidden;
  }

  .js-unit_group-align .js-edit_inplace p:last-child {
    margin-bottom: 0;
  }
}
.acms-grid > .plain,
.acms-grid > .blockquote > .plain,
.acms-grid > [class*="box-"] > .plain {
  padding-left: 10px;
}

.acms-grid > [class*="box-"] {
  margin-left: 10px;
  margin-right: 10px;
}

[class*="column-map-"] iframe {
  width: 100%;
}

.caption {
  display: block;
  font-size: 0.75em;
  margin-top: 0.5em;
  margin-bottom: 0;
  text-align: center;
}

/* -----------------------------------------------
	Editor
-------------------------------------------------- */
.logged-in .entryFormColumnBody .lite-editor-btn-group-wrap .acms-admin-btn-group,
.logged-in .entryFormColumnBody .acms-admin-btn-group {
  display: flex;
}
.logged-in .entryFormColumnBody .entryFormColumnTable th {
  white-space: nowrap;
}
.logged-in .entryFormColumnItem table {
  border-top: none;
}

/**************************************************
	group setting for a-blog cms post page
***************************************************/
/* -----------------------------------------------
	Column
-------------------------------------------------- */
@media (min-width: 769px) {
  .column-photo {
    float: left;
    width: 33.3333%;
  }
}
@media (min-width: 769px) {
  .column-photo + .column-body {
    float: right;
    width: 66.6666%;
  }
}

@media (min-width: 769px) {
  .column-body {
    float: left;
    width: 66.6666%;
  }
}
@media (min-width: 769px) {
  .column-body + .column-photo {
    float: right;
    width: 33.3333%;
  }
}

/* -----------------------------------------------
	Box
-------------------------------------------------- */
.box-a, .box-b, .box-c, .box-d {
  clear: both;
  zoom: 1;
  padding: 30px;
  margin: 30px 10px;
}
.box-a:after, .box-b:after, .box-c:after, .box-d:after {
  content: '';
  display: block;
  clear: both;
  overflow: auto;
}
@media (max-width: 767px) {
  .box-a, .box-b, .box-c, .box-d {
    padding: 20px 10ox;
  }
}
.box-a:first-child, .box-b:first-child, .box-c:first-child, .box-d:first-child {
  margin-top: 0;
}
.box-a > *:last-child, .box-b > *:last-child, .box-c > *:last-child, .box-d > *:last-child {
  margin-bottom: 0;
}

.box-a {
  border: 1px solid #fff;
}

.box-b {
  background: rgba(255, 255, 255, 0.1);
}

/* -----------------------------------------------
	Photo Gallery
-------------------------------------------------- */
a.noDeco,
.noDeco a {
  text-decoration: none;
}

.yuMincho,
.yuMincho * {
  font-family: "Yu Mincho Demibold", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
}

.yuGo,
.yuGo * {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.playfair,
.playfair * {
  font-family: "Playfair Display", serif;
}

h2 {
  display: inline-block;
  font-family: "Playfair Display", serif;
  font-size: 60px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 12px;
}
@media (max-width: 767px) {
  h2 {
    font-size: 40px;
    letter-spacing: 8px;
  }
}
h2.slash {
  position: relative;
}
h2.slash::after {
  content: "";
  display: inline-block;
  background-color: #444;
  position: absolute;
  top: 33px;
  right: -68px;
  width: 150px;
  height: 1px;
  -webkit-transform: rotate(139deg);
  transform: rotate(139deg);
}
@media (max-width: 767px) {
  h2.slash::after {
    width: 75px;
    top: 28px;
    right: -25px;
  }
}

.titleBox {
  display: flex;
  position: relative;
}
@media (max-width: 767px) {
  .titleBox {
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  .titleBox p {
    font-size: 15px;
    line-height: 1.66;
    letter-spacing: 2px;
  }
}

.titleBoxH3 {
  display: flex;
  position: relative;
}
.titleBoxH3 p, .titleBoxH3 h3 {
  line-height: 1;
}
.titleBoxH3 h3 {
  font-family: "Playfair Display", serif;
}
.titleBoxH3 p {
  font-family: "Yu Mincho Demibold", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  margin: 0;
}
.titleBoxH3.wave {
  flex-direction: column;
  align-items: center;
  padding-bottom: 32px;
}
@media (max-width: 767px) {
  .titleBoxH3.wave {
    padding-bottom: 24px;
  }
}
.titleBoxH3.wave::after {
  content: "";
  display: inline-block;
  background-image: url(../images/top/img_wave.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 45px;
  height: 6px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  visibility: visible;
}
@media (max-width: 767px) {
  .titleBoxH3.wave::after {
    width: 22.5px;
    height: 3px;
  }
}
.titleBoxH3.wave p {
  font-size: 14px;
  letter-spacing: 5px;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .titleBoxH3.wave p {
    font-size: 12px;
    letter-spacing: 3px;
    margin-bottom: 5px;
  }
}
.titleBoxH3.wave h3 {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 6px;
}
@media (max-width: 767px) {
  .titleBoxH3.wave h3 {
    font-size: 25px;
    line-height: 1.2;
    text-align: center;
  }
}
.titleBoxH3.wave + p {
  font-size: 15px;
}

.arrow {
  position: relative;
  vertical-align: middle;
  text-decoration: none;
}
.arrow::before, .arrow::after {
  content: "";
  position: absolute;
  top: 0;
  margin: auto;
  vertical-align: middle;
}
.arrow::before {
  top: 23px;
  right: 23px;
  width: 1px;
  height: 18px;
  background: #444;
}
.arrow::after {
  top: 36px;
  right: 21px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #444;
  border-right: 1px solid #444;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.brackets {
  margin: 50px auto 0;
  position: relative;
}
@media (max-width: 767px) {
  .brackets {
    width: calc(100% - 80px);
    margin: 0 auto;
  }
}
.brackets::before, .brackets::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100px;
  height: 100px;
}
@media (max-width: 767px) {
  .brackets::before, .brackets::after {
    width: 50px;
    height: 50px;
  }
}
.brackets::before {
  border-top: 1px solid #444;
  border-right: 1px solid #444;
  top: 3px;
  right: 0;
}
@media (max-width: 767px) {
  .brackets::before {
    top: 8px;
  }
}
.brackets::after {
  border-bottom: 1px solid #444;
  border-left: 1px solid #444;
  bottom: 0;
  left: 0;
}
.brackets--name {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.brackets--name p {
  line-height: 1;
  margin-top: 0;
}
.brackets--name .en {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 6px;
}
@media (max-width: 767px) {
  .brackets--name .en {
    font-size: 20px;
    letter-spacing: 3px;
  }
}
.brackets--name .jp {
  font-family: "Yu Mincho Demibold", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 16px;
  letter-spacing: 4px;
  margin-left: 30px;
}
@media (max-width: 767px) {
  .brackets--name .jp {
    font-size: 12px;
    letter-spacing: 2px;
    margin-left: 16px;
  }
}
@media screen and (max-width: 373px) {
  .brackets--name {
    align-items: flex-start;
    flex-direction: column;
  }
  .brackets--name .jp {
    margin: 10px 0 0;
  }
  .brackets--name .jp br {
    display: none;
  }
}
.brackets--box {
  display: flex;
  align-items: flex-start;
  padding: 35px 125px 40px;
}
@media (max-width: 767px) {
  .brackets--box {
    flex-direction: column;
    padding: 25px 19px 30px;
  }
}
@media (min-width: 769px) {
  .brackets--box > div {
    width: 50%;
  }
}

/* ======================= */
.keyvisual {
  width: 100%;
  height: 650px;
  position: relative;
}
@media (max-width: 767px) {
  .keyvisual {
    height: 570px;
  }
}
.keyvisual--txt {
  position: absolute;
  left: 0;
  top: 406px;
}
@media (max-width: 767px) {
  .keyvisual--txt {
    position: relative;
    top: 352px;
  }
}
.keyvisual--txt p {
  color: #fff;
  text-shadow: 0 0 6px #59481c ,0 0 0.5px #59481c;
  font-family: "Yu Mincho Demibold", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-weight: 800;
}
@media (max-width: 767px) {
  .keyvisual--txt p {
    text-align: center;
  }
}
.keyvisual--txt p:nth-child(1) {
  font-size: 90px;
  font-family: 'MonteCarlo', cursive;
  font-weight: 500;
  line-height: 1.5;
  -webkit-transform: rotate(359deg);
  transform: rotate(359deg);
}
@media (max-width: 767px) {
  .keyvisual--txt p:nth-child(1) {
    font-size: 55px;
  }
}
.keyvisual--txt p:nth-child(2) {
  margin-left: 3px;
  letter-spacing: 3px;
  line-height: 1.9;
}
@media (max-width: 767px) {
  .keyvisual--txt p:nth-child(2) {
    letter-spacing: 2px;
    line-height: 1.6;
  }
}
.keyvisual--slider {
  position: absolute;
  left: calc(-50vw + 600px);
  margin: 0 auto;
  width: 100vw;
  height: 650px;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .keyvisual--slider {
    left: 0;
  }
}
@media (max-width: 767px) {
  .keyvisual--slider {
    height: 570px;
  }
}
.keyvisual--slider--slide {
  width: 100vw;
  height: 650px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .keyvisual--slider--slide {
    height: 570px;
  }
  .keyvisual--slider--slide::before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 100vw;
    height: 50vw;
    background-image: linear-gradient(0deg, transparent 0 10%, #fff 100%);
  }
}
@media (min-width: 769px) {
  .keyvisual--slider--slide.slide01 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual.jpg");
  }
}
@media (max-width: 767px) {
  .keyvisual--slider--slide.slide01 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_sp.jpg");
  }
}
@media (min-width: 769px) {
  .keyvisual--slider--slide.slide02 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_002.jpg");
  }
}
@media (max-width: 767px) {
  .keyvisual--slider--slide.slide02 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_002_sp.jpg");
  }
}
@media (min-width: 769px) {
  .keyvisual--slider--slide.slide03 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_003.jpg");
  }
}
@media (max-width: 767px) {
  .keyvisual--slider--slide.slide03 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_003_sp.jpg");
  }
}
@media (min-width: 769px) {
  .keyvisual--slider--slide.slide04 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_004.jpg");
  }
}
@media (max-width: 767px) {
  .keyvisual--slider--slide.slide04 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_004_sp.jpg");
  }
}
@media (min-width: 769px) {
  .keyvisual--slider--slide.slide05 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_005.jpg");
  }
}
@media (max-width: 767px) {
  .keyvisual--slider--slide.slide05 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_005_sp.jpg");
  }
}
@media (min-width: 769px) {
  .keyvisual--slider--slide.slide06 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_006.jpg");
  }
}
@media (max-width: 767px) {
  .keyvisual--slider--slide.slide06 {
    background: center/cover no-repeat url("./../images/top/img_keyvisual_006_sp.jpg");
  }
}
.keyvisual--wave {
  position: absolute;
  bottom: 0;
  left: calc(50.5% - 50vw);
  width: 120vw;
  height: 50px;
}
.keyvisual--wave #wave {
  transform: scale(1.1, 1);
}

.nav-lang {
  position: absolute;
  top: 250px;
  right: calc(-50vw + 620px);
}
@media (max-width: 767px) {
  .nav-lang {
    position: static;
    width: 200%;
    margin-left: -1rem;
  }
}
.nav-lang li {
  text-align: center;
  font-size: 65%;
  width: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .nav-lang li {
    width: 100%;
    font-size: inherit;
  }
}
.nav-lang li:not(:first-of-type)::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 14px;
  width: 50%;
  height: 1px;
  background: rgba(68, 68, 68, 0.1);
}
.nav-lang li a {
  background: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  padding: .5rem 0;
  backdrop-filter: blur(10px);
}
.nav-lang li a:hover {
  opacity: 1;
  background: #7cc8b9;
  color: #fff;
}

.floatLink {
  z-index: 1;
  background: rgba(255, 255, 255, 0.9);
  padding: 45px 45px 23px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.08);
}
@media (min-width: 769px) {
  .floatLink {
    position: absolute;
    top: 530px;
    right: 0;
  }
}
@media (max-width: 767px) {
  .floatLink {
    width: calc(100% - 40px);
    position: relative;
    top: -42px;
    margin: 0 auto;
    padding: 30px 25px 10px;
  }
}
.floatLink .petBtn {
  display: block;
  width: 100%;
  background-color: #7cc8b9;
  padding: 10px 38px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 2px;
}
@media (max-width: 767px) {
  .floatLink .petBtn {
    padding: 7px 38px 7px 28px;
  }
}
.floatLink .petBtn::before, .floatLink .petBtn::after {
  transition: 0.8s;
}
.floatLink .petBtn::before {
  top: 26px;
  right: 17px;
  width: 18px;
  height: 1px;
  background: #fff;
}
@media (max-width: 767px) {
  .floatLink .petBtn::before {
    width: 12px;
    top: 23px;
    right: 16px;
  }
}
.floatLink .petBtn::after {
  top: 24px;
  right: 16px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (max-width: 767px) {
  .floatLink .petBtn::after {
    width: 3px;
    height: 3px;
    top: 21.5px;
  }
}
.floatLink .petBtn .footprint {
  position: absolute;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(338deg);
  transform: rotate(338deg);
  filter: invert(35%) sepia(13%) saturate(721%) hue-rotate(336deg) brightness(90%) contrast(88%);
}
@media (min-width: 769px) {
  .floatLink .petBtn .footprint._01 {
    top: -10px;
    left: -4px;
  }
  .floatLink .petBtn .footprint._02 {
    top: 10px;
    left: -5px;
  }
  .floatLink .petBtn .footprint._03 {
    top: 13px;
    left: 12px;
  }
}
@media (max-width: 767px) {
  .floatLink .petBtn .footprint._01 {
    top: -11px;
    left: -6px;
  }
  .floatLink .petBtn .footprint._02 {
    top: 9px;
    left: -7px;
  }
  .floatLink .petBtn .footprint._03 {
    top: 12px;
    left: 10px;
  }
}
.floatLink .petBtn:hover {
  opacity: 1;
}
.floatLink .petBtn:hover::before {
  right: 27px;
}
.floatLink .petBtn:hover::after {
  right: 26px;
}
.floatLink ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 290px;
}
@media (max-width: 767px) {
  .floatLink ul {
    width: 100%;
  }
}
.floatLink ul li {
  display: block;
  width: 100%;
}
.floatLink ul li:not(:last-child) {
  border-bottom: 1px solid #444;
}
.floatLink ul li:nth-child(1) a {
  padding: 17.5px 50px 7.5px 0;
}
@media (max-width: 767px) {
  .floatLink ul li:nth-child(1) a {
    padding: 7.5px 50px 6.5px 15px;
  }
}
.floatLink ul li, .floatLink ul li a {
  color: #444;
  font-size: 18px;
  letter-spacing: 3px;
}
@media (max-width: 767px) {
  .floatLink ul li, .floatLink ul li a {
    font-size: 15px;
  }
}
.floatLink ul li a {
  display: block;
  padding: 12.5px 50px 12.5px 0;
}
@media (max-width: 767px) {
  .floatLink ul li a {
    padding: 7.5px 50px 7.5px 15px;
  }
  .floatLink ul li a::before {
    height: 11px;
    top: 18px;
  }
  .floatLink ul li a::after {
    top: 25px;
    right: 21.6px;
    width: 3px;
    height: 3px;
  }
}

.logged-in .sun-wrap {
  top: 90px;
}

.sun-wrap {
  position: fixed;
  width: 100%;
  height: 500px;
  top: 0;
}
.sun-wrap .sun {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0px;
  height: 0px;
  margin: 0;
  background: #fff;
  box-shadow: 0px 0px 30px 10px #e6e6c8, 0px 0px 10px 5px white;
  animation: flaremove 8s normal infinite ease-in-out, lightbright 8s normal infinite linear;
  border-radius: 9999px;
}
.sun-wrap .flare {
  position: absolute;
  top: 80%;
  left: 80%;
  animation: flaremove 8s normal infinite ease-in-out;
  border-radius: 9999px;
}
.sun-wrap .flare .one {
  margin: -50px 0 0 -50px;
  width: 100px;
  height: 100px;
  box-shadow: inset 0px 0px 20px 2px rgba(190, 190, 240, 0.125), 0px 0px 20px 0px rgba(190, 190, 240, 0.125);
}
.sun-wrap .flare .two {
  margin: -100px 0 0 -100px;
  width: 200px;
  height: 200px;
  box-shadow: inset 0px 0px 100px 2px rgba(200, 230, 200, 0.125), 0px 0px 13px 2px rgba(200, 230, 200, 0.125);
}
.sun-wrap .flare .three {
  margin: 20% 0 0 20%;
  width: 100px;
  height: 100px;
  box-shadow: inset 0px 0px 160px 2px rgba(50, 180, 50, 0.125), 0px 0px 20px 2px rgba(50, 180, 50, 0.125);
}
.sun-wrap .flare .four {
  margin: -5% 0 0 -5%;
  width: 60px;
  height: 60px;
  box-shadow: inset 0px 0px 160px 2px rgba(200, 220, 80, 0.25), 0px 0px 20px 2px rgba(200, 220, 80, 0.25);
}
.sun-wrap .flare .five {
  margin: 20% 0 0 20%;
  width: 20px;
  height: 20px;
  box-shadow: inset 0px 0px 18px 10px rgba(150, 220, 220, 0.25), 0px 0px 5px 0px rgba(150, 220, 220, 0.25);
}

@keyframes flaremove {
  0% {
    left: -30%;
    top: 40%;
  }
  100% {
    left: 130%;
    top: 60%;
  }
}
@keyframes lightmove {
  0% {
    left: 130%;
    top: 60%;
  }
  100% {
    left: -30%;
    top: 40%;
  }
}
@keyframes lightbright {
  0% {
    -moz-box-shadow: 0px 0px 30px 10px #e6e6c8, 0px 0px 10px 5px white;
    -webkit-box-shadow: 0px 0px 30px 10px #e6e6c8, 0px 0px 10px 5px white;
    box-shadow: 0px 0px 30px 10px #e6e6c8, 0px 0px 10px 5px white;
  }
  50% {
    -moz-box-shadow: 0px 0px 30px 10px #e6e6c8, 0px 0px 10px 5px white;
    -webkit-box-shadow: 0px 0px 30px 10px #e6e6c8, 0px 0px 10px 5px white;
    box-shadow: 0px 0px 30px 10px #e6e6c8, 0px 0px 10px 5px white;
  }
  100% {
    -moz-box-shadow: 0px 0px 40px 10px #e6e6c8, 0px 0px 20px 10px white;
    -webkit-box-shadow: 0px 0px 40px 10px #e6e6c8, 0px 0px 20px 10px white;
    box-shadow: 0px 0px 40px 10px #e6e6c8, 0px 0px 20px 10px white;
  }
}
/* --------------------News------------------------------------------------------------ */
.topNews {
  max-width: 820px;
  position: relative;
  padding: 44px 110px 0 65px;
}
@media (max-width: 767px) {
  .topNews {
    width: calc(100% - 80px);
    margin: 0 auto;
    margin: 0 auto 75px;
    padding: 0 0 0 45px;
  }
}
.topNews h2 {
  font-size: 16px;
  letter-spacing: 2px;
  line-height: 1;
  position: absolute;
  top: 67px;
  left: -18px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
@media (max-width: 767px) {
  .topNews h2 {
    font-size: 25px;
    top: 80px;
  }
}
.topNews h2::before {
  content: "";
  display: inline-block;
  background: linear-gradient(180deg, #fff 0%, #fff 50%, #444 50%, #444 100%);
  position: absolute;
  top: -27px;
  left: -53px;
  width: 1px;
  height: 70px;
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}
@media (max-width: 767px) {
  .topNews h2::before {
    background: #444;
    top: -6px;
    left: -34px;
    width: 0.5px;
    height: 40px;
  }
}
.topNews ul {
  margin: 0;
}
.topNews ul li {
  display: flex;
  margin-bottom: 18px;
}
@media (max-width: 767px) {
  .topNews ul li {
    flex-wrap: wrap;
    flex-direction: column;
  }
}
.topNews ul li, .topNews ul li a {
  color: #444;
  font-size: 14px;
}
@media (max-width: 767px) {
  .topNews ul li, .topNews ul li a {
    word-break: break-all;
  }
}
.topNews ul li time {
  letter-spacing: -0.5px;
}
@media (max-width: 767px) {
  .topNews ul li time {
    line-height: 1;
  }
}
.topNews ul li .title {
  width: 100%;
}
.topNews ul li a {
  display: block;
}
@media (min-width: 769px) {
  .topNews ul li a {
    margin-left: 28px;
  }
}
.topNews ul li a:hover {
  text-decoration: none;
}
.topNews--btn {
  display: block;
  text-align: right;
  font-size: 14px;
  color: #444;
  text-decoration-color: #dadada;
  letter-spacing: 2px;
  line-height: 1.6;
}

/* --------------------Concept------------------------------------------------------------ */
.topConcept {
  position: relative;
  margin-top: 50px;
  display: flex;
}
@media (max-width: 767px) {
  .topConcept {
    flex-direction: column;
    flex-wrap: wrap;
  }
}
.topConcept h2 {
  position: absolute;
  z-index: 1;
  top: 75px;
  left: 322px;
}
@media (max-width: 767px) {
  .topConcept h2 {
    top: 31px;
    left: 1px;
    right: 0;
    margin: 0 auto;
    display: inline-block;
    width: fit-content;
  }
}
.topConcept--img {
  position: relative;
}
@media (min-width: 769px) {
  .topConcept--img {
    min-width: 620px;
  }
}
.topConcept--img::before {
  content: "";
  display: inline-block;
  background-image: url(../images/top/img_concept_001.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 438px;
  height: 595px;
  position: absolute;
  top: 75px;
  left: 80px;
  z-index: -1;
}
@media (max-width: 767px) {
  .topConcept--img::before {
    width: 231px;
    height: 314px;
    top: 57px;
    left: 0;
  }
}
.topConcept--img::after {
  content: "";
  display: inline-block;
  background-image: url(../images/top/bg_concept.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 50vw;
  height: 755px;
  position: absolute;
  top: 0;
  right: 145px;
  z-index: -2;
  visibility: visible;
}
@media (max-width: 767px) {
  .topConcept--img::after {
    width: 90vw;
    height: 330px;
    top: 0;
    right: 150px;
  }
}
.topConcept--img p {
  margin: 0;
  font-family: "Playfair Display", serif;
  color: #e0f4f0;
  font-size: 125px;
  line-height: 1.24;
  letter-spacing: -1.2px;
  position: absolute;
  overflow: hidden;
  z-index: -1;
}
@media (min-width: 769px) {
  .topConcept--img p {
    left: -1px;
    bottom: 47px;
  }
}
@media (max-width: 767px) {
  .topConcept--img p {
    font-size: 14vw;
    top: 70vw;
  }
}
.topConcept--txt {
  margin-top: 210px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .topConcept--txt {
    width: calc(100% - 80px);
    margin: 0 auto;
    padding-top: 435px;
  }
}
.topConcept--txt p {
  margin-top: 0;
  margin-bottom: 35px;
  letter-spacing: 1.4px;
}
.topConcept--txt .title {
  font-size: 24px;
  font-weight: normal;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .topConcept--txt .title {
    font-size: 17px;
    letter-spacing: 2px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: 104px;
    right: 15px;
  }
}
.topConcept--txt .txt {
  font-size: 15px;
  line-height: 2;
  font-weight: 500;
}
@media (max-width: 767px) {
  .topConcept--txt .txt {
    font-size: 14px;
    line-height: 1.66;
  }
}
.topConcept--txt dl {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .topConcept--txt dl {
    align-items: center;
  }
}
.topConcept--txt dl dt {
  width: 12%;
  position: relative;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
  margin-right: 28px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dt {
    min-width: 42.5px;
    font-size: 9.19px;
    letter-spacing: 0.2px;
    margin-bottom: 40px;
  }
}
.topConcept--txt dl dt::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.topConcept--txt dl dt:nth-of-type(1) {
  padding-top: 48px;
  color: #7ca9c8;
  margin-top: 16px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dt:nth-of-type(1) {
    padding-top: 34px;
  }
}
.topConcept--txt dl dt:nth-of-type(1)::before {
  background-image: url(../images/top/icon_concept_001.svg);
  width: 34px;
  height: 35px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dt:nth-of-type(1)::before {
    width: 22px;
    height: 23px;
  }
}
.topConcept--txt dl dt:nth-of-type(2) {
  padding-top: 42px;
  color: #c8917c;
  margin-top: 9px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dt:nth-of-type(2) {
    padding-top: 30px;
  }
}
.topConcept--txt dl dt:nth-of-type(2)::before {
  background-image: url(../images/top/icon_concept_002.svg);
  width: 28px;
  height: 36px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dt:nth-of-type(2)::before {
    width: 18.5px;
    height: 23.5px;
  }
}
.topConcept--txt dl dt:nth-of-type(3) {
  padding-top: 45px;
  color: #c8c27c;
  margin-top: 8px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dt:nth-of-type(3) {
    padding-top: 30.5px;
  }
}
.topConcept--txt dl dt:nth-of-type(3)::before {
  background-image: url(../images/top/icon_concept_003.svg);
  width: 46px;
  height: 36px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dt:nth-of-type(3)::before {
    width: 30px;
    height: 23.5px;
  }
}
.topConcept--txt dl dd {
  width: 71%;
  font-size: 14px;
  letter-spacing: 1.5px;
  line-height: 2.2;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .topConcept--txt dl dd {
    width: 70%;
    line-height: 1.78;
    flex-grow: 1;
  }
}

/* --------------------photoArea------------------------------------------------------------ */
.photoArea {
  height: 557px;
  margin-top: 0;
  position: relative;
}
@media (max-width: 767px) {
  .photoArea {
    width: calc(100% - 80px);
    margin: 0 auto;
    height: 368px;
  }
}
.photoArea > div {
  position: absolute;
}
@media (max-width: 767px) {
  .photoArea > div {
    overflow: hidden;
  }
  .photoArea > div img {
    width: 100%;
    height: auto;
  }
}
.photoArea--001 {
  z-index: 2;
}
@media (min-width: 769px) {
  .photoArea--001 {
    top: 315px;
    left: -50px;
  }
}
@media (max-width: 767px) {
  .photoArea--001 {
    width: 177px;
    height: 119px;
    left: -20px;
    bottom: 0;
  }
}
.photoArea--002 {
  top: 0;
  z-index: 3;
}
@media (min-width: 769px) {
  .photoArea--002 {
    left: 80px;
  }
}
@media (max-width: 767px) {
  .photoArea--002 {
    width: 201px;
    height: 133.5px;
    right: -20px;
  }
}
.photoArea--003 {
  z-index: 1;
}
@media (min-width: 769px) {
  .photoArea--003 {
    top: 88px;
    left: 378px;
  }
}
@media (max-width: 767px) {
  .photoArea--003 {
    width: 280px;
    height: 189px;
    right: -40px;
    bottom: 27px;
  }
}
.photoArea--004 {
  z-index: 4;
}
@media (min-width: 769px) {
  .photoArea--004 {
    top: 255px;
    right: -50px;
  }
}
@media (max-width: 767px) {
  .photoArea--004 {
    width: 118px;
    height: 180px;
    top: 31.5px;
    left: -40px;
  }
}

/* --------------------Rooms------------------------------------------------------------ */
.topRooms {
  margin-top: 125px;
  overflow: visible;
}
@media (max-width: 767px) {
  .topRooms {
    margin-top: 110px;
  }
}
@media (min-width: 769px) {
  .topRooms > .titleBox {
    align-items: flex-end;
    left: 110px;
  }
}
@media (min-width: 769px) {
  .topRooms > .titleBox p {
    margin: 0 0 0 40px;
    letter-spacing: 4px;
  }
}
@media (max-width: 767px) {
  .topRooms > .titleBox p {
    width: calc(100% - 80px);
    margin: 0 auto;
    margin-top: 30px;
  }
}
.topRooms .titleBoxH3.wave {
  margin-top: 81px;
}
@media (max-width: 767px) {
  .topRooms .titleBoxH3.wave + p {
    text-align: left;
    line-height: 1.78;
  }
}
.topRooms .tent {
  width: calc(100% - 80px);
  margin: 0 auto;
  position: relative;
}
.topRooms .tent::after {
  content: "";
  display: inline-block;
  background-image: url(../images/top/bg_room.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  position: absolute;
  z-index: -2;
  visibility: visible;
}
@media (min-width: 769px) {
  .topRooms .tent::after {
    width: 70vw;
    min-width: 942px;
    height: 1503px;
    top: 244px;
    left: 230px;
  }
}
@media (max-width: 767px) {
  .topRooms .tent::after {
    width: 81vw;
    /*height: 2722px;*/
    height: 2820px;
    height: 100%;
    top: -38px;
    right: -40px;
  }
}
.topRooms .forpet .btn {
  padding: 13.5px 30px 13.5px 30px;
}
@media (max-width: 767px) {
  .topRooms .forpet .btn {
    bottom: -45px;
  }
}
.topRooms .forpet .btn2 {
  bottom: -48px;
}
.topRooms .villa {
  position: relative;
  margin-top: 103px;
}
@media (max-width: 767px) {
  .topRooms .villa {
    width: calc(100% - 80px);
    margin: 0 auto;
    margin-top: 51px;
    padding-bottom: 50px;
  }
}
.topRooms .villa::after {
  content: "";
  display: inline-block;
  background-image: url(../images/top/bg_room.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  position: absolute;
  z-index: -2;
  visibility: visible;
}
@media (min-width: 769px) {
  .topRooms .villa::after {
    width: 70vw;
    min-width: 940px;
    height: 90%;
    top: 230px;
    right: 230px;
  }
}
@media (max-width: 767px) {
  .topRooms .villa::after {
    width: 80vw;
    height: 100%;
    top: 33px;
    left: -40px;
  }
}
.topRooms .villa .loomtype {
  margin-top: 43px;
}
.topRooms .villa .loomtype--box--txt p:not([class]) {
  font-size: 14px;
}
.topRooms .pet {
  margin: 2em auto 0;
  position: relative;
}
@media (min-width: 769px) {
  .topRooms .pet {
    width: 920px;
  }
}
@media (max-width: 767px) {
  .topRooms .pet {
    width: 100%;
    margin-top: 63px;
  }
}
.topRooms .pet::before {
  content: "";
  display: inline-block;
  background: #fff;
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.topRooms .pet::after {
  content: "";
  display: inline-block;
  background-image: url(../images/top/img_pet.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  position: absolute;
}
@media (min-width: 769px) {
  .topRooms .pet::after {
    width: 322px;
    height: 109px;
    bottom: -39px;
    left: 43px;
  }
}
@media (max-width: 767px) {
  .topRooms .pet::after {
    width: 295px;
    height: 106px;
    bottom: -41px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media screen and (max-width: 375px) {
  .topRooms .pet::after {
    width: 246px;
    height: 83px;
    bottom: -30px;
  }
}
.topRooms .pet a {
  display: block;
  text-decoration: none;
  font-family: "Yu Mincho Demibold", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  letter-spacing: 6.3px;
  cursor: pointer;
}
@media (min-width: 769px) {
  .topRooms .pet a {
    padding: 48px 210px 48px 0;
    font-size: 18px;
    text-align: right;
  }
}
@media (max-width: 767px) {
  .topRooms .pet a {
    padding: 37px 0 69px;
    font-size: 13px;
    text-align: center;
  }
}
.topRooms .pet a::before {
  content: "With Pet";
  display: inline-block;
  font-family: "Playfair Display", serif;
  color: #7cc8b9;
  font-size: 67.7px;
  font-weight: 400;
  letter-spacing: 14px;
  line-height: 1;
  opacity: 0.2;
  position: absolute;
}
@media (min-width: 769px) {
  .topRooms .pet a::before {
    top: 32px;
    right: 148px;
  }
}
@media (max-width: 767px) {
  .topRooms .pet a::before {
    font-size: 42.26px;
    top: 24px;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-weight: 500;
    letter-spacing: 10px;
  }
}
.topRooms .pet .arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0px 70px 80px;
  border-color: transparent transparent #7cc8b9 transparent;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (min-width: 769px) {
  .topRooms .pet .arrow::before {
    top: 48px;
    right: 17px;
    width: 18px;
    height: 1px;
    background: #fff;
  }
  .topRooms .pet .arrow::after {
    top: 46px;
    right: 16px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}
@media (max-width: 767px) {
  .topRooms .pet .arrow {
    border-width: 0 0px 35px 40px;
  }
  .topRooms .pet .arrow::before, .topRooms .pet .arrow::after {
    content: none;
  }
}
.topRooms .supplies {
  margin-top: 67px;
}
.topRooms .supplies .listFlex {
  display: flex;
  padding: 60px 110px 60px 120px;
}
@media (max-width: 767px) {
  .topRooms .supplies .listFlex {
    flex-wrap: wrap;
    padding: 20px 30px 30px 30px;
  }
}
@media screen and (max-width: 395px) {
  .topRooms .supplies .listFlex {
    padding: 20px 0 30px 18px;
  }
}
@media screen and (max-width: 350px) {
  .topRooms .supplies .listFlex {
    flex-direction: column;
  }
  .topRooms .supplies .listFlex ul {
    width: 100% !important;
  }
  .topRooms .supplies .listFlex ul:nth-child(3) {
    flex-direction: column;
  }
}
.topRooms .supplies .listFlex ul {
  margin: 0;
}
.topRooms .supplies .listFlex ul:nth-child(1) {
  width: 27%;
}
@media (max-width: 767px) {
  .topRooms .supplies .listFlex ul:nth-child(1) {
    width: 42%;
  }
}
.topRooms .supplies .listFlex ul:nth-child(2) {
  width: 35.5%;
}
@media (max-width: 767px) {
  .topRooms .supplies .listFlex ul:nth-child(2) {
    width: 58%;
  }
}
.topRooms .supplies .listFlex ul:nth-child(3) {
  width: 37.5%;
}
@media (max-width: 767px) {
  .topRooms .supplies .listFlex ul:nth-child(3) {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
  .topRooms .supplies .listFlex ul:nth-child(3) li {
    width: 42%;
  }
  .topRooms .supplies .listFlex ul:nth-child(3) li:nth-child(3) {
    width: 100%;
  }
}
.topRooms .supplies .listFlex ul li {
  line-height: 2;
}
@media (max-width: 767px) {
  .topRooms .supplies .listFlex ul li {
    font-size: 13px;
  }
  .topRooms .supplies .listFlex ul li::before {
    top: 12px;
  }
}

.loomtype,
.planMin {
  display: flex;
  flex-wrap: wrap;
  margin-top: 55px;
}
.loomtype p, .loomtype ul,
.planMin p,
.planMin ul {
  margin: 0;
  line-height: 1.66;
}
@media (max-width: 767px) {
  .loomtype p, .loomtype ul,
  .planMin p,
  .planMin ul {
    font-size: 14px;
  }
}
.loomtype .rice,
.planMin .rice {
  font-size: 13px;
  margin-top: 7px;
  margin-left: 1em;
  line-height: 1.66;
}
.loomtype--box,
.planMin--box {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .loomtype--box,
  .planMin--box {
    width: 50%;
    align-items: center;
    margin-bottom: 75px;
  }
}
@media (max-width: 767px) {
  .loomtype--box,
  .planMin--box {
    width: 100%;
    align-items: flex-start;
  }
  .loomtype--box:not(:last-child),
  .planMin--box:not(:last-child) {
    margin-bottom: 72px;
  }
}
@media (min-width: 769px) {
  .loomtype--box:nth-child(odd),
  .planMin--box:nth-child(odd) {
    position: relative;
    top: 40px;
  }
}
.loomtype--box--img,
.planMin--box--img {
  width: 400px;
  height: 230px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .loomtype--box--img,
  .planMin--box--img {
    width: calc(100% - 18px);
    height: auto;
  }
  .loomtype--box--img img,
  .planMin--box--img img {
    width: 100%;
    height: auto;
  }
}
.loomtype--box--img2,
.planMin--box--img2 {
  width: 400px;
  height: 270px;
}
.loomtype--box--txt,
.planMin--box--txt {
  margin: 0;
  background-color: #fff;
  position: relative;
}
@media (min-width: 769px) {
  .loomtype--box--txt,
  .planMin--box--txt {
    width: 400px;
    min-width: 400px;
    padding: 25px 30px 50px;
    top: -20px;
    left: 20px;
  }
}
@media (max-width: 767px) {
  .loomtype--box--txt,
  .planMin--box--txt {
    width: calc(100% - 10px);
    padding: 20px 18px 40px;
    top: -10px;
    left: 10px;
  }
}
.loomtype--box--txt .detail,
.planMin--box--txt .detail {
  position: absolute;
  top: 10px;
  right: -10px;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
  padding: 20px 50px 20px 20px;
  display: block;
}
@media (max-width: 767px) {
  .loomtype--box--txt .detail,
  .planMin--box--txt .detail {
    font-size: 10px;
    top: 10px;
    right: -10px;
  }
}
.loomtype--box--txt .detail::before,
.planMin--box--txt .detail::before {
  top: 25px;
  right: 0px;
  width: 38px;
  height: 2px;
}
@media (max-width: 767px) {
  .loomtype--box--txt .detail::before,
  .planMin--box--txt .detail::before {
    top: 23px;
    right: 0;
    width: 30px;
  }
}
.loomtype--box--txt .detail::after,
.planMin--box--txt .detail::after {
  width: 6px;
  height: 6px;
  top: 1px;
  right: -50.5px;
  border-top: 2px solid #444;
  border-right: 2px solid #444;
  transform: rotate(45deg);
  top: 22px;
  right: 0;
}
@media (max-width: 767px) {
  .loomtype--box--txt .detail::after,
  .planMin--box--txt .detail::after {
    top: 20px;
    right: 0;
  }
}
.loomtype--box--txt .detail:hover,
.planMin--box--txt .detail:hover {
  right: -20px;
}
.loomtype--box--txt .name,
.planMin--box--txt .name {
  font-family: "Playfair Display", serif;
  font-size: 25px;
  color: #444;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 4px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .loomtype--box--txt .name,
  .planMin--box--txt .name {
    width: calc(100% - 60px);
    margin-bottom: 5px;
    flex-wrap: wrap;
  }
}
@media (min-width: 769px) {
  .loomtype--box--txt .name span,
  .planMin--box--txt .name span {
    font-size: 15px;
    letter-spacing: 2.5px;
    margin-right: 10px;
  }
}
@media (max-width: 767px) {
  .loomtype--box--txt .name span,
  .planMin--box--txt .name span {
    font-size: 13px;
    letter-spacing: 1.5px;
    line-height: 1.2;
    margin-right: 8px;
  }
}
.loomtype--box--txt .info,
.planMin--box--txt .info {
  font-size: 13px;
  color: #999;
  margin: 0 0 15px;
}
.loomtype--box--txt .info br,
.planMin--box--txt .info br {
  display: none;
}
@media (max-width: 767px) {
  .loomtype--box--txt .info,
  .planMin--box--txt .info {
    font-size: 12px;
  }
}
@media screen and (max-width: 380px) {
  .loomtype--box--txt .info br,
  .planMin--box--txt .info br {
    display: inline-block;
  }
}
.loomtype--box--txt .info span,
.planMin--box--txt .info span {
  display: inline-block;
  margin-right: 10px;
  padding: 5.5px 10px;
  background: #ebf2f7;
  font-size: 12px;
  color: #7ca9c8;
  line-height: 1;
}
@media (max-width: 767px) {
  .loomtype--box--txt .info span,
  .planMin--box--txt .info span {
    padding: 0.5px 1px;
  }
}
.loomtype--box--txt ul,
.planMin--box--txt ul {
  margin-top: 18px;
}
@media (max-width: 767px) {
  .loomtype--box--txt ul,
  .planMin--box--txt ul {
    margin-top: 15px;
  }
}
.loomtype--box--txt ul li,
.planMin--box--txt ul li {
  letter-spacing: 3px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .loomtype--box--txt ul li,
  .planMin--box--txt ul li {
    letter-spacing: 2px;
  }
}
.loomtype--box--txt .btn,
.planMin--box--txt .btn {
  display: block;
  width: calc(100% - 60px);
  position: absolute;
  bottom: -28px;
  left: 30px;
}
@media (max-width: 767px) {
  .loomtype--box--txt .btn,
  .planMin--box--txt .btn {
    width: calc(100% - 30px);
    bottom: -20px;
    left: 7px;
  }
}
.loomtype--box.colorA .name,
.planMin--box.colorA .name {
  color: #c8c27c;
}
.loomtype--box.colorA .info span,
.planMin--box.colorA .info span {
  color: #c8c27c;
  background: #f7f6eb;
}
.loomtype--box.colorA .btn,
.planMin--box.colorA .btn {
  border: 1px solid #c8c27c;
}
@media (min-width: 769px) {
  .loomtype--box.colorA .btn,
  .planMin--box.colorA .btn {
    color: #c8c27c;
  }
  .loomtype--box.colorA .btn:hover,
  .planMin--box.colorA .btn:hover {
    background: #c8c27c;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .loomtype--box.colorA .btn,
  .planMin--box.colorA .btn {
    color: #fff;
    background: #c8c27c;
  }
  .loomtype--box.colorA .btn:hover, .loomtype--box.colorA .btn:active,
  .planMin--box.colorA .btn:hover,
  .planMin--box.colorA .btn:active {
    background: #c8c27c;
  }
}
.loomtype--box.colorB .name,
.planMin--box.colorB .name {
  color: #7ca9c8;
}
.loomtype--box.colorB .info span,
.planMin--box.colorB .info span {
  color: #7ca9c8;
  background: #ebf2f7;
}
.loomtype--box.colorB .btn,
.planMin--box.colorB .btn {
  border: 1px solid #7ca9c8;
}
@media (min-width: 769px) {
  .loomtype--box.colorB .btn,
  .planMin--box.colorB .btn {
    color: #7ca9c8;
  }
  .loomtype--box.colorB .btn:hover,
  .planMin--box.colorB .btn:hover {
    background: #7ca9c8;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .loomtype--box.colorB .btn,
  .planMin--box.colorB .btn {
    color: #fff;
    background: #7ca9c8;
  }
  .loomtype--box.colorB .btn:hover, .loomtype--box.colorB .btn:active,
  .planMin--box.colorB .btn:hover,
  .planMin--box.colorB .btn:active {
    background: #7ca9c8;
  }
}
.loomtype--box.colorC .name,
.planMin--box.colorC .name {
  color: #d19cb9;
}
.loomtype--box.colorC .info span,
.planMin--box.colorC .info span {
  color: #d19cb9;
  background: #f8f0f5;
}
.loomtype--box.colorC .btn,
.planMin--box.colorC .btn {
  border: 1px solid #d19cb9;
}
@media (min-width: 769px) {
  .loomtype--box.colorC .btn,
  .planMin--box.colorC .btn {
    color: #d19cb9;
  }
  .loomtype--box.colorC .btn:hover,
  .planMin--box.colorC .btn:hover {
    background: #d19cb9;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .loomtype--box.colorC .btn,
  .planMin--box.colorC .btn {
    color: #fff;
    background: #d19cb9;
  }
  .loomtype--box.colorC .btn:hover, .loomtype--box.colorC .btn:active,
  .planMin--box.colorC .btn:hover,
  .planMin--box.colorC .btn:active {
    background: #d19cb9;
  }
}
.loomtype--box.colorD .name,
.planMin--box.colorD .name {
  color: #c8917c;
}
.loomtype--box.colorD .info span,
.planMin--box.colorD .info span {
  color: #c8917c;
  background: #f7efeb;
}
.loomtype--box.colorD .btn,
.planMin--box.colorD .btn {
  border: 1px solid #c8917c;
}
@media (min-width: 769px) {
  .loomtype--box.colorD .btn,
  .planMin--box.colorD .btn {
    color: #c8917c;
  }
  .loomtype--box.colorD .btn:hover,
  .planMin--box.colorD .btn:hover {
    background: #c8917c;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .loomtype--box.colorD .btn,
  .planMin--box.colorD .btn {
    color: #fff;
    background: #c8917c;
  }
  .loomtype--box.colorD .btn:hover, .loomtype--box.colorD .btn:active,
  .planMin--box.colorD .btn:hover,
  .planMin--box.colorD .btn:active {
    background: #c8917c;
  }
}
.loomtype--box.colorF .name,
.planMin--box.colorF .name {
  color: #a9d19c;
}
.loomtype--box.colorF .info span,
.planMin--box.colorF .info span {
  color: #a9d19c;
  background: #f0fdec;
}
.loomtype--box.colorF .btn,
.planMin--box.colorF .btn {
  border: 1px solid #a9d19c;
}
@media (min-width: 769px) {
  .loomtype--box.colorF .btn,
  .planMin--box.colorF .btn {
    color: #a9d19c;
  }
  .loomtype--box.colorF .btn:hover,
  .planMin--box.colorF .btn:hover {
    background: #a9d19c;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .loomtype--box.colorF .btn,
  .planMin--box.colorF .btn {
    color: #fff;
    background: #a9d19c;
  }
  .loomtype--box.colorF .btn:hover, .loomtype--box.colorF .btn:active,
  .planMin--box.colorF .btn:hover,
  .planMin--box.colorF .btn:active {
    background: #a9d19c;
  }
}
.loomtype--box.colorG .name,
.planMin--box.colorG .name {
  color: #9d9cd1;
}
.loomtype--box.colorG .info span,
.planMin--box.colorG .info span {
  color: #9d9cd1;
  background: #dddcf6;
}
.loomtype--box.colorG .btn,
.planMin--box.colorG .btn {
  border: 1px solid #9d9cd1;
}
@media (min-width: 769px) {
  .loomtype--box.colorG .btn,
  .planMin--box.colorG .btn {
    color: #9d9cd1;
  }
  .loomtype--box.colorG .btn:hover,
  .planMin--box.colorG .btn:hover {
    background: #9d9cd1;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .loomtype--box.colorG .btn,
  .planMin--box.colorG .btn {
    color: #fff;
    background: #9d9cd1;
  }
  .loomtype--box.colorG .btn:hover, .loomtype--box.colorG .btn:active,
  .planMin--box.colorG .btn:hover,
  .planMin--box.colorG .btn:active {
    background: #9d9cd1;
  }
}

@media (min-width: 769px) {
  _::-webkit-full-page-media, _:future, :root .loomtype--box--txt .detail::before, .planMin--box--txt .detail::before {
    top: 7px;
  }

  _::-webkit-full-page-media, _:future, :root .loomtype--box--txt .detail::after, .planMin--box--txt .detail::after {
    top: 4px;
  }
}
@media (max-width: 767px) {
  .loomtype--box--txt .btn {
    padding: 6.5px 0 6.5px 0;
  }
}
/* --------------------Meals------------------------------------------------------------ */
.planBig {
  display: flex;
}
@media (max-width: 767px) {
  .planBig {
    flex-direction: column;
    margin-top: 40px;
  }
}
@media (min-width: 769px) {
  .planBig > div {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .planBig--img {
    width: 100%;
    max-height: 280px;
  }
  .planBig--img img {
    width: 100%;
    height: auto;
  }
}
.planBig--img.over {
  flex: 1;
  margin-left: calc(50% - 50vw);
  max-height: 585px;
}
.planBig--img.over img {
  width: 100%;
  height: auto;
}
@media (min-width: 769px) {
  .planBig--txt {
    padding: 30px 0 0 60px;
  }
}
@media (max-width: 767px) {
  .planBig--txt {
    width: calc(100% - 80px);
    margin: 0 auto;
    margin-top: 32px;
  }
}
.planBig--txt p, .planBig--txt ul {
  margin: 0;
}
.planBig--txt .tag, .planBig--txt .name {
  font-family: "Yu Mincho Demibold", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
}
.planBig--txt .tag {
  display: inline-block;
  padding: 7px 9px;
  font-size: 14px;
  line-height: 1;
  border: 1px solid #444;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .planBig--txt .tag {
    font-size: 11px;
    padding: 3.5px 5px 2.5px;
    margin-bottom: 0;
  }
}
.planBig--txt .name {
  font-size: 30px;
  letter-spacing: 1px;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .planBig--txt .name {
    font-size: 20px;
    margin-bottom: 12px;
    position: relative;
    bottom: 3px;
  }
}
.planBig--txt ul {
  margin-bottom: 25px;
}
.planBig--txt ul li {
  margin-bottom: 10px;
  padding-left: 20px;
}
.planBig--txt .btn {
  margin-left: auto;
  width: fit-content;
  display: block;
}
@media (max-width: 767px) {
  .planBig--txt .btn {
    width: 100%;
    margin: 0;
  }
}

.planMin {
  justify-content: center;
  margin-top: 95px;
}
@media (max-width: 767px) {
  .planMin {
    width: calc(100% - 80px);
    margin: 0 auto;
    margin-top: 60px;
    flex-direction: column;
  }
}
@media (min-width: 769px) {
  .planMin--box {
    width: 43%;
  }
  .planMin--box:nth-child(odd) {
    top: 35px;
  }
}
@media (max-width: 767px) {
  .planMin--box--img {
    width: 100%;
  }
}
.planMin--box--txt {
  padding: 25px 0 0;
  top: 0;
  left: 0;
}
.planMin--box--txt .name {
  width: 100%;
  font-size: 30px;
  letter-spacing: 3px;
}
@media (max-width: 767px) {
  .planMin--box--txt .name {
    font-size: 20px;
    line-height: 1.2;
  }
}
.planMin--box--txt ul.list {
  margin: 25px 0 20px;
}
@media (max-width: 767px) {
  .planMin--box--txt ul.list {
    margin: 20px 0;
  }
}
@media (min-width: 769px) {
  .planMin--box--txt ul.list li {
    line-height: 2.2;
  }
  .planMin--box--txt ul.list li::before {
    top: 17px;
  }
}
.planMin--box--txt ul.list li span {
  font-weight: bold;
  background: linear-gradient(transparent 10%, #bde3dc 10%, #bde3dc 90%, transparent 90%);
}
@media (max-width: 767px) {
  .planMin--box--txt ul.list li span {
    line-height: 1.66;
  }
}
.planMin--box--txt .btn {
  width: 100%;
  position: unset;
}

.topMeals {
  margin-top: 210px;
}
@media (max-width: 767px) {
  .topMeals {
    margin-top: 80px;
  }
}
@media (min-width: 769px) {
  .topMeals > .titleBox {
    margin: 0 0 58px 145px;
    align-items: flex-start;
  }
}
@media (max-width: 767px) {
  .topMeals > .titleBox {
    width: calc(100% - 80px);
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .topMeals > .titleBox p {
    margin: 15px 0 0 25px;
    font-size: 18px;
    letter-spacing: 3px;
    line-height: 2.22;
  }
}
@media (max-width: 767px) {
  .topMeals > .titleBox p {
    margin-top: 30px;
  }
}
.topMeals .dinner {
  position: relative;
}
.topMeals .dinner::before {
  content: "DINNER";
  display: inline-block;
  font-family: "Playfair Display", serif;
  color: #7cc8b9;
  font-size: 126.7px;
  font-weight: 500;
  letter-spacing: 4px;
  line-height: 1;
  opacity: 0.2;
  position: absolute;
  top: -55px;
  right: -68px;
  z-index: -1;
}
@media (max-width: 767px) {
  .topMeals .dinner::before {
    font-size: 63px;
    top: -35px;
    right: 10px;
  }
}
.topMeals .kids {
  margin-top: 2px;
  margin-bottom: 118px;
}
@media (max-width: 767px) {
  .topMeals .kids {
    margin-top: 50px;
  }
}
.topMeals .kids ul li {
  line-height: 2;
}
@media (max-width: 767px) {
  .topMeals .kids ul li {
    font-size: 13px;
    padding-left: 30px;
  }
  .topMeals .kids ul li::before {
    top: 12px;
    left: 10px;
  }
}
.topMeals .kids .rice {
  font-size: 13px;
  margin-top: 13px;
}
@media (min-width: 769px) {
  .topMeals .kids .brackets--box > div {
    width: 49%;
  }
}
@media (max-width: 767px) {
  .topMeals .kids .brackets--box > div {
    width: 100%;
  }
  .topMeals .kids .brackets--box > div img {
    width: 100%;
    height: auto;
  }
}
@media (min-width: 769px) {
  .topMeals .kids .brackets--box--img div {
    width: 328px;
    height: 189px;
    overflow: hidden;
  }
}
.topMeals .kids .brackets--box--txt ul {
  margin-top: 5px;
}
@media (max-width: 767px) {
  .topMeals .kids .brackets--box--txt ul {
    margin-top: 18px;
  }
}
.topMeals .morning {
  position: relative;
}
.topMeals .morning::before {
  content: "MORNING";
  display: inline-block;
  font-family: "Playfair Display", serif;
  color: #7cc8b9;
  font-weight: 500;
  letter-spacing: 4px;
  line-height: 1;
  opacity: 0.2;
  position: absolute;
  z-index: 1;
}
@media (min-width: 769px) {
  .topMeals .morning::before {
    font-size: 126.7px;
    top: -72px;
    left: 45px;
  }
}
@media (max-width: 767px) {
  .topMeals .morning::before {
    font-size: 63px;
    top: -35px;
    right: 10px;
  }
}
@media (min-width: 769px) {
  .topMeals .morning .planBig--txt {
    padding: 14px 0 0 60px;
  }
}
@media (max-width: 767px) {
  .topMeals .morning .planBig--txt {
    margin-top: 40px;
  }
}
.topMeals .morning .planBig--txt .name {
  letter-spacing: 5px;
}
@media (min-width: 769px) {
  .topMeals .morning .planBig--txt .name {
    margin-left: 5px;
  }
}

/* --------------------Activity------------------------------------------------------------ */
.topActivity {
  margin-top: 134px;
}
@media (max-width: 767px) {
  .topActivity {
    margin-top: 60px;
  }
}
.topActivity--slide {
  display: flex;
  overflow: hidden;
  margin: 0 calc(50% - 50vw) 80px;
  width: 300vw;
  min-width: 6400px;
}
@media (max-width: 767px) {
  .topActivity--slide {
    min-width: 800vw;
    margin: 0 calc(50% - 50vw) 40px;
  }
}
.topActivity--slide-item {
  display: flex;
  list-style: none;
  animation: infinity-scroll-left 95s infinite linear 0.5s both;
  min-width: 3200px;
  width: 150vw;
}
@media (max-width: 767px) {
  .topActivity--slide-item {
    min-width: 400vw;
    animation: infinity-scroll-left 60s infinite linear 0.5s both;
  }
}
.topActivity--slide-item img {
  width: 98%;
  min-height: 420px;
}
@media (max-width: 767px) {
  .topActivity--slide-item img {
    min-height: unset;
  }
}
@media (min-width: 769px) {
  .topActivity .titleBox {
    left: 88px;
    margin-bottom: 68px;
  }
}
@media (max-width: 767px) {
  .topActivity .titleBox {
    width: calc(100% - 80px);
    margin: 0 auto;
    margin-bottom: 50px;
  }
}
.topActivity .titleBox h2.slash::after {
  right: -57px;
}
@media (max-width: 767px) {
  .topActivity .titleBox h2.slash::after {
    right: -15px;
  }
}
@media (min-width: 769px) {
  .topActivity .titleBox p {
    margin: 33px 0 0 10px;
    letter-spacing: 3px;
    line-height: 2.2;
  }
}
@media (max-width: 767px) {
  .topActivity .titleBox p {
    margin-top: 30px;
    letter-spacing: 2px;
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.actPlan--box {
  display: flex;
}
@media (max-width: 767px) {
  .actPlan--box {
    flex-direction: column;
    align-items: flex-start;
  }
}
.actPlan--box--img {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .actPlan--box--img img {
    width: 100%;
    height: auto;
  }
}
.actPlan--box--txt .title * {
  margin: 0;
  font-family: "Yu Mincho Regular", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
}
.actPlan--box--txt .title--name {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 3px;
}
.actPlan--box--txt .title--info {
  text-align: right;
}
.actPlan--box--txt .title--info._rice::after {
  content: "∗";
  font-size: 10px;
  position: relative;
  top: -5px;
  color: #444;
}
.actPlan--box--txt p:not([class]) {
  font-size: 15px;
  line-height: 2;
}
@media (max-width: 767px) {
  .actPlan--box--txt p:not([class]) {
    font-size: 14px;
    line-height: 2.14;
  }
}
.actPlan--box--txt .rice {
  font-size: 13px;
  line-height: 1.66;
  margin-top: 14px;
}
@media (max-width: 767px) {
  .actPlan--box--txt .rice {
    font-size: 12px;
  }
}

.big {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .big {
    margin-bottom: 45px;
  }
}
.big .actPlan--box--img {
  width: 55%;
  flex: 1;
  overflow: hidden;
  margin: 0;
}
@media (max-width: 767px) {
  .big .actPlan--box--img {
    width: calc(100% - 40px);
    max-height: 233px;
  }
}
.big .actPlan--box--img img {
  width: 100%;
  height: auto;
}
@media (min-width: 769px) {
  .big .actPlan--box--txt {
    width: 45%;
    display: flex;
    align-items: center;
  }
}
@media (max-width: 767px) {
  .big .actPlan--box--txt {
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 30px 0;
  }
}
.big .actPlan--box--txt .title {
  display: flex;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .big .actPlan--box--txt .title {
    margin-bottom: 20px;
  }
}
.big .actPlan--box--txt .title--name {
  font-size: 30px;
  letter-spacing: 1px;
  position: relative;
}
@media (max-width: 767px) {
  .big .actPlan--box--txt .title--name {
    font-size: 20px;
  }
}
.big .actPlan--box--txt .title--name::after {
  content: "";
  display: inline-block;
  background-color: #444;
  position: relative;
  top: -4px;
  left: -29px;
  width: 78px;
  height: 1px;
  -webkit-transform: rotate(131deg);
  transform: rotate(131deg);
}
@media (max-width: 767px) {
  .big .actPlan--box--txt .title--name::after {
    width: 39px;
    top: 0;
    left: -7px;
  }
}
.big .actPlan--box--txt .title--info {
  text-align: left;
  margin: 37px 0 0 -55px;
}
@media (max-width: 767px) {
  .big .actPlan--box--txt .title--info {
    font-size: 12px;
    margin: 23px 0 0 -15px;
  }
}
.big .actPlan--box:not(:last-child) {
  margin-bottom: 67px;
}
@media (max-width: 767px) {
  .big .actPlan--box:not(:last-child) {
    margin-bottom: 38px;
  }
}
@media (min-width: 769px) {
  .big .actPlan--box:nth-child(odd) .actPlan--box--img {
    margin-left: calc(50% - 50vw);
  }
  .big .actPlan--box:nth-child(odd) .actPlan--box--txt {
    padding-left: 60px;
  }
}
@media (min-width: 769px) {
  .big .actPlan--box:nth-child(even) {
    flex-direction: row-reverse;
  }
  .big .actPlan--box:nth-child(even) .actPlan--box--img {
    margin-right: calc(50% - 50vw);
  }
  .big .actPlan--box:nth-child(even) .actPlan--box--txt {
    padding-right: 60px;
  }
}
@media (max-width: 767px) {
  .big .actPlan--box:nth-child(even) .actPlan--box--img {
    position: relative;
    right: -40px;
  }
}

.medium {
  display: flex;
}
@media (min-width: 769px) {
  .medium {
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .medium {
    width: calc(100% - 80px);
    margin: 0 auto;
    flex-direction: column;
  }
}
.medium .actPlan--box {
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 45px;
}
@media (min-width: 769px) {
  .medium .actPlan--box {
    width: 29.81%;
  }
  .medium .actPlan--box:not(:nth-child(3n)) {
    margin-right: 54.9px;
  }
}
@media (min-width: 769px) {
  .medium .actPlan--box--img {
    width: 310px;
    height: 193px;
    overflow: hidden;
  }
  .medium .actPlan--box--img img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .medium .actPlan--box--img {
    width: 100%;
  }
}
.medium .actPlan--box--txt .title + p {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .medium .actPlan--box--txt .title--info {
    font-size: 15px;
  }
}

.small {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .small {
    display: block;
  }
}
.small .actPlan--box {
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 40px;
}
@media (min-width: 769px) {
  .small .actPlan--box {
    width: 21.34%;
  }
  .small .actPlan--box:not(:nth-child(4n)) {
    margin-right: 50.5px;
  }
}
@media (max-width: 767px) {
  .small .actPlan--box {
    width: calc(100% - 80px);
    margin: 0 auto;
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
}
.small .actPlan--box--img {
  overflow: hidden;
}
@media (min-width: 769px) {
  .small .actPlan--box--img {
    width: 222px;
    height: 137px;
  }
  .small .actPlan--box--img img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .small .actPlan--box--img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .small .actPlan--box--txt .title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.small .actPlan--box--txt .title--info {
  line-height: 1;
}

#slideActivity .slick-dots {
  display: flex;
  justify-content: flex-end;
  margin: 0;
  position: absolute;
  right: 40px;
  bottom: 0;
}
#slideActivity .slick-dots li {
  width: 7px;
  height: 7px;
  margin-left: 11px;
}
#slideActivity .slick-dots li.slick-active button {
  background: #444;
}
#slideActivity .slick-dots button {
  width: 7px;
  min-width: 7px;
  max-width: 7px;
  height: 7px;
  background: #ccc;
  text-indent: -9999px;
}
#slideActivity .slick-dots button::after {
  content: none;
}

/* --------------------other------------------------------------------------------------ */
.other {
  display: flex;
  justify-content: center;
  margin: 52px 0 0;
  position: relative;
}
@media (max-width: 767px) {
  .other {
    width: calc(100% - 80px);
    margin: 0 auto;
    flex-direction: column;
    padding: 60px 0;
  }
}
.other::before {
  content: "";
  display: inline-block;
  background-image: url(../images/top/bg_other.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 100vw;
  min-height: 592px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  margin: 0 calc(50% - 50vw);
}
@media (max-width: 767px) {
  .other::before {
    min-height: 415px;
  }
}
.other h2 {
  font-size: 40px;
  letter-spacing: 9px;
}
@media (max-width: 767px) {
  .other h2 {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 4px;
  }
}
.other h2 + p {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 20px;
  letter-spacing: 1.5px;
}
@media (max-width: 767px) {
  .other h2 + p {
    font-size: 12px;
    letter-spacing: 0.5px;
  }
}
@media (min-width: 769px) {
  .other h2::after {
    background-color: #fff;
    transition: 0.8s;
    display: inline-block;
    content: '';
    position: absolute;
    width: 1px;
    height: 1px;
    left: 50%;
    top: 50%;
    z-index: -1;
    opacity: 0;
  }
}
.other > a {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
}
@media (min-width: 769px) {
  .other > a {
    width: 43%;
    padding: 85px 0;
  }
}
@media (max-width: 767px) {
  .other > a {
    background: rgba(255, 255, 255, 0.3);
    padding: 33px 0 33px 20px;
    align-items: flex-start;
  }
  .other > a:not(:last-child) {
    margin-bottom: 10px;
  }
}
.other > a::before, .other > a::after {
  transition: 0.8s;
}
.other > a::before {
  top: 113px;
  right: 2px;
  width: 38px;
  height: 2px;
}
@media (max-width: 767px) {
  .other > a::before {
    top: 53px;
    right: 20px;
    width: 19px;
    height: 1px;
  }
}
.other > a::after {
  top: 110px;
  right: 3px;
  width: 7px;
  height: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (min-width: 769px) {
  .other > a::after {
    border-top: 2px solid #444;
    border-right: 2px solid #444;
  }
}
@media (max-width: 767px) {
  .other > a::after {
    top: 51px;
    right: 20px;
    width: 4px;
    height: 4px;
  }
}
.other > a:hover {
  opacity: 1;
}
@media (min-width: 769px) {
  .other > a:hover::before {
    right: 47px;
  }
  .other > a:hover::after {
    right: 46px;
  }
  .other > a:hover h2::after {
    background-color: rgba(255, 255, 255, 0.3);
    width: 80%;
    height: 80%;
    left: 9%;
    top: 7%;
    opacity: 1;
  }
}

.topConcept._reverse {
  flex-direction: row-reverse;
}
.topConcept._reverse .topConcept--img p {
  text-align: right;
  width: 900px;
  right: 0;
  left: auto;
}
@media (max-width: 767px) {
  .topConcept._reverse .topConcept--img p {
    width: 100vw;
    font-size: 55px;
  }
}
.topConcept._reverse .topConcept--img::after {
  right: -20vw;
}
@media (max-width: 767px) {
  .topConcept._reverse .topConcept--img::before {
    left: -90vw;
  }
}
.topConcept._reverse .topConcept--txt {
  min-width: 400px;
  padding-left: 70px;
}
@media (max-width: 767px) {
  .topConcept._reverse .topConcept--txt {
    min-width: initial;
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  .topConcept._reverse .topConcept--txt .title {
    right: 0;
  }
}

.facilityMap {
  margin-top: 100px;
  text-align: center;
}
@media (max-width: 767px) {
  .facilityMap {
    margin: 0;
    padding: 0 20px;
  }
}
.facilityMap img {
  max-width: 80%;
}
@media (max-width: 767px) {
  .facilityMap img {
    max-width: 100%;
  }
}
@media (min-width: 769px) {
  .facilityMap a {
    pointer-events: none;
  }
}

.meals {
  margin: 120px 0 100px;
}
.meals .col2 {
  flex-direction: row;
  margin-top: 30px;
}
.meals .morning, .meals .dinner {
  width: 50%;
}
.meals .morning img, .meals .dinner img {
  width: 100%;
  height: auto;
}
.meals .morning {
  margin-top: 30px;
}
.meals--txt {
  max-width: 750px;
  margin: 60px auto 120px;
}
@media (max-width: 767px) {
  .meals--txt {
    padding: 0 2rem;
    margin-top: 30px;
    margin-bottom: 100px;
  }
}

.brackets--inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 0;
}
.brackets a.btn {
  width: 400px;
  margin-top: 30px;
  background-color: rgba(255, 255, 255, 0.5);
}
@media (max-width: 767px) {
  .brackets a.btn {
    width: 80%;
    margin: 30px auto 0;
    background-color: #7cc8b9;
  }
}
.brackets a.btn:hover {
  background-color: #7cc8b9;
}

.staff {
  display: flex;
  background-color: #f9f7f7;
  background-image: url(../images/pet/bg_staff.jpg);
  background-repeat: no-repeat;
  margin-top: 100px;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .staff {
    flex-direction: column-reverse;
    background-size: cover;
  }
}
.staff--img, .staff--txt {
  width: 50%;
}
@media (max-width: 767px) {
  .staff--img, .staff--txt {
    width: 100%;
  }
}
.staff--img {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
}
.staff--img img:nth-child(1) {
  margin-top: 30px;
  width: 90%;
}
@media (max-width: 767px) {
  .staff--img img:nth-child(1) {
    margin-top: 0;
  }
}
.staff--txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-weight: normal;
  padding: 60px;
}
@media (max-width: 767px) {
  .staff--txt {
    text-align: center;
  }
}
.staff--txt h2 {
  font-size: 30px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  letter-spacing: 2px;
  font-weight: normal;
  padding-bottom: 30px;
}
.staff--txt p {
  line-height: 2.2;
}
.staff .decoTxt {
  color: #fff;
  font-size: 80px;
  letter-spacing: 15px;
  line-height: 3.5;
  margin-top: -120px;
}
@media (max-width: 767px) {
  .staff .decoTxt {
    font-size: 55px;
    line-height: 4.3;
    margin-top: -35vw;
  }
}

@media (min-width: 769px) {
  .page-pet .localNav {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .page-pet .localNav ul {
    flex-wrap: wrap;
  }
}
.page-pet .topConcept--img::before {
  background-image: url(../images/pet/img_concept_001.jpg);
}
.page-pet .topConcept--txt dl dt:nth-of-type(3)::before {
  background-image: url(../images/common/icon_nikukyu_color.svg);
}
.page-pet .topActivity .titleBox {
  left: auto;
  justify-content: center;
}
.page-pet .secDogpark::before {
  position: absolute;
  display: inline-block;
  content: '';
  width: 220px;
  height: 131px;
  right: 0;
  top: -60px;
  background-image: url(../images/pet/bg_activity_001.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .page-pet .secDogpark::before {
    width: 32vw;
    height: 20vw;
    top: -96px;
  }
}
@media (max-width: 767px) {
  .page-pet .secDogpark .col2--freeImg {
    margin-bottom: 60px;
  }
}
.page-pet .secDogpark .col2--freeImg img:nth-child(1) {
  margin: 120px 0 0;
}
@media (max-width: 767px) {
  .page-pet .secDogpark .col2--freeImg img:nth-child(1) {
    margin-left: -6vw;
  }
}
.page-pet .secDogpark .col2--freeImg img:nth-child(2) {
  margin: 300px 0 0 -30px;
}
@media (max-width: 767px) {
  .page-pet .secDogpark .col2--freeImg img:nth-child(2) {
    margin-top: 50vw;
  }
}
.page-pet .secDogpark .col2--freeImg img:nth-child(3) {
  margin: -70px 0 0 -60px;
}
@media (max-width: 767px) {
  .page-pet .secDogpark .col2--freeImg img:nth-child(3) {
    width: 30vw;
    margin-top: -4vw;
    margin-left: -30vw;
  }
}
.page-pet .secSup::before {
  position: absolute;
  display: inline-block;
  content: '';
  width: 327px;
  height: 140px;
  left: 250px;
  top: -30px;
  background-image: url(../images/pet/bg_activity_002.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-pet .secSup::before {
    left: 0;
    top: 45vw;
    height: 21vw;
  }
}
.page-pet .secSup::after {
  position: absolute;
  display: inline-block;
  content: '';
  width: 67px;
  height: 162px;
  background-image: url(../images/pet/bg_activity_003.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
  bottom: 0;
  right: 150px;
}
@media (max-width: 767px) {
  .page-pet .secSup::after {
    bottom: 80vw;
    right: 10vw;
  }
}
.page-pet .secSup .col2--freeImg img:nth-child(1) {
  margin: -70px 0 0;
}
@media (max-width: 767px) {
  .page-pet .secSup .col2--freeImg img:nth-child(1) {
    margin-top: -4vw;
    margin-right: -30vw;
  }
}
.page-pet .secSup .col2--freeImg img:nth-child(2) {
  margin: 300px 0 0 -30px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-pet .secSup .col2--freeImg img:nth-child(2) {
    margin-top: 75vw;
  }
}
.page-pet .secSup .col2--freeImg img:nth-child(3) {
  margin: 120px 0 0 -60px;
}
@media (max-width: 767px) {
  .page-pet .secSup .col2--freeImg img:nth-child(3) {
    margin-right: -6vw;
  }
}
.page-pet .secSup .col2--freeImg .decoTxt {
  text-align: left;
  right: auto;
  left: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-pet .secSup .col2--freeImg .decoTxt {
    top: 40vw;
  }
}
.page-pet .activityList--img::before {
  display: none;
}
.page-pet .topRooms .tent::after {
  content: none;
}
.page-pet .topRooms > .titleBox p {
  width: 100%;
}
@media (max-width: 767px) {
  .page-pet .topRooms .titleBoxH3.wave {
    margin-top: 60px;
  }
}
@media (max-width: 767px) {
  .page-pet .titleBox {
    padding: 0 2rem;
  }
}
.page-pet #rooms .roomDetail.colorB {
  order: 2;
}
.page-pet #rooms .roomDetail.colorC {
  order: 3;
}
.page-pet #rooms .roomDetail.colorD {
  order: 1;
}
@media (max-width: 767px) {
  .page-pet .supplies {
    margin-top: -30vw;
    margin-bottom: 20vw;
  }
}
.page-pet #room.tent {
  background: url("../images/room/bg_villa.jpg") top center no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .page-pet #room.tent {
    margin-top: -80px;
  }
}
.page-pet #room.tent .topRooms:not(:last-child) {
  padding-top: 100px;
}
@media (max-width: 767px) {
  .page-pet #room.tent .topRooms:not(:last-child) {
    padding-top: 60px;
  }
}
.page-pet .villa {
  margin-top: 100px;
  padding-top: 100px;
  background: url("../images/room/bg_villa.jpg") top center no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .page-pet .villa {
    padding-top: 60px;
  }
}
@media (min-width: 769px) {
  .page-pet .villa .titleBoxH3.wave + p {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .page-pet .villa .titleBoxH3.wave + p {
    text-align: left;
    margin: 20px 20px 0;
  }
}

/**************************************************
  room
***************************************************/
/* -----------------------------------------------
  Box
-------------------------------------------------- */
.titleBox--row {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .titleBox--row {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 2rem;
  }
}
.titleBox--row h2.slash {
  width: 255px;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .titleBox--row h2.slash {
    width: 100%;
    text-align-last: auto;
  }
}
.titleBox--row p {
  padding-left: 60px;
}
@media (max-width: 767px) {
  .titleBox--row p {
    padding-left: 0;
    margin-top: 30px;
  }
}

/* -----------------------------------------------
  roomdetail
-------------------------------------------------- */
.roomDetail {
  width: 1040px;
  margin: 45px auto;
}
@media (max-width: 767px) {
  .roomDetail {
    width: 100%;
    margin-bottom: 0;
  }
}
.roomDetail--wrap {
  display: flex;
  flex-direction: column;
}
.roomDetail--title {
  font-family: "Playfair Display", serif, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 500;
  display: flex;
  align-items: center;
  letter-spacing: 4px;
}
@media (max-width: 767px) {
  .roomDetail--title {
    padding: 0 2rem;
    flex-wrap: wrap;
    line-height: 1;
    margin-bottom: 30px;
    flex-direction: column;
    align-items: flex-start;
  }
}
.roomDetail--title .sub {
  font-size: 20px;
  margin-right: 10px;
}
@media (max-width: 767px) {
  .roomDetail--title .sub {
    width: 100%;
  }
}
.roomDetail--title .feature {
  font-style: normal;
  font-size: 12px;
  line-height: 1;
  background-color: #f7efeb;
  letter-spacing: 0;
  padding: 5px;
  margin-left: 10px;
}
@media (max-width: 767px) {
  .roomDetail--title .feature {
    margin-left: 0;
    margin-top: 10px;
  }
}
.roomDetail--inner {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
}
@media (max-width: 767px) {
  .roomDetail--inner {
    flex-direction: column;
    padding: 0 2rem;
  }
}
.roomDetail--btn {
  width: 30%;
  text-align: center;
}
@media (max-width: 767px) {
  .roomDetail--btn {
    width: 100%;
    margin-top: 30px;
  }
  .roomDetail--btn img {
    width: 100%;
  }
  .roomDetail--btn a.btn {
    color: #fff;
  }
}
.roomDetail a.btn {
  letter-spacing: 1px;
  display: flex;
  justify-content: center;
  align-items: baseline;
  padding: 15px;
}
.roomDetail a.btn:nth-child(2) {
  margin-top: 10px;
}
.roomDetail--txt {
  width: 60%;
}
@media (max-width: 767px) {
  .roomDetail--txt {
    width: 100%;
  }
}
.roomDetail--txt a.btn {
  width: 50%;
}
@media (max-width: 767px) {
  .roomDetail--txt a.btn {
    width: 100%;
  }
}
.roomDetail--txt .col2 {
  justify-content: space-between;
  margin-top: 30px;
}
@media (min-width: 769px) {
  .roomDetail--txt .col2 a.btn:nth-child(2) {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .roomDetail--txt .col2 a.btn {
    width: 100%;
  }
}
.roomDetail--info {
  display: flex;
  margin-top: 30px;
}
@media (max-width: 767px) {
  .roomDetail--info {
    flex-direction: column;
  }
}
.roomDetail--info .list {
  width: 50%;
}
@media (max-width: 767px) {
  .roomDetail--info .list {
    width: 100%;
  }
}
.roomDetail--info .list li {
  margin-bottom: 5px;
}
.roomDetail--info dl {
  display: flex;
  flex-wrap: wrap;
  width: 50%;
}
@media (max-width: 767px) {
  .roomDetail--info dl {
    width: 100%;
    margin-top: 30px;
    font-size: 14px;
  }
}
.roomDetail--info dl dt {
  width: 40%;
}
.roomDetail--info dl dd {
  width: 60%;
}
.roomDetail--info + a.btn {
  margin-top: 30px;
}
.roomDetail .slider-conatiner {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .roomDetail .slider-conatiner {
    margin-top: 50px;
  }
}
.roomDetail.colorA .roomDetail--title {
  color: #c8c27c;
}
.roomDetail.colorA .roomDetail--title .feature {
  background-color: #f7f6eb;
}
.roomDetail.colorA a.btn {
  border-color: #c8c27c;
  color: #c8c27c;
}
@media (max-width: 767px) {
  .roomDetail.colorA a.btn {
    color: #fff;
    background-color: #c8c27c;
  }
}
.roomDetail.colorA a.btn:hover {
  background-color: #c8c27c;
  color: #fff;
}
.roomDetail.colorB .roomDetail--title {
  color: #7ca9c8;
}
.roomDetail.colorB .roomDetail--title .feature {
  background-color: #ebf2f7;
}
.roomDetail.colorB a.btn {
  border-color: #7ca9c8;
  color: #7ca9c8;
}
@media (max-width: 767px) {
  .roomDetail.colorB a.btn {
    color: #fff;
    background-color: #7ca9c8;
  }
}
.roomDetail.colorB a.btn:hover {
  background-color: #7ca9c8;
  color: #fff;
}
.roomDetail.colorC .roomDetail--title {
  color: #d19cb9;
}
.roomDetail.colorC .roomDetail--title .feature {
  background-color: #f8f0f5;
}
.roomDetail.colorC a.btn {
  border-color: #d19cb9;
  color: #d19cb9;
}
@media (max-width: 767px) {
  .roomDetail.colorC a.btn {
    color: #fff;
    background-color: #d19cb9;
  }
}
.roomDetail.colorC a.btn:hover {
  background-color: #d19cb9;
  color: #fff;
}
.roomDetail.colorD .roomDetail--title {
  color: #c8917c;
}
.roomDetail.colorD .roomDetail--title .feature {
  background-color: #f7efeb;
}
.roomDetail.colorD a.btn {
  border-color: #c8917c;
  color: #c8917c;
}
@media (max-width: 767px) {
  .roomDetail.colorD a.btn {
    color: #fff;
    background-color: #c8917c;
  }
}
.roomDetail.colorD a.btn:hover {
  background-color: #c8917c;
  color: #fff;
}

/* -----------------------------------------------
  Clinical
-------------------------------------------------- */
@media (min-width: 769px) {
  .page-room .localNav {
    margin-bottom: 120px;
  }
}
.page-room #tent h2.slash::after {
  top: auto;
  bottom: 20px;
  right: 0;
}
.page-room #tent .brackets {
  margin-top: -5rem;
}
.page-room #dome h2.slash::after {
  top: auto;
  bottom: 20px;
  right: 0;
}
.page-room #villa {
  background: url("../images/room/bg_villa.jpg") top center no-repeat;
  background-size: contain;
}
.page-room #villa h2.slash::after {
  top: auto;
  bottom: 20px;
  right: -10px;
}
@media (min-width: 769px) {
  .page-room #villa .topRooms {
    padding-top: 110px;
  }
}
@media (max-width: 767px) {
  .page-room #villa .roomDetail {
    margin-bottom: 80px;
  }
}
.page-room #facility {
  margin-top: 120px;
  background: url("../images/room/bg_facility.jpg") top center no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .page-room #facility .titleBox._center {
    display: flex;
    align-items: center;
    padding-bottom: 0;
  }
}
.page-room #facility .facilityMap {
  margin-top: 30px;
  margin-bottom: 60px;
}

.page-activity .largeText {
  color: #c8917c;
  font-size: 26px;
  text-align: center;
  line-height: 1.5;
}
.page-activity .topActivity {
  margin-top: 96px;
}
@media (max-width: 767px) {
  .page-activity .topActivity {
    margin-top: 60px;
  }
}
.page-activity .secIll {
  position: relative;
}
.page-activity .secIll::before {
  display: inline-block;
  content: '';
  width: 50vw;
  height: 640px;
  background-image: url(../images/top/bg_concept.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -60px;
  right: 0;
}
@media (max-width: 767px) {
  .page-activity .secIll::before {
    width: 80vw;
  }
}
@media (max-width: 767px) {
  .page-activity .secIll .col2--freeImg {
    margin-bottom: 60px;
  }
}
.page-activity .secIll .col2--freeImg img:nth-child(1) {
  margin: 120px 0 0;
}
@media (max-width: 767px) {
  .page-activity .secIll .col2--freeImg img:nth-child(1) {
    margin-left: -6vw;
  }
}
.page-activity .secIll .col2--freeImg img:nth-child(2) {
  margin: 300px 0 0 -30px;
}
@media (max-width: 767px) {
  .page-activity .secIll .col2--freeImg img:nth-child(2) {
    margin-top: 50vw;
  }
}
.page-activity .secIll .col2--freeImg img:nth-child(3) {
  margin: -70px 0 0 -60px;
}
@media (max-width: 767px) {
  .page-activity .secIll .col2--freeImg img:nth-child(3) {
    width: 30vw;
    margin-top: -4vw;
    margin-left: -30vw;
  }
}
@media (max-width: 767px) {
  .page-activity .secIll .decoTxt {
    line-height: 2;
    top: -30vw;
    font-size: 60px;
  }
}
.page-activity .secAst {
  position: relative;
}
.page-activity .secAst::before {
  display: inline-block;
  content: '';
  width: 50vw;
  height: 640px;
  background-image: url(../images/top/bg_concept.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -60px;
  right: 0;
}
@media (max-width: 767px) {
  .page-activity .secAst::before {
    width: 80vw;
  }
}
@media (max-width: 767px) {
  .page-activity .secAst .col2--freeImg {
    margin-bottom: 60px;
  }
}
.page-activity .secAst .col2--freeImg img:nth-child(1) {
  margin: 120px 0 0;
}
@media (max-width: 767px) {
  .page-activity .secAst .col2--freeImg img:nth-child(1) {
    margin-left: -6vw;
  }
}
.page-activity .secAst .col2--freeImg img:nth-child(2) {
  margin: 300px 0 0 -30px;
}
@media (max-width: 767px) {
  .page-activity .secAst .col2--freeImg img:nth-child(2) {
    margin-top: 50vw;
  }
}
.page-activity .secAst .col2--freeImg img:nth-child(3) {
  margin: -70px 0 0 -60px;
}
@media (max-width: 767px) {
  .page-activity .secAst .col2--freeImg img:nth-child(3) {
    width: 30vw;
    margin-top: -4vw;
    margin-left: -30vw;
  }
}
@media (max-width: 767px) {
  .page-activity .secAst .decoTxt {
    top: -30vw;
    font-size: 60px;
  }
}
.page-activity .secHotspring {
  margin-top: 200px;
  position: relative;
}
.page-activity .secHotspring::before {
  display: inline-block;
  content: '';
  width: 50vw;
  height: 640px;
  background-image: url(../images/top/bg_concept.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: -60px;
  right: 0;
}
@media (max-width: 767px) {
  .page-activity .secHotspring::before {
    width: 80vw;
  }
}
.page-activity .secHotspring::before {
  top: -90px;
  right: auto;
  left: 0;
}
.page-activity .secHotspring a.btn._win {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  border: none;
  color: #7cc8b9;
}
.page-activity .secHotspring a.btn._win:hover {
  background: #7cc8b9;
  color: #fff;
}
.page-activity .secHotspring .col2--freeImg {
  flex-direction: row-reverse;
}
.page-activity .secHotspring .col2--freeImg img:nth-child(1) {
  margin: -70px 0 0;
}
@media (max-width: 767px) {
  .page-activity .secHotspring .col2--freeImg img:nth-child(1) {
    width: 30vw;
    margin-top: -4vw;
    margin-left: -30vw;
  }
}
.page-activity .secHotspring .col2--freeImg img:nth-child(2) {
  margin: 300px 0 0 -30px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-activity .secHotspring .col2--freeImg img:nth-child(2) {
    margin-top: 50vw;
  }
}
.page-activity .secHotspring .col2--freeImg img:nth-child(3) {
  margin: 120px 0 0 -60px;
}
@media (max-width: 767px) {
  .page-activity .secHotspring .col2--freeImg img:nth-child(3) {
    margin-left: -6vw;
    margin-top: 15vw;
  }
}
.page-activity .secHotspring .col2--freeImg .decoTxt {
  text-align: left;
  right: auto;
  left: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-activity .secHotspring .col2--freeImg .decoTxt {
    top: 23vw;
    text-align: right;
  }
}
.page-activity .facilityMap {
  margin-bottom: 120px;
}

.activity--lineup {
  padding: 40px 0px;
}
@media (max-width: 767px) {
  .activity--lineup {
    padding: 20px 0px;
    margin-top: -100px;
  }
}
.activity--lineup .controls {
  display: flex;
  justify-content: center;
  margin-bottom: 26px;
}
@media (max-width: 767px) {
  .activity--lineup .controls {
    flex-wrap: wrap;
  }
}
.activity--lineup .label--control {
  border: 1px solid;
  border-radius: 100px;
  line-height: 1;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  margin: 16px;
  padding: 13px 30px;
}
@media (max-width: 767px) {
  .activity--lineup .label--control {
    margin: 5px;
    padding: 10px 13px;
  }
}
.activity--lineup .label--control.label--all {
  border-color: #7cc8b9;
  color: #7cc8b9;
}
.activity--lineup .label--control.label--all.mixitup-control-active {
  background-color: #7cc8b9;
  color: #fff;
}
.activity--lineup .label--control.label--pet {
  border-color: #7ca9c8;
  color: #7ca9c8;
}
.activity--lineup .label--control.label--pet.mixitup-control-active {
  background-color: #7ca9c8;
  color: #fff;
}
.activity--lineup .label--control.label--main {
  border-color: #c8917c;
  color: #c8917c;
}
.activity--lineup .label--control.label--main.mixitup-control-active {
  background-color: #c8917c;
  color: #fff;
}
.activity--lineup .label--control.label--out {
  border-color: #c8c27c;
  color: #c8c27c;
}
.activity--lineup .label--control.label--out.mixitup-control-active {
  background-color: #c8c27c;
  color: #fff;
}
.activity--lineup .label--control.label--in {
  border-color: #d19cb9;
  color: #d19cb9;
}
.activity--lineup .label--control.label--in.mixitup-control-active {
  background-color: #d19cb9;
  color: #fff;
}
.activity--lineup .activityList-A {
  justify-content: space-between;
}
.activity--lineup .activityList-A .activityList--item {
  width: 49%;
  padding: 0 0 25px;
}
@media (max-width: 767px) {
  .activity--lineup .activityList-A .activityList--item {
    width: 100%;
  }
}
.activity--lineup .activityList-A .activityList--img::before {
  display: none;
}
.activity--lineup .activityList--inner {
  padding: 22px;
  border: 1px solid rgba(124, 200, 185, 0.2);
}
.activity--lineup .activityList--label {
  color: #fff;
  display: inline-block;
  padding: 6px 0;
  text-align: center;
  width: 160px;
  font-size: 14px;
  line-height: 1;
}
@media (max-width: 767px) {
  .activity--lineup .activityList--label {
    width: 130px;
    font-size: 12px;
  }
}
.activity--lineup .activityList--label.label--pet {
  background-color: #7ca9c8;
}
.activity--lineup .activityList--label.label--main {
  background-color: #c8917c;
}
.activity--lineup .activityList--label.label--out {
  background-color: #c8c27c;
}
.activity--lineup .activityList--label.label--in {
  background-color: #d19cb9;
}
.activity--lineup .activityList-A .activityList--img::before, .activity--lineup .activityList-B .activityList--img::before {
  display: none;
}
.activity--lineup .activityList-A .activityList--txt, .activity--lineup .activityList-B .activityList--txt {
  position: relative;
}
.activity--lineup .activityList-A .activityList--label, .activity--lineup .activityList-B .activityList--label {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
.activity--lineup .activityList-B {
  margin-top: 20px;
  gap: 50px;
}
.activity--lineup .activityList-C {
  align-items: flex-start;
  justify-content: space-between;
}
.activity--lineup .activityList-C .activityList--item {
  display: flex;
  align-items: center;
  padding: 0 0 40px;
}
@media (max-width: 767px) {
  .activity--lineup .activityList-C .activityList--item {
    padding: 0 0 10px;
    width: 48%;
    flex-wrap: wrap;
  }
  .activity--lineup .activityList-C .activityList--item p {
    width: 100%;
  }
}
.activity--lineup .activityList-C .activityList--title {
  font-size: 14px;
  line-height: 1;
  margin-left: 20px;
  margin: 0 0 0 10px;
}
@media (max-width: 767px) {
  .activity--lineup .activityList-C .activityList--title {
    letter-spacing: 2px;
    text-align: left;
    margin: 10px;
  }
}

.activity--lineup--title {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  margin-bottom: 1rem;
  font-size: 30px;
  font-weight: normal;
  text-align: center;
  display: block;
  letter-spacing: 4px;
  position: relative;
  top: -25px;
}
@media (max-width: 767px) {
  .activity--lineup--title {
    position: relative;
    top: unset;
    padding-top: 40px;
    font-size: 26px;
  }
}

.activityList--freelabel {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 80px;
  height: 80px;
  z-index: 5;
  border-style: solid;
  border-width: 80px 80px 0 0;
  border-color: #7cc8b9 transparent transparent transparent;
}
.activityList--freelabel span {
  transform: rotate(-45deg);
  position: absolute;
  color: #fff;
  display: block;
  width: 70px;
  text-align: center;
  line-height: 1;
  top: -58px;
  left: -6px;
  font-size: 13px;
  font-weight: bold;
  z-index: 3;
  letter-spacing: 2px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
}

.activity--season {
  margin-top: 70px;
  --x-gradient: linear-gradient(90deg, #444 0 100px, transparent 0 calc(100% - 100px), #444 calc(100% - 100px));
  --y-gradient: linear-gradient(#444 0 100px, transparent 0 calc(100% - 100px), #444 calc(100% - 100px));
  background-image: var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
  background-position: top, right, bottom, left;
}
@media (max-width: 767px) {
  .activity--season {
    margin: 50px 20px 0;
  }
}

.activity--season--inner {
  padding: 20px 45px 40px;
}
@media (max-width: 767px) {
  .activity--season--inner {
    padding: 20px;
  }
}
.activity--season--inner p {
  text-align: center;
}
.activity--season--inner .activityList {
  margin-top: 50px;
}
.activity--season--inner .activityList--num {
  font-size: 68px;
  top: -20px;
  left: 40px;
}
.activity--season--inner .activityList--month {
  display: block;
  top: 0;
}
.activity--season--inner .activityList--month small {
  font-size: 28px;
  display: inline-block;
  position: relative;
}
.activity--season--inner .activityList--free {
  font-size: 30px;
  transform: rotate(-45deg);
  left: 10px;
  top: 27px;
}
.activity--season--inner .activityList--item._small {
  margin: 0;
  padding: 20px 35px;
  position: relative;
}
.activity--season--inner .activityList--img {
  margin-bottom: 5px;
}
.activity--season--inner .activityList--title {
  font-size: 16px;
}
@media (max-width: 767px) {
  .activity--season--inner .activityList--title {
    margin: 0;
  }
}
.activity--season--inner .slick-arrow {
  position: absolute;
}
.activity--season--inner .slick-arrow::before {
  width: 38px;
  height: 2px;
  transform: rotate(180deg) translateY(-50%);
}
.activity--season--inner .slick-arrow::after {
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  border-top: 2px solid #444;
  border-right: 2px solid #444;
}
.activity--season--inner .next-arrow {
  top: 32%;
  right: -30px;
  transform: translateY(-50%);
  padding: 20px;
}
.activity--season--inner .next-arrow::before {
  top: 17px;
  right: 2px;
}
.activity--season--inner .next-arrow::after {
  top: 15px;
  right: 3px;
}
.activity--season--inner .prev-arrow {
  top: 18%;
  left: -37px;
  transform: rotate(180deg) translateY(-50%);
  padding: 20px;
}
.activity--season--inner .prev-arrow::before {
  top: 17px;
  right: 2px;
}
.activity--season--inner .prev-arrow::after {
  top: 15px;
  right: 3px;
}

.activitySeasonList {
  margin: 50px auto 30px;
  border-bottom: 1px solid #dcdcdc;
}

.activitySeasonList-item {
  display: flex;
  align-items: flex-start;
  padding: 30px 0;
  border-top: 1px solid #dcdcdc;
}
@media (max-width: 767px) {
  .activitySeasonList-item {
    display: block;
    padding: 20px 0;
  }
}

.activitySeasonList-label {
  color: #fff;
  display: block;
  padding: 6px 0;
  text-align: center;
  width: 85px;
  font-size: 15px;
  line-height: 1;
  background-color: #7cc8b9;
  margin-right: 10px;
}
@media (max-width: 767px) {
  .activitySeasonList-label {
    margin-bottom: 10px;
  }
}

.activitySeasonList-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
.activitySeasonList-list::before, .activitySeasonList-list::after {
  display: block;
  content: "";
  width: 30%;
}
.activitySeasonList-list::before {
  order: 1;
}
.activitySeasonList-list li {
  min-width: 30%;
  display: flex;
  align-items: center;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 17px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .activitySeasonList-list li {
    font-size: 14px;
    width: 100%;
  }
}
.activitySeasonList-list li::before {
  display: block;
  content: "";
  width: 10px;
  margin: 0 10px;
  height: 1px;
  background-color: #dcdcdc;
}

.mealGrade {
  position: relative;
  background-color: rgba(224, 218, 212, 0.3);
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  .mealGrade {
    padding-bottom: 0;
  }
}
.mealGrade::before {
  background: url("../images/common/bg_wave.svg");
  display: block;
  width: 100vw;
  height: 100px;
  content: '';
}
@media (max-width: 767px) {
  .mealGrade::before {
    width: 200vw;
  }
}
.mealGrade--icon {
  position: absolute;
  top: -40px;
  left: -60px;
  z-index: 1;
  animation: 10s linear infinite rotation;
}
@media (max-width: 767px) {
  .mealGrade--icon {
    top: -60px;
    left: 1rem;
  }
}
.mealGrade .col2 {
  justify-content: space-between;
}
.mealGrade--item {
  width: 46%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .mealGrade--item {
    width: 100%;
    padding: 0 2rem;
    margin-bottom: 60px;
  }
}
.mealGrade--title {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px auto;
  order: 2;
}
@media (max-width: 767px) {
  .mealGrade--title {
    flex-direction: column;
  }
}
.mealGrade figure {
  order: 1;
}
@media all and (-ms-high-contrast: none) {
  .mealGrade figure {
    height: 296px;
  }
}
.mealGrade--txt {
  order: 3;
}
.mealGrade--txt .rice {
  margin-top: 10px;
}
.mealGrade--txt a.btn {
  width: 100%;
  margin-top: 30px;
}
.mealGrade--list {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 10px;
}
.mealGrade--list li:not(:last-child) {
  position: relative;
  padding-bottom: 1.5rem;
}
.mealGrade--list li:not(:last-child)::before, .mealGrade--list li:not(:last-child)::after {
  position: absolute;
  line-height: 1;
}
.mealGrade--list li:not(:last-child)::before {
  content: '+';
  font-size: 90%;
  left: 51.3%;
  bottom: 0.4rem;
}
.mealGrade--list li:not(:last-child)::after {
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 1px solid #444;
  left: 50%;
  bottom: 0.3rem;
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.grade--tag {
  border: 1px solid #444;
  font-size: 14px;
  line-height: 1;
  padding: 5px;
  margin-right: 10px;
}

@media (max-width: 767px) {
  .secBbq .inner .activityList + p:last-child {
    padding: 0 2rem;
  }
}

.secDrink {
  margin-top: 120px;
  margin-bottom: 120px;
}
.secDrink .titleBox {
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .secDrink .titleBox p {
    padding: 1rem 2rem;
  }
}
.secDrink .bgImg {
  width: 100%;
  margin-top: -80px;
}
@media (max-width: 767px) {
  .secDrink .bgImg {
    width: 200%;
    max-width: initial;
    margin-left: -50%;
    margin-top: -1rem;
  }
}
.secDrink .listFlex {
  column-count: 4;
  max-width: 1000px;
  margin: 50px auto;
}
@media (max-width: 767px) {
  .secDrink .listFlex {
    column-count: 2;
    padding: 0 2rem;
  }
}
.secDrink a.btn {
  width: 400px;
}
@media (max-width: 767px) {
  .secDrink a.btn {
    width: calc(100% - 4rem);
  }
}

.secMorning .titleBox {
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .intro .titleBox p {
    padding: 1rem 2rem 0;
  }
}

.mealOption {
  margin-bottom: 120px;
  margin-top: 120px;
}
@media (max-width: 767px) {
  .mealOption {
    margin-bottom: 60px;
    margin-top: 60px;
  }
}

.page-meals .primary {
  margin-bottom: 120px;
}
@media (max-width: 767px) {
  .page-meals .primary {
    margin-bottom: 60px;
  }
}
.page-meals .primary a::before, .page-meals .primary a::after {
  right: 3vw;
}
.page-meals .col2 {
  margin-bottom: 70px;
}
.page-meals .col2--txt .title--name {
  font-size: 25px;
}
@media (max-width: 767px) {
  .page-meals .col2--txt .title--name {
    font-size: 20px;
  }
}
.page-meals .activityList--txt p {
  font-size: 15px;
}
.page-meals .topMeals {
  margin-top: 60px;
}

/**************************************************
  News
***************************************************/
#news.type-entry .hero--img {
  display: none;
}
#news.type-entry .breadcrumb {
  top: 9vw;
}
@media (max-width: 767px) {
  #news.type-entry .breadcrumb {
    display: none;
  }
}
#news.type-entry .index {
  margin: 0;
}

/* -----------------------------------------------
  header
-------------------------------------------------- */
.entry-header {
  margin-top: 100px;
}
@media (max-width: 767px) {
  .entry-header {
    margin-top: 30px;
  }
}
.entry-header .meta-title {
  font-family: "Playfair Display", serif;
  color: #ccc;
  font-size: 14px;
  letter-spacing: 5px;
  display: flex;
  align-items: center;
}
.entry-header .meta-title::after {
  content: '';
  display: inline-block;
  width: 60px;
  height: 1px;
  background-color: #ccc;
  margin-left: 10px;
}
@media (min-width: 769px) {
  .entry-header .meta-title {
    margin-left: -2vw;
  }
}
.entry-header .entry-title {
  font-size: 30px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-weight: normal;
  letter-spacing: 5px;
  padding: 1rem 0 0;
}
@media (max-width: 767px) {
  .entry-header .entry-title {
    font-size: 20px;
  }
}
.entry-header .meta {
  font-family: "Playfair Display", serif;
  font-weight: normal;
  color: #ccc;
  margin-bottom: 30px;
}

/* -----------------------------------------------
  index
-------------------------------------------------- */
#news .topNews {
  max-width: 100%;
  width: 100%;
  padding: 0 20px;
}
#news .topNews .news-list li, #news .topNews .news-list a {
  font-size: 15px;
}

/* -----------------------------------------------
  entry
-------------------------------------------------- */
@media (max-width: 767px) {
  .entry-body {
    padding: 0 20px;
  }
}

.entry-content {
  max-width: 700px;
  margin: 0 auto;
}
.entry-content p, .entry-content ul, .entry-content ol {
  margin-bottom: 30px;
  font-size: 15px;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
  font-weight: normal;
  margin-right: 10px;
  margin-left: 10px;
  margin-bottom: 20px;
  letter-spacing: 5px;
}
.entry-content h2, .entry-content .wysiwyg h1 {
  font-size: 30px;
}
.entry-content h3, .entry-content .wysiwyg h2 {
  font-size: 25px;
}
.entry-content h4, .entry-content .wysiwyg h3 {
  font-size: 20px;
}
.entry-content h5, .entry-content .wysiwyg h4 {
  font-size: 18px;
}
.entry-content ul.list {
  margin-left: 10px;
  margin-right: 10px;
}
.entry-content ul.list li {
  font-size: 15px;
}
.entry-content ul.list li::before {
  top: 13px;
}
.entry-content blockquote,
.entry-content .wysiwyg blockquote {
  margin-left: 10px;
  margin-right: 10px;
  font-size: 14px;
}
@media (max-width: 767px) {
  .entry-content blockquote,
  .entry-content .wysiwyg blockquote {
    padding-left: 15px;
  }
}
.entry-content blockquote p,
.entry-content .wysiwyg blockquote p {
  font-size: 14px;
}
.entry-content .wysiwyg blockquote p {
  margin-left: 0;
  margin-right: 0;
}
.entry-content .wysiwyg blockquote p:last-child {
  margin-bottom: 0;
}

/* -----------------------------------------------
  sns
-------------------------------------------------- */
.snsBox {
  margin-top: 60px;
  padding: 2rem 0 3rem;
  border-bottom: 1px solid rgba(68, 68, 68, 0.1);
}
@media (max-width: 767px) {
  .snsBox {
    margin-top: 0;
  }
}

ul.snsBox--btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
}
ul.snsBox--btn li {
  width: 50px;
  height: 50px;
  margin: 0 20px;
}
@media (max-width: 767px) {
  ul.snsBox--btn li {
    margin: 0 10px;
  }
}
ul.snsBox--btn li::before {
  content: none;
}
ul.snsBox--btn li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
  background: #fff;
  border-radius: 50%;
}
ul.snsBox--btn li a:hover {
  color: #eaf9fb;
  opacity: 1;
}
ul.snsBox--btn li a:hover svg {
  fill: #eaf9fb;
  opacity: 1;
}
ul.snsBox--btn li svg {
  width: 20px;
  height: 20px;
}
ul.snsBox--btn .facebook svg {
  fill: #1877f2;
}
ul.snsBox--btn .facebook a:hover {
  background: #1877f2;
}
ul.snsBox--btn .twitter svg {
  fill: #55acee;
}
ul.snsBox--btn .twitter a:hover {
  background: #55acee;
}
ul.snsBox--btn .line svg {
  fill: #00c300;
}
ul.snsBox--btn .line a:hover {
  background: #00c300;
}

/* -----------------------------------------------
  navi
-------------------------------------------------- */
.entry-nav {
  font-family: "Playfair Display", serif;
  font-weight: normal;
  display: flex;
  justify-content: space-between;
}
.entry-nav li {
  width: 100%;
}
.entry-nav li.next {
  text-align: left;
}
.entry-nav li.next a::before {
  border-style: solid;
  border-width: 0 1px 1px 0;
  content: "";
  position: absolute;
  height: 5px;
  width: 5px;
  transform: rotate(135deg);
  margin-right: 20px;
}
.entry-nav li.index a {
  justify-content: center;
}
.entry-nav li.previous {
  text-align: right;
}
.entry-nav li.previous a {
  flex-direction: row-reverse;
}
.entry-nav li.previous a::before {
  border-style: solid;
  border-width: 0 1px 1px 0;
  content: "";
  position: absolute;
  height: 5px;
  width: 5px;
  transform: rotate(-45deg);
  margin-left: 20px;
}
.entry-nav a {
  width: 100%;
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 30px;
}
@media (max-width: 767px) {
  .entry-nav a {
    padding: 30px 0;
  }
}
.entry-nav a::before {
  position: static !important;
}

/* -----------------------------------------------
  pager
-------------------------------------------------- */
ul.entry-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  margin-top: 30px;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Noto Serif JP", serif;
}
ul.entry-pager li {
  margin-bottom: 0;
}
ul.entry-pager li a {
  text-decoration: none;
  margin-left: 0;
}
ul.entry-pager li a, ul.entry-pager li span {
  padding: 10px;
  display: block;
}
ul.entry-pager li.cur {
  color: #7cc8b9;
}

[lang="en"] body {
  font-family: 'nyt-imperial', serif;
}
[lang="zh-cmn-Hans"] body {
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
[lang="zh-cmn-Hans"] body .yuMincho,
[lang="zh-cmn-Hans"] body .titleBoxH3 p,
[lang="zh-cmn-Hans"] body .topRooms .pet a,
[lang="zh-cmn-Hans"] body .brackets--name .jp,
[lang="zh-cmn-Hans"] body .planBig--txt .tag,
[lang="zh-cmn-Hans"] body .planBig--txt .name,
[lang="zh-cmn-Hans"] body a.btn,
[lang="zh-cmn-Hans"] body .actPlan--box--txt .title *,
[lang="zh-cmn-Hans"] body .other h2 + p {
  font-family: 'Noto Serif SC', 'Kaiti SC', 'SimSun', serif;
}

[lang="en"] .header--btn a::before {
  width: 163px;
}
[lang="zh-cmn-Hans"] .header--btn a::before {
  width: 131px;
}
[lang="zh-cmn-Hant"] .header--btn a::before {
  width: 131px;
}

[lang="en"] .topConcept--txt .title {
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  [lang="en"] .topConcept--txt .title {
    position: static;
    writing-mode: inherit;
    text-align: left;
  }
}
[lang="en"] .topConcept--txt .txt {
  font-size: .8rem;
}
[lang="en"] .topConcept--txt dl dt {
  font-size: .7rem;
}
[lang="en"] .topConcept--txt dl dd {
  font-size: .8rem;
}

[lang="en"] .topRooms > .titleBox .yuMincho {
  max-width: 43vw;
  font-size: 90%;
  line-height: 2;
}
@media (max-width: 767px) {
  [lang="en"] .topRooms > .titleBox .yuMincho {
    max-width: initial;
  }
}

[lang="en"] .loomtype--box--txt .info,
[lang="en"] .planMin--box--txt .info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

[lang="en"] .topMeals > .titleBox .yuMincho {
  max-width: 50vw;
  font-size: 90%;
  line-height: 2;
}
@media (max-width: 767px) {
  [lang="en"] .topMeals > .titleBox .yuMincho {
    max-width: initial;
  }
}

[lang="en"] .planBig--txt {
  padding-top: 0;
}
[lang="en"] .planBig--txt .name {
  line-height: 1.3;
  margin-top: 1rem;
}
[lang="en"] .planBig--txt .small {
  padding-bottom: 1.5rem;
}
[lang="en"] .planBig--txt ul li {
  margin-bottom: 0;
}

[lang="en"] .planMin--box--txt ul.list li {
  letter-spacing: 2px;
  line-height: 2;
}

[lang="en"] .topActivity .titleBox p {
  max-width: 50vw;
  font-size: 90%;
  line-height: 2;
}
@media (max-width: 767px) {
  [lang="en"] .topActivity .titleBox p {
    max-width: initial;
  }
}

@media (max-width: 767px) {
  [lang="en"] .big .actPlan--box--txt .title {
    flex-direction: column;
  }
}

[lang="en"] .big .actPlan--box--txt .title--name {
  font-size: 27px;
  text-align: left;
}

@media (max-width: 767px) {
  [lang="en"] .big .actPlan--box--txt .title--info {
    text-align: right;
    margin-top: 1rem;
  }
}

[lang="en"] .medium .actPlan--box--txt .title, [lang="en"] .small .actPlan--box--txt .title {
  display: block;
}
[lang="en"] .medium .actPlan--box--txt .title .title--name, [lang="en"] .small .actPlan--box--txt .title .title--name {
  letter-spacing: 1px;
  line-height: 1.5;
  margin-bottom: 5px;
}

[lang="en"] .actPlan--box--txt p:not([class]) {
  text-align: left;
}

[lang="en"] .access--box {
  max-width: 480px;
  top: 18px;
}

@media print, screen and (min-width: 960px) {
  a[href^="tel:"] {
    pointer-events: none;
    font-weight: normal;
    color: inherit;
    text-decoration: none !important;
  }
}

/*# sourceMappingURL=style.css.map */
