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

/*--------------------------------------
	基本設定
----------------------------------------*/
html {
	overflow-y: scroll;
}
body {
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
	font-family: Helvetica, 'Open Sans', 'Noto Sans JP', sans-serif;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
	*zoom: 1;
}
#nav-switcher {
	display: none;
}
a:link {
	text-decoration: none;
}
li {
	list-style: none;
}
p {
	text-align: justify;
	color: #1e2819;
	letter-spacing: 0.1em;
}
.blue {
	color: #41879b;
}
.orange {
	color: #c8826e;
}
.btn {
	display: inline-block;
	color: #1e2819;
	font-size: 14px;
	line-height: 50px;
}
.btn img {
	width: 50px;
	transition: .5s;
}
.btn span {
	display: block;
	margin: -50px 0 0 65px;
}

/*--------------------------------------
	SP
----------------------------------------*/
@media only screen and (max-width:999px) {
	/*--------------------
		BASE
	--------------------*/
	.h-on {
		display: none;
	}
	h2 {
		font-size: clamp(1.25rem, 2vw + 1rem, 2.5rem);
	}
	.phone a {
		color: #1e2819;
	}

	/*--------------------
		COMMON
	--------------------*/
	.pc {
		display: none;
	}

	/*--------------------
		HEADER
	--------------------*/
	#global-header {
		width: 100%;
		height: 60px;
		background: rgba(255, 255, 255, 0.9);
		position: fixed;
		top: 0;
		z-index: 9999;
	}
	#global-header h1 {
		font-size: 18px;
		line-height: 30px;
		position: absolute;
		top: 20px;
		left: 2%;
	}
	h1 img {
		float: left;
		width: auto;
		height: 20px;
		padding-right: 5px;
	}

	/*--------------------
		NAVIGATION
	--------------------*/
	#global-navi {
		width: 100%;
		position: absolute;
		top: 60px;
	}
	#global-navi label {
		float: right;
		display: block;
		width: 50px;
		height: 50px;
		background: #c8826e;
		text-align: center;
		color: #fff;
		font-size: 12px;
		line-height: 50px;
		letter-spacing: .05em;
		border-radius: 25px;
		margin: -55px 1% 0 0;
	}
	#global-navi ul {
		width: 100%;
		background: rgba(65, 135, 155, 0.95);
	}
	#global-navi li {
		text-align: center;
		color: #fff;
		font-size: 16px;
		line-height: calc(14.2vh - 8.5px);
		letter-spacing: 0.1em;
	}
	#global-navi li a {
		display: block;
		height: 0;
		color: #fff;
		overflow: hidden;
		transition: all ease-out 0.35s;
	}
	#nav-switcher:checked + ul li a {
		height: calc(14.2vh - 8.5px);
		border-bottom: 1px dotted #fff;
	}

	/*--------------------
		MAIN
	--------------------*/
	.main {
		margin-top: 25vh;
	}
	.catch {
		position: absolute;
		right: 10vw;
		bottom: 5vh;
		z-index: 9;
	}
	.fnn-en {
		color: #41879b;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		font-weight: bold;
		line-height: 1.25em;
		letter-spacing: .05em;
		text-shadow: 0px 0px 3px #fff;
	}
	.fnn-jp {
		color: #7d7d7d;
		font-size: clamp(0.857rem, 2vw + 1rem, 0.857rem);
		line-height: 1.5em;
		letter-spacing: .05em;
		text-shadow: 0px 0px 3px #fff;
		position: absolute;
		bottom: 168px;
		right: 8px;
	}
	.catch img {
		width: 45px;
		margin: 0 auto;
	}

	/*--------------------
		CONTENTS
	--------------------*/
	.contents-area {
		padding-top: 25vh;
	}
	.texture {
		background: url("../img/texture.png") fixed;
		padding: 50vh 0 75px;
	}

	/*--------------------
		BUSINESS
	--------------------*/
	.business {
		width: 100%;
		background: url("../img/business_bg.png") no-repeat center center;
		background-size: cover;
		margin: 75px 0;
		position: relative;
	}
	.business .arrow {
		width: 200px;
		height: 200px;
		background: url("../img/arrows.png") no-repeat center center;
		background-size: cover;
		position: absolute;
		top: calc(50% - 100px);
		left: calc(7.5% - 100px);
		opacity: .7;
	}
	.business .inner {
		max-width: 700px;
		background: rgba(30, 40, 25, 0.5);
		padding: 25px 0;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}
	.business h2 {
		width: 90vw;
		max-width: 490px;
		color: #fff;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		margin: 0 auto;
		position: relative;
	}
	.business h2:after {
		content: '';
		display: block;
		width: 35vw;
		max-width: 315px;
		height: 1px;
		background: #ccc;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.business h2 span {
		color: #ccc;
		font-size: clamp(0.857rem, 2vw + 1rem, 1.286rem);
		letter-spacing: .1em;
		position: absolute;
		left: 39vw;
		bottom: -39px;
	}
	.business p {
		text-align: center;
		color: #fff;
		font-size: clamp(0.857rem, 2vw + 1rem, 1rem);
		line-height: 2em;
		padding: 0 2vw;
		margin: 80px 0 25px;
	}
	.business .btn {
		margin: 0 0 0 calc(50% - 25px);
	}
	.business .btn span {
		color: #fff;
	}

	/*--------------------
		TOPICS
	--------------------*/
	.topics {
		padding: 0 5vw;
		margin: 75px auto 0;
		position: relative;
	}
	.earth {
		width: 480px;
		height: 345px;
		background: url("../img/earth.png") no-repeat center center;
		background-size: cover;
		position: absolute;
		top: -100px;
		right: 75vw;
	}
	.topics h2 {
		color: #fff;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		position: relative;
	}
	.topics h2:after {
		content: '';
		display: block;
		width: 200px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.topics h2 span {
		color: #1e2819;
		font-size: clamp(0.857rem, 2vw + 1rem, 1.286rem);
		letter-spacing: .1em;
		position: absolute;
		left: 220px;
		bottom: -39px;
	}
	.topics article {
		width: 100%;
		max-width: 750px;
		margin: 75px auto 25px;
		position: relative;
		z-index: 1;
	}
	.topics dl {
		font-size: clamp(0.857rem, 2vw + 1rem, 1rem);
		line-height: 1.5em;
		letter-spacing: .05em;
		padding: 5%;
		background: #fff;
	}
	.topics dl:nth-child(2) {
		border-top: 1px solid #e1e1e1;
		border-bottom: 1px solid #e1e1e1;
	}
	.topics dt {
		color: #c8826e;
		font-weight: bold;
		margin-right: 40px;
	}
	.topics dd a {
		color: #1e2819;
	}
	.topics .btn {
		margin-left: 50vw;
	}

	/*--------------------
		CASES
	--------------------*/
	.cases {
		margin: 50px 0 75px;
	}
	.cases h2 {
		color: #e1e1e1;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		margin: 0 0 75px 5vw;
		position: relative;
	}
	.cases h2:after {
		content: '';
		display: block;
		width: 40vw;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.cases h2 span {
		color: #1e2819;
		font-size: clamp(0.857rem, 2vw + 1rem, 1.286rem);
		letter-spacing: .1em;
		position: absolute;
		left: 45vw;
		bottom: -39px;
	}
	#loopslider {
		height: 200px;
		overflow: hidden;
		position: relative;
	}
	#loopslider ul {
		float: left;
		overflow: hidden;
	}
	#loopslider li {
		float: left;
		text-align: center;
		color: #fff;
		font-size: clamp(1.2rem, 2vw + 1rem, 1.2rem);
		line-height: 1.5em;
		letter-spacing: .1em;
		width: 300px;
		overflow: hidden;
		margin: 0 5px;
		position: relative;
	}
	#loopslider li img {
		object-fit: cover;
		width: 300px;
		height: 200px;
		filter: brightness(.5);
	}
	#loopslider li span {
		width: 300px;
		position: absolute;
		top: 42.5px;
		left: 0;
	}
	.cases .btn {
		margin: 25px 0 0 calc(50vw - 43px);
	}

	/*--------------------
		PURCHASE
	--------------------*/
	.purchase {
		width: 100%;
		background: url("../img/purchase-bg.png") no-repeat center center;
		background-size: cover;
		padding-bottom: 50px;
		position: relative;
	}
	.parallelogram {
		padding: 0 5vw;
		margin: 0 auto;
	}
	.parallelogram h2 {
		text-align: center;
		color: #fff;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		padding-top: 50px;
		position: relative;
	}
	.parallelogram h2:after {
		content: '';
		display: block;
		width: 50vw;
		height: 1px;
		background: #ccc;
		position: absolute;
		left: 10vw;
		bottom: -30px;
	}
	.parallelogram h2 span {
		color: #ccc;
		font-size: clamp(0.857rem, 2vw + 1rem, 1.286rem);
		letter-spacing: .1em;
		position: absolute;
		left: 65vw;
		bottom: -39px;
	}
	.parallelogram p {
		text-align: center;
		color: #fff;
		font-size: clamp(0.857rem, 2vw + 1rem, 1rem);
		line-height: 2em;
		margin-top: 75px;
	}
	.parallelogram .btn {
		margin: 25px 0 0 calc(50vw - 43px);
	}

	/*--------------------
		COMPANY
	--------------------*/
	.company {
		width: 90vw;
		height: 400px;
		background: #41879b;
		padding: 0 2.5vw;
		margin: 75px auto 205px;
		position: relative;
	}
	.company h2 {
		color: #fff;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		padding: 10vw 0 0 2.5vw;
		position: relative;
	}
	.company h2:after {
		content: '';
		display: block;
		width: 180px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.company h2 span {
		color: #1e2819;
		font-size: clamp(0.857rem, 2vw + 1rem, 1.286rem);
		letter-spacing: .1em;
		position: absolute;
		left: 210px;
		bottom: -39px;
	}
	.company .prll {
		width: 400px;
		height: 200px;
		background: url("../img/company_bg.png") no-repeat center center;
		background-size: cover;
		margin: 175px 0 0 30vw;
		box-shadow: 0px 0px 50px #555;
	}
	.company .btn {
		position: absolute;
		top: 150px;
		left: 10vw;
	}
	.company .btn span {
		color: #fff;
	}
	.company ul {
		width: 35px;
		position: absolute;
		left: 25px;
		bottom: 0;
	}
	.company li {
		margin-bottom: 25px;
	}

	/*--------------------
		INFORMATION
	--------------------*/
	.information {
		background: url("../img/inf_bg.png") no-repeat center top;
		background-size: cover;
	}

	/*--------------------
		RECRUIT
	--------------------*/
	.recruit {
		padding: 25px 5vw 50px;
		border-bottom: 1px solid #fff;
	}
	.recruit h2 {
		color: #fff;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		padding-top: 25px;
		position: relative;
	}
	.recruit h2:after {
		content: '';
		display: block;
		width: 43vw;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.recruit h2 span {
		color: #1e2819;
		font-size: clamp(0.857rem, 2vw + 1rem, 1.286rem);
		letter-spacing: .1em;
		position: absolute;
		left: 50vw;
		bottom: -39px;
	}
	.recruit .btn {
		margin: 75px 0 0 25vw;
	}
	.recruit .btn span {
		color: #fff;
	}

	/*--------------------
		CONTACT
	--------------------*/
	.contact {
		padding: 25px 5vw 50px;
	}
	.contact h2 {
		color: #fff;
		font-size: clamp(2.857rem, 2vw + 1rem, 5.714rem);
		padding-top: 25px;
		margin-left: 20vw;
		position: relative;
	}
	.contact h2:after {
		content: '';
		display: block;
		width: 75px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.contact h2 span {
		color: #1e2819;
		font-size: clamp(0.857rem, 2vw + 1rem, 1.286rem);
		letter-spacing: .1em;
		position: absolute;
		left: 100px;
		bottom: -39px;
	}
	.contact .btn {
		margin: 75px 0 0 50vw;
	}
	.contact .btn span {
		color: #fff;
	}

	/*--------------------
		FOOTER
	--------------------*/
	#global-footer {
		position: relative;
	}
	.go2top {
		padding: 12.5px 0;
		background: #1e2819;
	}
	.go2top .btn {
		margin-left: calc(50vw - 25px);
	}
	.go2top .btn img {
		width: 50px;
	}
	.go2top .btn span {
		color: #fff;
	}
	#global-footer .f1 {
		margin: 50px;
	}
	.f1 img {
		width: auto;
		margin: 0 auto;
	}
	#global-footer p {
		text-align: center;
		font-size: 16px;
		line-height: 1.5em;
	}
	.phone {
		margin: 15px 0 5px;
	}
	#global-footer ul {
		width: fit-content;
		margin: 20px auto 0;
	}
	#global-footer li {
		text-align: center;
		font-size: 16px;
		line-height: 2em;
	}
	#global-footer li a {
		text-decoration: underline;
		color: #1e2819;
	}
	#global-footer li .h-on {
		display: none;
	}
	#global-footer .sns li {
		float: left;
		width: 25px;
		margin: 10px;
	}
	.copy {
		font-weight: bold;
		margin: 15px 0 ;
	}
	.copy a {
		color: #1e2819;
		font-weight: bold;
	}


/*
	LOWER
------------------------------*/
	/*--------------------
		BASE
	--------------------*/
	.lower h3 {
		text-align: center;
		color: #1e2819;
		font-size: clamp(1.429rem, 2vw + 1rem, 2.143rem);
		line-height: 1.5em;
		letter-spacing: .05em;
		margin-bottom: 50px;
	}
	.lower h4 {
		color: #1e2819;
		line-height: 1.4em;
		letter-spacing: .05em;
		padding: 5px 10px;
		border-left: 7.5px solid #41879b;
		margin-bottom: 25px;
	}
	.lower p{
		line-height: 1.5em;
	}

	/*--------------------
		COMMON
	--------------------*/
	.sub-main {
		height: 30vh;
		margin: 60px 0 75px;
		overflow: hidden;
	}
	.filter {
		background: url("../img/filter.png") repeat;
	}
	.filter h2 {
		text-align: center;
		color: #fff;
		line-height: 30vh;
		letter-spacing: .05em;
	}
	.lower {
		padding: 0 5vw;
		margin: 0 auto 75px;
	}
	.lower-box {
		margin-bottom: 50px;
	}
	.new-line {
		display: inline-block;
		margin-top: 1em;
	}

	/*--------------------
		BUSINESS
	--------------------*/
	#business .sub-main {
		background: url("../img/business-main.png") no-repeat center center;
		background-size: cover;
	}
	#business img {
		max-width: 500px;
		margin: 0 auto;
	}
	#business h4 {
		text-align: center;
		font-size: 20px;
		border-left: none;
		padding: 20px 0;
		margin: 0;
	}
	#business ul {
		margin: 20px auto 0;
	}
	#business li {
		font-size: 16px;
		line-height: 1.5em;
	}
	#business li i {
		color: #41879b;
	}
	#business .p-box {
		height: 230px;
		background: url("../img/business05.png") no-repeat center center / cover;
		margin-top: 75px;
	}
	#business .p-box h4 {
		color: #fff;
		padding: 50px 0 25px;
	}
	#business p a {
		display: block;
		width: 230px;
		text-align: center;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		padding: 15px 20px;
		border: 3px solid #fff;
		margin: 0 auto;
	}

	/*--------------------
		TOPICS
	--------------------*/
	#topics .sub-main {
		background: url("../img/case-main.png") no-repeat center center;
		background-size: cover;
	}
	.view-area {
		max-height:72px;
		overflow: hidden;
		margin-top: 10px;
	}
	.view-area a,
	.view-area img	{
		display: none;
	}
	#topics .lower .btn {
		float: right;
		margin: 15px 30px 0 0;
	}
	#topics .sgl a {
		text-decoration: underline;
		color: #41879b;
	}

	/*--------------------
		CASES
	--------------------*/
	#case .lower {
		padding: 0 2vw;
	}
	#case .sub-main {
		background: url("../img/case-main.png") no-repeat center center;
		background-size: cover;
	}
	#case p {
		text-align: center;
		color: #333;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.5em;
	}
	#case p .zero {
		opacity: 0;
	}
	#case .controls {
		max-width: 616.4px;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 15px;
		margin: 0 auto;
	}
	#case .control {
		display: block;
		background: #fff;
		border: 2px solid #41879b;
		text-align: center;
		line-height: 2.5em;
	}
	#case .control[data-filter="all"],
	#case .control[data-filter=".low"],
	#case .control[data-filter=".high"] {
		color: #41879b;
	}
	#case .control[data-filter="all"]:hover,
	#case .control[data-filter=".low"]:hover,
	#case .control[data-filter=".high"]:hover {
		background: #41879b;
		color: #fff;
	}
	#case .mixitup-control-active[data-filter="all"],
	#case .mixitup-control-active[data-filter=".low"],
	#case .mixitup-control-active[data-filter=".high"] {
		background: #41879b;
		color: #fff;
	}
	#case .container {
		max-width: 616.4px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		gap: 2vw;
		margin: 0 auto;
	}
	#case .container li img {
		object-fit: cover;
		width: 47vw;
		max-width: 300px;
		height: 47vw;
		max-height: 300px;
	}

	/*--------------------
		PURCHASE
	--------------------*/
	#purchase .sub-main {
		background: url("../img/purchase-main.png") no-repeat center center;
		background-size: cover;
	}
	#purchase img {
		margin: 0 auto 25px;
	}
	#purchase p {
		font-size: clamp(0.857rem, 2vw + 1rem, 1rem);
		line-height: 1.5em;
	}
	#purchase p span {
		background: linear-gradient(transparent 65%, #ffff00 65%);
		font-weight: bold;
	}
	#purchase ul {
		margin: 20px 0;
	}
	#purchase li {
		font-size: clamp(0.857rem, 2vw + 1rem, 1rem);
		font-weight: bold;
		line-height: 2.5em;
		border-bottom: 1px dashed #41879b;
		margin-bottom: 10px;
	}
	#purchase li i {
		color: #c8826e;
	}
	#purchase li span {
		background: linear-gradient(transparent 65%, #ffff00 65%);
	}
	#purchase dl {
		max-width: 450px;
		margin: 0 auto 40px;
	}
	#purchase dt {
		width: 200px;
		height: 200px;
		background: #41879b;
		text-align: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		margin: 0 auto 20px;
	}
	#purchase dt i {
		font-size: 80px;
		margin-top: 40px;
	}
	#purchase dt span {
		display: inline-block;
		margin-top: 20px;
	}
	#purchase dd {
		color: #1e2819;
		font-size: clamp(0.857rem, 2vw + 1rem, 1rem);
		line-height: 1.5em;
	}
	#purchase dd i {
		color: #c8826e;
	}
	#purchase dd span {
		line-height: 2em;
	}
	#purchase dd span {
		display: block;
		text-align: center;
		color: #41879b;
		font-size: 30px;
		font-weight: bold;
	}
	#purchase .arrow {
		text-align: center;
		color: #c8826e;
		font-size: 75px;
		line-height: 0;
		margin: 25px 0;
	}
	#purchase .btn {
		display: block;
		width: 300px;
		background: #c8826e;
		text-align: center;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		padding: 8px 0 4px;
		border: 3px solid #c8826e;
		border-radius: 5px;
		margin: 0 auto;
	}

	/*--------------------
		COMPANY
	--------------------*/
	#company .sub-main {
		background: url("../img/company-main.png") no-repeat center center;
		background-size: cover;
	}
	#company dl {
		text-align: center;
		color: #1e2819;
		font-size: 16px;
		line-height: 2em;
		margin-bottom: 15px;
	}
	#company dt {
		background: #999;
		text-align: center;
		color: #fff;
		padding: 2% 2.5%;
	}
	#company dd {
		padding: 2% 2.5%;
	}
	#company h3 {
		text-align: center;
		color: #1e2819;
		font-size: clamp(1.429rem, 2vw + 1rem, 2.143rem);
		letter-spacing: .05em;
		margin-bottom: 50px;
	}
	.map {
		margin-bottom: 75px;
	}

	/*--------------------
		RECRUIT
	--------------------*/
	#recruit .sub-main {
		background: url("../img/recruit-main.png") no-repeat center center;
		background-size: cover;
	}
	#sales .sub-main {
		background: url("../img/sales.png") no-repeat center center;
		background-size: cover;
	}
	#desk .sub-main {
		background: url("../img/desk.png") no-repeat center center;
		background-size: cover;
	}
	#planner .sub-main {
		background: url("../img/planner.png") no-repeat center center;
		background-size: cover;
	}
	#construction .sub-main {
		background: url("../img/construction.png") no-repeat center center;
		background-size: cover;
	}
	#recruit .exp {
		color: #1e2819;
		line-height: 1.5em;
	}
	#recruit .rec-pic {
		width: 100%;
		max-width: 475px;
		margin: 25px auto 0;
	}
	.rec li {
		background-size: cover;
		letter-spacing: .1em;
		border-bottom: 1px solid #fff;
	}
	.rec .r-s {
		background: url("../img/sales.png") no-repeat center center;
	}
	.rec .r-d {
		background: url("../img/desk.png") no-repeat center center;
		text-align: right;
	}
	.rec .r-c {
		background: url("../img/construction.png") no-repeat center center;
	}
	.rec .r-p {
		background: url("../img/planner.png") no-repeat center center;
		text-align: right;
		border: none;
	}
	.rec .r-s a,
	.rec .r-c a {
		padding-left: 8%;
	}
	.rec .r-d a,
	.rec .r-p a {
		padding-right: 8%;
	}
	.rec li a {
		display: block;
		color: #fff;
		font-size: 1.6rem;
		line-height: 150px;
	}
	.rec li a i {
		color: #c8826e;
	}
	.rec dl {
		font-size: 16px;
		line-height: 2em;
		border-bottom: 1px solid #fff;
	}
	.rec dt {
		color: #41879b;
		padding: 2% 4%;
		border-bottom: 2px solid #41879b;
	}
	.rec dd {
		color: #1e2819;
		padding: 2% 4%;
		margin-bottom: 2.5vw;
	}

	/*--------------------
		PRIVACY POLICY
	--------------------*/
	#privacy .sub-main {
		background: url("../img/pp-main.png") no-repeat center center;
		background-size: cover;
	}
	#privacy p {
		line-height: 1.5em;
	}
	#privacy ul {
		font-size: 16px;
		line-height: 1.5em;
		letter-spacing: .05em;
		padding-left: 20px;
		margin-top: 10px;
	}
	#privacy li {
		list-style: square;
		margin-bottom: 5px;
	}
	#privacy .miniul {
		font-size: 14px;
		margin-bottom: 10px;
	}
	#privacy .miniul li {
		list-style: circle;
	}

	/*--------------------
		CONTACT
	--------------------*/
	#contact .sub-main {
		background: url("../img/contact-main.png") no-repeat center center;
		background-size: cover;
	}
	#contact dl {
		max-width: 560px;
		margin: 20px auto 0;
	}
	#contact dt {
		color: #444;
		font-weight: bold;
		line-height: 2em;
		letter-spacing: 0.1em;
	}
	#contact input {
		width: calc(100% - 40px);
		background: #eee;
		font-size: 1.4rem;
		line-height: 2em;
		padding: 10px 20px;
		border: none;
		border-radius: 0;
		appearance: none;
	}
	input[type="submit"],
	input[type="button"] {
		-webkit-appearance: none;
		border-radius: 0;
	}
	#contact textarea {
		width: calc(100% - 40px);
		min-height: 200px;
		background: #eee;
		font-size: 1.4rem;
		line-height: 2em;
		padding: 10px 20px;
		border: none;
	}
	#contact dd a {
		display: inline-block;
		text-decoration: underline;
		color: #41879b;
		margin-top: 10px;
	}
	.conf-btn {
		text-align: center;
	}
	#contact .conf {
		cursor: pointer;
		display: inline-block;
		width: 268px;
		background: #41879b;
		text-align: center;
		color: #fff;
		font-size: 16px;
		line-height: 56px;
		letter-spacing: 0.1em;
		padding: 0;
		border: 2px solid #41879b;
		box-sizing: border-box;
		margin: 30px 10px 0;
	}
	.wpcf7-not-valid-tip {
		color: #c8826e!important;
		font-weight: bold!important;
		letter-spacing: 0.05em;
		margin-top: 5px;
	}
	.wpcf7 .ajax-loader {
		display: none!important;
	}
	.wpcf7-response-output {
		max-width: 560px;
		text-align: center;
		color: #c8826e;
		font-weight: bold;
		line-height: 2em;
		letter-spacing: 0.05em;
		padding: 5px 0!important;
		margin: 40px auto 0!important;
	}
	.wpcf7-mail-sent-ok {
		border: 1px solid #41879b!important;
	}
	.grecaptcha-badge {
		margin: 30px auto 0;
	}
	.screen-reader-response {
		display: none!important;
	}

	/*--------------------
		404
	--------------------*/
	#error a {
		text-decoration: underline;
		color: #e07f00;
		font-weight: bold;
	}

}


/*--------------------------------------
	PC
----------------------------------------*/
@media only screen and (min-width:1000px) {
	/*--------------------
		BASE
	--------------------*/
	html {
		font-size: 62.5%;
	}
	p {
		font-size: 1.6rem;
	}
	.phone {
		pointer-events: none;
	}
	.phone a {
		color: #1e2819;
	}
	#nav-switcher,
	#controller {
		display: none;
	}

	/*--------------------
		COMMON
	--------------------*/
	.btn:hover img {
		padding-left: 10px;
	}

	/*--------------------
		HEADER
	--------------------*/
	#global-header {
		width: 100%;
		height: 100px;
		background: rgba(255, 255, 255, 0.9);
		border-bottom: 1px solid #1e2819;
		position: fixed;
		top: 0;
		z-index: 9999;
	}
	#global-header h1 {
		font-size: 2rem;
		line-height: 40px;
		position: absolute;
		top: 35px;
		left: 1.5%;
		
	}
	h1 img {
		float: left;
		width: auto;
		height: 30px;
		padding-right: 10px;
	}

	/*--------------------
		NAVIGATION
	--------------------*/
	#global-navi {
		position: absolute;
		right: 1.5%;
	}
	#global-navi li {
		float: left;
		text-align: center;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 100px;
		letter-spacing: .05em;
	}
	#global-navi li a {
		color: #1e2819;
	}
	#global-navi li span {
		display: block;
		width: 90px;
		transition: .5s;
	}
	#global-navi li:last-child span {
		margin-left: 10px;
	}
	#global-navi li:hover .h-off {
		opacity: 0;
	}
	#global-navi li .h-on {
		margin-top: -100px;
		opacity: 0;
	}
	#global-navi li:hover .h-on {
		opacity: 1;
	}

	/*--------------------
		MAIN
	--------------------*/
	.main {
		margin-top: 25vh;
	}
	.catch {
		position: absolute;
		right: 13.5vw;
		bottom: 5vh;
		z-index: 9;
	}
	.fnn-en {
		color: #41879b;
		font-size: 10rem;
		font-weight: bold;
		line-height: 1.25em;
		letter-spacing: .05em;
		text-shadow: 0px 0px 3px #fff;
	}
	.fnn-jp {
		color: #7d7d7d;
		font-size: 2.5rem;
		line-height: 1.9em;
		letter-spacing: .05em;
		text-shadow: 0px 0px 3px #fff;
		position: absolute;
		top: 14px;
		right: 14px;
	}
	.catch img {
		width: 45px;
		margin: 0 auto;
	}

	/*--------------------
		CONTENTS
	--------------------*/
	.contents-area {
		padding-top: 25vh;
	}
	.texture {
		background: url("../img/texture.png") fixed;
		padding: 50vh 0 150px;
	}

	/*--------------------
		BUSINESS
	--------------------*/
	.business {
		width: 100%;
		background: url("../img/business_bg.png") no-repeat center center;
		background-size: cover;
		margin: 150px 0;
		position: relative;
	}
	.business .arrow {
		width: 250px;
		height: 250px;
		background: url("../img/arrows.png") no-repeat center center;
		background-size: cover;
		position: absolute;
		top: calc(50% - 125px);
		left: calc(12.5% - 125px);
		opacity: .7;
	}
	.business .inner {
		width: 50%;
		min-width: 1000px;
		background: rgba(30, 40, 25, 0.5);
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}
	.business h2 {
		text-align: center;
		color: #fff;
		font-size: 5rem;
		padding-top: 50px;
		position: relative;
	}
	.business h2:after {
		content: '';
		display: block;
		width: 315px;
		height: 1px;
		background: #ccc;
		position: absolute;
		left: calc(50% - 210px);
		bottom: -30px;
	}
	.business h2 span {
		color: #ccc;
		font-size: 2rem;
		letter-spacing: .1em;
		position: absolute;
		left: calc(50% + 125px);
		bottom: -39px;
	}
	.business p {
		text-align: center;
		color: #fff;
		line-height: 2.5em;
		padding: 100px 0 150px;
		position: relative;
		z-index: 1;
	}
	.business .btn {
		position: absolute;
		bottom: 50px;
		left: calc(50% - 25px);
		z-index: 1;
	}
	.business .btn span {
		color: #fff;
	}

	/*--------------------
		TOPICS
	--------------------*/
	.topics {
		width: 1000px;
		margin: 0 auto;
		position: relative;
	}
	.topics h2 {
		color: #fff;
		font-size: 5rem;
		padding-top: 50px;
		position: relative;
	}
	.topics h2:after {
		content: '';
		display: block;
		width: 225px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.topics h2 span {
		color: #1e2819;
		font-size: 2rem;
		letter-spacing: .1em;
		position: absolute;
		left: 250px;
		bottom: -39px;
	}
	.topics article {
		width: 55vw;
		margin: -100px 0 0 450px;
	}
	.topics dl {
		font-size: 1.6rem;
		line-height: 20px;
		letter-spacing: .05em;
		padding: 40px 45px;
		background: #fff;
	}
	.topics dl:nth-child(2) {
		border-top: 1px solid #e1e1e1;
		border-bottom: 1px solid #e1e1e1;
	}
	.topics dt {
		float: left; 
		color: #c8826e;
		font-weight: bold;
		margin-right: 40px;
	}
	.topics dd a {
		color: #1e2819;
		transition: .5s;
	}
	.topics dd a:hover {
		text-decoration: underline;
	}
	.topics .btn {
		position: absolute;
		top: 227px;
		left: 145px;
	}

	/*--------------------
		CASES
	--------------------*/
	.cases {
		margin: 100px 0 150px;
	}
	.cases h2 {
		color: #ccc;
		font-size: 5rem;
		margin: 0 0 100px calc(50% - 230px);
		position: relative;
	}
	.cases h2:after {
		content: '';
		display: block;
		width: 345px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.cases h2 span {
		color: #1e2819;
		font-size: 2rem;
		letter-spacing: .1em;
		position: absolute;
		left: 370px;
		bottom: -39px;
	}
	#loopslider {
		height: 300px;
		overflow: hidden;
		position: relative;
	}
	#loopslider ul {
		float: left;
		overflow: hidden;
	}
	#loopslider li {
		float: left;
		text-align: center;
		color: #fff;
		font-size: 2rem;
		line-height: 2em;
		letter-spacing: .1em;
		width: 300px;
		overflow: hidden;
		margin: 0 5px;
		position: relative;
	}
	#loopslider li img {
		object-fit: cover;
		width: 300px;
		height: 300px;
		filter: brightness(.5);
		transition: .5s;
	}
	#loopslider li span {
		width: 300px;
		position: absolute;
		top: 70px;
		left: 0;
		transition: .5s;
	}
	#loopslider li:hover img {
		filter: brightness(1);
	}
	#loopslider li:hover span {
		display: none;
	}
	.cases .btn {
		margin: 50px 0 0 calc(50% - 57px);
	}

	/*--------------------
		PURCHASE
	--------------------*/
	.purchase {
		width: 100%;
		height: 350px;
		background: url("../img/purchase-bg.png") no-repeat center center;
		background-size: cover;
		position: relative;
	}
	.parallelogram {
		width: 1000px;
		margin: 0 auto;
	}
	.parallelogram h2 {
		text-align: center;
		color: #fff;
		font-size: 5rem;
		padding-top: 50px;
		position: relative;
	}
	.parallelogram h2:after {
		content: '';
		display: block;
		width: 405px;
		height: 1px;
		background: #ccc;
		position: absolute;
		left: 245px;
		bottom: -30px;
	}
	.parallelogram h2 span {
		color: #ccc;
		font-size: 2rem;
		letter-spacing: .1em;
		position: absolute;
		left: 675px;
		bottom: -39px;
	}
	.parallelogram p {
		color: #fff;
		line-height: 2.5em;
		margin: 75px 0 0 245px;
	}
	.parallelogram .btn {
		margin: -5px 0 0 710px;
	}
	.parallelogram .btn span {
		color: #fff;
	}

	/*--------------------
		COMPANY
	--------------------*/
	.company {
		width: 1000px;
		height: 450px;
		background: #41879b;
		margin: 150px auto 205px;
		position: relative;
	}
	.company h2 {
		color: #fff;
		font-size: 5rem;
		padding: 100px 0 0 100px;
		position: relative;
	}
	.company h2:after {
		content: '';
		display: block;
		width: 220px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 100px;
		bottom: -30px;
	}
	.company h2 span {
		color: #1e2819;
		font-size: 2rem;
		letter-spacing: .1em;
		position: absolute;
		left: 345px;
		bottom: -39px;
	}
	.company .prll {
		width: 500px;
		height: 250px;
		background: url("../img/company_bg.png") no-repeat center center;
		background-size: cover;
		margin: 105px 0 0 150px;
		box-shadow: 0px 0px 50px #555;
	}
	.company .btn {
		position: absolute;
		top: 200px;
		left: 735px;
	}
	.company .btn span {
		color: #fff;
	}
	.company ul {
		width: 35px;
		position: absolute;
		right: 25px;
		bottom: 0;
	}
	.company li {
		margin-bottom: 25px;
	}
	.company li a {
		transition: .5s;
	}
	.company li a:hover {
		opacity: .5;
	}

	/*--------------------
		INFORMATION
	--------------------*/
	.information {
		width: 100%;
		height: 450px;
		background: url("../img/inf_bg.png") no-repeat center top;
		background-size: cover;
	}

	/*--------------------
		RECRUIT
	--------------------*/
	.recruit {
		height: 225px;
		border-bottom: 1px solid #fff;
	}
	.recruit h2 {
		color: #fff;
		font-size: 5rem;
		padding-top: 70px;
		margin-left: 18vw;
		position: relative;
	}
	.recruit h2:after {
		content: '';
		display: block;
		width: 465px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.recruit h2 span {
		color: #1e2819;
		font-size: 2rem;
		letter-spacing: .1em;
		position: absolute;
		left: 490px;
		bottom: -39px;
	}
	.recruit .btn {
		margin: -22px 0 0 calc(18vw + 680px);
	}
	.recruit .btn span {
		color: #fff;
	}

	/*--------------------
		CONTACT
	--------------------*/
	.contact {
		width: 100%;
		height: 224px;
	}
	.contact h2 {
		color: #fff;
		font-size: 5rem;
		padding-top: 70px;
		margin-left: 50vw;
		position: relative;
	}
	.contact h2:after {
		content: '';
		display: block;
		width: 95px;
		height: 1px;
		background: #1e2819;
		position: absolute;
		left: 0;
		bottom: -30px;
	}
	.contact h2 span {
		color: #1e2819;
		font-size: 2rem;
		letter-spacing: .1em;
		position: absolute;
		left: 125px;
		bottom: -39px;
	}
	.contact .btn {
		margin: -22px 0 0 calc(50vw + 355px);
	}
	.contact .btn span {
		color: #fff;
	}

	/*--------------------
		FOOTER
	--------------------*/
	#global-footer {
		height: 325px;
		position: relative;
	}
	.go2top {
		padding: 12.5px 0;
		background: #1e2819;
	}
	.go2top .btn {
		margin-left: calc(50vw - 25px);
	}
	.go2top .btn img {
		width: 50px;
		transform: rotate(90deg);
		transition: .5s;
	}
	.go2top .btn span {
		color: #fff;
	}
	.go2top .btn:hover img {
		padding: 0;
		transform: rotate(0deg);
	}
	#global-footer .f1 {
		position: absolute;
		top: 115px;
		left: 5vw;
	}
	.f1 img {
		float: left;
		width: auto;
		height: 30px;
		padding-right: 10px;
	}
	#global-footer p {
		font-size: 1.4rem;
	}
	.info {
		position: absolute;
		top: 172px;
		left: 5vw;
	}
	.add {
		line-height: 1.5em;
		margin-bottom: 5px;
	}
	.phone {
		margin-bottom: 5px;
	}
	#global-footer ul {
		width: fit-content;
		margin: 95px auto 0;
	}
	#global-footer li {
		float: left;
		text-align: center;
		font-size: 1.4rem;
		font-weight: bold;
		margin: 0 10px;
	}
	#global-footer li a {
		color: #1e2819;
	}
	#global-footer li span {
		display: block;
		width: 130px;
		transition: .5s;
	}
	#global-footer li:first-child span {
		width: 90px;
	}
	#global-footer li:last-child span {
		width: 145px;
	}
	#global-footer li:hover .h-off {
		opacity: 0;
	}
	#global-footer li .h-on {
		margin-top: -14px;
		opacity: 0;
	}
	#global-footer li:hover .h-on {
		opacity: 1;
	}
	#global-footer .sns {
		margin: 25px auto 0;
	}
	#global-footer .sns li {
		width: 25px;
	}
	.copy {
		font-weight: bold;
		position: absolute;
		right: 5vw;
		bottom: 20px;
	}
	.copy a {
		color: #1e2819;
		font-weight: bold;
		transition: .5s;
	}
	.copy a:hover {
		opacity: .5;
	}


/*
	LOWER
------------------------------*/
	/*--------------------
		BASE
	--------------------*/
	.lower h3 {
		text-align: center;
		color: #1e2819;
		font-size: 3rem;
		line-height: 1.5em;
		letter-spacing: .05em;
		margin-bottom: 75px;
	}
	.lower h4 {
		color: #1e2819;
		font-size: 2rem;
		line-height: 1.4em;
		letter-spacing: .05em;
		padding: 5px 10px;
		border-left: 7.5px solid #41879b;
		margin-bottom: 25px;
	}
	.lower h5 {
		color: #c8826e;
		font-size: 1.8rem;
		font-weight: bold;
		letter-spacing: .05em;
		margin: -10px 0 15px 15px;
	}

	/*--------------------
		COMMON
	--------------------*/
	.sub-main {
		height: 250px;
		margin: 100px 0;
	}
	.filter {
		background: url("../img/filter.png") repeat;
	}
	.filter h2 {
		text-align: center;
		color: #fff;
		font-size: 5rem;
		line-height: 250px;
		letter-spacing: .05em;
	}
	.lower {
		width: 1000px;
		margin: 0 auto 100px;
	}
	.lower-box {
		margin-bottom: 75px;
	}
	.new-line {
		display: inline-block;
		margin-top: 1em;
	}

	/*--------------------
		BUSINESS
	--------------------*/
	#business .sub-main {
		background: url("../img/business-main.png") no-repeat center center;
		background-size: cover;
	}
	#business .left {
		float: left;
		width: 475px;
	}
	#business .right {
		float: right;
		width: 475px;
	}
	#business h4 {
		text-align: center;
		font-size: 2.5rem;
		border-left: none;
		padding: 25px 0;
		margin: 0;
	}
	#business p {
		line-height: 2em;
	}
	#business ul {
		width: fit-content;
		margin: 25px auto 0;
	}
	#business li {
		float: left;
		text-align: center;
		font-size: 1.6rem;
		margin: 0 12.5px;
	}
	#business li i {
		color: #41879b;
	}
	#business .p-box {
		height: 300px;
		background: url("../img/business05.png") no-repeat center center / cover;
		margin-top: 100px;
	}
	#business .p-box h4 {
		color: #fff;
		padding: 75px 0 50px;
	}
	#business p a {
		display: block;
		width: 350px;
		text-align: center;
		color: #fff;
		font-size: 2rem;
		font-weight: bold;
		padding: 15px 20px;
		border: 3px solid #fff;
		margin: 0 auto;
		transition: .5s;
	}
	#business p a:hover {
		background: #fff;
		color: #1e2819;
	}

	/*--------------------
		TOPICS
	--------------------*/
	#topics .sub-main {
		background: url("../img/topics-main.png") no-repeat center center / cover;
	}
	.view-area {
		max-height:72px;
		overflow: hidden;
	}
	.view-area a,
	.view-area img	{
		display: none;
	}
	#topics p {
		font-size: 1.6rem;
		line-height: 1.5em;
		padding: 0 12px;
	}
	#topics .lower .btn {
		float: right;
		margin: 15px 30px 0 0;
	}

	/*--------------------
		CASES
	--------------------*/
	#case .sub-main {
		background: url("../img/case-main.png") no-repeat center center;
		background-size: cover;
	}
	#case p {
		text-align: center;
		color: #333;
		font-size: 3rem;
		font-weight: bold;
		line-height: 1.5em;
	}
	#case p .zero {
		opacity: 0;
	}
	#case .controls {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 25px;
	}
	#case .control {
		cursor: pointer;
		display: block;
		background: #fff;
		border: 2px solid #41879b;
		text-align: center;
		font-size: 2rem;
		line-height: 2em;
		transition: .5s;
	}
	#case .control[data-filter="all"],
	#case .control[data-filter=".low"],
	#case .control[data-filter=".high"] {
		color: #41879b;
	}
	#case .control[data-filter="all"]:hover,
	#case .control[data-filter=".low"]:hover,
	#case .control[data-filter=".high"]:hover {
		background: #41879b;
		color: #fff;
	}
	#case .mixitup-control-active[data-filter="all"],
	#case .mixitup-control-active[data-filter=".low"],
	#case .mixitup-control-active[data-filter=".high"] {
		background: #41879b;
		color: #fff;
	}
	#case .container {
		max-width: 1000px;
		display: grid;
		grid-template-columns: 244px 244px 244px 244px;
		grid-template-rows: 244px;
		gap: 8px;
	}
	#case .container li img {
		object-fit: cover;
		width: 244px;
		height: 244px;
	}

	/*--------------------
		PURCHASE
	--------------------*/
	#purchase .sub-main {
		background: url("../img/purchase-main.png") no-repeat center center;
		background-size: cover;
	}
	#purchase img {
		margin: 0 auto 50px;
	}
	#purchase p {
		font-size: 1.6rem;
		line-height: 1.5em;
	}
	#purchase p span {
		background: linear-gradient(transparent 65%, #ffff00 65%);
		font-weight: bold;
	}
	#purchase ul {
		margin: 20px 0;
	}
	#purchase li {
		font-size: 1.6rem;
		line-height: 2.5em;
		font-weight: bold;
		border-bottom: 1px dashed #41879b;
		margin-bottom: 10px;
	}
	#purchase li i {
		color: #c8826e;
	}
	#purchase li span {
		background: linear-gradient(transparent 65%, #ffff00 65%);
	}
	#purchase dl {
		display: table;
	}
	#purchase dt {
		width: 200px;
		height: 200px;
		background: #41879b;
		text-align: center;
		color: #fff;
		font-size: 1.6em;
		font-weight: bold;
		margin-right: 50px;
	}
	#purchase dt i {
		font-size: 80px;
		margin-top: 40px;
	}
	#purchase dt span {
		display: inline-block;
		margin-top: 20px;
	}
	#purchase dd {
		display: table-cell;
		vertical-align: middle;
		color: #1e2819;
		font-size: 1.6rem;
		line-height: 2em;
	}
	#purchase dd i {
		color: #c8826e;
	}
	#purchase dd span {
		color: #41879b;
		font-size: 30px;
		font-weight: bold;
	}
	#purchase .arrow {
		color: #c8826e;
		font-size: 75px;
		line-height: 0;
		margin: 25px 67px;
	}
	#purchase .btn {
		display: block;
		width: 350px;
		background: #c8826e;
		text-align: center;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		padding: 10px 0 5px;
		border: 3px solid #c8826e;
		border-radius: 5px;
		margin: 0 auto;
		transition: .5s;
	}
	#purchase .btn:hover {
		background: #fff;
		color: #c8826e;
	}

	/*--------------------
		COMPANY
	--------------------*/
	#company .sub-main {
		background: url("../img/company-main.png") no-repeat center center;
		background-size: cover;
	}
	#company dl {
		background: #999;
		color: #1e2819;
		font-size: 2rem;
		line-height: 1.5em;
		border-bottom: 1px solid #fff;
	}
	#company dt {
		float: left;
		width: 20%;
		text-align: center;
		color: #fff;
		padding: 2% 2.5%;
		box-sizing: border-box;
	}
	#company dd {
		float: right;
		width: 75%;
		background: #fff;
		padding: 2% 2.5%;
		position: relative;
	}
	#company dd:after {
		content: '';
		width: 100%;
		height: 1px;
		background: #999;
		position: absolute;
		bottom: -1px;
		left: 0;
	}
	#company h3 {
		text-align: center;
		color: #1e2819;
		font-size: 3rem;
		letter-spacing: .05em;
		margin-bottom: 75px;
	}
	.map {
		filter: grayscale(100%);
		margin-bottom: 150px;
		transition: .5s;
	}
	.map:hover {
		filter: grayscale(0%);
	}

	/*--------------------
		RECRUIT
	--------------------*/
	#recruit .sub-main {
		background: url("../img/recruit-main.png") no-repeat center center;
		background-size: cover;
	}
	#sales .sub-main {
		background: url("../img/sales.png") no-repeat center center;
		background-size: cover;
	}
	#desk .sub-main {
		background: url("../img/desk.png") no-repeat center center;
		background-size: cover;
	}
	#planner .sub-main {
		background: url("../img/planner.png") no-repeat center center;
		background-size: cover;
	}
	#construction .sub-main {
		background: url("../img/construction.png") no-repeat center center;
		background-size: cover;
	}
	#recruit .exp {
		float: left;
		width: 475px;
		color: #1e2819;
		line-height: 1.5em;
	}
	#recruit .rec-pic {
		float: right;
		width: 475px;
	}
	.rec li {
		background-size: cover;
		letter-spacing: .1em;
		border-bottom: 1px solid #fff;
		transition: .5s;
	}
	.rec li:hover {
		filter: brightness(1.5);
	}
	.rec .r-s {
		background: url("../img/sales.png") no-repeat center center;
	}
	.rec .r-d {
		background: url("../img/desk.png") no-repeat center center;
		text-align: right;
	}
	.rec .r-c {
		background: url("../img/construction.png") no-repeat center center;
	}
	.rec .r-p {
		background: url("../img/planner.png") no-repeat center center;
		text-align: right;
		border: none;
	}
	.rec .r-s a,
	.rec .r-c a {
		padding-left: 150px;
	}
	.rec .r-d a,
	.rec .r-p a {
		padding-right: 150px;
	}
	.rec li a {
		display: block;
		color: #fff;
		font-size: 3rem;
		line-height: 150px;
		transition: .5s;
	}
	.rec li a:hover {
		line-height: 300px;
	}
	.rec li a i {
		display: none;
		color: #c8826e;
		transition: .5s;
	}
	.rec li a:hover i {
		display: inline-block;
	}
	.rec dl {
		color: #1e2819;
		font-size: 2rem;
		line-height: 2em;
		border-top: 2px solid #41879b;
		border-right: 2px solid #41879b;
		border-left: 2px solid #41879b;
		box-sizing: border-box;
	}
	.rec dl:last-child {
		border-bottom: 2px solid #41879b;
	}
	.rec dt {
		float: left;
		width: 22%;
		color: #41879b;
		padding: 2.5%;
	}
	.rec dd {
		float: right;
		width: calc(73% - 1px);
		padding: 2.5%;
		border-left: 2px solid #41879b;
		box-sizing: border-box;
	}

	/*--------------------
		PRIVACY POLICY
	--------------------*/
	#privacy .sub-main {
		background: url("../img/pp-main.png") no-repeat center center;
		background-size: cover;
	}
	#privacy p {
		line-height: 1.5em;
	}
	#privacy ul {
		font-size: 1.6rem;
		line-height: 1.5em;
		letter-spacing: .05em;
		padding-left: 20px;
		margin-top: 10px;
	}
	#privacy li {
		list-style: square;
		margin-bottom: 5px;
	}
	#privacy .miniul {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}
	#privacy .miniul li {
		list-style: circle;
	}

	/*--------------------
		CONTACT
	--------------------*/
	#contact .sub-main {
		background: url("../img/contact-main.png") no-repeat center center;
		background-size: cover;
	}
	#contact dl {
		width: 760px;
		margin: 20px auto 0;
	}
	#contact dt {
		float: left;
		width: 190px;
		color: #444;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 48px;
		letter-spacing: 0.05em;
	}
	#contact dd {
		float: right;
		width: 100%;
		max-width: 560px;
		line-height: 48px;
	}
	#contact input {
		width: 516px;
		background: #eee;
		font-size: 1.4rem;
		line-height: 2em;
		padding: 10px 20px;
		border: none;
	}
	#contact textarea {
		width: 100%;
		min-width: 516px;
		max-width: 516px;
		min-height: 200px;
		background: #eee;
		font-size: 1.4rem;
		line-height: 2em;
		padding: 10px 20px;
		border: none;
	}
	#contact dd a {
		text-decoration: underline;
		color: #41879b;
	}
	#contact dd a:hover {
		text-decoration: none;
	}
	.conf-btn {
		text-align: center;
	}
	#contact .conf {
		cursor: pointer;
		display: inline-block;
		width: 300px;
		background: #41879b;
		text-align: center;
		color: #fff;
		font-size: 1.8rem;
		line-height: 66px;
		letter-spacing: 0.1em;
		padding: 0;
		border: 2px solid #41879b;
		box-sizing: border-box;
		margin: 40px 10px 0;
		transition: .5s;
	}
	#contact .conf:hover {
		background: rgba(134, 120, 111, 0);
		color: #41879b;
	}
	.wpcf7-acceptance .wpcf7-list-item {
		margin: 0!important;
	}
	.wpcf7-acceptance input {
		width: 13px!important;
	}
	.wpcf7-not-valid-tip {
		color: #c8826e!important;
		font-size: 1.2rem!important;
		font-weight: bold!important;
		letter-spacing: 0.05em;
		margin-top: 5px;
	}
	.wpcf7 .ajax-loader {
		display: none!important;
	}
	.wpcf7-response-output {
		width: 700px;
		text-align: center;
		color: #c8826e;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 2em;
		letter-spacing: 0.05em;
		padding: 5px 0!important;
		margin: 40px auto 0!important;
	}
	.wpcf7-mail-sent-ok {
		border: 1px solid #5bb441!important;
	}
	.grecaptcha-badge {
		margin: 40px auto 0;
	}
	.screen-reader-response {
		display: none!important;
	}

	/*--------------------
		404
	--------------------*/
	#error a {
		text-decoration: underline;
		color: #e07f00;
		font-weight: bold;
	}
	#error a:hover {
		text-decoration: none;
	}

}
