/* blockname */
.fv-slide {
    line-height: 0;
    position: relative;
}
.fv-slide__text {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    line-height: 1.7em;
    padding: 0 25px;
    position: absolute;
    left: 0;
    bottom: -65px;
    width: 100%;
}
.fv-slide__text p {
    font-size: 21px;
    font-weight: 500;
    width: 50%;
}
.fv-slide__text p:nth-child(2) {
    text-align: right;
}
.fv-slide__text p span {
    font-size: 16px;
    font-weight: 500;
}
@media screen and (max-width: 968px) {
    .fv-slide__text {
        padding: 0 15px;
        bottom: -65px;
    }
    .fv-slide__text p {
        font-size: 16px;
        width: 50%;
    }
    .fv-slide__text p span {
        font-size: 12px;
    }
}
@media screen and (max-width: 568px) {
    .fv-slide__text {
        line-height: 1.2em;
        padding: 0 15px;
        bottom: -45px;
    }
    .fv-slide__text p {
        font-size: 12px;
    }
    .fv-slide__text p span {
        font-size: 9px;
    }
}
@media screen and (max-width: 468px) {
    .fv-slide__text {
        display: none;
    }
}
/* about */
.about {
    background: url(/images/about-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 130px 0 80px;
}
.about-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1100px;
}
.about-head {
    margin: 0 0 45px;
    text-align: center;
}
.about-head .about-head__txt {
    font-size: 30px;
    font-weight: 500;
}
.about-head h2 {
    font-size: 45px;
    font-weight: 700;
}
.about-body {
    text-align: center;
}
.about-body p {
    font-size: 25px;
    font-weight: 700;
    line-height: 40px;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .about-head {
        margin: 0 0 35px;
    }
    .about-head .about-head__txt {
        font-size: 18px;
    }
    .about-head h2 {
        font-size: 26px;
    }
    .about-body p {
        font-size: 16px;
        line-height: 28px;
    }
}
@media screen and (max-width: 468px) {
    .about {
        padding: 60px 0 45px;
    }
    .about-head {
        margin: 0 0 25px;
    }
    .about-head .about-head__txt {
        font-size: 16px;
    }
    .about-head h2 {
        font-size: 23px;
    }
    .about-body p {
        font-size: 14px;
        line-height: 26px;
    }
}

/* information */
.information {
    background: url(/images/information-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0 113px;
}
.information-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1000px;
}
.information-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin: 0 0 60px;
}
.information-list__item {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.information-list__item dt {
    background: #0071bc;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    font-weight: 500;
    height: 56px;
    width: 116px;
}
.information-list__item dd {
    width: calc(100% - 136px);
}
.information-list__date .num,
.information-list__date .time,
.information-list__place .name {
    font-size: 47px;
    font-weight: 500;
}
.information-list__date .ymd {
    font-size: 33px;
    font-weight: 500;
}
.information-list__date .week,
.information-list__date .start,
.information-list__place .place {
    font-size: 27px;
    font-weight: 500;
}
.information-list__place .access {
    display: block;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
}
.information-list__price .price {
    font-size: 40px;
    font-weight: 500;
}
.information-list__price .yen {
    font-size: 33px;
    font-weight: 500;
}
.information-list__price .notice {
    font-size: 24px;
    font-weight: 500;
}
.information-images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin: 0 0 40px;
}

.information-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 0 0 27px;
}
.information-column {
    border: 2px solid #0071bc;
    padding: 32px 28px;
}
.information-left {
    width: 57%;
}
.information-right {
    width: 40%;
}
.information-program h3,
.information-column__item h3 {
    font-size: 28px;
    font-weight: 500;
    text-align: center;
}
.information-program h3::after,
.information-column__item h3::after {
    background: #FFFFFF;
    background: linear-gradient(236deg, rgba(255, 255, 255, 1) 0%, rgba(35, 127, 255, 1) 100%);
    content: "";
    display: block;
    height: 1.2px;
    margin: 10px auto 15px;
    width: 100%;
    max-width: 300px;
}
.information-column__items {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.information-column__item p {
    font-size: 18px;
    font-weight: 500;
    line-height: 36px;
}
.program-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin: 0 0 25px;
}
.program-list__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.program-list__item dt {
    height: 26px;
    position: relative;
    text-align: center;
    width: 26px;
}
.program-list__item dt::before {
    background: #0071bc;
    content: "";
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transform: rotate(45deg);
    width: 100%;
}
.program-list__item dt span {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    z-index: 1;
}
.program-list__item dd {
    width: calc(100% - 50px);
}
.program-list__item dd .txt {
    font-size: 24px;
    font-weight: 500;
}
.program-list__item dd .small {
    display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
}

.information-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 8px;
}
.information-card {
    background: #fff;
    border: 2px solid #0071bc;
    border-radius: 6px;
    box-shadow: 0 0 7px rgb(137 137 137 / 55%);
    text-align: center;
    width: calc((100% - (8px * 2)) / 3);
}
.information-card a {
    display: block;
    padding: 20px 15px;
}
.information-card h3 {
    color: #0071bc;
    font-size: 24px;
    font-weight: 700;
}
.information-card h3::after {
    border-bottom: 1px dashed #0071bc;
    content: "";
    display: block;
    height: 1px;
    margin: 8px auto 25px;
    width: 117px;
}
.information-card p {
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}
.information-card__btn {
    height: 30px;
    margin: 25px auto 0;
    width: 100%;
}
.information-card__btn p {
    background: #0071bc;
    border-radius: 50px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 700;
    height: 100%;
    position: relative;
    width: 100%;
}
.information-card__btn p::after {
    background: url(/images/icon-triangel.svg) no-repeat;
    background-position: center;
    background-size: 4px;
    content: "";
    display: block;
    height: 8px;
    margin: auto;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    width: 4px;
}

.program-notice {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.program-notice__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.program-notice__item dt {
    border: 1px solid #0071bc;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    height: 30px;
    text-align: center;
    width: 46px;
}
.program-notice__item dd {
    width: calc(100% - 56px);
}
.program-notice__name {
    font-size: 24px;
    font-weight: 500;
}
.program-notice__name .s {
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: 2px;
    margin-left: 5px;
}

@media screen and (max-width: 968px) {
    .information {
        padding: 100px 0 113px;
    }
    .information-list {
        gap: 25px;
        margin: 0 0 40px;
    }
    .information-list__item dt {
        font-size: 20px;
        height: 45px;
        width: 100px;
    }
    .information-list__item dd {
        width: calc(100% - 120px);
    }
    .information-list__date .num,
    .information-list__date .time,
    .information-list__place .name {
        font-size: 34px;
    }
    .information-list__date .ymd {
        font-size: 24px;
    }
    .information-list__date .week,
    .information-list__date .start,
    .information-list__place .place {
        font-size: 21px;
    }
    .information-list__place .access {
        font-size: 16px;
    }
    .information-list__price .price {
        font-size: 28px;
    }
    .information-list__price .yen {
        font-size: 21px;
    }
    .information-list__price .notice {
        font-size: 20px;
    }
    .information-images {
        margin: 0 0 40px;
    }

    .information-flex {
        margin: 0 0 27px;
    }
    .information-column {
        padding: 32px 28px;
    }
    .information-left {
        width: 100%;
    }
    .information-right {
        margin-top: 25px;
        width: 100%;
    }
    .information-program h3,
    .information-column__item h3 {
        font-size: 28px;
    }
    .information-column__items {
        gap: 50px;
    }
    .information-column__item p {
        font-size: 18px;
        line-height: 36px;
    }
    .program-list {
        gap: 25px;
        margin: 0 0 25px;
    }
    .program-list__item dt {
        height: 26px;
        width: 26px;
    }
    .program-list__item dt span {
        font-size: 14px;
    }
    .program-list__item dd {
        width: calc(100% - 50px);
    }
    .information-card h3 {
        font-size: 21px;
    }
    .information-card h3::after {
        margin: 8px auto 20px;
    }
    .information-card p {
        font-size: 16px;
    }
}
@media screen and (max-width: 868px) {
    .information-card {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .information {
        padding: 60px 0;
    }
    .information-list {
        gap: 25px;
        margin: 0 0 40px;
    }
    .information-list__item dt {
        font-size: 15px;
        height: 38px;
        width: 75px;
    }
    .information-list__item dd {
        width: calc(100% - 90px);
    }
    .information-list__date .num,
    .information-list__date .time,
    .information-list__place .name {
        font-size: 21px;
    }
    .information-list__date .ymd {
        font-size: 16px;
    }
    .information-list__date .week,
    .information-list__date .start,
    .information-list__place .place {
        font-size: 14px;
    }
    .information-list__place .access {
        font-size: 14px;
    }
    .information-list__price .price {
        font-size: 21px;
    }
    .information-list__price .yen {
        font-size: 13px;
    }
    .information-list__price .notice {
        font-size: 14px;
    }
    .information-images {
        margin: 0 0 25px;
    }

    .information-flex {
        margin: 0 0 25px;
    }
    .information-column {
        padding: 30px 20px;
    }
    .information-program h3,
    .information-column__item h3 {
        font-size: 22px;
    }
    .information-column__items {
        gap: 50px;
    }
    .information-column__item p {
        font-size: 16px;
        line-height: 28px;
    }
    .program-list__item dt {
        height: 24px;
        width: 24px;
    }
    .program-list__item dt span {
        font-size: 13px;
    }
    .program-list__item dd {
        width: calc(100% - 40px);
    }
    .program-list__item dd .txt {
        font-size: 20px;
    }
    .program-list__item dd .small {
        font-size: 14px;
    }
    .program-notice__name {
        font-size: 20px;
    }
    .program-notice__name .s {
        font-size: 14px;
    }
}

/* profile */
.profile {
    padding: 115px 0 90px;
}
.profile-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1000px;
}
.profile-items {
    display: flex;
    flex-direction: column;
    gap: 45px;
}
.profile-item {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.profile-item:nth-child(even) {
    flex-direction: row-reverse;
}
.profile-image {
    line-height: 0;
    width: 415px;
}
.profile-text {
    width: calc(100% - 450px);
}
.profile-text h2 {
    font-size: 36px;
    font-weight: 500;
}
.profile-text h2::after {
    background: #FFFFFF;
    background: linear-gradient(236deg, rgba(255, 255, 255, 1) 0%, rgba(35, 127, 255, 1) 100%);
    content: "";
    display: block;
    height: 1.5px;
    margin: 10px auto 15px;
    width: 100%;
}
.profile-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.profile-list__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.profile-list__item dt {
    border: 1px solid #0071bc;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    height: 33px;
    text-align: center;
    width: 104px;
}
.profile-list__item dd {
    font-size: 18px;
    font-weight: 500;
    line-height: 29px;
    width: calc(100% - 124px);
}
@media screen and (max-width: 968px) {
    .profile-items {
        gap: 35px;
    }
    .profile-image {
        width: 315px;
    }
    .profile-text {
        width: calc(100% - 350px);
    }
    .profile-text h2 {
        font-size: 36px;
    }
    .profile-list__item dt {
        font-size: 16px;
        height: 30px;
        width: 95px;
    }
    .profile-list__item dd {
        font-size: 16px;
        line-height: 25px;
        width: calc(100% - 115px);
    }
}
@media screen and (max-width: 768px) {
    .profile {
        padding: 60px 0;
    }
    .profile-items {
        gap: 25px;
    }
    .profile-image {
        width: 100%;
    }
    .profile-text {
        margin: 15px 0 0;
        width: 100%;
    }
    .profile-text h2 {
        font-size: 26px;
    }
    .profile-list__item dt {
        font-size: 14px;
        width: 75px;
    }
    .profile-list__item dd {
        font-size: 14px;
        width: calc(100% - 95px);
    }
}

/* blockname */
.tour {
    background: url(/images/tour-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}
.tour-inner {
    margin: 0 auto;
    width: 92%;
    max-width: 1000px;
}
.tour-head {
    text-align: center;
}
.tour-head h2 {
    color: #0071bc;
    font-size: 48px;
    font-weight: 700;
}
.tour-head::after {
    background: url(/images/icon-tour.png) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    display: block;
    height: 57px;
    margin: 25px auto 45px;
    width: 140px;
}
.tour-cards {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 17px;
    row-gap: 70px;
}
.tour-card {
    text-align: center;
    width: calc((100% - (17px * 2)) / 3);
}
.tour-card p {
    font-size: 21px;
    font-weight: 500;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .tour {
        padding: 60px 0;
    }
    .tour-head h2 {
        font-size: 32px;
    }
    .tour-head::after {
        margin: 20px auto 35px;
    }
    .tour-cards {
        gap: 15px;
        row-gap: 15px;
    }
    .tour-card {
        width: calc((100% - (15px * 1)) / 2);
    }
    .tour-card p {
        font-size: 16px;
    }
}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}