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

/********************************************************************

reset

*********************************************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse;
    border-spacing:0;
}

img.max-size {
	width: 100%;
	height: auto;
}

/****************************************

          Clearfix

*****************************************/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.clearfix {
	display: inline-block;
}
/* clearfix for ie7 */
.clearfix {
	display: block;
}


/****************************************

          CSS3 MEMO

*****************************************/

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

ボックスシャドウ {
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

ボックスシャドウ内側 {
	-moz-box-shadow: inset 1px 1px 3px #000;
	-webkit-box-shadow: inset 1px 1px 3px #000;
	box-shadow: inset 1px 1px 3px #000;
}

/****************************************

          General Setting

*****************************************/

html {
	height: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	width: 100%;
	min-width: 320px;
	height: 100%;
	color: #111;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	position: relative;
}

img {
	vertical-align: bottom;
}

* {-webkit-box-sizing: border-box;
   -ms-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
   box-sizing: border-box;
}

span.important {
	font-weight: 700;
	color: #F00;
}

.bold {
	font-weight: 700;
}

.black{
	font-weight: 900;
}

p.main-txt.top {
	margin-top: 0;
}

p.main-txt a.link {
	text-decoration: underline;
	color: #1E9C33;
	transition: .3s;
}

p.main-txt a:hover.link {
	text-decoration: none;
	opacity: 0.7;
}

.green {
	color: #1E9C33;
}

.cf-turnstile {
	display: block;
	text-align: center;
	padding-top: 24px;
}

/******************************************************************************************************

SP

******************************************************************************************************/

@media screen and (max-width: 767px) {
	
	#about,#achievements,#case,#flow,#column,#contact {
		margin-top: -60px;
		padding-top: 60px;
		display: block;
	}
	
	.pc {
		display: none;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: block;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 60px;
		height: 60px;
		cursor: pointer;
		text-align: center;
	}

	.hamburger span {
		display : block;
		position: absolute;
		width: 30px;
		height: 2px;
		left: 15px;
		background : #1E9C33;
		transition: .3s;
	}

	.hamburger span:nth-child(1) {
		top: 22px;
	}

	.hamburger span:nth-child(2) {
		top: 30px;
	}

	.hamburger span:nth-child(3) {
		top: 38px;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 60px;
		height: 60px;
		cursor: pointer;
		text-align: center;
		transition: .3s;
	}

	.hamburger.active span:nth-child(1) {
		top : 30px;
		left: 15px;
		background: #1E9C33;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 30px;
		background: #1E9C33;
		transform: rotate(45deg);
	}
	
	header {
		width: 100%;
		height: 60px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		margin: auto;
		background: #fff;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 0 3vw;
	}
	
	h1 img.logo,
	div.logo-area img.logo {
		width: auto;
		height: 40px;
		position: relative;
		z-index: 10000;
	}
	
	nav.gnav {
		height: 100vh;
		visibility: hidden;
		opacity: 0;
		transition: .3s;
		width: 100%;
		position: fixed;
		top: 0;
		right: 0;
		background: #F1F8EA;
		overflow-y:  scroll;
		padding: 60px 5vw 5vw 5vw;
		z-index: 1000;
		display: flex;
		align-items: center;
	}
	
	/* このクラスを、jQueryで付与・削除する */
	nav.gnav.active {
		visibility: visible;
		opacity: 1;
	}
	
	nav.gnav ul {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-row-gap: 4vh;
	}
	
	nav.gnav ul li {
		text-align: center;
	}
	
	nav.gnav ul li:last-child {
		margin-right: 0;
	}
	
	nav.gnav ul li a {
		font-size: 16px;
		font-weight: 700;
		color: #111;
		line-height: 50px;
		text-decoration: none;
	}
	
	nav.gnav ul li a.contact {
		width: fit-content;
		color: #fff;
		background: #1E9C33;
		line-height: 50px;
		padding: 0 25px;
		border-radius: 8px;
		display: block;
		margin: 0 auto;
	}
	
	div.main-visual {
		width: 100%;
		position: relative;
		padding-top: 60px;
	}

	div.main-visual div.photo {
		width: 100%;
		height: 64vw;
		position: relative;
		background: url(../img/main-visual.jpg) no-repeat top center / cover;
		border-radius: 40px 0 0 0;
	}

	div.main-visual div.photo p.copy {
		position: absolute;
		top: 6.4vw;
		left: 6.4vw;
		font-size: 6.4vw;
		font-weight: 900;
		line-height: 130%;
		color: #fff;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}

	div.main-visual div.sub-copy-area {
		width: 100%;
		height: 66vw;
		position: relative;
		padding-top: 32px;
	}

	div.main-visual div.sub-copy-area p.sub-copy {
		font-size: 4.8vw;
		font-weight: 700;
		line-height: 8vw;
		writing-mode: vertical-rl; 
		position: absolute;
		top: 6vw;
		left: 6%;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper {
		width: 100%;
		height: 16vw;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #F1F8EA;
		display: flex;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn {
		width: 50%;
		height: 100%;
		font-size: 4.8vw;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		color: #fff;
		transition: .3s;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a:hover.btn {
		opacity: 0.7;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn img {
		width: 6.4vw;
		height: auto;
		margin-right: 2vw;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a:hover.btn img {
		opacity: 1;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn.contact {
		background: #1E9C33;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn.tel {
		background: #E49600;
	}

	div.main-visual div.sub-copy-area ul.real-estate {
		width: 72%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		column-gap: 1vw;
		row-gap: 1vw;
		position: absolute;
		top: 6vw;
		right: 0;
		background: url("../img/sub-copy-bg.png") no-repeat top center / 100% auto;
		padding: 24vw 0 8vw 0;
	}

	div.main-visual div.sub-copy-area ul.real-estate li {
		font-size: 3.6vw;
		font-weight: 500;
		line-height: 6.4vw;
		text-align: center;
		background: #fff;
		border-radius: 3.2vw;
		padding: 0 3.2vw;
	}
	
	.main-button {
		width: fit-content;
		font-size: 3.6vw;
		font-weight: 700;
		color: #111;
		line-height: 11vw;
		background: #fff;
		border-radius: 1.6vw;
		padding: 0 2vw 0 3.6vw;
		text-decoration: none;
		transition: .3s;
		display: block;
		display: flex;
		align-items: center;
	}

	.main-button-arrow {
		display: inline-block;
		vertical-align: middle;
		color: #1E9C33;
		line-height: 1;
		position: relative;
		width: 4.8vw;
		height: 4.8vw;
		background: currentColor;
		border-radius: 50%;
		box-sizing: content-box;
		margin-left: 2vw;
	}

	.main-button-arrow::before {
		content: '';
		color: #fff;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent;
		border-width: 4px 6px;
		border-left-color: currentColor;
		border-right: 0;
		transform: translateX(15%);
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
	
	.main-button:hover {
		background: #1E9C33;
		color: #fff;
	}

	.main-button:hover .main-button-arrow {
		color: #fff;
	}

	.main-button:hover .main-button-arrow::before {
		color: #1E9C33;
	}

	div.main-visual .main-button {
		position: absolute;
		right: 4vw;
		bottom: 4vw;
	}

	section {
		width: 100%;
		position: relative;
		padding: 12vw 0;
	}
	
	section div.inner {
		width: 94vw;
		margin: 0 auto;
	}

	section div.content-wrapper {
		width: 100%;
		padding: 12vw 0 0 0;
	}
	
	.separate {
		display: flex;
		justify-content: space-between;
	}
	
	section.bg-green {
		background: #F1F8EA;
	}
	
	section h2.main-title-en {
		font-size: 4.8vw;
		font-weight: 900;
		line-height: 100%;
		color: #1E9C33;
	}
	
	section h2.main-title-jp {
		font-size: 8vw;
		font-weight: 900;
		line-height: 140%;
		color: #111;
		margin: 1vw 0 8vw 0;
	}

	section h2.main-title-jp p {
		font-size: 4.8vw;
		line-height: 150%;
		font-weight: 500;
		color: #1E9C33;
		margin-top: 4.8vw;
	}

	section.top {
		padding: 12vw 0 36vw 0;
	}

	h2.fukidashi {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0;
		padding: 0 0;
		font-size: 4.8vw;
		font-weight: 900;

		&::before {
			content: "";
			width: 8vw;
			height: 0.4vw;
			box-sizing: border-box;
			background-color: #111;
			rotate: 60deg;
		}

		&::after {
			content: "";
			width: 8vw;
			height: 0.4vw;
			box-sizing: border-box;
			background-color: #111;
			rotate: -60deg;
		}
	}

	ul.fukidashi-list {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 3vw;
		row-gap: 1.6vw;
		margin: 6vw auto 0 auto;
		padding: 4vw 6vw 6vw 6vw;
		background: #fff;
		border-radius: 4vw;
		position: relative;
	}

	ul.fukidashi-list::before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -20px;
		border: 20px solid transparent;
		border-top: 20px solid #fff;
	}

	ul.fukidashi-list li {
		font-size: 4vw;
		font-weight: 700;
		line-height: 6vw;
		padding: 3vw 0;
		border-bottom: 2px dotted #ddd;
		display: flex;
		align-items: center;
	}

	ul.fukidashi-list li::before {
		content: "";
		display: inline-block;
		width: 8vw;
		height: 6vw;
		background: url("../img/check.png") no-repeat left center / 6vw auto;
	}

	img.fukidashi-img {
		width: 80vw;
		height: auto;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -40vw;
	}

	div.about-top.separate {
		display: block;
	}

	div.about-top div.txt-area {
		width: 100%;
	}

	div.about-top div.txt-area p.sub-title {
		font-size: 5.6vw;
		font-weight: 700;
		line-height: 150%;
	}

	p.main-txt {
		font-size: 4vw;
		font-weight: 500;
		line-height: 180%;
		margin-top: 4vw;
		text-align: justify;
	}

	div.about-top ul.icon-area {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
		gap: 4vw;
		margin-top: 6vw;
	}

	div.about-top ul.icon-area li {
		border-radius: 4vw;
		background-image: linear-gradient(0deg, #1e9c33, #7fcb6e);
		font-size: 5.2vw;
		font-weight: 700;
		color: #fff;
		line-height: 1;
		padding: 6vw 0;
		text-align: center;
	}

	div.about-top ul.icon-area li img {
		width: 16vw;
		height: auto;
		display: block;
		margin: 0 auto 20px auto;
	}

	h3.sub-title-area {
		margin-top: 12vw;
		padding-top: 8vw;
		border-top: solid 1px #eee;
  		position: relative;
	}

	h3.sub-title-area::after {
		position: absolute;
		content: " ";
		display: block;
		border-top: solid 1px #1E9C33;
		top: -1px;
		width: 20%;
	}

	h3.sub-title-area p.sub-title {
		font-size: 5.6vw;
		font-weight: 700;
		line-height: 150%;
		margin-bottom: 8vw;
	}

	ul.customer {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 8vw;
	}

	ul.customer > li {
		width: 100%;
		border-radius: 4vw;
		padding: 8vw 6vw;
	}

	ul.customer > li div.inner {
		width: 100%;
	}

	ul.customer > li div.inner h4 {
		font-size: 5.2vw;
		font-weight: 700;
		line-height: 150%;
	}

	ul.customer > li div.inner img {
		width: 100%;
		height: auto;
		border-radius: 3vw;
		margin-top: 6vw;
	}

	ul.customer > li.individual {
		background: #F1F8EA url("../img/customer-bg01.png") no-repeat top right / 100% auto;
	}

	ul.customer > li.individual div.inner h4 {
		color: #1E9C33;
	}

	ul.customer > li.individual div.inner img {
		box-shadow: 2vw 2vw #7FCB6E;
	}

	ul.customer > li.company {
		background: #FFF7E8 url("../img/customer-bg02.png") no-repeat top right / 100% auto;
	}

	ul.customer > li.company div.inner h4 {
		color: #E49600;
	}

	ul.customer > li.company div.inner img {
		box-shadow: 2vw 2vw #FBAF1D;
	}

	ul.customer > li h5 {
		font-size: 4.8vw;
		font-weight: 700;
		line-height: 150%;
		margin: 8vw 0 4vw 0;
		display: flex;
		align-items: center;
	}

	ul.customer > li h5::before {
		margin: 0 2vw 0 0;
		width: 3vw;
		height: 3vw;
		content: '';
		border-radius: 100%;
		background:#FBAF1D;
	}

	ul.customer > li > ul.difficult-case {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		gap: 3vw;
	}

	ul.customer > li > ul.difficult-case > li {
		display: flex;
		align-items: center;
		font-size: 4vw;
		font-weight: 500;
		line-height: 150%;
		border-radius: 2vw;
		padding-right: 3vw;
		overflow: hidden;
		background: #fff;
	}

	ul.customer > li > ul.difficult-case > li img {
		width: 16vw;
		height: auto;
		margin-right: 16px;
	}

	ul.customer > li > ul.collaboration {
		width: 100%;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		column-gap: 3vw;
		row-gap: 3vw;
	}

	ul.customer > li > ul.collaboration > li {
		width: fit-content;
		font-size: 4.8vw;
		font-weight: 500;
		line-height: 10vw;
		border-radius: 5vw;
		background: #fff;;
		padding: 0 5vw;
	}

	section.achievements {
		background: #1E9C33;
	}

	section.achievements h2,
	section.achievements h2 p {
		color: #fff;
	}

	ul.achievements-list {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 4vw;
	}

	ul.achievements-list li {
		border-radius: 4vw;
		background: #fff;
		overflow: hidden;
	}

	ul.achievements-list li p.achievements {
		font-size: 14vw;
		font-weight: 900;
		text-align: center;
		line-height: 20vw;
		background: linear-gradient(180deg, #7fcb6e 0%, #1e9c33 100%);
		color: transparent;
		background-clip: text;
		-webkit-background-clip: text;
	}

	ul.achievements-list li p.achievements span {
		font-size: 7vw;
		font-weight: 500;
	}

	ul.achievements-list li p.achievements-title {
		width: 100%;
		font-size: 3.6vw;
		font-weight: 500;
		text-align: center;
		line-height: 10vw;
		display: block;
		background: #F1F8EA;
	}

	h3.sub-title-area p.region {
		width: fit-content;
		font-size: 4vw;
		font-weight: 700;
		line-height: 8vw;
		color: #1E9C33;
		background: #F1F8EA;
		border-radius: 4vw;
		margin-bottom: 2vw;
		padding: 0 4vw;
	}

	h3.sub-title-area p.case-title {
		font-size: 5.6vw;
		font-weight: 700;
		line-height: 150%;
	}

	h3.sub-title-area p.case-number {
		position: absolute;
		top: 0;
		right: 0;
		font-size: 28vw;
		font-weight: 900;
		line-height: 1;
		color: #F1F8EA;
		z-index: -1;
	}

	ul.before-after {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 4vw;
		margin-top: 8vw;
	}

	ul.before-after li {
		position: relative;
	}

	ul.before-after li img {
		width: 100%;
		height: auto;
	}
	
	ul.before-after li p {
		font-size: 16px;
		font-weight: 700;
		line-height: 40px;
		padding: 0 16px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}

	ul.before-after li p.before {
		background: #ddd;
	}

	ul.before-after li p.after {
		background: #1E9C33;
		color: #fff;
	}

	section.flow {
		padding: 12vw 0 36vw 0;
	}

	img.flow-img {
		width: 80vw;
		height: auto;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -40vw;
	}

	div.flow-wrapper {
		width: 100%;
		margin: 0 auto;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 2vw;
	}

	div.flow-wrapper div.flow-items {
		width: 100%;
		font-size: 5.6vw;
		font-weight: 700;
		line-height: 16vw;
		text-align: center;
		position: relative;
		background: #fff;
		border-radius: 50px;
	}

	div.flow-wrapper div.flow-items p.number {
		width: 12vw;
		height: 12vw;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 6vw;
		font-weight: 700;
		color: #fff;
		position: absolute;
		top: 2vw;
		left: 2vw;
		border-radius: 50%;
		background: linear-gradient(180deg, #7fcb6e 0%, #1e9c33 100%);
	}

	div.flow-wrapper img.arrow {
		width: auto;
		height: 10vw;
		display: block;
		margin: 0 auto;
	}

	p.main-txt.under-title {
		margin-top: -4vw;
	}

	h2.main-title-jp.column {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	div.column-list {
		width: 100%;
		margin-top: 6vw;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 10vw;
	}

	div.column-list a {
		text-decoration: none;
	}

	div.column-list a img {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 10;
		object-fit: cover;
		border-radius: 4vw;
		margin-bottom: 6vw;
	}

	div.column-list a div.date-area {
		display: flex;
		align-items: center;
	}

	div.column-list a div.date-area p.date {
		font-size: 4vw;
		font-weight: 500;
		color: #111;
		margin-right: 2vw;
	}

	div.column-list a div.date-area p.category {
		font-size: 3.6vw;
		font-weight: 700;
		color: #1E9C33;
		line-height: 6vw;
		padding: 0 3vw;
		background: #F1F8EA;
		border-radius: 3vw;
	}

	div.column-list a p.title {
		font-size: 4.8vw;
		font-weight: 700;
		color: #111;
		line-height: 150%;
		margin-top: 3.2vw;
	}

	ul.contact-form {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 3vw;
		margin-top: 6vw;
	}

	ul.contact-form li {
		width: 100%;
		background: #f8f8f8;
		border-radius: 3vw;
	}

	ul.contact-form li div.left {
		width: 100%;
		padding: 4vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	ul.contact-form li div.left p {
		font-size: 4vw;
		line-height: 150%;
		font-weight: 700;
	}

	ul.contact-form li div.right {
		width: 100%;
		font-size: 4vw;
		line-height: 150%;
		padding: 0 4vw 4vw 4vw;
	}

	.formbtn {
		width: fit-content;
		padding: 5vw 12vw;
		background: #1E9C33;
		font-size: 6vw;
		line-height: 1;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 3vw;
		margin: 8vw auto 0 auto;
		display: block;
		font-weight: 700;
		transition: 0.3s;
		border: none;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	.formbtn:hover {
		opacity: 0.7;
	}

	input[type="text"],
	input[type="tel"],
	textarea {
		width: 100%;
		border: 1px solid #ddd;
		padding: 2vw;
		font-size: 4vw;
		font-weight: 400;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	input[type="email"],
	textarea {
		width: 100%;
		border: 1px solid #ddd;
		padding: 2vw;
		font-size: 4vw;
		font-weight: 400;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	textarea {
		height: 30vw;
	}

	input[type="select"],
	select {
		font-weight: normal;
	}

	.must {
		display: block;
		background-color: red;
		padding: 0 1.6vw;
		font-size: 3vw;
		line-height: 6vw;
		color: #fff;
		border-radius: 1vw;
		font-weight: 700;
	}

	ul.contact-form input,
	ul.contact-form select,
	ul.contact-form textarea {
		padding: 10px;
		border: 1px solid #ddd;
		border-radius: 0;
	}

	ul.contact-form input:focus,
	ul.contact-form select:focus,
	ul.contact-form textarea:focus {
		border: 1px solid #1E9C33;
	  	outline: 0;
	}

	section.narrow h2.main-title {
		font-size: 6.4vw;
		font-weight: 900;
		line-height: 1;
		text-align: center;
		margin-bottom: 12vw;
	}

	section.narrow div.inner {
		max-width: 1000px;
	}

	section.narrow.greeting {
		background: url(../img/greeting-bg.png) top center / cover;
	}

	section.narrow.greeting h2.main-title {
		color: #fff;
	}

	p.greeting {
		font-size: 4vw;
		font-width: 500;
		line-height: 180%;
		margin-bottom: 4vw;
		color: #fff;
		text-align: justify;
	}

	p.company-name {
		font-size: 4vw;
		font-weight: 700;
		line-height: 180%;
		text-align: right;
		color: #fff;
	}

	p.ceo-name {
		font-size: 5.6vw;
		font-weight: 700;
		line-height: 180%;
		text-align: right;
		color: #fff;
	}

	table.company {
		width: 100%;
		font-size: 4vw;
		line-height: 180%;
		border-top: 1px solid #ddd;
		text-align: left;
	}

	table.company tr {
		border-bottom: 1px solid #ddd;
	}

	table.company th {
		padding: 4.8vw 0 3.6vw 0;
		font-weight: 700;
		width: 100%;
		display: block;
	}
	table.company td {
		font-weight: 500;
		padding: 0 0 4.8vw 0;
		width: 100%;
		display: block;
	}

	footer {
		width: 100%;
		background: #F1F8EA;
	}
	
	footer div.inner {
		width: 94vw;
		margin: 0 auto;
		padding: 10vw 0;
	}

	footer div.inner div.logo-area {
		margin-top: 10vw;
	}
	
	footer div.inner div.logo-area img {
		width: auto;
		height: 50px;
	}

	footer div.inner div.logo-area p.data {
		font-size: 3.6vw;
		font-weight: 500;
		line-height: 180%;
		margin-top: 4vw;
	}
	
	footer div.inner div.logo-area p.data a {
		color: #111;
		text-decoration: none;
		border: none;
	}
	
	div.fnav {
		width: 100%;
	}
	
	div.fnav ul {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 4vw;
	}
	
	div.fnav ul li a {
		font-size: 3.6vw;
		font-weight: 700;
		line-height: 10vw;
		color: #111;
		text-decoration: none;
		transition: .3s;
		display: block;
	}
	
	div.fnav ul li a:hover {
		opacity: 0.7;
	}
	
	p.copyright {
		font-size: 3.2vw;
		font-weight: 500;
		line-height: 12vw;
		color: #fff;
		background: #1E9C33;
		text-align: center;
	}
	
/******************************

下層共通

******************************/
	
	div.main-visual.lower {
		width: 100%;
		height: auto;
		min-height: auto;
		max-height: none;
		padding: 60px 3vw 0 3vw;
	}

	div.main-visual.lower div.inner {
		width: 100%;
		height: 32vw;
		border-radius: 4vw;
		display: flex;
		align-items: center;
		padding-left: 6vw;
	}

	div.main-visual.lower div.inner h1.page-title-en {
		font-size: 4vw;
		font-weight: 900;
		line-height: 100%;
		color: #fff;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}
	
	div.main-visual.lower div.inner h1.page-title-jp {
		font-size: 7.2vw;
		font-weight: 900;
		line-height: 140%;
		color: #fff;
		margin: 1vw 0 0 0;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}

	p.breadcrumbs {
		width: 100%;
		margin-top: 2vw;
		padding: 0 3vw;
		font-size: 3vw;
		line-height: 180%;
		font-weight: 500;
		color: #999;
	}

	p.breadcrumbs a {
		color: #111;
		text-decoration: none;
		transition: .3s;
	}

	p.breadcrumbs a:hover {
		color: #1E9C33;
	}

/******************************

コラム

******************************/

	div.main-visual.lower div.inner.column {
		background: url(../img/main-visual-column.jpg) no-repeat center center / cover;
	}

	section div.inner.column {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 12vw;
	}

	section div.inner.column div.content-wrapper {
		width: 100%;
		padding: 0;
	}

	section div.inner.column div.side-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 8vw;
	}

	section div.inner.column div.content-wrapper div.column-list {
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 0;
	}

	h2.column-title {
		font-size: 5.6vw;
		font-weight: 800;
		line-height: 150%;
		margin-bottom: 6vw;
		padding: 2vw 0 2vw 3vw;
		border-left: 6px solid #1E9C33;
	}

	h2.side-title {
		font-size: 4.8vw;
		font-weight: 800;
		line-height: 14vw;
		color: #1E9C33;
		background: #F1F8EA;
		padding: 0 0 0 4vw;
		margin: 0 0 2vw 0;
		border-radius: 2vw;
	}

	section div.inner.column div.side-wrapper ul {
		width: 100%;
	}

	section div.inner.column div.side-wrapper ul li {
		border-bottom: 2px dotted #ddd;
	}

	section div.inner.column div.side-wrapper ul li a {
		font-size: 4vw;
		font-weight: 600;
		color: #111;
		line-height: 12vw;
		padding: 0 4vw;
		text-decoration: none;
		display: block;
		transition: .3s;
		position: relative;
	}

	section div.inner.column div.side-wrapper ul li a::before {
		display: inline-block;
		content: "";
		margin-bottom: 0.8vw;
		margin-right: 1.6vw;
		width: 1.2vw;
		height: 1.2vw;
		border-radius: 3px;
		background-color: #1E9C33;
	}

	section div.inner.column div.side-wrapper ul li a:hover {
		opacity: 0.7;
	}

	section div.inner.column div.content-wrapper article {
		width: 100%;
	}

	section div.inner.column div.content-wrapper article div.date-area {
		display: flex;
		align-items: center;
		margin: 0 0 4.8vw 0;
		border-bottom: 1px solid #ddd;
	}

	section div.inner.column div.content-wrapper article div.date-area p.date {
		font-size: 4vw;
		font-weight: 700;
		line-height: 180%;
		margin-right: 3vw;
	}

	section div.inner.column div.content-wrapper article div.date-area p.category {
		font-size: 3.6vw;
		font-weight: 700;
		color: #1E9C33;
		line-height: 8vw;
		border-radius: 4vw;
		padding: 0 4vw;
		background: #F1F8EA;
	}

	section div.inner.column div.content-wrapper article h1 {
		font-size: 6.4vw;
		font-weight: 700;
		line-height: 150%;
		color: #111;
		margin-bottom: 6.4vw;
	}

	section div.inner.column div.content-wrapper article img {
		max-width: 100%;
		height: auto;
		margin-bottom: 6.4vw;
	}

	section div.inner.column div.content-wrapper article img.main {
		width: 100%;
		height: auto;
		border-radius: 4vw;
	}

	section div.inner.column div.content-wrapper article p {
		font-size: 4vw;
		font-weight: 500;
		line-height: 180%;
		margin-bottom: 3.6vw;
	}

	article h2 {
	  	border-bottom: solid 3px #eee;
	  	position: relative;
		font-size: 5.6vw;
		font-weight: 700;
		line-height: 150%;
		padding-bottom: 3vw;
		text-align: left;
		margin: 8vw 0 3.6vw 0;
	}

	article h2:after {
	  	position: absolute;
	  	content: " ";
	  	display: block;
	  	border-bottom: solid 3px #1E9C33;
	  	bottom: -3px;
	  	width: 20%;
	}
	
	article h3 {
		font-size: 4.8vw;
		font-weight: 700;
		line-height: 150%;
		color: #fff;
		padding: 15px;
		text-align: left;
		margin: 8vw 0 3.6vw 0;
		background: #1E9C33;
		border-radius: 8px;
	}
	
	article h4 {
		font-size: 4.8vw;
		font-weight: 700;
		line-height: 150%;
		color: #1E9C33;
		padding-bottom: 15px;
		text-align: left;
		border-bottom: solid 1px #ddd;
		margin: 8vw 0 3.6vw 0;
	}
	
	article h5 {
		font-size: 4.4vw;
		font-weight: 700;
		line-height: 150%;
		color: #111;
		text-align: left;
		margin: 8vw 0 3.6vw 0;
	}

	article ul {
		width: 100%;
		margin-top: 6.4vw;
		padding-left: 24px;
		font-size: 4vw;
		line-height: 180%;
		list-style: disc;
	}

	article ul li {
		margin: 1vw 0;
		font-weight: 500;
	}

	div.pagination {
		width: 100%;
		margin-top: 7.2vw;
		padding: 3vw;
		background: #f8f8f8;
		overflow: hidden;
		border: 1px solid #ddd;
	}
	
	div.pagination_prev {
		float: left;
	}
	
	div.pagination_next {
		float: right;
	}
	
	div.pagination_prev a,
	div.pagination_next a {
		font-size: 4vw;
		font-weight: bold;
		color: #1e1e14;
		text-decoration: none;
	}

	.main-button.column-bottom {
		margin: 10vw auto 0 auto;
	}

	.navigation {
		text-align: center;
		font-size: 3.6vw;
		line-height: 180%;
		margin-top: 4vw;
	}

/******************************

プライバシーポリシー

******************************/
	
	div.main-visual.lower div.inner.privacy {
		background: url(../img/main-visual-privacy.jpg) no-repeat center center / cover;
	}
	
	h2.privacy-title {
		font-size: 5.2vw;
		font-weight: 700;
		line-height: 150%;
		margin: 10vw 0 0 0;
		padding-bottom: 3vw;
		border-bottom: solid 1px #eee;
		position: relative;
	}

	h2.privacy-title::after {
		position: absolute;
		content: " ";
		display: block;
		border-bottom: solid 1px #1E9C33;
		bottom: -1px;
		width: 20%;
	}

	ul.privacy {
		width: 100%;
		margin-top: 6vw;
		padding-left: 20px;
		list-style: decimal;
		font-size: 4vw;
		line-height: 180%;
	}

	ul.privacy li {
		margin: 4vw 0;
		font-weight: 500;
	}

	ul.privacy.decimal {
		list-style: decimal;
	}

	ul.privacy.disc {
		list-style: disc;
	}

/******************************

404

******************************/

h1.simple {
	font-size: 5.2vw;
	font-weight: 700;
	line-height: 150%;
}
	
}

/******************************************************************************************************

SP補足

******************************************************************************************************/

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



}

/******************************************************************************************************

タブレット

******************************************************************************************************/

@media screen and (min-width:768px) and ( max-width:1024px) {
	
	#about,#achievements,#case,#flow,#column,#contact {
		margin-top: -80px;
		padding-top: 80px;
		display: block;
	}
	
	.pc {
		display: none;
	}
	
	.ta {
		display: block;
	}
	
	.sp {
		display: none;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 100px;
		height: 80px;
		cursor: pointer;
		text-align: center;
	}

	.hamburger span {
		display : block;
		position: absolute;
		width: 40px;
		height: 2px;
		left: 30px;
		background : #1E9C33;
		transition: .3s;
	}

	.hamburger span:nth-child(1) {
		top: 31px;
	}

	.hamburger span:nth-child(2) {
		top: 39px;
	}

	.hamburger span:nth-child(3) {
		top: 47px;
	}

	/* ナビが開いてる時 */

	.hamburger.active {
		display : block;
		position: fixed;
		z-index : 99999;
		right : 0;
		top   : 0;
		width : 100px;
		height: 80px;
		cursor: pointer;
		text-align: center;
		transition: .3s;
	}

	.hamburger.active span:nth-child(1) {
		top : 40px;
		left: 30px;
		background: #1E9C33;
		transform: rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 40px;
		background: #1E9C33;
		transform: rotate(45deg);
	}
	
	header {
		width: 100%;
		height: 80px;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		margin: auto;
		background: #fff;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 0 3vw;
	}
	
	h1 img.logo,
	div.logo-area img.logo {
		width: auto;
		height: 48px;
		position: relative;
		z-index: 10000;
	}
	
	nav.gnav {
		height: 100vh;
		visibility: hidden;
		opacity: 0;
		transition: .3s;
		width: 40%;
		position: fixed;
		top: 0;
		right: 0;
		background: #F1F8EA;
		overflow-y:  scroll;
		padding: 90px 30px 30px 30px;
		z-index: 1000;
		display: flex;
		align-items: center;
	}
	
	/* このクラスを、jQueryで付与・削除する */
	nav.gnav.active {
		visibility: visible;
		opacity: 1;
	}
	
	nav.gnav ul {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 4vh;
	}
	
	nav.gnav ul li {
		text-align: center;
	}
	
	nav.gnav ul li:last-child {
		margin-right: 0;
	}
	
	nav.gnav ul li a {
		font-size: 18px;
		font-weight: 700;
		color: #111;
		line-height: 180%;
		text-decoration: none;
	}
	
	nav.gnav ul li a.contact {
		width: fit-content;
		color: #fff;
		background: #1E9C33;
		line-height: 56px;
		padding: 0 30px;
		border-radius: 8px;
		display: block;
		margin: 0 auto;
	}
	
	div.main-visual {
		width: 100%;
		position: relative;
		padding-top: 80px;
	}

	div.main-visual div.photo {
		width: 100%;
		height: 64vw;
		position: relative;
		background: url(../img/main-visual.jpg) no-repeat center center / cover;
		border-radius: 48px 0 0 0;
	}

	div.main-visual div.photo p.copy {
		position: absolute;
		top: 5.6vw;
		left: 5.6vw;
		font-size: 5.6vw;
		font-weight: 900;
		line-height: 130%;
		color: #fff;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}

	div.main-visual div.sub-copy-area {
		width: 100%;
		height: 54vw;
		position: relative;
		padding-top: 32px;
	}

	div.main-visual div.sub-copy-area p.sub-copy {
		font-size: 4vw;
		font-weight: 700;
		line-height: 8vw;
		writing-mode: vertical-rl; 
		position: absolute;
		top: 6vw;
		left: 10%;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper {
		width: 100%;
		height: 10vw;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #F1F8EA;
		display: flex;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn {
		width: 50%;
		height: 100%;
		font-size: 3vw;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		color: #fff;
		transition: .3s;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a:hover.btn {
		opacity: 0.7;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn img {
		width: 4.8vw;
		height: auto;
		margin-right: 2vw;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a:hover.btn img {
		opacity: 1;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn.contact {
		background: #1E9C33;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn.tel {
		background: #E49600;
	}

	div.main-visual div.sub-copy-area ul.real-estate {
		width: 64%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		column-gap: 1vw;
		row-gap: 1vw;
		position: absolute;
		top: 4vw;
		right: 0;
		background: url("../img/sub-copy-bg.png") no-repeat top center / 100% auto;
		padding: 22vw 0 6vw 0;
	}

	div.main-visual div.sub-copy-area ul.real-estate li {
		font-size: 3vw;
		font-weight: 500;
		line-height: 5.6vw;
		text-align: center;
		background: #fff;
		border-radius: 3vw;
		padding: 0 3vw;
	}
	
	.main-button {
		width: fit-content;
		font-size: 20px;
		font-weight: 700;
		color: #111;
		line-height: 64px;
		background: #fff;
		border-radius: 8px;
		padding: 0 16px 0 24px;
		text-decoration: none;
		transition: .3s;
		display: block;
		display: flex;
		align-items: center;
	}

	.main-button-arrow {
		display: inline-block;
		vertical-align: middle;
		color: #1E9C33;
		line-height: 1;
		position: relative;
		width: 30px;
		height: 30px;
		background: currentColor;
		border-radius: 50%;
		box-sizing: content-box;
		margin-left: 8px;
	}

	.main-button-arrow::before {
		content: '';
		color: #fff;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent;
		border-width: 5px 8px;
		border-left-color: currentColor;
		border-right: 0;
		transform: translateX(15%);
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
	
	.main-button:hover {
		background: #1E9C33;
		color: #fff;
	}

	.main-button:hover .main-button-arrow {
		color: #fff;
	}

	.main-button:hover .main-button-arrow::before {
		color: #1E9C33;
	}

	div.main-visual .main-button {
		position: absolute;
		right: 32px;
		bottom: 32px;
	}

	section {
		width: 100%;
		position: relative;
		padding: 80px 0;
	}
	
	section div.inner {
		width: 90vw;
		margin: 0 auto;
	}

	section div.content-wrapper {
		width: 100%;
		padding: 80px 0 0 0;
	}
	
	.separate {
		display: flex;
		justify-content: space-between;
	}
	
	section.bg-green {
		background: #F1F8EA;
	}
	
	section h2.main-title-en {
		font-size: 20px;
		font-weight: 900;
		line-height: 100%;
		color: #1E9C33;
	}
	
	section h2.main-title-jp {
		font-size: 48px;
		font-weight: 900;
		line-height: 140%;
		color: #111;
		margin: 8px 0 64px 0;
		text-align: center;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	section h2.main-title-jp p {
		font-size: 18px;
		line-height: 150%;
		font-weight: 500;
		color: #1E9C33;
	}

	section.top {
		padding: 80px 0 200px 0;
	}

	h2.fukidashi {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0;
		padding: 0 0;
		font-size: 32px;
		font-weight: 900;

		&::before {
			content: "";
			width: 48px;
			height: 2px;
			box-sizing: border-box;
			background-color: #111;
			rotate: 60deg;
		}

		&::after {
			content: "";
			width: 48px;
			height: 2px;
			box-sizing: border-box;
			background-color: #111;
			rotate: -60deg;
		}
	}

	ul.fukidashi-list {
		width: 100%;
		max-width: 720px;
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 3vw;
		row-gap: 1.6vw;
		margin: 32px auto 0 auto;
		padding: 6vw 8vw 8vw 8vw;
		background: #fff;
		border-radius: 24px;
		position: relative;
	}

	ul.fukidashi-list::before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -30px;
		border: 30px solid transparent;
		border-top: 30px solid #fff;
	}

	ul.fukidashi-list li {
		font-size: 24px;
		font-weight: 700;
		line-height: 3vw;
		padding: 16px 0;
		border-bottom: 2px dotted #ddd;
		display: flex;
		align-items: center;
	}

	ul.fukidashi-list li::before {
		content: "";
		display: inline-block;
		width: 55px;
		height: 40px;
		background: url("../img/check.png") no-repeat left center / 40px auto;
	}

	img.fukidashi-img {
		width: 450px;
		height: auto;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -225px;
	}

	div.about-top.separate {
		display: block;
	}

	div.about-top div.txt-area {
		width: 100%;
	}

	div.about-top div.txt-area p.sub-title {
		font-size: 30px;
		font-weight: 700;
		line-height: 150%;
	}

	p.main-txt {
		font-size: 20px;
		font-weight: 500;
		line-height: 180%;
		margin-top: 32px;
		text-align: justify;
	}

	div.about-top ul.icon-area {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		margin-top: 40px;
	}

	div.about-top ul.icon-area li {
		border-radius: 24px;
		background-image: linear-gradient(0deg, #1e9c33, #7fcb6e);
		font-size: 24px;
		font-weight: 700;
		color: #fff;
		line-height: 1;
		padding: 32px 0;
		text-align: center;
	}

	div.about-top ul.icon-area li img {
		width: 80px;
		height: auto;
		display: block;
		margin: 0 auto 20px auto;
	}

	h3.sub-title-area {
		margin-top: 80px;
		padding-top: 48px;
		border-top: solid 1px #eee;
  		position: relative;
	}

	h3.sub-title-area::after {
		position: absolute;
		content: " ";
		display: block;
		border-top: solid 1px #1E9C33;
		top: -1px;
		width: 20%;
	}

	h3.sub-title-area p.sub-title {
		font-size: 32px;
		font-weight: 700;
		line-height: 150%;
		margin-bottom: 48px;
	}

	ul.customer {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 32px;
	}

	ul.customer > li {
		width: 100%;
		border-radius: 32px;
		padding: 60px;
	}

	ul.customer > li div.inner {
		width: 100%;
	}

	ul.customer > li div.inner h4 {
		font-size: 28px;
		font-weight: 700;
		line-height: 150%;
	}

	ul.customer > li div.inner img {
		width: 100%;
		height: auto;
		border-radius: 24px;
		margin-top: 40px;
	}

	ul.customer > li.individual {
		background: #F1F8EA url("../img/customer-bg01.png") no-repeat top right / 100% auto;
	}

	ul.customer > li.individual div.inner h4 {
		color: #1E9C33;
	}

	ul.customer > li.individual div.inner img {
		box-shadow: 10px 10px #7FCB6E;
	}

	ul.customer > li.company {
		background: #FFF7E8 url("../img/customer-bg02.png") no-repeat top right / 100% auto;
	}

	ul.customer > li.company div.inner h4 {
		color: #E49600;
	}

	ul.customer > li.company div.inner img {
		box-shadow: 10px 10px #FBAF1D;
	}

	ul.customer > li h5 {
		font-size: 24px;
		font-weight: 700;
		line-height: 150%;
		margin: 56px 0 24px 0;
		display: flex;
		align-items: center;
	}

	ul.customer > li h5::before {
		margin: 0 10px 0 0;
		width: 12px;
		height: 12px;
		content: '';
		border-radius: 100%;
		background:#FBAF1D;
	}

	ul.customer > li > ul.difficult-case {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	ul.customer > li > ul.difficult-case > li {
		display: flex;
		align-items: center;
		font-size: 20px;
		font-weight: 500;
		line-height: 150%;
		border-radius: 8px;
		padding-right: 16px;
		overflow: hidden;
		background: #fff;
	}

	ul.customer > li > ul.difficult-case > li img {
		width: 80px;
		height: auto;
		margin-right: 16px;
	}

	ul.customer > li > ul.collaboration {
		width: 100%;
		display: flex;
		align-items: center;
		column-gap: 8px;
	}

	ul.customer > li > ul.collaboration > li {
		width: fit-content;
		font-size: 24px;
		font-weight: 500;
		line-height: 64px;
		border-radius: 32px;
		background: #fff;;
		padding: 0 32px;
	}

	section.achievements {
		background: #1E9C33;
	}

	section.achievements h2,
	section.achievements h2 p {
		color: #fff;
	}

	ul.achievements-list {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}

	ul.achievements-list li {
		border-radius: 24px;
		background: #fff;
		overflow: hidden;
	}

	ul.achievements-list li p.achievements {
		font-size: 96px;
		font-weight: 900;
		text-align: center;
		line-height: 150px;
		background: linear-gradient(180deg, #7fcb6e 0%, #1e9c33 100%);
		color: transparent;
		background-clip: text;
		-webkit-background-clip: text;
	}

	ul.achievements-list li p.achievements span {
		font-size: 48px;
		font-weight: 500;
	}

	ul.achievements-list li p.achievements-title {
		width: 100%;
		font-size: 22px;
		font-weight: 500;
		text-align: center;
		line-height: 50px;
		display: block;
		background: #F1F8EA;
	}

	h3.sub-title-area p.region {
		width: fit-content;
		font-size: 20px;
		font-weight: 700;
		line-height: 40px;
		color: #1E9C33;
		background: #F1F8EA;
		border-radius: 20px;
		margin-bottom: 10px;
		padding: 0 24px;
	}

	h3.sub-title-area p.case-title {
		font-size: 32px;
		font-weight: 700;
		line-height: 150%;
	}

	h3.sub-title-area p.case-number {
		position: absolute;
		top: 0;
		right: 0;
		font-size: 160px;
		font-weight: 900;
		line-height: 1;
		color: #F1F8EA;
		z-index: -1;
	}

	ul.before-after {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 24px;
		margin-top: 48px;
	}

	ul.before-after li {
		position: relative;
	}

	ul.before-after li img {
		width: 100%;
		height: auto;
	}
	
	ul.before-after li p {
		font-size: 16px;
		font-weight: 700;
		line-height: 40px;
		padding: 0 16px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}

	ul.before-after li p.before {
		background: #ddd;
	}

	ul.before-after li p.after {
		background: #1E9C33;
		color: #fff;
	}

	section.flow {
		padding: 80px 0 200px 0;
	}

	img.flow-img {
		width: 480px;
		height: auto;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -240px;
	}

	div.flow-wrapper {
		width: 100%;
		max-width: 720px;
		margin: 0 auto;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 10px;
	}

	div.flow-wrapper div.flow-items {
		width: 100%;
		font-size: 28px;
		font-weight: 700;
		line-height: 100px;
		text-align: center;
		position: relative;
		background: #fff;
		border-radius: 50px;
	}

	div.flow-wrapper div.flow-items p.number {
		width: 80px;
		height: 80px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 36px;
		font-weight: 700;
		color: #fff;
		position: absolute;
		top: 10px;
		left: 10px;
		border-radius: 50%;
		background: linear-gradient(180deg, #7fcb6e 0%, #1e9c33 100%);
	}

	div.flow-wrapper img.arrow {
		width: auto;
		height: 64px;
		display: block;
		margin: 0 auto;
	}

	p.main-txt.under-title {
		margin-top: -32px;
	}

	div.column-list {
		width: 100%;
		margin-top: 48px;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 48px;
	}

	div.column-list a {
		text-decoration: none;
		display: flex;
		align-items: center;
	}

	div.column-list a img {
		width: 40%;
		height: auto;
		aspect-ratio: 16 / 10;
		object-fit: cover;
		border-radius: 16px;
		margin-right: 24px;
	}

	div.column-list a div.date-area {
		display: flex;
		align-items: center;
	}

	div.column-list a div.date-area p.date {
		font-size: 18px;
		font-weight: 500;
		color: #111;
		margin-right: 10px;
	}

	div.column-list a div.date-area p.category {
		font-size: 16px;
		font-weight: 700;
		color: #1E9C33;
		line-height: 30px;
		padding: 0 15px;
		background: #F1F8EA;
		border-radius: 15px;
	}

	div.column-list a p.title {
		font-size: 24px;
		font-weight: 700;
		color: #111;
		line-height: 150%;
		margin-top: 16px;
	}

	ul.contact-form {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 10px;
		margin-top: 48px;
	}

	ul.contact-form li {
		width: 100%;
		background: #f8f8f8;
		border-radius: 16px;
	}

	ul.contact-form li div.left {
		width: 100%;
		padding: 32px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	ul.contact-form li div.left p {
		font-size: 20px;
		line-height: 150%;
		font-weight: 700;
	}

	ul.contact-form li div.right {
		width: 100%;
		font-size: 20px;
		line-height: 150%;
		padding: 0 32px 32px 32px;
	}

	.formbtn {
		width: fit-content;
		padding: 30px 70px;
		background: #1E9C33;
		font-size: 30px;
		line-height: 1;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 16px;
		margin: 56px auto 0 auto;
		display: block;
		font-weight: 700;
		transition: 0.3s;
		border: none;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	.formbtn:hover {
		opacity: 0.7;
	}

	input[type="text"],
	input[type="tel"],
	textarea {
		width: 50%;
		border: 1px solid #ddd;
		padding: 5px;
		font-size: 20px;
		font-weight: 400;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	input[type="email"],
	textarea {
		width: 100%;
		border: 1px solid #ddd;
		padding: 5px;
		font-size: 20px;
		font-weight: 400;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	textarea {
		height: 200px;
	}

	input[type="select"],
	select {
		font-weight: normal;
	}

	.must {
		display: block;
		background-color: red;
		padding: 0 6px;
		font-size: 16px;
		line-height: 30px;
		color: #fff;
		border-radius: 3px;
		font-weight: 700;
	}

	ul.contact-form input,
	ul.contact-form select,
	ul.contact-form textarea {
		padding: 10px;
		border: 1px solid #ddd;
		border-radius: 0;
	}

	ul.contact-form input:focus,
	ul.contact-form select:focus,
	ul.contact-form textarea:focus {
		border: 1px solid #1E9C33;
	  	outline: 0;
	}

	section.narrow h2.main-title {
		font-size: 40px;
		font-weight: 900;
		line-height: 1;
		text-align: center;
		margin-bottom: 80px;
	}

	section.narrow div.inner {
		max-width: 1000px;
	}

	section.narrow.greeting {
		background: url(../img/greeting-bg.png) top center / cover;
	}

	section.narrow.greeting h2.main-title {
		color: #fff;
	}

	p.greeting {
		font-size: 20px;
		font-width: 500;
		line-height: 180%;
		margin-bottom: 32px;
		color: #fff;
		text-align: justify;
	}

	p.company-name {
		font-size: 20px;
		font-weight: 700;
		line-height: 180%;
		text-align: right;
		color: #fff;
	}

	p.ceo-name {
		font-size: 30px;
		font-weight: 700;
		line-height: 180%;
		text-align: right;
		color: #fff;
	}

	table.company {
		width: 100%;
		font-size: 20px;
		line-height: 180%;
		border-top: 1px solid #ddd;
		text-align: left;
	}

	table.company tr {
		border-bottom: 1px solid #ddd;
	}

	table.company th {
		padding: 32px 0;
		font-weight: 700;
		width: 100%;
		display: block;
	}
	table.company td {
		font-weight: 500;
		padding: 0 0 32px 0;
		width: 100%;
		display: block;
	}

	footer {
		width: 100%;
		background: #F1F8EA;
	}
	
	footer div.inner {
		width: 94vw;
		margin: 0 auto;
		padding: 60px 0;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}
	
	footer div.inner div.logo-area img {
		width: auto;
		height: 60px;
	}

	footer div.inner div.logo-area p.data {
		font-size: 14px;
		font-weight: 500;
		line-height: 180%;
		margin-top: 24px;
	}
	
	footer div.inner div.logo-area p.data a {
		color: #111;
		text-decoration: none;
		border: none;
	}
	
	div.fnav {
		width: fit-content;
	}
	
	div.fnav ul {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 64px;
	}
	
	div.fnav ul li a {
		font-size: 16px;
		font-weight: 700;
		line-height: 40px;
		color: #111;
		text-decoration: none;
		transition: .3s;
		display: block;
	}
	
	div.fnav ul li a:hover {
		opacity: 0.7;
	}
	
	p.copyright {
		font-size: 16px;
		font-weight: 500;
		line-height: 60px;
		color: #fff;
		background: #1E9C33;
		text-align: center;
	}
	
/******************************

下層共通

******************************/
	
	div.main-visual.lower {
		width: 100%;
		height: auto;
		min-height: auto;
		max-height: none;
		padding: 80px 3vw 0 3vw;
	}

	div.main-visual.lower div.inner {
		width: 100%;
		height: 240px;
		border-radius: 24px;
		display: flex;
		align-items: center;
		padding-left: 48px;
	}

	div.main-visual.lower div.inner h1.page-title-en {
		font-size: 24px;
		font-weight: 900;
		line-height: 100%;
		color: #fff;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}
	
	div.main-visual.lower div.inner h1.page-title-jp {
		font-size: 48px;
		font-weight: 900;
		line-height: 140%;
		color: #fff;
		margin: 8px 0 0 0;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}

	p.breadcrumbs {
		width: 100%;
		margin-top: 8px;
		padding: 0 3vw;
		font-size: 14px;
		line-height: 180%;
		font-weight: 500;
		color: #999;
	}

	p.breadcrumbs a {
		color: #111;
		text-decoration: none;
		transition: .3s;
	}

	p.breadcrumbs a:hover {
		color: #1E9C33;
	}

/******************************

コラム

******************************/

	div.main-visual.lower div.inner.column {
		background: url(../img/main-visual-column.jpg) no-repeat center center / cover;
	}

	section div.inner.column {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 80px;
	}

	section div.inner.column div.content-wrapper {
		width: 100%;
		padding: 0;
	}

	section div.inner.column div.side-wrapper {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
	}

	section div.inner.column div.content-wrapper div.column-list {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 48px;
		margin-top: 0;
	}

	h2.column-title {
		font-size: 32px;
		font-weight: 800;
		line-height: 150%;
		margin-bottom: 48px;
		padding: 5px 0 5px 15px;
		border-left: 6px solid #1E9C33;
	}

	h2.side-title {
		font-size: 24px;
		font-weight: 800;
		line-height: 70px;
		color: #1E9C33;
		background: #F1F8EA;
		padding: 0 0 0 20px;
		margin: 0 0 10px 0;
		border-radius: 8px;
	}

	section div.inner.column div.side-wrapper ul {
		width: 100%;
	}

	section div.inner.column div.side-wrapper ul li {
		border-bottom: 2px dotted #ddd;
	}

	section div.inner.column div.side-wrapper ul li a {
		font-size: 20px;
		font-weight: 600;
		color: #111;
		line-height: 60px;
		padding: 0 20px;
		text-decoration: none;
		display: block;
		transition: .3s;
		position: relative;
	}

	section div.inner.column div.side-wrapper ul li a::before {
		display: inline-block;
		content: "";
		margin-bottom: 3px;
		margin-right: 8px;
		width: 6px;
		height: 6px;
		border-radius: 3px;
		background-color: #1E9C33;
	}

	section div.inner.column div.side-wrapper ul li a:hover {
		opacity: 0.7;
	}

	section div.inner.column div.content-wrapper article {
		width: 100%;
	}

	section div.inner.column div.content-wrapper article div.date-area {
		display: flex;
		align-items: center;
		margin: 0 0 32px 0;
		border-bottom: 1px solid #ddd;
	}

	section div.inner.column div.content-wrapper article div.date-area p.date {
		font-size: 20px;
		font-weight: 700;
		line-height: 180%;
		margin-right: 15px;
	}

	section div.inner.column div.content-wrapper article div.date-area p.category {
		font-size: 18px;
		font-weight: 700;
		color: #1E9C33;
		line-height: 40px;
		border-radius: 20px;
		padding: 0 20px;
		background: #F1F8EA;
	}

	section div.inner.column div.content-wrapper article h1 {
		font-size: 36px;
		font-weight: 700;
		line-height: 150%;
		color: #111;
		margin-bottom: 48px;
	}

	section div.inner.column div.content-wrapper article img {
		max-width: 100%;
		height: auto;
		margin-bottom: 48px;
	}

	section div.inner.column div.content-wrapper article img.main {
		width: 100%;
		height: auto;
		border-radius: 24px;
	}

	section div.inner.column div.content-wrapper article p {
		font-size: 20px;
		font-weight: 500;
		line-height: 180%;
		margin-bottom: 32px;
	}

	article h2 {
	  	border-bottom: solid 3px #eee;
	  	position: relative;
		font-size: 30px;
		font-weight: 700;
		line-height: 150%;
		padding-bottom: 16px;
		text-align: left;
		margin: 56px 0 16px 0;
	}

	article h2:after {
	  	position: absolute;
	  	content: " ";
	  	display: block;
	  	border-bottom: solid 3px #1E9C33;
	  	bottom: -3px;
	  	width: 20%;
	}
	
	article h3 {
		font-size: 24px;
		font-weight: 700;
		line-height: 150%;
		color: #fff;
		padding: 16px;
		text-align: left;
		margin: 56px 0 16px 0;
		background: #1E9C33;
		border-radius: 8px;
	}
	
	article h4 {
		font-size: 24px;
		font-weight: 700;
		line-height: 150%;
		color: #1E9C33;
		padding-bottom: 15px;
		text-align: left;
		border-bottom: solid 1px #ddd;
		margin: 56px 0 16px 0;
	}
	
	article h5 {
		font-size: 22px;
		font-weight: 700;
		line-height: 150%;
		color: #111;
		text-align: left;
		margin: 56px 0 16px 0;
	}
	
	article table {
		margin-bottom: 32px;
	}

	article ul {
		width: 100%;
		margin-top: 32px;
		padding-left: 24px;
		font-size: 20px;
		line-height: 180%;
		list-style: disc;
	}

	article ul li {
		margin: 5px 0;
		font-weight: 500;
	}

	div.pagination {
		width: 100%;
		margin-top: 56px;
		padding: 3vw;
		background: #f8f8f8;
		overflow: hidden;
		border: 1px solid #ddd;
	}
	
	div.pagination_prev {
		float: left;
	}
	
	div.pagination_next {
		float: right;
	}
	
	div.pagination_prev a,
	div.pagination_next a {
		font-size: 20px;
		font-weight: 700;
		color: #111;
		text-decoration: none;
	}

	.main-button.column-bottom {
		margin: 6vw auto 0 auto;
	}

	.navigation {
		text-align: center;
		font-size: 2vw;
		line-height: 180%;
		margin-top: 4vw;
	}

/******************************

プライバシーポリシー

******************************/
	
	div.main-visual.lower div.inner.privacy {
		background: url(../img/main-visual-privacy.jpg) no-repeat center center / cover;
	}
	
	h2.privacy-title {
		font-size: 30px;
		font-weight: 700;
		line-height: 150%;
		margin: 60px 0 -10px 0;
		padding-bottom: 20px;
		border-bottom: solid 1px #eee;
		position: relative;
	}

	h2.privacy-title::after {
		position: absolute;
		content: " ";
		display: block;
		border-bottom: solid 1px #1E9C33;
		bottom: -1px;
		width: 20%;
	}

	ul.privacy {
		width: 100%;
		margin-top: 30px;
		padding-left: 24px;
		font-size: 20px;
		line-height: 180%;
	}

	ul.privacy li {
		margin: 16px 0;
		font-weight: 500;
	}

	ul.privacy.decimal {
		list-style-type: decimal;
	}

	ul.privacy.disc {
		list-style: disc;
	}

/******************************

404

******************************/

h1.simple {
	font-size: 30px;
	font-weight: 700;
	line-height: 150%;
}

}

/******************************************************************************************************

PC

******************************************************************************************************/

@media screen and (min-width:1025px) {
	
	#about,#achievements,#case,#flow,#column,#contact {
		margin-top: -96px;
		padding-top: 96px;
		display: block;
	}
	
	a img {
		transition: .3s;
	}
	
	a:hover img {
		opacity: 0.7;
	}
	
	.pc {
		display: block;
	}
	
	.ta {
		display: none;
	}
	
	.sp {
		display: none;
	}
	
	p.main-txt a:hover {
		text-decoration: none;
	}
	
	header {
		width: 100%;
		height: 96px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 10000;
		margin: auto;
		background: #fff;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 24px;
	}
	
	h1 img.logo,
	div.logo-area img.logo {
		width: auto;
		height: 56px;
	}
	
	nav.gnav ul {
		display: flex;
		align-items: center
	}
	
	nav.gnav ul li {
		margin-right: 2vw;
	}
	
	nav.gnav ul li:last-child {
		margin-right: 0;
	}
	
	nav.gnav ul li a {
		font-size: min(1.8vw, 20px);
		font-weight: 700;
		color: #111;
		text-decoration: none;
		transition: .3s;
	}

	nav.gnav ul li a:hover {
		color: #1E9C33;
	}
	
	nav.gnav ul li a.contact {
		color: #fff;
		background: #1E9C33;
		line-height: 60px;
		padding: 0 40px;
		border-radius: 8px;
		display: block;
	}
	
	nav.gnav ul li a:hover.contact {
		opacity: 0.7;
	}
	
	/*　ハンバーガーボタン　*/

	.hamburger {
		display: none;
	}
	
	div.main-visual {
		width: 100%;
		height: 100%;
		min-height: 54vw;
		max-height: 60vw;
		position: relative;
		padding-top: 96px;
		display: flex;
		flex-direction: row-reverse;
	}

	div.main-visual div.photo {
		width: 76%;
		height: 100%;
		position: relative;
		background: url(../img/main-visual.jpg) no-repeat center center / cover;
		border-radius: 64px 0 0 0;
	}

	div.main-visual div.photo p.copy {
		position: absolute;
		top: 5.6vw;
		left: 6.4vw;
		font-size: 4vw;
		font-weight: 900;
		line-height: 130%;
		color: #fff;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}

	div.main-visual div.sub-copy-area {
		width: 24%;
		height: 100%;
		background: url("../img/sub-copy-bg.png") no-repeat top 22.5vw left / 100% auto;
		position: relative;
		padding-top: 5vw;
	}

	div.main-visual div.sub-copy-area p.sub-copy {
		font-size: 2.4vw;
		font-weight: 700;
		line-height: 220%;
		writing-mode: vertical-rl; 
		display: block;
		margin: 0 auto;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper {
		width: 100%;
		height: 10vw;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #F1F8EA;
		display: flex;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn {
		width: 50%;
		height: 100%;
		font-size: 1.4vw;
		font-weight: 700;
		line-height: 1;
		text-align: center;
		padding-top: 2.5vw;
		text-decoration: none;
		color: #fff;
		transition: .3s;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a:hover.btn {
		opacity: 0.7;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn img {
		width: 3.6vw;
		height: auto;
		display: block;
		margin: 0 auto 1.5vw auto;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a:hover.btn img {
		opacity: 1;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn.contact {
		background: #1E9C33;
	}

	div.main-visual div.sub-copy-area div.btn-wrapper a.btn.tel {
		background: #E49600;
	}

	div.main-visual div.sub-copy-area ul.real-estate {
		width: 90%;
		position: absolute;
		left: 5%;
		bottom: 11.2vw;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 0.5vw;
		row-gap: 0.5vw;
	}

	div.main-visual div.sub-copy-area ul.real-estate li {
		font-size: 1.2vw;
		font-weight: 500;
		line-height: 3vw;
		text-align: center;
		background: #fff;
		border-radius: 1.5vw;
		padding: 0 1.2vw;
	}
	
	.main-button {
		width: fit-content;
		font-size: 24px;
		font-weight: 700;
		color: #111;
		line-height: 80px;
		background: #fff;
		border-radius: 8px;
		padding: 0 24px 0 32px;
		text-decoration: none;
		transition: .3s;
		display: block;
		display: flex;
		align-items: center;
	}

	.main-button-arrow {
		display: inline-block;
		vertical-align: middle;
		color: #1E9C33;
		line-height: 1;
		position: relative;
		width: 40px;
		height: 40px;
		background: currentColor;
		border-radius: 50%;
		box-sizing: content-box;
		margin-left: 16px;
	}

	.main-button-arrow::before {
		content: '';
		color: #fff;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent;
		border-width: 7px 12px;
		border-left-color: currentColor;
		border-right: 0;
		transform: translateX(15%);
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
	
	.main-button:hover {
		background: #1E9C33;
		color: #fff;
	}

	.main-button:hover .main-button-arrow {
		color: #fff;
	}

	.main-button:hover .main-button-arrow::before {
		color: #1E9C33;
	}

	div.main-visual .main-button {
		position: absolute;
		right: 2.4vw;
		bottom: 2.4vw;
		font-size: 1.6vw;
		line-height: 5.6vw;
		border-radius: 0.8vw;
		padding: 0 1.6vw 0 2.4vw;
	}

	div.main-visual .main-button-arrow {
		width: 2.8vw;
		height: 2.8vw;
		background: currentColor;
		border-radius: 50%;
		box-sizing: content-box;
		margin-left: 1vw;
	}

	div.main-visual .main-button-arrow::before {
		border-width: 0.5vw 0.8vw;
	}

	section {
		width: 100%;
		position: relative;
		padding: 96px 0;
	}
	
	section div.inner {
		width: 96vw;
		max-width: 1200px;
		margin: 0 auto;
	}

	section div.content-wrapper {
		width: 100%;
		padding: 96px 0 0 0;
	}
	
	.separate {
		display: flex;
		justify-content: space-between;
	}
	
	section.bg-green {
		background: #F1F8EA;
	}
	
	section h2.main-title-en {
		font-size: min(2vw,24px);
		font-weight: 900;
		line-height: 100%;
		color: #1E9C33;
	}
	
	section h2.main-title-jp {
		font-size: min(4.8vw, 56px);
		font-weight: 900;
		line-height: 140%;
		color: #111;
		margin: 8px 0 80px 0;
		text-align: center;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	section h2.main-title-jp p {
		font-size: min(1.8vw, 24px);
		line-height: 150%;
		font-weight: 500;
		color: #1E9C33;
	}

	section.top {
		padding: 96px 0 240px 0;
	}

	h2.fukidashi {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0;
		padding: 0 0;
		font-size: 40px;
		font-weight: 900;

		&::before {
			content: "";
			width: 56px;
			height: 2px;
			box-sizing: border-box;
			background-color: #111;
			rotate: 60deg;
		}

		&::after {
			content: "";
			width: 56px;
			height: 2px;
			box-sizing: border-box;
			background-color: #111;
			rotate: -60deg;
		}
	}

	ul.fukidashi-list {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 48px;
		row-gap: 16px;
		margin-top: 40px;
		padding: 40px;
		background: #fff;
		border-radius: 32px;
		position: relative;
	}

	ul.fukidashi-list::before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -40px;
		border: 40px solid transparent;
		border-top: 40px solid #fff;
	}

	ul.fukidashi-list li {
		font-size: 24px;
		font-weight: 700;
		line-height: 40px;
		padding: 16px 0;
		border-bottom: 3px dotted #ddd;
		display: flex;
		align-items: center;
	}

	ul.fukidashi-list li::before {
		content: "";
		display: inline-block;
		width: 50px;
		height: 40px;
		background: url("../img/check.png") no-repeat left center / 40px auto;
	}

	img.fukidashi-img {
		width: 540px;
		height: auto;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -270px;
	}

	div.about-top {
		align-items: flex-start;
		padding-top: 16px;
	}

	div.about-top div.txt-area {
		width: 36.66%;
	}

	div.about-top div.txt-area p.sub-title {
		font-size: min(2.8vw, 32px);
		font-weight: 700;
		line-height: 150%;
	}

	p.main-txt {
		font-size: 20px;
		font-weight: 500;
		line-height: 180%;
		margin-top: 32px;
		text-align: justify;
	}

	div.about-top ul.icon-area {
		width: 58.33%;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	div.about-top ul.icon-area li {
		border-radius: 24px;
		background-image: linear-gradient(0deg, #1e9c33, #7fcb6e);
		font-size: min(2.4vw, 30px);
		font-weight: 700;
		color: #fff;
		line-height: 1;
		padding: 32px 0;
		text-align: center;
	}

	div.about-top ul.icon-area li img {
		width: 40%;
		height: auto;
		display: block;
		margin: 0 auto 20px auto;
	}

	h3.sub-title-area {
		margin-top: 96px;
		padding-top: 56px;
		border-top: solid 1px #eee;
  		position: relative;
	}

	h3.sub-title-area::after {
		position: absolute;
		content: " ";
		display: block;
		border-top: solid 1px #1E9C33;
		top: -1px;
		width: 20%;
	}

	h3.sub-title-area p.sub-title {
		font-size: min(3.4vw, 40px);
		font-weight: 700;
		line-height: 150%;
		margin-bottom: 56px;
	}

	ul.customer {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 32px;
	}

	ul.customer > li {
		width: 100%;
		border-radius: 32px;
		padding: 60px;
	}

	ul.customer > li div.inner {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	ul.customer > li div.inner h4 {
		font-size: min(2.8vw, 32px);
		font-weight: 700;
		line-height: 150%;
	}

	ul.customer > li div.inner img {
		width: 400px;
		height: auto;
		border-radius: 24px;
		margin-left: 30px;
	}

	ul.customer > li.individual {
		background: #F1F8EA url("../img/customer-bg01.png") no-repeat top right / 100% auto;
	}

	ul.customer > li.individual div.inner h4 {
		color: #1E9C33;
	}

	ul.customer > li.individual div.inner img {
		box-shadow: 10px 10px #7FCB6E;
	}

	ul.customer > li.company {
		background: #FFF7E8 url("../img/customer-bg02.png") no-repeat top right / 100% auto;
	}

	ul.customer > li.company div.inner h4 {
		color: #E49600;
	}

	ul.customer > li.company div.inner img {
		box-shadow: 10px 10px #FBAF1D;
	}

	ul.customer > li h5 {
		font-size: 24px;
		font-weight: 700;
		line-height: 150%;
		margin: 56px 0 24px 0;
		display: flex;
		align-items: center;
	}

	ul.customer > li h5::before {
		margin: 0 10px 0 0;
		width: 12px;
		height: 12px;
		content: '';
		border-radius: 100%;
		background:#FBAF1D;
	}

	ul.customer > li > ul.difficult-case {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
	}

	ul.customer > li > ul.difficult-case > li {
		display: flex;
		align-items: center;
		font-size: 20px;
		font-weight: 500;
		line-height: 150%;
		border-radius: 8px;
		padding-right: 16px;
		overflow: hidden;
		background: #fff;
	}

	ul.customer > li > ul.difficult-case > li img {
		width: 80px;
		height: auto;
		margin-right: 16px;
	}

	ul.customer > li > ul.collaboration {
		width: 100%;
		display: flex;
		align-items: center;
		column-gap: 8px;
	}

	ul.customer > li > ul.collaboration > li {
		width: fit-content;
		font-size: 24px;
		font-weight: 500;
		line-height: 64px;
		border-radius: 32px;
		background: #fff;;
		padding: 0 32px;
	}

	section.achievements {
		background: #1E9C33;
	}

	section.achievements h2,
	section.achievements h2 p {
		color: #fff;
	}

	ul.achievements-list {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 30px;
	}

	ul.achievements-list li {
		border-radius: 24px;
		background: #fff;
		overflow: hidden;
	}

	ul.achievements-list li p.achievements {
		font-size: 96px;
		font-weight: 900;
		text-align: center;
		line-height: 150px;
		background: linear-gradient(180deg, #7fcb6e 0%, #1e9c33 100%);
		color: transparent;
		background-clip: text;
		-webkit-background-clip: text;
	}

	ul.achievements-list li p.achievements span {
		font-size: 48px;
		font-weight: 500;
	}

	ul.achievements-list li p.achievements-title {
		width: 100%;
		font-size: 22px;
		font-weight: 500;
		text-align: center;
		line-height: 50px;
		display: block;
		background: #F1F8EA;
	}

	h3.sub-title-area p.region {
		width: fit-content;
		font-size: 20px;
		font-weight: 700;
		line-height: 40px;
		color: #1E9C33;
		background: #F1F8EA;
		border-radius: 20px;
		margin-bottom: 10px;
		padding: 0 24px;
	}

	h3.sub-title-area p.case-title {
		font-size: min(3.4vw, 40px);
		font-weight: 700;
		line-height: 150%;
	}

	h3.sub-title-area p.case-number {
		position: absolute;
		top: 0;
		right: 0;
		font-size: 240px;
		font-weight: 900;
		line-height: 1;
		color: #F1F8EA;
		z-index: -1;
	}

	ul.before-after {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
		margin-top: 56px;
	}

	ul.before-after li {
		position: relative;
	}

	ul.before-after li img {
		width: 100%;
		height: auto;
	}
	
	ul.before-after li p {
		font-size: 20px;
		font-weight: 700;
		line-height: 50px;
		padding: 0 20px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}

	ul.before-after li p.before {
		background: #ddd;
	}

	ul.before-after li p.after {
		background: #1E9C33;
		color: #fff;
	}

	section.flow {
		padding: 96px 0 296px 0;
	}

	img.flow-img {
		width: 600px;
		height: auto;
		position: absolute;
		left: 50%;
		bottom: 0;
		margin-left: -300px;
	}

	div.flow-wrapper {
		width: 800px;
		margin: 0 auto;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 10px;
	}

	div.flow-wrapper div.flow-items {
		width: 100%;
		font-size: min(2.8vw, 32px);
		font-weight: 700;
		line-height: 100px;
		text-align: center;
		position: relative;
		background: #fff;
		border-radius: 50px;
	}

	div.flow-wrapper div.flow-items p.number {
		width: 80px;
		height: 80px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 36px;
		font-weight: 700;
		color: #fff;
		position: absolute;
		top: 10px;
		left: 10px;
		border-radius: 50%;
		background: linear-gradient(180deg, #7fcb6e 0%, #1e9c33 100%);
	}

	div.flow-wrapper img.arrow {
		width: auto;
		height: 64px;
		display: block;
		margin: 0 auto;
	}

	p.main-txt.under-title {
		margin-top: -32px;
	}

	div.column-list {
		width: 100%;
		margin-top: 60px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 60px;
	}

	div.column-list a {
		text-decoration: none;
	}

	div.column-list a img {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 10;
		object-fit: cover;
		border-radius: 16px;
	}

	div.column-list a div.date-area {
		margin-top: 24px;
		display: flex;
		align-items: center;
	}

	div.column-list a div.date-area p.date {
		font-size: 18px;
		font-weight: 500;
		color: #111;
		margin-right: 10px;
	}

	div.column-list a div.date-area p.category {
		font-size: 16px;
		font-weight: 700;
		color: #1E9C33;
		line-height: 30px;
		padding: 0 15px;
		background: #F1F8EA;
		border-radius: 15px;
	}

	div.column-list a p.title {
		font-size: 24px;
		font-weight: 700;
		color: #111;
		line-height: 150%;
		margin-top: 16px;
	}

	ul.contact-form {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 10px;
		margin-top: 60px;
	}

	ul.contact-form li {
		width: 100%;
		display: flex;
		align-items: center;
		background: #f8f8f8;
		border-radius: 16px;
	}

	ul.contact-form li div.left {
		width: 35%;
		padding: 40px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	ul.contact-form li div.left p {
		font-size: 20px;
		line-height: 150%;
		font-weight: 700;
	}

	ul.contact-form li div.right {
		width: 65%;
		font-size: 20px;
		line-height: 150%;
		padding: 40px 40px 40px 0;
	}

	.formbtn {
		width: fit-content;
		padding: 30px 70px;
		background: #1E9C33;
		font-size: 30px;
		line-height: 1;
		color: #fff;
		cursor: pointer;
		outline: none;
		border-radius: 16px;
		margin: 80px auto 0 auto;
		display: block;
		font-weight: 700;
		transition: 0.3s;
		border: none;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	.formbtn:hover {
		opacity: 0.7;
	}

	input[type="text"],
	input[type="tel"],
	textarea {
		width: 50%;
		border: 1px solid #ddd;
		padding: 5px;
		font-size: 20px;
		font-weight: 400;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	input[type="email"],
	textarea {
		width: 100%;
		border: 1px solid #ddd;
		padding: 5px;
		font-size: 20px;
		font-weight: 400;
		font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	}

	textarea {
		height: 200px;
	}

	input[type="select"],
	select {
		font-weight: normal;
	}

	.must {
		display: block;
		background-color: red;
		padding: 0 6px;
		font-size: 16px;
		line-height: 30px;
		color: #fff;
		border-radius: 3px;
		font-weight: 700;
	}

	ul.contact-form input,
	ul.contact-form select,
	ul.contact-form textarea {
		padding: 10px;
		border: 1px solid #ddd;
		border-radius: 0;
	}

	ul.contact-form input:focus,
	ul.contact-form select:focus,
	ul.contact-form textarea:focus {
		border: 1px solid #1E9C33;
	  	outline: 0;
	}

	section.narrow h2.main-title {
		font-size: 40px;
		font-weight: 900;
		line-height: 1;
		text-align: center;
		margin-bottom: 80px;
	}

	section.narrow div.inner {
		max-width: 1000px;
	}

	section.narrow.greeting {
		background: url(../img/greeting-bg.png) top center / cover;
	}

	section.narrow.greeting h2.main-title {
		color: #fff;
	}

	p.greeting {
		font-size: 20px;
		font-width: 500;
		line-height: 180%;
		margin-bottom: 32px;
		color: #fff;
		text-align: justify;
	}

	p.company-name {
		font-size: 20px;
		font-weight: 700;
		line-height: 180%;
		text-align: right;
		color: #fff;
	}

	p.ceo-name {
		font-size: 30px;
		font-weight: 700;
		line-height: 180%;
		text-align: right;
		color: #fff;
	}

	table.company {
		width: 100%;
		font-size: 20px;
		line-height: 180%;
		border-top: 1px solid #ddd;
		text-align: left;
	}

	table.company tr {
		border-bottom: 1px solid #ddd;
	}

	table.company th {
		padding: 40px 0;
		font-weight: 700;
		width: 30%;
		vertical-align: middle;
	}
	table.company td {
		font-weight: 500;
		padding: 40px 0;
		width: 70%;
	}

	footer {
		width: 100%;
		background: #F1F8EA;
	}
	
	footer div.inner {
		width: 94vw;
		margin: 0 auto;
		padding: 60px 0;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}
	
	footer div.inner div.logo-area img {
		width: auto;
		height: 60px;
	}

	footer div.inner div.logo-area p.data {
		font-size: 14px;
		font-weight: 500;
		line-height: 180%;
		margin-top: 24px;
	}
	
	footer div.inner div.logo-area p.data a {
		color: #111;
		text-decoration: none;
		border: none;
	}
	
	div.fnav {
		width: fit-content;
	}
	
	div.fnav ul {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		column-gap: 64px;
	}
	
	div.fnav ul li a {
		font-size: 16px;
		font-weight: 700;
		line-height: 40px;
		color: #111;
		text-decoration: none;
		transition: .3s;
		display: block;
	}
	
	div.fnav ul li a:hover {
		opacity: 0.7;
	}
	
	p.copyright {
		font-size: 16px;
		font-weight: 500;
		line-height: 60px;
		color: #fff;
		background: #1E9C33;
		text-align: center;
	}
	
/******************************

下層共通

******************************/
	
	div.main-visual.lower {
		width: 100%;
		height: auto;
		min-height: auto;
		max-height: none;
		padding: 96px 24px 0 24px;
	}

	div.main-visual.lower div.inner {
		width: 100%;
		height: 26.25vw;
		max-height: 300px;
		border-radius: 32px;
		display: flex;
		align-items: center;
		padding-left: 60px;
	}

	div.main-visual.lower div.inner h1.page-title-en {
		font-size: min(2.6vw,30px);
		font-weight: 900;
		line-height: 100%;
		color: #fff;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}
	
	div.main-visual.lower div.inner h1.page-title-jp {
		font-size: min(5.5vw, 64px);
		font-weight: 900;
		line-height: 140%;
		color: #fff;
		margin: 8px 0 0 0;
		text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
	}

	p.breadcrumbs {
		width: 100%;
		margin-top: 20px;
		padding: 0 24px;
		font-size: 14px;
		line-height: 180%;
		font-weight: 500;
		color: #999;
	}

	p.breadcrumbs a {
		color: #111;
		text-decoration: none;
		transition: .3s;
	}

	p.breadcrumbs a:hover {
		color: #1E9C33;
	}

/******************************

コラム

******************************/

	div.main-visual.lower div.inner.column {
		background: url(../img/main-visual-column.jpg) no-repeat center center / cover;
	}

	section div.inner.column {
		display: flex;
		justify-content: space-between;
	}

	section div.inner.column div.content-wrapper {
		width: 70%;
		padding: 0;
	}

	section div.inner.column div.side-wrapper {
		width: 25%;
		margin-top: -60px;
	}

	section div.inner.column div.content-wrapper div.column-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 80px 6%;
		margin-top: 0;
	}

	h2.column-title {
		font-size: min(2.8vw, 32px);
		font-weight: 800;
		line-height: 150%;
		margin-bottom: 60px;
		padding: 5px 0 5px 15px;
		border-left: 6px solid #1E9C33;
	}

	h2.side-title {
		font-size: min(2vw, 24px);
		font-weight: 800;
		line-height: 70px;
		color: #1E9C33;
		background: #F1F8EA;
		padding: 0 0 0 20px;
		margin: 60px 0 10px 0;
		border-radius: 8px;
	}

	section div.inner.column div.side-wrapper ul {
		width: 100%;
	}

	section div.inner.column div.side-wrapper ul li {
		border-bottom: 2px dotted #ddd;
	}

	section div.inner.column div.side-wrapper ul li a {
		font-size: 20px;
		font-weight: 600;
		color: #111;
		line-height: 60px;
		padding: 0 20px;
		text-decoration: none;
		display: block;
		transition: .3s;
		position: relative;
	}

	section div.inner.column div.side-wrapper ul li a::before {
		display: inline-block;
		content: "";
		margin-bottom: 3px;
		margin-right: 8px;
		width: 6px;
		height: 6px;
		border-radius: 3px;
		background-color: #1E9C33;
	}

	section div.inner.column div.side-wrapper ul li a:hover {
		opacity: 0.7;
	}

	section div.inner.column div.content-wrapper article {
		width: 100%;
	}

	section div.inner.column div.content-wrapper article div.date-area {
		display: flex;
		align-items: center;
		margin: 0 0 32px 0;
		border-bottom: 1px solid #ddd;
	}

	section div.inner.column div.content-wrapper article div.date-area p.date {
		font-size: 20px;
		font-weight: 700;
		line-height: 180%;
		margin-right: 15px;
	}

	section div.inner.column div.content-wrapper article div.date-area p.category {
		font-size: 18px;
		font-weight: 700;
		color: #1E9C33;
		line-height: 40px;
		border-radius: 20px;
		padding: 0 20px;
		background: #F1F8EA;
	}

	section div.inner.column div.content-wrapper article h1 {
		font-size: min(3.4vw, 40px);
		font-weight: 700;
		line-height: 150%;
		color: #111;
		margin-bottom: 56px;
	}

	section div.inner.column div.content-wrapper article img {
		max-width: 100%;
		height: auto;
		margin-bottom: 56px;
	}

	section div.inner.column div.content-wrapper article img.main {
		width: 100%;
		height: auto;
		border-radius: 24px;
	}

	section div.inner.column div.content-wrapper article p {
		font-size: 20px;
		font-weight: 500;
		line-height: 180%;
		margin-bottom: 32px;
	}

	article h2 {
	  	border-bottom: solid 3px #eee;
	  	position: relative;
		font-size: min(2.8vw, 32px);
		font-weight: 700;
		line-height: 150%;
		padding-bottom: 16px;
		text-align: left;
		margin: 64px 0 24px 0;
	}

	article h2:after {
	  	position: absolute;
	  	content: " ";
	  	display: block;
	  	border-bottom: solid 3px #1E9C33;
	  	bottom: -3px;
	  	width: 20%;
	}
	
	article h3 {
		font-size: min(2.2vw, 28px);
		font-weight: 700;
		line-height: 150%;
		color: #fff;
		padding: 16px;
		text-align: left;
		margin: 64px 0 24px 0;
		background: #1E9C33;
		border-radius: 8px;
	}
	
	article h4 {
		font-size: min(2.2vw, 28px);
		font-weight: 700;
		line-height: 150%;
		color: #1E9C33;
		padding-bottom: 16px;
		text-align: left;
		border-bottom: solid 1px #ddd;
		margin: 64px 0 24px 0;
	}
	
	article h5 {
		font-size: min(2vw,24px);
		font-weight: 700;
		line-height: 150%;
		color: #111;
		text-align: left;
		margin: 64px 0 24px 0;
	}
	
	article table {
		margin-bottom: 32px;
	}

	article ul {
		width: 100%;
		margin-top: 32px;
		padding-left: 24px;
		font-size: 20px;
		line-height: 180%;
		list-style: disc;
	}

	article ul li {
		margin: 5px 0;
		font-weight: 500;
	}

	div.pagination {
		width: 100%;
		margin-top: 64px;
		padding: 30px;
		background: #f8f8f8;
		overflow: hidden;
		border: 1px solid #ddd;
	}
	
	div.pagination_prev {
		float: left;
	}
	
	div.pagination_next {
		float: right;
	}
	
	div.pagination_prev a,
	div.pagination_next a {
		font-size: 20px;
		font-weight: 700;
		color: #111;
		text-decoration: none;
	}

	.main-button.column-bottom {
		margin: 60px auto 0 auto;
	}

	.navigation {
		text-align: center;
		font-size: 16px;
		line-height: 180%;
		margin-top: 60px;
	}

/******************************

プライバシーポリシー

******************************/
	
	div.main-visual.lower div.inner.privacy {
		background: url(../img/main-visual-privacy.jpg) no-repeat center center / cover;
	}
	
	h2.privacy-title {
		font-size: 30px;
		font-weight: 700;
		line-height: 150%;
		margin: 80px 0 -10px 0;
		padding-bottom: 20px;
		border-bottom: solid 1px #eee;
		position: relative;
	}

	h2.privacy-title::after {
		position: absolute;
		content: " ";
		display: block;
		border-bottom: solid 1px #1E9C33;
		bottom: -1px;
		width: 20%;
	}

	ul.privacy {
		width: 100%;
		margin-top: 30px;
		padding-left: 24px;
		font-size: 20px;
		line-height: 180%;
	}

	ul.privacy li {
		margin: 16px 0;
		font-weight: 500;
	}

	ul.privacy.decimal {
		list-style: decimal;
	}

	ul.privacy.disc {
		list-style: disc;
	}

/******************************

404

******************************/

h1.simple {
	font-size: 30px;
	font-weight: 700;
	line-height: 150%;
}

}