@charset "UTF-8";
/* CSS Document */
/*--------------------
01.共通
02.ヘッダー
03.フッター
04.
--------------------*/

/*----------
01.共通
----------*/
@font-face {
font-family: 'A-OTF-UDShinMGoPro-Bold';
src:url('../font/A-OTF-UDShinMGoPro-Bold.woff2') format('woff2'),
url('../font/A-OTF-UDShinMGoPro-Bold.woff') format('woff'),
url('../font/A-OTF-UDShinMGoPro-Bold.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
font-weight: normal;
font-style: normal;
}

body{
-webkit-font-smoothing: antialiased;
position: relative;
}

*{
box-sizing: border-box;
}

*:focus {
outline: none;
}

#wrapper{
width: 100%;
overflow: hidden;
font-family: 'Noto Sans JP', sans-serif;
font-size: 14px;
color: #343434;
}

.pc{
display: block;
}

.sp{
display: none;
}

br.sp_550 {
display: none;
}

.contents_in{
max-width: 1080px;
width: 96%;
margin: 0 auto;
}

a{
color: #343434;
}

a:hover{
color: #343434;
}

a:link{
color: #343434;
}

img{
width: 100%;
height: auto;
display: block;
}

.roboto {
font-family: 'Roboto', sans-serif;
font-weight: 400;
}

.h3_title_box {
position: relative;
width: fit-content;
margin: 0 auto 50px 0;
}

.h3_title_box::before {
position: absolute;
content: "";
background: #17AC12;
width: 100%;
height: 0.5px;
bottom: 0;
left: 0;
transform-origin: left top;
transform: scale(0, 1);
transition: transform 2.2s;
}

.h3_title_box.is_draw::before {
transform-origin: left top;
transform: scale(1, 1);
}

.h3_title_box .h3_title_ptn01 {
color: #17AC12;
font-size: 38px;
line-height: 1;
font-weight: 700;
letter-spacing: 1px;
/*border-bottom: solid #17AC12 0.5px;*/
position: relative;
padding: 0 28px 30px 0;
}

.h3_title_box .h3_title_ptn01::after {
position: absolute;
content: "";
background: #17AC12;
width: 6px;
height: 6px;
border-radius: 50%;
bottom: -3px;
left: 0;
transition: 2.2s;
}

.h3_title_box.is_draw .h3_title_ptn01::after {
left: 100%;
}

.h3_title_box .h3_title_ptn01 .title_en {
color: #E07000;
font-size: 14px;
line-height: 1;
font-weight: 400;
letter-spacing: 0.5px;
margin-left: 20px;
font-family: 'Roboto', sans-serif;
}
/*
.h3_title_ptn01 {
color: #17AC12;
font-size: 38px;
line-height: 1;
font-weight: 700;
letter-spacing: 1px;
border-bottom: solid #17AC12 0.5px;
position: relative;
margin-bottom: 50px;
padding: 0 28px 30px 0;
width: fit-content;
}

.h3_title_ptn01::after {
position: absolute;
content: "";
background: #17AC12;
width: 6px;
height: 6px;
border-radius: 50%;
bottom: -3px;
right: 0;
}

.h3_title_ptn01 .title_en {
color: #E07000;
font-size: 14px;
line-height: 1;
font-weight: 400;
letter-spacing: 0.5px;
margin-left: 20px;
font-family: 'Roboto', sans-serif;
}
*/

.btn_ptn01 {
max-width: 282px;
width: 100%;
}

.btn_ptn01 a {
font-size: 20px;
line-height: 1;
font-weight: 700;
color: #17AC12;
display: block;
background: #FFFFFF;
border: solid #17AC12 2px;
border-radius: 4px;
text-align: center;
padding: 16px 0 17px;
position: relative;
}

.btn_ptn01 a::after {
position: absolute;
content: "";
background: url("../img/icon_arrow01.png")no-repeat center/contain;
width: 7px;
height: 12px;
top: 50%;
transform: translateY(-50%);
right: 24px;
transition: 0.3s;
}

.btn_ptn01 a:hover::after {
right: 14px;
}

.btn_ptn02 {
max-width: 275px;
width: 100%;
height: 62px;
position: relative;
}

.btn_ptn02::before {
position: absolute;
content: "";
background: #E07000;
border: solid #17AC12 2px;
border-radius: 4px;
width: calc(100% - 12px);
height: calc(100% - 12px);
bottom: 0;
right: 0;
}

.btn_ptn02 a {
font-size: 19px;
line-height: 1;
font-weight: 700;
color: #17AC12;
display: block;
width: calc(100% - 8px);
background: #FFFFFF;
border: solid #17AC12 2px;
border-radius: 4px;
text-align: center;
padding: 15px 0 16px;
position: relative;
transition: 0.3s;
}

.btn_ptn02 a:hover {
transform: translateX(8px)translateY(8px);
}

.under_page {
padding-top: 84px;
}

.under_page .under_title_area {
padding: 145px 0 0;
position: relative;
}

.under_page .under_title_area::before {
position: absolute;
content: "";
background: url("../img/bg_line01.png")no-repeat center/contain;
width: 390px;
height: 243px;
top: 56px;
left: -220px;
z-index: -1;
}

.under_page .under_title_area::after {
position: absolute;
content: "";
background: url("../img/bg_line02.png")no-repeat center/contain;
width: 390px;
height: 243px;
bottom: 10px;
right: -250px;
z-index: -2;
}

.under_page .under_title_area .h2_title_ptn01 {
color: #17AC12;
font-size: 50px;
line-height: 67px;
font-weight: 700;
letter-spacing: 0.3px;
position: relative;
padding: 0 28px 41px 0;
max-width: 800px;
width: 100%;
}

.under_page .under_title_area .h2_title_ptn01::before {
position: absolute;
content: "";
background: #F8F6ED;
max-width: 900px;
width: calc(100% + 100px);
height: 50px;
bottom: 15px;
left: -100px;
z-index: -1;
border-radius: 0 25px 25px 0;
}

.under_page .under_title_area .h2_title_ptn01::after {
position: absolute;
content: "";
background: url("../../img/company/h2_title_img.png")no-repeat center/contain;
width: 143px;
height: 165px;
bottom: 28px;
right: 57px;
}

.pankuzu_area {
padding-top: 15px;
}

.pankuzu_area .pankuzu_list {
display: flex;
align-items: center;
justify-content: flex-start;
flex-wrap: wrap;
}

.pankuzu_area .pankuzu_list li {
color: #5C5C5C;
font-size: 14px;
line-height: 1;
padding-right: 23px;
position: relative;
margin-bottom: 3px;
}

.pankuzu_area .pankuzu_list li::after {
position: absolute;
content: "";
background: #5C5C5C;
width: 1px;
height: 100%;
transform: rotate(30deg);
top: 0;
right: 10px;
border-radius: 0.5px;
}

.pankuzu_area .pankuzu_list li:last-child::after {
display: none;
}

.pankuzu_area .pankuzu_list li a {
color: #5C5C5C;
}

#contact_area {
background: #F2F6F1;
padding: 80px 0;
}

#contact_area .contents_in {
position: relative;
}

#contact_area .lead_text {
font-size: 22px;
line-height: 40px;
font-weight: 500;
color: #429640;
margin-bottom: 62px;
}

#contact_area .cnt_g {
display: flex;
align-items: stretch;
justify-content: space-between;
background: #FFFFFF;
border: solid #17AC12 2px;
border-radius: 10px;
padding: 38px 40px;
}

#contact_area .cnt_g .h4_title_box {
background: #F2F6F1;
border-radius: 5px;
padding: 17px 0;
margin-bottom: 23px;
}

#contact_area .cnt_g .h4_title_box .h4_title {
color: #000000;
font-size: 20px;
line-height: 1;
font-weight: 500;
width: fit-content;
margin: 0 auto;
position: relative;
padding-left: 62px;
}

#contact_area .cnt_g .h4_title_box .h4_title::before {
position: absolute;
content: "";
bottom: -17px;
left: 0;
}

#contact_area .cnt_g .direct_box .h4_title_box .h4_title::before {
background: url("../img/contact_icon01.png")no-repeat center/contain;
width: 48px;
height: 66px;
}

#contact_area .cnt_g .direct_box {
max-width: 606px;
width: 100%;
border-right: solid #17AC12 1px;
padding-right: 34px;
position: relative;
}

#contact_area .cnt_g .direct_box::before {
position: absolute;
content: "";
background: #17AC12;
width: 6px;
height: 6px;
border-radius: 50%;
top: 0;
right: -3.5px;
}

#contact_area .cnt_g .direct_box::after {
position: absolute;
content: "";
background: #17AC12;
width: 6px;
height: 6px;
border-radius: 50%;
bottom: 0;
right: -3.5px;
}

#contact_area .cnt_g .direct_box .btn_box {
display: flex;
align-items: stretch;
justify-content: space-between;
}

#contact_area .cnt_g .direct_box .btn_box .btn_ptn02 {
width: 49%;
}

#contact_area .cnt_g .tel_box {
max-width: 394px;
width: 100%;
padding-left: 34px;
}

#contact_area .cnt_g .tel_box .h4_title_box .h4_title::before {
background: url("../img/contact_icon02.png")no-repeat center/contain;
width: 43px;
height: 64px;
}

#contact_area .cnt_g .tel_box a {
font-size: 40px;
font-weight: 700;
color: #17AC12;
display: block;
width: fit-content;
margin: 0 auto;
}

#contact_area .cnt_g .tel_box .text {
font-size: 15px;
line-height: 35px;
color: #5C5C5C;
text-align: center;
}

#contact_area .contents_in .bg_img {
position: absolute;
max-width: 427px;
top: 4px;
right: 34px;
}

/*----------
02.ヘッダー
----------*/
header {
box-shadow: 0px 0px 10px rgba(23, 172, 28, .1);
position: fixed;
top: 0;
left: 0;
width: 100%;
background: #FFFFFF;
z-index: 10;
}

header .contents_in {
max-width: 1180px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 15px 0;
}

header h1 {
max-width: 217px;
width: 100%;
}

header h1 span {
display: block;
font-size: 12px;
font-weight: 500;
letter-spacing: 0;
}

header h1 a:link {
color: #17AC12;
}

header .open_btn {
display: none;
}

header .header_nav {

width: 100%;
}

header .nav_list {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 697px;
margin: 0 0 0 auto;
}

header .nav_list li a {
color: #17AC12;
font-size: 18px;
line-height: 24px;
font-weight: 700;
letter-spacing: 0.8px;
position: relative;
padding-bottom: 6px;
}

header .nav_list li a::after {
position: absolute;
content: "";
background: #17AC12;
width: 100%;
height: 1.5px;
bottom: 0;
left: 0;
transform-origin: left top;
transform: scale(0, 1);
transition: transform .3s;
}

header .nav_list li a:hover::after {
transform-origin: left top;
transform: scale(1, 1);
} 


/*----------
03.フッター
----------*/
footer .cnt_g {
background: #2B6247;
padding: 80px 0;
color: #FFFFFF;
}

footer .contents_in {
display: flex;
align-items: flex-start;
justify-content: space-between;
}

footer .cnt_left {
margin-top: 15px;
max-width: 228px;
width: 28%;
}

footer .cnt_left .logo {
max-width: 288px;
margin-bottom: 30px;
}

footer .cnt_left .text {
font-size: 14px;
line-height: 24px;
color: #EAEAEA;
}

footer .cnt_left .text a {
color: #EAEAEA;
}

footer .cnt_right {
display: flex;
align-items: flex-start;
justify-content: space-between;
max-width: 587px;
width: 60%;
}

footer .cnt_right .nav_list {
max-width: 258px;
width: 46%;
}

footer .cnt_right .nav_list li {
font-size: 16px;
line-height: 24px;
font-weight: 500;
margin-bottom: 38px;
}

footer .cnt_right .nav_list li a {
display: block;
color: #FFFFFF;
position: relative;
padding: 0 0 8px 0;
}

footer .cnt_right .nav_list li a::before {
position: absolute;
content: "";
background: rgba(255,255,255,0.6);
width: calc(100% - 6px);
height: 1px;
bottom: 0;
left: 0;
transition: 0.3s;
}

footer .cnt_right .nav_list li a:hover::before {
width: calc(100% + 4px);
}

footer .cnt_right .nav_list li a::after {
position: absolute;
content: "";
background: rgba(255,255,255,0.6);
width: 6px;
height: 6px;
right: 0;
bottom: -2.5px;
border-radius: 50%;
transition: 0.3s;
}

footer .cnt_right .nav_list li a:hover::after {
right: -10px;
}

footer .copyright {
font-size: 14px;
line-height: 20px;
letter-spacing: 0.5px;
color: #888888;
text-align: center;
padding: 13px 0 12px;
}

@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/
/*.h3_title_ptn01 {
font-size: 30px;
line-height: 1;
font-weight: 700;
letter-spacing: 1px;
border-bottom: solid #17AC12 0.5px;
position: relative;
margin-bottom: 40px;
padding: 0 23px 25px 0;
width: fit-content;
}

.h3_title_ptn01::after {
position: absolute;
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
bottom: -3px;
right: 0;
}

.h3_title_ptn01 .title_en {
font-size: 13px;
line-height: 1;
font-weight: 400;
letter-spacing: 0.5px;
margin-left: 20px;
}
*/

.h3_title_box {
margin: 0 auto 40px 0;
}

.h3_title_box::before {
transition: transform 2.0s;
}

.h3_title_box .h3_title_ptn01 {
font-size: 30px;
line-height: 1;
font-weight: 700;
letter-spacing: 1px;
/*border-bottom: solid #17AC12 0.5px;*/
position: relative;
padding: 0 23px 25px 0;
width: fit-content;
}

.h3_title_box .h3_title_ptn01::after {
position: absolute;
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
bottom: -3px;
right: 0;
transition: 2.0s;
}

.h3_title_box .h3_title_ptn01 .title_en {
font-size: 13px;
line-height: 1;
font-weight: 400;
letter-spacing: 0.5px;
margin-left: 20px;
}

.btn_ptn02 {
max-width: 275px;
width: 100%;
height: 58px;
position: relative;
}

.btn_ptn02::before {
position: absolute;
content: "";
background: #E07000;
border: solid #17AC12 2px;
border-radius: 4px;
width: calc(100% - 11px);
height: calc(100% - 11px);
bottom: 0;
right: 0;
}

.btn_ptn02 a {
font-size: 16px;
line-height: 1;
font-weight: 700;
color: #17AC12;
display: block;
width: calc(100% - 7px);
background: #FFFFFF;
border: solid #17AC12 2px;
border-radius: 4px;
text-align: center;
padding: 15px 0 16px;
position: relative;
transition: 0.3s;
}

.btn_ptn02 a:hover {
transform: translateX(7px)translateY(7px);
}

.under_page {
padding-top: 65px;
}

.under_page .under_title_area {
padding: 120px 0 0;
position: relative;
}

.under_page .under_title_area::before {
position: absolute;
content: "";
width: 390px;
height: 243px;
top: 56px;
left: -280px;
z-index: -1;
}

.under_page .under_title_area::after {
position: absolute;
content: "";
width: 390px;
height: 243px;
bottom: 0;
right: -280px;
z-index: -2;
}

.under_page .under_title_area .h2_title_ptn01 {
font-size: 44px;
line-height: 1;
font-weight: 700;
letter-spacing: 0.3px;
position: relative;
padding: 0 28px 30px 0;
max-width: 800px;
width: 82%;
}

.under_page .under_title_area .h2_title_ptn01::before {
position: absolute;
content: "";
max-width: 900px;
width: calc(100% + 100px);
height: 44px;
bottom: 0;
left: -100px;
z-index: -1;
border-radius: 0 25px 25px 0;
}

.under_page .under_title_area .h2_title_ptn01::after {
position: absolute;
content: "";
width: 120px;
height: 140px;
bottom: 10px;
right: 57px;
}

#contact_area {
padding: 80px 0;
}

#contact_area .lead_text {
font-size: 18px;
line-height: 30px;
font-weight: 500;
color: #429640;
margin-bottom: 62px;

}

#contact_area .cnt_g {
display: flex;
align-items: stretch;
justify-content: space-between;
background: #FFFFFF;
border: solid #17AC12 2px;
border-radius: 10px;
padding: 30px 20px;
}

#contact_area .cnt_g .h4_title_box {
background: #F2F6F1;
border-radius: 5px;
padding: 15px 0;
margin-bottom: 18px;
}

#contact_area .cnt_g .h4_title_box .h4_title {
color: #000000;
font-size: 16px;
line-height: 1;
font-weight: 500;
width: fit-content;
margin: 0 auto;
position: relative;
padding-left: 47px;
}

#contact_area .cnt_g .h4_title_box .h4_title::before {
position: absolute;
content: "";
bottom: -17px;
left: 0;
}

#contact_area .cnt_g .direct_box .h4_title_box .h4_title::before {
background: url("../img/contact_icon01.png")no-repeat center/contain;
width: 40px;
height: 58px;
}

#contact_area .cnt_g .direct_box {
max-width: 606px;
width: 63%;
border-right: solid #17AC12 1px;
padding-right: 20px;
}

#contact_area .cnt_g .direct_box .btn_box {
display: flex;
align-items: stretch;
justify-content: space-between;
}

#contact_area .cnt_g .direct_box .btn_box .btn_ptn02 {
width: 49%;
}

#contact_area .cnt_g .tel_box {
max-width: 394px;
width: 37%;
padding-left: 20px;
}

#contact_area .cnt_g .tel_box .h4_title_box .h4_title::before {
background: url("../img/contact_icon02.png")no-repeat center/contain;
width: 35px;
height: 57px;
}

#contact_area .cnt_g .tel_box a {
font-size: 30px;
font-weight: 700;
display: block;
width: fit-content;
margin: 0 auto;
}

#contact_area .cnt_g .tel_box .text {
font-size: 14px;
line-height: 30px;
text-align: center;
}

#contact_area .contents_in .bg_img {
position: absolute;
max-width: 377px;
width: 40%;
top: 13px;
right: 10px;
}


/*----------
02.
----------*/

/*----------
02.ヘッダー
----------*/
header .contents_in {
padding: 10px 0;
}

header h1 {
max-width: 180px;
width: 100%;
}

header .open_btn {
display: block;
position: absolute;
width: 26px;
height: 20px;
top: 22px;
right: 20px;
z-index: 10;
}

header .open_btn span {
position: absolute;
background: #17AC12;
width: 100%;
height: 2px;
left: 0;
transition: 0.3s;
}

header .open_btn span:first-child {
top: 0;
}

header .open_btn span:nth-child(2) {
top: 9px;
}

header .open_btn span:nth-child(3) {
top: 18px;
}

header .open_btn.active {
width: 26px;
height: 20px;
}

header .open_btn.active span {
position: absolute;
background: #17AC12;
width: 100%;
height: 2px;
left: 0;
}

header .open_btn.active span:first-child {
top: 10px;
transform: rotate(45deg);
}

header .open_btn.active span:nth-child(2) {
display: none;
}

header .open_btn.active span:nth-child(3) {
top: 10px;
transform: rotate(-45deg);
}

header .header_nav {
position: absolute;
top: 0;
left: 0;
background: #FFFFFF;
display: none;
width: 100%;
height: 100vh;
padding: 100px 20px 0;
z-index: 9;
}

header .header_nav.active {
display: block;
}

header .nav_list {
display: block;
max-width: 470px;
padding: 0 20px;
margin: 0 auto;
}

header .nav_list li {
margin-bottom: 35px;
}

header .nav_list li a {
font-size: 16px;
display: block;
position: relative;
padding-bottom: 8px;
margin-right: 6px;
}

header .nav_list li a::before {
position: absolute;
content: "";
background: rgba(23,172,18,0.6);
width: calc(100% - 6px);
height: 1px;
left: 0;
bottom: 0;
transition: 0.3s;
}

header .nav_list li a::after {
position: absolute;
content: "";
background: rgba(23,172,18,0.6);
width: 6px;
height: 6px;
right: 0;
bottom: -2.5px;
border-radius: 50%;
transition: 0.3s;
}

header .nav_list li a:hover::before {
width: calc(100% + 4px);
}

header .nav_list li a:hover::after {
right: -10px;
}

/*----------
03.フッター
----------*/

}

@media only screen and (max-width:750px){

/*----------
01.共通
----------*/

.pc{
display: none;
}

.sp{
display: block;
}

.contents_in{
width: calc(100% - 20px - 20px);
}
/*
.h3_title_ptn01 {
font-size: 24px;
line-height: 1;
font-weight: 700;
letter-spacing: 1px;
border-bottom: solid #17AC12 0.5px;
position: relative;
margin-bottom: 40px;
padding: 0 23px 15px 0;
width: fit-content;
}

.h3_title_ptn01::after {
position: absolute;
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
bottom: -3px;
right: 0;
}
*/
.h3_title_box {
margin: 0 auto 30px 0;
}

.h3_title_box::before {
transition: transform 1.8s;
}

.h3_title_box .h3_title_ptn01 {
font-size: 24px;
line-height: 1;
font-weight: 700;
letter-spacing: 1px;
/*border-bottom: solid #17AC12 0.5px;*/
position: relative;
padding: 0 23px 15px 0;
width: fit-content;
}

.h3_title_box .h3_title_ptn01::after {
position: absolute;
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
bottom: -3px;
right: 0;
transition: 1.8s;
}

.btn_ptn01 {
max-width: 250px;
}

.btn_ptn01 a {
font-size: 16px;
line-height: 1;
font-weight: 700;
display: block;
border: solid #17AC12 2px;
border-radius: 4px;
text-align: center;
padding: 14px 0;
position: relative;
}

.btn_ptn01 a::after {
position: absolute;
content: "";
background: url("../img/icon_arrow01.png")no-repeat center/contain;
width: 6px;
height: 11px;
top: 50%;
transform: translateY(-50%);
right: 18px;
transition: 0.3s;
}

.btn_ptn01 a:hover::after {
right: 10px;
}

.btn_ptn02 {
/*max-width: 250px;*/
height: 54px;
position: relative;
}

.btn_ptn02::before {
position: absolute;
content: "";
background: #E07000;
border: solid #17AC12 2px;
border-radius: 4px;
width: calc(100% - 10px);
height: calc(100% - 10px);
bottom: 0;
right: 0;
}

.btn_ptn02 a {
font-size: 15px;
line-height: 1;
font-weight: 700;
color: #17AC12;
display: block;
width: calc(100% - 6px);
background: #FFFFFF;
border: solid #17AC12 2px;
border-radius: 4px;
text-align: center;
padding: 14px 0 15px;
position: relative;
transition: 0.3s;
}

.btn_ptn02 a:hover {
transform: translateX(6px)translateY(6px);
}

.pankuzu_area {
padding-top: 10px;
}

.pankuzu_area .pankuzu_list {
display: flex;
align-items: center;
justify-content: flex-start;
}

.pankuzu_area .pankuzu_list li {
color: #5C5C5C;
font-size: 12px;
line-height: 1;
padding-right: 18px;
position: relative;
}

.pankuzu_area .pankuzu_list li::after {
position: absolute;
content: "";
background: #5C5C5C;
width: 1px;
height: 100%;
transform: rotate(30deg);
top: 0;
right: 8px;
border-radius: 0.5px;
}

.under_page .under_title_area {
padding: 90px 0 0;
position: relative;
}

.under_page .under_title_area::before {
position: absolute;
content: "";
width: 390px;
height: 243px;
top: 45px;
left: -325px;
z-index: -1;
}

.under_page .under_title_area::after {
position: absolute;
content: "";
width: 390px;
height: 243px;
bottom: -15px;
right: -325px;
z-index: -2;
}

.under_page .under_title_area .h2_title_ptn01 {
font-size: 30px;
line-height: 38px;
font-weight: 700;
letter-spacing: 0.3px;
position: relative;
padding: 0 28px 17px 0;
max-width: 800px;
min-width: 290px;
width: 82%;
}

.under_page .under_title_area .h2_title_ptn01::before {
position: absolute;
content: "";
max-width: 900px;
width: calc(100% + 100px);
height: 30px;
bottom: 0;
left: -100px;
z-index: -1;
border-radius: 0 25px 25px 0;
}

.under_page .under_title_area .h2_title_ptn01::after {
position: absolute;
content: "";
width: 90px;
height: 106px;
bottom: 4px;
right: 20px;
}

#contact_area {
padding: 100px 0 60px;
}

#contact_area .lead_text {
font-size: 16px;
line-height: 30px;
font-weight: 500;
color: #429640;
margin-bottom: 30px;
}

#contact_area .cnt_g {
display: block;
border: solid #17AC12 2px;
border-radius: 10px;
padding: 30px 20px;
}

#contact_area .cnt_g .h4_title_box {
background: #F2F6F1;
border-radius: 5px;
padding: 15px 0;
margin-bottom: 18px;
}

#contact_area .cnt_g .h4_title_box .h4_title {
color: #000000;
font-size: 16px;
line-height: 1;
font-weight: 500;
width: fit-content;
margin: 0 auto;
position: relative;
padding-left: 47px;
}

#contact_area .cnt_g .h4_title_box .h4_title::before {
position: absolute;
content: "";
bottom: -17px;
left: 0;
}

#contact_area .cnt_g .direct_box .h4_title_box .h4_title::before {
background: url("../img/contact_icon01.png")no-repeat center/contain;
width: 40px;
height: 58px;
}

#contact_area .cnt_g .direct_box {
max-width: 500px;
width: 100%;
border-right: none;
border-bottom: solid #17AC12 1px;
padding-right: 0;
padding-bottom: 35px;
margin: 0 auto;
}

#contact_area .cnt_g .direct_box::before {
position: absolute;
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
top: inherit;
bottom: -3.5px;
left: -3.5px;
}

#contact_area .cnt_g .direct_box::after {
position: absolute;
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
bottom: -3.5px;
right: -3.5px;
}

#contact_area .cnt_g .direct_box .btn_box {
display: block;
}

#contact_area .cnt_g .direct_box .btn_box .btn_ptn02 {
width: 100%;
margin: 0 auto 10px;
}

#contact_area .cnt_g .direct_box .btn_box .btn_ptn02:last-child {
margin: 0 auto;
}

#contact_area .cnt_g .tel_box {
max-width: 500px;
width: 100%;
padding-left: 0;
padding-top: 35px;
margin: 0 auto;
}

#contact_area .cnt_g .tel_box .h4_title_box .h4_title::before {
background: url("../img/contact_icon02.png")no-repeat center/contain;
width: 35px;
height: 57px;
}

#contact_area .cnt_g .tel_box a {
font-size: 30px;
font-weight: 700;
display: block;
width: fit-content;
margin: 0 auto;
}

#contact_area .cnt_g .tel_box .text {
font-size: 14px;
line-height: 30px;
text-align: center;
}

#contact_area .contents_in .bg_img {
position: absolute;
max-width: 290px;
width: 50%;
top: -80px;
right: 0;
}

/*----------
02.ヘッダー
----------*/


/*----------
03.フッター
----------*/

footer .cnt_g {
padding: 60px 0;
}

footer .contents_in {
display: block;
}

footer .cnt_left {
margin-top: 15px;
max-width: 450px;
width: 100%;
margin: 0 auto 30px;
}

footer .cnt_left .logo {
max-width: 200px;
margin: 0 auto 15px;
}

footer .cnt_left .text {
font-size: 14px;
line-height: 24px;
color: #EAEAEA;
text-align: center;
}

footer .cnt_right {
display: flex;
align-items: flex-start;
justify-content: space-between;
max-width: 450px;
width: 100%;
margin: 0 auto;
}

footer .cnt_right .nav_list {
max-width: 258px;
width: 46%;
}

footer .cnt_right .nav_list li {
font-size: 14px;
line-height: 24px;
font-weight: 500;
margin-bottom: 25px;
}
/*
footer .cnt_right .nav_list li a:hover::before {
width: calc(100% + 8px);
}

footer .cnt_right .nav_list li a:hover::after {
right: -8px;
}
*/
footer .copyright {
font-size: 12px;
line-height: 20px;
letter-spacing: 0.5px;
padding: 10px 0 9px;
}
}


@media only screen and (max-width:550px){
br.sp_550 {
display: block;
}
}
