@charset "UTF-8";
/****************************************************
 * Stylesheet
 *
 * 1.リセット
 * 2.共通設定
 * 3.レイアウト設定
 * 4.テンプレートスタイル
 * 5.コンテンツスタイル
 * 6.装飾
 * 7.印刷用調整
 * 
 ****************************************************/
/****************************************************
 * 1.リセット
 ****************************************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #FFF;
  line-height: 1.5;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img, svg {
  border: 0;
}

address, caption, cite, dfn, em, strong, th {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

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

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  appearance: none;
  -webkit-appearance: none;
}

input[type="submit"], input[type="button"], input[type="reset"] {
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

article, aside, footer, header, nav, section {
  display: block;
}

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a, a:focus, a:hover {
  text-decoration: none;
  color: inherit;
  outline: none;
}

/****************************************************
 * 2.共通
 ****************************************************/
html {
  background-color: transparent;
  background-image: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 400;
  font-style: normal;
  color: #161715;
  scroll-behavior: smooth;
  scroll-padding-top: 10.4rem;
}
@media only screen and (max-width: 1099px) {
  html {
    font-size: 9px;
  }
}
@media only screen and (max-width: 780px) {
  html {
    height: 100%;
    font-size: 10px;
    scroll-padding-top: 7.2rem;
  }
}

body {
  font-size: 1.6rem;
}
@media only screen and (max-width: 780px) {
  body {
    font-size: 1.5rem;
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: #161715;
}
a[href^="tel:"] {
  cursor: default;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}

@media only screen and (max-width: 900px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (max-width: 1279px) {
  .pc2 {
    display: none !important;
  }
}

@media only screen and (max-width: 780px) {
  .pc_tb {
    display: none !important;
  }
}

@media only screen and (min-width: 901px) {
  .tb_sp {
    display: none !important;
  }
}

@media only screen and (min-width: 781px) {
  .sp {
    display: none !important;
  }
}

.inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

/*タブ切り替え　ベース*/
.tab_content .tab_body > * {
  -webkit-animation: tabDisp 1s;
  animation: tabDisp 1s;
}
.tab_content .tab_body > *:not(.current) {
  display: none;
  opacity: 0;
}

@-webkit-keyframes tabDisp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tabDisp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*アコーディオン　ベース*/
.acc .acc_head {
  position: relative;
}
.acc .acc_head i {
  width: 2rem;
  height: 1.2rem;
  margin-top: -0.6rem;
  background-image: url("../img/form_select_icon.png");
  -webkit-background-size: cover;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}
.acc .acc_body {
  display: none;
}
.acc.open .acc_head i {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.acc.open .acc_body {
  display: block;
}

/*見出し*/
.midashi01 {
  margin-bottom: 1.2em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 780px) {
  .midashi01 {
    font-size: 2.6rem;
  }
}
.midashi01 span {
  margin-bottom: 0.5em;
  font-family: "Forum", serif;
  font-size: 1.8rem;
  text-transform: uppercase;
  display: block;
}
.midashi01 span:before {
  width: 0.4rem;
  height: 1em;
  margin-right: 1em;
  content: '';
  background-color: #161715;
  display: inline-block;
  vertical-align: -0.05em;
}
.midashi01.white {
  color: #ffffff;
}
.midashi01.white span {
  color: #ffffff;
}
.midashi01.white span:before {
  background-color: #ffffff;
}

.midashi02 {
  margin-bottom: 2.2em;
  font-size: 1.8rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .midashi02 {
    margin-bottom: 1.6em;
    font-size: 1.6rem;
  }
}
.midashi02:before {
  width: 4em;
  height: 1px;
  margin: 0 auto 0.5em auto;
  content: '';
  background-color: #C6C6C6;
  display: block;
}
.midashi02 span {
  font-family: "Forum", serif;
  font-size: 3.8rem;
  text-transform: uppercase;
  display: block;
}
@media only screen and (max-width: 780px) {
  .midashi02 span {
    font-size: 2.8rem;
  }
}
@media only screen and (min-width: 781px) {
  .midashi02.left {
    text-align: left;
  }
  .midashi02.left:before {
    margin-left: 0;
  }
}
.midashi02.white {
  color: #ffffff;
}
.midashi02.white:before {
  background-color: #ffffff;
}

.midashi03 {
  margin-bottom: 1.4em;
  font-size: 2.8rem;
}
@media only screen and (max-width: 780px) {
  .midashi03 {
    margin-right: 0.8em;
    font-size: 2.4rem;
    text-align: center;
  }
}
.midashi03 span {
  margin-bottom: 0.15em;
  font-family: "Forum", serif;
  font-size: 6rem;
  line-height: 1;
  text-transform: uppercase;
  display: block;
}
@media only screen and (max-width: 1099px) {
  .midashi03 span {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 780px) {
  .midashi03 span {
    font-size: 4.5rem;
  }
}

/*ボタン*/
.btn01 {
  width: 40rem;
  padding: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #161715 !important;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
  background-position: calc(100% - 1.6rem) center;
  border: solid 1px #161715;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn01 {
    -webkit-transition: background-position 0.5s;
    transition: background-position 0.5s;
  }
}
@media only screen and (max-width: 780px) {
  .btn01 {
    width: 29.7rem;
    padding: 0.8em;
    font-size: 1.6rem;
    -webkit-background-size: 2.2rem auto;
    background-size: 2.2rem auto;
    background-position: calc(100% - 1.2rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .btn01:hover {
    background-position: calc(100% - 0.8rem) center;
  }
}
.btn02 {
  width: 40rem;
  padding: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff !important;
  background-color: #008CD8;
  background-image: url("../img/icon_arrow03.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
  background-position: calc(100% - 1.6rem) center;
  border: solid 1px #ffffff;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn02 {
    -webkit-transition: background-position 0.5s;
    transition: background-position 0.5s;
  }
}
@media only screen and (max-width: 780px) {
  .btn02 {
    width: 29.7rem;
    padding: 0.8em;
    font-size: 1.6rem;
    -webkit-background-size: 2.2rem auto;
    background-size: 2.2rem auto;
    background-position: calc(100% - 1.2rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .btn02:hover {
    background-position: calc(100% - 0.8rem) center;
  }
}
.btn03 {
  width: 40rem;
  padding: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff !important;
  background-color: #003988;
  background-image: url("../img/icon_arrow03.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
  background-position: calc(100% - 1.6rem) center;
  border: solid 1px #ffffff;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn03 {
    -webkit-transition: background-position 0.5s;
    transition: background-position 0.5s;
  }
}
@media only screen and (max-width: 780px) {
  .btn03 {
    width: 29.7rem;
    padding: 0.8em;
    font-size: 1.6rem;
    -webkit-background-size: 2.2rem auto;
    background-size: 2.2rem auto;
    background-position: calc(100% - 1.2rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .btn03:hover {
    background-position: calc(100% - 0.8rem) center;
  }
}
.btn04 {
  width: 40rem;
  padding: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff !important;
  background-color: #EB7226;
  background-image: url("../img/icon_arrow03.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
  background-position: calc(100% - 1.6rem) center;
  border: solid 1px #ffffff;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn04 {
    -webkit-transition: background-position 0.5s;
    transition: background-position 0.5s;
  }
}
@media only screen and (max-width: 780px) {
  .btn04 {
    width: 29.7rem;
    padding: 0.8em;
    font-size: 1.6rem;
    -webkit-background-size: 2.2rem auto;
    background-size: 2.2rem auto;
    background-position: calc(100% - 1.2rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .btn04:hover {
    background-position: calc(100% - 0.8rem) center;
  }
}
.btn_mail01 {
  padding: 0.7em 1.6em 0.9em 1.6em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff !important;
  background: -webkit-linear-gradient(to right, #EB7226, #DD5A21 50%, #ED9200);
  background: linear-gradient(to right, #EB7226, #DD5A21 50%, #ED9200);
  -webkit-background-size: 200%;
  background-size: 200%;
  background-position: 100% 0;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn_mail01 {
    -webkit-transition: background-position 0.3s;
    transition: background-position 0.3s;
  }
  .btn_mail01:hover {
    background-position: 0 0;
  }
}
@media only screen and (max-width: 780px) {
  .btn_mail01 {
    width: 30.2rem;
    font-size: 1.6rem;
    padding: 1.3em;
    display: block;
  }
}
.btn_mail01:before {
  width: 1.77em;
  height: 1.77em;
  margin-right: 0.55em;
  content: '';
  background-image: url("../img/icon_mail01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.4em;
}
.btn_tel01 {
  padding: 0.7em 1.6em 0.9em 1.6em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff !important;
  background-color: #003988;
  background: -webkit-linear-gradient(to right, #000000, #003988 50%, #003988);
  background: linear-gradient(to right, #000000, #003988 50%, #003988);
  -webkit-background-size: 200%;
  background-size: 200%;
  background-position: 100% 0;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn_tel01 {
    -webkit-transition: background-position 0.3s;
    transition: background-position 0.3s;
  }
  .btn_tel01:hover {
    background-position: 0 0;
  }
}
@media only screen and (max-width: 780px) {
  .btn_tel01 {
    width: 30.2rem;
    font-size: 1.6rem;
    padding: 1.3em;
    display: block;
  }
}
.btn_tel01:before {
  width: 1.77em;
  height: 1.77em;
  margin-right: 0.55em;
  content: '';
  background-image: url("../img/icon_tel01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.4em;
}
.btn_reserve01 {
  padding: 0.7em 1.6em 0.9em 1.6em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #161715 !important;
  background-color: #008CD8;
  background: -webkit-linear-gradient(to right, #C9E6F8, #ffffff 50%, #ffffff);
  background: linear-gradient(to right, #C9E6F8, #ffffff 50%, #ffffff);
  -webkit-background-size: 200%;
  background-size: 200%;
  background-position: 100% 0;
  border: solid 1px #0362B2;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn_reserve01 {
    -webkit-transition: background-position 0.3s;
    transition: background-position 0.3s;
  }
  .btn_reserve01:hover {
    background-position: 0 0;
  }
}
@media only screen and (max-width: 780px) {
  .btn_reserve01 {
    width: 30.2rem;
    font-size: 1.6rem;
    padding: 1.3em;
    display: block;
  }
}
.btn_reserve01:before {
  width: 1.77em;
  height: 1.77em;
  margin-right: 0.55em;
  content: '';
  background-image: url("../img/icon_calendar01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.4em;
}
.btn_reserve02 {
  padding: 0.7em 1.6em 0.9em 1.6em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff !important;
  background-color: #008CD8;
  background: -webkit-linear-gradient(to right, #0EA2F2, #008CD8 50%, #008CD8);
  background: linear-gradient(to right, #0EA2F2, #008CD8 50%, #008CD8);
  -webkit-background-size: 200%;
  background-size: 200%;
  background-position: 100% 0;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .btn_reserve02 {
    -webkit-transition: background-position 0.3s;
    transition: background-position 0.3s;
  }
  .btn_reserve02:hover {
    background-position: 0 0;
  }
}
@media only screen and (max-width: 780px) {
  .btn_reserve02 {
    width: 30.2rem;
    font-size: 1.6rem;
    padding: 1.3em;
    display: block;
  }
}
.btn_reserve02:before {
  width: 1.77em;
  height: 1.77em;
  margin-right: 0.55em;
  content: '';
  background-image: url("../img/icon_calendar01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.4em;
}

.fadeIn {
  visibility: hidden;
  animation: fadeIn 1s ease-out;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeInRight {
  visibility: hidden;
  animation: fadeInnRight 1s ease-out;
}

@keyframes fadeInnRight {
  0% {
    opacity: 0;
    transform: translateX(10%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  visibility: hidden;
  animation: fadeInLeft 1s ease-out;
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-10%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInBottom {
  visibility: hidden;
  animation: fadeInBottom 1s ease-out;
}

@keyframes fadeInBottom {
  0% {
    opacity: 0;
    transform: translateY(10%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*コンポーネント*/
.list01 {
  margin-bottom: 2em;
}
.list01 li {
  margin-bottom: 1em;
  padding-left: 2em;
  font-size: 1.8rem;
  font-weight: 500;
  background-image: url("../img/icon_chec01.png");
  background-repeat: no-repeat;
  -webkit-background-size: 1.5em auto;
  background-size: 1.5em auto;
  background-position: left top;
}
@media only screen and (max-width: 780px) {
  .list01 li {
    font-size: 1.6rem;
  }
}
.list01 li:last-child {
  margin-bottom: 0;
}

.list02 {
  margin-bottom: 2em;
}
.list02 li {
  margin-bottom: 0.5em;
  padding-left: 1.5em;
  font-weight: 500;
}
.list02 li:before {
  width: 0.5em;
  height: 0.5em;
  margin: 0 1em 0 -1.5em;
  content: '';
  background-color: #008CD8;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.25em;
}
@media only screen and (max-width: 780px) {
  .list02 li {
    font-size: 1.6rem;
  }
}
.list02 li:last-child {
  margin-bottom: 0;
}

.num_list01 {
  margin-bottom: 2em;
  counter-reset: num;
}
.num_list01 li {
  margin-bottom: 0.5em;
  padding-left: 2em;
  font-weight: 500;
  counter-increment: num;
}
.num_list01 li:before {
  width: 1.5em;
  margin: 0 0.5em 0 -2em;
  content: counter(num) ".";
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #008CD8;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (max-width: 780px) {
  .num_list01 li {
    font-size: 1.6rem;
  }
}
.num_list01 li:last-child {
  margin-bottom: 0;
}

.table01 {
  width: 100%;
  margin-bottom: 2em;
}
.table01 thead tr th, .table01 thead tr td {
  padding: 1em;
  text-align: center;
  font-weight: 700;
  color: #ffffff;
  background-color: #0EA2F2;
  border: solid 1px #E2E2E2;
}
.table01 tbody tr th {
  width: 30%;
  padding: 1em;
  font-weight: 700;
  background-color: #EDF9FF;
  border: solid 1px #E2E2E2;
  vertical-align: top;
}
.table01 tbody tr td {
  padding: 1em;
  border: solid 1px #E2E2E2;
  vertical-align: top;
}

.table02 {
  width: 100%;
  margin-bottom: 2em;
}
.table02 thead tr th, .table02 thead tr td {
  padding: 1em;
  text-align: center;
  font-weight: 700;
  color: #008CD8;
  border-bottom: solid 0.3rem #008CD8;
}
.table02 tbody tr th {
  width: 30%;
  padding: 1em;
  font-weight: 700;
  border-bottom: solid 0.2rem #008CD8;
  vertical-align: top;
}
.table02 tbody tr td {
  padding: 1em;
  border-bottom: solid 1px #E2E2E2;
  vertical-align: top;
}

@media only screen and (max-width: 780px) {
  .table01.responsiveTable tbody tr, .table02.responsiveTable tbody tr {
    display: block;
  }
  .table01.responsiveTable tbody tr + tr, .table02.responsiveTable tbody tr + tr {
    margin-top: 1rem;
  }
  .table01.responsiveTable tbody tr th, .table02.responsiveTable tbody tr th {
    width: auto !important;
    display: block !important;
  }
  .table01.responsiveTable tbody tr th + td, .table02.responsiveTable tbody tr th + td {
    margin-top: -1px;
  }
  .table01.responsiveTable tbody tr td, .table02.responsiveTable tbody tr td {
    padding-left: 100px;
    border-bottom: solid 1px #E2E2E2;
  }
  .table01.responsiveTable tbody tr td + td, .table02.responsiveTable tbody tr td + td {
    margin-top: -1px;
  }
  .table01.responsiveTable tbody tr td:before, .table02.responsiveTable tbody tr td:before {
    width: 100px;
    margin: -1em 1em -1em -100px;
    padding: 1em;
    content: attr(data-th) "";
    background-color: #F8F8F8;
  }
}

.column_box {
  margin-bottom: 2em;
}
@media only screen and (min-width: 781px) {
  .column_box {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .column_box.col3 .col {
    width: 32%;
    margin: 0 2% 2% 0;
  }
  .column_box.col3 .col:nth-child(3n) {
    margin-right: 0;
  }
  .column_box.col4 .col {
    width: 23.5%;
    margin: 0 2% 2% 0;
  }
  .column_box.col4 .col:nth-child(4n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .column_box .col + .col {
    margin-top: 2rem;
  }
}

/* ブロックエディタ用基本CSS */
.editor-area:after {
  content: "";
  display: block;
  clear: both;
}
.editor-area > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area p {
  margin-bottom: 2em;
}
.editor-area h3 {
  margin-bottom: 0.8em;
  padding: 0.5em 1em;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.25;
  background-color: #ffffff;
  border-left: solid 0.5rem #008CD8;
}
@media only screen and (max-width: 780px) {
  .editor-area h3 {
    font-size: 1.8rem;
  }
}
.editor-area h4 {
  margin-bottom: 0.8em;
  padding-left: 3.5rem;
  font-size: 2.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .editor-area h4 {
    font-size: 1.8rem;
  }
}
.editor-area h4:before {
  width: 2rem;
  height: 2rem;
  margin: 0 1.5rem 0 -3.5rem;
  content: '';
  background-image: url("../img/news/midashi_icon01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}
.editor-area h5 {
  margin-bottom: 0.6em;
  font-size: 1.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .editor-area h5 {
    font-size: 1.6rem;
  }
}
.editor-area ul {
  margin-bottom: 2em;
}
.editor-area ul li {
  margin-bottom: 0.5em;
  padding-left: 1.5em;
  font-weight: 500;
}
.editor-area ul li:before {
  width: 0.5em;
  height: 0.5em;
  margin: 0 1em 0 -1.5em;
  content: '';
  background-color: #008CD8;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.25em;
}
@media only screen and (max-width: 780px) {
  .editor-area ul li {
    font-size: 1.6rem;
  }
}
.editor-area ul li:last-child {
  margin-bottom: 0;
}
.editor-area ol {
  margin-bottom: 2em;
  counter-reset: num;
}
.editor-area ol li {
  margin-bottom: 0.5em;
  padding-left: 2em;
  font-weight: 500;
  counter-increment: num;
}
.editor-area ol li:before {
  width: 1.5em;
  margin: 0 0.5em 0 -2em;
  content: counter(num) ".";
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #008CD8;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (max-width: 780px) {
  .editor-area ol li {
    font-size: 1.6rem;
  }
}
.editor-area ol li:last-child {
  margin-bottom: 0;
}
.editor-area .wp-block-image {
  margin-bottom: 2em;
}
.editor-area .alignleft {
  max-width: 50%;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 2em;
}
.editor-area .alignright {
  max-width: 50%;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 2em;
}
.editor-area .aligncenter {
  margin-bottom: 2em;
}
.editor-area .aligncenter img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.editor-area .has-text-align-center {
  text-align: center;
}
.editor-area .has-text-align-right {
  text-align: right;
}
.editor-area blockquote {
  margin-bottom: 2.5em;
  margin-left: 0;
  padding: 1.2em 1.2em 1.2em 6rem;
  background-color: #F8F8F8;
  border-left: 0.25em solid #008CD8;
  position: relative;
  display: block;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote {
    padding-left: 4rem;
  }
}
.editor-area blockquote:before {
  width: 4rem;
  height: 4rem;
  content: '';
  background-color: #008CD8;
  background-image: url("../img/news/innyou.png");
  -webkit-background-size: 2.4rem auto;
  background-size: 2.4rem auto;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote:before {
    width: 3rem;
    height: 3rem;
    -webkit-background-size: 2rem;
    background-size: 2rem;
  }
}
.editor-area blockquote > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area table {
  width: 100%;
  margin-bottom: 2em;
  border-collapse: collapse;
}
.editor-area table td, .editor-area table th {
  border: 1px solid #E2E2E2;
  padding: 0.5em;
}
.editor-area table th {
  background-color: #F8F8F8;
}
.editor-area .wp-block-columns {
  display: flex;
  margin-bottom: 2em;
}
.editor-area .wp-block-column {
  flex-grow: 1;
  margin-left: 0.625em;
  margin-right: 0.625em;
}
.editor-area .wp-block-media-text {
  display: grid;
}
.editor-area a {
  color: blue;
  text-decoration: underline;
  word-break: break-all;
}
.editor-area strong, .editor-area b {
  font-weight: bold;
}
.editor-area em, .editor-area i {
  font-style: italic;
}
.editor-area .wp-block-spacer {
  clear: both;
}

/*ページネーション*/
.pagination {
  text-align: center;
  letter-spacing: -0.4em;
}
.pagination > * {
  display: inline-block;
  letter-spacing: normal;
}
.pagination > * {
  width: 4.3rem;
  height: 4.3rem;
  margin: 0 0.4rem;
  line-height: 4.3rem;
  text-align: center;
  background-color: #F8F8F8;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .pagination > * {
    width: 3.6rem;
    height: 3.6rem;
    margin: 0.4rem !important;
    line-height: 3.6rem;
  }
}
.pagination .current {
  color: #ffffff;
  background-color: #161715;
}
.pagination .dots {
  line-height: 3rem;
}
.pagination .prev, .pagination .next {
  background-image: url("../img/icon_arrow01.png");
  -webkit-background-size: 1rem auto;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  background-position: center center;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .pagination .prev, .pagination .next {
    -webkit-background-size: 0.8rem auto;
    background-size: 0.8rem auto;
  }
}
.pagination .prev {
  margin-right: 2rem;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.pagination .next {
  margin-left: 2rem;
}
.pagination a:hover {
  opacity: 0.6;
}

/*フォームベース*/
.form_area > p {
  margin-bottom: 2em;
}
@media only screen and (min-width: 781px) {
  .form_area > p {
    text-align: center;
  }
}
.form_area > p .annotation {
  font-size: 0.8em;
}
.form_area .input_field_area {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  .form_area .input_field_area {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .form_area .input_field_area.table .input_field {
    width: 100%;
    margin-bottom: 0;
    display: table;
  }
  .form_area .input_field_area.table .input_field > * {
    display: table-cell;
  }
  .form_area .input_field_area.table .input_field .input_label {
    width: 30%;
    margin-bottom: 0;
    padding: 1em;
    vertical-align: top;
  }
  .form_area .input_field_area.table .input_field .input_area {
    padding: 1em;
    vertical-align: top;
  }
}
.form_area .input_field_area .input_field {
  margin-bottom: 2em;
}
.form_area .input_field_area .input_field .input_label {
  margin-bottom: 0.75em;
  font-size: 1.125em;
  font-weight: 500;
}
.form_area .input_field_area .input_field .input_label span {
  margin-left: 1em;
  padding: 0 0.5em;
  font-size: 0.7em;
  font-weight: 400;
  color: #F55050;
  border: solid 1px #F55050;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
  display: inline-block;
  vertical-align: 0;
}
.form_area .input_field_area .input_field .input_label .annotation {
  margin-top: 1em;
  font-size: 0.77em;
  font-weight: 400;
}
.form_area .input_field_area .input_field .input_area.row {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.form_area .input_field_area .input_field .input_area.row .col {
  width: 48%;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.form_area .input_field_area .input_field .input_area.row .col .label {
  margin-right: 0.5em;
}
.form_area .input_field_area .input_field .input_area .annotation {
  margin-top: 1em;
  font-size: 0.875em;
}
.form_area .privacy {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  .form_area .privacy {
    margin-bottom: 2.5rem;
  }
}
.form_area .privacy .box {
  height: 24rem;
  margin-bottom: 3.2rem;
  padding: 1em;
  border: solid 1px #4B4B4B;
}
@media only screen and (max-width: 780px) {
  .form_area .privacy .box {
    height: 14rem;
  }
}
.form_area .privacy .box .scroll {
  width: 100%;
  height: 100%;
  padding-right: 1em;
  overflow: auto;
}
.form_area .privacy .box h3 {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .form_area .privacy .box h3 {
    font-size: 1.6rem;
  }
}
.form_area .privacy .box h4 {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.form_area .privacy .box p {
  margin-bottom: 2em;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.form_area .privacy .check {
  text-align: center;
}
.form_area .submit {
  text-align: center;
}
.form_area .submit input[type="submit"] {
  width: 40rem;
  padding: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #161715 !important;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
  background-position: calc(100% - 1.6rem) center;
  border: solid 1px #161715;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .form_area .submit input[type="submit"] {
    -webkit-transition: background-position 0.5s;
    transition: background-position 0.5s;
  }
}
@media only screen and (max-width: 780px) {
  .form_area .submit input[type="submit"] {
    width: 29.7rem;
    padding: 0.8em;
    font-size: 1.6rem;
    -webkit-background-size: 2.2rem auto;
    background-size: 2.2rem auto;
    background-position: calc(100% - 1.2rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .form_area .submit input[type="submit"]:hover {
    background-position: calc(100% - 0.8rem) center;
  }
}
.form_area .submit input[type="submit"]:disabled {
  opacity: 0.3 !important;
}
.form_area .wpcf7-text {
  width: 100%;
  padding: 0.75em;
  background-color: #F8F8F8;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
}
.form_area .wpcf7-text::placeholder {
  color: #4B4B4B;
}
.form_area .wpcf7-textarea {
  width: 100%;
  height: 16em;
  padding: 0.75em;
  background-color: #F8F8F8;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
}
@media only screen and (max-width: 780px) {
  .form_area .wpcf7-textarea {
    height: 8em;
  }
}
.form_area .wpcf7-textarea::placeholder {
  color: #4B4B4B;
}
.form_area .wpcf7-number {
  width: 100%;
  padding: 0.75em;
  background-color: #F8F8F8;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
}
.form_area .wpcf7-number::placeholder {
  color: #4B4B4B;
}
.form_area .wpcf7-date {
  padding: 0.75em;
  background-color: #F8F8F8;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
}
.form_area .wpcf7-select {
  width: 100%;
  padding: 0.75em;
  background-color: #F8F8F8;
  background-image: url("../img/form_select_icon.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  -webkit-background-size: 2rem auto;
  background-size: 2rem auto;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
}
.form_area .wpcf7-radio {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.form_area .wpcf7-radio > * {
  display: inline-block;
  letter-spacing: normal;
}
.form_area .wpcf7-radio > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.form_area .wpcf7-radio label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.form_area .wpcf7-radio label input:checked + span:after {
  content: '';
}
.form_area .wpcf7-radio label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.form_area .wpcf7-radio label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: '';
  background-color: #ffffff;
  border: solid 1px #4B4B4B;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.form_area .wpcf7-radio label input + span:after {
  width: 1.4rem;
  height: 1.4rem;
  content: none;
  background-color: #000000;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}
.form_area .wpcf7-checkbox, .form_area .wpcf7-acceptance {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.form_area .wpcf7-checkbox > *, .form_area .wpcf7-acceptance > * {
  display: inline-block;
  letter-spacing: normal;
}
.form_area .wpcf7-checkbox > *, .form_area .wpcf7-acceptance > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.form_area .wpcf7-checkbox label input, .form_area .wpcf7-acceptance label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.form_area .wpcf7-checkbox label input:checked + span:after, .form_area .wpcf7-acceptance label input:checked + span:after {
  content: '';
}
.form_area .wpcf7-checkbox label input + span, .form_area .wpcf7-acceptance label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.form_area .wpcf7-checkbox label input + span:before, .form_area .wpcf7-acceptance label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: '';
  background-color: #ffffff;
  border: solid 1px #4B4B4B;
  position: absolute;
  top: 0;
  left: 0;
}
.form_area .wpcf7-checkbox label input + span:after, .form_area .wpcf7-acceptance label input + span:after {
  width: 1.6rem;
  height: 1rem;
  content: none;
  border-left: solid 0.2rem #000000;
  border-bottom: solid 0.2rem #000000;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/****************************************************
 * 3.レイアウト設定
 ****************************************************/
.container {
  width: 100%;
  padding-top: 10.4rem;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .container {
    padding-top: 7.2rem;
  }
}

/****************************************************
 * 4.テンプレートスタイル
 ****************************************************/
/*ヘッダーブロック*/
#header {
  width: 100%;
  height: 10.4rem;
  padding: 0 2.4rem;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (max-width: 780px) {
  #header {
    height: 7.2rem;
    padding: 0 1.2rem;
  }
}
#header .logo {
  width: 36.5rem;
}
@media only screen and (max-width: 1599px) {
  #header .logo {
    width: 22.9rem;
  }
}
@media only screen and (min-width: 781px) {
  #header .header_right {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
  #header .header_right .navi ul {
    letter-spacing: -0.4em;
  }
  #header .header_right .navi ul > * {
    display: inline-block;
    letter-spacing: normal;
  }
  #header .header_right .navi ul li {
    margin: 0 2rem;
    font-weight: 500;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1599px) {
  #header .header_right .navi ul li {
    margin: 0 1rem;
  }
}
@media only screen and (min-width: 781px) {
  #header .header_right .navi ul li a:hover {
    color: #008CD8;
  }
  #header .header_right .pc_btn_area {
    margin-left: 3rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1599px) {
  #header .header_right .pc_btn_area {
    margin-left: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  #header .header_right .pc_btn_area a + a {
    margin-left: 0.88em;
  }
}
#header .header_right .burger_menu_btn {
  width: 6rem;
  height: 6rem;
  margin-left: 2rem;
  background-image: url("../img/sp_menu_open.png");
  -webkit-background-size: cover;
  background-size: cover;
}
@media only screen and (max-width: 1599px) {
  #header .header_right .burger_menu_btn {
    margin-left: 1rem;
  }
}
#header .burger_menu {
  width: 100%;
  max-width: 78rem;
  height: calc(100vh - 10.4rem);
  padding-bottom: 3rem;
  background-color: #ffffff;
  position: absolute;
  top: 100%;
  right: 0;
  overflow: auto;
  -webkit-transform: translate(100%, 0);
  transform: translate(100%, 0);
  -webkit-transition: transform 0.5s;
  transition: transform 0.5s;
}
@media only screen and (max-width: 780px) {
  #header .burger_menu {
    height: calc(100vh - 7.2rem);
  }
}
@media only screen and (min-width: 781px) {
  #header .burger_menu dl {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
#header .burger_menu dl dt {
  padding: 1em 2.6em;
  color: #003988;
  background-color: #FAFAFA;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (min-width: 781px) {
  #header .burger_menu dl dt {
    width: 100%;
  }
}
#header .burger_menu dl dt .en {
  font-family: "Forum", serif;
  font-size: 2.6rem;
}
#header .burger_menu dl dt .ja {
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 600;
}
#header .burger_menu dl dd {
  font-weight: 500;
  border-bottom: solid 1px #DDDDDD;
}
@media only screen and (min-width: 781px) {
  #header .burger_menu dl dd {
    width: 50%;
  }
  #header .burger_menu dl dd:nth-of-type(2n) {
    border-left: solid 1px #DDDDDD;
  }
}
#header .burger_menu dl dd a {
  padding: 1em 2.6em;
  display: block;
}
@media only screen and (min-width: 781px) {
  #header .burger_menu dl dd a {
    -webkit-transition: color 0.3s, background-color 0.3s;
    transition: color 0.3s, background-color 0.3s;
  }
  #header .burger_menu dl dd a:hover {
    color: #ffffff;
    background-color: #0EA2F2;
  }
}
#header .burger_menu .btn_area {
  margin-top: 4.4rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  #header .burger_menu .btn_area a {
    margin: 0 auto;
  }
}
@media only screen and (min-width: 781px) {
  #header .burger_menu .btn_area a + a {
    margin-left: 2rem;
  }
}
@media only screen and (max-width: 780px) {
  #header .burger_menu .btn_area a + a {
    margin-top: 1.2rem;
  }
}
#header .burger_menu .sns_link {
  margin-top: 2.8rem;
  text-align: center;
  letter-spacing: -0.4em;
}
#header .burger_menu .sns_link > * {
  display: inline-block;
  letter-spacing: normal;
}
#header .burger_menu .sns_link a {
  width: 4.4rem;
}
@media only screen and (min-width: 781px) {
  #header .burger_menu .sns_link a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  #header .burger_menu .sns_link a:hover {
    opacity: 0.6;
  }
}
#header .burger_menu .sns_link a + a {
  margin-left: 2rem;
}
#header.menu_open .header_right .burger_menu_btn {
  background-image: url("../img/sp_menu_close.png");
}
#header.menu_open .burger_menu {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

/*CTAブロック*/
.cta_block {
  color: #ffffff;
  background-color: #008CD8;
}
.cta_block .inner {
  max-width: 1200px;
  padding: 4rem 0 6.4rem 0;
}
.cta_block h2 {
  padding: 0.25em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background-color: #EB7226;
}
@media only screen and (max-width: 780px) {
  .cta_block h2 {
    padding: 0.6em;
    font-size: 2rem;
    line-height: 1.2;
  }
}
.cta_block p {
  margin-bottom: 1.8em;
  font-size: 1.8rem;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .cta_block p {
    margin-bottom: 2.2em;
    font-size: 1.5rem;
    text-align: left;
  }
}
@media only screen and (min-width: 781px) {
  .cta_block .bnr {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.cta_block .bnr li {
  background-color: #EDF9FF;
  background-repeat: no-repeat;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
}
@media only screen and (min-width: 781px) {
  .cta_block .bnr li {
    width: 49%;
  }
}
@media only screen and (min-width: 1100px) {
  .cta_block .bnr li {
    height: 13rem;
    -webkit-background-size: 26.2rem auto;
    background-size: 26.2rem auto;
  }
}
@media only screen and (max-width: 1099px) {
  .cta_block .bnr li {
    height: 9.1rem;
    -webkit-background-size: 12.5rem auto;
    background-size: 12.5rem auto;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block .bnr li + li {
    margin-top: 1.2rem;
  }
}
@media only screen and (min-width: 1100px) {
  .cta_block .bnr li:nth-child(1) {
    background-image: url("../img/cta_bnr_img01.png");
  }
}
@media only screen and (max-width: 1099px) {
  .cta_block .bnr li:nth-child(1) {
    background-image: url("../img/cta_bnr_img01_sp.png");
  }
}
@media only screen and (min-width: 1100px) {
  .cta_block .bnr li:nth-child(2) {
    background-image: url("../img/cta_bnr_img02.png");
  }
}
@media only screen and (max-width: 1099px) {
  .cta_block .bnr li:nth-child(2) {
    background-image: url("../img/cta_bnr_img02_sp.png");
  }
}
.cta_block .bnr li a {
  width: 100%;
  height: 100%;
  color: #161715;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (min-width: 781px) {
  .cta_block .bnr li a:hover .text {
    background-position: calc(100% - 3rem) center;
  }
}
.cta_block .bnr li a .text {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
}
@media only screen and (min-width: 1100px) {
  .cta_block .bnr li a .text {
    width: calc(100% - 26.2rem);
    padding-right: 8rem;
    font-size: 2rem;
    -webkit-background-size: 3rem auto;
    background-size: 3rem auto;
    background-position: calc(100% - 4rem) center;
    -webkit-transition: background-position 0.5s;
    transition: background-position 0.5s;
  }
}
@media only screen and (max-width: 1099px) {
  .cta_block .bnr li a .text {
    width: calc(100% - 12.5rem);
    padding-right: 5rem;
    font-size: 1.6rem;
    text-align: center;
    -webkit-background-size: 2.2rem auto;
    background-size: 2.2rem auto;
    background-position: calc(100% - 2.4rem) center;
  }
}

@media only screen and (max-width: 780px) {
  .sp_fix_contact {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
    display: -webkit-flex;
    display: flex;
  }
  .sp_fix_contact .btn_tel01, .sp_fix_contact .btn_reserve02, .sp_fix_contact .btn_mail01 {
    width: 33.333%;
    height: 7.2rem;
    padding: 0.6em 0;
    font-size: 1.5rem;
  }
  .sp_fix_contact .btn_tel01:before, .sp_fix_contact .btn_reserve02:before, .sp_fix_contact .btn_mail01:before {
    margin: 0 auto 0.5rem auto;
    display: block;
  }
}

/*フッターブロック*/
#footer {
  color: #ffffff;
  background-color: #2D2D2D;
}
@media only screen and (max-width: 900px) {
  #footer {
    padding-bottom: 10rem;
  }
}
#footer .pagetop {
  width: 4rem;
  position: fixed;
  bottom: 0;
  right: 2rem;
  z-index: 90;
  display: none;
}
@media only screen and (max-width: 900px) {
  #footer .pagetop {
    width: 3.6rem;
    bottom: 2rem;
    right: 1.6rem;
  }
}
@media only screen and (max-width: 900px) and (max-width: 780px) {
  #footer .pagetop {
    bottom: 8.8rem;
  }
}

@media only screen and (min-width: 901px) {
  #footer .inner {
    max-width: 1200px;
    padding: 5.6rem 0 4.5rem 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_link {
    margin-bottom: 2.8rem;
  }
}
#footer .footer_link ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
}
@media only screen and (max-width: 900px) {
  #footer .footer_link ul {
    width: 111%;
    margin: 0 -5.5%;
  }
}
#footer .footer_link ul > li {
  font-size: 1.5rem;
  font-weight: 500;
}
@media only screen and (min-width: 901px) {
  #footer .footer_link ul > li {
    padding: 0 1em 1.6em 2em;
    border-left: solid 1px #4B4B4B;
  }
  #footer .footer_link ul > li:nth-child(1) {
    grid-area: 1 /1;
  }
  #footer .footer_link ul > li:nth-child(2) {
    grid-area: 2 /1;
  }
  #footer .footer_link ul > li:nth-child(3) {
    grid-area: 3 /1;
  }
  #footer .footer_link ul > li:nth-child(4) {
    grid-area: 4 /1;
  }
  #footer .footer_link ul > li:nth-child(5) {
    grid-area: 5 /1;
  }
  #footer .footer_link ul > li:nth-child(6) {
    padding-bottom: 0;
    grid-area: 6 /1;
  }
  #footer .footer_link ul > li:nth-child(7) {
    grid-area: 1 /2;
  }
  #footer .footer_link ul > li:nth-child(8) {
    grid-area: 2 /2;
  }
  #footer .footer_link ul > li:nth-child(9) {
    grid-area: 3 /2;
  }
  #footer .footer_link ul > li:nth-child(10) {
    grid-area: 4 /2;
  }
  #footer .footer_link ul > li:nth-child(11) {
    grid-area: 5 /2;
  }
  #footer .footer_link ul > li:nth-child(12) {
    padding-bottom: 0;
    grid-area: 6 /2;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_link ul > li {
    text-align: center;
    border-bottom: solid 1px #4B4B4B;
  }
  #footer .footer_link ul > li:nth-child(2n) {
    border-left: solid 1px #4B4B4B;
  }
}
#footer .footer_link ul > li a {
  color: #ffffff;
}
@media only screen and (max-width: 900px) {
  #footer .footer_link ul > li a {
    padding: 1em 0;
    display: block;
  }
}
@media only screen and (min-width: 781px) {
  #footer .footer_link ul > li a:hover {
    color: #008CD8;
  }
}
#footer .footer_link .sns_link {
  margin-top: 6.4rem;
  text-align: right;
  letter-spacing: -0.4em;
}
#footer .footer_link .sns_link > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 900px) {
  #footer .footer_link .sns_link {
    margin-top: 2.8rem;
    text-align: center;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_link .sns_link a {
    width: 3.2rem;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  #footer .footer_link .sns_link a:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_link .sns_link a {
    width: 4.4rem;
  }
}
#footer .footer_link .sns_link a + a {
  margin-left: 1.6rem;
}
@media only screen and (max-width: 900px) {
  #footer .footer_link .sns_link a + a {
    margin-left: 2rem;
  }
}
@media only screen and (min-width: 901px) {
  #footer .footer_content {
    width: 44rem;
  }
}
#footer .footer_content .logo {
  width: 36.5rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .logo {
    width: 23.5rem;
    margin: 0 auto 1em auto;
  }
}
#footer .footer_content address {
  margin-bottom: 2.4rem;
  font-family: "Noto Serif JP", serif;
  font-size: 1.3rem;
  font-weight: 500;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content address {
    margin-bottom: 2em;
    font-size: 1.6rem;
    text-align: center;
  }
}
#footer .footer_content .contact {
  margin-bottom: 1em;
  overflow: hidden;
}
@media only screen and (min-width: 901px) {
  #footer .footer_content .contact {
    max-width: 41.5rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .contact {
    margin-bottom: 3.6rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .contact dt {
    text-align: center;
  }
}
#footer .footer_content .contact dt span {
  padding: 0 1em 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 500;
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .contact dt span {
    padding: 0 2em;
    font-size: 1.3rem;
  }
}
#footer .footer_content .contact dt span:before, #footer .footer_content .contact dt span:after {
  width: 9999px;
  height: 1px;
  background-color: #4B4B4B;
  position: absolute;
  top: 50%;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .contact dt span:before {
    content: '';
    right: 100%;
  }
}
#footer .footer_content .contact dt span:after {
  content: '';
  left: 100%;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .contact .tel {
    text-align: center;
  }
}
#footer .footer_content .contact .tel a {
  color: #ffffff;
}
@media only screen and (min-width: 901px) {
  #footer .footer_content .contact .tel a {
    margin-right: 0.75em;
    display: inline-block;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .contact .tel a {
    display: block;
  }
}
#footer .footer_content .contact .tel a span {
  margin-right: 0.75em;
  padding: 0.2em 0.5em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 500;
  border: solid 1px #ffffff;
  display: inline-block;
  vertical-align: 0.5em;
}
#footer .footer_content .contact .tel a em {
  font-family: "Forum", serif;
  font-size: 3rem;
  font-style: normal;
}
#footer .footer_content .contact .tel > span {
  font-size: 1.2rem;
  display: inline-block;
  vertical-align: 0.4em;
}
#footer .footer_content .contact .fax {
  font-family: "Forum", serif;
  font-size: 1.8rem;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .contact .fax {
    text-align: center;
  }
}
#footer .footer_content .contact .fax span {
  font-size: 1.22em;
}
#footer .footer_content .btn {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .btn {
    margin-bottom: 2.4rem;
  }
}
#footer .footer_content .btn .btn_reserve01 {
  padding: 0.6em 1.6em;
}
@media only screen and (min-width: 901px) {
  #footer .footer_content .btn .btn_reserve01 {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .btn .btn_reserve01 {
    margin: 0 auto;
    font-size: 1.6rem;
  }
}
#footer .footer_content .summary {
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  line-height: 1.66;
}
@media only screen and (min-width: 901px) {
  #footer .footer_content .summary {
    max-width: 41.2rem;
    margin-bottom: 2.66em;
  }
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .summary {
    margin-bottom: 1.6em;
  }
}
#footer .footer_content .copyright {
  font-size: 1.2rem;
  color: #4B4B4B;
}
@media only screen and (max-width: 900px) {
  #footer .footer_content .copyright {
    font-size: 1rem;
    text-align: center;
  }
}

/****************************************************
 * 5.コンテンツスタイル
 ****************************************************/
/*TOPページ*/
.p-top__mv {
  margin-bottom: 3.2rem;
}
.p-top__mv .slider-pro .sp-mask {
  height: calc(100vh - 10.4rem) !important;
  min-height: 400px !important;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .slider-pro .sp-mask {
    height: calc(100vh - 14.4rem) !important;
  }
}
.p-top__mv .slider-pro .sp-slides {
  height: 100% !important;
}
.p-top__mv .slider-pro .sp-slides .sp-slide {
  height: 100% !important;
  overflow: hidden;
}
.p-top__mv .slider-pro .sp-slides .sp-slide > img, .p-top__mv .slider-pro .sp-slides .sp-slide > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top__mv .slider-pro .sp-buttons {
  position: absolute;
}
@media only screen and (min-width: 781px) {
  .p-top__mv .slider-pro .sp-buttons {
    width: auto;
    bottom: 3.2rem;
    right: 3.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv .slider-pro .sp-buttons {
    left: 0;
    bottom: 1.2rem;
  }
}
.p-top__mv .slider-pro .sp-buttons .sp-button {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0.8rem;
  background-color: #ffffff;
  border: none;
  vertical-align: middle;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .slider-pro .sp-buttons .sp-button {
    width: 0.4rem;
    height: 0.4rem;
    margin: 0 0.4rem;
  }
}
.p-top__mv .slider-pro .sp-buttons .sp-button.sp-selected-button {
  width: 1.6rem;
  height: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .p-top__mv .slider-pro .sp-buttons .sp-button.sp-selected-button {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.p-top__states {
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__states {
    margin-bottom: 3.2rem;
  }
}
.p-top__states .inner {
  max-width: 1000px;
}
.p-top__states h2 {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
  text-align: center;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .p-top__states h2 {
    width: 111%;
    margin: 0 -5.5% 0.5em -5.5%;
  }
}
.p-top__states h2 > span {
  padding: 0 4rem;
  display: inline-block;
  letter-spacing: -0.4em;
  position: relative;
}
.p-top__states h2 > span > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-top__states h2 > span {
    padding: 0 2rem;
  }
}
.p-top__states h2 > span:before, .p-top__states h2 > span:after {
  width: 9999px;
  height: 1px;
  content: '';
  background-color: #CCCCCC;
  position: absolute;
  top: 50%;
}
.p-top__states h2 > span:before {
  right: 100%;
}
.p-top__states h2 > span:after {
  left: 100%;
}
.p-top__states h2 > span .ja01 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 700;
  vertical-align: 0;
}
.p-top__states h2 > span .ja02 {
  font-weight: 500;
  vertical-align: 0;
}
@media only screen and (max-width: 780px) {
  .p-top__states h2 > span .ja02 {
    display: block;
  }
}
.p-top__states h2 > span .num {
  margin: 0 0.8rem;
  font-family: "Noto Serif JP", serif;
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 1;
  color: #008CD8;
  vertical-align: -0.3em;
}
.p-top__states h2 > span .num span {
  font-size: 1.48em;
}
.p-top__states .annotation {
  margin-bottom: 1.5em;
  font-size: 0.875em;
  text-align: center;
}
.p-top__states dl dt {
  padding: 0.35em;
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background-color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-top__states dl dt {
    font-size: 2rem;
  }
}
.p-top__states dl dd {
  padding: 1em;
  text-align: center;
  background-color: #F8F8F8;
}
.p-top__states dl dd .states {
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 600;
}
@media only screen and (max-width: 780px) {
  .p-top__states dl dd .states {
    font-size: 2.5rem;
  }
}
.p-top__states dl dd .states.holiday {
  color: #F55050;
}
.p-top__states dl dd .note {
  margin-top: 0.33em;
  font-size: 1.5rem;
}
.p-top__about {
  margin-bottom: 10rem;
  color: #ffffff;
  background-color: #008CD8;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-top__about {
    margin-bottom: 4.8rem;
  }
}
.p-top__about .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-top__about .img {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    overflow: hidden;
  }
  .p-top__about .img > img, .p-top__about .img > video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__about .text {
    width: 50%;
    padding: 8rem 8rem 8rem 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__about .text {
    padding: 4.8rem 0;
  }
}
.p-top__about .text .midashi01 {
  margin-bottom: 0.55em;
  font-size: 4.4rem;
}
@media only screen and (max-width: 780px) {
  .p-top__about .text .midashi01 {
    margin-bottom: 0.8em;
    font-size: 3rem;
  }
}
.p-top__about .text .midashi01 span {
  margin-bottom: 0.7em;
  font-size: 2.2rem;
}
.p-top__about .text .midashi01 span:before {
  vertical-align: -0.15em;
}
.p-top__about .text p {
  font-size: 1.8rem;
  line-height: 1.83;
}
@media only screen and (max-width: 780px) {
  .p-top__about .text p {
    font-size: 1.5rem;
  }
}
.p-top__link {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__link {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__link .inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.p-top__link .link {
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 901px) {
  .p-top__link .link {
    width: 33.33333%;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__link .link:nth-child(1) {
    width: 100%;
    background-image: url("../img/top/link_bg01.jpg");
  }
  .p-top__link .link:nth-child(1) a .text {
    width: 50%;
    margin: 0 0 0 auto;
    padding: 4rem 8rem 4rem 4rem;
    text-align: left;
  }
  .p-top__link .link:nth-child(1) a .text p .ja {
    font-size: 4rem;
  }
  .p-top__link .link:nth-child(1) a .text p .en {
    margin-top: 0.25em;
    margin-bottom: 0.9em;
  }
  .p-top__link .link:nth-child(1) a .text .more {
    text-align: right;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__link .link:nth-child(1) {
    background-image: url("../img/top/link_bg01_sp.jpg");
  }
  .p-top__link .link:nth-child(1) a {
    padding: 2.7rem 2.4rem;
  }
  .p-top__link .link:nth-child(1) a .text p .ja02 {
    margin-bottom: 1.2rem;
    margin-left: -2.7rem;
  }
  .p-top__link .link:nth-child(1) a .text p .ja {
    font-size: 2.3rem;
  }
  .p-top__link .link:nth-child(1) a .text p .en {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__link .link:nth-child(2) {
    background-image: url("../img/top/link_bg02.jpg");
  }
}
@media only screen and (max-width: 900px) {
  .p-top__link .link:nth-child(2) {
    background-image: url("../img/top/link_bg02_sp.jpg");
  }
}
@media only screen and (min-width: 901px) {
  .p-top__link .link:nth-child(3) {
    background-image: url("../img/top/link_bg03.jpg");
  }
}
@media only screen and (max-width: 900px) {
  .p-top__link .link:nth-child(3) {
    background-image: url("../img/top/link_bg03_sp.jpg");
  }
}
@media only screen and (min-width: 901px) {
  .p-top__link .link:nth-child(4) {
    background-image: url("../img/top/link_bg04.jpg");
  }
  .p-top__link .link:nth-child(4) a .text {
    padding-top: 2.5rem;
  }
  .p-top__link .link:nth-child(4) a .text p .en {
    margin-top: 0.5em;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__link .link:nth-child(4) {
    background-image: url("../img/top/link_bg04_sp.jpg");
  }
}
.p-top__link .link a {
  padding: 4rem;
  display: block;
}
@media only screen and (max-width: 900px) {
  .p-top__link .link a {
    padding: 2rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__link .link a:hover .text {
    background-color: #EDF9FF;
  }
}
.p-top__link .link .text {
  background-color: rgba(220, 238, 250, 0.95);
  overflow: hidden;
}
@media only screen and (min-width: 901px) {
  .p-top__link .link .text {
    height: 24rem;
    padding: 4rem 1rem;
    text-align: center;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__link .link .text {
    padding: 2.4rem 3rem 2.4rem 2.4rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
  }
}
.p-top__link .link .text p .ja {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
  display: block;
}
@media only screen and (max-width: 900px) {
  .p-top__link .link .text p .ja {
    font-size: 1.8rem;
  }
}
.p-top__link .link .text p .ja02 {
  padding: 0.2em 0.5em;
  font-size: 1.8rem;
  font-weight: 500;
  color: #ffffff;
  background: -webkit-linear-gradient(to right, #DD5A21, #ED9200);
  background: linear-gradient(to right, #DD5A21, #ED9200);
  display: inline-block;
}
@media only screen and (max-width: 900px) {
  .p-top__link .link .text p .ja02 {
    font-size: 1.7rem;
  }
}
.p-top__link .link .text p .en {
  margin-top: 1.5em;
  margin-bottom: 1.15em;
  font-family: "Forum", serif;
  font-size: 2.2rem;
  color: #008CD8;
  display: block;
}
@media only screen and (max-width: 900px) {
  .p-top__link .link .text p .en {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.5rem;
  }
}
.p-top__link .link .text .more {
  font-family: "Forum", serif;
  font-size: 2.2rem;
  text-align: center;
}
@media only screen and (max-width: 900px) {
  .p-top__link .link .text .more {
    font-size: 1.4rem;
  }
}
.p-top__link .link .text .more span {
  position: relative;
  padding: 0 1em;
}
.p-top__link .link .text .more span:after {
  width: 999px;
  height: 1px;
  content: '';
  background-color: #161715;
  position: absolute;
  top: 50%;
  left: 100%;
}
.p-top__course {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-top__course {
    margin-bottom: 6rem;
  }
}
.p-top__course .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-top__course ul {
    margin-bottom: 4rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__course ul {
    margin-bottom: 3.6rem;
  }
}
.p-top__course ul li {
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-top__course ul li {
    width: 32%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__course ul li + li {
    margin-top: 1.6rem;
  }
}
.p-top__course ul li .img {
  height: 32.8rem;
  overflow: hidden;
}
.p-top__course ul li .img > img, .p-top__course ul li .img > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-top__course ul li .img {
    height: 25.8rem;
  }
}
.p-top__course ul li .text {
  width: 100%;
  padding: 2rem 1rem;
  color: #ffffff;
  background-color: #000000;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .p-top__course ul li .text {
    padding: 1.6rem 1rem;
  }
}
.p-top__course ul li .text p {
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
}
@media only screen and (max-width: 1099px) {
  .p-top__course ul li .text p {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__course ul li .text p {
    font-size: 1.6rem;
  }
}
.p-top__course .btn {
  text-align: center;
}
.p-top__facilities {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-top__facilities {
    margin-bottom: 8.8rem;
    padding-top: 7.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__facilities {
    margin-bottom: 5.5rem;
    padding-top: 4.4rem;
  }
}
.p-top__facilities:before {
  width: 100%;
  content: '';
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-top__facilities:before {
    height: 71%;
    background-image: url("../img/top/facilities_bg.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-top__facilities:before {
    height: 89%;
    background-image: url("../img/top/facilities_bg_sp.jpg");
  }
}
.p-top__facilities .inner {
  max-width: 1200px;
}
.p-top__facilities h3 {
  margin-bottom: 0.75em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__facilities h3 {
    font-size: 2.5rem;
  }
}
.p-top__facilities h3 + p {
  margin-bottom: 2.2em;
  font-size: 1.8rem;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__facilities h3 + p {
    font-size: 1.5rem;
    text-align: left;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__facilities ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.p-top__facilities ul li {
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
}
@media only screen and (min-width: 781px) {
  .p-top__facilities ul li {
    width: 49%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__facilities ul li + li {
    margin-top: 1.6rem;
  }
}
.p-top__facilities ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-top__facilities ul li a {
    padding: 2.4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__facilities ul li a {
    padding: 1.2rem;
  }
}
.p-top__facilities ul li a .img {
  width: 100%;
  height: auto;
  aspect-ratio: 540/300;
  overflow: hidden;
}
.p-top__facilities ul li a .img > img, .p-top__facilities ul li a .img > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-top__facilities ul li a .img {
    aspect-ratio: 636/350;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__facilities ul li a .img img {
    -webkit-transition: transform 0.5s;
    transition: transform 0.5s;
  }
}
.p-top__facilities ul li a .text {
  margin-top: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  background-position: right center;
}
@media only screen and (max-width: 780px) {
  .p-top__facilities ul li a .text {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__facilities ul li a:hover .img img {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
}
.p-top__competition {
  margin-bottom: 10rem;
  padding: 7.5rem 0;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-top__competition {
    margin-bottom: 4rem;
    padding-top: 0;
    padding-bottom: 4rem;
  }
}
.p-top__competition:after {
  content: '';
  background-color: #F8F8F8;
  position: absolute;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-top__competition:after {
    width: 67%;
    height: 100%;
    top: 0;
    right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__competition:after {
    width: 100%;
    height: 76.7%;
    bottom: 0;
    left: 0;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__competition .inner {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__competition .img {
    width: 89%;
    height: 100%;
    margin-left: -43.5%;
    overflow: hidden;
  }
  .p-top__competition .img > img, .p-top__competition .img > video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__competition .img {
    width: 103%;
    margin: 0 auto 1.8rem -5.5%;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__competition .text {
    width: 50%;
    max-width: 47rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__competition .text .btn {
    text-align: center;
  }
}
.p-top__news {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 780px) {
  .p-top__news {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__news .inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__news .tt1 {
    width: 15rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__news .list {
    width: calc(100% - 15rem);
    max-width: 86rem;
  }
}
.p-top__news .list .news_list li {
  padding: 3.5rem 0;
  border-bottom: solid 1px #E2E2E2;
}
@media only screen and (max-width: 780px) {
  .p-top__news .list .news_list li {
    padding: 2rem 0;
  }
}
.p-top__news .list .news_list li:first-child {
  padding-top: 0 !important;
}
.p-top__news .list .news_list li a {
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
}
@media only screen and (min-width: 781px) {
  .p-top__news .list .news_list li a {
    padding-right: 13rem;
    display: -webkit-flex;
    display: flex;
    background-position: calc(100% - 4rem) center;
    -webkit-transition: background-position 0.3s;
    transition: background-position 0.3s;
  }
  .p-top__news .list .news_list li a:hover {
    background-position: calc(100% - 2rem) center;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news .list .news_list li a {
    display: block;
    background-position: right 1.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__news .list .news_list li a .meta {
    width: 15rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news .list .news_list li a .meta {
    margin-bottom: 1.2rem;
  }
}
.p-top__news .list .news_list li a .meta .date {
  font-family: "Forum", serif;
  font-size: 2rem;
}
.p-top__news .list .news_list li a .meta .cate {
  letter-spacing: -0.4em;
}
.p-top__news .list .news_list li a .meta .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-top__news .list .news_list li a .meta .cate span {
  margin-right: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-top__news .list .news_list li a .meta .cate span {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__news .list .news_list li a p {
    width: calc(100% - 15rem);
    padding-top: 0.25em;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__news .list .news_list li a p {
    font-size: 1.4rem;
  }
}
.p-top__news .btn {
  width: 100%;
  margin-top: 4rem;
  text-align: center;
}

/*下層ページ*/
.pagetitle {
  margin-bottom: 3rem;
  background-image: url("../img/pagetitle_bg.jpg");
  background-position: center center;
  -webkit-background-size: cover;
  background-size: cover;
  position: relative;
}
.pagetitle:after {
  font-family: "Forum", serif;
  font-size: 6rem;
  font-style: italic;
  content: 'Japan Central Golf Club';
  text-transform: uppercase;
  color: #ffffff;
  position: absolute;
  bottom: 1rem;
  right: 2rem;
  opacity: 0.1;
}
@media only screen and (max-width: 1099px) {
  .pagetitle:after {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .pagetitle:after {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 780px) {
  .pagetitle {
    margin-bottom: 1.5rem;
  }
}
.pagetitle .inner {
  max-width: 1200px;
}
.pagetitle h1 {
  padding: 2em 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .pagetitle h1 {
    font-size: 2.4rem;
  }
}
.pagetitle h1 span {
  margin-bottom: 0.5em;
  font-family: "Forum", serif;
  font-size: 0.6em;
  text-transform: uppercase;
  display: block;
}
.pagetitle h1 span:after {
  width: 5rem;
  height: 1px;
  margin-top: 0.8em;
  content: '';
  background-color: #ffffff;
  display: block;
}

.pankuzu {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 780px) {
  .pankuzu {
    margin-bottom: 3rem;
  }
}
.pankuzu .inner {
  max-width: 1200px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.4em;
}
.pankuzu .inner > * {
  display: inline-block;
  letter-spacing: normal;
}
.pankuzu a:after {
  width: 0.6rem;
  height: 0.6rem;
  margin: 0 1em;
  content: '';
  background-image: url("../img/icon_sankaku01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}
.pankuzu span {
  color: #4B4B4B;
}

.p-about__beginning {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-about__beginning {
    margin-bottom: 6rem;
  }
}
.p-about__beginning h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-about__beginning h2 {
    font-size: 2.4rem;
  }
}
.p-about__beginning p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-about__beginning p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-about__access {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-about__access {
    margin-bottom: 6rem;
  }
}
.p-about__access address {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}
.p-about__access .tel {
  margin-bottom: 2em;
  text-align: center;
}
@media only screen and (max-width: 900px) {
  .p-about__access .tel {
    text-align: center;
  }
}
@media only screen and (min-width: 901px) {
  .p-about__access .tel a {
    margin-right: 0.5em;
    display: inline-block;
  }
}
@media only screen and (max-width: 900px) {
  .p-about__access .tel a {
    display: block;
  }
}
.p-about__access .tel a span {
  margin-right: 0.6em;
  padding: 0.2em 0.5em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 500;
  border: solid 1px #4B4B4B;
  display: inline-block;
  vertical-align: 0.5em;
}
.p-about__access .tel a em {
  font-family: "Forum", serif;
  font-size: 3rem;
  font-style: normal;
}
.p-about__access .tel a.tel02 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 500;
  display: block;
}
.p-about__access .tel a.tel02 span {
  vertical-align: 0.3em;
}
.p-about__access .tel > span {
  font-size: 1.2rem;
  display: inline-block;
  vertical-align: 0.5em;
}
.p-about__access .map {
  margin-bottom: 2em;
}
@media only screen and (min-width: 781px) {
  .p-about__access .map {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-about__access .map .google_map {
    width: 60%;
  }
}
@media only screen and (max-width: 780px) {
  .p-about__access .map .google_map {
    width: 100%;
    height: 30rem;
  }
}
.p-about__access .map .google_map iframe {
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 781px) {
  .p-about__access .map .railway_map {
    width: 38%;
  }
}
@media only screen and (max-width: 780px) {
  .p-about__access .map .railway_map {
    margin-top: 2rem;
  }
}
.p-about__access dl + dl {
  margin-top: 2em;
}
.p-about__access dl dt {
  padding: 0.8em;
  font-size: 1.8rem;
  font-weight: 500;
  color: #ffffff;
  background-color: #008CD8;
}
.p-about__access dl dt p {
  margin-left: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 0.875em;
  font-weight: 600;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .p-about__access dl dt p {
    margin: 0;
    display: block;
  }
}
.p-about__access dl dd {
  width: 100%;
  display: table;
}
.p-about__access dl dd > * {
  display: table-cell;
}
@media only screen and (max-width: 780px) {
  .p-about__access dl dd {
    font-size: 1.4rem;
  }
}
.p-about__access dl dd .from {
  padding: 1em;
  border-bottom: solid 1px #E2E2E2;
}
.p-about__access dl dd .time {
  padding: 1em;
  text-align: right;
  border-bottom: solid 1px #E2E2E2;
}
.p-about__access dl.car dd .from {
  width: 20%;
}
@media only screen and (max-width: 780px) {
  .p-about__access dl.car dd .from {
    width: 25%;
  }
}
.p-about__access dl.car dd .text {
  width: 60%;
  padding: 1em 0;
  border-bottom: solid 1px #E2E2E2;
}
@media only screen and (max-width: 780px) {
  .p-about__access dl.car dd .text {
    width: 50%;
  }
}
.p-about__access dl.car dd .time {
  width: 20%;
}
@media only screen and (max-width: 780px) {
  .p-about__access dl.car dd .time {
    width: 25%;
  }
}
.p-about__overview {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-about__overview {
    margin-bottom: 6rem;
  }
}
.p-about__overview .table02 {
  max-width: 960px;
  margin: 0 auto;
}
.p-about__overview .table02 a {
  text-decoration: underline;
}

.p-price__beginning {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-price__beginning {
    margin-bottom: 6rem;
  }
}
.p-price__beginning h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-price__beginning h2 {
    font-size: 2.4rem;
  }
}
.p-price__beginning p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-price__beginning p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-price__price_table {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-price__price_table {
    margin-bottom: 6rem;
  }
}
.p-price__price_table section + section {
  margin-top: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-price__price_table section + section {
    margin-top: 4rem;
  }
}
.p-price__price_table .table01 {
  table-layout: fixed;
}
.p-price__price_table .table01 caption {
  margin-bottom: 0.5em;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-price__price_table .table01 caption {
    font-size: 1.8rem;
  }
}
.p-price__price_table .table01 thead tr th:first-child {
  width: 25%;
}
.p-price__price_table .table01 tbody tr th {
  width: 25%;
  vertical-align: middle;
}
.p-price__price_table .table01 tbody tr td {
  text-align: center;
  vertical-align: middle;
}
@media only screen and (max-width: 780px) {
  .p-price__price_table .table01 tbody tr td {
    text-align: left;
  }
}
.p-price__price_table .annotation {
  font-size: 1.4rem;
}
.p-price__price_table .stabdard_plan .midashi01 + p {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 600;
  color: #EB7226;
}
@media only screen and (max-width: 780px) {
  .p-price__price_table .stabdard_plan .midashi01 + p {
    font-size: 2rem;
  }
}
.p-price__price_table .special_plan h3 {
  margin-bottom: 0.5em;
  padding: 0.5em 0.8em;
  font-size: 2.4rem;
  font-weight: 700;
  background-color: #DCEEFA;
}
@media only screen and (max-width: 780px) {
  .p-price__price_table .special_plan h3 {
    font-size: 2rem;
  }
}
.p-price__price_table .special_plan h3 span {
  margin-left: 0.5em;
  font-size: 0.8em;
  font-weight: 500;
  display: inline-block;
  vertical-align: 0.1em;
}
.p-price__price_table .special_plan * + h3 {
  margin-top: 1.5em;
}

.p-course__beginning {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-course__beginning {
    margin-bottom: 6rem;
  }
}
.p-course__beginning .inner {
  max-width: 1200px;
}
.p-course__beginning .content {
  margin-bottom: 2em;
}
@media only screen and (min-width: 781px) {
  .p-course__beginning .content {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-course__beginning .content .text {
    width: 45%;
    padding-right: 3rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-course__beginning .content .text {
    margin-bottom: 2rem;
  }
}
.p-course__beginning .content .text h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.25;
}
@media only screen and (max-width: 780px) {
  .p-course__beginning .content .text h2 {
    font-size: 2.6rem;
  }
}
.p-course__beginning .content .text p {
  font-size: 1.8rem;
  line-height: 1.83;
}
@media only screen and (max-width: 780px) {
  .p-course__beginning .content .text p {
    font-size: 1.5rem;
  }
}
.p-course__beginning .content .img {
  background-color: #d9fbd8;
}
@media only screen and (min-width: 781px) {
  .p-course__beginning .content .img {
    width: 55%;
    padding: 5rem 0 5rem 1rem;
    position: relative;
  }
  .p-course__beginning .content .img:after {
    width: 9999px;
    height: 100%;
    content: '';
    background-color: #d9fbd8;
    position: absolute;
    top: 0;
    left: 100%;
  }
}
@media only screen and (max-width: 780px) {
  .p-course__beginning .content .img {
    width: 111%;
    margin: 0 -5.5%;
    padding: 1rem;
  }
}
.p-course__beginning .table01 {
  max-width: 1080px;
  margin: 0 auto;
}
.p-course__beginning .table01 tbody tr td {
  text-align: center;
}
.p-course__beginning .course_chamge {
  margin-top: 5rem;
  letter-spacing: -0.4em;
  text-align: center;
}
.p-course__beginning .course_chamge > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-course__beginning .course_chamge a {
  margin: 0 1em;
  padding: 0.5em 1em;
  font-size: 2rem;
  font-weight: 500;
  border: solid 1px #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-course__beginning .course_chamge a {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-course__beginning .course_chamge a:hover {
    background-color: #EDF9FF;
  }
}
.p-course__beginning .course_chamge a span {
  margin-left: 1em;
  font-size: 0.66em;
  display: inline-block;
  vertical-align: 0.1em;
}
@media only screen and (max-width: 780px) {
  .p-course__beginning .course_chamge a span {
    margin: 0;
    display: block;
  }
}
.p-course__detail {
  margin-bottom: 12rem;
  display: none;
}
@media only screen and (max-width: 780px) {
  .p-course__detail {
    margin-bottom: 6rem;
  }
}
.p-course__detail .table01 {
  max-width: 1080px;
  margin: 0 auto;
}
.p-course__detail .table01 tbody tr td {
  text-align: center;
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_head {
    margin: 8rem 0;
    padding: 4rem 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    position: relative;
    z-index: 1;
  }
  .p-course__detail .tab_content .tab_head:before {
    width: 9999px;
    height: 100%;
    content: '';
    background-color: #008CD8;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 780px) {
  .p-course__detail .tab_content .tab_head {
    margin: 4rem 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: 1rem;
  }
}
.p-course__detail .tab_content .tab_head li {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  text-align: center;
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_head li {
    padding: 0.25em 1em;
    font-size: 1.8rem;
    color: #ffffff;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1099px) {
  .p-course__detail .tab_content .tab_head li {
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 780px) {
  .p-course__detail .tab_content .tab_head li {
    padding: 0.25em 0.5em;
    font-size: 1.6rem;
    color: #008CD8;
    border: solid 1px #008CD8;
  }
}
.p-course__detail .tab_content .tab_head li + li {
  margin-left: -1px;
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_head li.current {
    color: #008CD8;
    background-color: #ffffff;
  }
}
@media only screen and (max-width: 780px) {
  .p-course__detail .tab_content .tab_head li.current {
    color: #ffffff;
    background-color: #008CD8;
  }
}
.p-course__detail .tab_content .tab_body .course_detail .content {
  margin-bottom: 2em;
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_body .course_detail .content {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_body .course_detail .content .map {
    width: 40%;
  }
}
@media only screen and (max-width: 780px) {
  .p-course__detail .tab_content .tab_body .course_detail .content .map {
    margin-bottom: 1em;
  }
}
.p-course__detail .tab_content .tab_body .course_detail .content .map .img {
  margin-bottom: 1em;
  text-align: center;
}
.p-course__detail .tab_content .tab_body .course_detail .content .map p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-course__detail .tab_content .tab_body .course_detail .content .map p {
    font-size: 1.5rem;
  }
}
.p-course__detail .tab_content .tab_body .course_detail .content .youtube {
  height: auto;
  aspect-ratio: 16/9;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_body .course_detail .content .youtube {
    width: 55%;
  }
}
.p-course__detail .tab_content .tab_body .course_detail .content .youtube iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.p-course__detail .tab_content .tab_body .course_detail .img_area {
  margin-bottom: 2em;
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_body .course_detail .img_area {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.p-course__detail .tab_content .tab_body .course_detail .img_area .img {
  text-align: center;
}
@media only screen and (min-width: 781px) {
  .p-course__detail .tab_content .tab_body .course_detail .img_area .img {
    width: 48%;
  }
}
@media only screen and (max-width: 780px) {
  .p-course__detail .tab_content .tab_body .course_detail .img_area .img + .img {
    margin-top: 1em;
  }
}
.p-course__detail .tab_content .tab_body .course_detail .table01 {
  margin-bottom: 2em;
}

.p-reserve__infomation {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-reserve__infomation {
    margin-bottom: 6rem;
  }
}
.p-reserve__infomation h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-reserve__infomation h2 {
    font-size: 2.4rem;
  }
}
.p-reserve__infomation h2 + p {
  margin-bottom: 2em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-reserve__infomation h2 + p {
    font-size: 1.6rem;
  }
}
.p-reserve__infomation .btn {
  margin-bottom: 5rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-reserve__infomation .btn {
    margin-bottom: 3rem;
  }
}
.p-reserve__infomation ul {
  margin-bottom: 8rem;
  letter-spacing: -0.4em;
  text-align: center;
}
.p-reserve__infomation ul > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-reserve__infomation ul {
    margin-bottom: 4rem;
  }
}
.p-reserve__infomation ul li {
  margin: 0 1em;
  font-size: 1.5rem;
  font-weight: 500;
}
.p-reserve__infomation ul li a {
  text-decoration: underline;
}
.p-reserve__infomation dl {
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
}
.p-reserve__infomation dl dt {
  padding: 1em;
  font-size: 2rem;
  font-weight: 700;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 780px) {
  .p-reserve__infomation dl dt {
    font-size: 1.6rem;
  }
}
.p-reserve__infomation dl dd {
  padding: 1em;
  background-color: #ffffff;
}
.p-reserve__infomation dl dd p {
  line-height: 1.8;
}
.p-reserve__guest {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-reserve__guest {
    margin-bottom: 6rem;
  }
}
.p-reserve__guest p {
  font-size: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-reserve__guest p {
    font-size: 1.6rem;
  }
}
.p-reserve__guest .btn {
  margin: 3em 0;
}
@media only screen and (max-width: 780px) {
  .p-reserve__guest .btn {
    text-align: center;
  }
}
.p-reserve__guest .mypage {
  margin-bottom: 1em;
}
.p-reserve__guest .mypage a {
  text-decoration: underline;
  color: #008CD8;
}
.p-reserve__guest .annotation {
  font-size: 1.4rem;
}
@media only screen and (max-width: 780px) {
  .p-reserve__guest .annotation {
    font-size: 1.2rem;
  }
}
.p-reserve__guest .annotation a {
  text-decoration: underline;
}
.p-reserve__member {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-reserve__member {
    margin-bottom: 6rem;
  }
}
.p-reserve__member p {
  font-size: 2rem;
  font-weight: 500;
  font-size: 1.6rem;
}
.p-reserve__member table {
  margin: 3em 0;
}
@media only screen and (max-width: 780px) {
  .p-reserve__member table {
    margin: 2em auto;
  }
}
.p-reserve__member table th {
  padding: 1em;
  font-weight: 700;
  background-color: #F8F8F8;
  border: solid 1px #E2E2E2;
}
.p-reserve__member table td {
  padding: 1em;
  border: solid 1px #E2E2E2;
}
.p-reserve__member .list02 li a {
  text-decoration: underline;
}
.p-reserve__member .list02 li span {
  font-size: 0.8em;
  font-weight: 400;
  display: block;
}
.p-reserve__member .btn {
  margin: 3em 0;
}
@media only screen and (max-width: 780px) {
  .p-reserve__member .btn {
    text-align: center;
  }
}
.p-reserve__member .mypage a {
  text-decoration: underline;
  color: #008CD8;
}

.p-newsletter__beginning {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-newsletter__beginning {
    margin-bottom: 4rem;
  }
}
.p-newsletter__beginning h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-newsletter__beginning h2 {
    font-size: 2.4rem;
  }
}
.p-newsletter__beginning p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-newsletter__beginning p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-newsletter__list {
  padding: 8rem 0;
  background-image: url("../img/newsletter/bg01.jpg");
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-newsletter__list {
    padding: 4rem 0;
  }
}
.p-newsletter__list ul {
  max-width: 960px;
  margin: 0 auto;
}
.p-newsletter__list ul li {
  padding: 2rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .p-newsletter__list ul li {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
}
.p-newsletter__list ul li + li {
  margin-top: 2rem;
}
@media only screen and (min-width: 781px) {
  .p-newsletter__list ul li .text {
    width: calc(100% - 17rem);
    padding-right: 2rem;
  }
}
.p-newsletter__list ul li .text h3 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-newsletter__list ul li .text h3 {
    font-size: 1.8rem;
  }
}
.p-newsletter__list ul li .text p {
  margin: 1em 0;
}
.p-newsletter__list ul li .text .file_name {
  padding: 0.2em 0.5em;
  font-size: 1.2rem;
  background-color: #EDF9FF;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .p-newsletter__list ul li .btn {
    width: 17rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-newsletter__list ul li .btn {
    margin-top: 2rem;
    text-align: center;
  }
}
.p-newsletter__list ul li .btn a {
  padding: 0.5em 1em;
  display: inline-block;
  border: solid 1px #E2E2E2;
}
.p-newsletter__list ul li .btn a:before {
  width: 3rem;
  height: 3rem;
  margin-right: 0.5em;
  content: '';
  background-image: url("../img/newsletter/icon_pdf01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.5em;
}
@media only screen and (max-width: 780px) {
  .p-newsletter__list ul li .btn a:before {
    width: 2.6rem;
    height: 2.6rem;
  }
}

.p-opencompe__infomation {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-opencompe__infomation {
    margin-bottom: 4rem;
  }
}
.p-opencompe__infomation p {
  margin-bottom: 2em;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-opencompe__infomation p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-opencompe__infomation .btn {
  text-align: center;
}
.p-opencompe__result {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-opencompe__result {
    margin-bottom: 6rem;
  }
}
.p-opencompe__result ul {
  border-top: solid 1px #E2E2E2;
}
.p-opencompe__result ul li {
  border-bottom: solid 1px #E2E2E2;
}
.p-opencompe__result ul li.group01 {
  background-color: #ffffef;
}
.p-opencompe__result ul li.group02 {
  background-color: #ffeff7;
}
.p-opencompe__result ul li.group03 {
  background-color: #eaffea;
}
.p-opencompe__result ul li.group04 {
  background-color: #fff2e5;
}
.p-opencompe__result ul li.group05 {
  background-color: #eaf4ff;
}
.p-opencompe__result ul li a {
  padding: 3rem 6rem 3rem 1.5rem;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
  background-position: calc(100% - 1.6rem) center;
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-opencompe__result ul li a {
    -webkit-transition: background-position 0.5s;
    transition: background-position 0.5s;
  }
}
@media only screen and (max-width: 780px) {
  .p-opencompe__result ul li a {
    padding: 2rem 4rem 2rem 1.5rem;
    -webkit-background-size: 2.2rem auto;
    background-size: 2.2rem auto;
    background-position: calc(100% - 1.2rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .p-opencompe__result ul li a:hover {
    background-position: calc(100% - 0.8rem) center;
  }
}
.p-opencompe__result ul li a .date {
  font-family: "Forum", serif;
  font-size: 1.4rem;
}
.p-opencompe__result ul li a .name {
  font-size: 1.8rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-opencompe__result ul li a .name {
    font-size: 1.5rem;
  }
}

.p-membership__beginning {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-membership__beginning {
    margin-bottom: 4rem;
  }
}
.p-membership__beginning h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-membership__beginning h2 {
    font-size: 2.4rem;
  }
}
.p-membership__beginning h2 span {
  font-size: 0.66em;
  display: block;
}
.p-membership__beginning p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-membership__beginning p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-membership__detail {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-membership__detail {
    margin-bottom: 6rem;
  }
}
.p-membership__detail h2 {
  padding: 0.8em;
  @iclude mincho;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background-color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-membership__detail h2 {
    font-size: 2rem;
  }
}
.p-membership__detail .img {
  width: 100%;
  height: 300px;
  margin: 2em 0;
  overflow: hidden;
}
.p-membership__detail .img > img, .p-membership__detail .img > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-membership__detail .img {
    height: 200px;
  }
}
.p-membership__detail .column_box .col {
  padding: 1em;
  background-color: #F8F8F8;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.16);
  position: relative;
  overflow: hidden;
}
.p-membership__detail .column_box .col:before {
  width: 4rem;
  height: 4rem;
  content: '';
  background-color: #008CD8;
  position: absolute;
  top: -2rem;
  left: -2rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.p-membership__detail .column_box .col h3 {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-membership__detail .column_box .col h3 {
    font-size: 1.8rem;
  }
}
.p-membership__detail .column_box .col h3:after {
  width: 3em;
  height: 1px;
  margin: 0.5em auto 0 auto;
  content: '';
  background-color: #E2E2E2;
  display: block;
}
.p-membership__detail .column_box .col p {
  margin: 1em 0;
  font-weight: 500;
  text-align: center;
}
.p-membership__detail .column_box .col dl {
  font-size: 1.5rem;
  display: -webkit-flex;
  display: flex;
}
@media only screen and (max-width: 780px) {
  .p-membership__detail .column_box .col dl {
    font-size: 1.4rem;
  }
}
.p-membership__detail .column_box .col dl + dl {
  margin-top: 1rem;
}
.p-membership__detail .column_box .col dl dt {
  width: 10rem;
  padding: 1rem;
  font-weight: 500;
  text-align: center;
}
.p-membership__detail .column_box .col dl dd {
  width: calc(100% - 10rem);
  padding: 0.5rem 1rem;
}
.p-membership__detail .column_box .col dl dd span {
  margin: 0 0.25em;
  font-family: "Forum", serif;
  font-size: 1.4em;
  display: inline-block;
}
.p-membership__detail .column_box .col dl:nth-of-type(1) dt {
  background-color: rgba(14, 162, 242, 0.2);
}
.p-membership__detail .column_box .col dl:nth-of-type(2) dt {
  background-color: rgba(235, 114, 38, 0.2);
}
.p-membership__detail .tokuten {
  margin-bottom: 6rem;
}
.p-membership__detail .tokuten h3 {
  margin-bottom: 2em;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-membership__detail .tokuten h3 {
    font-size: 2rem;
  }
}
.p-membership__detail .tokuten h3 span {
  padding: 0 1em;
  display: inline-block;
  position: relative;
}
.p-membership__detail .tokuten h3 span:before, .p-membership__detail .tokuten h3 span:after {
  width: 1px;
  height: 1em;
  content: '';
  background-color: #161715;
  position: absolute;
  top: 50%;
}
.p-membership__detail .tokuten h3 span:before {
  right: 100%;
  -webkit-transform: rotate(-15deg) translateY(-50%);
  transform: rotate(-15deg) translateY(-50%);
}
.p-membership__detail .tokuten h3 span:after {
  left: 100%;
  -webkit-transform: rotate(15deg) translateY(-50%);
  transform: rotate(15deg) translateY(-50%);
}
@media only screen and (min-width: 781px) {
  .p-membership__detail .tokuten .list01 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 781px) {
  .p-membership__detail .tokuten .list01 li {
    width: 48%;
  }
}
.p-membership__detail .tokuten .list01 li span {
  font-size: 0.8em;
  font-weight: 400;
  display: block;
}
.p-membership__detail .btn {
  text-align: center;
}

.p-photo__beginning {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-photo__beginning {
    margin-bottom: 4rem;
  }
}
.p-photo__beginning h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-photo__beginning h2 {
    font-size: 2.4rem;
  }
}
.p-photo__beginning p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-photo__beginning p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-photo__gallery {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-photo__gallery {
    margin-bottom: 6rem;
  }
}
.p-photo__gallery .inner {
  max-width: 1200px;
}
.p-photo__gallery .ngg-navigation {
  padding: 7rem 0 0 0 !important;
  text-align: center;
  letter-spacing: -0.4em;
}
.p-photo__gallery .ngg-navigation a {
  display: inline-block !important;
  letter-spacing: normal;
  cursor: pointer !important;
}
.p-photo__gallery .ngg-navigation a.page-numbers {
  color: #4B4B4B !important;
  margin: 0 1.5rem !important;
  padding: 0 !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
}
.p-photo__gallery .ngg-navigation a.page-numbers:hover {
  color: #4B4B4B !important;
  text-decoration: underline !important;
}
.p-photo__gallery .ngg-navigation a.next {
  width: 0.7rem !important;
  height: 1.2rem !important;
  margin: 0 2rem 0 0 !important;
  padding: 0 !important;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  background-color: transparent !important;
  background-image: url("../img/arrow_prev01.png") !important;
  -webkit-background-size: cover !important;
  background-size: cover !important;
  box-shadow: none !important;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
}
.p-photo__gallery .ngg-navigation a.prev {
  width: 0.7rem !important;
  height: 1.2rem !important;
  margin: 0 0 0 2rem !important;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  background-image: url("../img/arrow_next01.png") !important;
  -webkit-background-size: cover !important;
  background-size: cover !important;
  box-shadow: none !important;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
}
.p-photo__gallery .ngg-navigation .current {
  margin: 0 2rem !important;
  padding: 0 !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  line-height: 2.4em;
  color: #2D2D2D !important;
  background-color: transparent !important;
  box-shadow: none !important;
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
  display: inline-block !important;
  letter-spacing: normal;
  position: relative;
  z-index: 1;
}
.p-photo__gallery .ngg-navigation .current:hover {
  color: #2D2D2D !important;
}
.p-photo__gallery .ngg-navigation .current:after {
  width: 2.4em;
  height: 2.4em;
  content: '';
  border: solid 1px #2D2D2D;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.p-news__list {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-news__list {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-news__list .inner:after {
    content: "";
    display: block;
    clear: both;
  }
  .p-news__list .inner .left {
    width: calc(100% - 20rem);
    float: left;
  }
  .p-news__list .inner .right {
    width: 20rem;
    padding-left: 5rem;
    float: right;
  }
  .p-news__list .inner .pagination {
    clear: both;
  }
}
@media only screen and (max-width: 780px) {
  .p-news__list .cate_list {
    margin-bottom: 4rem;
  }
}
.p-news__list .cate_list h3 {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-news__list .cate_list ul {
    letter-spacing: -0.4em;
    text-align: center;
  }
  .p-news__list .cate_list ul > * {
    display: inline-block;
    letter-spacing: normal;
  }
}
.p-news__list .cate_list ul li {
  margin-bottom: 1em;
}
@media only screen and (max-width: 780px) {
  .p-news__list .cate_list ul li {
    margin: 0.5em;
    vertical-align: top;
  }
}
.p-news__list .cate_list ul li a:hover {
  color: #008CD8;
}
.p-news__list .news_list {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list {
    margin-bottom: 4rem;
  }
}
.p-news__list .news_list li {
  padding: 3.5rem 0;
  border-bottom: solid 1px #E2E2E2;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li {
    padding: 2rem 0;
  }
}
.p-news__list .news_list li:first-child {
  padding-top: 0 !important;
}
.p-news__list .news_list li a {
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  -webkit-background-size: 3rem auto;
  background-size: 3rem auto;
}
@media only screen and (min-width: 781px) {
  .p-news__list .news_list li a {
    padding-right: 14rem;
    display: -webkit-flex;
    display: flex;
    background-position: calc(100% - 4rem) center;
    -webkit-transition: background-position 0.3s;
    transition: background-position 0.3s;
  }
  .p-news__list .news_list li a:hover {
    background-position: calc(100% - 2rem) center;
  }
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li a {
    display: block;
    background-position: right 1.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-news__list .news_list li a .meta {
    width: 15rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li a .meta {
    margin-bottom: 1.2rem;
  }
}
.p-news__list .news_list li a .meta .date {
  font-family: "Forum", serif;
  font-size: 2rem;
}
.p-news__list .news_list li a .meta .cate {
  letter-spacing: -0.4em;
}
.p-news__list .news_list li a .meta .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-news__list .news_list li a .meta .cate span {
  margin-right: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li a .meta .cate span {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-news__list .news_list li a p {
    width: calc(100% - 15rem);
    padding-top: 0.25em;
  }
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li a p {
    font-size: 1.4rem;
  }
}
.p-news__post {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-news__post {
    margin-bottom: 6rem;
  }
}
.p-news__post .news_headding {
  margin-bottom: 6rem;
  padding-bottom: 6rem;
  border-bottom: solid 1px #E2E2E2;
}
.p-news__post .news_headding .date {
  font-family: "Forum", serif;
  font-size: 2rem;
}
.p-news__post .news_headding .cate {
  letter-spacing: -0.4em;
}
.p-news__post .news_headding .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-news__post .news_headding .cate span {
  margin-right: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-news__post .news_headding .cate span {
    font-size: 1.4rem;
  }
}
.p-news__post .news_headding h2 {
  margin: 0.8em 0;
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.2;
}
@media only screen and (max-width: 780px) {
  .p-news__post .news_headding h2 {
    font-size: 2rem;
  }
}
.p-news__post .news_headding .icatch {
  margin-top: 4rem;
}
@media only screen and (max-width: 780px) {
  .p-news__post .news_headding .icatch {
    margin-top: 2rem;
  }
}
.p-news__post .news_footer {
  margin-top: 6rem;
  padding-top: 6rem;
  text-align: center;
  border-top: solid 1px #E2E2E2;
}

.p-restaurant__beginning {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-restaurant__beginning {
    margin-bottom: 4rem;
  }
}
.p-restaurant__beginning h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-restaurant__beginning h2 {
    font-size: 2.4rem;
  }
}
.p-restaurant__beginning p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-restaurant__beginning p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-restaurant__menu {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-restaurant__menu {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-restaurant__menu .menu {
    margin-bottom: 12rem;
    padding-top: 10rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-restaurant__menu .menu {
    width: 111%;
    margin: 0 -5.5% 2em -5.5%;
  }
}
@media only screen and (min-width: 781px) {
  .p-restaurant__menu .menu > li {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  .p-restaurant__menu .menu > li:before {
    width: 9999px;
    height: calc(100% + 15rem);
    content: '';
    background-color: #F8F8F8;
    position: absolute;
    top: -7.5rem;
    left: 30%;
    z-index: -1;
  }
  .p-restaurant__menu .menu > li:nth-child(2n) {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .p-restaurant__menu .menu > li:nth-child(2n):before {
    left: auto;
    right: 30%;
  }
}
.p-restaurant__menu .menu > li + li {
  margin-top: 18rem;
}
@media only screen and (max-width: 780px) {
  .p-restaurant__menu .menu > li + li {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-restaurant__menu .menu > li .img {
    width: 41rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-restaurant__menu .menu > li .img {
    text-align: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-restaurant__menu .menu > li .text {
    width: calc(100% - 41rem);
    padding: 0 3em;
  }
}
@media only screen and (max-width: 780px) {
  .p-restaurant__menu .menu > li .text {
    padding: 1.5em 3em;
    background-color: #F8F8F8;
  }
}
.p-restaurant__menu .menu > li .text ul {
  margin-bottom: 1em;
}
.p-restaurant__menu .menu > li .text ul li {
  padding-left: 3rem;
  font-size: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-restaurant__menu .menu > li .text ul li {
    font-size: 1.8rem;
  }
}
.p-restaurant__menu .menu > li .text ul li:before {
  width: 2rem;
  height: 1px;
  margin: 0 1rem 0 -3rem;
  content: '';
  background-color: #008CD8;
  display: inline-block;
  vertical-align: 0.3em;
}
.p-restaurant__menu .menu > li .text ul li + li {
  margin-top: 0.8em;
}
.p-restaurant__menu .menu > li .text .annotation {
  font-size: 1.4rem;
  text-align: right;
}
.p-restaurant__menu .menu > li .text .price {
  font-size: 1.8rem;
  text-align: right;
}
@media only screen and (max-width: 780px) {
  .p-restaurant__menu .menu > li .text .price {
    font-size: 1.6rem;
  }
}
.p-restaurant__menu .menu > li .text .price span {
  margin-right: 0.5em;
  font-family: "Forum", serif;
  font-size: 2em;
  font-style: italic;
  display: inline-block;
}

.p-stay__beginning {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-stay__beginning {
    margin-bottom: 4rem;
  }
}
.p-stay__beginning h2 {
  margin-bottom: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  color: #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-stay__beginning h2 {
    font-size: 2.4rem;
  }
}
.p-stay__beginning p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.25;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-stay__beginning p {
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-stay__list {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-stay__list {
    margin-bottom: 6rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-stay__list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.p-stay__list ul li {
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
  -moz-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.06);
}
@media only screen and (min-width: 781px) {
  .p-stay__list ul li {
    width: 49%;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-stay__list ul li + li {
    margin-top: 1.6rem;
  }
}
.p-stay__list ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-stay__list ul li a {
    padding: 2.4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-stay__list ul li a {
    padding: 1.2rem;
  }
}
.p-stay__list ul li a .img {
  width: 100%;
  height: auto;
  aspect-ratio: 540/300;
  overflow: hidden;
}
.p-stay__list ul li a .img > img, .p-stay__list ul li a .img > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-stay__list ul li a .img {
    aspect-ratio: 636/350;
  }
}
@media only screen and (min-width: 781px) {
  .p-stay__list ul li a .img img {
    -webkit-transition: transform 0.5s;
    transition: transform 0.5s;
  }
}
.p-stay__list ul li a .text {
  margin-top: 1em;
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  -webkit-background-size: auto 100%;
  background-size: auto 100%;
  background-position: right center;
}
@media only screen and (max-width: 780px) {
  .p-stay__list ul li a .text {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-stay__list ul li a:hover .img img {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
}
.p-stay__detail {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail {
    margin-bottom: 6rem;
  }
}
.p-stay__detail .headding {
  margin-bottom: 6rem;
  color: #ffffff;
  background-color: #008CD8;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .headding {
    margin-bottom: 3rem;
  }
}
.p-stay__detail .headding .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-stay__detail .headding .inner {
    min-height: 50rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-stay__detail .headding .img {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    overflow: hidden;
  }
  .p-stay__detail .headding .img > img, .p-stay__detail .headding .img > video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.p-stay__detail .headding .img .slider-pro {
  width: 100%;
  height: 100% !important;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .headding .img .slider-pro {
    height: 30rem !important;
  }
}
.p-stay__detail .headding .img .slider-pro .sp-slides-container, .p-stay__detail .headding .img .slider-pro .sp-mask {
  height: 100% !important;
}
.p-stay__detail .headding .img .slider-pro .sp-slides {
  height: 100% !important;
}
.p-stay__detail .headding .img .slider-pro .sp-slides .sp-slide {
  height: 100% !important;
  overflow: hidden;
}
.p-stay__detail .headding .img .slider-pro .sp-slides .sp-slide > img, .p-stay__detail .headding .img .slider-pro .sp-slides .sp-slide > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-stay__detail .headding .img .slider-pro .sp-buttons {
  position: absolute;
}
@media only screen and (min-width: 781px) {
  .p-stay__detail .headding .img .slider-pro .sp-buttons {
    width: auto;
    bottom: 3.2rem;
    right: 3.2rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .headding .img .slider-pro .sp-buttons {
    left: 0;
    bottom: 1.2rem;
  }
}
.p-stay__detail .headding .img .slider-pro .sp-buttons .sp-button {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0.8rem;
  background-color: #ffffff;
  border: none;
  vertical-align: middle;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .headding .img .slider-pro .sp-buttons .sp-button {
    width: 0.4rem;
    height: 0.4rem;
    margin: 0 0.4rem;
  }
}
.p-stay__detail .headding .img .slider-pro .sp-buttons .sp-button.sp-selected-button {
  width: 1.6rem;
  height: 1.6rem;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .headding .img .slider-pro .sp-buttons .sp-button.sp-selected-button {
    width: 0.8rem;
    height: 0.8rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-stay__detail .headding .text {
    width: 50%;
    padding: 8rem 4rem 8rem 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .headding .text {
    padding: 4.8rem 0;
  }
}
.p-stay__detail .headding .text p {
  font-size: 1.8rem;
  line-height: 1.83;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .headding .text p {
    font-size: 1.5rem;
  }
}
.p-stay__detail .content h3 {
  margin-bottom: 1em;
  padding-left: 1.5rem;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 600;
  border-left: solid 0.5rem #008CD8;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .content h3 {
    font-size: 2.4rem;
  }
}
.p-stay__detail .content address {
  margin-bottom: 1rem;
  font-size: 2.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .content address {
    font-size: 1.8rem;
  }
}
.p-stay__detail .content address:before {
  width: 0.8333em;
  height: 1.25em;
  margin-right: 0.625em;
  content: '';
  background-image: url("../img/icon_pin01.png");
  -webkit-background-size: cover;
  background-size: cover;
  display: inline-block;
  vertical-align: -0.2em;
}
.p-stay__detail .content .tel {
  margin-bottom: 1rem;
  font-family: "Forum", serif;
  font-size: 1.8rem;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .content .tel {
    font-size: 1.5rem;
  }
}
.p-stay__detail .content .tel span {
  margin-right: 1rem;
  padding: 0.2em 0.5em;
  color: #ffffff;
  background-color: #008CD8;
  display: inline-block;
  vertical-align: 0.2em;
}
.p-stay__detail .content .tel a {
  font-size: 1.5em;
}
.p-stay__detail .content .link {
  margin-bottom: 4rem;
  font-size: 1.8rem;
}
@media only screen and (max-width: 780px) {
  .p-stay__detail .content .link {
    margin-bottom: 2.5rem;
    font-size: 1.5rem;
  }
}
.p-stay__detail .content .link span {
  margin-right: 1rem;
  padding: 0.2em 0.5em;
  color: #ffffff;
  background-color: #008CD8;
  display: inline-block;
  vertical-align: 0.2em;
}
.p-stay__detail .content .link a {
  font-family: "Forum", serif;
  font-size: 1.5em;
}

.p-contact__form {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-contact__form {
    margin-bottom: 6rem;
  }
}

.p-course_member__form {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-course_member__form {
    margin-bottom: 6rem;
  }
}
.p-course_member__form .member_regist .acc {
  padding: 0.2em 0.5em;
  border: solid 1px #E2E2E2;
}
.p-course_member__form .member_regist .acc + .acc {
  margin-top: 1em;
}
.p-course_member__form .member_regist .acc .acc_head {
  font-size: 1.8rem;
  font-weight: 700;
}
.p-course_member__form .member_regist .acc .acc_body {
  margin-top: 0.5em;
}
.p-course_member__form .member_regist .acc .acc_body label {
  margin-bottom: 0.5em;
  font-weight: 500;
}
.p-course_member__form .member_regist .acc .acc_body .set + .set {
  margin-top: 0.5em;
}
.p-course_member__form .member_regist .acc .acc_body .column_box {
  margin-bottom: 0;
}
.p-course_member__form .submit p {
  margin-bottom: 1em;
}

/****************************************************
 * 6.装飾
 ****************************************************/
.underline {
  text-decoration: underline;
}

.bold {
  font-weight: 700;
}

.colorRed {
  color: #F55050;
}

/****************************************************
 * 7.印刷用調整
 ****************************************************/
@media print {
  @page {
    /* A4縦サイズ */
    size: 210mm 297mm;
  }
  html {
    font-size: 10pt !important;
  }

  body {
    margin: 0 !important;
    padding: 0 !important;
  }

  * {
    -webkit-print-color-adjust: exact;
  }

  .container {
    padding: 0 !important;
  }

  #header {
    position: static !important;
  }

  img {
    display: block !important;
  }
}
