@charset "UTF-8";

@media screen and (max-width:768px) {
    main {
        padding-top: 0;
    }
}

section.fuji-yama__logo {
    padding: 20px 0;
}

.fuji-yama__logoImg {
    width: 300px;
    margin: 0 auto;
}

@media screen and (max-width:767px) {
    .fuji-yama__logoImg {
        width: 160px;
        margin: 0 auto;
    }
}

.fuji-yama__info {
    background: #322D2A;
}

.fuji-yama__infoInner {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 56px 0 80px;
}

@media screen and (max-width:767px) {
    .fuji-yama__infoInner {
        width: 90%;
    }
}

h2.title {
    color: #a9894a;
    font-size: clamp(3rem, 2.149rem + 1.109vw, 4rem);
}

h2.title span {
    font-size: clamp(2rem, 1.659rem + 0.443vw, 2.4rem);
    display: block;
    margin-bottom: 2px;
}

@media screen and (max-width:767px) {
    h2.title {
        font-size: clamp(2rem, 1.043rem + 2.551vw, 3rem);
    }

    h2.title span {
        font-size: clamp(1.6rem, 1.217rem + 1.02vw, 2rem);
    }
}



.artist__cont {
    margin: 40px 0 56px;
}

.artist__itemDtl {
    display: flex;
    justify-content: space-around;
    margin-top: 10px;
}

.artist__itemImg {
    display: flex;
}
.artist__itemImgL, .artist__itemImgR {
    width: 50%;
}

span.credit {
    display: block;
    text-align: right;
    color: #ccc;
    font-size: 1.2rem;
    
}
@media screen and (max-width:767px) {
    span.credit {
        font-size: 1rem;
    }
}

.artist__itemName {
    display: inline-block;
    color: #a9894a;
    font-size: clamp(2.8rem, 1.949rem + 1.109vw, 3.8rem);
    width: calc((100% - 40px) / 2);
}

.artist__itemName span {
    display: block;
    font-size: clamp(2rem, 1.149rem + 1.109vw, 3rem);
    text-align: right;
    line-height: 0;
}

@media screen and (max-width:767px) {
    .artist__itemName {
        font-size: clamp(1.6rem, 0.452rem + 3.061vw, 2.8rem);
    }

    .artist__itemName span {
        font-size: clamp(1.4rem, 0.826rem + 1.531vw, 2rem);
    }
}

.artist__itemDtl img {
    width: 40px;
}

@media screen and (max-width:767px) {
    .artist__itemDtl img {
        width: 25px;
    }
}

.modal-content a {
    text-decoration: underline;
    transition-duration: .3s;
}

.modal-content a:hover {
    text-decoration: none;
    transition-duration: .3s;
    opacity: .7;
}

.description p {
    color: #fff;
    font-size: clamp(1.8rem, 1.119rem + 0.887vw, 2.6rem);
}

@media screen and (max-width:767px) {
    .description p {
        font-size: clamp(1.6rem, 1.409rem + 0.51vw, 1.8rem);
    }
}

.descriptionImg {
    margin-top: 40px;
}

.program__cont {
    width: 100%;
    max-width: 960px;
    margin: 40px auto 0;
}

@media screen and (max-width:767px) {
    .program__cont {
        width: 100%;
    }
}

.program__itemInner {
    display: flex;
    padding: 28px 32px;
    align-items: center;
    gap: 24px;
    border-radius: 10px;
    background: #fff;
}

@media screen and (max-width:767px) {
    .program__itemInner {
        display: block;
        padding: 16px;
    }
}

.program__itemImg {
    width: 31%;
}

.program__itemDtl {
    text-align: left;
    width: 69%;
}

@media screen and (max-width:767px) {
    .program__itemImg {
        width: 100%;
    }

    .program__itemDtl {
        width: 100%;
        margin-top: 16px;
    }
}


h3.program__itemName {
    font-size: clamp(1.8rem, 1.63rem + 0.222vw, 2rem);
}

.program__itemText {
    font-size: clamp(1.6rem, 1.43rem + 0.222vw, 1.8rem);
    margin-top: 10px;
}

@media screen and (max-width:767px) {
    h3.program__itemName {
        font-size: clamp(1.6rem, 1.409rem + 0.51vw, 1.8rem);
    }

    .program__itemText {
        font-size: clamp(1.3rem, 1.013rem + 0.765vw, 1.6rem);
    }
}

.program__itemText a,
.form__itemText a {
    display: inline-block;
    margin-top: 10px;
    text-decoration: underline;
    transition-duration: .3s;
}
.program__itemText a:hover,
.form__itemText a:hover {
    text-decoration: none;
    transition-duration: .3s;
    opacity: .7;
}

.fuji-yama__formInner {
    width: 100%;
    max-width: 960px;
    margin: 40px auto 80px;
}

@media screen and (max-width:767px) {
    .fuji-yama__formInner {
        width: 90%;
        margin: 40px auto;
    }
}

.form__item {
    border: 1px solid #555;
    padding: 48px 56px;
}

@media screen and (max-width:767px) {
    .form__item {
        padding: 32px 20px;
    }
}

.form__itemTitle {
    font-size: clamp(2rem, 1.659rem + 0.443vw, 2.4rem);
    color: #a9894a;
}

@media screen and (max-width:767px) {
    .form__itemTitle {
        font-size: clamp(1.8rem, 1.609rem + 0.51vw, 2rem);
    }
}

p.form__itemText {
    font-size: clamp(1.6rem, 1.43rem + 0.222vw, 1.8rem);
    text-align: left;
    margin-top: 16px;
}

@media screen and (max-width:767px) {
    p.form__itemText {
        font-size: clamp(1.4rem, 1.209rem + 0.51vw, 1.6rem);
    }
}

a.form__itemBtn {
    display: inline-block;
    font-size: clamp(1.6rem, 1.43rem + 0.222vw, 1.8rem);
    color: #fff;
    background: #a9894a;
    cursor: pointer;
    padding: 12px 40px;
    border-radius: 32px;
    margin-top: 40px;
    transition: .3s;
}

@media screen and (max-width:767px) {
    a.form__itemBtn {
        font-size: clamp(1.3rem, 1.013rem + 0.765vw, 1.6rem);
        padding: 10px 24px;
        border-radius: 20px;
    }
}

a.form__itemBtn:hover {
    transition: .3s;
    opacity: .7;
}


.artist__itemBtn {
    display: flex;
    justify-content: space-around;
    margin-top: 40px;
}

/* モーダルを開くボタン */
.modal-open {
    font-size: clamp(1.6rem, 1.43rem + 0.222vw, 1.8rem);
    color: #fff;
    background: #000;
    border: none;
    cursor: pointer;
    display: block;
    margin: 0 auto;
    padding: 12px 40px;
    border-radius: 32px;
    transition: 0.3s;
}

@media screen and (max-width:767px) {
    .modal-open {
        font-size: 1.3rem;
        padding: 10px 24px;
        border-radius: 20px;
    }
}

.modal-open:hover {
    background: #90743c;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    border-color: #90743c;
    opacity: 1 !important;
}

/* モーダルと背景の指定 */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 50%);
    padding: 20px 0;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    margin-top: 70px;
}

/* モーダルの擬似要素の指定 */
.modal:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
    margin-left: -0.2em;
}

/* クラスが追加された時の指定 */
.modal.is-active {
    opacity: 1;
    visibility: visible;
}

/* モーダル内側の指定 */
.modal-container {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 960px;
    width: 90%;
}

/* モーダルを閉じるボタンの指定 */
.modal-close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -20px;
    right: -20px;
    width: 40px;
    height: 40px;
    color: #fff;
    background: #a9894a;
    border-radius: 50%;
    cursor: pointer;
}

/* モーダルのコンテンツ部分の指定 */
.modal-content {
    background: #fff;
    text-align: left;
    line-height: 1.8;
    padding: 20px 20px 40px;
}

/* モーダルのコンテンツ部分のテキストの指定 */
.modal-content h3 {
    text-align: center;
    border: none;
    display: block;
    margin: 0 auto;
}

.modal-content h3 span {
    display: block;
    font-size: 1.4rem;
}

@media screen and (max-width:767px) {
    .modal-content h3 span {
        font-size: 1.3rem;
        line-height: 1.6;
        margin-top: 4px;
    }
}

.modal-content p {
    margin: 1em 0;
    font-size: 1.3rem;
}



@media screen and (max-width:767px) {
    .is-pc {
        display: none;
    }

    .is-sp {
        display: block;
    }
}

@media screen and (min-width:768px) {
    .is-pc {
        display: block;
    }

    .is-sp {
        display: none;
    }
}