/* 共通CSS */

body{
margin:7px 0 0 0;
padding:0;
font-size:13px;
line-height:150%;
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a{
color:#003399;
text-decoration:none;
outline:none;
}
a:hover{
text-decoration:underline;
}

br.sp{
display: none;
}
@media(max-width:440px){
br.pc{
display: none;
}
br.sp{
display: block;
}
}



#copyright_box{
text-align:center;
width:950px;
padding:20px 0 20px 0;
margin:20px auto 0 auto;
color:#555;
font-size:10px;
border-top:1px solid #DDD;
}

/* 個人情報ページ-------------------------------------------------------------------------------- */
.agree_list{
margin-bottom: 5%;
}
.agree_list li{
margin-bottom: 3%;
}


/*-----------------------
法定検査料金の緩和措置制度について
-------------------------*/
.contenner_box{
background: none;
font-size:15px;
}

p.ex_box{
margin-bottom: 3em;
}

h3.title01{
font-weight: normal;
padding: 3px 0 3px 10px;
margin-top: 0;
border-left:8px solid orange;
color:#053299;
margin-bottom: 1.5em;
font-size: 22px;
line-height: 1.5;
}

.contenner_box img{
width: 100%;
height: auto;
}
a{
color:#003399;
text-decoration:none;
outline:none;
}
a:hover{
text-decoration:underline;
}


.popup img{
width: 100%;
height: auto;
}
.popup .header-box{
margin: 3% auto 0;
}
.popup #contenr_box h1{
text-indent: 0;
height: auto;
font-size:100%;
width: 25%;
}
#contenr_box h2.web_attendance{
width: 100%;
height: auto;
text-align: center;
color:#2F59AC;
padding: 2% 0;
margin:1% auto 5%;
border-top: 1px solid #2F59AC;
border-bottom: 1px solid #2F59AC;
}

.popup #contenr_box{
margin:0 auto;
max-width:850px;
width: 90%;
}
p.right{
text-align: right;
}
p.center{
text-align: center;
}
p.margin01{
margin-bottom: 5%;
line-height: 2;
}


@media (max-width: 428px){
.popup #contenr_box{
width:90%;
}
p.center,p.right{
text-align: left;
}
p.margin01{
margin-bottom: 5%;
}
.popup #contenr_box h1{
width: 45%;
}
#contenr_box h2.web_attendance{
padding: 5% 0;
}
}


.link-button{
text-align: center;
margin-top: 3em;
}
.link-button.margin01{
  margin-bottom:5em;
}
.link-button a{
display: inline-block;
background:#005AC3;
color:#fff;
font-weight: 600;
font-size:120%;
border:1px solid #2F59AC;
border-radius: 100px;
padding: 10px 20px;
transition: background-color 0.3s;
}
.link-button a:hover{
background:#fff;
color:#2F59AC;
text-decoration: none;
}
.link-button.gray a{
background:#aaa;
border:1px solid #aaa;
}
.link-button.gray a:hover{
background:#ccc;
border:1px solid #ccc;
color:#fff;
}

/*確認チェックボックス*/
.check_box{
padding: 2em 0;
margin-top: 3em;
}

.check_box input[type="checkbox"] {
/*
width: auto;
border: 0;
margin-right: 1em;
*/
display: none;
}
.check_box label {
position: relative;
}

.check_box  label:hover {
cursor: pointer; 
}


/* □ */
em.checkmark {
position: absolute;
top: -9px;
left: 0;
width: 35px;
height: 35px;
background: #fff;
border: 2px solid #C7C7C7;
border-radius: 5px;
box-sizing: border-box;
}
@media(max-width:440px){
em.checkmark {
top:-20px;
}
}
.top em.checkmark {
top:-4px;
}
  /* ✓ */
em.checkmark:after {
content: "";
position: absolute;
border: solid #FFF;
border-width: 0 2px 2px 0;
width: 12px;
height: 20px;
transform: rotate(45deg);
border-right: 4px solid orange;
border-bottom: 4px solid orange;
left: 8px;
top: 0px;
opacity: 0; /* 透明にしておく */
transition: .3s; 
}
  /* ✓ */
/* チェックが入ったとき */

  /* □ */
  /* ✓ */
  .check_box input:checked + .checkmark:after,.check_list input:checked + .checkmark:after {
    opacity: 1;
  }


p.arrow{
font-size:120%;
text-align: center;
line-height: 2;
}
@media(max-width:440px){
p.arrow{
text-align: left;
font-size:110%;
}
}
p.arrow strong{
display: block;
width:fit-content;
margin: auto;
border-bottom:3px solid orange;
padding-bottom: .25em;
margin-bottom: .25em;
}

p.arrow:after{
display: block;
content:'▼';
font-size:200%;
line-height: 1;
color:orange;
text-align: center;
margin:.7em auto 2.5em;
}
@media(max-width:440px){
p.arrow{
margin-bottom: 22%;
}
p.arrow:after{
display: none;
}
}

.check_list{
border:2px solid #053299;
padding: 5%;
box-sizing: border-box;
margin-bottom: 3em;
border-radius: 5px;
background: aliceblue;
position: relative;
}
@media(max-width:440px){
.check_list{
padding:10% 5%;
}
}
.check_list.agree{/*同意ボタン*/
background:none;
width:fit-content;
margin-left:auto;
margin-right:auto;
background-color: rgba(255,0,0,.1);
border:none;
}

.check_list dt{
position: absolute;
top:-28%;
right:-5%;
z-index: 10;
width:30%;
transform: rotate(2deg);
will-change: transform;
}
@media(max-width:850px){
.check_list dt{
  width:30vw;
top:-20vw;
right:-1vw;
}
}
@media(max-width:440px){
.check_list dt{
width: 40vw;
top: -27vw;
}
}


.check_list dd{
margin: 0 0 5% 0;
color:#053299;
}
.check_list dd:last-child{
margin-bottom: 0;
}
.check_list input[type="checkbox"] {
/*
width: auto;
border: 0;
margin-right: 2.5em;
*/
display: none;
}
.check_list label {
position: relative;
}
.check_list label p{
font-size:120%;
font-weight: 600;
display:inline-block;
vertical-align: middle;
margin: 0 0 0 3.5em;
line-height: 1.6;
text-align: left;
}
@media(max-width:440px){
.check_list label p{
font-size: 110%;
}
}

.check_list label p.top{
vertical-align:text-top;
}
.check_list label .red{
color:#DA0003;
font-style: normal;
}
.check_list label i{
font-style: normal;
}

.check_list label p span{
font-size:80%;
color:#000;
}
.check_list  label:hover {
cursor: pointer; 
}
.check_list label.top::before {
top: -3px; 
}

/*継続申込するとの画像設定*/
.check_list dd img.ex_img02.pc{
  display: block;
  width:80%;
  height: auto;
  margin-top: .5em;
}
.check_list dd img.ex_img02.sp{
  display: none;
}
@media(max-width:850px){
  .check_list dd img.ex_img02.pc{
    width:100%;
  }
}
@media(max-width:440px){
  .check_list dd img.ex_img02.pc{
    display: none;
  }
  .check_list dd img.ex_img02.sp{
  display: block;
  margin: .5em auto;
}

}

dl.note{ /*注意事項*/
margin: 0 auto 3em;
}
dl.note dt{
font-weight: 600;
color:#DA0003;
font-size:110%;
margin-bottom: 1em;
}
dl.note dd{
margin-left: 3%;
display: flex;
align-items: flex-start;
margin-bottom: .25em;
}
dl.note dd p{
flex:1;
margin: 0;
line-height: 1.8;
}
dl.note dd:before{
content:'';
display: block;
line-height: 1.8;
margin-right: .5em;
font-weight: 600;
}
dl.note dd.n1::before {
content:'1.';
}
dl.note dd.n2::before {
content:'2.';
}
dl.note dd.n3::before {
content:'3.';
}
dl.note dd.n4::before {
content:'4.';
}

.agree_box{
width:fit-content;
text-align: center;
font-weight: 600;
line-height: 2;
margin: 0 auto;
padding: 1em 0;
border-top:2px solid orange;
border-bottom:2px solid orange;
}
.agree_box span{
display: block;
font-size:90%;
font-weight: normal;
margin-top: .7em;
color:#053299;
}
@media(max-width:440px){
.agree_box{
text-align: left;
}
}


/*チェック用次ページボタン*/
.check_button{
text-align: center;
}
.check_button input[type="button"]{
appearance: none;
-webkit-appearance: none;
border: 1px solid #2F59AC;
background:#2F59AC;
color:#fff;
padding: 10px 20px;
border-radius: 100px;
font-weight: 600;
font-size:120%;
transition: background-color 0.3s;
margin: 3em auto 0;
opacity: 1;
}
.check_button input[type="button"]:disabled,.check_button input[type="button"]:hover:disabled{
cursor: default;
border: 1px solid #2F59AC;
background:#2F59AC;
color:#fff;
pointer-events: none;
opacity: 0.3;
}
.check_button input[type="button"]:hover{
cursor: pointer;
background:#fff;
color:#2F59AC;
border: 1px solid #2F59AC;
}







/* お申込みフォームページ-------------------------------------------------------------------------------- */
.underline01{
text-decoration: underline;
}
.form-box{
border:2px solid #CCC;
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
border-radius: 5px;
}

.form-box hr{
margin-bottom:2%;
}
.form-box p{
margin: 0 0 2% 0;
}
.form-box p.margin01{
margin-bottom: 2%;
}
.form-box p.margin02{
margin-top: 1%;
}
.form-box p.margin03{
margin-top: 1%;
margin-bottom: 0;
}
.wide-box01 dl{
width:100%;
margin: 0 auto;
border-right:1px solid #CCC;
border-bottom:1px solid #CCC;
display: table;
}
.wide-box01 dt,.wide-box01 dd{
border-right:1px solid #CCC;
padding: 2% 3%;
display: table-cell;
vertical-align: middle;
line-height: 200%;
}
.wide-box01 dt{
background:#EEE;
width: 28%;
}
.wide-box01 dd{
width: 70%;
}
.wide-box01 dd.error{
background:rgba(255,0,0,.2);
}

.form-box.border01{
border:2px solid #555;
margin-bottom: 20px;
}
.form-box.border01 dl{
border-right:1px solid #000;
}
.form-box.border01 dl:last-child{
border-bottom: 0;
}
.form-box.border01 dd{
border-right: 0;
}
strong.title_name{
display: block;
font-size:15px;
margin-top: 30px;
margin-bottom: 5px;
color:#2F59AC;
}


.wide-box01 label{
margin-right: 2%;
}
.wide-box01 label:last-child{
margin-right: 0;
}
.wide-box01 label:hover,.wide-box01 select{
cursor: pointer;
}
.wide-box01 input[type="text"],input[type="date"],.wide-box01 input[type="email"],.wide-box01 textarea{
padding: 1% 2%;
margin-right: 2%;
width: 50%;
font-size:14px;
border:1px solid #ccc;
}
.wide-box01 input[type="text"].wide01,.wide-box01 input[type="date"].wide01{
width: 20%;
}
.wide-box01 input[type="text"].wide02{
width: 50%;
}
.wide-box01 input[type="text"].wide03{
width: 95%;
}
.wide-box01 textarea{
border:1px solid #CCC;
width: 96%;
}
.wide-box01 input.margin01{
margin-top: 2%;
display: block;
}
.wide-box01 .submit-box{
text-align: center;
margin:0 auto;
}
.wide-box01 .submit-box input{
display: inline-block;
}
span.small{
font-size:80%;
line-height: 1;
}
span.small.margin01{
display: block;
margin-top: 2%;
}
span.red{
color:#FF0037;
}
span.red-box{
background:#FF0037;
color:#FFF;
display: inline-block;
padding:2.5%;
border-radius: 3px;
}
span.blue-box{
background:#0C7AC2;
color:#FFF;
display: inline-block;
padding:2.5%;
border-radius: 3px;
}
span.green-box{
background:#069F84;
color:#FFF;
display: inline-block;
padding:2.5%;
border-radius: 3px;
}
p span.green-box{
padding: 0.5%;
margin-right: 0.5%;
}
img.error{
width: 15%;
margin: 0 auto;
display: block;
}
input.button{
display: inline-block;
padding: 10px;
font-weight: 600;
width: 200px;
border: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius:5px;
margin: 5% 2%;
font-size:13px;
}
input.button.submit{
background:#2F59AC;
color:#FFF;
}
input.button.back{
background: #CCC;
}
input.submit:hover{
background:#2A6CEC;
cursor:pointer;
}
input.back:hover{
background: #DDD;
cursor:pointer;
}

div.error-box{
position: fixed;
width:100%;
height: 100vh;
top:50%;
left:50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
div.error-inbox{
border:3px solid orange;
border-radius: 5px;
position: absolute;
top:50%;
left:50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
max-width: 800px;
width:80%;
}
a.close-box{
position: absolute;
top:5%;
right:2%;
}
a.close-box span{
font-size:120%;
}
ul.error-list{
padding: 5%;
margin: auto;
color:red;
background:rgba(255,255,255,1);
}
@media(max-width:428px){
ul.error-list{
padding:10% 5% 5%;
}
}
.error-list li{
margin-left: 5%;
margin-bottom: 1%;
}
.error-list li:last-child{
margin-bottom: 0;
}

@media (max-width: 428px){
.form-box{
border:1px solid #CCC;
}
.form-box.border01{
border:2px solid #555;
}
.form-box.border01 dl{
border-right:none;
}
.form-box.border01 dl:last-child{
border-bottom: 0;
}
.form-box.border01 dd{
border-right: 0;
}

.wide-box01 dl{
width:100%;
margin: 0 auto;
border-right:none;
border-bottom:none;
display: block;
box-sizing: border-box;
}
.wide-box01 dt,.wide-box01 dd{
border-right:none;
padding: 3% 3%;
display: block;
box-sizing: border-box;
}
.wide-box01 dt{
background:#EEE;
width: 100%;
}
.wide-box01 dd{
width: 100%;
margin:0 0 3% 0;
}
.wide-box01 input[type="text"],.wide-box01 input[type="date"],.wide-box01 input[type="email"],.wide-box01 textarea{
font-size:16px;
padding:3%;
margin: 2% 0 2% 0;
width: 100%;
display: block;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none;
border:1px solid #CCC;
}
.wide-box01 input[type="text"].wide01,.wide-box01 input[type="date"].wide01{
width: 100%;
display: block;
box-sizing: border-box;
}
.wide-box01 input[type="text"].wide02{
width: 100%;
display: block;
box-sizing: border-box;
}
.wide-box01 input[type="text"].wide01.zipcode{
width: 50%;
display: inline-block;
margin-right: 1%;
margin-bottom: 1%;
}
.wide-box01 input[type="text"].wide03{
width: 100%;
display: block;
box-sizing: border-box;
}
.wide-box01 textarea{
width: 100%;
}
.wide-box01 input.margin01{
margin-top: 2%;
display: block;
}
.wide-box01 .submit-box{
text-align: center;
margin:5% auto 0;
}
.wide-box01 .submit-box input{
display: inline-block;
}

span.red-box{
padding:1.5%;
}
span.blue-box{
padding:1.5%;
}
span.green-box{
padding:1.5%;
}
p span.green-box{
padding: 0.5%;
margin-right: 0.5%;
}
img.error{
width: 30%;
}
.formcheck-box{
width: 100%;
}
}

/*送信完了画面*/
div.center{
text-align: center;
}
div.margin01{
margin:5% auto;
}
i.fas{
font-size:3em;
margin-bottom: 2%;
display: block;
color:#2F59AC;
}

strong.fas{
display: block;
font-size:1.8em;
margin: 1em auto 1.5em;
}


@media (max-width: 428px){
.popup #copyright_box{
width:90%;
}
}
.popup #copyright_box{
width: 100%;
}
