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

#about .main {box-sizing: border-box; background: url("img/about/main_bg.jpg")center center no-repeat; border: 5px solid #000; border-bottom: 10px solid #000; position: relative; padding: 40px;}
#about .main::after {content: ''; display: block; position: absolute; background: url("img/about/main_icon.svg")no-repeat; width: 631px; height: 416px; right: 0; bottom: 0;}
#about .main .big {font-size: 50px; line-height: 1;}
#about .main .txt01 {font-size: 18px; line-height: 1.7; margin: 35px auto 30px;}
#about .main .txt02 {font-size: 28px; line-height: 1.7;}
#about .box01 {background: url("img/about/box01_bg.jpg")top left repeat; padding-top: 60px;}
#about .box01 h2 p {display: inline-block; box-sizing: border-box; border-bottom: 5px solid #0d6e2f; padding-bottom: 5px; font-size: 50px; line-height: 1;}
#about .box01 .inner {background: #f2f2f2; margin: 60px 0 20px; position: relative; font-size: 16px; padding-right: 20px; line-height: 1.7;}
#about .box01 .inner img {position: relative; z-index: 10; margin-right: 20px;}
#about .box01 .inner::before {content: ''; display: block; position: absolute; background: url("img/about/box01_icon01.svg")no-repeat; width: 284px; height: 182px; ;left: 20px; top: -151px;}
#about .box01 .icon02 {margin: 60px auto 40px;}
#about .box02 {background: url("img/about/box02_bg.jpg")top left repeat; padding: 50px 0;}
#about .box02 .title_box {position: relative; background: url("img/about/box02_title_bg.jpg")top left repeat; padding: 150px 0 120px;}
#about .box02 .title_box .icon {position: absolute; left: 0; top: -40px;}
#about .box02 h2 {font-size: 70px; margin-bottom: 20px; position: relative;}
#about .box02 h2::before,#about .box02 h2::after {content: ''; display: block; position: absolute;}
#about .box02 h2::before {background: url("img/about/box02_title_be.svg")no-repeat; width: 185px; height: 158px; left: 20px; top: -20px;}
#about .box02 h2::after {background: url("img/about/box02_title_af.svg")no-repeat; width: 174px; height: 158px; right: 33px; top: -5px;}
#about .box02 .title_box p {font-size: 40px; line-height: 1;}
#about .box02 .title_box p::before,#about .box02 .title_box p::after {content: ''; display: block; flex-grow: 1; background: #fff; height: 3px;}
#about .box02 .title_box p::before {margin-right: 20px;}
#about .box02 .title_box p::after {margin-left: 20px;}
#about .link_box {margin-top: -100px; padding: 0 50px; position: relative; z-index: 10;}
#about .con01 .icon_text p {font-size: 40px; line-height: 1; background: #d90000; padding: 10px 15px; display: inline-block;}
#about .con01 .icon_text::before,#about .con01 .icon_text::after {content: ''; display: block; flex-grow: 1; height: 3px; background: #d90000;}
#about .box02 h3 {font-size: 50px; margin: 20px auto 60px;}
#about .con01 .inner {font-size: 16px; line-height: 1.6; padding: 0 50px;}
#about .con01 .inner02 {margin-top: 20px;}
#about .con01 .img01 {margin-right: 20px;}
#about .con01 .img02 {margin-left: 20px;}
#about .con01 .bnr {background: url("img/about/con01_bnr_bg.svg")center center no-repeat; position: relative; height: 350px; margin-top: 60px;}
#about .con01 .bnr::before {content: ''; display: block; position: absolute; background: url("img/about/con01_bnr_be.svg")no-repeat; width: 1200px; height: 223px; bottom: 0; left: 0; right: 0; margin: auto; z-index: 10;}
#about .con01 .bnr::after {content: ''; display: block; position: absolute; background: url("img/about/con01_bnr_af.svg")no-repeat; width: 1200px; height: 350px; bottom: 0; top: 0; left: 0; right: 0; margin: auto;}
#about .con01 .bnr p:nth-of-type(1) {font-size: 30px; line-height: 1; display: inline-block; background: #d90000; padding: 10px; z-index: 20; position: relative;}
#about .con01 .bnr p:nth-of-type(2) {font-size: 50px; line-height: 1; margin: 10px auto 20px; position: relative; z-index: 20;}
#about .con01:nth-of-type(2) .icon_text p,#about .con01:nth-of-type(2) .icon_text::before,#about .con01:nth-of-type(2) .icon_text::after,#about .con01:nth-of-type(2) .bnr p:nth-of-type(1) {background: #0d6e2f;}
#about .con01:nth-of-type(3) .icon_text p,#about .con01:nth-of-type(3) .icon_text::before,#about .con01:nth-of-type(3) .icon_text::after,#about .con01:nth-of-type(3) .bnr p:nth-of-type(1) {background: #813809;}
#about .e_bnr {background: url("img/about/e_bnr_bg.svg")top center no-repeat; padding-top: 50px; position: relative;}
#about .e_bnr::before {content: ''; display: block; position: absolute; background: url("img/about/e_bnr_be.svg")no-repeat; width: 227px; height: 299px; left: 50px; bottom: 25px;}
#about .e_bnr::after {content: ''; display: block; position: absolute; background: url("img/about/e_bnr_af.svg")no-repeat; width: 132px; height: 176px; right: 106px; bottom: 77px;}
#about .e_bnr .big {font-size: 50px; line-height: 1;}
#about .e_bnr .txt01 {font-size: 18px; line-height: 2; margin: 40px auto;}
#about .e_bnr .txt02 {font-size: 50px; line-height: 1; background: #0d6e2f; padding: 20px 0; position: relative;}

/*contact_banner*/
#contact_banner {background: url("img/index/box02_bg.jpg")bottom center repeat; padding-bottom: 60px;}
#contact_banner .title_box {background: url("img/index/box02_title_bg.jpg")top left repeat; padding: 60px 0; margin-bottom: 46px;}
#contact_banner h2 {font-size: 50px; margin-bottom: 15px;}
#contact_banner h2::before {content: ''; display: block; background: url("img/index/box02_icon01.svg")no-repeat; width: 225px; height: 235px; left: -100px; top: -60px; position: absolute;}
#contact_banner h2::after {content: ''; display: block; background: url("img/index/box02_icon02.svg")no-repeat; width: 107px; height: 146px; right: -25px; top: -30px; position: absolute; z-index: 10;}
#contact_banner .min p {font-size: 20px; display: inline-block; background: #000; padding: 5px 10px; position: relative; z-index: 10; line-height: 1;}
#contact_banner .min p::after {width: 0; height: 0; border-style: solid; border-width: 12px 41px 0 0; border-color: #000 transparent transparent transparent; position: absolute; right: -41px; top: 0; bottom: 0; margin: auto; content: '';}
#contact_banner ul::before {content: ''; display: block; position: absolute; background: url("img/index/box02_icon03.svg")no-repeat; width: 1807px; height: 470px; right: -177px; bottom: -60px;}
#contact_banner li {position: relative; width: 366px; z-index: 10; margin-right: 50px;}
#contact_banner li:nth-child(4) {margin-right: 0;}
#contact_banner li::after {content: ''; display: block; position: absolute; right: 0; top: -80px; width: 356px; height: 97px;}
#contact_banner li:nth-of-type(1)::after {background: url("img/index/box02_li_icon01.svg")no-repeat;}
#contact_banner li:nth-of-type(2)::after {background: url("img/index/box02_li_icon02.svg")no-repeat;}
#contact_banner li:nth-of-type(3)::after {background: url("img/index/box02_li_icon03.svg")no-repeat;}
#contact_banner li:nth-of-type(4)::after {background: url("img/index/box02_li_icon04.svg")no-repeat;}
#contact_banner li .over {padding: 5px; box-sizing: border-box; width: 100%; height: 100px;}
#contact_banner li:nth-of-type(1) .over {background: #d90000;}
#contact_banner li:nth-of-type(2) .over {background: #813809;}
#contact_banner li:nth-of-type(3) .over {background: #f07c26;}
#contact_banner li:nth-of-type(4) .over {background: #0d6e2f;}
#contact_banner li p {box-sizing: border-box; border: 1px solid #fff; width: 100%; height: 100%; font-size: 30px; line-height: 1;}
#contact_banner li a {box-sizing: border-box; margin-top: 10px; width: 100%; height: 40px; border-radius: 5px; font-size: 16px; line-height: 1;}
#contact_banner li:nth-of-type(1) a {background: url("img/index/box02_btn_bg01.svg")right bottom no-repeat; background-color: #d90000;}
#contact_banner li:nth-of-type(2) a {background: url("img/index/box02_btn_bg02.svg")right bottom no-repeat; background-color: #813809;}
#contact_banner li:nth-of-type(3) a {background: url("img/index/box02_btn_bg03.svg")right bottom no-repeat; background-color: #f07c26;}
#contact_banner li:nth-of-type(4) a {background: url("img/index/box02_btn_bg04.svg")right bottom no-repeat; background-color: #0d6e2f;}

/*merit*/ 
#merit .main {background:url("img/merit/main_bg01.jpg") top center no-repeat; border: 5px solid #000; position:relative;}
#merit .main .over {padding:30px 55px;}
#merit .main .over .gifu {position:absolute; top:5px; right:53px;}
#merit .main .over .con {margin-top: 20px;}
#merit .main .over p {font-size: 40px; line-height:1; padding-left: 130px;}
#merit .main .over .con img:nth-child(3) {border-bottom: 5px solid #000; z-index: 10;}
#merit .main .under {background:#0d6e2f; padding: 20px 50px; line-height: 1; height:137px; align-items: center;}
#merit .main .under p:nth-child(1) {font-size: 30px;}
#merit .main .under p:nth-child(2) {font-size: 50px; margin-top: 20px; word-break: keep-all;} 
#merit .main .under p:nth-child(2)::after {content:''; height: 3px; background:#fff; flex-grow: 1; display: block; width: 100%; margin-left: 10px;}
#merit .main .under .txt {width:100%;}
#merit .main .under img {position:absolute; right:32px; bottom: 10px;}
#merit .box01 {background: url("img/merit/box01_bg01.jpg") top center no-repeat; height:393px;}
#merit .box01 p:nth-child(1) {line-height:1; font-size:40px;}
#merit .box01 p:nth-child(2) {font-size:16px; line-height: 2.3; margin-top:40px;}
#merit .box02 {background:url("img/merit/box02_bg01.jpg")top center no-repeat; line-height:1; position: relative; padding: 45px 0;}
#merit .box02 p:nth-child(1) {font-size: 40px;}
#merit .box02 p:nth-child(2) {font-size: 25px; margin: 20px auto 35px;}
#merit .box02 h2 {font-size: 50px;  text-shadow: #fff 1px 1px 10px, #fff -1px 1px 10px, #fff 1px -1px 10px, #fff -1px -1px 10px; line-height: 1.3;}
#merit .box02 img:nth-of-type(1) {position:absolute; top:25px; left:50px;}
#merit .box02 img:nth-of-type(2) {position:absolute; top: 40px; right: 50px;}
#merit .box03 {background:url("img/merit/box03_bg04.jpg") top left repeat;}
#merit .box03 .boxs {padding: 0 50px;}
#merit .box03 .box {background:#d90000; border: 5px solid #d90000; border-radius: 5px; width: 333px; text-align: center; box-sizing:border-box; line-height: 1; position:relative; padding-bottom: 5px;}
#merit .box03 .box .over {background:url("img/merit/box03_bg01.jpg") top left no-repeat; box-sizing: border-box; padding: 40px 0;}
#merit .box03 .box .over p:nth-child(1) {background:#000; font-size:20px;display: inline-block; padding: 5px 10px; margin-bottom: 5px;}
#merit .box03 .box .over p:nth-child(2) {font-size:40px;}
#merit .box03 .box .u_txt01 {font-size:20px; margin: 10px 0 5px;}
#merit .box03 .box .u_txt02 {font-size:40px;}
#merit .box03 .box::after {content:''; width: 0; height: 0; border-style: solid; border-width: 22px 36.5px 0 36.5px; border-color: #990000 transparent transparent transparent; position: absolute; bottom: -27px; right: 0; left: 0; margin: auto;}
#merit .box03 .box:nth-of-type(2)::after {border-color: #08421c transparent transparent transparent;}
#merit .box03 .box:nth-of-type(3)::after {border-color: #5c2806 transparent transparent transparent;}
#merit .box03 .box2 {background:#0d6e2f; border: 5px solid #0d6e2f; position:relative;} 
#merit .box03 .box2 .over {background:url("img/merit/box03_bg02.jpg") top left no-repeat; height:157px;}
#merit .box03 .box3 {background:#813809; border: 5px solid #813809; position:relative;} 
#merit .box03 .box2::after {border-color: #08421c transparent transparent transparent;}
#merit .box03 .box3::after {border-color: #5c2806 transparent transparent transparent;}
#merit .box03 .con {padding: 0 50px;}
#merit .box03 .box3 .over {background:url("img/merit/box03_bg03.jpg") top left no-repeat; height:157px;}
#merit .box03 .title {background: #d90000; font-size:40px; line-height: 1;} 
#merit .box03 .title p:nth-child(1){background: #990000; font-size: 50px; width: 100px; height: 60px;}
#merit .box03 .title p:nth-child(2) {margin-left: 30px;}
#merit .box03 h3 {font-size:30px; text-align: center; margin: 50px auto; position: relative;}
#merit .box03 h3::after {content: ''; position: absolute; background: url("img/merit/box03_img01.png")no-repeat; width: 157px; height: 206px; right: 18px; bottom: -30px; z-index: 10;}
#merit .box03 .img01 {position:absolute; top: -38px; right:10px;}
#merit .box03 {position:relative;}
#merit .box03 .inner {margin-top: 20px;}
#merit .box03 .inner:nth-child(1) {margin-top: 0;}
#merit .box03 .inner img {margin-right:20px;}
#merit .box03 .inner p {line-height: 1.6; font-size:16px;}
#merit .box03 .inner02 img {margin-right:0; margin-left: 20px;}
#merit .box03 .banner {height:274px; background:url("img/merit/box03_bg05.jpg") top left no-repeat; line-height: 1; text-align: center; position:relative;}
#merit .box03 .banner p:nth-child(1) {font-size:30px; background:#d90000; margin-bottom: 10px; display: inline-block; padding: 5px 0;}
#merit .box03 .banner p:nth-child(2) {font-size: 50px; line-height:1.3; text-shadow: #000 1px 1px 10px, #000 -1px 1px 10px, #000 1px -1px 10px, #000 -1px -1px 10px;}
#merit .box03 .banner .img01 {position:absolute; left:15px; top:90px;}
#merit .box03 .banner .img02 {position:absolute; right:35px; bottom:5px;}
#merit .box03 .banner02 p:nth-child(1) {background:#0d6e2f;}
#merit .box03 .banner03 p:nth-child(1) {background:#813809;}
#merit .con02 .title {background: #0d6e2f;}
#merit .con02 .title p:nth-child(1) {background: #08421c;}
#merit .con03 .title {background: #813809;}
#merit .con03 .title p:nth-child(1) {background: #5c2806;}
#merit .box04 {background:url("img/merit/box04_bg01.jpg") top center no-repeat; padding:105px 215px; position:relative; box-sizing:border-box; height:450px;}
#merit .box04 .txt {background:rgba(255,255,255,.8); border:5px solid #000; padding:26px 60px 30px 30px;}
#merit .box04 .txt p:nth-child(1) {font-size:25px; line-height: 1.4;}
#merit .box04 .txt p:nth-child(2) {font-size:30px; line-height: 1; margin:16px 0;}
#merit .box04 .txt p:nth-child(3) {font-size:50px; line-height: 1;}
#merit .box04 img:nth-of-type(1) {position:absolute; top:15px; left:10px;}
#merit .box04 img:nth-of-type(2) {position:absolute; bottom:0px; left:-20px;}
#merit .box04 img:nth-of-type(3) {position:absolute; top:136px; right:0px;}
#merit .box04 img:nth-of-type(4) {position:absolute; bottom:0px; right:35px;}

/*company*/
#company table {box-sizing: border-box; background: #fff; width: 100%; border: 1px solid #0d6e2f;}
#company th,#company td {box-sizing: border-box; padding: 20px 0 20px 20px; line-height: 1; font-size: 16px; vertical-align: middle;}
#company th {background: #0d6e2f; width: 200px; color: #fff; border-bottom: 1px solid #fff;} 
#company td {background: #fff; color: #000; border-bottom: 1px solid #aaaaaa;}
#company .mail td {border-bottom:none;}
#company .sitemap .link_box {margin-top: 50px;}
#company .sitemap .link_box a {box-sizing: border-box; border: 3px solid #0d6e2f; width: 386px; font-size: 20px; line-height: 1; padding: 15px 20px; background: url("img/company/arrow.svg")center right 10px no-repeat; background-color: #fff; margin-right: 20px; color: #0d6e2f;}
#company .sitemap .link_box a:nth-child(3n) {margin-right: 0;}
#company .sitemap .link_box a:nth-child(n + 4) {margin-top: 20px;}
#company .privacy p {box-sizing: border-box; font-size: 14px; line-height: 2.3; margin-top: 30px;}


/*contact*/
#contact .txt {background:#000; line-height: 1; padding:20px 0;}
#contact .txt p:nth-child(1) {font-size:18px;}
#contact .txt a {font-size:40px; margin-top:10px;}
#contact .txt a span {font-size:60px;}
#contact .txt a::before,#contact .txt a::after {content:''; display:block; flex-grow: 1; height:3px; background:#fff;}
#contact .txt a::before {margin-right:20px;}
#contact .txt a::after {margin-left:20px;}
#contact .form {border: 5px solid #0d6e2f; position:relative; border-top:0;} 
#contact .form .title {height:80px; position:relative; background:#08421c; overflow: hidden; margin-right:-5px;}
#contact .form .title::before {content:''; background:#0d6e2f; width:1200px; height: 520px; position:absolute; top:0; left:-235px; transform:rotate(65deg);}
#contact .form .title p:nth-child(1) {font-size:40px; padding:20px 0 20px 125px; line-height: 1; z-index: 10;}
#contact .form .title p:nth-child(2) {font-size:20px; line-height:1.3; padding-left:70px;}
#contact .form .title::after {content:''; width:180px; height:2px; background:#fff; position:absolute; right:0; top:0; bottom:0; margin:auto;}
#contact .form .title02 {font-size: 25px; line-height: 1; margin-top:50px;} 
#contact .form img {position:absolute; top:-17px; left:27px; z-index:10;}

#contact_form {width:1000px; margin: auto; font-weight: bold; font-size: 16px; border-collapse: separate; border-spacing: 20px 20px;}
#contact_form tr {height: 35px;}
#contact_form tr th {position:relative; width:200px; padding-right: 10px;}
#contact_form tr th,#contact_form tr td {vertical-align: middle;}
#contact_form tr input {width:100%; height:35px; padding: 10px; outline: none; box-sizing: border-box; border: 2px solid #000;}
#contact_form tr td label input {height:inherit; width:inherit;}
#contact_form tr .essential {color:#ec0016; align-items: center; position:absolute; top:0; bottom:0; right:0; display: flex;}
#contact_form .form_btn {background: #000; color: #fff; font-size: 18px; padding: 10px 0; width: 500px;}
#contact_form p {text-align:center;}
#contact_form textarea {width:100%; padding: 10px; outline: none; box-sizing: border-box; line-height: 1.5; border: 2px solid #000;}
#contact_form .wpcf7-list-item {margin: 0;}
#contact_form .wpcf7 form .wpcf7-response-output {display: none;}
#contact_form .wpcf7 form.invalid .wpcf7-response-output {border: none; font-size: 16px; color: #ff0000; text-align: center;}
#contact_form .wpcf7 .ajax-loader {display:none;} 
#contact .form_btn {background: #000; color: #fff; font-size: 18px; width: 600px; margin: 10px auto 50px; display: block; height: 60px; line-height: 1; border-radius: 5px; border: none; font-weight:800;}
#contact .thanks {line-height:2;}
#contact .thanks p {text-align:center; margin-top:40px;}
#contact .wpcf7 form.sent .wpcf7-response-output {display:none;}
#contact .wpcf7 .ajax-loader {display:none;}













