@charset "utf-8";

#sub_content{padding-top: 70px; padding-bottom: 100px; box-sizing: border-box;}
#sub_banner{position: relative; width: 100%; min-width: 1280px; height: 400px; background-repeat: no-repeat; background-size: cover; background-position: center; text-align: center;}
#sub_banner .txt{position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%);}
#sub_banner h3{margin-bottom: 15px; font-size: 42px; font-weight: 700; color: #fff;}
#sub_banner p{font-size: 20px; font-weight: 500; color: #fff;}
#sub_banner.sub_banner01{background-image: url(../image/sub/sub_banner01_edit.png);}
#sub_banner.sub_banner02{background-image: url(../image/sub/sub_banner02.png);}
#sub_banner.sub_banner03{background-image: url(../image/sub/sub_banner03.png);}

#indicator{width: 100%; min-width: 1280px; height: 80px; border-bottom: 1px solid #CBCBCB; box-sizing: border-box; margin-bottom: 100px;}
#indicator .inner{height: 100%;}
#indicator .snb{display: flex; justify-content: center; align-items: center; height: 100%;}
#indicator .snb li{position: relative; width: 300px; height: 100%; padding-top: 28px; box-sizing: border-box;}
#indicator .snb li a{display: block; width: 100%; height: 100%; font-size: 20px; font-weight: 500; text-align: center;}
#indicator .snb li a:hover{color: #666;}
#indicator .snb li a.active{color: #DC000C; font-weight: 700;}
#indicator .snb li.active{border-bottom: 1px solid #DC000C;}


/* font */
h4{text-align: center; font-size: 42px; font-weight: 700;}

/* purpose */
.purpose h4{float: left; width: 310px; text-align: left;}
.purpose > div{width: 100%;  padding: 100px 0; box-sizing: border-box;}
.purpose > div:first-child{padding-top: 0;}
.purpose > div:last-child{padding-bottom: 0;}
.purpose > div::after{content: ''; display: block; clear: both;}
.purpose dl, .purpose ul{float: right; width: 970px;}
.purpose > div:nth-child(2){border-top: 1px solid #E0E0E0; border-bottom: 1px solid #E0E0E0;}

.purpose .background dt{margin-bottom: 10px; font-size: 20px; color: #DC000C; font-weight: 700;}
.purpose .background dd{margin-bottom: 30px; font-size: 20px; font-weight: 400; line-height: 30px; color: #666666;}
.purpose .background dd:last-child{margin-bottom: 0;}

.purpose .how_to tr:nth-child(2){height: 145px;}
.purpose .how_to .icon{float: left; width: 40px; height: 40px; margin-right: 30px; background-color: #DC000C; border-radius: 50%;}
.purpose .how_to .icon .num{display: block; font-weight: 700; font-size: 14px; color: #fff; text-align: center; line-height: 40px;}
.purpose .how_to .txt{font-size: 20px; font-weight: 500; color: #666; line-height: 30px;}

.purpose .benefit li{height: 180px; border: 1px solid #E5E5E5; display: flex; justify-content: space-between; align-items: center; padding: 40px 60px; box-sizing: border-box;}
.purpose .benefit li:hover{box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.2); transition: ease-in-out 0.3s;}
.purpose .benefit li:nth-child(2){margin: 20px 0;}
.purpose .benefit .txt{font-size: 20px; font-weight: 700;}
.purpose .benefit .img{position: relative; width: 100px; height: 100px; border: 1px solid #DC000C; border-radius: 50%; background-color: #fff;}
.purpose .benefit .img::after{content: ''; position: absolute; top: -10px; left: -10px; z-index: -1; background-color: rgba(220, 0, 12, 10%); width: 120px; height: 120px; border-radius: 50%;}
.purpose .benefit img{position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto;}

/* intro */
.intro > div{margin-bottom: 100px;}
.intro > div:last-child{margin-bottom: 0;}
.intro .txt h4{margin-bottom: 20px;}
.intro .txt h4 img{transform: translateY(11px) translateX(-5px);}
.intro .txt p{text-align: center; font-size: 20px; font-weight: 500; line-height: 30px;}

.intro .step{position: relative;}
.intro .step ul{display: flex; justify-content: space-between;}
.intro .step .line{width: 90%; z-index: -999999; position: absolute; top: 150px; right: 0; left: 0; margin: 0 auto; border: 1px dashed #CBCBCB;}
.intro .step .cricle{position: relative; width: 300px; height: 300px; border-radius: 50%; background-color: #F2F2F2; margin: 0 25px 50px;}
.intro .step li:last-child .cricle{background: #DC000C; box-shadow: 0 0 30px rgba(220, 0, 12, 70%);}
.intro .step li:last-child .cricle::after{content: ''; position: absolute; top: -25px; right: -25px; width: 350px; height: 350px; border-radius: 50%; background-color: rgba(220, 0, 12, 10%);}
.intro .step li:last-child .tit{color: #fff;}
.intro .step .cricle::before{content: ''; position: absolute; top: 50%; left: 0; width: 12px; height: 12px; background-color: #DC000C; border-radius: 50%; transform: translate(-50%, -50%);}
.intro .step li:nth-child(-n+2) .cricle::after{content: ''; position: absolute; top: 50%; right: 0; width: 12px; height: 12px; background-color: #fff; border: 1px solid #DC000C; box-sizing: border-box; border-radius: 50%; transform: translate(50%, -50%);}
.intro .step li:first-child .cricle::before{display: none;}
.intro .step .cricle .tit{position: absolute; top: 50%; bottom: 0; right: 0; left: 0; margin: auto; text-align: center; transform: translateY(-10%); font-size: 24px; font-weight: 700;}
.intro .step li:nth-child(2) .tit{transform: translateY(-15%);}
.intro .step .txt{width: 300px; margin: 0 25px; text-align: center; font-size: 20px; font-weight: 400; color: #666666;}

.intro .reference{width: 100%; height: 490px; background-color: #F2F2F2; padding: 80px; box-sizing: border-box;}
.intro .reference .tit{position: relative; font-size: 24px; font-weight: 700; margin-bottom: 51px;}
.intro .reference .tit::after{content: ''; position: absolute; bottom: -20px; left: 0; width: 100%; height: 1px; background-color: #000;}
.intro .reference li{position: relative; margin-bottom: 20px; text-indent: 18px; font-size: 20px; font-weight: 500;}
.intro .reference li::before{content: ''; position: absolute; top: 10%; left: 0; width: 8px; height: 8px; border-radius: 50%; background-color: #DC000C;}
.intro .reference li:last-child{margin-bottom: 0;}
.intro .reference li .small{display: block; margin-top: 10px; font-weight: 400;}
.intro .reference li .mg{margin-left: 18px;}

/* report */
#reportForm .away, #reportForm legend, #reportForm caption{position: absolute; left: -999em;}

#reportForm .essential{display: block; margin-bottom: 10px; text-align: right; font-size: 16px; font-weight: 500; color: #DC000C;}

#reportForm fieldset{margin-bottom: 80px; border: none; border-top: 1px solid #666; box-sizing: border-box;}
#reportForm fieldset table{display: block; width: 100%; border-spacing: 0; border-collapse: collapse;}
#reportForm fieldset tbody{display: block; width: 100%;}
#reportForm fieldset tr{position: relative; display: block; width: 100%; border-bottom: 1px solid #E0E0E0; padding: 20px 0; box-sizing: border-box;}
#reportForm .tit{font-size: 25px; font-weight: 500; margin-bottom: 10px;}
#reportForm .line02 p{padding: 27px 0; box-sizing: border-box; border-bottom: 1px solid #E0E0E0; color: #666; line-height: 24px;}
#reportForm fieldset .txt{display: block; margin-top: 10px; font-size: 16px; font-weight: 500; color: #666; line-height: 24px;}
#reportForm fieldset .red{display: inline-block; color: #DC000C; margin-left: 30px;}
#reportForm fieldset th{width: 204px; text-align: left; font-size: 20px; /* font-weight: 500; */}
#reportForm fieldset .star{color: #DC000C; font-size: 20px; font-weight: 500;}

#reportForm fieldset input[type="text"],#reportForm fieldset select{height: 40px; background-color: #FAFAFA; border: none;}
#reportForm fieldset select{position: relative; padding: 0 20px; box-sizing: border-box; appearance: none; background-image: url(../image/sub/report_arrow_down.png); background-repeat: no-repeat; background-position: calc(100% - 20px) center;}
#reportForm fieldset select::-ms-expand{display: none;}
#reportForm fieldset input[type="radio"]{appearance: none; margin-right: 10px; border: 1px solid #CBCBCB; border-radius: 50%; width: 20px; height: 20px; position: relative; top: 3.5px;}
#reportForm fieldset input[type="radio"]:checked{background-image: url(../image/sub/report_radio_checked.png); background-repeat: no-repeat; background-position: center;}
#reportForm fieldset .lb01{margin-right: 60px;}
#reportForm fieldset .box01{width: 400px; height: 40px; background-color: #FAFAFA; border: none;}
#reportForm fieldset .box02{width: 200px;}
#phone02{margin: 0 25px;}
#phone01, #email01{margin-right: 25px;}
#phone03, #email02, #email03{margin-left: 25px;}
#o_name{width: 290px; margin-right: 30px;}
#title{width: 1070px;}
#detail{width: 1070px; height: 260px; border: none; background-color: #FAFAFA; resize: none;}
#reportForm .fileSelect{display: inline-block; vertical-align: middle; background-color: #666; cursor: pointer; width: 180px; height: 40px; margin-left: 30px; padding-top: 11px; box-sizing: border-box; text-align: center; font-size: 16px; font-weight: 500; color: #fff;}
#data{display: none;}
#data2{display: none;}
#data3{display: none;}
#data4{display: none;}
#data5{display: none;}
#reportForm fieldset .upload-name{width: 856px; border: none; background-color: #FAFAFA; height: 40px; padding: 0 20px; box-sizing: border-box; color: #CBCBCB;}
#reportForm .line02 button{width: 180px; height: 40px; margin-left: 30px; border: none; padding-top: 4px; box-sizing: border-box; background-color: #666; color: #fff; font-size: 16px; font-weight: 500; cursor: pointer; transform: translateY(1px);}
#reportForm .line03 .txtbox{width: 100%; height: 150px; margin: 30px 0; background-color: #FAFAFA; overflow-x: hidden; padding: 20px 40px; box-sizing: border-box; color: #666;}
#reportForm .line03 .txtbox thead th{color: #DC000C; background: rgba(220, 0, 12, 10%); font-weight: 500;}
#reportForm .line03 .txtbox thead th:last-child{width: 996px;}
#reportForm .line03 .txtbox th{padding: 10px 0; text-align: center; font-size: 14px; font-weight: 400; color: #666;}
#reportForm .line03 .txtbox th:first-child{border-right: 1px solid #E0E0E0;}
#reportForm .line03 .txtbox td{padding: 10px 0 10px 10px; box-sizing: border-box; font-size: 14px; color: #666;}
#reportForm .line03 .txtbox tr{padding: 0;}
#reportForm .line03 .txtbox .detail{font-size: 14px; color: #666;}
#reportForm .line03 .radio{padding-bottom: 20px; box-sizing: border-box; border-bottom: 1px solid #E0E0E0;}
#reportForm .line03 .radio:after{content: ''; display: block; clear: both;}
#reportForm .line03 .radio p{float: left;}
#reportForm .line03 .radio .right{/* clear: both; */ float: right;}
#reportForm .line03 .radio input, #reportForm .line03 .radio label{float: left;}
#reportForm .line03 .radio input[type="radio"]{top: 0;}

#reportForm .none_class_span_del{position: absolute; display: block; width: 20px; height: 20px; right: 230px; top: 30px; z-index: 999; cursor: pointer;}
#reportForm .none_class_span_del:before{content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 10px; height: 1px; background-color: #CBCBCB; transform: rotate( 45deg );}
#reportForm .none_class_span_del:after{content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 10px; height: 1px; background-color: #CBCBCB; transform: rotate( -45deg );}

/* button */
#sub_content .btn{display: block; width: 350px; height: 100%px; margin: 20px auto 0; padding: 30px 120px; box-sizing: border-box; background-color: #DC000C; font-size: 28px; font-weight: 700; text-align: center; color: #fff;}
#sub_content .btn:hover{background-color: #c20000;}

/* report_complete */
.report_complete .icon{position: relative; width: 350px; height: 350px; margin: 100px auto; border-radius: 50%; border: 3px solid #DC000C; box-sizing: border-box; background-color: #fff;}
.report_complete .icon::after{z-index: -1; content: ''; position: absolute; top: -35px; left: -35px; width: 420px; height: 420px; background-color: rgba(220, 0, 12, 10%); border-radius: 50%;}
.report_complete .icon img{display: block; margin: 0 auto; padding-top: 80px; box-sizing: border-box;}
.report_complete p{text-align: center; font-size: 20px; font-weight: 500; margin-top: 15px; line-height: 28px; color: #666;}

/* check */
.check p{margin-bottom: 15px; text-align: center; font-size: 20px; font-weight: 500; color: #666;}
#loginFrom legend, #loginFrom caption{position: absolute; left: -999em;}
#loginFrom fieldset{margin: 100px 0; border: none; border-top: 1px solid #666; box-sizing: border-box;}
#loginFrom fieldset table{display: block; width: 100%; border-spacing: 0; border-collapse: collapse;}
#loginFrom fieldset tbody{display: block; width: 100%;}
#loginFrom fieldset tr{display: block; width: 100%; border-bottom: 1px solid #E0E0E0; padding: 20px 0; box-sizing: border-box;}
#loginFrom fieldset th{width: 204px; text-align: left; font-size: 20px; font-weight: 500;}
#loginFrom fieldset input{width: 400px; height: 40px; background-color: #FAFAFA; border: none;}

/* mypage */
.mypage table{margin: 100px 0; width: 100%; border-spacing: 0; border-collapse: collapse;}
.mypage thead{width: 100%; background-color: #FAFAFA; border-top: 1px solid #666;}
.mypage tr{width: 100%; height: 80px; border-bottom: 1px solid #E0E0E0; box-sizing: border-box;}
.mypage th, .mypage td{font-size: 20px; font-weight: 500;}
.mypage th{width: 100px;}
.mypage td{text-align: center;}
.mypage td a{display: block; width: 100%; height: 100%;}
.mypage td a:hover{color: #666;}
/* .mypage td a::after{content: '(3)'; color: #DC000C; font-size: 20px; font-weight: 500; margin-left: 5px;} */
.mypage td a span{margin-left: 5px; color: #DC000C; font-size: 20px; font-weight: 500;}
.mypage tbody td:nth-child(2){text-align: left; padding: 0 30px; box-sizing: border-box;}
/* .mypage tbody td:nth-child(3){color: #CBCBCB;} */
.mypage tbody tr:first-child td:nth-child(3){color: #000;}
.mypage .tit{width: 930px;}
.mypage .date{width: 150px;}

/* mypage_view */
.mypage_view .top{margin: 100px 0 30px; width: 100%; border-spacing: 0; border-collapse: collapse;}
.mypage_view .top thead{width: 100%; background-color: #FAFAFA; border-top: 1px solid #666;}
.mypage_view .top thead tr{width: 100%; height: 100px;}
.mypage_view .top thead td{font-size: 24px; font-weight: 500;}
.mypage_view .top thead td span{display: block; margin-top: 10px; font-size: 16px;}
.mypage_view .top tbody tr{width: 100%; height: 180px;}
.mypage_view .top tbody tr:first-child{height: 250px; vertical-align: top;}
.mypage_view .top tbody tr:first-child td{padding-top: 40px;}
.mypage_view .top td{padding: 0 30px; box-sizing: border-box;}
.mypage_view .top tbody tr:nth-child(even){background-color: #FAFAFA;}
.mypage_view .top tbody img{float: left; margin-right: 10px;}
.mypage_view .top tbody .date{display: block; margin-top: 15px; font-size: 16px; color: #CBCBCB;}
.mypage_view .top tbody .txt{display: block; margin-top: 30px; padding: 0 20px;}

.mypage_view form{margin-bottom: 30px;}
.mypage_view textarea{float: left; width: 1060px; height: 200px; border: 1px solid #707070; resize: none;}
.mypage_view form a{float: right; display: block; width: 200px; height: 200px; text-align: center; padding-top: 85px; box-sizing: border-box; background-color: #666; color: #fff;}
.mypage_view form a:hover{background-color: #DC000C;}
.mypage_view form::after{content: ''; display: block; clear: both;}

.mypage_view .bottom{width: 100%; border-bottom: 1px solid #666666; box-sizing: border-box; border-spacing: 0; border-collapse: collapse;}
.mypage_view .bottom tr{width: 100%; height: 80px; border-top: 1px solid #E0E0E0;}
.mypage_view .bottom td:first-child{width: 80px;}
.mypage_view .bottom td:nth-child(2){width: 100px;}
.mypage_view .bottom td img{display: block; margin: 0 auto;}
.mypage_view .bottom td a{display: block; font-size: 20px; font-weight: 500; color: #666;}
.mypage_view .bottom td:last-child a:hover{color: #000;}

.mypage_view .txt{display: block; margin-top: 10px; font-size: 16px; font-weight: 500; color: #666; line-height: 24px;}

.mypage_view .upload-name{float: left; width: 1060px; border: none; margin-top: 20px; background-color: #FAFAFA; height: 40px; padding: 0 20px; box-sizing: border-box; color: #CBCBCB;}
.mypage_view .fileSelect{float: right; display: inline-block; vertical-align: middle; background-color: #666; cursor: pointer; width: 200px; height: 40px; margin-top: 20px; padding-top: 11px; box-sizing: border-box; text-align: center; font-size: 16px; font-weight: 500; color: #fff;}
#data6{display: none;}

#frm_reply p {position: relative;}
.mypage_view .none_class_span_del{position: absolute; display: block; width: 20px; height: 20px; right: 230px; top: 232px; z-index: 999; cursor: pointer;}
.mypage_view .none_class_span_del:before{content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 10px; height: 1px; background-color: #CBCBCB; transform: rotate( 45deg );}
.mypage_view .none_class_span_del:after{content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 10px; height: 1px; background-color: #CBCBCB; transform: rotate( -45deg );}

/* legal_notice, privacy */
.legal_notice, .privacy{padding-top: 100px; box-sizing: border-box;}
.legal_notice .top_txt, .privacy .top_txt{margin-bottom: 100px; text-align: center; font-size: 20px; font-weight: 500; line-height: 30px;}
.legal_notice .etc, .privacy .etc{font-size: 18px; font-weight: 400;}
.legal_notice .tit, .privacy .tit{color: #111; font-weight: 700;}
.legal_notice .red, .privacy .red{color: #DC000C; font-weight: 700;}
.legal_notice .txt_box .mg, .privacy .txt_box .mg{margin-left: 20px; color: #666;}
.legal_notice .txt_box p, .privacy .txt_box p{padding: 25px 0 0 15px; color: #666; font-size: 14px;}
.legal_notice .txt_box p .tit, .privacy .txt_box p .tit{color: #666;}
.legal_notice .bottom_txt, .privacy .bottom_txt{text-align: center;}

/* accordion */
#sub_content .accordion .accordion-item{border: 1px solid #e2e2e2; margin-bottom: 40px; padding: 10px; box-sizing: border-box;}
#sub_content .accordion .accordion-item:hover{box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.2); transition: ease-in-out 0.3s;}
#sub_content .accordion-item button{position: relative; display: block; text-align: left; width: 100%; padding: 40px; color: #ddd; font-size: 18px; font-weight: 500; border: none; background: none; outline: none;}
#sub_content .accordion-item button:hover, .legal_notice .accordion-item button:focus{cursor: pointer; color: #1b1b56;}
#sub_content .accordion-item button:hover::after, #sub_content .accordion-item button:focus::after{cursor: pointer; color: #1b1b56; border: 1px solid #1b1b56;}
#sub_content .accordion-item button .accordion-title{color: #000; font-size: 30px; margin-bottom: 30px;}
#sub_content .accordion-item button .icon{display: inline-block; position: absolute; top: 50%; transform: translateY(-50%); right: 40px; width: 37px; height: 37px; color: #DC000C;}
#sub_content .accordion-item button .icon::before{content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 6px; height: 37px; background: currentColor;}
#sub_content .accordion-item button .icon::after{content: ''; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 37px; height: 6px; background: currentColor;}
#sub_content .accordion-item .accordion-content{position: relative; opacity: 0; max-height: 0;}
#sub_content .accordion-item .accordion-content::after{content: ''; position: absolute; top: 0; left: 0; right: 0; background-color: #333; width: 94%; height: 1px; margin: 0 auto;}
#sub_content .accordion-item .accordion-content .txt_box{color: #666; font-size: 16px; padding: 60px; box-sizing: border-box; line-height: 24px;}

#sub_content .accordion-item button[aria-expanded='true'] .icon{color: #1b1b56;}
#sub_content .accordion-item button[aria-expanded='true'] .icon::before{width: 0;}
#sub_content .accordion-item button[aria-expanded='true'] .accordion-title{color: #1b1b56;}
#sub_content .accordion-item button[aria-expanded='true'] + .accordion-content{opacity: 1; max-height: 103em; transition: all 200ms linear; will-change: opacity, max-height;} 