@charset "UTF-8";
/*//////////////////////////////////////////////////
sscss変数
//////////////////////////////////////////////////*/
/*//////////////////////////////////////////////////
全体
//////////////////////////////////////////////////*/
::-moz-selection {
  background-color: #799ec3;
  color: #fff; }

::selection {
  background-color: #799ec3;
  color: #fff; }

@font-face {
  font-family: ZenKakuGothicNew-M;
  src: url("font/ZenKakuGothicNew-Medium.ttf") format("truetype"); }
@font-face {
  font-family: ZenKakuGothicNew-B;
  src: url("font/ZenKakuGothicNew-Bold.ttf") format("opentype"); }
@font-face {
  font-family: Poppins-M;
  src: url("font/Poppins-Medium.ttf") format("truetype"); }
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  scroll-padding: 120px 0 0; }

body {
  width: 100%;
  height: 100%;
  min-width: 375px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  background-color: #f7f2ee; }

header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button, #rsv_fix, #pickup {
  font-size: 1.4rem;
  line-height: 2;
  color: #212121;
  font-weight: 500;
  letter-spacing: .1rem;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-font-smoothing: antialiased;
  font-family: 'ZenKakuGothicNew-M', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

header, main, footer {
  width: 100%;
  overflow: hidden; }

main, img, video {
  display: block; }

img {
  flex-shrink: 0; }

input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="submit"], input[type="button"], input[type="radio"], input[type="checkbox"], textarea, select, button {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none; }

input[type="submit"], input[type="button"], input[type="radio"], input[type="checkbox"], select, button {
  cursor: pointer; }

input, textarea, select, button {
  outline: 0; }

:-ms-input-placeholder {
  color: #757575; }

::-moz-placeholder {
  color: #757575; }

::-webkit-input-placeholder {
  color: #757575; }

a {
  text-decoration: none; }

a:link, a:visited, a:hover {
  color: #212121; }

pre {
  white-space: pre-wrap; }

.gothic {
  font-family: "ZenKakuGothicNew-M", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }

.gothic-b {
  font-family: "ZenKakuGothicNew-B", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }

.en {
  font-family: "Poppins-M", sans-serif !important;
  font-weight: 500 !important; }

.min {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif !important;
  font-weight: 500 !important; }

.it {
  font-style: italic; }

.underline {
  text-decoration: underline; }

.l-space-n {
  letter-spacing: normal; }

.l-space-1 {
  letter-spacing: .1rem; }

.l-space-2 {
  letter-spacing: .2rem; }

.l-space-4 {
  letter-spacing: .4rem; }

.l-space-8 {
  letter-spacing: .8rem; }

.cf:after {
  content: '';
  display: block;
  clear: both; }

.fit-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

.fit-img-2 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: 'object-fit: contain;'; }

.scroll-style {
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none; }
  .scroll-style::-webkit-scrollbar {
    display: none; }

.vertical-txt {
  -ms-writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl; }

.keep-txt {
  word-break: keep-all;
  white-space: nowrap; }

.margin-0 {
  margin: 0 !important; }

.marker {
  background: linear-gradient(transparent 64%, #ffff00 64%);
  color: #212121; }

.gra {
  background: linear-gradient(135deg, #757575, #212121); }

.color-white {
  color: #fff !important; }

.color-font {
  color: #212121 !important; }

.color-subfont {
  color: #757575 !important; }

.color-line {
  color: #e0e0e0 !important; }

.color-back {
  color: #f7f2ee !important; }

.color-pink {
  color: #f6abb4 !important; }

.color-pink-2 {
  color: #e88e96 !important; }

.color-blue {
  color: #94bcde !important; }

.color-blue-2 {
  color: #799ec3 !important; }

.color-green {
  color: #8fc4a0 !important; }

.color-green-2 {
  color: #73ac85 !important; }

.title-lg {
  font-size: 2.4rem !important; }

.x-lg {
  font-size: 2rem !important; }

.x-lg-2 {
  font-size: 1.8rem !important; }

.lg {
  font-size: 1.6rem !important; }

.md {
  font-size: 1.4rem !important; }

.sm {
  font-size: 1.2rem !important; }

.x-sm {
  font-size: 1rem !important; }

.spacer-8 {
  display: block;
  width: 100%;
  height: 8px !important; }

.spacer-10 {
  display: block;
  width: 100%;
  height: 12px !important; }

.spacer-20 {
  display: block;
  width: 100%;
  height: 16px !important; }

.spacer-30 {
  display: block;
  width: 100%;
  height: 20px !important; }

.spacer-40 {
  display: block;
  width: 100%;
  height: 32px !important; }

.spacer-60 {
  display: block;
  width: 100%;
  height: 40px !important; }

.spacer-80 {
  display: block;
  width: 100%;
  height: 44px !important; }

.spacer-120 {
  display: block;
  width: 100%;
  height: 60px !important; }

.spacer-160 {
  display: block;
  width: 100%;
  height: 80px !important; }

@media only screen and (min-width: 640px) {
  header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button, #rsv_fix, #pickup {
    font-size: 1.5rem; }

  .title-lg {
    font-size: 3rem !important; }

  .x-lg {
    font-size: 2.4rem !important; }

  .x-lg-2 {
    font-size: 2.1rem !important; }

  .lg {
    font-size: 1.8rem !important; }

  .md {
    font-size: 1.5rem !important; }

  .sm {
    font-size: 1.3rem !important; }

  .x-sm {
    font-size: 1.1rem !important; }

  .spacer-10 {
    height: 14px !important; }

  .spacer-20 {
    height: 20px !important; }

  .spacer-30 {
    height: 26px !important; }

  .spacer-40 {
    height: 40px !important; }

  .spacer-60 {
    height: 52px !important; }

  .spacer-80 {
    height: 66px !important; }

  .spacer-120 {
    height: 90px !important; }

  .spacer-160 {
    height: 120px !important; } }
@media only screen and (min-width: 960px) {
  header, main, footer, #loading_cover, #modal_menu, #header_fix, #humb_wrap, #humb_wrap_fix, #pagetop, input, textarea, select, button, #rsv_fix, #pickup {
    font-size: 1.6rem; }

  .title-lg {
    font-size: 3.6rem !important; }

  .x-lg {
    font-size: 2.8rem !important; }

  .x-lg-2 {
    font-size: 2.4rem !important; }

  .lg {
    font-size: 2rem !important; }

  .md {
    font-size: 1.6rem !important; }

  .sm {
    font-size: 1.4rem !important; }

  .x-sm {
    font-size: 1.2rem !important; }

  .spacer-10 {
    height: 16px !important; }

  .spacer-20 {
    height: 24px !important; }

  .spacer-30 {
    height: 32px !important; }

  .spacer-40 {
    height: 48px !important; }

  .spacer-60 {
    height: 64px !important; }

  .spacer-80 {
    height: 88px !important; }

  .spacer-120 {
    height: 120px !important; }

  .spacer-160 {
    height: 160px !important; } }
@media (hover: hover) {
  .hover-48 {
    transition: opacity .4s; }
    .hover-48:hover {
      opacity: .48; }

  .hover-64 {
    transition: opacity .4s; }
    .hover-64:hover {
      opacity: .64; } }
/*//////////////////////////////////////////////////
共通
//////////////////////////////////////////////////*/
.timetable-wrap .timetable {
  line-height: 1;
  text-align: center;
  border-radius: 4px;
  border: solid 2px #94bcde;
  background-color: #fff;
  box-sizing: border-box;
  overflow: hidden; }
  .timetable-wrap .timetable table {
    width: 100%; }
    .timetable-wrap .timetable table tr {
      border-top: solid 1px #94bcde; }
      .timetable-wrap .timetable table tr:first-of-type {
        border-top: none; }
      .timetable-wrap .timetable table tr th {
        vertical-align: middle;
        width: 10%;
        height: 32px; }
      .timetable-wrap .timetable table tr td {
        vertical-align: middle;
        width: 10%;
        height: 32px; }
      .timetable-wrap .timetable table tr .first {
        width: 30%; }
.timetable-wrap .note {
  line-height: 1.7;
  text-align: right;
  margin: 6px 0 0; }
  .timetable-wrap .note .devider {
    display: none; }

.info-wrap {
  line-height: 1;
  text-align: center;
  padding: 20px;
  border-radius: 4px;
  border: solid 1px #e0e0e0;
  background-color: #fff;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
  .info-wrap .info-inner {
    width: 100%; }
    .info-wrap .info-inner p {
      margin: 12px 0 0; }
      .info-wrap .info-inner p:first-of-type {
        margin: 0; }
    .info-wrap .info-inner .googlemaps-instagram {
      margin: 12px 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 12px; }
      .info-wrap .info-inner .googlemaps-instagram .googlemaps-instagram-devider {
        display: block;
        width: 1px;
        height: 12px;
        background-color: #e0e0e0; }
      .info-wrap .info-inner .googlemaps-instagram .instagram {
        display: block;
        width: 16px;
        height: 16px;
        background-size: cover;
        background-image: url("../img/common/common_instagram.svg"); }
    .info-wrap .info-inner .devider {
      display: block;
      width: 100%;
      height: 1px;
      background-color: #e0e0e0;
      margin: 12px 0; }
    .info-wrap .info-inner a {
      display: inline-block; }

.title-layout-1 {
  line-height: 1.7; }
  .title-layout-1 .txt {
    display: inline-block;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    padding: 0 0 0 44px; }
    .title-layout-1 .txt::before {
      content: '';
      display: block;
      background-image: url("../img/common/common_logo-icon.svg");
      width: 32px;
      height: 32px;
      background-size: cover;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 50%;
      transform: translate(0, -50%); }

.btn-1 {
  line-height: 1.7;
  width: 240px;
  height: 48px;
  border-radius: 24px;
  background-color: #73ac85;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0; }
  .btn-1::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    background-size: cover;
    background-image: url("../img/common/common_arrow-white.png");
    position: absolute;
    z-index: 1;
    right: 16px;
    top: 50%;
    transform: translate(0, -50%); }
  .btn-1 .txt {
    color: #fff; }

#pagetop {
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff;
  position: fixed;
  z-index: 10;
  right: 6vw;
  bottom: -32px;
  cursor: pointer;
  opacity: 0;
  transition: all .4s;
  box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.16); }
  #pagetop .arrow {
    display: block;
    width: 6px;
    height: 6px;
    background-size: cover;
    background-image: url("../img/common/common_arrow-green-2.png");
    transform: rotate(-90deg); }

#pickup {
  line-height: 1;
  position: fixed;
  z-index: 10;
  right: 6vw;
  bottom: 32px;
  background-color: #fff;
  width: 88%;
  max-width: 600px;
  padding: 8px 24px;
  box-sizing: border-box;
  border-radius: 4px;
  border: solid 2px #f6abb4;
  transition: bottom .4s; }
  #pickup #pickup_close {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: solid 2px #fff;
    box-sizing: border-box;
    background-color: #e88e96;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 2;
    right: 0;
    top: 0;
    transform: translate(50%, -50%);
    cursor: pointer; }
    #pickup #pickup_close .close {
      width: 10px;
      height: 10px;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0; }
      #pickup #pickup_close .close span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        z-index: 1;
        left: 0; }
      #pickup #pickup_close .close span:nth-of-type(1) {
        top: 0;
        transform: translateY(4px) rotate(-45deg); }
      #pickup #pickup_close .close span:nth-of-type(2) {
        bottom: 0;
        transform: translateY(-4px) rotate(45deg); }
  #pickup a {
    display: inline-block;
    width: 100%;
    padding: 8px 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 12px; }
    #pickup a .date {
      display: inline-block;
      width: 64px; }
    #pickup a .devider {
      display: block;
      width: 1px;
      height: 12px;
      background-color: #e0e0e0; }
    #pickup a h2 {
      display: inline-block;
      width: calc(100% - 89px);
      overflow: hidden;
      position: relative;
      z-index: 1;
      left: 0;
      top: -1px; }

@media only screen and (min-width: 640px) {
  .timetable-wrap .timetable {
    border-radius: 6px; }
    .timetable-wrap .timetable table tr th {
      height: 35px; }
    .timetable-wrap .timetable table tr td {
      height: 35px; }
  .timetable-wrap .note {
    margin: 7px 0 0; }

  .info-wrap {
    padding: 26px;
    border-radius: 6px; }
    .info-wrap .info-inner p {
      margin: 14px 0 0; }
    .info-wrap .info-inner .googlemaps-instagram {
      margin: 14px 0 0;
      gap: 14px; }
      .info-wrap .info-inner .googlemaps-instagram .googlemaps-instagram-devider {
        height: 13px; }
      .info-wrap .info-inner .googlemaps-instagram .instagram {
        width: 20px;
        height: 20px;
        background-size: cover; }
    .info-wrap .info-inner .devider {
      margin: 14px 0; }

  .title-layout-1 .txt {
    padding: 0 0 0 54px; }
    .title-layout-1 .txt::before {
      width: 40px;
      height: 40px;
      background-size: cover; }

  .btn-1 {
    width: 280px;
    height: 54px;
    border-radius: 27px; }
    .btn-1::before {
      width: 7px;
      height: 7px;
      background-size: cover;
      right: 20px; }

  #pagetop {
    width: 40px;
    height: 40px;
    right: 5vw;
    bottom: -40px; }
    #pagetop .arrow {
      width: 7px;
      height: 7px;
      background-size: cover; }

  #pickup {
    right: 5vw;
    bottom: 40px;
    width: 90%;
    padding: 10px 27px;
    border-radius: 6px; }
    #pickup #pickup_close {
      width: 29px;
      height: 29px; }
      #pickup #pickup_close .close {
        width: 12px;
        height: 12px; }
        #pickup #pickup_close .close span:nth-of-type(1) {
          transform: translateY(5px) rotate(-45deg); }
        #pickup #pickup_close .close span:nth-of-type(2) {
          transform: translateY(-5px) rotate(45deg); }
    #pickup a {
      padding: 10px 0;
      gap: 14px; }
      #pickup a .date {
        width: 68px; }
      #pickup a .devider {
        height: 13px; }
      #pickup a h2 {
        width: calc(100% - 97px);
        top: -1.5px; } }
@media only screen and (min-width: 960px) {
  .timetable-wrap .timetable {
    border-radius: 8px; }
    .timetable-wrap .timetable table tr th {
      height: 38px; }
    .timetable-wrap .timetable table tr td {
      height: 38px; }
  .timetable-wrap .note {
    line-height: 1;
    margin: 12px 0 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 12px; }
    .timetable-wrap .note p {
      display: inline-block; }
    .timetable-wrap .note .googlemaps-instagram {
      margin: 16px 0 0;
      gap: 16px; }
      .timetable-wrap .note .googlemaps-instagram .googlemaps-instagram-devider {
        height: 14px; }
      .timetable-wrap .note .googlemaps-instagram .instagram {
        width: 24px;
        height: 24px;
        background-size: cover; }
    .timetable-wrap .note .devider {
      display: block;
      width: 1px;
      height: 12px;
      background-color: #e0e0e0; }

  .info-wrap {
    padding: 32px;
    border-radius: 8px; }
    .info-wrap .info-inner p {
      margin: 16px 0 0; }
    .info-wrap .info-inner .devider {
      margin: 16px 0; }

  .title-layout-1 .txt {
    padding: 0 0 0 64px; }
    .title-layout-1 .txt::before {
      width: 48px;
      height: 48px;
      background-size: cover; }

  .btn-1 {
    width: 320px;
    height: 60px;
    border-radius: 30px; }
    .btn-1::before {
      width: 8px;
      height: 8px;
      background-size: cover;
      right: 24px; }

  #pagetop {
    width: 48px;
    height: 48px;
    right: 4vw;
    bottom: -48px; }
    #pagetop .arrow {
      width: 8px;
      height: 8px;
      background-size: cover; }

  #pickup {
    right: 4vw;
    bottom: 48px;
    width: 92%;
    padding: 12px 30px;
    border-radius: 8px; }
    #pickup #pickup_close {
      width: 32px;
      height: 32px; }
      #pickup #pickup_close .close {
        width: 14px;
        height: 14px; }
        #pickup #pickup_close .close span:nth-of-type(1) {
          transform: translateY(6px) rotate(-45deg); }
        #pickup #pickup_close .close span:nth-of-type(2) {
          transform: translateY(-6px) rotate(45deg); }
    #pickup a {
      padding: 12px 0;
      gap: 16px; }
      #pickup a .date {
        width: 72px; }
      #pickup a .devider {
        height: 14px; }
      #pickup a h2 {
        width: calc(100% - 105px);
        top: -2px; } }
@media (hover: hover) {
  .btn-1 .txt {
    transition: opacity .4s; }
  .btn-1::before {
    transition: opacity .4s; }
  .btn-1:hover .txt {
    opacity: .48; }
  .btn-1:hover::before {
    opacity: .48; }

  #pagetop .arrow {
    transition: opacity .4s; }
  #pagetop:hover .arrow {
    opacity: .48; }

  #pickup #pickup_close .close {
    transition: opacity .4s; }
  #pickup #pickup_close:hover .close {
    opacity: .48; } }
/*//////////////////////////////////////////////////
ローディング
//////////////////////////////////////////////////*/
#loading_cover {
  line-height: 1;
  width: 100%;
  min-width: 375px;
  height: 100vh;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background-color: #f7f2ee; }
  #loading_cover .loading-logo {
    display: none;
    width: 200px;
    height: 108px; }
    #loading_cover .loading-logo img {
      width: 100%;
      height: 100%; }

@media only screen and (min-width: 640px) {
  #loading_cover .loading-logo {
    width: 260px;
    height: 140px; } }
@media only screen and (min-width: 960px) {
  #loading_cover .loading-logo {
    width: 320px;
    height: 172px; } }
/*//////////////////////////////////////////////////
ハンバーガーメニュー
//////////////////////////////////////////////////*/
#humb_wrap_fix {
  width: 52px;
  height: 52px;
  border-radius: 0 0 0 4px;
  background-color: #73ac85;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 10;
  right: 78px;
  top: 0;
  cursor: pointer;
  border-right: solid 1px #f7f2ee; }
  #humb_wrap_fix .humb {
    width: 12px;
    height: 6px;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    #humb_wrap_fix .humb span {
      display: block;
      width: 100%;
      height: 1px;
      background-color: #fff;
      position: absolute;
      z-index: 1;
      left: 0; }
      #humb_wrap_fix .humb span:nth-of-type(1) {
        top: 0;
        transform: translate(0, -50%); }
      #humb_wrap_fix .humb span:nth-of-type(2) {
        bottom: 0;
        transform: translate(0, 50%); }

#rsv_fix {
  line-height: 1;
  width: 78px;
  height: 52px;
  background-color: #e88e96;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 10;
  right: 0;
  top: 0;
  cursor: pointer; }
  #rsv_fix .txt-wrap {
    display: inline-block; }
    #rsv_fix .txt-wrap .icon {
      display: block;
      background-image: url("../img/common/common_calendar-white.svg");
      width: 12px;
      height: 12px;
      background-size: cover;
      margin: 0 auto; }
    #rsv_fix .txt-wrap .txt {
      font-size: 1.0rem;
      display: inline-block;
      margin: 6px 0 0; }

@media only screen and (min-width: 640px) {
  #humb_wrap_fix {
    width: 58px;
    height: 58px;
    border-radius: 0 0 0 6px;
    right: 116px; }
    #humb_wrap_fix .humb {
      width: 14px;
      height: 7px; }

  #rsv_fix {
    width: 116px;
    height: 58px; }
    #rsv_fix .txt-wrap {
      position: relative;
      z-index: 1;
      left: 0;
      top: 0;
      padding: 0 0 0 19.5px; }
      #rsv_fix .txt-wrap .icon {
        width: 13px;
        height: 13px;
        background-size: cover;
        position: absolute;
        z-index: 1;
        left: 0;
        top: 50%;
        transform: translate(0, -40%);
        margin: 0; }
      #rsv_fix .txt-wrap .txt {
        font-size: 1.2rem;
        margin: 0; } }
@media only screen and (min-width: 960px) {
  #humb_wrap_fix {
    width: 64px;
    height: 64px;
    border-radius: 0 0 0 8px;
    right: 128px; }
    #humb_wrap_fix .humb {
      width: 16px;
      height: 8px; }

  #rsv_fix {
    width: 128px;
    height: 64px; }
    #rsv_fix .txt-wrap {
      padding: 0 0 0 21px; }
      #rsv_fix .txt-wrap .icon {
        width: 14px;
        height: 14px;
        background-size: cover; }
      #rsv_fix .txt-wrap .txt {
        font-size: 1.4rem; } }
@media only screen and (min-width: 1280px) {
  #humb_wrap_fix {
    top: -64px;
    opacity: 0;
    transition: all .4s; }

  #rsv_fix {
    top: -64px;
    opacity: 0;
    transition: all .4s; } }
@media (hover: hover) {
  #humb_wrap_fix .humb span:nth-of-type(1) {
    transition: top .4s; }
  #humb_wrap_fix .humb span:nth-of-type(2) {
    transition: bottom .4s; }
  #humb_wrap_fix:hover .humb span:nth-of-type(1) {
    top: 50%; }
  #humb_wrap_fix:hover .humb span:nth-of-type(2) {
    bottom: 50%; }

  #rsv_fix .txt-wrap .icon {
    transition: opacity .4s; }
  #rsv_fix .txt-wrap .txt {
    transition: opacity .4s; }
  #rsv_fix:hover .txt-wrap .icon {
    opacity: .48; }
  #rsv_fix:hover .txt-wrap .txt {
    opacity: .48; } }
/*//////////////////////////////////////////////////
モーダルメニュー
//////////////////////////////////////////////////*/
#modal_cover {
  display: none;
  width: 100%;
  min-width: 375px;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0);
  position: fixed;
  z-index: 99;
  left: 0;
  top: 0; }

#modal_menu {
  line-height: 1;
  height: 100vh;
  background-color: #fff;
  position: fixed;
  z-index: 100;
  right: 0;
  top: 0;
  transform: translate(100%, 0);
  transition: transform .4s; }
  #modal_menu::before, #modal_menu::after {
    content: '';
    display: block;
    width: 100%;
    height: 40px;
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, 0), white); }
  #modal_menu::after {
    top: auto;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white); }
  #modal_menu #menu_close {
    width: 52px;
    height: 52px;
    border-radius: 0 0 0 4px;
    background-color: #73ac85;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 3;
    right: 0;
    top: 0;
    cursor: pointer; }
    #modal_menu #menu_close .close {
      width: 17px;
      height: 17px;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0; }
      #modal_menu #menu_close .close span {
        display: block;
        width: 100%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        z-index: 1;
        left: 0; }
      #modal_menu #menu_close .close span:nth-of-type(1) {
        top: 0;
        transform: translateY(8px) rotate(-45deg); }
      #modal_menu #menu_close .close span:nth-of-type(2) {
        bottom: 0;
        transform: translateY(-8px) rotate(45deg); }
  #modal_menu .inner {
    height: 100%;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    #modal_menu .inner .wrap {
      width: 295px;
      padding: 80px 40px; }
      #modal_menu .inner .wrap .logo {
        position: relative;
        z-index: 1;
        left: -4px;
        top: 0; }
        #modal_menu .inner .wrap .logo a {
          display: block;
          width: 200px;
          height: 71px; }
          #modal_menu .inner .wrap .logo a img {
            width: 100%;
            height: 100%; }
      #modal_menu .inner .wrap nav {
        margin: 40px 0 0; }
        #modal_menu .inner .wrap nav ul li {
          margin: 32px 0 0; }
          #modal_menu .inner .wrap nav ul li:first-of-type {
            margin: 0; }
          #modal_menu .inner .wrap nav ul li a {
            display: inline-block; }
      #modal_menu .inner .wrap .timetable-info {
        margin: 40px 0 0; }
        #modal_menu .inner .wrap .timetable-info .info-wrap {
          margin: 20px 0 0; }

@media only screen and (min-width: 640px) {
  #modal_menu::before, #modal_menu::after {
    height: 60px; }
  #modal_menu #menu_close {
    width: 58px;
    height: 58px; }
    #modal_menu #menu_close .close {
      width: 19px;
      height: 19px; }
      #modal_menu #menu_close .close span:nth-of-type(1) {
        transform: translateY(9px) rotate(-45deg); }
      #modal_menu #menu_close .close span:nth-of-type(2) {
        transform: translateY(-9px) rotate(45deg); }
  #modal_menu .inner .wrap {
    width: 400px;
    padding: 120px 60px; }
    #modal_menu .inner .wrap .logo {
      left: -6px; }
      #modal_menu .inner .wrap .logo a {
        width: 260px;
        height: 79px; }
    #modal_menu .inner .wrap nav {
      margin: 52px 0 0; }
      #modal_menu .inner .wrap nav ul li {
        margin: 40px 0 0; }
    #modal_menu .inner .wrap .timetable-info {
      margin: 52px 0 0; }
      #modal_menu .inner .wrap .timetable-info .info-wrap {
        margin: 26px 0 0; } }
@media only screen and (min-width: 960px) {
  #modal_menu::before, #modal_menu::after {
    height: 80px; }
  #modal_menu #menu_close {
    width: 64px;
    height: 64px; }
    #modal_menu #menu_close .close {
      width: 21px;
      height: 21px; }
      #modal_menu #menu_close .close span:nth-of-type(1) {
        transform: translateY(10px) rotate(-45deg); }
      #modal_menu #menu_close .close span:nth-of-type(2) {
        transform: translateY(-10px) rotate(45deg); }
  #modal_menu .inner .wrap {
    width: 500px;
    padding: 160px 80px; }
    #modal_menu .inner .wrap .logo {
      left: -8px; }
      #modal_menu .inner .wrap .logo a {
        width: 320px;
        height: 87px; }
    #modal_menu .inner .wrap nav {
      margin: 64px 0 0; }
      #modal_menu .inner .wrap nav ul li {
        margin: 48px 0 0; }
    #modal_menu .inner .wrap .timetable-info {
      margin: 64px 0 0; }
      #modal_menu .inner .wrap .timetable-info .info-wrap {
        margin: 32px 0 0; } }
@media (hover: hover) {
  #modal_menu #menu_close .close {
    transition: opacity .4s; }
  #modal_menu #menu_close:hover .close {
    opacity: .48; }
  #modal_menu .inner .wrap nav ul li a {
    transition: opacity .4s; }
    #modal_menu .inner .wrap nav ul li a:hover {
      opacity: .48; } }
/*//////////////////////////////////////////////////
ヘッダー
//////////////////////////////////////////////////*/
header {
  line-height: 1;
  padding: 20px 0; }
  header .inner {
    width: 88%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
    header .inner .logo a {
      display: block;
      width: 200px;
      height: 71px; }
      header .inner .logo a img {
        width: 100%;
        height: 100%; }
    header .inner .timetable-info {
      display: none; }
  header nav {
    display: none; }

@media only screen and (min-width: 640px) {
  header {
    padding: 26px 0; }
    header .inner {
      width: 90%; }
      header .inner .logo a {
        width: 260px;
        height: 79px; } }
@media only screen and (min-width: 960px) {
  header {
    padding: 32px 0; }
    header .inner {
      width: 92%; }
      header .inner .logo a {
        width: 320px;
        height: 87px; } }
@media only screen and (min-width: 1280px) {
  header .inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center; }
    header .inner .timetable-info {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-end;
      align-items: stretch;
      gap: 26px; }
      header .inner .timetable-info .timetable-wrap {
        width: 466px; }
        header .inner .timetable-info .timetable-wrap .timetable tr th {
          height: 47px; }
        header .inner .timetable-info .timetable-wrap .timetable tr td {
          height: 47px; }
      header .inner .timetable-info .info-wrap {
        padding: 0 26px; }
  header nav {
    display: block;
    background-color: #73ac85;
    width: 1200px;
    height: 64px;
    border-radius: 32px;
    margin: 32px auto 0; }
    header nav ul {
      height: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 40px; }
      header nav ul li {
        height: 100%; }
        header nav ul li a, header nav ul li .active {
          color: #fff !important;
          height: 100%;
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center; }
        header nav ul li .active {
          position: relative;
          z-index: 1;
          left: 0;
          top: 0; }
          header nav ul li .active::after {
            content: '';
            display: block;
            width: 100%;
            height: 2px;
            background-color: #fff;
            position: absolute;
            z-index: 1;
            left: 0;
            bottom: 0; } }
@media only screen and (min-width: 1440px) {
  header .inner .timetable-info {
    gap: 32px; }
    header .inner .timetable-info .timetable-wrap {
      width: 500px; }
    header .inner .timetable-info .info-wrap {
      padding: 0 32px; } }
@media (hover: hover) {
  header nav ul li a .txt {
    transition: opacity .4s; }
  header nav ul li a:hover .txt {
    opacity: .48; } }
/*//////////////////////////////////////////////////
フッター
//////////////////////////////////////////////////*/
footer {
  line-height: 1;
  padding: 44px 0 32px;
  border-radius: 32px 32px 0 0;
  background-color: #73ac85; }
  footer .inner {
    width: 88%;
    margin: 0 auto; }
    footer .inner .logo {
      display: block;
      width: 200px;
      height: 108px;
      margin: 0 auto; }
      footer .inner .logo img {
        width: 100%;
        height: 100%; }
    footer .inner ul {
      width: 320px;
      margin: 32px auto 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
      gap: 16px; }
      footer .inner ul li.devider {
        width: 1px;
        height: 12px;
        background-color: rgba(255, 255, 255, 0.32); }
        footer .inner ul li.devider.none-sp {
          display: none; }
      footer .inner ul li a {
        color: #fff;
        display: inline-block; }
    footer .inner .copy {
      line-height: 1.7;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
      width: 100%;
      margin: 44px 0 0; }

@media only screen and (min-width: 640px) {
  footer {
    padding: 66px 0 40px;
    border-radius: 48px 48px 0 0; }
    footer .inner {
      width: 90%; }
      footer .inner .logo {
        width: 260px;
        height: 140px; }
      footer .inner ul {
        width: 450px;
        margin: 40px auto 0;
        gap: 20px; }
        footer .inner ul li.devider {
          height: 13px; }
          footer .inner ul li.devider.none-sp {
            display: block; }
          footer .inner ul li.devider.none-tb {
            display: none; }
      footer .inner .copy {
        margin: 66px 0 0; } }
@media only screen and (min-width: 960px) {
  footer {
    padding: 88px 0 48px;
    border-radius: 64px 64px 0 0; }
    footer .inner {
      width: 92%; }
      footer .inner .logo {
        width: 320px;
        height: 172px; }
      footer .inner ul {
        width: 500px;
        margin: 48px auto 0;
        gap: 24px; }
        footer .inner ul li.devider {
          height: 14px; }
      footer .inner .copy {
        margin: 88px 0 0; } }
@media only screen and (min-width: 1280px) {
  footer .inner ul {
    width: 100%; }
    footer .inner ul li.devider.none-tb {
      display: block; } }
@media (hover: hover) {
  footer .inner ul li a {
    transition: opacity .4s; }
    footer .inner ul li a:hover {
      opacity: .48; } }
/*//////////////////////////////////////////////////
フロントページ
//////////////////////////////////////////////////*/
.front-page .hero-slider {
  width: calc(100% - 32px);
  height: 400px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  left: 0;
  top: 0;
  border-radius: 12px;
  overflow: hidden; }
  .front-page .hero-slider .copy-wrap {
    display: inline-block;
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0;
    background-color: #f7f2ee;
    border-radius: 0 12px 0 0;
    padding: 32px 32px 16px 16px; }
    .front-page .hero-slider .copy-wrap .sm {
      margin: 0 0 0 2px; }
    .front-page .hero-slider .copy-wrap .copy {
      line-height: 1.7;
      margin: 4px 0 0;
      text-shadow: 0 0 0.5px rgba(0, 0, 0, 0.3); }
  .front-page .hero-slider .swiper-wrapper {
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    .front-page .hero-slider .swiper-wrapper .swiper-slide {
      width: 100%;
      height: 100%; }
.front-page .intro {
  padding: 60px 0; }
  .front-page .intro .inner {
    width: 88%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    .front-page .intro .inner::after {
      content: '';
      display: block;
      width: 300px;
      height: 300px;
      background-size: cover;
      background-image: url("../img/common/common_logo-icon.svg");
      opacity: .16;
      position: absolute;
      z-index: 1;
      left: 50%;
      top: 50%;
      transform: translate(0, -50%); }
    .front-page .intro .inner .txt-wrap {
      position: relative;
      z-index: 2;
      left: 0;
      top: 0; }
      .front-page .intro .inner .txt-wrap p {
        margin: 32px 0 0; }
        .front-page .intro .inner .txt-wrap p br {
          display: none; }
      .front-page .intro .inner .txt-wrap .sign {
        text-align: right;
        margin: 16px 0 0; }
      .front-page .intro .inner .txt-wrap .link-wrap {
        margin: 32px 0 0; }
    .front-page .intro .inner .img {
      max-width: 400px;
      margin: 40px auto 0;
      border-radius: 8px;
      overflow: hidden;
      position: relative;
      z-index: 2;
      left: 0;
      top: 0; }
.front-page .clink {
  padding: 0 0 60px;
  position: relative;
  z-index: 2;
  left: 0;
  top: 0; }
  .front-page .clink::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(100% - 30vw);
    border-radius: 32px 32px 0 0;
    background-color: #f6abb4;
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    opacity: .16; }
  .front-page .clink .inner {
    width: 88%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 60px;
    position: relative;
    z-index: 2;
    left: 0;
    top: 0; }
    .front-page .clink .inner .item {
      max-width: 540px;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0;
      background-color: #fff;
      border-radius: 8px; }
      .front-page .clink .inner .item .img {
        display: block;
        border-radius: 8px 8px 0 0;
        overflow: hidden; }
      .front-page .clink .inner .item .txt-wrap {
        padding: 20px 24px 44px; }
        .front-page .clink .inner .item .txt-wrap h2 {
          line-height: 1.7;
          text-align: center; }
          .front-page .clink .inner .item .txt-wrap h2 a {
            display: inline-block; }
        .front-page .clink .inner .item .txt-wrap p {
          margin: 16px 0 0; }
      .front-page .clink .inner .item .btn {
        display: block;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: #73ac85;
        border: solid 4px #fff;
        position: absolute;
        z-index: 2;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, 50%); }
        .front-page .clink .inner .item .btn::before {
          content: '';
          display: block;
          width: 6px;
          height: 6px;
          background-size: cover;
          background-image: url("../img/common/common_arrow-white.png");
          position: absolute;
          z-index: 1;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%); }
.front-page .cost {
  padding: 44px 0 60px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0; }
  .front-page .cost::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f6abb4;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    opacity: .16; }
  .front-page .cost .btn-1 {
    margin: 0 auto;
    z-index: 2; }
.front-page .gallery {
  padding: 0 0 44px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0; }
  .front-page .gallery::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f6abb4;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    opacity: .16; }
  .front-page .gallery .inner {
    width: 88%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    left: 0;
    top: 0; }
    .front-page .gallery .inner .wrap {
      width: 100%;
      display: flex;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: flex-start;
      gap: 40px; }
      .front-page .gallery .inner .wrap .img {
        width: calc(50% - 20px);
        border-radius: 4px;
        overflow: hidden;
        margin: 40px 0 0; }
        .front-page .gallery .inner .wrap .img:nth-of-type(2) {
          margin: 0; }
.front-page .news {
  padding: 44px 0;
  background-color: #fff; }
  .front-page .news .inner {
    width: 88%;
    max-width: 900px;
    margin: 0 auto; }
    .front-page .news .inner h2 {
      margin: 0 0 16px; }
    .front-page .news .inner .item {
      line-height: 1.7;
      border-bottom: solid 1px #e0e0e0; }
      .front-page .news .inner .item a {
        display: inline-block;
        width: 100%;
        padding: 16px 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 12px; }
        .front-page .news .inner .item a .date {
          display: inline-block;
          width: 64px; }
        .front-page .news .inner .item a .devider {
          display: block;
          width: 1px;
          height: 12px;
          background-color: #e0e0e0; }
        .front-page .news .inner .item a h3 {
          display: inline-block;
          width: calc(100% - 89px);
          overflow: hidden;
          position: relative;
          z-index: 1;
          left: 0;
          top: -1px; }
    .front-page .news .inner .link-wrap {
      margin: 32px 0 0; }

#calendar_map {
  padding: 44px 0; }
  #calendar_map .inner {
    width: 88%;
    max-width: 540px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 20px; }
    #calendar_map .inner .wrap-1 {
      width: 100%; }
      #calendar_map .inner .wrap-1 .info-wrap {
        margin: 20px 0 0; }
    #calendar_map .inner .wrap-2 {
      width: 100%; }
      #calendar_map .inner .wrap-2 .map {
        border: solid 1px #e0e0e0;
        box-sizing: border-box;
        border-radius: 4px;
        overflow: hidden; }
  #calendar_map.access {
    padding: 0; }

#medical_item {
  padding: 44px 0;
  overflow: hidden; }
  #medical_item .inner {
    width: 88%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    #medical_item .inner::after {
      content: '';
      display: block;
      width: 300px;
      height: 300px;
      background-size: cover;
      background-image: url("../img/common/common_logo-icon.svg");
      opacity: .16;
      position: absolute;
      z-index: 1;
      left: 50%;
      top: 50%;
      transform: translate(0, -50%); }
    #medical_item .inner .item-wrap {
      margin: 32px 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: stretch;
      gap: 10px;
      position: relative;
      z-index: 2;
      left: 0;
      top: 0; }
      #medical_item .inner .item-wrap .item {
        line-height: 1.7;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: calc(50% - 5px);
        padding: 16px;
        box-sizing: border-box;
        border-radius: 4px;
        background-color: #799ec3; }
        #medical_item .inner .item-wrap .item .txt {
          display: inline-block; }

@media only screen and (min-width: 640px) {
  .front-page .hero-slider {
    width: calc(100% - 48px);
    height: 500px;
    border-radius: 18px; }
    .front-page .hero-slider .copy-wrap {
      border-radius: 0 18px 0 0;
      padding: 48px 48px 24px 24px; }
      .front-page .hero-slider .copy-wrap .sm {
        margin: 0 0 0 3px; }
      .front-page .hero-slider .copy-wrap .copy {
        margin: 6px 0 0; }
  .front-page .intro {
    padding: 90px 0; }
    .front-page .intro .inner {
      width: 90%; }
      .front-page .intro .inner::after {
        width: 450px;
        height: 450px;
        background-size: cover; }
      .front-page .intro .inner .txt-wrap p {
        margin: 40px 0 0; }
      .front-page .intro .inner .txt-wrap .sign {
        margin: 20px 0 0; }
      .front-page .intro .inner .img {
        margin: 52px auto 0;
        border-radius: 12px; }
  .front-page .clink {
    padding: 0 0 90px; }
    .front-page .clink::after {
      height: calc(100% - 180px);
      border-radius: 48px 48px 0 0; }
    .front-page .clink .inner {
      width: 90%;
      gap: 90px; }
      .front-page .clink .inner .item {
        border-radius: 12px; }
        .front-page .clink .inner .item .img {
          border-radius: 12px 12px 0 0; }
        .front-page .clink .inner .item .txt-wrap {
          padding: 26px 36px 62px; }
          .front-page .clink .inner .item .txt-wrap p {
            margin: 20px 0 0; }
        .front-page .clink .inner .item .btn {
          width: 52px;
          height: 52px; }
          .front-page .clink .inner .item .btn::before {
            width: 7px;
            height: 7px;
            background-size: cover; }
  .front-page .cost {
    padding: 66px 0 90px; }
  .front-page .gallery {
    padding: 0 0 66px; }
    .front-page .gallery .inner {
      width: 120%;
      margin: 0;
      left: 50%;
      transform: translate(-50%, 0);
      display: flex;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: flex-start;
      gap: 52px; }
      .front-page .gallery .inner .wrap {
        width: calc(50% - 26px);
        gap: 52px; }
        .front-page .gallery .inner .wrap .img {
          width: calc(55% - 26px);
          border-radius: 6px;
          margin: 52px 0 0; }
          .front-page .gallery .inner .wrap .img:nth-of-type(2n) {
            width: calc(45% - 26px); }
  .front-page .news {
    padding: 66px 0; }
    .front-page .news .inner {
      width: 90%; }
      .front-page .news .inner h2 {
        margin: 0 0 20px; }
      .front-page .news .inner .item a {
        padding: 20px 0;
        gap: 14px; }
        .front-page .news .inner .item a .date {
          width: 68px; }
        .front-page .news .inner .item a .devider {
          height: 13px; }
        .front-page .news .inner .item a h3 {
          width: calc(100% - 97px);
          top: -1.5px; }
      .front-page .news .inner .link-wrap {
        margin: 40px 0 0; }

  #calendar_map {
    padding: 66px 0; }
    #calendar_map .inner {
      width: 90%;
      gap: 26px; }
      #calendar_map .inner .wrap-1 .info-wrap {
        margin: 26px 0 0; }
      #calendar_map .inner .wrap-2 .map {
        border-radius: 6px; }

  #medical_item {
    padding: 66px 0; }
    #medical_item .inner {
      width: 90%; }
      #medical_item .inner::after {
        width: 450px;
        height: 450px;
        background-size: cover; }
      #medical_item .inner .item-wrap {
        margin: 40px 0 0;
        gap: 15px; }
        #medical_item .inner .item-wrap .item {
          width: calc(33.3% - 10px);
          padding: 20px;
          border-radius: 6px; } }
@media only screen and (min-width: 960px) {
  .front-page .hero-slider {
    width: calc(100% - 64px);
    height: 600px;
    border-radius: 24px; }
    .front-page .hero-slider .copy-wrap {
      border-radius: 0 24px 0 0;
      padding: 64px 64px 32px 32px; }
      .front-page .hero-slider .copy-wrap .sm {
        margin: 0 0 0 4px; }
      .front-page .hero-slider .copy-wrap .copy {
        margin: 8px 0 0; }
  .front-page .intro {
    padding: 120px 0; }
    .front-page .intro .inner {
      width: 92%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center; }
      .front-page .intro .inner::after {
        width: 600px;
        height: 600px;
        background-size: cover; }
      .front-page .intro .inner .txt-wrap {
        width: 56.7%; }
        .front-page .intro .inner .txt-wrap p {
          margin: 48px 0 0; }
        .front-page .intro .inner .txt-wrap .sign {
          margin: 24px 0 0; }
      .front-page .intro .inner .img {
        margin: 0;
        border-radius: 16px;
        width: 33.3%; }
  .front-page .clink {
    padding: 0 0 120px; }
    .front-page .clink::after {
      height: calc(100% - 15vw);
      border-radius: 64px 64px 0 0; }
    .front-page .clink .inner {
      width: 92%;
      justify-content: space-between;
      gap: 0; }
      .front-page .clink .inner .item {
        width: 45%;
        border-radius: 16px; }
        .front-page .clink .inner .item .img {
          border-radius: 16px 16px 0 0; }
        .front-page .clink .inner .item .txt-wrap {
          padding: 32px 48px 80px; }
          .front-page .clink .inner .item .txt-wrap p {
            margin: 24px 0 0; }
        .front-page .clink .inner .item .btn {
          width: 64px;
          height: 64px; }
          .front-page .clink .inner .item .btn::before {
            width: 8px;
            height: 8px;
            background-size: cover; }
    .front-page .clink .link-wrap {
      margin: 120px 0 0; }
  .front-page .cost {
    padding: 88px 0 120px; }
  .front-page .gallery {
    padding: 0 0 88px; }
    .front-page .gallery .inner {
      gap: 64px; }
      .front-page .gallery .inner .wrap {
        width: calc(50% - 32px);
        gap: 64px; }
        .front-page .gallery .inner .wrap .img {
          width: calc(55% - 32px);
          border-radius: 8px;
          margin: 64px 0 0; }
          .front-page .gallery .inner .wrap .img:nth-of-type(2n) {
            width: calc(45% - 32px); }
  .front-page .news {
    padding: 88px 0; }
    .front-page .news .inner {
      width: 92%; }
      .front-page .news .inner h2 {
        margin: 0 0 24px; }
      .front-page .news .inner .item a {
        padding: 24px 0;
        gap: 16px; }
        .front-page .news .inner .item a .date {
          width: 72px; }
        .front-page .news .inner .item a .devider {
          height: 14px; }
        .front-page .news .inner .item a h3 {
          width: calc(100% - 105px);
          top: -2px; }
      .front-page .news .inner .link-wrap {
        margin: 48px 0 0; }

  #calendar_map {
    padding: 88px 0; }
    #calendar_map .inner {
      width: 92%;
      max-width: 1200px;
      gap: 88px; }
      #calendar_map .inner .wrap-1 {
        width: calc(50% - 44px); }
        #calendar_map .inner .wrap-1 .info-wrap {
          margin: 32px 0 0; }
      #calendar_map .inner .wrap-2 {
        width: calc(50% - 44px); }
        #calendar_map .inner .wrap-2 .map {
          border-radius: 8px; }

  #medical_item {
    padding: 88px 0; }
    #medical_item .inner {
      width: 92%; }
      #medical_item .inner::after {
        width: 600px;
        height: 600px;
        background-size: cover; }
      #medical_item .inner .item-wrap {
        margin: 48px 0 0;
        gap: 20px; }
        #medical_item .inner .item-wrap .item {
          width: calc(25% - 15px);
          padding: 24px;
          border-radius: 8px; } }
@media only screen and (min-width: 1280px) {
  .front-page .intro .inner {
    width: 1200px; }
    .front-page .intro .inner .txt-wrap p br {
      display: block; }
  .front-page .clink::after {
    height: calc(100% - 180px); }
  .front-page .clink .inner {
    width: 1200px; }
  .front-page .gallery .inner {
    width: 1632px; }
    .front-page .gallery .inner .wrap {
      width: 784px; }
      .front-page .gallery .inner .wrap .img {
        width: 400px; }
        .front-page .gallery .inner .wrap .img:nth-of-type(2n) {
          width: 320px; }

  #calendar_map .inner {
    width: 1200px; }

  #medical_item .inner {
    width: 1200px; } }
@media (hover: hover) {
  .front-page .clink .inner .item .img {
    will-change: transform; }
    .front-page .clink .inner .item .img img {
      transition: transform 1.2s; }
    .front-page .clink .inner .item .img:hover img {
      transform: scale(1.12); }
  .front-page .clink .inner .item .btn::before {
    transition: opacity .4s; }
  .front-page .clink .inner .item .btn:hover::before {
    opacity: .48; }

  #medical_item .inner .item-wrap .item .txt {
    transition: opacity .4s; }
  #medical_item .inner .item-wrap .item:hover .txt {
    opacity: .48; } }
/*//////////////////////////////////////////////////
固定ページ
//////////////////////////////////////////////////*/
.page-general .header-under {
  height: 200px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0; }
  .page-general .header-under h1, .page-general .header-under .title {
    line-height: 1;
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0;
    background-color: #f7f2ee;
    border-radius: 0 12px 0 0;
    padding: 16px 16px 16px 6%; }
  .page-general .header-under .img {
    height: 100%;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
.page-general .breadcrumbs {
  line-height: 1;
  width: 88%;
  margin: 32px auto 0; }
  .page-general .breadcrumbs .arrow {
    display: inline-block;
    background-image: url("../img/common/common_arrow.svg");
    width: 6px;
    height: 6px;
    background-size: cover;
    margin: 0 6px;
    position: relative;
    z-index: 1;
    left: 0;
    top: -1px; }
.page-general .contents {
  padding: 60px 0; }
  .page-general .contents #medical_item {
    padding: 0; }
    .page-general .contents #medical_item .inner {
      max-width: 900px; }
      .page-general .contents #medical_item .inner::after {
        content: none; }
      .page-general .contents #medical_item .inner .item-wrap {
        margin: 0; }
  .page-general .contents .inner {
    width: 88%;
    margin: 0 auto; }
    .page-general .contents .inner.medical {
      max-width: 900px; }
      .page-general .contents .inner.medical .to-all {
        margin: 44px 0 0; }
        .page-general .contents .inner.medical .to-all .btn-1 {
          margin: 0 auto; }
    .page-general .contents .inner .pink-btn a {
      line-height: 1;
      max-width: 600px;
      height: 120px;
      border-radius: 4px;
      margin: 0 auto;
      background-color: #e88e96;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; }
      .page-general .contents .inner .pink-btn a .txt {
        display: inline-block; }
    .page-general .contents .inner .green-btn {
      text-align: center; }
      .page-general .contents .inner .green-btn a {
        line-height: 1;
        display: inline-block;
        padding: 20px;
        border-radius: 4px;
        background-color: #73ac85; }
        .page-general .contents .inner .green-btn a .txt {
          display: inline-block; }
    .page-general .contents .inner .flow-arrow {
      display: block;
      background-image: url("../img/common/common_arrow.svg");
      width: 16px;
      height: 16px;
      background-size: cover;
      margin: 16px auto;
      transform: rotate(90deg); }
    .page-general .contents .inner .faq-item {
      border-radius: 8px;
      overflow: hidden;
      background-color: #fff;
      border: solid 1px #e0e0e0;
      box-sizing: border-box; }
      .page-general .contents .inner .faq-item .title {
        margin: 0;
        color: #fff;
        background-color: #73ac85;
        padding: 20px 40px 20px 20px;
        position: relative;
        z-index: 1;
        left: 0;
        top: 0;
        cursor: pointer; }
        .page-general .contents .inner .faq-item .title::after {
          content: '';
          display: block;
          width: 6px;
          height: 6px;
          background-size: cover;
          background-image: url("../img/common/common_arrow-white.png");
          transform: translate(0, -50%) rotate(90deg);
          position: absolute;
          z-index: 1;
          right: 20px;
          top: 50%; }
        .page-general .contents .inner .faq-item .title .txt {
          display: inline-block; }
        .page-general .contents .inner .faq-item .title.active::after {
          transform: translate(0, -50%) rotate(-90deg); }
      .page-general .contents .inner .faq-item .ans {
        display: none;
        padding: 20px; }
    .page-general .contents .inner .intro-txt-layout .only-pc {
      display: none; }
    .page-general .contents .inner .gmap {
      border-radius: 8px;
      overflow: hidden;
      border: solid 1px #e0e0e0;
      height: 320px;
      box-sizing: border-box; }
    .page-general .contents .inner .three-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: flex-start;
      gap: 8px; }
      .page-general .contents .inner .three-list ul {
        width: 100%; }
    .page-general .contents .inner .about-layout .img {
      margin: 32px 0;
      border-radius: 8px;
      overflow: hidden; }
      .page-general .contents .inner .about-layout .img.pc {
        display: none; }
    .page-general .contents .inner .about-layout p .only-pc {
      display: none; }
    .page-general .contents .inner .about-layout .sign {
      text-align: right;
      margin: 32px 0 0; }

@media only screen and (min-width: 640px) {
  .page-general .header-under {
    height: 250px; }
    .page-general .header-under h1, .page-general .header-under .title {
      border-radius: 0 18px 0 0;
      padding: 24px 24px 24px 5%; }
  .page-general .breadcrumbs {
    width: 90%;
    margin: 40px auto 0; }
    .page-general .breadcrumbs .arrow {
      width: 7px;
      height: 7px;
      background-size: cover;
      margin: 0 7px;
      top: -0.75px; }
  .page-general .contents {
    padding: 90px 0; }
    .page-general .contents .inner {
      width: 90%; }
      .page-general .contents .inner.medical .to-all {
        margin: 66px 0 0; }
      .page-general .contents .inner .pink-btn a {
        height: 140px;
        border-radius: 6px; }
      .page-general .contents .inner .green-btn a {
        padding: 26px;
        border-radius: 6px; }
      .page-general .contents .inner .flow-arrow {
        width: 20px;
        height: 20px;
        background-size: cover;
        margin: 20px auto; }
      .page-general .contents .inner .faq-item {
        border-radius: 12px; }
        .page-general .contents .inner .faq-item .title {
          padding: 26px 52px 26px 26px; }
          .page-general .contents .inner .faq-item .title::after {
            width: 7px;
            height: 7px;
            background-size: cover;
            right: 26px; }
        .page-general .contents .inner .faq-item .ans {
          padding: 26px; }
      .page-general .contents .inner .gmap {
        border-radius: 12px;
        height: 400px; }
      .page-general .contents .inner .three-list {
        gap: 8px; }
        .page-general .contents .inner .three-list ul {
          width: calc(50% - 4px); }
      .page-general .contents .inner .about-layout .img {
        width: 52%;
        margin: 0 0 40px 40px;
        float: right;
        border-radius: 12px; }
        .page-general .contents .inner .about-layout .img.sp {
          display: none; }
        .page-general .contents .inner .about-layout .img.pc {
          display: block; }
      .page-general .contents .inner .about-layout p .only-pc {
        display: block; }
      .page-general .contents .inner .about-layout .sign {
        margin: 40px 0 0; } }
@media only screen and (min-width: 960px) {
  .page-general .header-under {
    height: 300px; }
    .page-general .header-under h1, .page-general .header-under .title {
      border-radius: 0 24px 0 0;
      padding: 32px 32px 32px 4%; }
  .page-general .breadcrumbs {
    width: 92%;
    margin: 48px auto 0; }
    .page-general .breadcrumbs .arrow {
      width: 8px;
      height: 8px;
      background-size: cover;
      margin: 0 8px;
      top: -0.5px; }
  .page-general .contents {
    padding: 120px 0; }
    .page-general .contents .inner {
      width: 92%; }
      .page-general .contents .inner.medical .to-all {
        margin: 88px 0 0; }
      .page-general .contents .inner .pink-btn a {
        height: 160px;
        border-radius: 8px; }
      .page-general .contents .inner .green-btn a {
        padding: 32px;
        border-radius: 8px; }
      .page-general .contents .inner .flow-arrow {
        width: 24px;
        height: 24px;
        background-size: cover;
        margin: 24px auto; }
      .page-general .contents .inner .faq-item {
        border-radius: 16px; }
        .page-general .contents .inner .faq-item .title {
          padding: 32px 64px 32px 32px; }
          .page-general .contents .inner .faq-item .title::after {
            width: 8px;
            height: 8px;
            background-size: cover;
            right: 32px; }
        .page-general .contents .inner .faq-item .ans {
          padding: 32px; }
      .page-general .contents .inner .intro-txt-layout {
        text-align: center; }
        .page-general .contents .inner .intro-txt-layout .only-pc {
          display: block; }
      .page-general .contents .inner .gmap {
        border-radius: 16px;
        height: 480px; }
      .page-general .contents .inner .three-list ul {
        width: calc(33.3% - 6px); }
      .page-general .contents .inner .about-layout .img {
        margin: 0 0 48px 48px;
        border-radius: 16px; }
      .page-general .contents .inner .about-layout .sign {
        margin: 48px 0 0; } }
@media only screen and (min-width: 1280px) {
  .page-general .header-under h1, .page-general .header-under .title {
    padding: 32px 32px 32px calc(50% - 600px); }
  .page-general .breadcrumbs {
    width: 1200px; }
  .page-general .contents .inner {
    width: 1200px; } }
@media (hover: hover) {
  .page-general .breadcrumbs a {
    transition: opacity .4s; }
    .page-general .breadcrumbs a:hover {
      opacity: .48; }
  .page-general .contents .inner .pink-btn a .txt {
    transition: opacity .4s; }
  .page-general .contents .inner .pink-btn a:hover .txt {
    opacity: .48; }
  .page-general .contents .inner .green-btn a .txt {
    transition: opacity .4s; }
  .page-general .contents .inner .green-btn a:hover .txt {
    opacity: .48; }
  .page-general .contents .inner .faq-item .title .txt {
    transition: opacity .4s; }
  .page-general .contents .inner .faq-item .title::after {
    transition: opacity .4s; }
  .page-general .contents .inner .faq-item .title:hover .txt {
    opacity: .48; }
  .page-general .contents .inner .faq-item .title:hover::after {
    opacity: .48; } }
/*//////////////////////////////////////////////////
お知らせ一覧
//////////////////////////////////////////////////*/
.page-news .contents {
  padding: 44px 0 60px; }
  .page-news .contents .inner {
    max-width: 900px; }
    .page-news .contents .inner .item {
      line-height: 1.7;
      border-bottom: solid 1px #e0e0e0; }
      .page-news .contents .inner .item a {
        display: inline-block;
        width: 100%;
        padding: 16px 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 12px; }
        .page-news .contents .inner .item a .date {
          display: inline-block;
          width: 64px; }
        .page-news .contents .inner .item a .devider {
          display: block;
          width: 1px;
          height: 12px;
          background-color: #e0e0e0; }
        .page-news .contents .inner .item a h3 {
          display: inline-block;
          width: calc(100% - 89px);
          overflow: hidden;
          position: relative;
          z-index: 1;
          left: 0;
          top: -1px; }
    .page-news .contents .inner .pagenation {
      width: 100%;
      margin: 32px 0 0;
      line-height: 1;
      text-align: center; }
      .page-news .contents .inner .pagenation .pagenation-inner {
        display: inline-block;
        border: solid 1px #73ac85;
        border-radius: 2px; }
        .page-news .contents .inner .pagenation .pagenation-inner h2 {
          display: none; }
        .page-news .contents .inner .pagenation .pagenation-inner .nav-links {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center; }
        .page-news .contents .inner .pagenation .pagenation-inner a, .page-news .contents .inner .pagenation .pagenation-inner .current, .page-news .contents .inner .pagenation .pagenation-inner .dots {
          display: block;
          width: 32px;
          height: 32px;
          padding: 2px 0 0 2px;
          border-left: solid 1px #73ac85;
          box-sizing: border-box;
          color: #73ac85;
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center; }
        .page-news .contents .inner .pagenation .pagenation-inner .current {
          background-color: #73ac85;
          color: #fff; }
        .page-news .contents .inner .pagenation .pagenation-inner .prev {
          border: none; }

@media only screen and (min-width: 640px) {
  .page-news .contents {
    padding: 70px 0 90px; }
    .page-news .contents .inner .item a {
      padding: 20px 0;
      gap: 14px; }
      .page-news .contents .inner .item a .date {
        width: 68px; }
      .page-news .contents .inner .item a .devider {
        height: 13px; }
      .page-news .contents .inner .item a h3 {
        width: calc(100% - 97px);
        top: -1.5px; }
    .page-news .contents .inner .pagenation {
      margin: 40px 0 0; }
      .page-news .contents .inner .pagenation .pagenation-inner {
        border-radius: 3px; }
        .page-news .contents .inner .pagenation .pagenation-inner a, .page-news .contents .inner .pagenation .pagenation-inner .current, .page-news .contents .inner .pagenation .pagenation-inner .dots {
          width: 36px;
          height: 36px; } }
@media only screen and (min-width: 960px) {
  .page-news .contents {
    padding: 96px 0 120px; }
    .page-news .contents .inner .item a {
      padding: 24px 0;
      gap: 16px; }
      .page-news .contents .inner .item a .date {
        width: 72px; }
      .page-news .contents .inner .item a .devider {
        height: 14px; }
      .page-news .contents .inner .item a h3 {
        width: calc(100% - 105px);
        top: -2px; }
    .page-news .contents .inner .pagenation {
      margin: 48px 0 0; }
      .page-news .contents .inner .pagenation .pagenation-inner {
        border-radius: 4px; }
        .page-news .contents .inner .pagenation .pagenation-inner a, .page-news .contents .inner .pagenation .pagenation-inner .current, .page-news .contents .inner .pagenation .pagenation-inner .dots {
          width: 40px;
          height: 40px; } }
@media (hover: hover) {
  .page-news .contents .inner .pagenation .pagenation-inner a {
    transition: all .4s; }
    .page-news .contents .inner .pagenation .pagenation-inner a:hover {
      background-color: #73ac85;
      color: #fff; } }
/*//////////////////////////////////////////////////
お知らせ詳細
//////////////////////////////////////////////////*/
.single-news .contents {
  padding: 44px 0; }
  .single-news .contents .inner {
    max-width: 900px;
    padding: 32px;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 12px;
    boder: solid 1px #e0e0e0; }
    .single-news .contents .inner h1 {
      line-height: 1.7;
      padding: 0 0 20px;
      margin: 0 0 20px;
      border-bottom: solid 2px #94bcde; }
    .single-news .contents .inner .date {
      line-height: 1;
      text-align: right;
      margin: 0 0 20px; }

@media only screen and (min-width: 640px) {
  .single-news .contents {
    padding: 66px 0; }
    .single-news .contents .inner {
      padding: 48px;
      border-radius: 18px; }
      .single-news .contents .inner h1 {
        padding: 0 0 26px;
        margin: 0 0 26px; }
      .single-news .contents .inner .date {
        margin: 0 0 26px; } }
@media only screen and (min-width: 960px) {
  .single-news .contents {
    padding: 88px 0; }
    .single-news .contents .inner {
      padding: 64px;
      border-radius: 24px; }
      .single-news .contents .inner h1 {
        padding: 0 0 32px;
        margin: 0 0 32px; }
      .single-news .contents .inner .date {
        margin: 0 0 32px; } }
/*//////////////////////////////////////////////////
ブロックレイアウト
//////////////////////////////////////////////////*/
.use-block-layout h2 {
  line-height: 1.7;
  font-size: 1.6rem;
  letter-spacing: .2rem;
  margin: 0 0 16px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 0 0 0 12px;
  font-family: "ZenKakuGothicNew-B", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }
  .use-block-layout h2::before {
    content: '';
    display: block;
    width: 4px;
    height: 16px;
    border-radius: 2px;
    background-color: #e88e96;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 50%;
    transform: translate(0, -50%); }
.use-block-layout h3 {
  line-height: 1.7;
  font-size: 1.6rem;
  margin: 0 0 12px;
  font-family: "ZenKakuGothicNew-B", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }
.use-block-layout strong {
  font-family: "ZenKakuGothicNew-B", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  font-weight: 500 !important; }
.use-block-layout em {
  font-style: italic; }
.use-block-layout sup {
  vertical-align: super;
  font-size: 1.0rem; }
.use-block-layout sub {
  vertical-align: sub;
  font-size: 1.0rem; }
.use-block-layout figcaption {
  line-height: 1.7;
  font-size: 1.0rem;
  width: 100%;
  text-align: right; }
.use-block-layout ol {
  line-height: 1.7;
  display: inline-block;
  text-align: left; }
  .use-block-layout ol li {
    list-style: none;
    counter-increment: cnt;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    padding: 0 0 0 24px;
    margin: 8px 0 0; }
    .use-block-layout ol li:first-of-type {
      margin: 0; }
    .use-block-layout ol li::before {
      content: counter(cnt) ".　";
      display: inline-block;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 0; }
  .use-block-layout ol ol {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
    .use-block-layout ol ol li {
      counter-increment: none; }
  .use-block-layout ol ul {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
    .use-block-layout ol ul li {
      counter-increment: none; }
      .use-block-layout ol ul li::before {
        top: 5px; }
.use-block-layout ul {
  line-height: 1.7;
  display: inline-block;
  text-align: left; }
  .use-block-layout ul li {
    list-style: none;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    padding: 0 0 0 14px;
    margin: 8px 0 0; }
    .use-block-layout ul li:first-of-type {
      margin: 0; }
    .use-block-layout ul li::before {
      content: '';
      display: inline-block;
      background-color: #8fc4a0;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 8px; }
  .use-block-layout ul ol {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
  .use-block-layout ul ul {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
    .use-block-layout ul ul li::before {
      top: 5px; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 18px; }
    .use-block-layout ul.attention li::before {
      content: '※';
      background: none;
      width: auto;
      height: auto;
      border-radius: 0;
      top: 0; }
  .use-block-layout ul.attention.sm li {
    padding: 0 0 0 16px; }
  .use-block-layout ul.attention.x-sm li {
    padding: 0 0 0 14px; }
.use-block-layout p a, .use-block-layout li a, .use-block-layout table a {
  text-decoration: underline;
  color: #212121; }
.use-block-layout hr {
  width: 100%;
  border: none;
  border-top: solid 1px #e0e0e0; }
.use-block-layout .hr-half {
  width: 50%;
  margin: 0 auto; }
.use-block-layout .hr-quarter {
  width: 25%;
  margin: 0 auto; }
.use-block-layout .wp-block-image {
  max-width: 100%;
  height: auto; }
  .use-block-layout .wp-block-image img {
    max-width: 100%;
    height: auto; }
.use-block-layout .size-thumbnail {
  max-width: 50% !important; }
.use-block-layout .wp-block-gallery {
  border-radius: 8px;
  overflow: hidden; }
  .use-block-layout .wp-block-gallery .blocks-gallery-grid {
    padding: 0;
    margin: 0; }
    .use-block-layout .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item {
      padding: 0;
      margin: 1px; }
      .use-block-layout .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item::before {
        content: none; }
  .use-block-layout .wp-block-gallery .wp-element-caption {
    line-height: 1.7 !important;
    background: #fff !important;
    color: #212121 !important;
    text-shadow: none !important;
    position: relative !important; }
.use-block-layout .wp-block-columns .wp-block-column .wp-block-image {
  margin: 0; }
.use-block-layout .wp-block-table {
  line-height: 1.7;
  width: 100%;
  font-size: 1.2rem; }
  .use-block-layout .wp-block-table tr {
    border-bottom: solid 1px #94bcde; }
    .use-block-layout .wp-block-table tr:first-of-type {
      border-top: solid 1px #94bcde; }
    .use-block-layout .wp-block-table tr td {
      vertical-align: top;
      padding: 12px 12px 12px 0;
      border: none; }
      .use-block-layout .wp-block-table tr td:first-of-type {
        width: 50%; }
  .use-block-layout .wp-block-table.no-border tr {
    border-bottom: none; }
    .use-block-layout .wp-block-table.no-border tr:first-of-type {
      border-top: none; }
    .use-block-layout .wp-block-table.no-border tr td {
      padding: 6px 6px 6px 0; }
  .use-block-layout .wp-block-table.price tr td:first-of-type {
    width: 50%; }
.use-block-layout .wp-block-video {
  width: 100%; }
  .use-block-layout .wp-block-video video {
    outline: none; }
.use-block-layout .wrap-youtube {
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 0 0 56.25%;
  height: 0;
  overflow: hidden; }
  .use-block-layout .wrap-youtube iframe {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
.use-block-layout .movie-item .video-js {
  width: 100%;
  height: auto;
  outline: none; }
.use-block-layout .flex-txt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
.use-block-layout .only-pc {
  display: none; }
.use-block-layout .w-900 {
  max-width: 900px;
  margin: 0 auto; }
.use-block-layout .back-white {
  padding: 24px;
  border: solid 1px #e0e0e0;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 8px; }

@media only screen and (min-width: 640px) {
  .use-block-layout h2 {
    font-size: 1.8rem;
    margin: 0 0 20px;
    padding: 0 0 0 14px; }
    .use-block-layout h2::before {
      height: 18px; }
  .use-block-layout h3 {
    font-size: 1.8rem;
    margin: 0 0 14px; }
  .use-block-layout figcaption {
    font-size: 1.1rem; }
  .use-block-layout ol li {
    padding: 0 0 0 26px; }
  .use-block-layout ol ol {
    font-size: 1.3rem; }
  .use-block-layout ol ul {
    font-size: 1.3rem; }
    .use-block-layout ol ul li::before {
      top: 6px; }
  .use-block-layout ul li {
    padding: 0 0 0 16px; }
    .use-block-layout ul li::before {
      top: 9px; }
  .use-block-layout ul ol {
    font-size: 1.3rem; }
  .use-block-layout ul ul {
    font-size: 1.3rem; }
    .use-block-layout ul ul li::before {
      top: 6px; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 20px; }
  .use-block-layout ul.attention.sm li {
    padding: 0 0 0 18px; }
  .use-block-layout ul.attention.x-sm li {
    padding: 0 0 0 16px; }
  .use-block-layout .size-thumbnail {
    max-width: 25% !important; }
  .use-block-layout .size-medium {
    max-width: 50% !important; }
  .use-block-layout .wp-block-gallery {
    border-radius: 12px; }
  .use-block-layout .wp-block-table {
    font-size: 1.3rem; }
    .use-block-layout .wp-block-table tr td {
      padding: 14px 14px 14px 0; }
      .use-block-layout .wp-block-table tr td:first-of-type {
        width: 30%; }
    .use-block-layout .wp-block-table.no-border tr td {
      padding: 7px 7px 7px 0; }
    .use-block-layout .wp-block-table.price tr td:first-of-type {
      width: 70%; }
  .use-block-layout .only-sp {
    display: none; }
  .use-block-layout .only-pc {
    display: block; }
  .use-block-layout .back-white {
    padding: 36px;
    border-radius: 12px; } }
@media only screen and (min-width: 960px) {
  .use-block-layout h2 {
    font-size: 2.0rem;
    margin: 0 0 24px;
    padding: 0 0 0 16px; }
    .use-block-layout h2::before {
      height: 20px; }
  .use-block-layout h3 {
    font-size: 2.0rem;
    margin: 0 0 16px; }
  .use-block-layout figcaption {
    font-size: 1.2rem; }
  .use-block-layout ol li {
    padding: 0 0 0 28px; }
  .use-block-layout ol ol {
    font-size: 1.4rem; }
  .use-block-layout ol ul {
    font-size: 1.4rem; }
    .use-block-layout ol ul li::before {
      top: 7px; }
  .use-block-layout ul li {
    padding: 0 0 0 18px; }
    .use-block-layout ul li::before {
      top: 10px; }
  .use-block-layout ul ol {
    font-size: 1.4rem; }
  .use-block-layout ul ul {
    font-size: 1.4rem; }
    .use-block-layout ul ul li::before {
      top: 7px; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 22px; }
  .use-block-layout ul.attention.sm li {
    padding: 0 0 0 20px; }
  .use-block-layout ul.attention.x-sm li {
    padding: 0 0 0 18px; }
  .use-block-layout .wp-block-gallery {
    border-radius: 16px; }
  .use-block-layout .wp-block-table {
    font-size: 1.4rem; }
    .use-block-layout .wp-block-table tr td {
      padding: 16px 16px 16px 0; }
    .use-block-layout .wp-block-table.no-border tr td {
      padding: 8px 8px 8px 0; }
  .use-block-layout .back-white {
    padding: 48px;
    border-radius: 16px; } }
@media (hover: hover) {
  .use-block-layout p a, .use-block-layout li a, .use-block-layout table a {
    transition: opacity .4s; }
    .use-block-layout p a:hover, .use-block-layout li a:hover, .use-block-layout table a:hover {
      opacity: .48; } }
