@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box; }

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0; }

.tsuku {
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-style: normal;
  font-weight: 800; }

ul[role="list"],
ol[role="list"] {
  list-style: none; }

html:focus-within {
  scroll-behavior: smooth; }

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5; }

* {
  font-family: "ヒラギノ角ゴ Pro W4","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Hiragino Sans",Meiryo,sans-serif; }

a:not([class]) {
  text-decoration-skip-ink: auto; }

a {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  a:hover {
    opacity: .75; }
  a img {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    a img:hover {
      opacity: .75; }

img,
picture {
  max-width: 100%;
  display: block;
  height: auto; }

ul {
  list-style-type: none; }

input,
button,
textarea,
select {
  font: inherit; }

p {
  word-break: break-all; }

.mb-4 {
  margin-bottom: 40px; }

.mb-6 {
  margin-bottom: 60px; }

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; } }
* {
  color: #222; }

#wpadminbar * {
  color: #fff; }

.section {
  padding: 70px 0; }

.wrap {
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .wrap .single {
      padding-top: 90px; } }

.breadcrumb {
  margin-top: 77px;
  background: #F2F2F2; }
  @media screen and (min-width: 768px) {
    .breadcrumb {
      margin-top: 16px; } }
  .breadcrumb p {
    font-size: 14px;
    color: #888;
    color: #888;
    padding: 10px 30px;
    font-size: 3vw; }
    @media screen and (min-width: 768px) {
      .breadcrumb p {
        font-size: 14px;
        padding: 13px 40px; } }
  .breadcrumb a {
    font-size: 3vw;
    color: #888;
    text-decoration: none; }
    @media screen and (min-width: 768px) {
      .breadcrumb a {
        font-size: 14px; } }

.pc {
  display: none; }

@media screen and (min-width: 768px) {
  .sp {
    display: none; }

  .pc {
    display: block; } }
.flex {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    .flex.header__wrap > * {
      width: initial; } }

p.center {
  text-align: center; }

.container {
  padding-left: 20px;
  padding-right: 20px; }
  .container__fluid {
    width: 100%; }
  @media screen and (min-width: 768px) {
    .container {
      width: 960px;
      margin: 0 auto; } }
  @media screen and (min-width: 768px) and (max-width: 991px) {
    .container {
      width: 100%;
      margin: 0 auto; } }

.rel {
  position: relative; }

.abs {
  position: absolute; }

.gmap {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  @media screen and (min-width: 768px) {
    .gmap {
      padding-top: 36.25%; } }
  .gmap iframe {
    border-radius: 12px;
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

.section {
  margin-top: 10px; }
  .section h2 {
    text-align: center;
    font-size: 6.5vw;
    color: #744496;
    position: relative;
    padding-bottom: 36px;
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      .section h2 {
        font-size: 36px;
        margin-bottom: 70px; } }
    .section h2 img {
      text-align: center;
      margin: 0 auto 20px;
      height: 16vw; }
      @media screen and (min-width: 768px) {
        .section h2 img {
          height: 127px; } }
    .section h2:before {
      position: absolute;
      content: '';
      width: 4px;
      height: 23px;
      bottom: 0;
      left: 50%;
      margin-left: -2px;
      background-repeat: no-repeat;
      background-size: contain;
      background-image: url(../images/dots.png); }
      @media screen and (min-width: 768px) {
        .section h2:before {
          width: 7px;
          height: 41px;
          bottom: -20px; } }

.attention__border {
  border: solid 3px #E8E8E8;
  border-radius: 12px;
  padding: 18px; }
  @media screen and (min-width: 768px) {
    .attention__border {
      width: 500px;
      text-align: center;
      margin: 30px auto 60px; } }
  .attention__border p {
    font-size: 3.5vw; }
    @media screen and (min-width: 768px) {
      .attention__border p {
        font-size: 14px; } }
  .attention__border.fuki {
    margin-top: 20px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .attention__border.fuki {
        width: 100%; } }
    .attention__border.fuki p {
      padding-left: 30px;
      position: relative; }
      .attention__border.fuki p::before {
        position: absolute;
        content: '';
        width: 16px;
        height: 16px;
        top: 0;
        left: 0;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url(../images/icon/icon_attention.svg); }
    .attention__border.fuki:before {
      content: "";
      position: absolute;
      top: -24px;
      left: 50%;
      margin-left: -15px;
      border: 12px solid transparent;
      border-bottom: 12px solid #E8E8E8;
      z-index: 2; }
    .attention__border.fuki:after {
      content: "";
      position: absolute;
      top: -30px;
      left: 50%;
      margin-left: -17px;
      border: 14px solid transparent;
      border-bottom: 14px solid #E8E8E8;
      z-index: 1; }

.attention {
  font-size: 3.8vw;
  margin: 10px 0;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .attention {
      font-size: 16px;
      margin-bottom: 20px; } }

.tel {
  font-size: 6.3vw;
  color: #744496;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  display: inherit;
  margin-left: 58px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .tel {
      font-size: 38px;
      width: 410px;
      margin: 0 auto 20px;
      padding-left: 60px; } }
  .tel::before {
    position: absolute;
    content: '';
    width: 35px;
    height: 35px;
    top: 1px;
    left: 5px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../images/icon/icon_tel.svg); }
    @media screen and (min-width: 768px) {
      .tel::before {
        width: 50px;
        height: 50px;
        top: 2px;
        left: 30px; } }

.btn {
  padding: 12px 0;
  border-radius: 100px;
  border: solid #EB680E 3px;
  display: block;
  background-color: #fff;
  position: relative;
  text-align: center;
  text-decoration: none; }
  @media screen and (min-width: 768px) {
    .btn {
      width: 300px;
      margin: 0 auto; } }
  .btn span {
    font-size: 2.9vw;
    color: #EB680E;
    display: block;
    font-weight: bold; }
    @media screen and (min-width: 768px) {
      .btn span {
        font-size: 13px; } }
  .btn:after {
    content: "";
    position: absolute;
    margin-bottom: -10px;
    bottom: 50%;
    right: 20px;
    width: 17px;
    height: 17px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../images/icon/arw_right_1.svg); }
  .btn.btn__register {
    background-color: #EB680E;
    color: #fff; }
    @media screen and (min-width: 768px) {
      .btn.btn__register {
        margin: 27px auto 10px;
        width: 320px; } }
    .btn.btn__register:before {
      content: "";
      position: absolute;
      background-image: url(../images/icon_apply.png);
      background-size: cover;
      margin-bottom: -10px;
      bottom: 50%;
      left: 30px;
      width: 20px;
      height: 20px; }
    .btn.btn__register:after {
      background-color: #fff;
      border-radius: 20px;
      background-image: url(../images/icon/arw_right_2.svg);
      background-position: 6px 3px;
      background-size: 7px;
      width: 17px;
      height: 17px; }
    .btn.btn__register span {
      color: #E5EA8C; }
      @media screen and (min-width: 768px) {
        .btn.btn__register span {
          font-size: 13px; } }
  .btn.btn__map {
    background-color: #E8E8E8;
    border: none;
    width: 80%;
    margin: 30px auto; }
    @media screen and (min-width: 768px) {
      .btn.btn__map {
        width: 280px;
        margin-bottom: 50px; } }
    .btn.btn__map:after {
      background-image: url(../images/icon/icon_blank.svg); }
  .btn.btn_contact {
    background-color: #E8E8E8;
    border: none;
    width: 70%;
    margin: 16px auto; }
    @media screen and (min-width: 768px) {
      .btn.btn_contact {
        width: 280px; } }
    .btn.btn_contact:after {
      margin-bottom: -7px;
      width: 14px;
      height: 14px;
      background-image: url(../images/icon/arw_right_3.svg); }
  .btn.btn__more:hover {
    cursor: pointer; }
  .btn.btn__more:after {
    background-image: url(../images/icon_plus.png); }

.link.link_next {
  text-align: center;
  display: block;
  font-size: 3.8vw;
  position: relative;
  width: fit-content;
  margin: 0 auto; }
  .link.link_next::before {
    position: absolute;
    content: '';
    right: -17px;
    left: auto;
    top: 7px;
    width: 6px;
    height: 10px;
    background-image: url(../images/icon/arw_right_3.svg);
    background-size: 6px 10px; }
  @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .link.link_next.coverage::before {
      right: 50%;
      margin-right: -160px; } }
  @media screen and (min-width: 768px) {
    .link.link_next {
      font-size: 16px; } }

.single-link .btn.btn__next {
  margin-top: 28px; }
.single-link .link.link_next {
  color: #EB680E;
  margin-top: 30px; }
  .single-link .link.link_next:before {
    right: -11px;
    top: 7px;
    background-image: url(../images/icon/arw_right_2.svg); }

@media screen and (min-width: 768px) {
  .content-3col > * {
    width: 33.3%; } }

header.header {
  position: absolute;
  width: 100%;
  padding: 10px 20px;
  position: fixed;
  z-index: 999999;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  header.header * {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
  header.header.scrolled, header.header.paged {
    background-color: #fff;
    height: 77px; }
    @media screen and (min-width: 768px) {
      header.header.scrolled, header.header.paged {
        height: 90px; } }
    header.header.scrolled a img, header.header.paged a img {
      margin-top: -8px; }
    header.header.scrolled .hum__wrap, header.header.paged .hum__wrap {
      margin-top: 27px; }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        header.header.scrolled .hum__wrap, header.header.paged .hum__wrap {
          margin-top: 32px; } }
    header.header.scrolled .header__logo img, header.header.paged .header__logo img {
      padding: 10px;
      width: 173px; }
      @media screen and (min-width: 768px) and (max-width: 1135px) {
        header.header.scrolled .header__logo img, header.header.paged .header__logo img {
          margin: 0;
          width: 12vw; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        header.header.scrolled .header__logo img, header.header.paged .header__logo img {
          width: 150px; } }
    header.header.scrolled .header__nav, header.header.paged .header__nav {
      margin-top: -5px;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
      header.header.scrolled .header__nav li, header.header.paged .header__nav li {
        margin-top: 28px; }
        header.header.scrolled .header__nav li a, header.header.paged .header__nav li a {
          line-height: 20px; }
    header.header.scrolled .header__link, header.header.paged .header__link {
      width: 141px;
      height: 25px; }
      header.header.scrolled .header__link a, header.header.paged .header__link a {
        font-size: 12px;
        line-height: 12px;
        padding: 6px; }
        header.header.scrolled .header__link a img, header.header.paged .header__link a img {
          width: 9px;
          height: 9px;
          display: inline-block;
          margin-left: 5px; }
  header.header .header__wrap {
    justify-content: space-between; }
  header.header .header__logo {
    position: relative;
    z-index: 9999; }
    header.header .header__logo.active:before {
      content: '';
      position: absolute;
      width: 100vw;
      height: 77px;
      background-color: #fff;
      left: -20px;
      top: -10px;
      z-index: -1; }
      @media screen and (min-width: 768px) {
        header.header .header__logo.active:before {
          display: none; } }
    header.header .header__logo img {
      width: 38vw;
      padding: 0; }
      @media screen and (min-width: 768px) {
        header.header .header__logo img {
          padding: 0;
          width: 240px; } }
      @media screen and (min-width: 768px) and (max-width: 1135px) {
        header.header .header__logo img {
          margin-top: 30px;
          width: 11vw; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        header.header .header__logo img {
          margin-top: 0;
          width: 150px; } }
  header.header .header__nav {
    position: fixed;
    display: none; }
    @media screen and (min-width: 768px) {
      header.header .header__nav {
        padding: 0;
        display: flex;
        position: relative; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      header.header .header__nav {
        display: none; } }
    header.header .header__nav li {
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
      @media screen and (min-width: 768px) {
        header.header .header__nav li {
          margin-right: 40px;
          margin-top: 18px; } }
      @media screen and (min-width: 768px) and (max-width: 1246px) {
        header.header .header__nav li {
          margin-right: 24px; } }
      @media screen and (min-width: 768px) and (max-width: 1135px) {
        header.header .header__nav li {
          margin-right: 20px; } }
      header.header .header__nav li a {
        font-size: 4.3vw;
        text-decoration: none;
        font-family: fot-tsukuardgothic-std, sans-serif;
        font-style: normal;
        font-weight: 800; }
        @media screen and (min-width: 768px) {
          header.header .header__nav li a {
            font-size: 16px;
            color: #754486;
            display: inline-block;
            font-weight: bold;
            text-align: center;
            height: 46px;
            vertical-align: middle;
            display: table-cell;
            line-height: 20px; } }
  header.header .hum__wrap {
    margin-top: 30px; }
    @media screen and (min-width: 768px) {
      header.header .hum__wrap {
        display: none; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      header.header .hum__wrap {
        display: block; } }
    header.header .hum__wrap .toggle {
      position: relative;
      z-index: 9999; }
      header.header .hum__wrap .toggle span {
        position: relative;
        background-color: #754498;
        width: 25px;
        height: 2.5px;
        display: block;
        -webkit-transition: all 0.2s linear;
        transition: all 0.2s linear; }
        header.header .hum__wrap .toggle span:before, header.header .hum__wrap .toggle span:after {
          -webkit-transition: all 0.2s linear;
          transition: all 0.2s linear;
          position: absolute;
          content: '';
          width: 25px;
          height: 2.5px;
          top: 10px;
          left: 0;
          background-color: #754498; }
        header.header .hum__wrap .toggle span:after {
          top: -10px; }
      header.header .hum__wrap .toggle.under {
        margin: 50px auto 20px;
        text-align: center;
        width: 27px; }
    header.header .hum__wrap.active .toggle span {
      transform: rotate(45deg); }
      header.header .hum__wrap.active .toggle span:before {
        display: none; }
      header.header .hum__wrap.active .toggle span:after {
        transform: rotate(-90deg);
        top: 0px; }
  header.header .header__link {
    position: fixed;
    display: none;
    width: 151px;
    height: 35px; }
    @media screen and (min-width: 768px) {
      header.header .header__link {
        position: fixed;
        right: 40px;
        top: 0px;
        background: #C09ED8;
        border-radius: 0 0 9px 9px;
        width: 150px;
        text-align: center;
        display: block; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      header.header .header__link {
        display: none; } }
    header.header .header__link a {
      background-repeat: no-repeat;
      color: #fff;
      font-size: 13px;
      line-height: 13px;
      text-decoration: none;
      width: 100%;
      height: 100%;
      display: block;
      padding: 11px; }
      header.header .header__link a img {
        width: 10px;
        height: 10px;
        display: inline-block;
        margin-left: 5px; }

.hum_menu {
  background: #fff;
  position: fixed;
  background: #fff;
  z-index: 9998;
  width: 100%;
  padding: 0;
  top: 0;
  left: 0;
  height: auto;
  margin: 0;
  height: 0;
  overflow: hidden; }
  .hum_menu .info {
    padding: 0 10vw 10vw; }
  .hum_menu ul {
    padding: 10vw;
    padding: 80px 10vw 1px; }
    .hum_menu ul li a {
      display: flex;
      align-items: center;
      text-decoration: none;
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 2px dotted #C09ED8;
      color: #754486;
      position: relative;
      font-family: fot-tsukuardgothic-std, sans-serif;
      font-style: normal;
      font-weight: 800;
      font-size: 4.6vw; }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .hum_menu ul li a {
          font-size: 30px; } }
      .hum_menu ul li a:before {
        content: "";
        position: absolute;
        margin-bottom: -4px;
        bottom: 50%;
        right: 20px;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url(../images/icon/arw_right_1.svg);
        width: 4.3vw;
        height: 4.3vw; }
        @media screen and (min-width: 768px) and (max-width: 991px) {
          .hum_menu ul li a:before {
            width: 30px;
            height: 30px; } }
      .hum_menu ul li a img {
        width: 13.8vw; }
    .hum_menu ul li.noicon a {
      padding: 10px 0 20px 10px; }
  .hum_menu .attention__border.fuki {
    margin-bottom: 21px; }
  @media screen and (min-width: 768px) and (max-width: 991px) {
    .hum_menu .attention__border.fuki {
      width: 320px;
      text-align: left; } }

.hum__wrap.active .hum_menu {
  height: auto;
  overflow: scroll;
  height: 100%; }

.page header.header {
  background-color: #FFF; }
  @media screen and (min-width: 768px) {
    .page header.header {
      padding: 0 20px;
      height: 90px; } }
  .page header.header .header__nav {
    margin: 3px; }
  @media screen and (min-width: 768px) {
    .page header.header .header__logo img {
      width: 170px;
      margin: 9px; } }
  @media screen and (min-width: 768px) and (max-width: 1135px) {
    .page header.header .header__logo img {
      padding-left: 0;
      margin-left: 0;
      width: 105px; } }
.page .section-news {
  margin-top: 0; }
@media screen and (min-width: 768px) {
  .page .wrap {
    padding-top: 75px; } }

.wp-pagenavi {
  text-align: center; }
  .wp-pagenavi a.page {
    border-radius: 50px;
    font-size: 16px;
    width: 50px;
    height: 50px;
    display: inline-block;
    padding: 12px 0;
    margin: 0 7px;
    border: 2px solid #744496;
    font-size: 16px;
    color: #744496;
    font-weight: bold;
    background-color: #fff; }
    .wp-pagenavi a.page:hover {
      background-color: #A35FBA;
      border-color: #A35FBA;
      color: #fff; }
  .wp-pagenavi a.nextpostslink {
    border: none;
    font-size: 0;
    background-image: url(../images/icon/arw_right_4.svg);
    background-repeat: no-repeat;
    background-position: 0px 0px;
    padding: 0;
    margin: 10px;
    vertical-align: middle;
    width: 10px;
    height: 16px;
    display: inline-block; }
    .wp-pagenavi a.nextpostslink:hover {
      opacity: .75; }
  .wp-pagenavi a.previouspostslink {
    border: none;
    font-size: 0;
    background-image: url(../images/icon/arw_right_4.svg);
    background-repeat: no-repeat;
    background-position: 0px 0px;
    padding: 0;
    margin: 10px;
    vertical-align: middle;
    width: 10px;
    height: 16px;
    display: inline-block;
    transform: rotate(180deg); }
    .wp-pagenavi a.previouspostslink:hover {
      opacity: .75; }
  .wp-pagenavi span.current {
    border-radius: 50px;
    font-size: 16px;
    width: 50px;
    height: 50px;
    display: inline-block;
    padding: 12px 0;
    margin: 0 7px;
    border: 2px solid #744496;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    background-color: #744496; }
  .wp-pagenavi span.extend {
    display: none; }

.breadcrumbs {
  margin-top: 75px;
  margin-bottom: 2px;
  background: #F2F2F2;
  line-height: 34px;
  height: auto; }
  @media screen and (min-width: 768px) {
    .breadcrumbs {
      height: 40px;
      margin-top: 0; } }
  .breadcrumbs__list {
    margin-bottom: 0; }
    @media screen and (min-width: 768px) {
      .breadcrumbs__list {
        display: flex; } }
    .breadcrumbs__list li {
      display: block;
      color: #888;
      font-size: 14px;
      margin-right: 30px;
      display: inline-block;
      line-height: 42px; }
      .breadcrumbs__list li:nth-child(3) {
        margin-bottom: 10px;
        line-height: 26px; }
        @media screen and (min-width: 768px) {
          .breadcrumbs__list li:nth-child(3) {
            margin: 8px; } }
      @media screen and (min-width: 768px) {
        .breadcrumbs__list li {
          line-height: 42px;
          height: 30px;
          max-width: 80%;
          overflow: hidden; } }
      .breadcrumbs__list li a {
        font-size: 14px;
        color: #888;
        text-decoration: none;
        position: relative; }
        @media screen and (min-width: 768px) {
          .breadcrumbs__list li a {
            margin-right: 30px; } }
        .breadcrumbs__list li a:after {
          position: absolute;
          content: '>';
          width: 10px;
          height: 10px;
          right: -22px;
          top: -14px; }

footer.footer {
  padding-top: 20px; }
  footer.footer .container {
    padding: 30px; }
    footer.footer .container__fluid {
      background-color: #744496; }
      footer.footer .container__fluid p {
        font-size: 2.7vw;
        color: #fff;
        text-align: center;
        padding: 20px 0; }
        @media screen and (min-width: 768px) {
          footer.footer .container__fluid p {
            font-size: 14px;
            padding: 30px; } }
  footer.footer .footer__nav {
    padding: 0;
    justify-content: center; }
    footer.footer .footer__nav li {
      margin: 0 20px; }
      @media screen and (min-width: 768px) {
        footer.footer .footer__nav li:last-child {
          margin-right: 35px; } }
  footer.footer .footer__logo img {
    width: 60vw;
    margin: 30px auto; }
    @media screen and (min-width: 768px) {
      footer.footer .footer__logo img {
        width: 275px; } }
  footer.footer .footer__text {
    font-size: 3.8vw;
    text-align: center; }
    @media screen and (min-width: 768px) {
      footer.footer .footer__text {
        line-height: 26px;
        font-size: 14px; } }
    footer.footer .footer__text span {
      margin: 8px auto;
      display: inline-block;
      width: 100%; }
      @media screen and (min-width: 768px) {
        footer.footer .footer__text span {
          margin: 0; } }
  footer.footer .btn.btn_contact {
    width: 100%; }
    @media screen and (min-width: 768px) {
      footer.footer .btn.btn_contact {
        width: 340px;
        margin: 30px auto; } }
  footer.footer .attention__border {
    font-size: 3.5vw; }
    @media screen and (min-width: 768px) {
      footer.footer .attention__border {
        font-size: 14px;
        width: 750px;
        text-align: center;
        margin: 45px auto 60px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      footer.footer .attention__border {
        max-width: 100%; } }
  footer.footer hr {
    border-color: #e8e8e8;
    margin: 30px 0;
    display: block; }

.fixed__nav {
  position: fixed;
  background-color: #754487;
  width: 60px;
  height: 60px;
  border-radius: 60px;
  position: fixed;
  bottom: 3vw;
  right: 3vw;
  z-index: 99999;
  background-image: url(../images/icon/arw_pagetop.svg); }
  .fixed__nav a {
    display: block;
    width: 100%;
    height: 100%; }

.page-posts {
  margin-bottom: 300px; }
  .page-posts__single {
    background-image: url(../images/bg_pattern_2.svg);
    background-repeat: repeat;
    background-size: 30px 30.5px;
    margin-bottom: 0;
    padding-bottom: 100px; }
    @media screen and (min-width: 768px) {
      .page-posts__single {
        padding-bottom: 150px; } }
    .page-posts__single .container {
      background-color: #fff;
      padding-bottom: 80px; }
      @media screen and (min-width: 768px) {
        .page-posts__single .container {
          padding-bottom: 100px; } }
    .page-posts__single img {
      width: 100%; }
    .page-posts__single .category-item a {
      color: #fff; }
    .page-posts__single ul {
      padding: 0;
      margin: 0; }
  @media screen and (min-width: 768px) {
    .page-posts .post {
      width: 760px;
      margin: 0 auto; } }
  .page-posts .post__thumbnail {
    margin-bottom: 54px; }
    .page-posts .post__thumbnail img {
      border-radius: 0 0 12px 12px; }
      @media screen and (min-width: 768px) {
        .page-posts .post__thumbnail img {
          border-radius: 0 0 15px 15px; } }
  .page-posts .post__date {
    font-size: 14px;
    color: #888;
    margin: 0 15px; }
  .page-posts .post__content {
    border-bottom: 2px dotted #C09ED8;
    padding-bottom: 80px;
    margin-bottom: 80px; }
    .page-posts .post__content img {
      margin: 10px auto;
      border-radius: 12px; }
      @media screen and (min-width: 768px) {
        .page-posts .post__content img {
          border-radius: 15px; } }
      .page-posts .post__content img.next {
        border-radius: 0;
        margin: 0; }
  .page-posts .post h1, .page-posts .post h2, .page-posts .post h3, .page-posts .post h4, .page-posts .post h5, .page-posts .post h6 {
    font-weight: bold; }
  .page-posts .post h1 {
    font-size: 22px;
    line-height: 34px;
    padding-bottom: 36px;
    border-bottom: 2px dotted #C09ED8;
    margin: 20px 0 70px; }
    @media screen and (min-width: 768px) {
      .page-posts .post h1 {
        font-size: 30px;
        line-height: 46px; } }
  .page-posts .post h2 {
    font-size: 20px;
    line-height: 32px;
    margin: 40px 0;
    color: #754486;
    padding-left: 36px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .page-posts .post h2 {
        font-size: 28px;
        line-height: 44px; } }
    .page-posts .post h2:before {
      position: absolute;
      content: '';
      width: 7px;
      height: 102%;
      top: 0;
      left: 0;
      background-repeat: repeat-y;
      background-size: contain;
      background-image: url(../images/icon/dot_heading_1.svg); }
  .page-posts .post h3 {
    font-size: 20px;
    line-height: 32px;
    margin: 35px 0;
    color: #754486; }
    @media screen and (min-width: 768px) {
      .page-posts .post h3 {
        font-size: 24px;
        line-height: 40px; } }
  .page-posts .post h4 {
    font-size: 18px;
    line-height: 28px;
    margin: 35px 0; }
    @media screen and (min-width: 768px) {
      .page-posts .post h4 {
        font-size: 20px; } }
  .page-posts .post h5 {
    font-size: 18px;
    margin: 20px 0; }
  .page-posts .post h6 {
    font-size: 16px;
    margin: 10px 0; }
  .page-posts .post p {
    font-size: 16px;
    line-height: 28px; }
    @media screen and (min-width: 768px) {
      .page-posts .post p {
        line-height: 2.1; } }
    .page-posts .post p a[target="_blank"] {
      color: #EB680E !important;
      margin-right: 26px;
      display: inline-block;
      position: relative; }
      .page-posts .post p a[target="_blank"] span {
        color: #EB680E !important; }
      .page-posts .post p a[target="_blank"]:before {
        position: absolute;
        content: '';
        width: 14px;
        height: 14px;
        top: 4px;
        right: -19px;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url(../images/icon/icon_blank_o.svg); }
    .page-posts .post p a img.next {
      width: 0.5rem;
      display: inline-block;
      margin-left: 4px; }
    .page-posts .post p blockquote {
      padding: 30px 50px;
      background: #F2F2F2;
      border-radius: 15px; }
    .page-posts .post p ul {
      list-style-type: initial; }
  .page-posts .post .share ul {
    justify-content: center;
    list-style-type: none;
    margin-top: 8px; }
    .page-posts .post .share ul li {
      margin: 7px; }
      .page-posts .post .share ul li svg {
        width: 40px;
        height: 40px; }
  .page-posts .post .share p {
    color: #888;
    text-align: center; }

.link-wrap {
  position: relative;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }
  .link-wrap:hover {
    opacity: .75; }
    .link-wrap:hover .excerpt__thumbnail img {
      transform: scale(1.05); }
  .link-wrap a.link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }

.excerpt {
  position: relative;
  background: #fff;
  margin: 25px 0;
  border-radius: 16px; }
  @media screen and (min-width: 768px) {
    .excerpt {
      margin: 0;
      height: 100%; } }
  .excerpt .content {
    padding: 20px 15px; }
  .excerpt__title {
    font-size: 3.8vw; }
  .excerpt__date {
    font-size: 3.5vw;
    padding: 6px;
    color: #888;
    margin-top: 4px; }
    @media screen and (min-width: 768px) {
      .excerpt__date {
        margin-top: 0;
        font-size: 14px; } }
  .excerpt__thumbnail {
    overflow: hidden;
    border-radius: 16px 16px 0 0; }
    .excerpt__thumbnail img {
      border-radius: 16px 16px 0 0;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
  .excerpt__category ul {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 768px) {
      .excerpt__category ul {
        margin-top: -5px; } }
  .excerpt__category a {
    color: #fff; }
  .excerpt .excerpt__category {
    margin: 7px 10px 0 -5px; }
  .excerpt .box {
    padding: 0 30px 20px;
    margin-top: 20px; }
    .excerpt .box h3 {
      text-align: left;
      font-size: 3.8vw; }
      @media screen and (min-width: 768px) {
        .excerpt .box h3 {
          font-size: 14px; } }

.category-item {
  background-color: #ccc;
  display: inline-block;
  border-radius: 50px;
  margin-bottom: 5px; }
  .category-item a {
    text-decoration: none;
    font-size: 3.5vw;
    width: 100%;
    height: 100%;
    display: inline-block;
    padding: 0 20px 4px; }
    @media screen and (min-width: 768px) {
      .category-item a {
        font-size: 12px; } }
  .category-item.category-news {
    background-color: #744496; }
  .category-item.category-facility {
    background-color: #EB680E; }
  .category-item.category-event {
    background-color: #69B9E6; }
  .category-item.category-others {
    background-color: #FBC700; }

.box {
  margin-top: 25px; }
  @media screen and (min-width: 768px) {
    .box {
      padding-left: 7px;
      padding-right: 7px; } }
  .box h3 {
    font-size: 4.8vw;
    text-align: center;
    margin: 10px 0; }
    @media screen and (min-width: 768px) {
      .box h3 {
        font-size: 19px; } }
  .box .box__green {
    background-color: #EFF5D1; }
    .box .box__green h3 {
      color: #48B14E; }
  .box .box__pink {
    background-color: #FBE5E1; }
    .box .box__pink h3 {
      color: #E78090; }
  .box .box__blue {
    background-color: #D1ECED; }
    .box .box__blue h3 {
      color: #2F6FA5; }

.section-start,
.section-news,
.section-faq {
  background-image: url(../images/bg_pattern_2.svg);
  background-repeat: repeat;
  background-size: 30px 30.5px; }

.section-hero,
.section-about,
.section-guide {
  background-image: url(../images/bg_pattern_1.svg);
  background-repeat: repeat;
  background-size: 100vw 88vw; }
  @media screen and (min-width: 768px) {
    .section-hero,
    .section-about,
    .section-guide {
      background-size: 1000px 882.5px; } }

.section-flow {
  background-image: url(../images/bg_pattern_3.svg);
  background-repeat: repeat;
  background-size: 100vw 88vw; }
  @media screen and (min-width: 768px) {
    .section-flow {
      background-size: 1000px 882.5px; } }

.section-hero {
  height: 140vw;
  padding-top: 20vw; }
  @media screen and (min-width: 768px) {
    .section-hero {
      height: auto;
      padding: 30px 0 50px; } }
  .section-hero .kv {
    position: absolute;
    border-radius: 200px 0 0 200px;
    width: 100%;
    overflow: hidden;
    top: 9vw; }
    @media screen and (min-width: 768px) {
      .section-hero .kv {
        width: 1068px;
        height: 620px;
        margin: 100px auto 100px;
        overflow: hidden;
        border-radius: 500px;
        position: relative;
        right: 0;
        top: 0; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-hero .kv {
        width: 950px;
        height: 570px;
        left: 50%;
        margin-left: -475px; } }
    .section-hero .kv .slider {
      z-index: 0; }
  .section-hero .slick-prev, .section-hero .slick-next {
    display: none !important; }
  .section-hero .slick-dots {
    text-align: center;
    font-size: .85em;
    font-family: Arial;
    font-weight: bold;
    color: #cccccc;
    padding-top: 20px;
    display: flex;
    position: absolute;
    left: 50%;
    margin-left: -95px;
    bottom: -102vw; }
    @media screen and (min-width: 768px) {
      .section-hero .slick-dots {
        margin-left: -96px;
        bottom: -50px; } }
    .section-hero .slick-dots li button {
      appearance: none;
      box-sizing: border-box;
      border: 0px;
      background: #cccccc;
      text-indent: -9999px;
      font-size: 0;
      display: block;
      min-width: 0;
      min-height: 0;
      width: 12px;
      height: 12px;
      margin: 0 5px;
      outline: 0;
      border-radius: 10px;
      border: none; }
      @media screen and (min-width: 768px) {
        .section-hero .slick-dots li button:hover {
          cursor: pointer;
          background: #744496; } }
    .section-hero .slick-dots li.slick-active button {
      cursor: pointer;
      background: #744496; }
  .section-hero .slick-track {
    border-radius: 200px 0 0 200px;
    overflow: hidden; }
  @media screen and (min-width: 768px) {
    .section-hero .slider.slick-slider {
      border-radius: 500px !important;
      overflow: hidden; } }
  .section-hero .bx-controls.bx-has-pager {
    position: absolute;
    bottom: -100vw;
    left: 50%;
    margin-left: -50px; }
    @media screen and (min-width: 768px) {
      .section-hero .bx-controls.bx-has-pager {
        bottom: -28px; } }
    .section-hero .bx-controls.bx-has-pager .bx-pager {
      display: flex; }
  .section-hero .hero-text h1 {
    position: absolute;
    top: 15px;
    left: 6vw;
    height: 80vw;
    display: flex;
    flex-direction: row-reverse; }
    @media screen and (min-width: 768px) {
      .section-hero .hero-text h1 {
        height: 452px;
        top: 8%;
        left: 50%;
        margin-left: -421px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-hero .hero-text h1 {
        top: 8.8%;
        margin-left: -331px; } }
    .section-hero .hero-text h1 span {
      font-size: 5vw;
      color: #754498;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      font-weight: bold;
      background-color: #fff;
      padding: 20px 3px 0;
      border-radius: 3px;
      width: 10vw;
      margin-right: 7px;
      height: 60.8vw;
      line-height: 8.5vw; }
      @media screen and (min-width: 768px) {
        .section-hero .hero-text h1 span {
          margin-right: 15px;
          letter-spacing: 1px;
          font-size: 26px;
          line-height: 40px;
          width: auto;
          height: 310px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-hero .hero-text h1 span {
          margin-right: 5px; } }
      .section-hero .hero-text h1 span b {
        color: #D7D478;
        font-family: inherit; }
      .section-hero .hero-text h1 span:first-child {
        height: 50.7vw; }
        @media screen and (min-width: 768px) {
          .section-hero .hero-text h1 span:first-child {
            height: 256px; } }
        @media screen and (min-width: 768px) and (max-width: 991px) {
          .section-hero .hero-text h1 span:first-child {
            height: 256px; } }
      .section-hero .hero-text h1 span:last-child {
        background-color: #754498;
        color: #fff;
        line-height: 9vw;
        height: 72vw; }
        @media screen and (min-width: 768px) {
          .section-hero .hero-text h1 span:last-child {
            height: 448px;
            font-size: 32px;
            width: 54px;
            line-height: 48px;
            margin-right: 16px; } }
        @media screen and (min-width: 768px) and (max-width: 991px) {
          .section-hero .hero-text h1 span:last-child {
            height: 448px;
            margin-right: 6px; } }
  .section-hero .bell-oepn {
    top: 66vw;
    left: 7vw;
    width: 26vw; }
    @media screen and (min-width: 768px) {
      .section-hero .bell-oepn {
        top: 480px;
        bottom: 5px;
        left: 50%;
        margin-left: -440px;
        width: 140px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-hero .bell-oepn {
        top: 450px;
        margin-left: -340px; } }
  .section-hero .hero-pict img {
    right: -20px;
    top: 75vw;
    width: 36vw; }
    @media screen and (min-width: 768px) {
      .section-hero .hero-pict img {
        left: auto;
        top: 290px;
        width: 231px;
        right: 50%;
        margin-right: -615px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-hero .hero-pict img {
        margin-right: -455px; } }
    .section-hero .hero-pict img:first-child {
      display: none; }
      @media screen and (min-width: 768px) {
        .section-hero .hero-pict img:first-child {
          display: block;
          left: 50%;
          margin-left: -571px;
          top: 25px;
          width: 167px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-hero .hero-pict img:first-child {
          margin-left: -470px; } }
    .section-hero .hero-pict img:last-child {
      right: 53px;
      top: 103vw;
      width: 22vw; }
      @media screen and (min-width: 768px) {
        .section-hero .hero-pict img:last-child {
          right: 50%;
          margin-right: -490px;
          top: 480px;
          width: 131px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-hero .hero-pict img:last-child {
          margin-right: -370px; } }
  .section-hero .hero-illust img {
    top: 103vw;
    left: 10px;
    width: 60vw;
    display: none; }
    @media screen and (min-width: 768px) {
      .section-hero .hero-illust img {
        display: block;
        top: inherit;
        bottom: -150px;
        left: 50%;
        right: initial;
        width: 374px;
        margin-left: -660px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-hero .hero-illust img {
        margin-left: -380px; } }
    @media screen and (min-width: 768px) {
      .section-hero .hero-illust img:first-child {
        left: auto;
        right: 50%;
        width: 374px;
        margin-right: -650px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-hero .hero-illust img:first-child {
        margin-right: -380px; } }
    .section-hero .hero-illust img:last-child {
      display: block; }
      @media screen and (min-width: 768px) {
        .section-hero .hero-illust img:last-child {
          display: none; } }
  @media screen and (min-width: 768px) {
    .section-hero .hero-illust.pc {
      position: relative; }
      .section-hero .hero-illust.pc img {
        display: block;
        width: 100%;
        max-width: 1080px;
        margin-left: -540px;
        left: 50%;
        bottom: -60px;
        top: unset;
        right: 0; } }
  @media screen and (min-width: 768px) and (max-width: 991px) {
    .section-hero .hero-illust.pc img {
      width: 100%;
      margin-left: 0;
      left: 0;
      bottom: -60px; } }

.section-headline {
  background-color: #FEF2ED;
  padding: 18px;
  border-radius: 12px;
  text-align: center;
  height: 100%; }
  .section-headline img {
    width: 118px;
    margin: -30px auto 10px; }
  .section-headline h2 span {
    color: #744488;
    position: relative;
    font-size: 5vw; }
    @media screen and (min-width: 768px) {
      .section-headline h2 span {
        font-size: 24px; } }
    .section-headline h2 span:before {
      position: absolute;
      content: '';
      width: 63%;
      height: 5px;
      top: 10px;
      left: 106%;
      background-repeat: repeat;
      background-size: 6px 22px;
      background-image: url(../images/icon/dot_important.svg);
      background-size: 4px; }
      @media screen and (min-width: 768px) {
        .section-headline h2 span:before {
          height: 22px;
          top: 11px;
          background-size: 8px;
          width: 62%; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-headline h2 span:before {
          width: 9vw; } }
    .section-headline h2 span:after {
      position: absolute;
      content: '';
      width: 62%;
      height: 5px;
      top: 10px;
      left: -68%;
      background-repeat: repeat;
      background-size: 6px 22px;
      background-image: url(../images/icon/dot_important.svg);
      background-size: 4px; }
      @media screen and (min-width: 768px) {
        .section-headline h2 span:after {
          height: 22px;
          top: 11px;
          background-size: 8px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-headline h2 span:after {
          left: 0;
          margin-left: -10vw;
          width: 9vw; } }
  .section-headline .content-headline p {
    text-align: left;
    font-size: 4vw;
    margin-top: 15px;
    width: 68%; }
    @media screen and (min-width: 768px) {
      .section-headline .content-headline p {
        width: 70%;
        margin-top: 25px;
        font-size: 14px; } }
    .section-headline .content-headline p.date {
      width: 31%;
      padding-left: 8px; }
      @media screen and (min-width: 768px) {
        .section-headline .content-headline p.date {
          width: 28%; } }
  .section-headline .content-headline a {
    text-decoration: none; }

.section-info {
  padding-top: 100px; }
  @media screen and (min-width: 768px) {
    .section-info {
      padding-top: 0;
      margin-top: 100px; } }
  .section-info .container.flex {
    justify-content: center; }
  .section-info .info-left {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .section-info .info-left {
        width: 50%;
        padding-right: 17px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-info .info-left {
        width: 45vw;
        margin: 0 auto;
        padding-right: 0; } }
    .section-info .info-left .info-opening {
      background-color: #F3EBFA;
      border-radius: 12px;
      text-align: center; }
      @media screen and (min-width: 768px) {
        .section-info .info-left .info-opening {
          height: 100%; } }
      .section-info .info-left .info-opening h2 {
        background-color: #754498;
        color: #fff;
        font-size: 5.1vw;
        padding: 22px;
        border-radius: 6px 6px 0 0;
        margin: -1px; }
        @media screen and (min-width: 768px) {
          .section-info .info-left .info-opening h2 {
            font-size: 26px; } }
        .section-info .info-left .info-opening h2 span {
          margin-left: 28px;
          position: relative;
          color: #fff; }
          @media screen and (min-width: 768px) {
            .section-info .info-left .info-opening h2 span {
              font-size: 26px; } }
          .section-info .info-left .info-opening h2 span:before {
            position: absolute;
            content: '';
            top: 0;
            left: 50%;
            margin-left: -26vw;
            width: 22px;
            height: 22px;
            background-repeat: no-repeat;
            background-size: contain;
            background-image: url(../images/icon/icon_clock.svg); }
            @media screen and (min-width: 768px) {
              .section-info .info-left .info-opening h2 span:before {
                margin-left: -126px;
                top: 2px; } }
        .section-info .info-left .info-opening h2.fuki {
          position: relative; }
          .section-info .info-left .info-opening h2.fuki:before {
            content: "";
            position: absolute;
            bottom: -23px;
            left: 50%;
            margin-left: -15px;
            border: 12px solid transparent;
            border-top: 12px solid #744496;
            z-index: 2; }
      .section-info .info-left .info-opening h3 {
        background-color: #F3EBFA;
        color: #744496;
        font-size: 5.9vw;
        background: #fff;
        padding: 20px;
        margin: 20px auto 0;
        border-radius: 10px;
        width: 80vw; }
        @media screen and (min-width: 768px) {
          .section-info .info-left .info-opening h3 {
            width: 85%;
            font-size: 26px; } }
        .section-info .info-left .info-opening h3 span {
          color: #744496; }
      .section-info .info-left .info-opening .info-opening-inside {
        padding: 15px 15px 30px; }
        @media screen and (min-width: 768px) {
          .section-info .info-left .info-opening .info-opening-inside {
            padding-bottom: 25px; } }
        .section-info .info-left .info-opening .info-opening-inside .room {
          margin-top: 15px;
          font-size: 3.8vw; }
          @media screen and (min-width: 768px) {
            .section-info .info-left .info-opening .info-opening-inside .room {
              font-size: 16px; } }
        .section-info .info-left .info-opening .info-opening-inside .time p {
          font-weight: bold;
          border-bottom: 1px solid #fff;
          padding-bottom: 15px;
          font-size: 3.6vw; }
          @media screen and (min-width: 768px) {
            .section-info .info-left .info-opening .info-opening-inside .time p {
              font-size: 16px;
              width: 80%;
              margin: 0 auto 15px; } }
          @media screen and (min-width: 768px) and (max-width: 991px) {
            .section-info .info-left .info-opening .info-opening-inside .time p {
              width: 100%; } }
  .section-info .info-right {
    margin-top: 36px; }
    @media screen and (min-width: 768px) {
      .section-info .info-right {
        width: 50%;
        padding-left: 17px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-info .info-right {
        width: 45vw;
        margin: 0 auto;
        padding-left: 0; } }
    @media screen and (min-width: 768px) {
      .section-info .info-right {
        margin-top: 0; } }
    .section-info .info-right .info-opening {
      background-color: #FEF2ED;
      padding: 18px;
      border-radius: 12px;
      text-align: center; }
      .section-info .info-right .info-opening h2 img {
        width: 60vw;
        margin: 10px auto; }
        @media screen and (min-width: 768px) {
          .section-info .info-right .info-opening h2 img {
            width: 310px; } }
      .section-info .info-right .info-opening p.fuki {
        box-shadow: 0 0 16px -12px rgba(0, 0, 0, 0.5);
        position: relative;
        background-color: #fff;
        padding: 26px;
        font-size: 5.5vw;
        color: #744496;
        border-radius: 18px;
        font-weight: bold; }
        @media screen and (min-width: 768px) {
          .section-info .info-right .info-opening p.fuki {
            font-size: 26px; } }
        .section-info .info-right .info-opening p.fuki span {
          display: block;
          font-size: 3.8vw;
          color: #EB680E;
          margin-top: 10px; }
          @media screen and (min-width: 768px) {
            .section-info .info-right .info-opening p.fuki span {
              font-size: 15px; } }
        .section-info .info-right .info-opening p.fuki:before {
          content: "";
          position: absolute;
          bottom: -24px;
          left: 50%;
          margin-left: -15px;
          border: 12px solid transparent;
          border-top: 12px solid #FFF;
          z-index: 2; }
      .section-info .info-right .info-opening .booking {
        font-size: 3.8vw;
        margin-bottom: 18px; }
        @media screen and (min-width: 768px) {
          .section-info .info-right .info-opening .booking {
            display: inline-flex; } }
        .section-info .info-right .info-opening .booking span {
          background-color: #fff;
          padding: 5px 10px;
          border-radius: 0 5px 5px 0; }
          @media screen and (min-width: 768px) {
            .section-info .info-right .info-opening .booking span {
              font-size: 16px; } }
          .section-info .info-right .info-opening .booking span.ttl {
            border-radius: 5px 0 0 5px;
            background-color: #F5D6CD;
            padding: 5px 10px; }
  .section-info .info-bottom {
    border: solid #754498 4px;
    padding: 40px 7vw;
    margin: 80px auto 110px;
    border-radius: 15px; }
    @media screen and (min-width: 768px) {
      .section-info .info-bottom {
        margin: 70px 0 130px;
        padding: 40px 70px; } }
    .section-info .info-bottom h2 {
      text-align: center;
      background: #fff;
      margin: -92px auto 16px;
      color: #754498;
      font-size: 5.7vw; }
      @media screen and (min-width: 768px) {
        .section-info .info-bottom h2 {
          margin: -60px auto 20px;
          font-size: 26px;
          width: 600px; } }
    .section-info .info-bottom .bg-white {
      background: #fff;
      display: block;
      margin: -30px auto 0; }
      @media screen and (min-width: 768px) {
        .section-info .info-bottom .bg-white {
          margin: 0 auto;
          width: 360px; } }
      .section-info .info-bottom .bg-white .btn.btn__register {
        font-weight: bold;
        padding: 8px;
        font-size: 4.3vw; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .bg-white .btn.btn__register {
            font-size: 20px;
            width: 360px; } }
        .section-info .info-bottom .bg-white .btn.btn__register:before {
          display: none; }
    .section-info .info-bottom .flex div {
      width: 100%;
      padding: 10px 0; }
      @media screen and (min-width: 768px) {
        .section-info .info-bottom .flex div {
          padding: 10px;
          width: 25%; } }
      .section-info .info-bottom .flex div h3 {
        color: #754498;
        margin-bottom: 4px;
        font-size: 4.5vw;
        text-align: left; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .flex div h3 {
            text-align: center;
            font-size: 17px; } }
      .section-info .info-bottom .flex div img {
        width: 100px;
        height: intrinsic; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .flex div img {
            margin: 0 auto 8px; } }
      .section-info .info-bottom .flex div p {
        font-size: 14px; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .flex div p {
            text-align: center; } }
      .section-info .info-bottom .flex div:first-child h3 {
        background: #fef2ed;
        position: relative;
        text-align: center;
        color: #eb680e;
        padding: 10px 0;
        font-size: 5vw;
        border-radius: 7.5px; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .flex div:first-child h3 {
            border-radius: 15px;
            font-size: 20px;
            padding: 60px 0; } }
        .section-info .info-bottom .flex div:first-child h3:before {
          content: "";
          position: absolute;
          right: 50%;
          top: 100%;
          margin-top: 0;
          border: 12px solid transparent;
          border-top: 12px solid #fef2ed;
          margin-right: -12px; }
          @media screen and (min-width: 768px) {
            .section-info .info-bottom .flex div:first-child h3:before {
              right: -23px;
              top: 50%;
              margin-top: -12px;
              margin-right: 0;
              border-top: unset;
              border: 12px solid transparent;
              border-left: 12px solid #fef2ed; } }
    @media screen and (min-width: 768px) {
      .section-info .info-bottom .flex {
        margin: 0 -40px 0 -10px; } }
    .section-info .info-bottom .flex .info-bottom-flow {
      position: relative;
      display: flex;
      margin-bottom: 40px; }
      @media screen and (min-width: 768px) {
        .section-info .info-bottom .flex .info-bottom-flow {
          margin-bottom: 0;
          display: block; } }
      .section-info .info-bottom .flex .info-bottom-flow > span {
        padding-left: 15px; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .flex .info-bottom-flow > span {
            padding: 0; } }
      .section-info .info-bottom .flex .info-bottom-flow .arrow {
        position: absolute;
        bottom: -17px;
        right: 0;
        height: 0;
        width: 100%;
        padding: 0; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .flex .info-bottom-flow .arrow {
            bottom: -27px; } }
        .section-info .info-bottom .flex .info-bottom-flow .arrow span {
          display: block;
          height: 2px;
          width: 100%;
          border-bottom: 2px #754498 solid; }
          .section-info .info-bottom .flex .info-bottom-flow .arrow span:before {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            margin-left: -12px;
            border: 12px solid transparent;
            border-top: 12px solid #754498;
            z-index: 2; }
          .section-info .info-bottom .flex .info-bottom-flow .arrow span:after {
            content: "";
            position: absolute;
            top: -3px;
            left: 50%;
            margin-left: -12px;
            border: 12px solid transparent;
            border-top: 12px solid #fff;
            z-index: 2; }
        @media screen and (min-width: 768px) {
          .section-info .info-bottom .flex .info-bottom-flow .arrow {
            top: 40px;
            right: 0;
            height: 140px;
            width: 0;
            bottom: auto; }
            .section-info .info-bottom .flex .info-bottom-flow .arrow span {
              height: 140px;
              width: 2px;
              border-bottom: none;
              border-right: 2px #754498 solid; }
              .section-info .info-bottom .flex .info-bottom-flow .arrow span:before {
                border-top: unset;
                top: 50%;
                left: auto;
                right: -24px;
                margin-left: 0;
                margin-top: -12px;
                border: 12px solid transparent;
                border-left: 12px solid #754498; }
              .section-info .info-bottom .flex .info-bottom-flow .arrow span:after {
                border-top: unset;
                content: "";
                position: absolute;
                top: 50%;
                left: auto;
                right: -21px;
                margin-left: 0;
                margin-top: -12px;
                border: 12px solid transparent;
                border-left: 12px solid #FFF; } }
    .section-info .info-bottom .btn.btn__register {
      margin: -20px auto -77px; }
      @media screen and (min-width: 768px) {
        .section-info .info-bottom .btn.btn__register {
          margin: 5px auto -77px; } }
  .section-info .attention__border p {
    text-align: left;
    font-size: 14px; }

.section-flow {
  padding: 100px 0 60px; }
  @media screen and (min-width: 768px) {
    .section-flow {
      padding: 100px 0; } }
  .section-flow .content-flow {
    margin-bottom: 40px;
    background-color: #fff; }
    @media screen and (min-width: 768px) {
      .section-flow .content-flow {
        width: calc(75%);
        margin: auto;
        /*
        &:first-child{
          margin-left: 0;
          margin-right: 20px;
        }
        */ } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-flow .content-flow {
        min-width: 500px;
        margin: 0 auto !important; }
        .section-flow .content-flow:first-child {
          margin-bottom: 30px !important; } }
    .section-flow .content-flow > div {
      padding: 30px 5.8vw; }
      @media screen and (min-width: 768px) {
        .section-flow .content-flow > div {
          padding: 35px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-flow .content-flow > div {
          padding: 3vw; } }
    .section-flow .content-flow h3 {
      color: #fff;
      font-size: 6.1vw;
      padding: 22px 0;
      border-radius: 6px 6px 0 0;
      margin: -1px;
      background: #754498;
      text-align: center; }
      @media screen and (min-width: 768px) {
        .section-flow .content-flow h3 {
          font-size: 26px; } }
    .section-flow .content-flow img {
      width: 90px; }
    .section-flow .content-flow p {
      font-size: 14px; }
    .section-flow .content-flow .btn {
      margin: 20px auto 30px;
      padding: 15px 0;
      font-size: 3.6vw;
      padding-right: 5vw; }
      @media screen and (min-width: 768px) {
        .section-flow .content-flow .btn {
          font-size: 16px;
          width: 60%;
          padding: 20px 0;
          padding-right: 20px; } }
      .section-flow .content-flow .btn span {
        font-size: 4.6vw;
        display: inline-block; }
        @media screen and (min-width: 768px) {
          .section-flow .content-flow .btn span {
            font-size: 20px; } }
    .section-flow .content-flow .bg-purple {
      background: #f3ebfa;
      border-radius: 15px;
      padding: 30px 5.8vw; }
      @media screen and (min-width: 768px) {
        .section-flow .content-flow .bg-purple {
          padding: 40px 38px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-flow .content-flow .bg-purple {
          padding: 40px 3vw; } }
      .section-flow .content-flow .bg-purple .flex img {
        padding-right: 12px;
        width: 27vw; }
        @media screen and (min-width: 768px) {
          .section-flow .content-flow .bg-purple .flex img {
            width: 100px; } }
        @media screen and (min-width: 768px) and (max-width: 991px) {
          .section-flow .content-flow .bg-purple .flex img {
            width: 35%; } }
      .section-flow .content-flow .bg-purple .flex > div {
        width: 5.8vw; }
        @media screen and (min-width: 768px) {
          .section-flow .content-flow .bg-purple .flex > div {
            width: 190px; } }
      .section-flow .content-flow .bg-purple .flow-next {
        margin-bottom: 60px;
        position: relative; }
        .section-flow .content-flow .bg-purple .flow-next.flex {
          align-items: self-start; }
        .section-flow .content-flow .bg-purple .flow-next:last-child {
          margin-bottom: 0;
          padding-bottom: 0; }
        .section-flow .content-flow .bg-purple .flow-next p {
          font-size: 4vw;
          line-height: 24px; }
          @media screen and (min-width: 768px) {
            .section-flow .content-flow .bg-purple .flow-next p {
              font-size: 13px; } }
        .section-flow .content-flow .bg-purple .flow-next h4 {
          color: #754498;
          font-weight: bold;
          margin-bottom: 5px;
          font-size: 4.5vw; }
          @media screen and (min-width: 768px) {
            .section-flow .content-flow .bg-purple .flow-next h4 {
              font-size: 17px; } }
        .section-flow .content-flow .bg-purple .flow-next div.fuki {
          box-shadow: 0 0 16px -12px rgba(0, 0, 0, 0.5);
          position: relative;
          background-color: #fff;
          font-size: 5.5vw;
          color: #744496;
          border-radius: 7px;
          font-weight: bold;
          text-align: center;
          padding: 10px;
          margin-bottom: -30px;
          width: 100%; }
          @media screen and (min-width: 768px) {
            .section-flow .content-flow .bg-purple .flow-next div.fuki {
              font-size: 20px; } }
          .section-flow .content-flow .bg-purple .flow-next div.fuki:before {
            content: "";
            position: absolute;
            bottom: -16px;
            left: 50%;
            margin-left: -15px;
            border: 8px solid transparent;
            border-top: 8px solid #fff;
            z-index: 2; }
        .section-flow .content-flow .bg-purple .flow-next .arrow {
          position: absolute;
          bottom: -27px;
          right: 0;
          height: 0;
          width: 100%;
          padding: 0; }
          .section-flow .content-flow .bg-purple .flow-next .arrow span {
            display: block;
            height: 2px;
            width: 100%;
            border-bottom: 2px #754498 solid; }
            .section-flow .content-flow .bg-purple .flow-next .arrow span:before {
              content: "";
              position: absolute;
              top: 0;
              left: 50%;
              margin-left: -12px;
              border: 12px solid transparent;
              border-top: 12px solid #754498;
              z-index: 2; }
            .section-flow .content-flow .bg-purple .flow-next .arrow span:after {
              content: "";
              position: absolute;
              top: -3px;
              left: 50%;
              margin-left: -12px;
              border: 12px solid transparent;
              border-top: 12px solid #f3ebfa;
              z-index: 2; }
        .section-flow .content-flow .bg-purple .flow-next > div {
          width: 37vw; }
          @media screen and (min-width: 768px) {
            .section-flow .content-flow .bg-purple .flow-next > div {
              width: 65%; } }
      .section-flow .content-flow .bg-purple .item {
        border-bottom: 1px #744496 solid;
        margin-bottom: 18px;
        padding-bottom: 17px; }
        .section-flow .content-flow .bg-purple .item.noline {
          border: none;
          margin-bottom: 0;
          padding-bottom: 15px; }
          @media screen and (min-width: 768px) {
            .section-flow .content-flow .bg-purple .item.noline {
              padding-bottom: 29px; } }
          .section-flow .content-flow .bg-purple .item.noline p {
            width: 100%;
            font-size: 3.8vw; }
            @media screen and (min-width: 768px) {
              .section-flow .content-flow .bg-purple .item.noline p {
                font-size: 14px;
                width: 70%; } }
            .section-flow .content-flow .bg-purple .item.noline p:first-child {
              padding-right: 10px; }
              @media screen and (min-width: 768px) {
                .section-flow .content-flow .bg-purple .item.noline p:first-child {
                  width: 25%; } }
        .section-flow .content-flow .bg-purple .item:last-child {
          border: none;
          margin-bottom: 0;
          padding-bottom: 0; }
        .section-flow .content-flow .bg-purple .item p {
          font-size: 14px;
          width: 100%;
          margin-bottom: 5px; }
          @media screen and (min-width: 768px) {
            .section-flow .content-flow .bg-purple .item p {
              width: 62%; } }
          .section-flow .content-flow .bg-purple .item p:first-child {
            width: 100%;
            color: #754498;
            font-weight: bold; }
            @media screen and (min-width: 768px) {
              .section-flow .content-flow .bg-purple .item p:first-child {
                width: 38%;
                padding-right: 20px; } }
    .section-flow .content-flow:last-child .bg-purple .flow-next div.fuki {
      font-size: 5vw; }
      @media screen and (min-width: 768px) {
        .section-flow .content-flow:last-child .bg-purple .flow-next div.fuki {
          font-size: 20px; } }
  @media screen and (min-width: 768px) and (max-width: 991px) {
    .section-flow .container > .flex {
      justify-content: space-between; } }

.section-start {
  margin-top: 10px;
  padding: 62vw 0 70vw;
  background-repeat: repeat;
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .section-start {
      padding: 300px 0; } }
  .section-start .container {
    position: relative; }
    .section-start .container:before {
      position: absolute;
      content: '';
      left: -34vw;
      top: -91px;
      width: 165vw;
      height: 165vw;
      background-color: #fff;
      border: solid 10px #FBE5E1;
      border-radius: 100vw; }
      @media screen and (min-width: 768px) {
        .section-start .container:before {
          left: 80px;
          top: -128px;
          width: 780px;
          height: 700px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-start .container:before {
          left: 50%;
          margin-left: -400px; } }
  .section-start .content-start-wrap h2 {
    color: #EB680E;
    font-size: 5.5vw;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .section-start .content-start-wrap h2 {
        font-size: 30px; } }
    .section-start .content-start-wrap h2 span {
      color: #EB680E;
      font-size: 4.3vw;
      display: block; }
      @media screen and (min-width: 768px) {
        .section-start .content-start-wrap h2 span {
          font-size: 22px; } }
  .section-start .content-start-wrap p {
    font-size: 3.8vw;
    text-align: center;
    color: #744496;
    line-height: 7.4vw;
    margin: 18px 0; }
    @media screen and (min-width: 768px) {
      .section-start .content-start-wrap p {
        font-size: 18px;
        line-height: 36px; } }
  .section-start .start-imgs img:nth-child(1) {
    right: -10vw;
    left: initial;
    bottom: -39vw;
    width: 32vw; }
    @media screen and (min-width: 768px) {
      .section-start .start-imgs img:nth-child(1) {
        right: -7px;
        bottom: 56px;
        width: 156px; } }
  .section-start .start-imgs img:nth-child(2) {
    display: none;
    right: 3vw;
    left: initial;
    bottom: -67vw;
    width: 40vw; }
    @media screen and (min-width: 768px) {
      .section-start .start-imgs img:nth-child(2) {
        right: 40px;
        bottom: -100px;
        width: 204px; } }
  .section-start .start-imgs img:nth-child(3) {
    left: -12vw;
    top: -56vw;
    width: 50vw; }
    @media screen and (min-width: 768px) {
      .section-start .start-imgs img:nth-child(3) {
        top: -150px;
        left: -40px;
        width: 242px; } }
  .section-start .start-imgs img:nth-child(4) {
    right: 1vw;
    top: -90px;
    width: 26vw; }
    @media screen and (min-width: 768px) {
      .section-start .start-imgs img:nth-child(4) {
        width: 140px;
        top: -120px;
        right: 140px;
        left: initial; } }
  .section-start .start-imgs img:nth-child(5) {
    left: 2vw;
    bottom: -22vw;
    width: 66vw; }
    @media screen and (min-width: 768px) {
      .section-start .start-imgs img:nth-child(5) {
        top: inherit;
        bottom: -117px;
        left: 160px;
        width: 365px; } }

@media screen and (min-width: 768px) {
  .section-mov h2 img {
    width: 195px;
    height: 71px; } }

.section-about {
  padding-top: 110px; }
  @media screen and (min-width: 768px) {
    .section-about h2 img {
      width: 90px;
      height: 70px; } }
  .section-about .content-about {
    margin-bottom: 80px; }
    .section-about .content-about > h3 {
      text-align: center;
      background: #744496;
      padding: 20px;
      border-radius: 12px;
      color: #fff;
      position: relative; }
      @media screen and (min-width: 768px) {
        .section-about .content-about > h3 {
          font-size: 26px; } }
      .section-about .content-about > h3.fuki {
        position: relative;
        z-index: 1; }
        @media screen and (min-width: 768px) {
          .section-about .content-about > h3.fuki {
            width: 500px;
            margin: 0 auto; } }
        .section-about .content-about > h3.fuki:before {
          content: "";
          position: absolute;
          bottom: -24px;
          left: 50%;
          margin-left: -15px;
          border: 12px solid transparent;
          border-top: 12px solid #744496;
          z-index: 2; }
    .section-about .content-about .box > * {
      border-radius: 12px;
      padding: 37px 30px; }
      @media screen and (min-width: 768px) {
        .section-about .content-about .box > * {
          padding: 42px 20px 10px;
          height: 100%; } }
  .section-about .content-about-frame {
    background: #fff;
    padding: 20px 20px 40px;
    border-radius: 12px; }
    @media screen and (min-width: 768px) {
      .section-about .content-about-frame {
        margin-top: 110px;
        position: relative;
        padding-top: 100px; }
        .section-about .content-about-frame:before {
          position: absolute;
          content: '';
          width: 648px;
          height: 648px;
          background-color: #fff;
          top: -140px;
          z-index: 0;
          left: 50%;
          margin-left: -324px;
          border-radius: 500px; } }
    .section-about .content-about-frame p {
      font-size: 4vw;
      margin-bottom: 20px;
      line-height: 6.8vw; }
      @media screen and (min-width: 768px) {
        .section-about .content-about-frame p {
          font-size: 14px;
          line-height: 26px; }
          .section-about .content-about-frame p.center {
            font-size: 18px;
            line-height: 36px; } }
    .section-about .content-about-frame img {
      padding: 10px 0 24px; }
    @media screen and (min-width: 768px) {
      .section-about .content-about-frame > img {
        position: absolute;
        top: -90px;
        left: 50%;
        width: 600px;
        margin-left: -300px; } }
    @media screen and (min-width: 768px) {
      .section-about .content-about-frame.bell img {
        width: 370px;
        margin-left: -185px; }
      .section-about .content-about-frame.bell p {
        width: 650px;
        margin: 0 auto 40px;
        font-size: 16px;
        line-height: 28px; } }
    .section-about .content-about-frame.bell .all-text {
      margin-top: 6vw;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear;
      height: 0;
      overflow: hidden; }
      .section-about .content-about-frame.bell .all-text.open {
        height: 100%; }
      @media screen and (min-width: 768px) {
        .section-about .content-about-frame.bell .all-text {
          margin-top: -10px; } }
    .section-about .content-about-frame.bell .quote {
      width: 100%;
      background-color: #f3ebfa;
      border-radius: 12px;
      padding: 8vw 6vw;
      margin-bottom: 5vw; }
      @media screen and (min-width: 768px) {
        .section-about .content-about-frame.bell .quote {
          padding: 50px 20px;
          width: 650px;
          margin: 0 auto;
          font-size: 16px;
          margin-bottom: 40px; } }
      .section-about .content-about-frame.bell .quote h4 {
        text-align: center;
        font-weight: bold;
        color: #744496;
        font-size: 4.2vw;
        margin-bottom: 10px; }
        @media screen and (min-width: 768px) {
          .section-about .content-about-frame.bell .quote h4 {
            margin-bottom: 20px;
            font-size: 20px; } }
      .section-about .content-about-frame.bell .quote p {
        width: 100%;
        text-align: center;
        margin-bottom: 0;
        font-size: 3.5vw;
        line-height: 6.4vw; }
        @media screen and (min-width: 768px) {
          .section-about .content-about-frame.bell .quote p {
            font-size: 16px;
            line-height: 32px; } }
    .section-about .content-about-frame .box img {
      padding: 0 0 14px; }
    @media screen and (min-width: 768px) {
      .section-about .content-about-frame > * {
        z-index: 10;
        position: relative; } }

.section-news {
   padding-top: 50px;
  padding-bottom: 150px; }
  @media screen and (min-width: 768px) {
    .section-news h2 img {
      width: 71px;
      height: 77px; } }
  .section-news .content-news {
    display: flex;
    flex-wrap: wrap; }
    .section-news .content-news > article {
      width: 100%; }
      @media screen and (min-width: 768px) {
        .section-news .content-news > article {
          width: 33.3%;
          padding-left: 7px;
          padding-right: 7px;
          margin-bottom: 50px; }
          .section-news .content-news > article:first-child {
            padding-left: 0;
            padding-right: 14px; }
          .section-news .content-news > article:nth-child(3) {
            padding-left: 14px;
            padding-right: 0; }
          .section-news .content-news > article:nth-child(4), .section-news .content-news > article:nth-child(5) {
            /*display: none;*/ } }
  @media screen and (min-width: 768px) {
    .section-news.archive .content-news > article:nth-child(4) {
      display: block; }
    .section-news.archive .content-news > article:last-child {
      display: block; } }

.section-guide {
  padding-top: 100px;
  padding-bottom: 150px; }
  @media screen and (min-width: 768px) {
    .section-guide h2 img {
      width: 177px;
      height: 67px; } }
  .section-guide .content-guide {
    background-color: #fff;
    padding: 10px 40px;
    border-radius: 12px;
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      .section-guide .content-guide {
        width: 500px;
        padding: 30px 50px;
        margin: 0 auto 50px; } }
  .section-guide .content-guide-box {
    display: flex;
    flex-wrap: wrap;
    border-bottom: dotted 3px #C09ED8;
    padding: 25px 15px;
    margin-bottom: 2px; }
    .section-guide .content-guide-box .content-guide-ttl {
      width: 33%;
      font-size: 4vw;
      color: #744488; }
      @media screen and (min-width: 768px) {
        .section-guide .content-guide-box .content-guide-ttl {
          font-size: 16px; } }
    .section-guide .content-guide-box .content-guide-cont {
      width: 66%;
      font-size: 4vw; }
      @media screen and (min-width: 768px) {
        .section-guide .content-guide-box .content-guide-cont {
          font-size: 16px; } }
    .section-guide .content-guide-box:last-child {
      border: none; }

.section-access {
  padding-top: 100px;
  padding-bottom: 90px; }
  @media screen and (min-width: 768px) {
    .section-access h2 img {
      width: 93px;
      height: 69px; } }
  .section-access .content-access-info .address {
    font-size: 4vw;
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .section-access .content-access-info .address {
        font-size: 18px; } }
  .section-access .content-access-info .train {
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      .section-access .content-access-info .train {
        text-align: center; } }
    .section-access .content-access-info .train div {
      text-align: center;
      margin: 10px 0; }
      @media screen and (min-width: 768px) {
        .section-access .content-access-info .train div {
          display: inline-block;
          margin: 10px 20px 0 0; } }
      @media screen and (min-width: 768px) {
        .section-access .content-access-info .train div p {
          font-size: 16px;
          display: inline; } }
      .section-access .content-access-info .train div span {
        margin: 10px 0;
        font-size: 3.8vw;
        font-weight: bold;
        display: block;
        background-color: #ECE6F2;
        display: inline-block;
        margin: 6px auto 5px;
        width: auto;
        border-radius: 20px;
        padding: 2px 20px; }
        @media screen and (min-width: 768px) {
          .section-access .content-access-info .train div span {
            font-size: 16px; } }

.section-faq {
  padding-top: 100px;
  padding-bottom: 120px; }
  @media screen and (min-width: 768px) {
    .section-faq h2 img {
      width: 57px;
      height: 75px; } }
  .section-faq .content-faq {
    background-color: #fff;
    margin-bottom: 50px;
    border-radius: 12px; }
    .section-faq .content-faq h3 {
      border-radius: 12px 12px 0 0;
      background-color: #744496;
      color: #fff;
      text-align: center;
      font-size: 4.6vw;
      padding: 20px 0; }
      @media screen and (min-width: 768px) {
        .section-faq .content-faq h3 {
          font-size: 22px; } }
    .section-faq .content-faq .content-faq-itme-wrap {
      padding: 0 20px;
      margin-bottom: 2px; }
      @media screen and (min-width: 768px) {
        .section-faq .content-faq .content-faq-itme-wrap {
          padding: 0 50px; } }
      @media screen and (min-width: 768px) {
        .section-faq .content-faq .content-faq-itme-wrap:last-child {
          padding-bottom: 20px; } }
      .section-faq .content-faq .content-faq-itme-wrap:last-child .content-faq-item {
        border: none; }
    .section-faq .content-faq .faq-item-qes {
      font-size: 4vw;
      line-height: 7vw;
      color: #744496;
      margin-bottom: 0;
      position: relative;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
      @media screen and (min-width: 768px) {
        .section-faq .content-faq .faq-item-qes {
          font-size: 18px;
          line-height: 30px; } }
      .section-faq .content-faq .faq-item-qes:hover {
        cursor: pointer;
        opacity: .75; }
      .section-faq .content-faq .faq-item-qes .toggle {
        position: absolute;
        top: 3px;
        right: -22px;
        width: 20px;
        height: 20px;
        border-radius: 20px;
        background-color: #744496; }
        .section-faq .content-faq .faq-item-qes .toggle span {
          position: relative;
          display: block;
          width: 10px;
          height: 10px; }
          .section-faq .content-faq .faq-item-qes .toggle span:before, .section-faq .content-faq .faq-item-qes .toggle span:after {
            content: '';
            position: absolute;
            width: 2px;
            height: 12px;
            top: 4px;
            right: -1px;
            background-color: #fff;
            -webkit-transition: all 0.2s linear;
            transition: all 0.2s linear; }
          .section-faq .content-faq .faq-item-qes .toggle span:before {
            transform: rotate(90deg); }
    .section-faq .content-faq .faq-item-ans {
      font-size: 4vw;
      line-height: 7vw;
      max-height: 0;
      overflow: hidden;
      -webkit-transition: all 0.2s linear;
      transition: all 0.2s linear; }
      @media screen and (min-width: 768px) {
        .section-faq .content-faq .faq-item-ans {
          font-size: 18px;
          line-height: 30px; } }
      .section-faq .content-faq .faq-item-ans a {
        color: #EB680E;
        position: relative;
        text-decoration: none; }
        @media screen and (min-width: 768px) {
          .section-faq .content-faq .faq-item-ans a {
            font-size: 18px;
            line-height: 30px; } }
        .section-faq .content-faq .faq-item-ans a::before {
          position: absolute;
          content: '';
          width: 12px;
          height: 12px;
          top: 4px;
          right: -16px;
          background-repeat: no-repeat;
          background-size: 12px 12px;
          background-image: url(../images/icon/arw_right_2.svg); }
          @supports (-ms-ime-align: auto) {
            .section-faq .content-faq .faq-item-ans a::before {
              top: 7px; } }
          @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
            .section-faq .content-faq .faq-item-ans a::before {
              top: 7px; } }
    .section-faq .content-faq .content-faq-item {
      padding: 20px;
      border-bottom: dotted 3px #C09ED8; }
      @media screen and (min-width: 768px) {
        .section-faq .content-faq .content-faq-item {
          padding: 30px 30px 30px 20px; } }
      .section-faq .content-faq .content-faq-item.active .faq-item-qes {
        margin-bottom: 10px; }
        .section-faq .content-faq .content-faq-item.active .faq-item-qes .toggle span:before {
          opacity: 0; }
        .section-faq .content-faq .content-faq-item.active .faq-item-qes .toggle span:after {
          transform: rotate(90deg); }
      .section-faq .content-faq .content-faq-item.active .faq-item-ans {
        max-height: 200px; }
        @media screen and (min-width: 768px) {
          .section-faq .content-faq .content-faq-item.active .faq-item-ans {
            max-height: 500px; } }

.section-florence {
  padding-top: 100px;
  padding-bottom: 150px;
  background-color: #FEF2ED; }
  @media screen and (min-width: 768px) {
    .section-florence h2 img {
      width: 127px;
      height: 70px; } }
  .section-florence .content-florence {
    background-color: #fff;
    border-radius: 12px;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .section-florence .content-florence {
        width: 960px;
        margin: 0 auto; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-florence .content-florence {
        width: 500px;
        margin: 0 auto; } }
    .section-florence .content-florence img {
      border-radius: 12px 12px 0 0;
      width: 100%;
      height: fit-content;
      height: intrinsic; }
      @media screen and (min-width: 768px) {
        .section-florence .content-florence img {
          width: auto;
          height: intrinsic; } }
    .section-florence .content-florence > div p {
      padding-bottom: 10px; }
    .section-florence .content-florence p {
      font-size: 4vw;
      line-height: 6.5vw;
      padding: 30px; }
      @media screen and (min-width: 768px) {
        .section-florence .content-florence p {
          line-height: 28px;
          font-size: 16px;
          padding: 30px 70px 70px; } }
      @media screen and (min-width: 768px) and (max-width: 991px) {
        .section-florence .content-florence p {
          padding: 20px 40px 40px; } }
    @media screen and (min-width: 768px) {
      .section-florence .content-florence .flex > * {
        width: 50%; }
      .section-florence .content-florence .flex img {
        border-radius: 12px 0 12px 0; }
      .section-florence .content-florence .flex p {
        padding: 70px 70px 0 40px; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      .section-florence .content-florence .flex > * {
        width: 100%; }
      .section-florence .content-florence .flex img {
        border-radius: 12px 12px 0 0; }
      .section-florence .content-florence .flex p {
        padding: 40px 40px 0 40px; } }

.section-contact {
  padding-top: 100px;
  padding-bottom: 140px; }
  @media screen and (min-width: 768px) {
    .section-contact h2 img {
      width: 116px;
      height: 70px; } }

.section-single {
  background-image: url(../images/bg_pattern_2.svg);
  background-repeat: repeat;
  background-size: 30px 30.5px;
  margin: 0;
  padding: 0;
  padding-bottom: 150px; }
  .section-single .container {
    padding: 0; }

.content-single {
  background-color: #fff;
  padding: 55px 35px 35px; }
  @media screen and (min-width: 768px) {
    .content-single {
      padding: 96px 100px; } }
  .content-single p {
    font-size: 4vw;
    line-height: 8.6vw; }
    @media screen and (min-width: 768px) {
      .content-single p {
        font-size: 16px;
        line-height: 32px; } }
  .content-single > div {
    margin-bottom: 30px; }
    .content-single > div > div {
      margin-bottom: 60px; }
      .content-single > div > div > div {
        margin-bottom: 40px; }
  .content-single h3 {
    font-size: 5vw;
    line-height: 9.2vw;
    margin-bottom: 20px;
    margin-top: 60px;
    color: #744496; }
    @media screen and (min-width: 768px) {
      .content-single h3 {
        font-size: 20px;
        line-height: 36px; } }
  .content-single h4 {
    margin-bottom: 10px;
    color: #744496;
    font-weight: 300;
    font-size: 4.5vw;
    line-height: 9.2vw; }
    @media screen and (min-width: 768px) {
      .content-single h4 {
        font-size: 18px;
        line-height: 36px; } }
  @media screen and (min-width: 768px) {
    .content-single .right {
      text-align: right; } }
  .content-single ul {
    margin: 0 0 25px;
    padding-left: 0; }
    @media screen and (min-width: 768px) {
      .content-single ul {
        margin: 0 0 40px; } }
    .content-single ul ul {
      margin-bottom: 0;
      padding-left: 20px; }
    .content-single ul li {
      font-size: 3.7vw;
      line-height: 8.6vw; }
      @media screen and (min-width: 768px) {
        .content-single ul li {
          font-size: 16px;
          line-height: 32px; } }
    .content-single ul.num li {
      position: relative;
      padding-left: 20px; }
      .content-single ul.num li:before {
        content: '1. ';
        position: absolute;
        width: 2rem;
        height: 2rem;
        top: 0;
        left: 0;
        color: #222;
        font-size: 16px; }
      .content-single ul.num li:nth-child(2):before {
        content: '2. '; }
      .content-single ul.num li:nth-child(3):before {
        content: '3. '; }
      .content-single ul.num li:nth-child(4):before {
        content: '4. '; }
      .content-single ul.num li:nth-child(5):before {
        content: '5. '; }
      .content-single ul.num li:nth-child(6):before {
        content: '6. '; }
      .content-single ul.num li:nth-child(7):before {
        content: '7. '; }
      .content-single ul.num li:nth-child(8):before {
        content: '8. '; }
      .content-single ul.num li:nth-child(9):before {
        content: '9. '; }
      .content-single ul.num li:nth-child(10) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(10):before {
          content: '10. '; }
      .content-single ul.num li:nth-child(11) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(11):before {
          content: '11. '; }
      .content-single ul.num li:nth-child(12) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(12):before {
          content: '12. '; }
      .content-single ul.num li:nth-child(13) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(13):before {
          content: '13. '; }
      .content-single ul.num li:nth-child(14) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(14):before {
          content: '14. '; }
      .content-single ul.num li:nth-child(15) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(15):before {
          content: '15. '; }
      .content-single ul.num li:nth-child(16) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(16):before {
          content: '16. '; }
      .content-single ul.num li:nth-child(17) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(17):before {
          content: '17. '; }
      .content-single ul.num li:nth-child(18) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(18):before {
          content: '18. '; }
      .content-single ul.num li:nth-child(19) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(19):before {
          content: '19. '; }
      .content-single ul.num li:nth-child(20) {
        padding-left: 30px; }
        .content-single ul.num li:nth-child(20):before {
          content: '20. '; }
    .content-single ul.dots {
      margin: 10px 0 40px; }
      .content-single ul.dots li {
        position: relative;
        padding-left: 20px; }
        .content-single ul.dots li:before {
          content: '●';
          position: absolute;
          width: 2rem;
          height: 2rem;
          top: 0;
          left: 0;
          color: #222;
          font-size: 16px; }
        .content-single ul.dots li ul.dots {
          margin: 0; }
          .content-single ul.dots li ul.dots li:before {
            content: '○'; }

/*
2021.08.05 記事用臨時追加（FLR水野）
*/
.intro_movie {
  height: 0;
  padding-top: 56.25%;
  position: relative; }

.intro_movie iframe {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%; }

@media (min-width: 768px) {
  .intro_movie iframe {
    width: 710px;
    height: 400px; } }
/* 2021.08.05 TOPページ用臨時追加（FLR水野） */
@media (min-width: 768px) {
  #information_mov .intro_movie {
    padding-top: 41.25% !important; }

  #information_mov .intro_movie iframe {
    margin-left: 7em !important; } }
.footerLink,
.footerLink__inner {
  display: flex;
  justify-content: center;
  align-items: center; }

.footerLink {
  flex-wrap: wrap;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto 40px auto; }

.footerLink * {
  box-sizing: border-box; }

.footerLink__item {
  width: 33.3333%;
  max-width: 320px;
  padding: 12px; }

@media (max-width: 767px) {
  .footerLink__item {
    width: 100%;
    max-width: 280px;
    padding: 8px; } }
.footerLink__item__inner {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain; }

.footerLink__item__inner img {
  width: 100%;
  height: auto;
  object-fit: contain; }

/*# sourceMappingURL=style.css.map */
