@charset "UTF-8";

/** -----------------------
 * workflow
----------------------- **/

.page_workflow {
	margin-left: 150px;
	padding-bottom: 100px;
    padding-top: 70px;
}

.page_workflow .inner {
	margin-left: 100px;
	margin-top: -310px;
	position: relative;
}
.page_workflow .inner::before {
    background-color: #3D804E;
    content: '';
    display: block;
    position: absolute;
    left: 48px;
    top: 50px;
    height: calc(100% - 100px);
    width: 6px;
}

.page_workflow dl {
	padding-left: 130px;
	position: relative;
	min-height: 90px;
}
.page_workflow dl + dl {
	margin-top: 50px;
}
.page_workflow dl figure {
	background-color: white;
	border: solid 1px #3D804E;
	border-radius: 50%;
	align-items: center;
	display: flex;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 100px;
	width: 100px;
}
.page_workflow dl figure img {
	object-fit: contain;
	height: 32px;
	width: 32px;
}
.page_workflow dl dt {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 10px;
}

.page_workflow dl.normal::before {
	background-color: white;
	border: solid 3px #3D804E;
	border-radius: 50%;
	box-sizing: border-box;
    content: '';
    display: block;
    position: absolute;
	left: 43px;
	top: 6px;
	height: 16px;
	width: 16px;
}

@media screen and (max-width: 1875px) {
	.page_workflow {
        margin-left: 8vw;
        padding-bottom: 6vw;
        padding-top: 3.8vw;
	}

	.page_workflow .inner {
        margin-left: 5.4vw;
        margin-top: -16.8vw;
	}
	.page_workflow .inner::before {
        left: 2.6vw;
        top: 2.5vw;
        height: calc(100% - 5.4vw);
        width: 5px;
	}

	.page_workflow dl {
        padding-left: 7vw;
        min-height: 4.9vw;
	}
	.page_workflow dl + dl {
		margin-top: 2.7vw;
	}
	.page_workflow dl figure {
        height: 5.4vw;
        width: 5.4vw;
	}
	.page_workflow dl figure img {
		height: 1.7vw;
		width: 1.7vw;
	}
	.page_workflow dl dt {
		font-size: .95vw;
		margin-bottom: .5vw;
	}

	.page_workflow dl.normal::before {
        border: solid 3px #3D804E;
        left: 2.3vw;
        top: .3vw;
        height: .9vw;
        width: .9vw;
	}
}

@media screen and (max-width: 780px) {
	.page_workflow {
        margin-left: 0;
        padding-bottom: 14vw;
        padding-top: 8vw;
	}
	.page_workflow hgroup p {
		margin-left: 0;
		writing-mode: initial;
	}

	.page_workflow .inner {
        margin-left: -3vw;
        margin-top: 10vw;
	}
	.page_workflow .inner::before {
        left: 7.2vw;
        top: 5vw;
        height: calc(100% - 30vw);
        width: 3px;
	}

	.page_workflow dl {
        padding-left: 18vw;
	}
	.page_workflow dl + dl {
		margin-top: 6vw;
	}
	.page_workflow dl figure {
		top: -2vw;
		transform: initial;
        height: 15vw;
        width: 15vw;
	}
	.page_workflow dl figure img {
		height: 6vw;
		width: 6vw;
	}
	.page_workflow dl dt {
        font-size: 4vw;
        margin-bottom: 1vw;
	}

	.page_workflow dl.normal::before {
        border: solid 2px #3D804E;
        left: 6.1vw;
        top: 1.5vw;
        height: 3vw;
        width: 3vw;
	}
}


/** -----------------------
 * contact
----------------------- **/

.page_contact {
	padding-bottom: 100px;
    padding-top: 70px;
}
.page_contact .content {
	margin-left: 150px;
	width: 700px;
}
.page_contact .content h2 {
    background-color: #3D804E;
    color: #F8F5ED;
    display: table;
    font-size: 40px;
    letter-spacing: 2px;
    line-height: 1.0;
    padding: 8px 25px 13px;
    text-align: center;
    word-break: keep-all;
    min-width: 260px;
}

.page_contact .smf-item__label {
    font-size: 18px;
	font-weight: 700;
}
.page_contact .smf-item__description {
	font-size: 14px;
}
.page_contact .smf-form .smf-text-control__control,
.page_contact .smf-form .smf-textarea-control__control {
	border-color: #3D804E !important;
	border-radius: 0;
}
.page_contact .smf-form .smf-text-control__control:hover,
.page_contact .smf-form .smf-textarea-control__control:hover {
	border-color: #1F3E27 !important;
}
.page_contact .smf-form .smf-textarea-control__control {
	height: 200px;
}

.page_contact .smf-action .smf-button-control__control {
    background: #3D804E;
    border: solid 1px #3D804E;
    border-radius: 0;
    color: #F8F5ED;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 2px;
    padding: 10px 40px;
    transition: ease .3s;
}
.page_contact .smf-action .smf-button-control__control:hover {
	background: #F8F5ED;
	color: #3D804E;
}

@media screen and (max-width: 1875px) {
	.page_contact {
		padding-bottom: 5.3vw;
		padding-top: 3.7vw;
	}
	.page_contact .content {
		margin-left: 8vw;
		width: 37.4vw;
	}
	.page_contact .content h2 {
        font-size: 2.1vw;
        letter-spacing: .11vw;
        padding: .4vw 1.3vw .7vw;
        min-width: 14vw;
	}

	.page_contact .smf-item__label {
		font-size: .96vw;
	}
	.page_contact .smf-item__description {
		font-size: .75vw;
	}
	.page_contact .smf-form .smf-textarea-control__control {
		height: 10.7vw;
	}

	.page_contact .smf-action .smf-button-control__control {
		font-size: .96vw;
		letter-spacing: .11vw;
		padding: .5vw 2.1vw;
	}
}

@media screen and (max-width: 780px) {
	.page_contact {
        padding-bottom: 8vw;
        padding-top: 12vw;
	}
	.page_contact .content {
        margin-left: 0;
        width: auto;
	}
	.page_contact .content h2 {
        font-size: 5.2vw;
        letter-spacing: .3vw;
        padding: 2vw 4vw;
        min-width: 36vw;
	}

	.page_contact .smf-item__label {
		font-size: 3.8vw;
	}
	.page_contact .smf-item__description {
		font-size: 3vw;
	}
	.page_contact .smf-form .smf-item .smf-text-control__control {
		height: 10vw;
	}
	.page_contact .smf-form .smf-textarea-control__control {
		height: 40vw;
	}

	.page_contact .smf-action .smf-button-control__control {
		font-size: 4vw;
		letter-spacing: .3vw;
		padding: 2vw 8vw;
	}
}