@charset "UTF-8";
.d-sp-none {
  display: none !important; }

.arrowNextLine a {
  padding-right: 2em;
  background-image: url("../images/arrowNextCircleBlackSP.svg");
  background-size: 1em; }

.wp-block-image .alignleft,
.wp-block-image .alignright {
  width: 50%; }

.wp-block-image .aligncenter {
  width: 100%; }

body {
  font-size: 14px;
  overflow-x: hidden; }

.pc {
  display: none; }

#btn-menu-container-wrapper {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 1003; }

a[href*="tel:"] {
  pointer-events: auto; }

/*WordPressNativeスマホ対応*/
img.alignleft, img.alignright {
  float: none;
  display: block;
  margin-left: auto;
  margin-right: auto; }

table.sp-block {
  display: block;
  width: 100%; }
  table.sp-block > tbody, table.sp-block > tbody, table.sp-block > tbody > tr, table.sp-block > tbody > tr > * {
    display: block;
    width: 100%; }

#page-header {
  position: fixed;
  z-index: 4;
  border-bottom: 1px solid #ddd;
  padding-bottom: 8px; }
  #page-header #nav-main {
    height: 100vh;
    align-items: center; }
    #page-header #nav-main ul {
      margin-bottom: 0; }
    #page-header #nav-main li:nth-child(n + 2) {
      border-top: 1px solid black; }
    #page-header #nav-main li a {
      padding: .8em;
      font-size: 20px;
      line-height: 1;
      text-align: center; }

#home #page-header h1::before {
  max-width: 160px;
  margin-left: auto;
  margin-right: auto; }

#sect-purposes .list-purposes li {
  font-size: 1.5em;
  text-align: center; }

.scroll {
  overflow: scroll; }
  .scroll table th,
  .scroll table td {
    width: auto;
    white-space: nowrap; }

#contact th {
  padding-bottom: 0; }
#contact td {
  padding-top: 0; }
#contact select {
  height: 3em; }

.wpcf7-list-item {
  display: inline-block;
  margin: 0 1em 0 0; }

input[type="radio"],
input[type="checkbox"] {
  width: 1.5em;
  transform: scale(1.5); }

#page-footer address {
  margin-bottom: 48px; }
  #page-footer address img {
    width: 222px; }
#page-footer #sitemap {
  margin-bottom: 48px; }
  #page-footer #sitemap li {
    padding-left: 1.7em;
    background-position: 0 .3em; }

#gotop a {
  width: 36px;
  height: 36px; }

.slide-lab-wrapper {
  overflow-x: hidden; }

#sect-purposes {
  padding-top: 144px; }

#sect-fee .btns li {
  margin-bottom: 48px; }

#page-footer .nav-sub {
  margin-bottom: 32px; }
  #page-footer .nav-sub li {
    margin-bottom: 8px;
    text-align: center; }
    #page-footer .nav-sub li a {
      font-size: 14px; }

#pageHeader {
  padding: 24px 72px 24px 16px; }

#contact th, #contact td {
  border: none; }

#booking-package_inputFormPanel .title_in_form#reservationHeader {
  font-size: 18px; }

.list-flow {
  margin-top: 64px; }
  .list-flow li {
    margin-bottom: 48px; }
    .list-flow li::before {
      left: .5em; }
