@charset "utf-8";
/* A Modern CSS Reset */

*,*::before,*::after{
    box-sizing:border-box
}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{
    margin:0
}
ul[role="list"],ol[role="list"]{
    list-style:none
}
html:focus-within{
    scroll-behavior:smooth
}
body{
    min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5
}
a:not([class]){
    text-decoration-skip-ink:auto
}
img,picture{
    max-width:100%;display:block
}
input,button,textarea,select{
    font:inherit
}
@media(prefers-reduced-motion:reduce){
    html:focus-within{
        scroll-behavior:auto
    }
}
table{
    border-collapse:collapse
}

*{
    margin: 0;
    padding: 0;
}
html { 
    font-size: 62.5%; 
}
body { 
    font-size: 1.6rem; /*font-size : 16px と同等*/
    font-family: "Zen Maru Gothic", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: var(--black);
    /* position: relative; */
    letter-spacing: 0.06em;
    font-size: 2.2rem;
}
h2{
    font-size: 2.8rem;
}
.green{
    color: #4eaa78;
}
.fv{
    width: 100%;
}
.fv img{
    max-width: 1920px;
    width: 100%;
}
.details{
    margin: 72px auto;
    width: 100%;
}
.details h2{
    text-align: center;
}
.details table{
    max-width: 830px;
    width: 100%;
    margin: 78px auto;
}
.details tr{
    width: 100%;
}
.details th {
    border-bottom: 2px solid #4eaa78;
    width: 24%;
    padding: 10px;
    font-weight: normal;
}
td {
    border-bottom: 2px solid #e2e5e8;
    width: 80%;
    padding: 10px 10px 10px 20px;
}
.details ul{
    max-width: 830px;
    width: 100%;
    margin: 0 auto;
    list-style: none;
}
.details li {
    padding: 0 0 0 1em;
    position: relative;
    letter-spacing: 0.08em;
}
.details li::before {
    position: absolute;
    display: block;
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #4eaa78;
    top: 50%;
    left: 0;
    transform: translate(-50%, 0);
}
.details li.notes::before {
    display: none;
}
.details li.notes{
    padding: 10px 0;
}
.footer{
    display: flex;
    align-items: end;
    justify-content: space-around;
    max-width: 900px;
    width: 100%;
    margin: 0 auto 50px;
}
.logo{
    max-width: 250px;
    width: 100%;
}
.logo img{
    width: 100%;
}
.info{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.tel_number{
    font-size: 3rem;
}
.address span a{
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    body{
        font-size: 1.6rem;
    }
    .details {
        padding: 0 2em;
        margin: 54px auto;
    }
    .details table {
        margin: 40px auto;
    }
    .details tr {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .details th{
        width: 100%;
        margin: 1em 0 0;
        text-align: start;
        padding: 10px 10px 10px 20px;
    }
    .details td {
        width: 100%;
    }
    .footer{
        flex-direction: column;
        align-items: center;
        padding: 0 2em;
    }
    .footer .logo{
        margin: 0 0 20px;
    }
}
@media screen and (max-width: 440px) {
    h2{
        font-size: 2rem;
    }
}