@charset "UTF-8";

body, html {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* ヘッダー */
.header-logo{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(243, 227, 88);
    height:100px;
}

.header-logo img{
    max-width:300px;
}
/* body */
body{
    font-family: 'M PLUS Rounded 1c', sans-serif;
    background-image: radial-gradient(#ffff1a 16%, transparent 21%), radial-gradient(#ffff1a 16%, transparent 21%);
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px;
}

/* 中身のボーダー */
.simu-border{
    background-color: #fff;
    margin: 2rem auto;
    width: 90%;
    text-align: center;
}
/* 中身 */
.form{
    border:1px solid #225966;
    padding:50px;
}

/* 料金シュミレーション */
h1{
    text-align: center;
    background-color: #A2E288;
    box-shadow: 5px 10px 0 #225966;
    border: 2px solid #225966;
    color: #FFF799;
    margin:50px;
    padding:10px 0;
    text-shadow:
    1px 1px 0px #225966, -1px -1px 0px #225966,
   -1px 1px 0px #225966,  1px -1px 0px #225966,
    1px 0px 0px #225966, -1px  0px 0px #225966,
    0px 1px 0px #225966,  0px -1px 0px #225966;
    
}

/* 料金シュミレーションテキスト */
.simu-font-01{
    margin: 20px;
    padding: 50px;
    font-size: 16px;
    text-align: center;
    color:#225966
}

h2{
    color:#225966;
}

/* 生年月日入力 */
.birth {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
    padding:40px 0 20px;
}

.simu-font-02{
    color:#225966;
}

.birth, .responsibility {
    margin: 20px 0;
}

label {
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
}

input[type="date"] {
    font-size: 18px;
    padding: 8px;
    width: 180px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

/* 責任開始日 */
.respons{
    display: flex;
    align-items: center;
    justify-content: center;
}
.responsibility {
    width:600px;
    font-size: 40px;
    text-align: center;
    background-color: #A2E288;
    box-shadow: 5px 10px 0 #225966;
    border: 2px solid #225966;
    color: #FFF799;
    padding:10px 0;
    text-shadow:
    1px 1px 0px #225966, -1px -1px 0px #225966,
   -1px 1px 0px #225966,  1px -1px 0px #225966,
    1px 0px 0px #225966, -1px  0px 0px #225966,
    0px 1px 0px #225966,  0px -1px 0px #225966;
}

.respons-text{
    font-weight: 900;
    font-size: 26px;
}

span#formatted-date {
    font-weight: 900;
    font-size: 40px;
}

/* 注意書き */
.warning{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
    color:#225966;
}

.warning-plan{
    text-align: left;
}

/* 親子のための保険シリーズ */
.parents-goods{
    display: flex;
    align-items: center;
    justify-content: center;
}

.parents-form{
    width:700px;
}

.custom-radio {
    display: flex;
    align-items: center;
    border: 1px solid #225966;
    padding: 20px;
    cursor: pointer;
}

.custom-radio input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #225966;
    margin-right: 15px;
    outline: none;
    cursor: pointer;
}

.custom-radio input[type="checkbox"]:checked {
    background-color: #225966;
}

.custom-radio input[type="checkbox"]:checked::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 10px;
    height: 10px;
    background-color: white;
    border-radius: 50%;
}

.custom-radio label {
    cursor: pointer;
    flex-grow: 1; 
    text-align: center; 
    color:#225966;
    font-weight: 300;
}

/* 各プランの詳細はこちら */
.plan-botton{
    display: flex;
    justify-content: center; 
    align-items: center;
    margin:50px 0;
}
.plan{
    margin: 0; 
    padding: 20px;
    border: 3px solid #225966;
    background-color: #fff;
    width: 600px;
    text-align: center; 
}

.plan a{
    display: block;
    text-decoration: none;
    font-size: 26px;
    color: #225966;
}

/* 料金を試算する */
.price-calcu{
    margin: 0;
    padding: 0;
}
.price-button{
    margin-bottom: 50px;
    display: inline-block;
    font-size: 25px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    padding: 50px 100px;
    background: #A2E288;
    color: #225966;
    line-height: 1em;
    transition: .3s;
    box-shadow: 15px 15px #225966;
    border: 3px solid #225966;
}
.price-button:hover {
    background: #fff; 
    color: #225966; 
    box-shadow: none; 
}

.calculation{
    display: flex;
    justify-content: center; 
    align-items: center;
    margin-bottom:50px;
}

.insurance-calcu{
    margin: 0; 
    width:600px;
    padding: 50px;
    box-shadow: 5px 10px 0 #225966;
    border: 2px solid #225966;
    background-color: #A2E288;
    font-size: 40px;
    text-align: center;
    color: #FFF799;
    padding:10px 0;
    text-shadow:
    1px 1px 0px #225966, -1px -1px 0px #225966,
   -1px 1px 0px #225966,  1px -1px 0px #225966,
    1px 0px 0px #225966, -1px  0px 0px #225966,
    0px 1px 0px #225966,  0px -1px 0px #225966;
}

.insurance-calcu p{
    font-weight: 900;
    font-size: 26px;
    letter-spacing: 1px;
}

.t-big02{
    font-weight: 900;
    font-size: 50px;
}

/* 保険料注意書き */
.message {
    border: 1px solid #000; 
    margin-top: 10px;
    font-weight: bold;
    color: white; 
    background-color: rgb(180, 0, 0); 
    width: 600px; 
    padding: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-left: auto; 
    margin-right: auto; 
    display: none;
}

.intension{
    display: flex;
    justify-content: center; 
    align-items: center;
}

.intension p{
    font-size: 20px;
    color:#225966;
    margin:30px 0 0;
}

/* 申し込むボタン */
.button{
    margin: 50px 0;
    display: inline-block;
    font-size: 25px;
    text-align: center;
    cursor: pointer;
    padding: 50px 150px;
    background: #A2E288;
    color: #225966;
    line-height: 1em;
    transition: .3s;
    box-shadow: 15px 15px #225966;
    border: 3px solid #225966;
}

.button:hover {
    background: #fff; 
    color: #225966; 
    box-shadow: none; 
}

@media (max-width: 768px) {

    /* 中身 */
    .form {
        padding: 20px;
    }

    /* タイトル */
    h1 {
        font-size: 24px;
        margin: 20px 0;
    }

    /* サブタイトル */
    .simu-font-01 {
        font-size: 14px; 
        padding:30px;
    }

    /* 生年月日入力 */
    .birth {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .simu-font-02{
        margin-right:10px;
        font-size: 16px;
        width:100px;
    }

    label {
        margin-bottom:10px;
    }

    input[type="date"] {
        width: 200px; 
        margin-bottom: 10px;
    }

    /* 責任開始日 */
    .responsibility{
        width:550px;
    }

    .respons-text{
        font-size: 23px;
    }

    span#formatted-date{
        font-size: 33px;
    }

    /* 責任開始日注意書き */
    .warning{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .warning-plan{
        width:400px;
    }

    .custom-radio label{
        margin: 0;
    }

    /* 保険商品チェックボックス */
    .parents-goods {
        flex-direction: column;
        align-items: center;
    }
    .parents-form{
        width:95%;
    }

    /* 各プランの詳細ボタン */
    .plan {
        width: 500px; 
        padding: 10px; 
    }

    /* 料金を試算するボタン */
    .price-button {
        padding: 20px 40px; 
        font-size: 20px; 
        width:500px;
        box-shadow: 10px 10px #225966;
    }

    /* 保険料計算 */
    .calculation{
        display: flex;
        justify-content: center; 
        align-items: center;
        margin-bottom:50px;
    }
    .insurance-calcu {
        font-size: 20px; 
        padding: 10px; 
        width:400px;
    }

    .insurance-calcu p{
        margin:10px;
    }

    /* 保険料注意書き */
    .message{
        width: 500px; 
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin-left: auto; 
        margin-right: auto; 
        padding:20px;
        font-size: 14px;
    }

    .intension p{
        font-size: 16px;
        color:#225966;
    }
    /* 申し込むボタン */
    .button {
        padding: 20px 40px;
        font-size: 20px;
        box-shadow: 10px 10px #225966;
    }
}

/* スマホサイズのスタイル */
@media (max-width: 440px) {

    /* 中身 */
    .form {
        padding: 15px; 
    }

    /* 料金シュミレーション */
    h1 {
        font-size: 16px; 
        margin: 15px 0; 
        box-shadow: 5px 5px #225966;
        border:1px solid #225966;
    }

    /* 生年月日いれてください */
    .simu-font-01 {
        font-size: 10px; 
        margin:0;
        padding:10px 0;
    }

    h2#birth-text{
        font-size: 15px;
    }

    /* 生年月日入力 */
    .birth {
        display: flex;
        align-items: center;
        justify-content: center;
        padding:10px 0;
        margin:10px 0 0;
    }

    .simu-font-02{
        margin-right:5px;
        font-size: 13px;
        width:70px;
    }

    label {
        margin-bottom:10px;
    }

    input[type="date"] {
        width: 130px; 
        margin-bottom: 10px; 
        font-size: 10px;
    }

    /* 責任開始日 */
    .respons{
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .responsibility{
        box-shadow: 5px 5px #225966;
        border:1px solid #225966;
    }

    .respons-text{
        font-size: 14px;
    }

    span#formatted-date{
        font-size:20px;
    }
    /* 保険商品チェックボックス */
    .parents-goods {
        flex-direction: column;
        align-items: flex-start;
    }
    /* 責任開始日注意書き */
    .warning{
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .warning-plan{
        width:200px;
        font-size: 10px;
    }

    /* 親子の補償 */
    .parents-goods{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .parents-form{
        width:200px;
    }
    .custom-radio {
        width: 200px;
        padding: 10px 5px;
        box-sizing: border-box;
        border: 1px solid #225966;
    }

    .custom-radio input[type="checkbox"] {
        width:10px;
        height:10px;
    }

    .custom-radio label{
        font-size: 10px;
    }

    /* 各プランの詳細ボタン */

    .plan-botton{
        display: flex;
        align-items: center;
        justify-content: center;
        margin:20px 0;
    }
    .plan {
        width: 200px;
        padding: 5px;
        border:1px solid #225966;
    }

    .plan a{
        font-size: 10px;
    }

    /* 料金を試算するボタン */
    .price-button {
        padding: 10px 20px;
        font-size: 14px;
        width:200px; 
        box-shadow: 5px 5px #225966;
        margin-bottom:30px;
        border:1px solid #225966;
    }

    /* お子様の保険料 */
    .calculation{
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom:30px;
    }

    .insurance-calcu{
        width:200px;
        box-shadow: 5px 5px #225966;
        border:1px solid #225966;
    }

    .insurance-calcu p{
        font-size: 16px;
    }

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

    .intension p{
        font-size: 10px;
        color:#225966;
    }

    /* 申し込むボタン */
    .button {
        padding: 10px 20px;
        font-size: 13px;
        box-shadow: 5px 5px #225966;
        margin:30px 0;
        border:1px solid #225966;
    }

    /* 注意書き */
    .message {
        padding: 15px;
        font-size: 10px;
        width:200px;
    }
}
