section {
    margin: 0 auto;
}

.fv {
    background: linear-gradient(rgb(0 0 0 / .2), rgb(0 0 0 / .2) 75%, rgb(0 43 49 / 1) 100%), url(fv.jpg);
    background-size: cover;
    background-position: center;
}

#greeting h2, 
#philosophy h2, 
#profile h2, 
#history h2 {
    font-size: 2em;
}

#greeting figure {
    margin: 0;
    font-size: 14px;
    text-align: right;
}

#greeting img {
    width: 100%;
}

#greeting p {
    max-width: 40em;
}

@media (min-width: 640px) {
    #greeting div {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    #greeting figure {
        width: 40%;
    }

    #greeting p {
        width: 55%;
    }
}

#philosophy {
    padding: 65px 20px;
    background:url(../tex-marble.png),linear-gradient(#335B64,#65909A);
    background-blend-mode: multiply;
    background-size: 300px;
    background-repeat: repeat;
    margin:50px 0;
}

#philosophy h2 {
    margin: 0;
    border-bottom: solid 2px #fff;
    border-image: linear-gradient(to right, rgb(255 255 255 / 1) 0%, rgb(255 255 255 / .1) 50%) 1;
}

#philosophy p {
    word-break: keep-all;
    text-wrap: nowrap;
    font-size: min(4.5vw,16px);
    margin-top: 30px;
}

#philosophy h2,#philosophy p {
    color: #fff;
}

@media (min-width: 640px) {
    #philosophy div {
        max-width: 578px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 auto;
    }
}

#profile dl .profile-detail>div {
    border-bottom: 1px dotted #335B64;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 0;
}

#profile dl.place {
    display: flex;
    flex-direction: column;
}

#profile dl.place div {
    padding: 0;
}

#profile .place>div>dt {
    background-color: #335B64;
    color:#fff;
    text-align: center;
    width: 86px;
}

#profile .place>div>dd {
    padding-bottom: 8px;
    margin: 0;
}

#profile dl .profile-detail>div>dt {
    width: 25%;
}

#profile dl .profile-detail>div>dd {
    width: 80%;
    margin: 0;
}

#profile dl .profile-detail dd span {
    border-bottom: 1px solid #335B64;
}

#profile a {
    margin: 0 0 8px 0;
    width: 100%;
    color: #335B64;
}

#profile a.btn1 {
    display: block;
    text-align: center;
    max-width: 234px;
}

#profile dl .profile-detail div dt span {
    display: inline-block;
}

#profile ul.list-main {
    padding: 0 0 0 16px;
}

@media (min-width: 640px) {
    #profile .profile-detail {
        width: 48%;
    }

    #profile dl {
        max-width: 1100px;
        display: flex;
        justify-content: space-between;
    }

    #profile dl.place div {
        display: flex;
    }

    #profile dl.place div:nth-child(2) {
        margin: 4px 0 0 0;
    }

    #profile dl.place div dt {
        margin: 0 20px 0 0;
    }
}

#history {
    position: relative;
    margin: 80px auto;
}

#history::before {
    position: absolute;
    content: '';
    inset: 0;
    transform: skewY(4deg);
    background: linear-gradient(to bottom,rgba(61,109,121,0.2),rgba(61,109,121,0));
    z-index: -1;
}

#history dl {
    border-left: #335B64 2px solid;
    padding: 0 0 55px 0;
}

#history dt {
    font-weight: bold;
    width: fit-content;
    font-size: 18px;
    padding: 0 25px;
    border-bottom: #335B64 2px solid;
    position: relative;
}

#history dt::before {
    position: absolute;
    content: '';
    left: -10px;
    bottom: -10px;
    background-color: #335B64;
    width: 13px;
    height: 13px;
    border: #fff 2px solid;
    border-radius: 999px;
}

#history dd {
    padding: 20px 0 60px 0;
}

#history ul {
    padding: 0 0 0 16px;
}

@media (min-width: 640px) {
    #history dl div {
        display: flex;
        align-items:stretch;
        border-bottom: #335B64 2px solid;
        padding: 45px 0 0 0;
    }

    #history dt {
        border-bottom: none;
        width: 25%;
        padding: 0 25px 10px 25px;
    }

    #history dd {
        padding: 0 0 15px 0;
        width: 60%;
    }
}

    










