@charset "utf-8";
/* CSS Document */

#about .main {box-sizing: border-box; background: url("img/about/main_bg01.svg")center left no-repeat,url("img/about/main_bg02.jpg")center right no-repeat; border: 3px solid #000; height: 380px; padding-left: 80px;}
#about .main .txt01 {font-size: 35px; line-height: 1; display: inline-block; background: #000; padding: 5px 0 8px; margin-bottom: 20px;}
#about .box01 {box-sizing: border-box; background: url("img/about/bg.jpg")top left repeat; border: 3px solid #000;}
#about .box01 h2 {font-size: 40px; box-sizing: border-box; background: #000; padding: 20px 0; position: relative;}
#about .box01 h2::before,#about .box01 h2::after {content: ''; position: absolute; width: 109px; height: 91px; bottom: 0;}
#about .box01 h2::before {background: url("img/about/title_icon01.svg")no-repeat; left: 0;}
#about .box01 h2::after {background: url("img/about/title_icon02.svg")no-repeat; right: 0;}
#about .box01 .inner {font-size: 16px; line-height: 2; padding: 0 50px;}
#about .box01 .inner .img01 {margin-right: 50px;}
#about .box01 .inner .img02 {margin-left: 50px;}
#about .box01 ul {padding: 0 50px;}
#about .box02 h3 {font-size: 50px; margin: 50px auto 40px;}
#about .box02 .txt01 {font-size: 16px; line-height: 2;}
#about .box02 .txt02 {background: #000; width: calc(100% - 100px);}
#about .box02 .txt02::before,#about .box02 .txt02::after {content: ''; display: block; height: 1px; background: #fff; flex-grow: 1;}
#about .box02 .txt02::before {margin-right: 40px;}
#about .box02 .txt02::after {margin-left: 40px;}
#about .box02 li p {font-size: 20px; line-height: 1; padding: 10px 0; background: #000;}
#about .link_box a,#reason .link_box a {box-sizing: border-box; width: 575px; background: url("img/about/link_bg01.jpg")top left repeat; border: 2px solid #000;}
#about .link_box a:nth-child(2),#reason .link_box a:nth-child(2) {background: url("img/about/link_bg02.jpg")top left repeat; border-color: #cf2626;}
#about .link_box a p,#reason .link_box a p {font-size: 30px; line-height: 1.5; margin: auto;}

/*reason*/
#reason .box01 {background: url("img/reason/box01_bg.jpg")center center no-repeat; padding: 50px; position: relative;}
#reason .box01 h2 {position: relative; z-index: 10;}
#reason .box01 .link_box01 a {margin-top: 50px;}
#reason .box01 .icon {position: absolute; right: 0; top: 0;}
#reason .box02 {box-sizing: border-box; border: 3px solid #000; background: url("img/reason/box02_bg01.svg")top right no-repeat,url("img/reason/box02_bg02.jpg")top left repeat; position: relative; margin-top: 80px; padding-top: 90px;}
#reason .box02 h2 {box-sizing: border-box; border-bottom: 3px solid #ce2323; padding-bottom: 47px; position: relative; width: calc(100% - 100px);}
#reason .box02 h2 img {position: relative; z-index: 10;}
#reason .box02 h2::after {content: ''; position: absolute; background: url("img/reason/box02_title_icon.svg")no-repeat; width: 298px; height: 248px; bottom: 0; right: -50px;}
#reason .box02 .icon_text {position: absolute; left: -3px; top: -40px; background: #000; width: 500px; height: 80px; font-size: 50px; line-height: 1;}
#reason .box02 .inner {padding: 50px 50px 0; font-size: 16px; line-height: 2;}
#reason .box02 .inner .img01 {margin-right: 50px;}
#reason .box02 .inner .img02 {margin-left: 50px;}

/*company*/
#company table {box-sizing: border-box; border: 1px solid #aaa; width: 100%;}
#company th,#company td {box-sizing: border-box; border-bottom: 1px solid #aaa; padding: 15px 20px; font-size: 16px; line-height: 1;}
#company th {background: #ce2323; border-color: #fff; color: #fff;}
#company th:nth-of-type(6) {border: none;}
#company h2 {font-size: 35px; padding: 15px 0 20px; background: #000;}
#company iframe {box-sizing: border-box; width: 100%; height: 450px; border: 3px solid #000;}
#company .box01 p {font-size: 14px; line-height: 2; margin-top: 30px;}

/*blog*/
#blog .item {box-sizing: border-box; border-bottom: 3px solid #000; padding: 20px 0; line-height: 1;}
#blog .time {font-size: 18px; box-sizing: border-box; border-right: 1px solid #000; padding: 5px 10px 5px 0; margin-right: 10px;}
#blog .tag,#blog_single .tag {font-size: 16px; width: 58px; height: 20px; background: #ce2323;}
#blog .tag02,#blog_single .tag02 {background: linear-gradient(15deg, #ebbe58 0%, #b99648 20%, #bb894e 45%, #eddd65 65%, #cb9732 100%);}
#blog h2 {font-size: 18px; margin-top: 10px;}
#blog_single .box01 {box-sizing: border-box; border: 3px solid #000; background: url("img/blog/bg.jpg")top left repeat; padding: 50px;}
#blog_single .over {line-height: 1;}
#blog_single .time {font-size: 18px; box-sizing: border-box; border-right: 1px solid #000; padding: 5px 10px 5px 0; margin-right: 10px;}
#blog_single h2 {font-size: 18px; line-height: 1.5; margin: 20px 0;}
#blog_single .text {font-size: 16px; line-height: 1.8;}

/*online*/
#online .online_list {margin-top: 80px;}
#online .min {font-size: 20px; line-height: 1; margin: 10px auto 55px;}
#online .item {box-sizing: border-box; border-bottom: 3px solid #000; padding: 20px 0; line-height: 1;}
#online .img_box {box-sizing: border-box; position: relative;}
#online .img_box img {width: 100%; height: 270px; object-fit: cover; object-position: center;}
#online .number {box-sizing: border-box; background: linear-gradient(15deg, #ebbe58 0%, #b99648 20%, #bb894e 45%, #eddd65 65%, #cb9732 100%); font-size: 18px; line-height: 1; padding: 5px 10px; display: inline-block; position: absolute; top: 0; left: 0;}
#online h2 {font-size: 18px; line-height: 1.7; margin: 10px 0 0;}
#online .inner {margin: 20px auto 12px;}
#online .txt {box-sizing: border-box; line-height: 1; padding: 5px 10px; background: #ce2323; font-size: 14px; display: inline-block;}
#online .time {width: 200px; box-sizing: border-box; border-bottom: 1px solid #ce2323; font-size: 14px; line-height: 1; padding-bottom: 2px;}
#online .date {font-size: 18px; line-height: 1; box-sizing: border-box; border-left: 1px solid #000; padding: 5px 0 5px 20px; margin-left: 100px;}
#online_single {position: relative;}
#online_single .box01 {box-sizing: border-box; border: 3px solid #000; background: url("img/online/box01_bg.jpg")top left repeat; padding: 50px;}
#online_single .box01 .img {margin-right: 50px; min-width: 500px;}
#online_single .box01 .img img {width: 100%; height: 375px; object-fit: cover; object-position: center;}
#online_single .right_box {position: relative; width: 100%;}
#online_single .tag01 {box-sizing: border-box; width: 262px; height: 60px; background: #ce2323; line-height: 1; font-size: 18px; margin-right: auto;}
#online_single .tag02 {box-sizing: border-box; width: 262px; height: 60px; background: #000; line-height: 1; font-size: 18px; margin-left: auto;}
#online_single .box01 h2 {font-size: 25px; line-height: 1.7; margin: 20px 0;}
#online_single .box01 .txt {font-size: 20px; line-height: 1; box-sizing: border-box; border: 3px solid #000; background: #fff; padding: 15px;}
#online_single .box01 .txt01 {margin-bottom: 10px;}
#online_single .text {font-size: 16px; line-height: 2;}
#online_single .contact_box {box-sizing: border-box; background: url("img/online/box01_bg.jpg")top left repeat; border-bottom: 5px solid #000; padding-bottom: 50px; padding-top: 50px;}
#online_single .contact_box h2 {font-size: 30px; padding: 15px 0; background: #000; margin-bottom: 50px;}
#online_single .contact_box .big {font-size: 35px; line-height: 1; margin: 50px auto;}
#online_single table {width: 1000px; box-sizing: border-box; margin: auto; position: relative; z-index: 95;}
#online_single table th,#online_single table td {padding: 10px 20px; box-sizing: border-box; font-size: 16px; font-weight: 500; background: #fff;}
#online_single table th{vertical-align: middle; width: 297px; position: relative; background: #000; font-weight: 500; border-bottom: 1px solid #fff; color: #fff;}
#online_single table tr:nth-of-type(9) th {border-bottom: none;}
#online_single table input,#online_single01 table textarea,#online_single table td p {width: 100%; box-sizing: border-box; padding: 5px 10px; font-size: 16px; outline: none; min-height: 46px; font-weight: bold; border: 1px solid #d2d2d2;}
#online_single table td p {line-height: 1; display: flex; align-items: center;}
#online_single table textarea {font: inherit; font-size: 16px; width: 100%; box-sizing: border-box; border: 2px solid #d2d2d2; padding: 10px; outline: none;}
#online_single .form_btn {box-sizing: border-box; background: url("img/index/form_arrow.svg")left 80px center no-repeat; background-color: #000; font-size: 16px; line-height: 1; font-weight: bold; color: #fff; display: block; margin: 50px auto 0; border: none; width: 400px; padding: 20px 0; cursor: pointer;}
#online_single .essential {color: #ce2323; display: flex; align-items: center; line-height: 1; top: 0; bottom: 0; right: 20px; margin: auto; position: absolute; background: #fff; height: 20px; font-size: 14px;}
#online_single table amount_box span:nth-child(1) input {border-right: none;}
#online_single .text01 {font-size: 25px; line-height: 1; margin-bottom: 30px;}
#online_single .btn {color: #fff; width: 386px; height: 60px; font-size: 16px; font-weight: bold; display: block; background: url("img/online/btn_arrow.svg")center right 50px no-repeat; background-color: #000; border: none; cursor: pointer;}
#online_single .btn_box {margin: 50px auto 0; display: flex; align-items: center; justify-content: center; z-index: 95; position: relative;}
#online_single .btn02 {color: #fff; width: 386px; height: 60px; font-size: 16px; font-weight: bold; display: block; background: url("img/online/btn_arrow.svg")center right 50px no-repeat; background-color: #000; border: none; cursor: pointer;}
#online_single .btn03 {color: #fff; width: 386px; height: 60px; font-size: 16px; font-weight: bold; display: block; background: url("img/online/btn_arrow.svg")center right 50px no-repeat; background-color: #CE2323; border: none; cursor: pointer; margin-left: 50px;}
#contact_point {padding-top: 90px; margin-top: -90px;}
#contact .thanks {font-size: 16px; line-height: 2;}
.wpcf7 form .wpcf7-response-output {display: none;}
.wpcf7 form.invalid .wpcf7-response-output {border: none; font-size: 16px; color: #ff0000; text-align: center;}
#contact_form .wpcf7c-conf {background: #fff!important;}
#online_single .wpcf7 .ajax-loader {display: none;}
.verification_bg {content: ''; position: absolute; background: rgba(0,0,0,.9); width: 100%; height: 100%; display: block; top: 0; z-index: 90;}
.verification_text {color: #fff; z-index: 95; position: relative; font-size: 25px; text-align: center; margin-bottom: 30px; display: block;}



#sitemap li {font-size: 16px; margin-top: 20px;}
#sitemap li:nth-child(1) {margin-top: 0;}

/*form02*/
#form02 .contact_box {box-sizing: border-box; background: url("img/form02/box01_bg.jpg")top left repeat;}
#form02 .contact_box p {font-size: 35px; line-height: 1; padding: 50px 0;}
#form02 table {width: 1000px; box-sizing: border-box; margin: auto; position: relative; z-index: 95;}
#form02 table th, #form02 table td {padding: 10px 20px; box-sizing: border-box; font-size: 16px; font-weight: 500; background: #fff;}
#form02 table th {vertical-align: middle; width: 297px; position: relative; background: #000; font-weight: 500; border-bottom: 1px solid #fff; color: #fff;}
#form02 table td input, #form02 table td select {width: 100%; box-sizing: border-box; padding: 5px 10px; font-size: 16px; outline: none; min-height: 46px; font-weight: bold; border: 1px solid #d2d2d2;}
#form02 .essential {color: #ce2323; display:flex; align-items: center; line-height: 1; top: 0; bottom: 0; right: 20px; margin: auto; position: absolute; background: #fff; height: 20px; font-size: 14px; }
#form02 .btn_box {margin: 50px auto 0; display: flex; align-items: center; justify-content: center; z-index: 95; position: relative; }
#form02 .btn {color: #fff; width: 386px; height: 60px; font-size: 16px; font-weight: bold; display: block; background: url("img/form02/btn_arrow.svg")center right 50px no-repeat; background-color: #000; border: none; cursor: pointer;}
#form02 .btn02 {color: #fff; width: 386px; height: 60px; font-size: 16px; font-weight: bold; display: block; background: url("img/form02/btn_arrow.svg")center right 50px no-repeat; background-color: #000; border: none; cursor: pointer;}
#form02 .btn03 {color: #fff; width: 386px; height: 60px; font-size: 16px; font-weight: bold; display: block; background: url(img/online/btn_arrow.svg)center right 50px no-repeat; background-color: #CE2323; border: none; cursor: pointer; margin-left: 50px;}


#form02_end .thanks {font-size: 16px; line-height: 2;}
#form02_end .btn_box {width: 422px; height: 60px; margin: 80px auto; background: url("img/form02/btn_download.svg")center left 50px no-repeat; background-color: #000;}
#form02_end .btn_box p {font-size: 16px; line-height: 1; padding: 22px 0;}

#form02_end #complete {padding-top: 120px; margin-top: -120px;}


