@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */

html {
    font-size: 62.5%;
}

body {
    font-size: 3.6vw;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.8;
    font-weight: normal;
    max-width: 100%;
}

object {
    pointer-events: none;
}

.sp {
    display: block !important;
}

.pc {
    display: none !important;
}

.pc_inline {
    display: none !important;
}

a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.h2Tit, .h2Tit02, .h2Tit03 {
    font-size: 22px;
}

h3.gra span {
    font-size: 22px;
}

/* ---------------------------------------------------------------------------
  ★フォントファミリー
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★背景
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★LIST
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★TABLE
--------------------------------------------------------------------------- */

.c_table_01 {
   width: 100%;
}

.c_table_01 table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit;
    width: 100%;
    border-radius: 0.5em;
}

.c_table_01 table tbody tr th {
    border-bottom: 1px solid #4f4f4f;
    /* background: #f3f8fc; */
    vertical-align: top;
    padding: 16px 15px;
    /* display: block; */
    width: 100%;
    word-break: break-all;
    line-height: 140%;
}

.c_table_01 table tbody tr td {
    border: 1px solid #edf2f6;
    vertical-align: top;
    padding: 16px 21px;
    word-break: break-all;
    width: 100%;
    /* display: block; */
}

/* ---------------------------------------------------------------------------
  ★タイトル
--------------------------------------------------------------------------- */

.tit02 {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    margin: 0 auto 35px;
}

.tit02 b {
    font-size: 5rem;
    line-height: 1.5;
    letter-spacing: 2px;
    display: inline-block;
    position: relative;
}

.tit02 span {
    color: #8c8c8c;
    font-size: 3.6vw;
    display: block;
    line-height: 1;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", cursive, sans-serif, serif;
}


/* ---------------------------------------------------------------------------
  ★テキスト
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★アニメーション
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★グローバルナビゲーション
--------------------------------------------------------------------------- */

.nav_wrp {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 3;
    display: none;
}

.nav_wrp.changed {
    display: block;
}

.nav_site {
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 240px;
    height: 100%;
    padding: 100px 30px 50px;
    position: fixed;
    opacity: 0;
    -webkit-transition: 0.7s;
    transition: 0.7s;
    -webkit-transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
    transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
    background: rgba(0, 0, 0, 0.8);
    overflow-y: auto;
    z-index: 1;
}

.nav_site.active {
    opacity: 1;
    top: 0;
    right: 0;
}


/* =======================================
	★ページャー
========================================== */

.pager {
    width: auto;
    margin: 0 auto;
    padding-bottom: 100px;
}

.wp-pagenavi {
    clear: both;
    font-size: 14px;
    text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    width: 35px;
    height: 35px;
    line-height: 2.6;
    border: 1px solid #000000;
    -webkit-transition: ease-out 0.5s;
    transition: ease-out 0.5s;
    color: #000000;
    font-size: 14px;
    margin: 5px;
    vertical-align: top;
    padding: 0px;
    background-color: #fff;
    border-radius: 4px;
}

.wp-pagenavi span.extend {
    border: 1px solid rgba(245, 245, 245, 0);
}

.wp-pagenavi span.current {
    color: #fff;
    background-color: #000000;
    font-size: 14px;
    vertical-align: top;
    text-decoration: none;
}

#contact .popup-inner {
    padding: 40px 20px;
}
/* =======================================
	★hamburger
========================================== */

.hamburger {
    top: 20px;
    right: 10px;
    width: 70px;
    height: 70px;
}

.main_inpage .hamburger {
    top: 40px;
}

.hamburger__line {
    height: 1px;
}

.hamburger__line--1 {
    top: 17px;
    width: 15px;
}

.hamburger__line--2 {
    top: 24px;
    width: 24px;
}

.hamburger__line--3 {
    top: 31px;
    width: 38px;
}

.global-nav > div {
    width: 100%;
}
.global-nav .nav02 a {
    font-size: 14px !important;
}

.nav-open .global-nav {
    right: -1px;
    width: 80%;
    min-width: 284px;
}

.accordion-container {
    width: 250px;
    font-size: 16px;
}

.global-nav .nav03 > div {
    flex-direction: column;
    align-items: center;
    margin: 0;
}

.global-nav .nav03 a {
    margin-bottom: 8px;
    padding: 8px 16px 6.4px;
}
/* =======================================
	★MV
========================================== */
#js-hamburger p.fE {
    padding-top: 33px;
    font-size: 12px;
}

h1.logo {
    width: 17em;
    padding-top: 28px;
}

header.inner02 {
    margin: 0 30px;
    padding-left: 0 !important;
}

/* img.mvTxt {
    width: 90vw;
    padding-top: 11vh;
    margin: auto;
} */

img.mvTxt {
    width: 90vw;
    padding-top: 8vh;
    margin: auto;
}

/* .mv_slash0 {
    z-index: 2;
    margin-left: -50vw;
    background: url(../img/mv_slash0_sp.png) center no-repeat;
    background-size: cover;
    width: 100vw;
    height: 182vw;
} */

.mv_slash0 {
    z-index: 2;
    margin-left: -50vw;
    background: url(../img/mv_slash0_sp.png) center no-repeat;
    background-size: cover;
    width: 100vw;
    height: 170vw;
}

.mv_slash1 {
    z-index: 1;
    margin-left: -50vw;
    background: url(../img/mv_slash1_sp.png) bottom 0 right -51vw no-repeat;
    background-size: cover;
    width: 100vw;
    height: 172vw;
}

.mvArea ul.point {
    width: 90vw;
    margin: auto;
    margin-top: 7%;
    position: relative;
    z-index: 3;
    right: 0%;
    /* top: 93%; */
}

/* =======================================
	★home
========================================== */

.inner, .inner02 {
    width: 100%;
    padding-right: 6vw;
    padding-left: 6vw;
}
.inner_800, .inner02 {
    width: 100%;
}
/* .home01 {
    padding-top: 37vw;
} */

.home01 {
    padding-top: 28vw;
}
/* .home01 ul li:nth-child(1) {
    width: 80%;
    margin: 0 auto;
} */
.home01 ul li:nth-child(2) {
    width: 100%;
    font-size: 110%;
    position: inherit;
}
.home01 ul li:nth-child(3) {
    display: none;
}
.kakeru {
    justify-content: center;
}

.home01 .btn01 {
    margin-left: auto;
}

.home02 .cl33 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 4%;
}

.home02 .cl33>li {
    width: 100% !important;
    margin-right: 0 !important;
}

.home02 .cl33>li:not(:last-child) {
    margin-bottom: 8%;
}

.home02.mT120 {
    margin-top: 15% !important;
}

.bgW p {
    padding: 0px 20px;
}

.home02 li:nth-child(2) p.f14 {
    width: 100%;
    transform: translate(0, 0);
}
.kakeru {
    justify-content: center;
}

.home02 li:nth-child(2) p.f18 {
}

.bg02:before {
    top: -20%;
}

.bgW {
    padding-bottom: 24px;
}

.home03 img {
    width: 46%;
}

.home03　.inner_650 {
    width: 90% !important;
}

.inner_650,
.inner_700 {
    width: 90%;
}

.contactBox .btn03.mT15,
.footer01 .linkBox02 .btn03 {
    margin-top: 0.5% !important;
}

/* =======================================
	★footer
========================================== */

.footer01 {
    padding: 15% 0 10%;
}

.footer01 .linkBox.cl50, .footer01 .linkBox02, .footer01 .linkBox02 > div:first-child {
    flex-direction: column;
    align-items: center;
}

.footer01 .linkBox.cl50 > * {
    width: 80%;
}

.footer01 .linkBox02 .mR15 {
    margin-right: 0 !important;
}

.footer01 h5 {
    font-size: 18px;
}

.footer02 {
    padding-right: 6vw;
    padding-left: 6vw;
}

.footer02 ul li:first-child p {
    padding-left: 2em;
}

.footer02 ul {
    flex-direction: column;
    align-items: flex-start;
    font-size: 14px;
}

.footer02 li:first-child p {
    padding-left: 1.7em;
}

.footer02 li {
    background: url(../img/footer01.svg) no-repeat bottom 19px left 14px;
    background-size: 1.3em;
    padding-left: 1.7em;
}

.footer02 li:nth-child(2) {
    padding-left: calc(1.7em + 30px);
    border-left: 0;
    margin-left: 0;
    margin-top: 4px;
    background: url(../img/footer02.svg) no-repeat center left 12px;
    background-size: 1.7em;
}

.footer02 li:nth-child(1) {
    padding-left: 2.0em;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
    width: 100%;
}

@media (max-width: 900px) and (min-width: 768px) {
    .home01 {
        padding-top: 48vw;
    }
}

@media (max-width: 375px) {
    .home01 {
        padding-top: 40vw;
    }
}

#contents {
    overflow: hidden;
}

.pankuzu ul {
    margin-left: 0;
    margin-right: auto;
}

.main_inpage > p.fE {
    font-size: 12vw;
    margin-top: 30px;
}

.main_inpage {
    background: url(../img/main_inpage.png) bottom center;
    background-size: cover;
    height: 38vh;
    z-index: 9;
    position: relative;
}

p.bold.lh220.center {
    text-align: left !important;
}

.btnArea02 ul {
    flex-wrap: wrap;
}

.btnArea02 ul li {
    width: 100%;
    margin-bottom: 4%;
}

.bgWBox {
    padding: 0 20px 20px;
}

.bgWBox .cl7_3 {
    flex-direction: column-reverse;
}

#about ul.u_01 li {
    margin-right: 1em;
}

.bg_gray {
    padding: 16px 24px;
}

.bg_gray li {
    width: 100%;
}

.bg_gray.cl33 > li:not(:nth-child(2n)) {
    margin-right: 0 !important;
}

.bg_gray.cl33 > li:last-child {
    margin-bottom: 0 !important;
}

.bgWBox .center.bold,
.access01 .bold.lh220,
.charm01 p.bold,
.enrollment01 .bold.lh220,
#price .price02 > p,
#introduction .introduction01.center > p,
.reserve01 > p,
#reserve ul.center,
.member01 .bold {
    text-align: left !important;
}

#about ul.u_02 li img {
    width: 11%;
    margin-right: 4%;
}

.checkArea li {
    width: 61% !important;
    margin-bottom: 7%;
    margin-right: 0 !important;
}

.checkArea li:last-child {
    margin-bottom: 0 !important;
}

#charm01 .cl50.mB40,
#btnArea02 > ul > li:nth-child(2) > p:nth-child(3) {
    margin-bottom: 10.5% !important;
}

#charm01 .gra.mB30,
#charm03 .gra.mB30 {
    margin-bottom: 0 !important;
}

#charm01 .bgWBox {
    padding: 0px 20px 28px;
}

.inpage .bg_path {
    -webkit-clip-path: polygon(0 0, 100% 6%, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 52PX, 100% 100%, 0 100%);
    padding-top: 85px;
}

#contact .c_table_01 table tbody tr th {
    width: 100%;
}

#enrollment .main_inpage > p.fE {
    font-size: 10vw;
}

#enrollment .u_02 {
    padding: 24px;
    flex-direction: column-reverse;
}

#enrollment .u_02 > div:nth-child(2) {
    width: 100%;
    margin-left: 0;
    margin-bottom: 4%;
}

#enrollment .btnArea02 ul li {
    width: 100%;
    margin-bottom: 4% !important;
}

.flowArea li {
    width: 100%;
    margin-bottom: 12% !important;
    margin-right: 0 !important;
}

.flowArea li:not(:last-child):before {
    right: 48%;
    top: auto;
    bottom: -11%;
    transform: rotate(90deg);
}

#enrollment .c_table_01 table tbody tr th {
    width: 100%;
}

#enrollment02 > ul > li:nth-child(2) {
    margin-top: 12%;
}

#price .u_01 li:not(:last-child) {
    padding-right: 40px;
    width: 50%;
}

#price .u_01 li:not(:last-child):after {
    bottom: 22.6%;
}

#price .u_01 {
    display: flex;
    flex-wrap: wrap;
}

.price02 .c_table_01 {
    overflow: hidden;
    width: 100%;
    overflow-x: auto;
}

.price02 .c_table_01 table {
    border-collapse: collapse;
    white-space: nowrap;
    border-spacing: 0;
    font-size: inherit;
    width: 100%;
}

.price02 .c_table_01 table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit;
    width: 100%;
    border-radius: 0.5em;
}

.price02 .c_table_01 table tbody tr th {
    border-bottom: 1px solid #4f4f4f;
    vertical-align: top;
    padding: 16px 15px;
    width: 24.5%;
    word-break: break-all;
    line-height: 140%;
}

.price02 .c_table_01 table tbody tr td {
    border: 1px solid #edf2f6;
    vertical-align: top;
    padding: 16px 21px;
    word-break: break-all;
}

#access .c_table_01 table tbody tr th,
#access .c_table_01 table tbody tr td,
#contact .c_table_01 table tbody tr th,
#contact .c_table_01 table tbody tr td,
#enrollment .c_table_01 table tbody tr th,
#enrollment .c_table_01 table tbody tr td {
    display: block;
}

#price .u_01 li:not(:last-child):before, #price .u_01 li:not(:last-child):after {
    right: 11px;
}

#price .u_01 li:not(:last-child):after {
    right: 19px;
}

#price .komeBox ul {
    width: 100%;
}

#price .komeBox {
    display: flex;
    justify-content: start;
}

.price03 .cl50 {
    flex-direction: column-reverse;
    display: flex;
}

.price03  .kome.right {
    text-align: left !important;
}

#voice .voice02 li > div {
    margin-right: 0 !important;
}

#voice .voice02 li > div:first-child {
    margin-bottom: 4%;
}

.reserve01 .cl33 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.reserve01 .checkArea li {
    width: 100% !important;
    margin-bottom: 4% !important;
}

.reserve01 .checkArea02 li p {
    width: 100%;
}

.reserve01 .checkArea02 li {
    padding: 5px 0 5px 3.4em;
}

.reserve01 .checkArea li {
    background-size: 2em;
}

.reserve01 .checkArea02 {
    padding-top: 24px;
}

.reserve01.mB40 {
    margin-bottom: 4.5% !important;
}

#reserve .btnArea02 > ul > li:nth-child(2) {
    margin-top: 4%;
}

#reserve .flowArea li:not(:last-child):before {
    bottom: -10%;
}

#reserve02 .inner_650 {
    width: 100%;
}

dt.qArea {
    padding: 20px 4em 19px 4em;
}

dt.plus:before {
    width: 8px;
    height: 8px;
}

.inpage .bgW {
    padding: 0 24px;
}

.news01 .o_02 .head {
    display: block;
}

.news01 .sub.fE.f14,
.news01 .c_subTit {
    padding: 0 16px;
    margin-right: 0;
}

.news01 .mB30 {
    margin-bottom: 10% !important;
}

#member .btnArea02.u_01 ul li {
    margin-bottom: 4%;
}

.googleCalendar iframe {
    height: 500px;
}

#about .checkArea,
#charm .checkArea {
    display: flex;
    flex-wrap: wrap;
}

#about .checkArea li,
#charm .checkArea li {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 6%;
}

#about .checkArea.mT40 {
    margin-top: 3.5% !important;
}

#charm  .checkArea li {
    background: url(../img/check02.svg) no-repeat left center;
    background-size: 2em;
    padding: 5px 0;
}

#charm .checkArea li p,
#charm .checkArea li p:first-child {
    padding-left: 3em;
    text-align: left;
}

#about .checkArea li {
    background: url(../img/check02.svg) no-repeat left 5em top;
    background-size: 2em;
    padding: 5px 0;
}

#about04 .cl3_7 {
    flex-wrap: wrap;
}

#about04 .cl3_7>div:nth-of-type(2) {
    margin-bottom: 0 !important;
}


.pagination ul{
    margin-top: 30px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.pagination ul li{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px 5px;
}
.pagination ul li a{
    color: #ec3154;
    padding: 0 10px;
    border: 1px solid #ec3154;
}
.pagination ul li span{
    background: linear-gradient(to right, #ef6e27, #ec3154);
    padding: 0 10px;
    color: #fff;
    border: 1px solid #ec3154;
}


@media (max-width: 380px) and (min-width: 0px) {
    .global-nav > div > a:nth-child(1) {
        width: 8em;
        margin: 0 auto 20px;
    }

    .global-nav > div {
        padding: 20px 24px 30px;
    }

    #enrollment .u_02 > div:nth-child(2) p.center {
        font-size: 66px;
    }

    #price .priceTxt {
        font-size: 186%;
    }
}