body {
font-family: 'Noto Sans JP', sans-serif;
font-style: normal;
font-weight: normal;
font-optical-sizing: auto;
line-height: 1.5;
background: url('../img/whole_bg02.png');
background-repeat: repeat;
background-position: center center;
margin: 0;
padding: 0;
}
header {
width: 98%;
padding: 20px 0 90px;
margin: 0 auto;
background: #DDF5B3;
}
h1{
margin: 0;
padding: 0;
}
.main_cont_bg {
position: relative;
}
.header_logo{
position: absolute;
top:10px;
left: 50%; 
transform: translateX(-50%);
width: 30%;
}
.header_logo img{
width: 100%;
}
.main_cont_bg02 {
position: absolute;
width: 100%;
height: auto;
background-color:rgba(0,0,0,0.50);
}
.main_cont {
position: relative;
top: -70px;
width: 85%;
max-width: 1300px;
padding: 20px;
margin: 0 auto 100px;
background: #fff;
border: 5px solid #53a560;
border-radius: 10px;
animation: puyon 1s linear 0s 1;
}
.main_cont02 {
position: relative;
top: 0;
width: 85%;
max-width: 1300px;
padding: 0;
margin: 100px auto;
background: #fff;
animation: puyon 0.8s linear 0s 1;
}
@keyframes puyon {
0% {
transform: scale(1, 1) translate(0%, 6%);
}
100% {
transform: scale(1, 1) translate(0%, 0%);
}
0% {
opacity: 0;
}
40% {
opacity: 1;
}
100% {
opacity: 1;
}
}

h1{
}
h2{
margin: 0px auto 20px;
font-weight: bold;
color: #ffffff;
font-size: 180%;
background: #CB052A;
padding: 15px 5px;
text-align: center;
}
.kakunin_box{
width: 32%;
box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.3);
background-color: #eeeeee;
display: flex;
flex-direction: column;
margin: 10px;
}
 /*了承しました*/
.check_box{
text-align: center;
margin: 60px auto 20px;
}
.check_btns input[type=checkbox] {
display: none;
}
.check_btns label {
position: relative;
padding-left: 50px;
font-weight: bold;
font-size: 30px;
}
.check_btns input[type=checkbox]  + label::before {
position: absolute;
content: '';
display: block;
width: 50px;
height: 50px;
border: 2px solid #000000;
left: -15px;
top: 0px;
border-radius: 3px;
}
.check_btns input[type=checkbox]  + label::after {
position: absolute;
content: '';
display: block;
width: 15px;
height: 40px;
transform: rotate(45deg) scale(0, 0);
border-right: 8px solid #EF001D;
border-bottom: 8px solid #EF001D;
left: 10px;
bottom: 0px;
transition: .3s;
}
.check_btns input[type=checkbox]:checked + label::after {
transform: rotate(45deg) scale(1, 1);
}
.kakunin_btn{
width: 80%;
margin: 0px auto;
padding: 20px 0;
}
button.kakunin {
width: 100%;
margin: 0 auto 20px;
cursor: pointer;
border: none;
color: #fff;
font-weight: bold;
border-radius: 5px;
padding: 15px 0;
background: #ca012d;
font-size: 150%;
transition: background 0.8s ease, color 0.8s ease; /* ← 追加 */
}
button.kakunin:disabled {
background: #FFD61B;
pointer-events: none; /* マウスイベントを無効化 */
cursor: default;
color: #333; /* 無効時の文字色を少し暗くする例 */
}
button.kakunin:hover {
opacity: 0.6;
}
.warning_cent{
position: relative;
font-size: 20px;
font-weight: bold;
padding: 30px 0 10px 0;
text-align: center;
color: #cd2c24;
}
.warning_cent::before {
position: absolute;
top: 0;
left: 50%; 
transform: translateX(-50%);
content: url('../img/cyuui_mark.png');
width: 30px;
height: 30px;
}
.flex_q img{
width: 100%;
}
.flex_q {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-around;
padding: 10px;
margin: 10px 0 20px;
border-bottom: solid 2px #F8BB43;
}
.q_last{
border-bottom: none;
}
/* Qボタン */
.q_cent {
font-size: 150%;
font-weight: 700;
margin-top: 50px;
}
.q_cent::before {
position: relative;
top: 5px;
left:0;
content: url('../img/q_mark.png');
}
.target_btn{
display: none;
}
.target01{
}
.target01 label{
display: block;
width: 75%;
padding: 8px 15px 8px 0;
margin: 0 auto;
font-size: 130%;
font-weight: 900;
color: #313131;
text-align: center;
text-decoration: none;
cursor: pointer;
background: #B6E6C8;
border: 2px solid #B6E6C8;
border-radius: 3px;
filter: drop-shadow(0,1px,2px,#ccc);
transition: 0.2s ease-in-out;
}
.target01 label i{
padding-right: 5px;
color: #B6E6C8;
font-size: 95%;
transition: 0.3s ease-in-out;
}
.target01 label:hover {
color: #fff;
background: #35C429;
}
.target01 label:hover i {
 color: #fff;
}
.target_btn:checked + label {
color: #fff;
background-color: #dd1a51;
border: 2px solid #fbc7d5;
border-radius: 10px;
}
.target_btn:checked + label i{
color: #fff;
}
.yesno_flex{
display: flex;
flex-direction: row;
justify-content: center;
margin: 30px auto;
}
.button_general {
position: relative;
width: 90%;
padding: 10px 0;
margin: 50px auto;
font-size: 200%;
font-weight: 900;
color: #fff;
text-align: center;
letter-spacing: 0.2em;
cursor: pointer;
background: #53a560;
border: 2px solid #057A17;
border-radius: 10px;
}
.button_general:hover {
color: #fff;
background: #dd1a51;
border: 2px solid #dd1a51;
}
.button_general::before {
position: absolute;
top: 0;
right: 40px;
bottom: 0;
width: 10px;
height: 10px;
margin: auto;
content: '';
border-top: 3px solid #fff;
border-right: 3px solid #fff;
transform: rotate(45deg);
}
.button_general:hover::before {
border-top: 3px solid #fff;
border-right: 3px solid #fff;
}

#submitButton {
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
}

#submitButton.show {
opacity: 1;
pointer-events: auto; 
animation: puyon 1s linear 0s 1;
}

@media screen and (max-width: 890px) {
.kakunin_box{
width: 70%;
}
.q_cent,.q_cent0 {
font-size: 130%;
}
.flex_q {
flex-direction: column;
justify-content: center;
width: 100%;
padding: 0;
margin: 10px auto;
border-bottom: dashed 2px #dd1a51;
}
.q_last{
border-bottom: none;
}
.yesno_flex {
display: flex;
flex-direction: row
;justify-content: space-between;
margin: 30px auto;
}
.main_cont {
top: -80px;
width: 85%;
padding: 20px;
border-radius: 10px;
}
.button_general {
width: 95%;
margin: 50px auto;
font-size: 150%;
}
	

}
@media screen and (max-width: 600px) {
h2{
font-size: 160%;
}
.main_cont{
width: 98%;
padding: 0px 0px 15px;
margin: 0 auto 100px;
background: #fff;
border: 1px solid #E81F1F;
border-top: none;
border-radius: 0px;
}
.main_cont02{
width: 95%;
margin: 90px auto;
}
header {
padding: 20px 0 50px;
margin: 0 auto;
}
.header_logo{
width: 50%;
}
.kakunin_box{
width: 90%;
}
.target01 label {
font-size: 130%;
}
.target01 label i{
font-size: 90%;
}
/*了承しました*/
.check_box{
margin: 50px auto 20px;
}
.check_btns label {
padding-left: 35px;
font-size: 25px;
}
.check_btns input[type=checkbox]  + label::before {
width: 30px;
height: 30px;
left: -5px;
top: 0px;
}
.check_btns input[type=checkbox]  + label::after {
width: 10px;
height: 30px;
border-right: 7px solid #EF001D;
border-bottom: 7px solid #EF001D;
left: 10px;
bottom: 10px;
}
.kakunin_btn{
padding: 15px 0;
width: 95%;
}
button.kakunin {
width: 100%;
padding: 15px 0;
font-size: 25px;
}
button.kakunin:disabled {
font-size: 20px;
}
}
