/* 
common 
*/

@charset "utf-8";

/***********************************************************************
 *
 *            common
 * 
 ***********************************************************************/

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;600;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
ol,
ul,
li,
dl,
dt,
dd,
table,
th,
td,
div,
span,
form,
label,
input,
textarea,
select,
option,
button,
a,
.tribe-common .tribe-common-h2 {
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: none;
  font-size: 14px;
  font-size: min(1.167vw, 14px);
  color: #6d6666;

  text-align: justify;
  font-feature-settings: "palt" 1, "trad" 1;
  box-sizing: border-box;
  letter-spacing: 0.08em;
  line-height: 150%;
  margin: 0;
  padding: 0;
}

h2 {
  font-size: 30px;
  font-weight: 600;
  font-style: normal;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 3px;
  margin: 100px auto 60px;
}

h3 {
  font-size: 20px;
  font-weight: 400;
  margin: 0 auto 0.8em;
}

h4,
h5 {
  font-size: 18px;
  font-weight: 600;
}

img {
  vertical-align: bottom;
}

#main {
  overflow: clip;
}

ul li {
  list-style-position: inside;
}

a:link {
  transition: 0.5s all;
}
a:hover {
  opacity: 0.4;
  transition: 0.5s all;
}

/*YouTube responsive size*/
.youtube {
  position: relative;
  max-width: 100%;
  padding-top: 56.25%;
}

.sp {
  display: none;
}
.pc {
  display: block;
}

/***********************************************************************
 *
 *          pageinner Common
 * 
 ***********************************************************************/

.wrapinner {
  padding: 50px 0;
}

.wp-block-group__inner-container {
  max-width: 860px;
  margin: auto;
}

.inner_half {
  width: 46%;
  max-width: 438px;
}

/***********************************************************************
 *
 *            header
 * 
 ***********************************************************************/

/* #header */
#header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 994;
  width: 100%;
  height: 80px;
  padding: 0;
  margin: auto;
  background: none;
  align-items: center;
  transition: 0.2s all;
}

._login #header {
  top: 30px;
}

.toppage #header {
}

.scrl #header,
.page2nd #header,
._event #header {
  transition: 0.4s all;
  background: #e4d2d8;
  background-color: rgba(228, 210, 216, 0.8);
  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

#header .logo {
  margin: 100px auto 30px;
  transition: 0.4s all;
}

.scrl #header .logo,
.page2nd #header .logo,
._event #header .logo {
  margin: 10px auto 10px;
  transition: 0.4s all;
}

#header .logo img {
  width: 290px;
  height: 52px;
  transition: 0.4s all;
}

.scrl #header .logo img,
.page2nd #header .logo img,
._event #header .logo img {
  width: 170px;
  height: 30px;
  transition: 0.4s all;
}

#header .logo .WtLogo,
.topheaderTxt {
  display: none;
}

#header .fixbanners {
  display: none;
}

#header .wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#header .wrap nav ul {
  display: flex;
  justify-content: space-between;
  width: 100vw;
  max-width: 600px;
}

.toppage #header .wrap nav ul li a {
  border-bottom: solid 0px rgba(170, 206, 216, 0);
  padding: 2px;
  transition: 0.3s all;
}
.toppage #header .wrap nav ul li a:hover {
  border-bottom: solid 2px rgba(170, 206, 216, 0.7);
}

.toppage.scrl #header .wrap nav ul li a {
  border-bottom: none;
}

Button#menu {
  display: none;
}

.mainVBlkwrapper,
.mainVBlk,
.mainVBlk video {
  display: block;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
}
.mainVBlk video {
  object-fit: cover; /* アスペクト比維持で全面フィル、余りは見切れる */
  object-position: center center; /* 見切れの基準位置（中央） */
}

.mainVBlk:before {
  /*  content: "";
  display: block;
  position: absolute;
  height: 100vh;
  width: 100vw;
  background: url(../../img/dots_g.png);
  background-repeat: repeat;
  background-size: 5px;
  left: 0;
  top: 0;
*/
}

.mainVBlk img {
  object-fit: cover;
  height: 100vh;
  width: 100vw;
}

.mainVBlkwrapper .contentsscroller {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  text-align: center;
  padding: 20px 0;
  font-size: 20px;
  font-weight: 600;
}

.mainVBlkwrapper .contentsscroller span {
  color: #fff;
}

.backtoTop {
  position: fixed;
  bottom: 30px;
  right: 0;
  margin: auto;
  width: 50px;
  border-radius: 5px 0 0 5px;
  font-size: 20px;
  background: rgba(187, 188, 222, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  padding: 20px 10px 10px 10px;
  font-weight: 600;
  color: #fff;
  vertical-align: middle;
}

.backtoTop span {
  vertical-align: middle;
}

.backtoTop span:before {
  display: block;
  content: "";
  width: 15px;
  height: 15px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  background-size: contain;
  transform: rotate(-45deg);
  margin: auto;
}

/***********************************************************************
 *
 *           HOME
 * 
 ***********************************************************************/

.toppage section {
  padding-bottom: 80px;
}

.toppage section.intro {
  border-bottom: 30px solid #e4d2d8;
}

.toppage .why h3,
.toppage .aboutkaoru h3 {
  font-size: 30px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 3px;
}

.toppage .why h3 {
  text-align: right;
}
.toppage .aboutkaoru h3 {
  color: #fff;
}

.classBlk {
  width: 266px;
  height: 427px;
  flex-shrink: 0;
  background: rgba(244, 244, 250, 1);
  border-radius: 8px;
  border: 1px solid rgba(187, 188, 222, 0.59);
  box-sizing: border-box;
  padding: 20px;
  position: relative;
  margin-bottom: 30px;
}

.class .is-layout-flex > :is(*, div) {
  margin-bottom: 30px;
}


.classBlk h5 {
  color: #6d6666;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.18em;
}


.classBlk h5 span{
  font-size: 60%;
	display:block;
	text-align:center;
}

.classBlk p {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.classBlk p strong {
  font-size: 20px;
  font-weight: 700;
}

.classBlk .more {
  text-align: right;
  font-family: "AXIS Std";
  position: absolute;
  bottom: 20px;
  right: 20px;
}

.classBlk .more a {
  color: #bbbcde;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px; /* 120% */
}

.classBlk .more a::after {
  content: "";
  width: 10px;
  height: 15px;
  background: url(../../img/arrow_violet.svg);
  background-size: contain;
  display: inline-block;
}

.classBlk.meiso p,
.classBlk.meiso .more {
  display: none;
}

.classBlk .top_classimg {
  max-width: 100%;
  margin: 20px auto;
}


.class .classBlk.meiso .top_classimg{
	margin-top: 5px;
	}

.class a.btn_fullW,
.aboutkaoru a.btn_fullW {
  width: 100%;
  height: auto;
  flex-shrink: 0;
  border-radius: 8px;
  background: #bbbcde;
  color: #fff;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  padding: 10px 0;
  text-align: center;
  display: block;
}

.aboutkaoru a.btn_fullW {
  background: #fff;
  color: #e4d2d8;
  margin: 20px 0 0 0;
}

.toppage .intro img.top_about{
 /* 上下左右のぼかしを組み合わせてマスクを作成 */
  -webkit-mask-image: 
    linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent),
    linear-gradient(to bottom, transparent, black 20px, black calc(100% - 20px), transparent);
  mask-image: 
    linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent),
    linear-gradient(to bottom, transparent, black 20px, black calc(100% - 20px), transparent);

  /* 2つのマスクを重ね合わせる設定 */
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.toppage .why {
  /*background:url(../../img/top_img_sun.jpg) no-repeat;
	background-size:710px 613px;
	background-position:left 80px;*/
  margin-top: 100px;
  position: relative;
}

.toppage .why p,
.toppage section.aboutkaoru p {
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  line-height: 200%; /* 36px */
}

.toppage .why p strong {
  font-size: 18px;
}

section.aboutkaoru {
  background: #e4d2d8;
  padding: 60px 0;
}

.sun-wrap {
  position: absolute;
  width: var(--size, 700px);
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  overflow: visible;
  bottom: -130px;
  left: 0;
  z-index: -1;
  opacity: 0.35;
}

.sun-face {
  position: relative;
  z-index: 2;
  width: var(--face-size, 60%);
  height: auto;
  display: block;
  user-select: none;
  pointer-events: none;
}

/* 親：回転だけを担当（Safariでも確実） */
.flare-rotator {
  position: absolute;
  inset: 0;
  transform-origin: center;
  animation: spin var(--spin-duration, 2s) linear infinite;
  will-change: transform;
}

/* 子：拡大縮小だけを担当 */
.sun-flare {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: center/cover no-repeat url("../../img/top_img_sun_flare.png");

  /* 中央を円形に抜いて“輪”にする（JPG対応） */
  -webkit-mask-image: radial-gradient(
    circle at center,
    transparent calc(var(--inner-cut, 40%) - 2px),
    black var(--inner-cut, 40%)
  );
  mask-image: radial-gradient(
    circle at center,
    transparent calc(var(--inner-cut, 40%) - 2px),
    black var(--inner-cut, 40%)
  );

  transform-origin: center;
  animation: pulse var(--pulse-duration, 15s) ease-in-out infinite alternate;
  will-change: transform;
}

/* 回転（親） */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* 拡大縮小（子） */
@keyframes pulse {
  0% {
    transform: scale(var(--scale-min, 0.85));
  }
  100% {
    transform: scale(var(--scale-max, 1.05));
  }
}

/* 動きに弱い方向け */
@media (prefers-reduced-motion: reduce) {
  .flare-rotator,
  .sun-flare {
    animation: none;
  }
}

/***********************************************************************
 *
 *          2nd common
 * 
 ***********************************************************************/
.page2nd #main {
  margin-top: 150px;
}

.page2nd .wrapinner {
  margin-top: 60px;
  padding: 0 0 90px 0;
}

._aboutkaoru.page2nd .wrapinner {
  margin-top: 45px;
  padding: 90px 0;
}

.page2nd section {
  max-width: 860px;
  margin: auto;
}

.page2nd #main h1 {
  color: rgba(99, 99, 99, 1);
  text-align: center;
  font-size: 30px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3px;
}

/***********************************************************************
 *
 *          2nd _aboutkaoru
 * 
 ***********************************************************************/
._aboutkaoru .wrapinner {
  background: rgba(228, 210, 216, 0.4);
}

._aboutkaoru .mainImg {
  width: 272px;
  height: 740px;
}

._aboutkaoru .mainImg img {
  width: 100%;
  height: auto;
}

._aboutkaoru h3 {
  margin: 0 auto 0.2em;
}

._aboutkaoru .note {
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 2em;
}

._aboutkaoru .txtBlk {
  width: 100%;
  max-width: 470px;
}

/***********************************************************************
 *
 *          2nd _classandreservation
 * 
 ***********************************************************************/

._classandreservation .is-layout-flex {
	display: flex;
	align-items: stretch;
	gap: 30px;
}


._classandreservation .classBlk {
  width: 404px;
  height: auto;
    flex: 1;
	background: rgba(244, 244, 250, 1);
  border-radius: 8px;
  border: 1px solid rgba(187, 188, 222, 0.59);
  box-sizing: border-box;
  padding: 20px;
  position: relative;
  margin-bottom: 30px;
}
._classandreservation .classBlk .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    width: 100%;
}
._classandreservation .classBlk h3 {
  color: #7475b3;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.18em;
}

._classandreservation .classBlk img {
  max-width: 100%;
  margin-bottom: 20px;
}

._classandreservation .classBlk p {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8em;
	flex-grow: 1;

}

h4.pastevent {
  margin: 0.5em 0;
}

.classBlk table tr td:nth-of-type(1) {
  white-space: nowrap;
}

._classandreservation .classBlk table,
._classandreservation .classBlk table tr,
._classandreservation .classBlk table td {
  border: 1px solid #ccc;
  border-collapse: collapse;
}

._classandreservation .classBlk table {
  width: 100%;
  margin-top: 1em;
}

._classandreservation .classBlk table tr td {
  padding: 10px;
}

._classandreservation .separator {
  width: 100vw;
  height: 570px;
  background: url(../../img/separator.jpg);
  background-size: cover;
  background-position: bottom center;
  padding-top: 100px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

._classandreservation .separator h2 {
  color: #fff;
  text-align: center;
  font-size: 30px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 3px;
  margin: 0 0 100px 0;
}

.resrvBtn {
  position: fixed;
  right: 0;
  top: 50%;
  z-index: +1;
  background: rgba(171, 206, 216, 1);
  padding: 10px;
  writing-mode: vertical-rl;
}

#tribe-events-pg-template,
.tribe-events-pg-template {
  margin: 50px auto;
  max-width: 860px;
}

.tribe-events-single-event-title {
  font-size: 30px;
  text-align: center;
}

.tribe-events-schedule .tribe-events-schedule__datetime,
.tribe-events-schedule {
	text-align:center;
	}

.tribe-block__event-price {
  padding: 20px 0 10px;
  justify-content: center;
}

.tribe-block__event-price .tribe-block__event-price__cost {
  font-size: 20px;
}

.event-tickets .tribe-tickets__rsvp-wrapper {
  margin: 0 auto;
}

.event-tickets .tribe-tickets__rsvp-actions .tribe-common-c-btn,
.tribe-common .tribe-common-c-btn,
.tribe-common .tribe-common-c-btn, .tribe-common .tribe-common-c-btn:focus, .tribe-common .tribe-common-c-btn:hover, .tribe-common a.tribe-common-c-btn, .tribe-common a.tribe-common-c-btn:focus, .tribe-common a.tribe-common-c-btn:hover, .tribe-common button.tribe-common-c-btn, .tribe-common button.tribe-common-c-btn:focus, .tribe-common button.tribe-common-c-btn:hover {
  font-family: "Noto Sans JP", sans-serif;
	}

.tribe-block__venue {
  max-width: none;
  width: 100%;
}

.tribe-events .datepicker .month {
  text-align: center;
}

.jumpschedule a {
  line-height: 2em;
  display: inline-block;
  margin-top: 0.5em;
}

/***********************************************************************
 *
 *          access
 * 
 ***********************************************************************/

.gmap {
  width: 100%;
  max-width: 554px;
  height: 380px;
}

.mapinfo {
  width: 100%;
  max-width: 272px;
  padding-left: 20px;
}

/***********************************************************************
 *
 *          contact
 * 
 ***********************************************************************/

.wpcf7-text,
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7-textarea {
  width: 100%;
  border: 1px solid #c3c3c3;
  background: #f4efef;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 8px;
}

.contact label {
  color: #000;
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 28px */
}

.contact p:nth-of-type(2),
.contact p:nth-of-type(3) {
  margin-top: 50px;
}

.wpcf7-submit {
  margin-top: 10px;
  position: relative;
  font-size: 20px;
  width: 100%;
  text-align: center;
  padding: 5px;
  background: rgba(171, 206, 216, 1);
  border: none;
  border-radius: 8px;
  letter-spacing: 0.5em;
  color: #fff;
  font-weight: 700;
  border: none;
}

.wpcf7-spinner {
  visibility: hidden;
  display: block;
  background-color: #23282d;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 3px auto;
  position: relative;
}

/***********************************************************************
 *
 *           footer
 * 
 ***********************************************************************/

footer {
  background: #f4efef;
  text-align: center;
}
.footermapArea {
  display: block;
  position: relative;
  height: 350px;
}
footer .infocontainer {
  padding: 30px 0 10px 0;
  text-align: center;
}
footer .catchcopy {
  font-size: 12px;
  font-weight: 400;
  margin: auto;
  text-align: center;
}
footer .logo img {
  max-height: 30px;
}
footer .SNSbanners {
  display: flex;
  justify-content: space-between;
  width: min-content;
  margin: auto;
}
footer .SNSbanners a img.SNS_icon {
  display: block;
  height: 30px;
  margin: 30px 10px;
}
footer .copy {
  font-size: 11px;
  margin-bottom: 20px;
  margin: auto;
  text-align: center;
}

/***********************************************************************
 *
 *           TABLET 1250px
 * 
 ***********************************************************************/

@media screen and (max-width: 1250px) {
  html,
  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  address,
  ol,
  ul,
  li,
  dl,
  dt,
  dd,
  table,
  th,
  td,
  div,
  span,
  form,
  label,
  input,
  textarea,
  select,
  option,
  button,
  a,
  .tribe-common .tribe-common-h2 {
    font-size: 1.2vw;
    font-size: min(1.2vw, 14px);
    line-height: 180%;
  }

  h2 {
    font-size: 2.5vw;
    letter-spacing: 0.25vw;
    margin: 100px auto 60px;
  }

  h3 {
    font-size: 1.667vw;
    font-weight: 400;
  }

  h4,
  h5 {
    font-size: 1.5vw;
    font-weight: 600;
  }

  /***********************************************************************
 *
 *            header 1250px
 * 
 ***********************************************************************/

  /* #header */
  #header {
    width: 100%;
    height: 80px;
  }

  /***********************************************************************
 *
 *            TOP 1250px
 * 
 ***********************************************************************/

  .mainVBlkwrapper,
  .mainVBlk,
  .mainVBlk video {
    height: 100vh;
    width: 100vw;
  }

  .mainVBlkwrapper .contentsscroller {
    padding: 1.667vw 0;
    font-size: 1.667vw;
  }

  .backtoTop {
    bottom: 2.5vw;
    width: 4.167vw;
    border-radius: 0.417vw 0 0 0.417vw;
    font-size: 1.667vw;
    padding: 1.667vw 0.833vw 0.833vw 0.833vw;
  }

  .backtoTop span:before {
    width: 1.25vw;
    height: 1.25vw;
  }
}
/**** maxwidth 1250px ***/

/***********************************************************************
 *
 *           TABLET 900px
 * 
 ***********************************************************************/

@media screen and (max-width: 900px) {
  html,
  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  address,
  ol,
  ul,
  li,
  dl,
  dt,
  dd,
  table,
  th,
  td,
  div,
  span,
  form,
  label,
  input,
  textarea,
  select,
  option,
  button,
  a,
  .tribe-common .tribe-common-h2 {
    font-size: 1.6vw;
  }

  section {
    width: 90%;
    margin: auto;
  }
  section.aboutkaoru {
    width: 100%;
    margin: auto;
    padding: 5%;
  }

  h2 {
    font-size: 2.5vw;
    letter-spacing: 0.25vw;
    margin: 11.111vw auto 6.667vw;
  }

  h3 {
    font-size: 1.667vw;
  }

  h4,
  h5 {
    font-size: 2vw;
  }
  .backtoTop {
    width: 5vw;
  }

  /***********************************************************************
 *
 *           header - 900
 * 
 ***********************************************************************/

  /***********************************************************************
 *
 *           TOP - 900
 * 
 ***********************************************************************/

  .inner_half {
    width: 46%;
    max-width: none;
  }
  .toppage .why p strong {
    font-size: 2vw;
  }
  .toppage .why h3,
  .toppage .aboutkaoru h3 {
    font-size: 3.333vw;
    letter-spacing: 0.333vw;
  }
  .classBlk {
    width: 32%;
    height: 47.444vw;
    border-radius: 0.889vw;
    padding: 2.222vw;
    margin-bottom: 3.333vw;
  }

  .classBlk .more {
    bottom: 1vw;
    right: 2vw;
  }

  .toppage .why p,
  .toppage section.aboutkaoru p {
    font-size: 1.778vw;
  }

  .class .is-layout-flex > :is(*, div) {
    margin-bottom: 3.333vw;
  }

  .classBlk p {
    font-size: 1.333vw;
  }

  .sun-wrap {
    width: var(--size, 50vw) !important;
    bottom: -14.444vw;
    left: auto;
    right: 0;
  }

  .sun-face {
    width: var(--face-size, 60%);
  }

  /***********************************************************************
 *
 *          2nd _aboutkaoru
 * 
 ***********************************************************************/
  ._aboutkaoru .wrapinner {
    background: rgba(228, 210, 216, 0.4);
  }

  ._aboutkaoru .mainImg {
    width: 30.222vw;
    height: 82.222vw;
    height: 112.222vw;
    object-fit: cover;
  }

  ._aboutkaoru .mainImg img {
    width: 100%;
    height: auto;
  }

  ._aboutkaoru h3 {
    margin: 0 auto 0.2em;
  }

  ._aboutkaoru .note {
    font-size: 1.333vw;
    font-weight: 600;
    margin-bottom: 2em;
  }

  ._aboutkaoru .txtBlk {
    width: 100%;
    max-width: 52.222vw;
  }

  /***********************************************************************
 *
 *          2nd _classandreservation 900
 * 
 ***********************************************************************/

  ._classandreservation .classBlk {
    width: 44.889vw;
    width: 100%;
    height: auto;
    flex-shrink: 0;
    background: rgba(244, 244, 250, 1);
    border-radius: 0.889vw;
    border: 1px solid rgba(187, 188, 222, 0.59);
    box-sizing: border-box;
    padding: 2.222vw;
    position: relative;
    margin-bottom: 3.333vw;
  }

  ._classandreservation .classBlk h3 {
    color: #7475b3;
    text-align: center;
    font-size: 2vw;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.18em;
  }

  ._classandreservation .classBlk img {
    width: 100%;
    margin-bottom: 2.222vw;
  }

  ._classandreservation .classBlk p {
    font-size: 1.556vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8em;
  }

  .classBlk table tr td:nth-of-type(1) {
    white-space: nowrap;
  }

  ._classandreservation .classBlk table,
  ._classandreservation .classBlk table tr,
  ._classandreservation .classBlk table td {
    border: 1px solid #ccc;
    border-collapse: collapse;
  }

  ._classandreservation .classBlk table {
    width: 100%;
  }

  ._classandreservation .classBlk table tr td {
    padding: 1.111vw;
  }

  ._classandreservation .separator {
    width: 100vw;
    height: 63.333vw;
    background: url(../../img/separator.jpg);
    background-size: cover;
    background-position: bottom center;
    padding-top: 11.111vw;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }

  ._classandreservation .separator h2 {
    color: #fff;
    text-align: center;
    font-size: 3.333vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.333vw;
    margin: 0 0 11.111vw 0;
  }

  .resrvBtn {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: +1;
    background: rgba(171, 206, 216, 1);
    padding: 1.111vw;
    writing-mode: vertical-rl;
  }

  /***********************************************************************
 *
 *          contact
 * 
 ***********************************************************************/

  .wpcf7-text,
  .wpcf7 input[type="url"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7-textarea {
    width: 100%;
    border: 1px solid #c3c3c3;
    padding: 1.111vw;
    border-radius: 0.889vw;
  }

  .contact label {
  }

  .contact p:nth-of-type(2),
  .contact p:nth-of-type(3) {
    margin-top: 5.556vw;
  }

  .wpcf7-submit {
    margin-top: 1.111vw;
    font-size: 2.222vw;
    padding: 0.556vw;
    border-radius: 0.889vw;
  }

  .wpcf7-spinner {
    width: 2.667vw;
    height: 2.667vw;
    margin: 3px auto;
  }

  /***********************************************************************
 *
 *           2nd common - 900
 * 
 ***********************************************************************/
}
/***** max-width 900 ***/
