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

/*contact_banner*/
#contact_banner {background: url("img/contact_banner/bg01.jpg")top center no-repeat,url("img/contact_banner/bg02.jpg")top left repeat; padding: 80px 0 110px;}
#contact_banner .txt_box {margin-bottom: 80px;}
#contact_banner .txt_box .txt01 {font-size: 60px; line-height: 1; box-sizing: border-box; border-bottom: 5px solid #fff; padding-bottom: 20px; margin-bottom: 20px; display: inline-block; padding-right: 70px;}
#contact_banner .txt_box .txt01 span {font-size: 80px;}
#contact_banner .txt_box .txt02 {font-size: 60px; line-height: 1;}
#contact_banner .txt_box .icon {position: absolute; right: 0; top: -65px;}
#contact_banner li {width: 475px; position: relative;}
#contact_banner li .box {box-sizing: border-box; padding: 15px 0 50px; border: 3px solid #002f15; background: url("img/contact_banner/box_bg01.jpg")top left repeat;}
#contact_banner li:nth-child(2) .box {background: url("img/contact_banner/box_bg02.jpg")top left repeat; border-color: #371600;}
#contact_banner li .btn {box-sizing: border-box; width: 370px; height: 60px; font-size: 16px; line-height: 1; position: absolute; left: 0; right: 0; bottom: -30px; margin: auto; background-color: #fff; transition-duration: .5s; border: 2px solid;}
#contact_banner li:nth-child(1) .btn {border-color: #002f15; color: #002f15;}
#contact_banner li:nth-child(2) .btn {border-color: #371600; color: #371600;}
#contact_banner li:nth-child(1) .btn:hover {background: #002f15; color: #fff;}
#contact_banner li:nth-child(2) .btn:hover {background: #371600; color: #fff;}
#contact_banner li .btn::before,#contact_banner li .btn::after {content: ''; position: absolute; display: block; width: 10px; height: 1px; right: 20px; margin: auto; background: #002f15; transition-duration: .5s;}
#contact_banner li .btn::before {transform: rotate(45deg); top: 24px;}
#contact_banner li .btn::after {transform: rotate(-45deg); bottom: 24px;}
#contact_banner li:nth-child(2) .btn::before,#contact_banner li:nth-child(2) .btn::after {background: #371600;}
#contact_banner li .btn:hover::before,#contact_banner li .btn:hover::after {background: #fff;}


#contact_banner .box .txt01 {font-size: 20px; line-height: 1.5;}
#contact_banner .box .big {font-size: 35px; line-height: 1; margin-top: 10px;}
#contact_banner li .pc_btn {display: flex;}
#contact_banner li .sp_btn {display: none;}

/*contact*/
#contact .progress {margin: 0 auto 50px;}
.wpcf7 form .wpcf7-response-output {display: none;}

.wpcf7 form.invalid .wpcf7-response-output {border: none; font-size: 16px; color: #ff0000; text-align: center;}

/*about*/
#about .main {box-sizing: border-box; background: url("img/about/main_bg.jpg")top center no-repeat; border-bottom: 10px solid #009135; padding: 50px 100px 70px; position: relative;}
#about .main::before,#about .main::after {content: ''; position: absolute; bottom: 20px;}
#about .main::before {background: url("img/about/main_icon01.svg")no-repeat; width: 199px; height: 273px; left: 50px;}
#about .main::after {background: url("img/about/main_icon02.svg")no-repeat; width: 230px; height: 272px; right: 50px; letter-spacing: 5px;}
#about .main .txt01 {font-size: 25px; line-height: 1; display: inline-block; background: #5c2806; padding: 2px 20px;}
#about .main .txt02 {font-size: 45px; line-height: 1; box-sizing: border-box; padding-bottom: 30px; border-bottom: 1px solid #000; margin: 10px auto 20px;}
#about .main .txt03 {font-size: 60px; line-height: 1.1;}
#about .main .txt03 span {font-size: 90px;}
#about .box01 h2 {font-size: 30px; padding: 20px 0; background: #004e23; position: relative; overflow: hidden;}
#about .box01 h2::before {content: ''; position: absolute; width: 500px; height: 100px; transform: rotate(18deg); background: #009135; left: -170px; top: 10px;}
#about .box01 h2::after {content: ''; position: absolute; width: 500px; height: 100px; transform: rotate(-18deg); background: #009135; right: -170; top: 10px;}
#about .box01 .inner {font-size: 14px; line-height: 2.3; margin-top: 50px;}
#about .box01 .img01 {margin-right: 20px;}
#about .box01 .img02 {margin-left: 20px;}
#about .bnr01 {box-sizing: border-box; width: 100%; height: 350px; position: relative; background: url("img/about/bnr01_bg02.svg")top right no-repeat,url("img/about/bnr01_bg01.jpg")center center no-repeat; border: 10px solid rgba(255,255,255,.75); padding-left: 40px; margin-top: 50px;}
#about .bnr01::after {content: ''; position: absolute; background: url("img/about/bnr01_icon.svg")no-repeat; width: 591px; height: 381px; right: -5px; bottom: 10px;}
#about .bnr01 p {font-size: 50px; line-height: 1; box-sizing: border-box; border-bottom: 5px solid #fff; padding-bottom: 20px; margin-bottom: 10px; display: table;}
#about .bnr01 p:nth-child(3) {margin: 0;}
#about .bnr01 p:nth-child(3) span {font-size: 70px;}
#about .box02 h2 {box-sizing: border-box; border-top: 10px solid #000; padding: 50px 0 100px; background: url("img/about/box02_title_bg.jpg")top left repeat; position: relative; border: 3px solid #c9c9c9;}
#about .box02 h2::after {content: ''; position: absolute; background: url("img/about/box02_title_icon.svg")no-repeat; width: 259px; height: 196px; right: 60px; top: 40px;}
#about .box02 h2 img {position: relative; z-index: 10;}
#about .box02 .link_box {margin-top: -50px; position: relative; z-index: 10; padding: 0 50px;}
#about .box02 .title {box-sizing: border-box; background: url("img/about/con01_title_bg.jpg")top left repeat; height: 90px; padding: 0 30px; overflow: hidden; font-size: 50px; line-height: 1; position: relative;}
#about .box02 .title::after {content: ''; position: absolute; background: url("img/about/no_bg01.svg")no-repeat; width: 219px; height: 90px; top: 0; bottom: 0; right: 0; margin: auto;}
#about .box02 .no {font-size: 115px; position: relative; z-index: 10;}
#about .box02 h3 {font-size: 45px; margin: 50px auto;}
#about .box02 .inner {font-size: 14px; line-height: 2.3;}
#about .box02 .inner img {margin-right: 50px;}
#about .box02 .bnr02 {box-sizing: border-box; border: 3px solid #009135; border-top: none; background: url("img/about/bnr02_bg.jpg")center bottom no-repeat; padding-bottom: 35px; position: relative; margin-top: 50px;}
#about .box02 .bnr02::before,#about .box02 .bnr02::after {content: ''; position: absolute; top: -40px;}
#about .box02 .bnr02::before {background: url("img/about/bnr02_icon01.svg")no-repeat; width: 175px; height: 216px; left: 50px;}
#about .box02 .bnr02::after {background: url("img/about/bnr02_icon02.svg")no-repeat; width: 152px; height: 216px; right: 50px;}
#about .box02 .over {box-sizing: border-box; padding: 15px 0; font-size: 40px; line-height: 1; margin-bottom: 50px; background: #009135;}
#about .box02 .u_txt01 {font-size: 40px; line-height: 1;}
#about .box02 .u_txt02 {font-size: 50px;}
#about .box02 .u_txt02 span {font-size: 70px;}
#about .box02 .con02 .title {background: url("img/about/con02_title_bg.jpg")top left repeat;}
#about .box02 .con02 .title::after {background: url("img/about/no_bg02.svg")no-repeat;}
#about .box02 .con02 .bnr02 {border-color: #5c2806;}
#about .box02 .con02 .over {background: #5c2806;}
#about .box02 .con03 .title {background: url("img/about/con03_title_bg.jpg")top left repeat;}
#about .box02 .con03 .title::after {background: url("img/about/no_bg03.svg")no-repeat;}
#about .box02 .con03 .bnr02 {border-color: #df7920;}
#about .box02 .con03 .over {background: #df7920;}
#about .bnr03 {box-sizing: border-box; border: 3px solid #009135; padding: 10px; position: relative; height: 400px; background: url("img/about/bnr03_bg.jpg")center center no-repeat;}
#about .bnr03::before,#about .bnr03::after {content: ''; position: absolute; background: 009135; width: 200px; height: 200px; transform: rotate(45deg);}
#about .bnr03::before {top: 0; left: 0;}
#about .bnr03::after {bottom: 0; right: 0;}
#about .bnr03 .txt_box {width: 100%; height: 100%; border: 1px solid #fff; position: relative; z-index: 10;}
#about .bnr03 .txt01 {font-size: 40px; line-height: 1; display: inline-block; background: #5c2806; padding: 5px 20px;}
#about .bnr03 .txt02 {font-size: 50px;line-height: 1.1; margin-top: 10px;}
#about .bnr03 .txt02 span {font-size: 70px;}

/*flow*/
#flow .main {box-sizing: border-box; background: url("img/flow/main_bg.jpg")center center no-repeat; height: 400px; padding: 10px; position: relative;}
#flow .main::after {content: ''; position: absolute; background: url("img/flow/main_icon.svg")no-repeat; width: 376px; height: 384px; bottom: 10px; right: 30px;}
#flow .main .txt_box {height: 100%; width: 100%; box-sizing: border-box; border: 1px solid #fff; padding-left: 20px;}
#flow .main .txt01,#flow .main .txt02 {display: inline-block; background: #009135; font-size: 30px; line-height: 1; padding: 5px 20px;}
#flow .main .txt02 {margin: 20px auto 10px 60px;}
#flow .main .txt03 {font-size: 70px; line-height: 1.3; margin-left: 20px;}
#flow .main .txt03 span {padding-left: 140px;}
#flow .box01 {background: url("img/flow/box01_bg01.svg")center left no-repeat,url("img/flow/box01_bg02.jpg")top left repeat; box-sizing: border-box; border: 3px solid #c9c9c9; height: 250px;}
#flow .box01 p {font-size: 60px; line-height: 1.3; display: inline; box-sizing: border-box; border-bottom: 1px solid #000;}
#flow .box01 img {margin-right: 50px;}
#flow .box02 {background: #f6f6f6;padding-right: 40px; position: relative;}
#flow .box02 img {margin-right: 40px;}
#flow .box02 h2 {font-size: 35px; margin-bottom: 35px;}
#flow .box02 .txt {font-size: 14px; line-height: 1.7;}
#flow .box02 .btn {width: 400px; height: 50px; background: #009135; font-size: 18px; position: relative; margin: 35px auto 0;}
#flow .box02 .btn::before,#flow .box02 .btn::after {content: ''; position: absolute; display: block; width: 10px; height: 1px; right: 20px; margin: auto; background: #fff; transition-duration: .5s;}
#flow .box02 .btn::before {transform: rotate(45deg); top: 21px;}
#flow .box02 .btn::after {transform: rotate(-45deg); bottom: 21px;}
#flow .bdr01::after,#flow .bdr02::after {content: ''; position: absolute; width: 20px; height: 80px; background: #009135; bottom: -80px;}
#flow .bdr01::after {left: 460px;}
#flow .bdr02::after {left: 160px;}
#flow .bnr {box-sizing: border-box; border: 3px solid #009135; height: 400px; background: url("img/flow/bnr_bg.jpg")center center no-repeat; position: relative; padding-right: 50px;}
#flow .bnr::before {content: ''; position: absolute; background: url("img/flow/bnr_icon.svg")no-repeat; width: 452px; height: 392px; bottom: 0; left: 50px;}
#flow .bnr .txt01 {font-size: 30px; background: #009135; padding: 5px 20px; line-height: 1; transform: skewX(-10deg); margin-bottom: 15px;}
#flow .bnr .txt02 {font-size: 60px; line-height: 1.2;}
#flow .bnr .txt02 span {font-size: 90px;}

/*blog*/
#blog .item {box-sizing: border-box; border-bottom: 1px dotted #000; padding: 20px 0 15px;}
#blog .item:nth-child(1) {padding-top: 0;}
#blog .time {font-size: 16px; line-height: 1; margin-right: 20px;}
#blog .time span {margin-right: 10px;}
#blog h2 {font-size: 16px;}
#blog .text {font-size: 14px; line-height: 1.7; margin-top: 10px;}
#blog_single .box01 {box-sizing: border-box; border: 3px solid #eee; background: url("img/blog/bg.jpg")top left repeat; padding: 50px; margin: 50px auto;}
#blog_single .time {font-size: 18px; line-height: 1; padding: 5px 20px 5px 0; margin-right: 20px; border-right: 1px solid #000;}
#blog_single .tag {box-sizing: border-box; background: #5c2806; width: 58px; height: 20px; font-size: 16px; line-height: 1;}
#blog_single .tag02 {background: #009135;}
#blog_single h2 {font-size: 16px; line-height: 1.5; margin: 30px auto;}
#blog_single .text {font-size: 16px; line-height: 1.7;}

/*contact*/
#contact .txt01 {font-size: 35px; line-height: 1; margin: 50px auto;}
#contact .txt02 {font-size: 35px; line-height: 1; margin-bottom: 50px;}
#contact table {width: 100%; box-sizing: border-box; border: 2px solid #d2d2d2;}
#contact table th,#contact table td {padding: 10px; box-sizing: border-box; font-size: 16px; font-weight: 500; border-bottom: 2px solid #d2d2d2; background: #fff;}
#contact table th{vertical-align: middle; width: 297px; position: relative; background: #009135; font-weight: 500; border-bottom: 2px solid #fff; color: #fff;}
#contact table input,#contact01 table textarea,#contact table td p {width: 100%; box-sizing: border-box; padding: 5px 10px; font-size: 16px; outline: none; min-height: 46px; font-weight: bold; border: 2px solid #d2d2d2;}
#contact table td p {line-height: 1; display: flex; align-items: center;}
#contact table textarea {font: inherit; font-size: 16px; width: 100%; box-sizing: border-box; border: 2px solid #d2d2d2; padding: 10px; outline: none;}
#contact .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;}
#contact .essential {color: #009135; 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;}
#contact table amount_box span:nth-child(1) input {border-right: none;}
#contact .text01 {font-size: 25px; line-height: 1; margin-bottom: 30px;}
#contact .text_area textarea {height: 120px;}
#contact .bdrn {border-bottom: none;}

/*consultation*/
#consultation .main {box-sizing: border-box; background: url("img/consultation/main_bg.jpg")center center no-repeat; height: 400px; position: relative; line-height: 1; border: 10px solid rgba(255,255,255,.65)}
#consultation .main::before,#consultation .main::after {content: ''; position: absolute; bottom: 80px;}
#consultation .main::before {background: url("img/consultation/main_icon01.svg")no-repeat; width: 228px; height: 262px; left: 50px;}
#consultation .main::after {background: url("img/consultation/main_icon02.svg")no-repeat; width: 198px; height: 261px; right: 50px;}
#consultation .main .txt01 {display: inline-block; background: #009135; padding: 5px 20px; box-sizing: border-box; font-size: 20px; border-radius: 16.5px; margin-bottom: 10px;}
#consultation .main .txt02 {font-size: 90px;}
#consultation .main .bdr {content: ''; display: block; width: 200px; height: 5px; background: #fff; margin: 30px auto;}
#consultation .main .txt03 {font-size: 60px;}
#consultation .box01 {box-sizing: border-box; background: url("img/consultation/box01_bg.jpg")top left repeat; border: 3px solid #eee; padding: 50px 0; position: relative;}
#consultation .box01::before {content: ''; position: absolute; background: url("img/consultation/box01_icon.svg")no-repeat; width: 373px; height: 356px; left: 0; top: 10px;}
#consultation .box01 h2 {font-size: 40px;}
#consultation .box01 .bdr {content: ''; display: block; width: 100px; height: 3px; background: #000; margin: 50px auto 40px;}
#consultation .box01 p {font-size: 16px; line-height: 2.3;}
#consultation .box02 h2 {font-size: 40px; padding-right: 90px; position: relative;}
#consultation .box02 h2 p {position: relative; z-index: 10;}
#consultation .box02 h2::before {content: ''; position: absolute; background: url("img/consultation/box02_icon.svg")no-repeat; width: 1182px; height: 183px; left: 0; top: -45px;}
#consultation .box02 .inner {font-size: 14px; line-height: 2.3; margin-top: 50px; position: relative; z-index: 10;}
#consultation .box02 .img01 {margin-right: 20px;}
#consultation .box02 .img02 {margin-left: 20px;}
#consultation .bnr01 {box-sizing: border-box; background: url("img/consultation/bnr01_bg01.svg")center right no-repeat,url("img/consultation/bnr01_bg02.jpg")center left no-repeat; border: 3px solid #009135; position: relative; height: 350px; padding-left: 40px; width: 100%;}
#consultation .bnr01::after {content: ''; position: absolute; background: url("img/consultation/bnr01_icon.svg")no-repeat; width: 225px; height: 309px; right: 50px; bottom: 20px; margin-top: 10px;}
#consultation .bnr01 .txt01 {font-size: 25px; line-height: 1; padding: 5px 20px; background: #5c2806; display: inline-block; margin-bottom: 10px;}
#consultation .bnr01 .txt02 {font-size: 60px; line-height: 1.3;}
#consultation .box03 h2 {font-size: 60px; line-height: 1; background: url("img/consultation/box03_title_bg01.svg")left bottom no-repeat,url("img/consultation/box03_title_bg02.svg")right top no-repeat,url("img/consultation/box03_title_bg03.jpg")top left repeat; box-sizing: border-box; height: 218px; border-bottom: 5px solid #000; position: relative; padding-left: 250px;}
#consultation .box03 h2::before {content: ''; position: absolute; background: url("img/consultation/box03_title_icon.svg")no-repeat; width: 434px; height: 257px; left: 20px; bottom: 30px;}
#consultation .box03 h2 .big {font-size: 100px;}
#consultation .box03 .title_box {height: 81px; background: url("img/consultation/no_bg01.svg")center left no-repeat; background-color: #009135; padding-left: 20px;}
#consultation .box03 .no {font-size: 74px; line-height: 1; margin-right: 70px;}
#consultation .box03 h3 {font-size: 40px;}
#consultation .box03 .inner {font-size: 14px; line-height: 2.3; margin: 50px auto;}
#consultation .box03 .inner img {margin-right: 20px;}
#consultation .box03 .under {box-sizing: border-box; border: 3px solid #009135; background: url("img/consultation/box03_under_bg01.jpg")top left repeat; position: relative; padding-left: 20px;}
#consultation .box03 .under::after {content: ''; position: absolute; background: url("img/consultation/box03_under_icon.svg")no-repeat; width: 120px; height: 164px; right: 20px; bottom: 10px;}
#consultation .box03 .txt01 {display: inline-block; background: #fff; padding: 5px 10px; font-size: 19px; line-height: 1; margin-bottom: 10px;}
#consultation .box03 .txt02 {font-size: 50px; line-height: 1.2;}
#consultation .box03 .con02 .title_box {background: url("img/consultation/no_bg02.svg")center left no-repeat; background-color: #5c2806;}
#consultation .box03 .con02 .under {border-color: #5c2806; background: url("img/consultation/box03_under_bg02.jpg")top left repeat;}
#consultation .bnr02 {box-sizing: border-box; background: url("img/consultation/bnr02_bg01.svg")bottom right no-repeat,url("img/consultation/bnr02_bg02.jpg")center center no-repeat; border: 3px solid #dcdcdc; position: relative; height: 335px; padding-left: 35px;}
#consultation .bnr02::after {content: ""; position: absolute; right: 90px; bottom: 25px; background: url("img/consultation/bnr02_icon.svg")no-repeat; width: 316px; height: 304px;}
#consultation .bnr02 .txt01 {font-size: 30px; display: table; line-height: 1; background: #5c2806; padding: 5px 10px; margin-bottom: 10px;}
#consultation .bnr02 .txt02 {font-size: 60px; line-height: 1.3;}

/*company*/
#company h2 {font-size: 50px; box-sizing: border-box; border-bottom: 2px solid #000; padding-bottom: 20px;}
#company table {box-sizing: border-box; border: 1px solid #aaa; width: 100%;}
#company th,#company td {box-sizing: border-box; border-top: 1px solid #ccc; font-size: 16px; line-height: 2; padding: 5px 20px; font-weight: 500; vertical-align: middle;}
#company th {border-color: #fff; background: #009135; width: 225px; font-weight: 500; color: #fff;}
#company tr:nth-child(1) th,#company tr:nth-child(1) td {border-top: none;}
#company iframe {box-sizing: border-box; width: 100%; height: 450px;}
#company h3 {box-sizing: border-box; border-left: 5px solid #009135; padding-left: 20px; font-size: 30px; margin-bottom: 20px;}
#company .c_box {position: relative;}
#company .c_text {font-size: 30px; line-height: 1; position: absolute; top: 0; bottom: 0; margin: auto; display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 100%; background: rgba(0,0,0,.75);}
#company .table_txt02 {margin-left: 15px;}
#company .history_title {font-size: 18px; font-weight: bold; margin-bottom: 16px;}


/*privacy*/
#privacy .main {box-sizing: border-box; background: url("img/privacy/main_bg.svg")center right no-repeat; background-color: #f4f4f4; height: 350px; width: 100%; padding-left: 50px;}
#privacy .main .txt01 {font-size: 30px; line-height: 1; margin-bottom: 10px;}
#privacy .main .txt02 {font-size: 40px; line-height: 1.3;}
#privacy .main .txt02 span {font-size: 70px;}
#privacy .txt03 {font-size: 16px; line-height: 2.3; margin: 40px auto;}
#privacy .txt04 {font-size: 25px; line-height: 1;}
#privacy .privacy_box p {font-size: 14px; line-height: 1.7; margin-top: 40px; font-weight: 500;}

/*sitemap*/
#sitemap a {box-sizing: border-box; background: #eee; width: 386px; font-size: 16px; line-height: 1; border-left: 5px solid #009135; padding: 10px; margin-right: 20px;}
#sitemap a:nth-child(3n) {margin-right: 0;}
#sitemap a:nth-child(n + 4) {margin-top: 20px;}

















