article{
    padding: 4rem 0;
    display: grid;
    gap: 5rem;

    section{
        width: clamp(48rem, 90%, 68.75rem);
        margin: 0 auto;

        h2{
            font-size: 1.5rem;
            text-align: center;
            font-weight: normal;
            border-bottom: 2px solid var(--main-color);
            padding-bottom: .5rem;
            margin-bottom: 2rem;
        }
        h3 span{
            font-size: 1.25rem;
            background: linear-gradient(transparent 50%, var(--sub-color) 50%);
            padding: .5rem;
        }
        p{
            margin: 1rem auto;
            line-height: 1.8;
            text-align: justify;
        }
    }
}
@media (max-width: 767px){
    article{
        padding: 2rem 0;
        gap: 3rem;
    
        section{
            width: 90%;
            margin: 0 auto;

            h2{
                font-size: 1.2rem;
            }
        }
    }
}

.greeting{

    .greeting__contents{
        display: grid;
        grid-template-columns: repeat(2,10rem) 1fr;
        grid-template-rows: 5rem 20rem auto;

        figure{
            grid-column: 1 / 3;
            grid-row: 1 / 3;
            z-index: 2;

            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }
        div{
            grid-column: 2 / 4;
            grid-row: 2 / 4;
            background: var(--sub-color);
            padding: 1rem 1.5rem 1rem 11.5rem;
            z-index: 1;
        }
    }
}
.greeting__contents__chairman{
    text-align: right;
}
@media (max-width: 767px){
    .greeting{

        .greeting__contents{
            display: block;
    
            figure{
                margin: 1rem auto;
                width: clamp(15rem, 100%, 20rem);
            }
            div{
                padding: 0;
                background: transparent;
            }
        }
    }

}

.organization{

    figure{
        width: clamp(20rem, 100%, 50rem);
        margin: 1rem auto;
    }
}

.policy__contents{
    ul{
        margin: 2rem auto 0;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 3rem;

        li{
            text-align: center;
            border-left: 3px double var(--accent-color);
            border-right: 3px double var(--accent-color);
            padding: 1rem 0;

            a{
                color: var(--text-color);
            }
        }
    }
}
@media (max-width: 767px){
    .policy__contents{
        ul{
            grid-template-columns: 1fr;
            gap: 2rem;
        }
    }
}