.hero {
    width: 100%;
    height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
    /* background-image: url(../images/contents/top-image_light.jpg); */
    background-image: url(../images/contents/top-image_dark.jpg);
    /* background-size: 100% auto; */
    background-size: cover;
    background-repeat: no-repeat;
}

.hero__catch {
    padding: 2em 3em;
    /* backdrop-filter: blur(10px); */
    /* -webkit-backdrop-filter: blur(10px); */
}

.hero__catch h2 {
    font-size: 1.8em;
    color: antiquewhite;
    text-shadow: 1px 2px 4px darkgray;
}

.top_message__appeal {
    margin-top: 80px;
}

.top_message__appeal p {
    font-size: 1.2em;
    letter-spacing: .2em;
}

.main {
    text-align: center;
}

.centering {
    text-align: center;
}

.main-section {
    width: 100%;
}

.main-section__container {
    max-width: 620px;
    margin: auto;
    padding: 60px 0;
}

.main-section__container__child {
    padding: 20px;
}

.main-section__container__child__desc {
    text-align: left;
    width: 100%;
    font-size: 1em;
    line-height: 2;
}

.main-section__title {
    font-size: 1.6em;
    font-weight: 600;
}

.main-section__sub-title {
    font-size: 1.2em;
    margin: 40px auto;
}

.main-section__container__child__desc__list {
    width: 300px;
    margin: auto;
    line-height: 2.4em;
    list-style-position: inside;
}

.booth_link {
    margin: 20px 0;
}

.message-circle {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px auto;
}

.message-circle__child {
    position: relative;
    display: inline-block;
    width: 10em;
    height: 10em;
    border-radius: 50%;
    background: #eae3c3;
    margin: 10px 15px;
}

.message-circle__child span {
    display: inline-block;
    position: absolute;
    display: inline-block;
    left: 2%;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    width: 6em;
    font-size: 1.6em;
    font-weight: 500;
}


/* 以下、旧デザイン */
.profile {
    width: 100%;
}

.profile__first {
    width: 100%;
    display: flex;
    /* flex-wrap: wrap; */
    padding-top: 20px;
}

.profile__first__title {
    flex-grow: 1;
    min-width: 180px;
}

.profile__first__name {
    flex-grow: 2;
    line-height: 2.2;
    min-width: 110px;
}

.profile__first__caption {
    /* flex-grow: 2; */
    max-width: 800px;
    line-height: 1.6;
    padding-top: 4px;
}

.profile__second {
    padding: 20px 0 20px 20px;
    width: 100%;
    display: flex;
}

.profile__second__title {
    margin: 0 auto;
    min-width: 100px;
}

.profile__second__list {
    flex-grow: 1;
    margin: 0;
}

/* スキルリストの体裁 */
/* 要再調整 */
.profile__second__list li {
    list-style-type: none;
    /* 頭の記号を非表示 */
    position: relative;
    padding-left: 2.6rem;
    line-height: 3.4rem;
}

.profile__second__list li::before {
    border-radius: 50%;
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    left: 0.8rem;
    top: 1.3rem;
    content: "";
    background-color: #86c6d2;
}

.profile__second__list__studying::after {
    border-radius: 50%;
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    left: 0.8rem;
    top: 1.3rem;
    content: "";
    background-color: #839ca1;
}

@media screen and (max-width: 450px) {
    .hero {
        height: 70vh;
        background-size: auto 100%;
    }

    .hero__catch {
        padding: 2em 4px;
        backdrop-filter: blur(2px);
    }

    .hero__catch h2 {
        font-size: 1.2em;
    }

    .message-circle__child {
        width: 6em;
        height: 6em;
        margin: 10px 10px;
    }

    .message-circle__child span {
        left: -10%;
        top: 50%;
        transform: translateY(-50%);
        text-align: center;
        width: 6em;
        font-size: 1.2em;
        font-weight: 500;
    }

    .profile__first {
        flex-direction: column;
    }
}