@charset "utf-8";
/* Form Common */
input,
button,
textarea{font-size: 1.6rem; line-height: 1.75; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; -webkit-appearance: none; border-radius: 0; outline: none;}

.frm-desc{text-align: center; margin: 0 0 40px;}
.frm-desc.mb20 { margin: 0 0 20px 0; }

.frm-radio{display: inline-block; position: relative; padding-left: 24px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.frm-radio input{position: absolute; opacity: 0; cursor: pointer;}
.frm-radio span{position: absolute; top: 8px; left: 0; height: 16px; width: 16px; background-color: #fff; border: 1px solid #C9CACA; border-radius: 50%;}
.frm-radio span:after{content: ""; position: absolute; display: none;}
.frm-radio input:checked ~ span:after{display: block;}
.frm-radio span:after{top: 4px; left: 4px; width: 6px; height: 6px; border-radius: 50%; background: #0075C2;}

.frm-field{border: 1px solid #D9D9D9; background: #FFF; padding: 10px 15px; width: 100%;}

@media screen and (max-width: 768px){
    .frm-field{padding: 6px 10px;}
    .frm-desc p { text-align: left;}
}

.frm-btn a{max-width: 480px; width: 80%; height: 80px; margin: 40px auto 0; font-size: 2.2rem; line-height: 1.5; border-radius: 80px; background: #DA7800; display: flex; flex-wrap: wrap; justify-content: center; align-content: center; align-items: center; color: #fff; font-weight: bold; border: 2px solid #DA7800; text-align: center; transition: .3s;}
.frm-btn span.text { font-size: 2.2rem; flex-basis: 100%; display: block;}
.frm-btn span{font-size: 1.8rem; display: inline-block; vertical-align: center;}
.frm-btn a::after{content: ""; width: 0; height: 0; border-top: 7px solid transparent; border-left: 12px solid #fff; border-bottom: 7px solid transparent; display: block; margin-left: 0.5em; position: relative; top: 2px;}

.frm-btn a:hover{background: #fff; color: #DA7800;}
.frm-btn a:hover::after{border-top: 7px solid transparent; border-left: 12px solid #DA7800; border-bottom: 7px solid transparent;}

.frm-btn.mb40 { margin-bottom: 40px;}
.frm-btn.btn-blue a{background: #003F68; border: 2px solid #003F68;}
.frm-btn.btn-blue a:hover{background: #fff; color: #003F68;}
.frm-btn.btn-blue a:hover::after{border-top: 7px solid transparent; border-left: 12px solid #003F68; border-bottom: 7px solid transparent;}

@media screen and (max-width: 768px){
    .frm-btn a{font-size: min(4.5vw,2rem); height: min(19.25vw,70px);}
    .frm-btn span.text { font-size: min(4.5vw,2rem);}
    .frm-btn span{font-size: 1.6rem; display: block; width: 100%;}
    .frm-btn a::after{top: 0;}
}

/* Form1 */
.exam-item{margin: 0 0 20px; border-radius: 6px; background: #D8ECF8; padding: 40px;}
.exam-item:last-of-type{margin: 0;}

.exam-ques{border-bottom: 1px dotted #000; padding: 0 0 20px 75px; margin: 0 0 20px; font-size: 1.8rem; line-height: 1.56; font-weight: 600; position: relative;}
.exam-ques span{font-size: 2.4rem; line-height: 1.1; color: #0075C2; position: absolute; top: 0; left: 0; width: 75px;}

.exam-ans{font-size: 1.6rem; line-height: 1.75; font-weight: 300; display: flex; flex-wrap: wrap; justify-content: flex-start; gap:2em;}
.exam-ans li { }
.exam-ans li:not(:last-of-type){margin: 0 0 3px;}

#form1 .frm-radio span{top: 6px;}

@media screen and (max-width: 768px){
    .exam-item{padding: 20px;}
    .exam-ques{font-size: 1.6rem; padding: 0 0 15px 60px; margin: 0 0 15px;}
    .exam-ques span{font-size: 2rem; width: 60px;}
    
    #form1 .frm-btn a{position: relative;}
    #form1 .frm-btn a::after{position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}
}

/* Form2 */
.frm-box .rows{display: flex; flex-wrap: wrap; width: 100%; padding: 30px 0; border-bottom: 1px dashed #000;}
.frm-box .col1{width: 214px; font-weight: 600; padding: 6px 0 0 0;}
.frm-box .col2{width: calc(100% - 214px); font-size: 1.6rem;}
.frm-box .col2 .error { color: #c30e23; font-size: 1.4rem; line-height: 1.4;}
.frm-box.confirm .rows { align-items: center;}
.frm-box.confirm .col2 { transform: translateY(0.1em);}
.frm-box .required{display: inline-block; padding: 3px 7px 4px; background: #DA7800; color: #fff; font-size: 1.2rem; line-height: 1.1; font-weight: 600; margin: 0 0 0 10px; position: relative; top: -1px;}
.frm-box .date{display: flex; align-items: center; width: 100%;}
.frm-box .date li:nth-of-type(1){margin: 0 15px 0 0;}
.frm-box .date label{margin: 0 20px 0 10px;}
.frm-box .date li:last-of-type label{margin-right: 0;}
.frm-box .date input{width: 107px;}
.frm-box .cap{font-size: 1.2rem; line-height: 1.66; margin: 5px 0 0 0;}

.frm-box .rows-full{padding: 0 0 40px;}
.frm-box .rows-full .col1{width: 100%; border-bottom: 1px dashed #000; padding: 0 0 20px; margin: 0 0 20px;}
.frm-box .rows-full .col2{width: 100%;}

@media screen and (max-width: 768px){
    .frm-box .col1{width: 100%; padding: 0 0 10px;}
    .frm-box .col2{width: 100%;}    
    
    .frm-box .date{flex-wrap: wrap; max-width: 500px;}
    .frm-box .date li{width: 33.33%; display: flex; align-items: center;}
    .frm-box .date li:nth-of-type(1){width: 100%; margin: 0 0 5px;}
    .frm-box .date input{width: 65%;}
    .frm-box .date label{margin: 0; width: 35%; text-align: center; display: block;}
    
    .frm-box .cap{font-size: 1rem;}
}

.policy{background: #F3F3F3 ; text-align: center; padding: 40px 20px; margin: 40px 0 0 0;}
.policy-tit{font-size: min(5.5vw,3rem); line-height: 1.2; font-weight: 600; color: #0075C2; margin: 0 0 15px;}
.policy-txt{margin: 0 0 15px;}
.policy-txt a{text-decoration: underline; text-underline-offset: 0.25em;}
.policy-txt a:hover{color: #0075C2;}
.policy .frm-radio{font-weight: 600;}

@media screen and (min-width: 769px){
    .policy .frm-radio{font-size: 1.8rem;}
    .policy .frm-radio span{top: 11px;}    
}

@media screen and (max-width: 768px){
    .policy{padding: 25px 20px;}    
    .policy-txt { text-align: left;}
}

/* Form3a */
.result{text-align: center; padding: 30px 0 0 0;}
.result-img{margin: 0 0 50px;}
.result-tit{font-size: 3rem; line-height: 1.5; font-weight: 600; margin: 0 0 40px;}
.result-txt{font-weight: 300; margin: 0 0 40px 0;}

@media screen and (max-width: 768px){
    .result{padding: 20px 0 0 0;}
    .result-img{margin: 0 auto 30px; max-width: 380px; width: 60%;}
    .result-tit{font-size: 2.4rem; margin: 0 0 20px;}
    .result-txt{text-align: left;}
}

/* Form3b */
.answer{padding: 70px 0 20px;}
.answer .m-title3{text-align: center; margin: 0 0 30px;}

.answer-item{margin: 0 0 20px; border-radius: 6px; background: #D8ECF8; padding: 40px;}
.answer-item:last-of-type{margin: 0;}
.answer-item.incorrect{background: #ffeaea;}

.answer-ques{ padding: 0 0 0 75px; margin: 0 0 20px; font-size: 1.8rem; line-height: 1.56; font-weight: 600; position: relative;}
.answer-ques span{font-size: 2.4rem; line-height: 1.1; color: #0075C2; position: absolute; top: 0; left: 0; width: 75px;}
.correct-answer{border-bottom: 1px dotted #000; padding: 0 0 20px 120px; margin: 0 0 20px; font-size: 3.2rem; line-height: 1.56; font-weight: 600; position: relative;color: #0075C2;}
.correct-answer span{font-size: 1.8rem; line-height: 1.1; color: #000; position: absolute; top: 1.8rem; left: 0; width: 120px; }

.answer-ans{font-size: 1.6rem; line-height: 1.75; font-weight: 300; display: flex; width: 100%;}
.answer-ans li:nth-of-type(1){font-size: 1.8rem; font-weight: bold; color: #CF0000; width: 95px; line-height: 1.5;}
.answer-ans li:nth-of-type(2){width: calc(100% - 95px);}
.answer-item.incorrect li:nth-of-type(2){color: #CF0000; font-weight: bold;}

@media screen and (max-width: 768px){
    .answer-item{padding: 20px;}
    .answer-ques{font-size: 1.6rem; padding: 0 0 15px 60px; margin: 0 0 15px;}
    .answer-ques span{font-size: 2rem; width: 60px;}
    
    .answer-ans li:nth-of-type(1){font-size: 1.6rem; width: 80px;}
    .answer-ans li:nth-of-type(2){width: calc(100% - 80px);}
}

/* Form4 */
#form4{padding: 40px 20px;}
.cert{position: relative; max-width: 1200px; width: 100%; margin: 0 auto; line-height: 1; font-weight: 500;
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "游明朝 Regular", "Yu Mincho Regular", "Noto Serif JP", serif;}
.cert-no{position: absolute; top: 5%; right: 5%; font-size: min(2vw,2rem); line-height: 2;}
.cert-name{position: absolute; top: 13%; left: 8%; width: 84%; font-size: min(2.4vw,2.4rem); line-height: 2;}
.cert-tit{position: absolute; top: 29.6%; left: 8%; width: 84%; text-align: center; font-size: min(8vw,8rem); line-height: 1;}

.cert-inner{position: absolute; top: 45.4%; left: 8%; width: 84%;}
.cert-txt{font-size: min(3.2vw,3.2rem); line-height: 1.75; margin: 0 0 1em;}
.cert-date{font-size: min(2.4vw,2.4rem); line-height: 1.75;}
.cert-sign{position: absolute; bottom: 11%; right: 20%; font-size: min(3.4vw,3.4rem); line-height: 1.6;}
.cert-note {
    display: block; text-align: center; font-size: 1.4rem; margin: 2rem 0 0 0;
    & a {
        color: #0075c2; text-decoration: underline;
        &:hover {
            text-decoration: none;
        }
    }
}

 .grecaptcha-badge { transform: translateY(-150px);}

@media screen and ( max-width:768px ) {
    .grecaptcha-badge { transform: translateY(-100px);}
}

@media print {
    .frm-btn.btn-blue { display:none;}
}
