@charset "UTF-8";
:root {
    --base-color: #2c3034;
    --main-bg-color: #FFF;
    --sub-bg-color: #f0f2f5;

    --main-text-color: #2c3034;
    --sub-text-color: rgba(44, 48, 52, 0.75);
}

@font-face {
    font-family: 'NotoSansJP';
    src: url('../fonts/NotoSansJP-Regular.ttf') format('ttf');
    /*url('assets/fonts/NotoSansJP-Regular.woff') format('woff');*/
    font-display: swap;
    /* パフォーマンスのための最適化 */
    font-weight: 400 700; /* 必要な太さのみ指定 */
    font-style: normal;
}

html { font-size: 62.5%;
    padding: 0;
    margin:0;
}

body{
    font-size: 1.6rem;
    line-height: 1.5;
    font-family: 'NotoSansJP', sans-serif;
    width: 100%;
    min-width: 360px;
    background: var(--sub-bg-color);
    font-family: 'NotoSansJP', sans-serif;
    color: var(--main-text-color);
}

main{
    margin: 40px auto;
    width: 50%;
    min-width: 360px;
    text-align: center;
}
.txt-l{
    text-align: left;
}
.mgt-20{ margin-top: 20px; }
ul,li{
    list-style: none;
}

.btn-group{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 0;
}
.btn-group li{
    margin: 10px 5px;
    width: 100%;
    text-align: center;
}
.btn-group li a{
   text-decoration: none;
    font-size: 2rem;
    max-width: 300px;
    margin: 0 auto;
}
.btn{
    display: block;
    padding: 2.1rem 1.75rem;
    font-size: 1.2rem;
    font-weight: 500;
    border-radius: 20px;
    color: white;
    text-align: center;
}


.btn-tel{
    background-image: linear-gradient(135deg, #b721ff, #21d4fd);
}

.btn-mail{
    background-image: linear-gradient(135deg, #50cc7f, #f5d100);
}

.business{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 40px;
    padding: 0;

}
.business li{
    width: 50%;
}
.business li p{
    padding: 10px;
    border: solid 1px #6c757d;
    border-radius: 10px;
    margin: 5px;
    width: calc(100% - 10px);
}

.company,.ceo{
    line-height: 2.5;
    font-size: 2rem;
}
.address{
    text-align: left;
    padding-top: 10px;
}

h1 img{
    margin: 0 auto;
}

footer{
    margin-top: 20px;
    text-align: center;
}