/* Scss Document */
#keyvisual {
	height: 621px;
	position: relative;
	text-align: center;
	background: url(../img/kv01.jpg) no-repeat center;
}
#keyvisual .k-tt {
	color: #fff;
	font-size: 32px;
	padding-bottom: 62px;
	padding-top: 100px;
	font-weight: 500;
	letter-spacing: 3px;
    text-shadow: #000 1px 0 10px;
}
#keyvisual .k-tt span {
	font-size: 54px;
	display: block;
	line-height: 68px;
	padding-top: 34px;
	font-weight: 600;
	letter-spacing: 2px;
}
#keyvisual .k-item {
	max-width: 460px;
	margin: 0 auto;
}
#keyvisual .k-item ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 51px;
}
#keyvisual .k-item ul li {
	width: 102px;
	height: 102px;
	border: 3px solid #168713;
	text-align: center;
	line-height: 25px;
	display: flex;
	align-items: center;
	border-radius: 50%;
	background-color: #fff;
}
#keyvisual .k-item ul li span {
	font-size: 18px;
	color: #168713;
	font-weight: 600;
	display: block;
	width: 100%;
	text-align: center;
}
#keyvisual .k-item .k-sub {
	font-size: 20px;
	line-height: 26px;
	color: #fff;
	text-shadow: 0 0px 10px white;
	letter-spacing: 2px;
    text-shadow: #000 1px 0 10px;
}

@media only screen and (max-width: 767px) {
#keyvisual {
	height: calc(100vh - 75px);
	background: url(../img/kv01_sp.jpg) no-repeat 50% 47%;
	-webkit-background-size: cover;
	background-size: cover;
}
#keyvisual .k-tt {
	font-size: 5vw;
	padding-bottom: 30vw;
	padding-top: 15vw;
        line-height: 30px;
}
#keyvisual .k-tt span {
	font-size: 7vw;
	line-height: 1.4;
	padding-top: 5vw;
}
#keyvisual .k-item {
	margin: 0 auto;
	position: absolute;
	bottom: 4vw;
	left: 20px;
	right: 20px;
}
#keyvisual .k-item ul {
	max-width: 320px;
	margin: 0px auto 3vw;
}
#keyvisual .k-item ul li {
	width: 74px;
	height: 74px;
	border: 2px solid #168713;
	line-height: 25px;
}
#keyvisual .k-item ul li span {
	font-size: 4vw;
	line-height: 1.6;
}
#keyvisual .k-item .k-sub {
	font-size: 4vw;
	line-height: 1.5;
}
}
.title-c {
	text-align: center;
	font-weight: 500;
}
.title-c p, .title-c h2 {
	line-height: 1;
	font-weight: 600;
}
.title-c p {
	margin-bottom: 19px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.title-c h2 {
	font-size: 32px;
}

.title-d {
	text-align: center;
	font-weight: 500;
    margin-top: 100px;
    margin-bottom: 50px;
}
.title-d p, .title-c h2 {
	line-height: 1;
	font-weight: 600;
}
.title-d p {
	margin-bottom: 19px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.title-d h2 {
	font-size: 32px;
}

.tokucho{
    width: 70%;
    margin: 0 auto;
}

.tokucho p{
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 20px;
}

.tokucho p .tokulist{
    font-size: 20px;
    font-weight: 600;
    color: #168712;
}

.btn-shared a {
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	border: 1px solid #555555;
	padding: 16px 0;
	line-height: 1;
}
.btn-shared a:hover {
	text-decoration: none;
	opacity: .7;
}
@media only screen and (max-width: 767px) {
	

    .title-c p, .title-c h2 {
    }
    
    .title-c p {
        margin-bottom: 3vw;
        font-size: 4vw;
    }
    .title-c h2 {
        font-size: 7.5vw;
        letter-spacing: 0.1em;
    }

    .btn-shared a {
        font-size: 14px;
        padding: 15px 0;
    }
    
    .title-d{
        text-align: left;
    }
    
    .title-d p{
        margin-bottom: 2px;
    }
    
    .title-d h2{
        line-height: 40px;
    }

    .tokucho{
        width: 90%;
        margin: 0 auto;
    }
    .tokucho p{
        font-size: 16px;
        line-height: 34px;
    }
    
}


.flownum dt {
	font-size: 26px;
	font-weight: 600;
	line-height: 34px;
	display: block;
	padding-left: 70px;
	position: relative;
}
.flownum dt span {
	display: block;
	position: absolute;
	top: -8px;
	left: 0;
	color: #fff;
	font-size: 26px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	background-color: #168713;
}

@media only screen and (max-width: 767px) {
.flownum dt {
	font-size: 6vw;
	line-height: 1.5;
	padding-left: 18vw;
}
.flownum dt span {
	top: -8px;
	left: 0;
	font-size: 6vw;
	width: 14vw;
	height: 14vw;
	line-height: 50px;
}
}

#catch {
	padding: 47px 0 81px;
}
#catch h2 {
	font-size: 32px;
	text-align: center;
	font-weight: 600;
	margin-bottom: 32px;
}

#catch h3 {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 14px;
}

#catch .txt {
	padding: 10px 40px 12px;
	line-height: 22px;
}
#catch .txt dl {
	display: flex;
	justify-content: flex-start;
}
#catch .txt dl dt {
	min-width: 93px;
	width:20%;
	font-weight: 600;
	letter-spacing: 2px;
    padding: 10px 0 10px 10px;
    margin-right: 10px;
    background-color: #d8ebd2;
    margin-bottom: 10px;
}
#catch .txt dl dd {
	width: 90%;
}
#catch .txt dl dd span {
	display: block;
}

.kokusan{
    margin-bottom: 20px;
}

.announce{
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: black;
    color: yellow;
}

.announce h3{
    font-size: 30px;
    line-height: 30px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
#catch {
	padding: 15vw 0 15vw;
}
#catch h2 {
	font-size: 7.5vw;
	margin-bottom: 7vw;
	letter-spacing: 0.1em;
}
#catch .txt {
	padding: 20px 20px;
	line-height: 22px;
}
#catch .txt dl {
	display: block;
	text-align: left;
}
#catch .txt dl dt {
	width: 100%;
	margin-bottom: 2vw;
}
	#catch .txt dl dd {
		width: 100%;
	}
#catch .txt dl dd span {
	display: block;
	padding-top: 5vw;
}
#catch .txt dl + dl {
	margin-top: ;
}
}
#news .wrap {
	background-color: #f8f8f8;
}
#news .box {
	padding: 54px 51px 78px;
	display: flex;
	justify-content: space-between;
}
#news .left {
	width: 23%;
	padding-top: 30px;
}
#news .left .title-c {
	margin-bottom: 67px;
	text-align: left;
}
#news .left .btn-shared {
	max-width: 155px;
}
#news .news-list {
	width: 77%;
}
#news .news-list dl {
	padding: 26px 0;
	border-bottom: 1px solid #ffffff;
	display: flex;
	justify-content: space-between;
	font-weight: 600;
}
#news .news-list dl dt {
	color: #555555;
	width: 25%;
	font-size: 14px;
	letter-spacing: 1px;
	min-width: 145px;
}
#news .news-list dl dd {
	width: 75%;
}
#news .news-list dl dd a {
	color: #333;
}
#news .news-list dl dd a:hover {
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
#news .box {
	padding: 20vw 0 15vw;
	display: block;
}
#news .left {
	width: 100%;
	margin-bottom: 10vw;
}
#news .left .title-c {
	margin-bottom: 16vw;
}
#news .left .btn-shared {
	max-width: 155px;
}
#news .news-list {
	width: 100%;
}
#news .news-list dl {
	padding: 15px 0;
	display: block;
}
#news .news-list dl dt {
	color: #555555;
	width: 100%;
}
#news .news-list dl dd {
	width: 100%;
}
}
#about {
	padding: 90px 0 96px;
}
#about .wrap {
	display: flex;
	justify-content: space-between;
}
#about .right {
	width: 35%;
	margin-left: auto;
	padding-top: 26px;
}
#about .right .title-c {
	margin-bottom: 26px;
	text-align: left;
}
#about .right .txt {
	padding-right: 4%;
	line-height: 34px;
}
#about .left {
	position: relative;
	padding-left: 0;
	width: 57.5%;
}
#about .left .photo01 {
	width: 165%;
	margin-left: -65%;
	margin-bottom: 20px;
	height: 452px;
}
#about .left ul {
    width: 100%;
    max-width: 640px;
    margin-left: auto;
    display: flex;
    justify-content: space-between;
}
#about .left ul li {
	width: 56%;
	height: 229px;
}
#about .left ul li:last-child {
	width: 42%;
}

@media only screen and (max-width: 767px) {
#about {
	padding: 15vw 0;
}
#about .wrap {
	display: block;
}
#about .right {
	width: 100%;
	margin-left: 0;
}
#about .right .title-c {
	margin-bottom: 5vw;
}
#about .right .txt {
	padding-right: 0%;
	line-height: 28px;
}
#about .left {
	margin-left: 0;
	margin-bottom: 5vw;
	width: auto;
}
#about .left .photo01 {
	width: 110%;
	margin-left: -10%;
	margin-bottom: 4vw;
	padding-top: 55vw;
	height: auto;
}
#about .left ul {
	width: 57%;
	min-width: 100%;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
}
#about .left ul li {
	width: 48%;
	height: auto;
	padding-top: 30vw;
}
#about .left ul li:last-child {
	width: 48%;
}
}
#voice {
	padding: 78px 0 50px;
	background-color: #f8f8f8;
}
#voice .title-c {
	margin-bottom: 50px;
}
#voice .col {
	display: grid;
	grid-template-columns: auto auto;
	grid-gap: 40px;
	justify-content: space-between;
}
#voice .col .item {
	/* width: 88%; */
}
#voice .col .item dl {
	padding: 24px 20px;
	font-weight: 600;
}
#voice .col .item dl dt {
	font-size: 22px;
	margin-bottom: 14px;
    color: #168713;
    line-height: 30px;
}
#voice .col .item dl dd {
	line-height: 24px;
	font-size: 14px;
}

@media only screen and (max-width: 767px) {
#voice {
	padding: 15vw 0;
}
#voice .title-c {
	margin-bottom: 10vw;
}
#voice .col {
	display: block;
	grid-gap: 0px;
}
#voice .col .item {
	width: 100%;
}
#voice .col .item dl {
	padding: 15px 10px 0;
}
#voice .col .item dl dt {
	font-size: 18px;
	margin-bottom: 5px;
}
#voice .col .item dl dd {
	line-height: 24px;
}
#voice .col .item + .item {
	margin-top: 10vw;
}
}
#reason {
	padding: 115px 0 102px;
}
#reason .title-c {
	margin-bottom: 66px;
}
#reason .row .item {
	display: flex;
	justify-content: space-between;
}
#reason .row .item .photo {
	width: 32%;
}
#reason .row .item dl {
	width: 63%;
	padding-top: 5px;
}
#reason .row .item dl dt {
	margin-bottom: 29px;
}
#reason .row .item + .item {
	margin-top: 60px;
}

@media only screen and (max-width: 767px) {
#reason {
	padding: 15vw 0;
}
#reason .title-c {
	margin-bottom: 12vw;
}
#reason .row .item {
	display: block;
}
#reason .row .item .photo {
	width: 100%;
	margin-bottom: 5vw;
}
#reason .row .item dl {
	width: 100%;
}
#reason .row .item dl dt {
	margin-bottom: 4vw;
}
	#reason .row .item dl dd br {
		display: none;
	}
#reason .row .item + .item {
	margin-top: 10vw;
}
}
#flow {
	padding: 108px 0;
	background-color: #f8f8f8;
}
#flow .title-c {
	margin-bottom: 64px;
}
#flow .list dl {
	display: flex;
	justify-content: space-between;
}
#flow .list dl dt {
	width: 14%;
	min-width: 135px;
}
#flow .list dl dd {
	width: 81%;
}
#flow .list dl + dl {
	margin-top: 87px;
}

@media only screen and (max-width: 767px) {
#flow {
	padding: 15vw 0;
}
#flow .title-c {
	margin-bottom: 15vw;
}
#flow .list dl {
	display: block;
}
#flow .list dl dt {
	width: 100%;
	margin-bottom: 5vw;
}
#flow .list dl dd {
	width: 100%;
}
	#flow .list dl dd br {
		display: none;
	}
#flow .list dl + dl {
	margin-top: 10vw;
}
}
#question {
	padding: 82px 0 130px;
}
#question .title-c {
	margin-bottom: 75px;
}
#question .list {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px;
}
#question .list dl dt {
	font-size: 26px;
	font-weight: 600;
	margin-bottom: 20px;
	color:#168713;
}
#question .list dl dd {
	line-height: 21px;
}
#question .list dl dd span {
	font-size: 20px;
	font-weight: bold;
}
#question .list dl + dl {
	margin-top: 60px;
}

@media only screen and (max-width: 767px) {
#question {
	padding: 15vw 0 15vw;
}
#question .title-c {
	margin-bottom: 12vw;
}
#question .list {
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
}
#question .list dl dt {
	font-size: 24px;
	margin-bottom: 3vw;
	line-height: 1.3;
}
#question .list dl dt span {

}
#question .list dl dd {
	line-height: 21px;
}
#question .list dl + dl {
	margin-top: 30px;
}
}
#company {
	padding: 61px 45px;
	background-color: #f8f8f8;
}
#company .wrap {
	display: flex;
	justify-content: space-between;
}
#company .left {
	width: 29%;
	padding-left: 5%;
}
#company .left .title-c {
	margin-bottom: 33px;
	text-align: left;
}
#company .left .info {
	font-weight: 600;
}
#company .left .info dl {
	display: flex;
	justify-content: left;
}
#company .left .info dl dt {
	width: 70px;
}
#company .left .info dl + dl {
	margin-top: 10px;
}
#company .left .info .tt-info {
	padding-top: 20px;
}
#company .right {
	width: 61%;
	height: 299px;
	padding-right: 4%;
}
#company .right .photo {
	width: 100%;
	height: 100%;
}

@media only screen and (max-width: 767px) {
#company {
	padding: 15vw 0;
}
#company .wrap {
	display: block;
}
#company .left {
	width: 100%;
	margin-bottom: 11vw;
}
#company .left .title-c {
	margin-bottom: 10vw;
}
#company .left .info dl + dl {
	margin-top: 10px;
}
#company .left .info .tt-info {
	padding-top: 6vw;
}
#company .right {
	width: 100%;
	height: auto;
}
#company .right .photo {
	width: 100%;
	padding-top: 57vw;
}
}
#staff {
	padding-top: 94px;
	padding-bottom: 90px;
}
#staff .title-c {
	margin-bottom: 68px;
}
#staff .col {
	display: flex;
	justify-content: space-between;
}
#staff .col .photo {
	width: 32%;
}
#staff .col dl {
	width: 63%;
}
#staff .col dl dt {
	font-size: 26px;
	line-height: 38px;
	margin-bottom: 15px;
	font-weight: 600;
}

@media only screen and (max-width: 767px) {
#staff {
	padding-top: 15vw;
}
#staff .title-c {
	margin-bottom: 13vw;
}
#staff .col {
	display: block;
}
#staff .col .photo {
	width: 100%;
}
#staff .col dl {
	width: 100%;
	padding-top: 4vw;
}
#staff .col dl dt {
	font-size: 24px;
	line-height: 34px;
	margin-bottom: 5vw;
}
#staff .col dl dt br {
	display: none;
}
/*#staff .col dl dd br {
	display: none;
}*/
}
#blog {
	position: relative;
	padding-bottom: 70px;
	padding-top: 112px;
}
#blog .title-c {
	margin-bottom: 50px;

}
#blog .col {
	display: flex;
	justify-content: space-between;
	margin-bottom: 52px;
}
#blog .item {
	width: 32%;
}
#blog .item dl {
	font-weight: 600;
	padding-top: 15px;
}
#blog .item dl dt {
	line-height: 20px;
	margin-bottom: 5px;
}
#blog .item dl dd {
	color: #555555;
	font-size: 14px;
}
#blog .btn-shared {
	max-width: 205px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
#blog {
	padding-bottom: 75px;
	padding-top: 15vw;
}
#blog .title-c {
	margin-bottom: 10vw;
}
#blog .col {
	display: block;
	margin-bottom: 10vw;
}
#blog .item {
	width: 100%;
}
#blog .item dl {
	padding-top: 10px;
}
#blog .item dl dt {
	line-height: 20px;
	margin-bottom: 10px;
}
#blog .item + .item {
	margin-top: 8vw;
}
#blog .btn-shared {
	max-width: 200px;
	margin: 0 auto;
}
}
.contact-ct {
	background-color: #f8f8f8;
	padding: 42px 0 51px;
}
.contact-ct .wrap {
	max-width: 790px;
}
.contact-ct h2 {
	font-size: 32px;
	margin-bottom: 47px;
	text-align: center;
	font-weight: 600;
}
.contact-ct .col {
	display: flex;
	justify-content: space-between;
}
.contact-ct .col .item,  .contact-ct .col .item-line {
	padding-left: 20px;
	position: relative;
}
.contact-ct .col .item .tel,  .contact-ct .col .item a,  .contact-ct .col .item-line .tel,  .contact-ct .col .item-line a {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 0;
}
.contact-ct .col .item dl,  .contact-ct .col .item-line dl {
	position: relative;
	padding-left: 80px;
	line-height: 1;
}
.contact-ct .col .item dl::before,  .contact-ct .col .item-line dl::before {
	content: "";
	background: url("../img/icon_line02.jpg") no-repeat center;
	background-size: 100% auto;
	width: 62px;
	height: 62px;
	position: absolute;
	top: 0;
	left: 0;
}
.contact-ct .col .item dl dt,  .contact-ct .col .item-line dl dt {
	font-size: 28px;
	font-weight: 600;
	margin-bottom: 8px;
}
.contact-ct .col .item dl dd,  .contact-ct .col .item-line dl dd {
	font-size: 20px;
}
.contact-ct .col .item-line:hover {
	opacity: .7;
}
.contact-ct .col .item-tel {
	padding-left: 0;
}
.contact-ct .col .item-tel dl::before {
	content: "";
	background: url("../img/icon_tel02.jpg") no-repeat center;
	background-size: 100% auto;
	left: 11px;
}

@media only screen and (max-width: 767px) {
.contact-ct {
	padding: 15vw 0;
}
.contact-ct h2 {
	font-size: 7vw;
	margin-bottom: 10vw;
}
.contact-ct .col {
	display: block;
}
.contact-ct .col .item,  .contact-ct .col .item-line {
	padding-left: 0;
	position: relative;
}
.contact-ct .col .item dl,  .contact-ct .col .item-line dl {
	padding-left: 65px;
}
.contact-ct .col .item dl::before,  .contact-ct .col .item-line dl::before {
	width: 52px;
	height: 52px;
	position: absolute;
	top: 0;
	left: 0;
}
.contact-ct .col .item dl dt,  .contact-ct .col .item-line dl dt {
	font-size: 26px;
	margin-bottom: 8px;
}
.contact-ct .col .item dl dd,  .contact-ct .col .item-line dl dd {
	font-size: 20px;
}
.contact-ct .col .item-line {
	margin-bottom: 8vw;
}
.contact-ct .col .item-line:hover {
	opacity: 1;
}
.contact-ct .col .item-tel {
	padding-left: 0;
}
}


@media only screen and (min-width: 767px) and (max-width: 1199px) {
		img {
		width: 100%;
		height: auto;
	}
	.wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
	#keyvisual .k-tt {
		font-size: 26px;
	}
	#keyvisual .k-tt span {
		font-size: 45px;
	}
	#catch .txt dl dt {

	}
	#news .box {
		padding: 54px 20px 78px;
	}
	#news .news-list {
		width: 70%;
	}

	#about .left .photo01 {
		width: 130%;
		margin-left: -30%;
		margin-bottom: 15px;
		height: 330px;
	}
	#about .left ul li {
		height: 150px;
	}
	#about .right {
		width: 38%;
	}
	#catch h2,
	.title-c h2 {font-size: 27px;}
	
	#voice .col {
		display: flex;
		flex-wrap: wrap;
		grid-gap: 0;
		justify-content: space-between;
	}
	#voice .col .item {
		width: 49%;
	}
	#reason .row .item .photo {
		width: 34%;
	}
	#company {
		padding: 61px 0px;	
	}

	#company .left {
		padding-left: 0;
		width: 40%;
	}
	#company .right {
		width: 58%;
		padding-right: 0;
	}
}

.line_a a{
    color: #0cc355 ;
    
}

.car-gazou{
    display: flex;
    justify-content: space-around; /* 画像の間に均等に余白を設定 */
    margin-top: 50px;
}


.car-gazou img {
    width: 30%; /* 画像が3つ並ぶように設定 */
    height: auto;
}

@media (max-width: 768px) {
    .car-gazou {
        flex-wrap: wrap; /* 画像を折り返す */
    }
    .car-gazou img {
        width: 45%; /* 2つ並べる */
        margin-bottom: 20px;
    }
}




