@charset "UTF-8";
/* CSS Document */
html {
    font-size: 62.5%;
}
body {
    font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 400;
    font-style: normal;
    font-size: 1.4em;
    line-height: 2;
    padding: 0;
    margin: 0;
}
.en,.c-en_text{
  font-family: "Jacques Francois", serif;
}
.p-h_eng{
  font-family: "Jacques Francois", serif;
}
a {
    color: currentColor;
    text-decoration: none;
    transition: 0.3s;
}
a:hover {
    opacity: 0.7;
}
.c-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.c-flex-between {
    justify-content: space-between;
}
figure {
    margin: 0;
    padding: 0;
}
img {
    display: block;
    width: 100%;
}
.tab_hidden, .pc_hidden {
    display: inline;
}
.fadeIn {
    opacity: 0;
    transition: 2s;
}
.fadeIn.is-show {
    opacity: 1;
}
.fadeIn_up {
    opacity: 0;
    transform: translate(0, 50%);
    transition: 2s;
}
.fadeIn_up.is-show {
    transform: translate(0, 0);
    opacity: 1;
}
.fadeIn_left {
    opacity: 0;
    transform: translate(-50%, 0);
    transition: 2s;
}
.fadeIn_left.is-show {
    transform: translate(0, 0);
    opacity: 1;
}
.c-en_text {
    line-height: 1.6;
}
/*swiper設定*/
.swiper-container {
    overflow: hidden;
}
.swiper-button-next, .swiper-button-prev {
    color: #FFF;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 20px;
}
header {
    height: 100vh;
}
.video_wrap {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#video {
    width: 100%;
    object-fit: cover;
    height: 100%;
    display: block;
}
#video2 {
    display: none;
}
.header_rogo {
    width: 80%;
    position: absolute;
    max-width: 250px;
    top: 5%;
    left: 5%;
    /* transform: translate(-50%, -50%); */
    /* -webkit-transform: translate(-50%, -50%); */
    /*-ms-transform: translate(-50%, -50%); */
}
.l-wrapper {
    width: 100%;
    padding: 24px 0 24px;
}
h2 {
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.5;
    padding: 60px 0;
}
.p-shikiri-photo {
    aspect-ratio: 4 / 2;
    width: 100%;
}
.p-shikiri-photo img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.i-inner {
    width: 80%;
    margin: 36px auto;
    max-width: 768px;
}
.c-bg {
    background: #F0EEE6;
    padding: 36px 10%;
}
h3 {
    font-size: 2.2rem;
    margin: 0 0 16px 0;
  font-family: "Jacques Francois", serif;
}
h3::before {
    content: '';
    width: 16px;
    display: inline-block;
    height: 1px;
    margin: 0 4px 0.3em 0;
    background-color: currentColor;
}
.p-section-head {
    margin: 0 0 0;
}
h4 {
    font-size: 1.6rem;
    line-height: 1.7;
}
.p-section-content {
    margin: 24px 0 0 0;
}
.p-section-content p {
    margin: 0 0 8px 0;
}
.p-photo-contener {
    position: relative;
    aspect-ratio: 1/1;
}
.c-photo {
    aspect-ratio: 3/2;
}
.p-photo-1 {
    position: relative;
    width: 80%;
}
.p-photo-2 {
    width: 69%;
    margin: 5px 0 0 auto;
}
.p-photo-3 {
    width: 65%;
    margin: 5px auto 0 10%;
}
.p-lesson_box_title {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.3;
}
.p-lesson_box {
    margin: 36px 0 0;
}
.p-lesson_box_title span {
    display: inline-block;
    font-size: 1.3rem;
}
ul.p-lesson_list {
    margin: 16px 0;
    border: solid 1px #000;
    border-left: none;
    border-right: none;
    padding: 16px 4px;
}
p.p-lesson_list_date {
    display: inline-block;
    margin: 0 1em 0 0px;
    line-height: 1.6;
}
p.p-lesson_list_name {
    display: inline-block;
    line-height: 1.6;
}
p.p-lesson_list_name span {
    display: inline-block;
}
.p-stay-slide {
    margin: 24px 0 0;
}
.p-btn {
    border: solid 1px currentColor;
    display: block;
    text-align: center;
    line-height: 1.4;
    padding: 16px;
}
.p-stay-btn {
    margin: 24px 0;
}
.c-bg.access {
    background: #F0EEE6;
    padding: 36px 10%;
    margin: 0;
}
div#map {
    width: 100%;
    height: 100vw;
}
/*フッター*/
.studio-rogo {
    width: 70%;
    margin: 40px auto;
    max-width: 200px;
}
footer p {
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.5;
}
.f-under {
    background: #F2F2F2;
    padding: 24px 0;
    margin: 48px 0 0;
}
.f-under .i-inner {
    margin: 0 auto;
}
.company-rogo {
    width: 20%;
    max-width: 40px;
}
.last-footer {
    border-top: solid 1px #454545;
    padding: 8px 0;
    background: #F2F2F2;
    font-size: 1.2rem;
}
/* -------------------------------------------- */
/* ▼タブレット用デザインとして付け足すデザイン */
/* -------------------------------------------- */
@media (min-width: 768px) {
  header {
    width: 100%;
    aspect-ratio:16/9;
    height: auto;
}
    #video {
        display: none;
    }
    #video2 {
        width: 100%;
        object-fit: cover;
        height: 100%;
        display: block;
    }
    .tab_hidden, .pc_hidden {
        display: none;
    }
    .p-photo-1 {
        position: relative;
        width: 60%;
    }
    .p-photo-2 {
        width: 40%;
        margin: 0px 0 0 auto;
    }
    .p-photo-3 {
        width: 55%;
        margin: -10% auto 0 0;
    }
    .c-bg {
        background: #F0EEE6;
        padding: 36px calc((100% - 768px) / 2);
    }
    .c-bg.access {
        padding: 36px calc((100% - 768px) / 2);
        margin: 0;
    }
    .map-wrap {
        width: 100%;
        background: #F0EEE6;
    }
    div#map {
        width: 768px;
        height: 768px;
        margin: auto;
    }
}