@charset "UTF-8";

body{
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

html, body {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* ãƒ˜ãƒƒãƒ€ãƒ¼ */
.header{
    grid-column-start: left;
    grid-row-start: header;
    background-color: #A2E288;

}

.header-wrapp{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 20px;
    text-align: center;
}

/* お申込みボタン */
.membership a{
    background-color: #fff;
    border-radius: 20px;
    border: solid 2px #225966;
    padding: 10px 40px;
    margin: 20px;
    font-size: 20px;
    font-weight: 500;
    color: #225966;
    text-decoration: none;
}

.membership a:hover{
    background-color: #7bd358;
    color: #fff;
}

/* ログインボタン */
.login a{
    background-color: #fff;
    border-radius: 20px;
    border: solid 2px #225966;
    padding: 10px 40px;
    margin: 20px;
    font-size: 20px;
    font-weight: 500;
    color: #225966;
    text-decoration: none;
    
}

.login a:hover{
    background-color: #7bd358;
    color: #fff;
}

/* ãƒ¡ã‚¤ãƒ³*/
/* ãƒˆãƒƒãƒ—å­ä¾›ãŸã¡ç”»åƒ */
.children img{
    width:100%;
}

/* ãƒ­ã‚´ */
.logo-wrapp {
    background-color: #FFF799;
}
.logo{
    display: flex;
    justify-content: center;
    width: 65%;
    margin: 0 auto;
}
.logo img{
    width:100%;
    padding:4rem 0 3rem;
}

/* ä¿é™ºã®ç¨®é¡ž */
.hoken_select {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 30px;
    grid-template-rows: auto;
    grid-row-gap: 20px;
    grid-column-start: left;
    grid-column-end: right;
    grid-row-start: hoken_select;
    margin: 0;
    padding: 3rem 5rem 5rem;
    background-color: #A2E288;
}

.hoken_select a {
    text-decoration: none;
}

/* æ–‡å­—ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ */
.slash {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    color: #225966;
}

.slash::before {
    transform: rotate(60deg);
}

.slash::before, .slash::after {
    content: "";
    width: 50px;
    height: 2px;
    background-color: #225966;
    margin: 0px;
}

.slash::after {
    transform: rotate(-60deg);
}

.hoken_select img {
    width: 100%;
    vertical-align: bottom;
}

/* è³ å„Ÿè²¬ä»»ä¿é™º */
.baisyo{
    transition: transform 0.3s ease;
}

.baisyo:hover {
    transform: translateY(-5px);
}

/* @media (max-width: 1024px) {
    .baisyo p{
    padding:15px 0 15px;
}
} */

/* å¼è­·å£«ä¿é™º */
.bengoshi{
    transition: transform 0.3s ease;
}

.bengoshi:hover {
    transform: translateY(-5px);
}

/* èº«ã®å›žã‚Šå“ä¿é™º */
.minomawari{
    transition: transform 0.3s ease;
}

.minomawari:hover {
    transform: translateY(-5px);
}

/* å¯¾äººãƒˆãƒ©ãƒ–ãƒ«ä¿é™º */
.taijin{
    transition: transform 0.3s ease;
}

.taijin:hover {
    transform: translateY(-5px);
}

/* ãŠå•ã„åˆã‚ã› */
.otoiawase {
    margin: 0;
    padding: 100px 0;
    text-align: center;
    grid-column-start: left;
    grid-row-start: auto;
    background-color: #fff799;
}

.otoiawase p {
    margin: 20px 0;
    padding: 0;
    font-size: 30px;
    font-weight: 500;
    color:#225966;
}

.otoiawase img {
    width: 30%;
}

.t-strong {
    font-size: 40px;
}

/* ã‚³ãƒ”ãƒ¼ãƒ©ã‚¤ãƒˆ */
.copyright {
    background-color: #a2e288;
    text-align: center;
    grid-column-start: left;
    grid-row-start: auto;
}

.copyright p {
    margin: 0;
    padding: 10px;
    color: #3b3d3f;
    font-size: 14px;
}

@media (max-width: 768px) {
    .logo{
        width: 80%;
    }

    .logo img {
        padding: 2rem 0 1rem;
    }

    .hoken_select {
        grid-template-columns: 1fr 1fr;
    }
    
    .slash {
        padding: 0;
    }

    .header {
        flex-direction: column;
        align-items: center;
    }

    .header-wrapp {
        display: flex;
        width: 50%;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        text-align: center;
        padding: 0.75rem;
    }

    /* お申込みボタン・ログインボタン */
    .membership, .login {
        margin: 10px 0;
        width: 100%;
    }

    .membership a,
    .login a {
        width: 80%;
        padding: 10px 40px;
        font-size: 18px;
        margin: 0;
    }
    
}

@media (max-width: 625px) {
    .membership a,
    .login a {
        padding: 9px 17px;
    }

}

@media (max-width: 440px) {
    /* ãŠç”³è¾¼ã¿ãƒœã‚¿ãƒ³ãƒ»ãƒ­ã‚°ã‚¤ãƒ³ãƒœã‚¿ãƒ³ */
    .membership, .login {
        margin: 10px 0;
        width: 100%;
    }

    .membership a,
    .login a {
        width: 80%;
        padding: 12px;
        font-size: 18px;
    }

    /* ä¿é™ºã®ç¨®é¡ž */
    .hoken_select {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        grid-template-rows: auto;
        grid-row-gap: 20px;
        padding:20px 40px 40px;
    }
    
    /* è³ å„Ÿè²¬ä»»ä¿é™º */
    .baisyo p{
        padding:0;
    }

    /* ãŠå•ã„åˆã‚ã› */
    .otoiawase {
        padding: 50px 0;
    }

    .otoiawase p {
        font-size: 20px;
    }

    .otoiawase img {
        width: 60%;
    }

    .t-strong {
        font-size: 30px;
    }


    /* ãƒ˜ãƒƒãƒ€ãƒ¼ */
    .header {
        flex-direction: column;
        align-items: center;
    }
    
    .header-wrapp {
        width: 85%;
        padding: 0.5rem 0;
        margin: 0 auto;
    }
    
    /* お申込みボタン・ログインボタン */
    .membership, .login {
        margin: 4px 0;
        width: 100%;
    }
    
    .membership a,
    .login a {
        width: 90%;
        padding: 4px 18px;
        font-size: 13px;
    }

    .logo{
        width: 100%;
    }

    .logo img {
        padding: 2rem 0 1.5rem;
    }

    /* ä¿é™ºã®ç¨®é¡ž */
    .hoken_select {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        grid-template-rows: auto;
        grid-row-gap: 20px;
        padding: 10px 20px 20px;
    }

    .hoken_select p{
        font-size:16px;
    }
    

    /* ãŠå•ã„åˆã‚ã› */
    .otoiawase {
        padding: 20px 0;
        text-align: center;
    }

    .otoiawase p {
        font-size: 16px;
        margin: 10px 0;
    }

    .otoiawase img {
        width: 80%;
        max-width: 300px;
    }

    .t-strong {
        font-size: 20px;
    }

    /* ã‚³ãƒ”ãƒ¼ãƒ©ã‚¤ãƒˆ */
    .copyright p {
        margin: 0;
        padding: 10px;
        color: #3b3d3f;
        font-size: 9px;
    }
}