/*
Theme Name: OceanWP Child Theme
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme. Sample child theme.
Author: OceanWP
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 1.0
*/

/* Parent stylesheet should be loaded from functions.php not using @import */

#site-header-inner.container,
.page-header .container {
	width: 1260px;
}
.oceanwp-mobile-menu-icon a.mobile-menu .oceanwp-text, .oceanwp-mobile-menu-icon a.mobile-menu .oceanwp-close-text,
#top-bar-wrap {
	display: none;
}
.site-footer .footer-widgets-inner.container {
	width: 100%;
}
#footer-widgets .footer-box .footer-widget ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 10px;
}
.custom-menu-widget .oceanwp-custom-menu>ul>li {
	border-right: 1px solid #B1D91C;
}
.custom-menu-widget .oceanwp-custom-menu>ul>li:last-child {
	border-right: none;
}
#copyright {
	font-size: 10px !important;
}
#mobile-menu-search {
	display: none !important;
}
#mobile-dropdown ul li:last-child {
	margin-bottom: 20px;
}

.flex {
	display: flex;
}
.col {
	flex-direction: column;
}
.row {
	flex-direction: row;
}
.j-center {
	justify-content: center;
}
.fl-r {
	float: right;
}
.t-center {
	text-align: center;
}
.green {
	color: #9ec317 !important;
}
.bg-green {
	background-color: #f1fae3 !important;
}


.inner {
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
}

.home.front .mv h2 {
	position: relative;
	margin-top: 50px;
	letter-spacing: 0.04em
}
.home.front .mv h2:after {
	position: absolute;
	content: "";
	display: block;
	left:0;
	bottom: -250px;
	width: 930px;
	height: 193px;
	background-image: url(./img/mv-txt.png);
	background-repeat: no-repeat;
	background-size: contain;
}
.home.front .mv .wrap {
	padding-top:200px;
}


.contentWrap {
	position: relative;
	display: block;
}
.contentWrap .inner {
	padding: 100px 0;
}
.contentWrap.reverse .image {
	order: 2;
}
.contentWrap.reverse .txt {
	order: 1;
}
.front .contentWrap.about .inner {
	padding: 180px 0 60px;
}
.front .contentWrap.about {
	padding: 60px 0;
}
.contentWrap.business {
	margin-top: 0;
	padding: 100px 0 0px;
	background-color: #f1fae3;
}
.contentWrap.careers .inner {
	display: flex;
	flex-direction: row;
	padding: 80px 0;
	gap: 50px;
}
.contentWrap header {
	position: relative;
	display: block;
	margin: /*220px*/0 0 45px;
}
.contentWrap.business header {
	margin: 0 0 45px;
	padding-top: /*200px*/;
}
.contentWrap header:before {
	position: absolute;
	content: "";
	display: block;
	left:0;
	bottom: 50px;
	background-repeat: no-repeat;
	background-size: contain;
}
.contentWrap.about header:before {
	width: 316px;
	height: 76px;
	background-image: url(./img/ttl-about.png);
}
.contentWrap.business header:before {
	width: 512px;
	height: 81px;
	background-image: url(./img/ttl-business.png);
}
.contentWrap.careers header:before {
	width: 203px;
	height: 37px;
	background-image: url(./img/ttl-careers.png);
}
.contentWrap header h3 {
	display: flex;
	align-items: center;
	color: #9ec317;
	font-size: 1.5rem;
	font-weight: 700;
}
.contentWrap header h3:before {
	display: block;
	content: "";
	width: 10px;
	height: 4px;
	margin-right: 6px;
	border-radius: 2px;
	background-color: #9ec317;
}
.contentWrap.lo-1 .wrap {
	display: flex;
}
.contentWrap.careers .wrap {
	width: calc(100%/3);
	margin-top: 70px;
}
.contentWrap .lead {
	max-width: 48%;
	margin-bottom: 45px;
	font-size: 2.28rem;
	font-weight: 700;
	line-height: 2;
	color: #333;
	letter-spacing: 8px;
}
.contentWrap.about .image {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	right: 0;
	width: 50%;
	max-height: 500px;
	text-align: right;
}
.contentWrap.about .image img {
	/*max-width: 963px;*/
}
.contentWrap.careers .image {
	max-width: 376px;
}
.contentWrap.lo-1 .image,
.contentWrap.lo-1 .txt {
	width: calc(100% / 2);
}
.contentWrap .txt {
	max-width: 48%;
	font-size: 16px;
	line-height: 1.8em;
}
.contentWrap.lo-1 .txt {
	margin-left: 60px;
}
.contentWrap.lo-1.reverse .txt {
	margin-left: 0;
	margin-right: 60px;
}
.contentWrap.careers .txt {
	width: calc(100%/3);
}
.contentWrap.lo-1 .txt h3 {
	font-size: 2.28rem;
	font-weight: 700;
	line-height: 2;
	color: #333;
	letter-spacing: 8px;
}
.contentWrap.lo-1 .txt h3 br {
	display: initial;
}
.contentWrap.lo-1 .txt .description {
	margin-bottom: 30px;
}
.contentWrap .btWrap {
	width: 100%;
}
.contentWrap .bt {
	position: relative;
	display: flex;
	align-items: center;
	width: 260px;
	height: 60px;
	padding: 0 15px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none !important;
	background-color: #9ec317;
	border-radius: 40px;
	box-shadow: 0 20px 40px 0 rgba(32, 45, 64, .3);
	transition: background .6s;
}
.contentWrap .bt:before {
	display: block;
	content: "";
	width: 30px;
	height: 30px;
	margin-right: 15px;
	background: url(./img/right-arrow-circle.svg) 50% no-repeat;
	background-size: contain;
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(9deg) brightness(105%) contrast(101%);
}
.contentWrap.careers .txt .btWrap {
	display: none;
}






.page-header {
	position: relative;
	display: flex;
	align-items: end;
	height: 317px;
}
.page-header:before {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	left: 15px;
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: 0 0;
	background-size: contain;
}
.page-header .page-header-title {
	font-size: 72px !important;
	color: #fff;
	font-weight: 700;
	letter-spacing: 5px;
	text-shadow: 0px 2px 15px rgba(0, 0, 0, 0.3);
}

.about .page-header {
	background-image: url(./img/mv-about.jpg);
	background-position: /*left*/center center;
	background-attachment: scroll;
	background-size: cover;
}
.about .page-header:before {
	width: 497px;
	height: 112px;
	background-image: url(./img/page-title-about.png);
}
.business .page-header {
	background-image: url(./img/mv-business.jpg);
	background-position: left center;
	background-attachment: scroll;
	background-size: cover;
}
.business .page-header:before {
	width: 781px;
	height: 119px;
	background-image: url(./img/page-title-business.png);
}
.careers .page-header {
	background-image: url(./img/mv-careers.jpg);
	background-position: /*left*/center center;
	background-attachment: scroll;
	background-size: cover;
}
.careers .page-header:before {
	width: 638px;
	height: 107px;
	background-image: url(./img/page-title-careers.png);
}
.company .page-header {
	background-image: url(./img/mv-company.jpg);
	background-position: center center;
	background-attachment: scroll;
	background-size: cover;
}
.company .page-header:before {
	width: 796px;
	height: 136px;
	background-image: url(./img/page-title-company.png);
}
.contact .page-header {
	border-bottom: 1px solid #ddd;
	background-color: #fff;
}
.contact .page-header .page-header-title {
	padding-bottom: 1.5em;
	color: #333;
	font-size: 40px !important;
	text-align: center;
	text-shadow: 0px 2px 15px rgba(0, 0, 0, 0);
}

.about .contentWrap.lo-1 .wrap:first-child {
	margin-bottom: 40px;
}
.about .contentWrap.lo-1 .wrap:nth-child(2) {
	flex-direction: column;
	padding: 80px;
	border-radius: 30px;
	background-color: #fff;
	font-size: 18px;
}

.about .contentWrap.about .lead {
	color: #9ec317;
	font-size: 2.8em;
}
.about .contentWrap.about .txt {
	font-size: 18px;
}

.about .contentWrap.lo-1 .wrap:nth-child(2) h4 {
	margin-bottom: 60px;
	font-size: 2.8rem;
	text-align: center;
}
.about .contentWrap.lo-1 .wrap:nth-child(2) .lead,
.about .contentWrap.lo-1 .block-1 .lead {
	max-width: 100%;
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.04em;
}
.about .contentWrap.lo-1 .wrap .block-1 {
	margin-bottom: 60px;
}
.about .contentWrap.lo-1 .wrap:nth-child(2) .block-1 {
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
}
.about .contentWrap.lo-1 .wrap ul {
	margin-left: 0;
}
.about .contentWrap.lo-1 .wrap li {
	list-style: none;
}
.about .contentWrap.lo-1 .wrap .block-1 li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	margin-bottom: 40px;
	padding: 46px 0;
}
.about .contentWrap.lo-1 .wrap .block-1 h5 {
	color: #9ec317;
	font-size: 20px;
	letter-spacing: 0.08em;
}
.about .contentWrap.lo-1 .wrap .block-1 h5,
.about .contentWrap.lo-1 .wrap .block-1 .description {
	max-width: 620px;
}
.about .contentWrap.lo-1 .wrap .block-1 .description {
	min-height: 8em;
	padding-left: 1.5em;
	font-size: 16px;
}
.about .contentWrap.lo-1 .wrap .block-1 .image {
	position: absolute;
	top: 0;
	right: 0;
	width: 410px;
}
.about .contentWrap.lo-1 .wrap .block-2 {
	margin-bottom: 60px;
}
.about .contentWrap.lo-1 .block-2 ul {
	display: flex;
	flex-direction: row;
	gap: 15px;
}
.about .contentWrap.lo-1 .block-2 li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(100% / 3);
	padding: 50px 40px;
	border: 10px solid #ecf8e8;
	border-radius: 18px;
	font-weight: 700;
}
.about .contentWrap.lo-1.reverse .block-1 .lead {
	margin: 80px 0 40px;
	font-size: 2.8rem;
	font-weight: 700;
}
.about .contentWrap.lo-1.reverse .block-1 .description {
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.04em;
}
.about .contentWrap.lo-1.reverse .block-2 {
	font-size: 2.8rem;
	font-weight: 700;
	text-align: center;
}
.about .contentWrap.lo-1.reverse ul {
	margin-bottom: 40px;
	gap: 45px;
}
.about .contentWrap.lo-1.reverse li {
	padding: 0;
	border: none;
}
.about .contentWrap.lo-1.reverse .block-2 p {
	margin-top: 40px;
}


	


.front .contentWrap.lo-1 {
	margin-top: 0;
}
.about .contentWrap.lo-1 .txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.contentWrap.lo-1 .txt h3 {
	font-size: 2.8rem;
}
.contentWrap.lo-1 .txt .description {
	font-size: 18px;
	line-height: 1.8;
}
.contentWrap.lo-1 {
	/*margin-top: 60px;*/
}
.contentWrap.lo-1 header {
	margin: 0;
}
.business .contentWrap.lo-1 header:before {
	width: 691px;
	height: 60px;
	bottom: 66px;
	background-image: url(./img/business-txt.png);
}
.careers .contentWrap.lo-1 header:before {
	width: 193px;
	height: 48px;
	bottom: 83px;
	background-image: url(./img/careers-txt.png);
}

.contentWrap.lo-2 .wrap {
	padding: 80px;
	border: 10px solid #ecf8e8;
	border-radius: 30px;
}
.contentWrap.lo-2 .txt {
	max-width: 94%;
	margin: auto;
}
.contentWrap.lo-2 .lead {
	max-width: 100%;
	margin: 0 auto 45px;
}

.company .contentWrap.lo-2 .lead {
	max-width: 94%;
}
.company .contentWrap.lo-2 .lead br {
	display: initial;
}
.contentWrap h2 {
	font-size: 30px;
	font-weight: 700;
}
.contentWrap.lo-2 h2 {
	margin-bottom: 60px;
	text-align: center;
}
.business .contentWrap.lo-2 .image {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
}
.careers .contentWrap.lo-2 h3 {
	font-size: 22px;
	letter-spacing: 8px;
}
.careers .contentWrap.lo-2 dl {
	margin: 20px 20px 40px !important;
	padding-bottom: 1em;
	border-bottom: 5px dotted #ecf8e8;
}
.careers .contentWrap ul {
 list-style: none;
}
.careers .contentWrap li {
  display: flex;
  align-items: center;
  margin-left: -1em;
  margin-bottom: 0.5em;
}
.careers .contentWrap li:before {
 content: "⚫︎";
 color: #9ec317;
 font-size: 0.6em;
 margin-right: 1em;
}
.careers .contentWrap.lo-2 .btWrap {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.careers .contentWrap.lo-2 .wrap .lead br {
	display: initial;
}

.company .contentWrap.lo-2 h3 {
	margin-bottom: 40px;
	text-align: center;
}
.company table th {
	color: #9ec317 !important;
	font-weight: 700;
}

.contact .contentWrap.lo-2 .wrap {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 80px;
	border: none;
}
.contact .contentWrap.lo-2 .txt:first-child {
	margin-bottom:40px;
	font-size:18px;
}
.contact .contentWrap.lo-2 .txt:nth-child(3) {
	margin-top:100px;
}
.contact mark {
	font-size: 0.8em;
}
.contact h3 {
	margin: 40px 0;
	font-weight: 700;
	text-align: center;
}
.contact dl {
	margin: 20px 0;
}

.smf-action .smf-button-control__control {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 260px;
	height: 60px;
	margin: 30px auto;
	padding: 0 15px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none !important;
	background-color: #9ec317;
	background-image: none;
	border-radius: 40px;
	box-shadow: 0 20px 40px 0 rgba(32, 45, 64, .3);
	transition: background .6s;
}
.smf-action .smf-button-control__control[data-action="back"] {
	border: 1px solid #9ec317;
	background-color: #fff;
	color: #9ec317;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}
.smf-error-messages {
	color: #f30;
}


@media screen and (max-width: 1400px) {
	#site-header-inner.container,
	.page-header .container {
		width: 100%;
		padding: 0 50px;
	}
	.container {
		width: 100%;
		max-width: 100%;
	}
	.inner {
		max-width: 100%;
	}
	.contentWrap .inner {
		padding: 50px;
	}
	.home.front .mv .wrap {
		padding-top: calc(91px + 109 * (100vw - 768px)/ 632);
	}
	.home.front .mv h2 {
		margin: 0 50px 20px;
		margin-top: calc(30px + 20 * (100vw - 768px)/ 632);
		font-size: calc(18.4px + 1.6 * (100vw - 768px)/ 632);
	}
	.home.front .mv h2:after {
		left: 0;
		bottom: calc(-132px - 118 * (100vw - 768px)/ 632);
		width: calc(500px + 430 * (100vw - 768px)/ 632);
		height: calc(105px + 88 * (100vw - 768px)/ 632);
	}

	.front .contentWrap.about {
		padding: calc(30px + 30 * (100vw - 768px)/ 632) 0;
	}
	.front .contentWrap.about .inner {
		padding: calc(90px + 90 * (100vw - 768px)/ 632) 0 calc(30px + 30 * (100vw - 768px)/ 632) 50px;
	}
	.contentWrap.about header:before {
		width: calc(198px + 118 * (100vw - 768px)/ 632);
		height: calc(60px + 16 * (100vw - 768px)/ 632);
		bottom: calc(25px + 25 * (100vw - 768px)/ 632);
	}
	.contentWrap header {
		margin: 0 0 calc(22.5px + 22.5 * (100vw - 768px)/ 632);
	}
	.contentWrap .lead {
		font-size: calc(18.4px + 1.6 * (100vw - 768px)/ 632);
	}
	.front .contentWrap.business .inner {
		padding: calc(50px + 50 * (100vw - 768px)/ 632) 50px;
	}
	.front .contentWrap.business header:before {
		width: calc(346px + 166 * (100vw - 768px)/ 632);
		height: calc(64px + 17 * (100vw - 768px)/ 632);
	}
	.contentWrap.careers .inner {
		padding: calc(40px + 40 * (100vw - 768px)/ 632) 50px 80px;
		gap: 50px;
	}
	.contentWrap.lo-1 .txt {
		margin-left: calc(20px + 40 * (100vw - 768px)/ 632);
	}
	.contentWrap.lo-1 .txt h3 {
		font-size: calc(24px + 4 * (100vw - 768px)/ 632);
	}
	.contentWrap.lo-1 .txt .description {
		font-size: calc(15px + 3 * (100vw - 768px)/ 632);
	}

	
	.about .contentWrap.about .lead {
		font-size: calc(24px + 15.2*(100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1 .wrap:nth-child(2) {
		padding: 50px;
	}
	.about .contentWrap.lo-1 .wrap:nth-child(2) h4 {
		margin-bottom: calc(36px + 24 * (100vw - 768px) / 632);
		font-size: calc(22px + 6 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1 .wrap:nth-child(2) .lead,
	.about .contentWrap.lo-1 .block-1 .lead {
		font-size: calc(16px + 2 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1 .wrap .block-1 li {
		margin-bottom: 40px;
		padding: calc(0.01px + 45.09 * (100vw - 768px) / 632) 0;
	}
	.about .contentWrap.lo-1 .wrap .block-1 h5 {
		font-size: calc(16px + 4 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1 .wrap .block-1 h5,
	.about .contentWrap.lo-1 .wrap .block-1 .description {
		max-width: calc(358px + 262 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1 .wrap .block-1 .description {
		font-size: calc(14px + 2 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1 .wrap .block-1 .image {
		width: calc(200px + 210 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1 .block-2 li {
		padding: calc(20px + 30 * (100vw - 768px) / 632) calc(20px + 20 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1.reverse .block-1 .lead {
		margin: calc(60px + 20 * (100vw - 768px) / 632) 0 calc(30px + 10 * (100vw - 768px) / 632);
		font-size: calc(24px + 4 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1.reverse .block-1 .description {
		margin-bottom: 40px;
		font-size: calc(16px + 2 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1.reverse .block-2 {
		font-size: calc(24px + 4 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1.reverse ul {
		margin: 0 0 40px;
		gap: calc(5px + 40 * (100vw - 768px) / 632);
	}
	.about .contentWrap.lo-1.reverse li {
		padding: calc(1px + 49 * (100vw - 768px) / 632) calc(1px + 19 * (100vw - 768px) / 632);
	}


	.business .contentWrap .inner {
		padding: 100px 50px 100px;
	}
	.business .contentWrap.lo-2 .image img {
		width: 30%;
		max-width: 303px;
	}
	.business .page-header {
		background-position: center center;
	}
	.business .contentWrap.lo-1 header:before {
		width: calc(518.25px + 172.75 * (100vw - 768px) / 632);
		height: 60px;
		bottom: 66px;
	}

	.careers .contentWrap .inner {
		padding: 100px 50px 100px;
	}


}

@media screen and (max-width: 1023px) {
	.front .contentWrap.about .wrap {
		display: flex;
		flex-wrap: wrap;
	}
	.front .contentWrap.about .wrap .lead {
		margin-top: 45px;
		order: 2;
	}
	.front .contentWrap.about .wrap .image {
		position: initial;
		width: 100%;
		max-height: initial;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		order: 1;
	}
	.front .contentWrap.about .wrap .image img {
		max-width: 100%;
	}
	.front .contentWrap.about .wrap .btWrap {
		order: 3;
	}

	.contentWrap.careers .inner {
		flex-wrap: wrap;
		flex-direction: unset;
		gap: 0;
	}
	.contentWrap.careers .wrap {
		width: calc(40% - 10 * (100vw - 768px)/ 255);
	}
	.contentWrap.careers .txt {
		width: auto;
		max-width: calc(60% + 10 * (100vw - 768px)/ 255);
		margin-top: auto;
		padding-left: 40px;
	}
	.contentWrap.careers .image {
		max-width: 100%;
		margin-top: 40px;
	}

	.page-header .page-header-title {
		font-size: calc(42px + 30 * (100vw - 768px)/ 255) !important;
	}

	.about .page-header:before {
		width: calc(384px + 113 * (100vw - 768px)/ 255);
	}

	.about .contentWrap.about .inner {
		padding-right: 0;
	}
	.about .contentWrap.about .wrap {
		display: flex;
		flex-direction: column;
	}
	.about .contentWrap.about .lead {
		max-width: 100%;
	}
	.about .contentWrap.about .image {
		position: initial;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		width: 100%;
	}
	.about .contentWrap.about .txt {
		max-width: 94%;
		margin-top: 45px;
		font-size: calc(16px + 2 * (100vw - 768px)/ 255);
	}
	.about .contentWrap.lo-1 .wrap:nth-child(2) {
		border-radius: calc(15px + 15 * (100vw - 768px)/ 255);
		font-size: calc(16px + 2 * (100vw - 768px)/ 255);
	}

	.business .page-header:before {
		width: calc(736px + 45 * (100vw - 768px)/ 255);
	}
	.business .contentWrap.lo-2 .wrap {
		padding: calc(35px + 45 * (100vw - 768px)/ 255);
	}

	.business .contentWrap .inner,
	.careers .contentWrap .inner {
		padding: 50px 50px 100px;
	}
	.business .contentWrap.lo-1 header:before {
		bottom: calc(10px + 50 * (100vw - 768px)/ 255);
	}
	.business .contentWrap.lo-2 h2 {
		margin-bottom: calc(30px + 30 * (100vw - 768px)/ 255);
	}
	.contentWrap .lead {
		margin-bottom: calc(35px + 10 * (100vw - 768px)/ 255);
	}

	.careers .page-header {
		background-position: left center;
	}
	.careers .page-header:before {
		width: calc(566px + 72 * (100vw - 768px)/ 255);
	}
	.careers .contentWrap.lo-2 .wrap {
		padding: calc(35px + 45 * (100vw - 768px)/ 255);
	}
	.careers .contentWrap.lo-1 header:before {
		bottom: calc(32px + 51 * (100vw - 768px)/ 255);
	}
	.contentWrap.lo-1 .txt h3 br {
		display: none;
	}

	.company .page-header:before {
		width: calc(736px + 60 * (100vw - 768px)/ 255);
		height: calc(126px + 10 * (100vw - 768px)/ 255);
	}
	.company .contentWrap.lo-2 .lead br {
		display: none;
	}
	.company .contentWrap.lo-2 .wrap {
		padding: calc(35px + 45 * (100vw - 768px)/ 255);
	}
	.contact .page-header {
		height: calc(240px + 77 * (100vw - 768px)/ 255);317;
	}
	.contact .contentWrap.lo-2 .wrap {
		padding: calc(35px + 45 * (100vw - 768px)/ 255);
	}

}


@media screen and (max-width: 768px) {
	.contentWrap.lo-1 .wrap {
		flex-direction: column;
	}
	.contentWrap.lo-1 .image, .contentWrap.lo-1 .txt {
		width: 100%;
		max-width: 100%;
	}
	.contentWrap.lo-1 .txt {
		margin: 40px 0 0;
	}
	.contentWrap.lo-1.reverse .txt {
		margin: 0 0 40px;
	}
	.contentWrap.lo-1 .txt h3 {
		margin: 0 0 10px;
		text-align: center;
	}
	.contentWrap.lo-1 .txt h3 br {
		display: initial;
	}
	.contentWrap.lo-1 .txt p {
		margin: 0;
	}


	.about .contentWrap.lo-1 .wrap:first-child,
	.about .contentWrap.lo-1 .txt .description {
		margin-bottom: 0;
	}
	.about .contentWrap.lo-1 .txt .description {
		margin-top: 20px;
	}
	.about .contentWrap.about .wrap p {
		margin: 0;
	}
	.about .contentWrap.lo-1 .wrap:nth-child(2) .lead,
	.about .contentWrap.lo-1 .block-1 .lead {
		text-align: left;
	}
	.about .contentWrap.lo-1 .wrap .block-1 h5,
	.about .contentWrap.lo-1 .wrap .block-1 .description {
		max-width: 100%;
	}
	.about .contentWrap.lo-1 .wrap .block-1 .image {
		position: initial;
		width: 100%;
	}
	.about .contentWrap.lo-1.reverse .block-1 .description {
		text-align: left;
	}

	.business .contentWrap.lo-1.bg-green .inner,
	.careers .contentWrap.lo-1.bg-green .inner {
		padding: 50px;
	}
	.business .contentWrap.lo-1.bg-green .txt,
	.careers .contentWrap.lo-1.bg-green .txt {
		margin: 0;
		order: 1;
	}
	.business .contentWrap.lo-1.bg-green .txt .description,
	.careers  .contentWrap.lo-1.bg-green .txt .description {
		margin-top: 20px;
	}
	.business .contentWrap.lo-1.bg-green .image,
	.careers .contentWrap.lo-1.bg-green .image {
		order: 2;
	}

	.careers .contentWrap.lo-2 .wrap .lead br {
		display: none;
	}

	
}

@media screen and (max-width: 767px) {
	#site-header-inner.container,
	.page-header .container {
		padding: 0 calc(12px + 38 * (100vw - 320px)/ 447);
	}
	#site-logo #site-logo-inner {
		width: calc(120px + 58 * (100vw - 320px)/ 447);
		height: 74px;
	}
	.inner {
		padding: 0 calc(12px + 38 * (100vw - 320px)/ 447);
	}
	#footer-widgets {
		padding: 50px 0 calc(1px + 39 * (100vw - 320px)/ 447) 0 !important;
	}
	#footer-widgets .footer-box .footer-widget ul {
		flex-direction: column;
		padding: 20px 0 0;
		gap: 20px;
	}
	.custom-menu-widget .oceanwp-custom-menu>ul>li {
		border-right: none !important;
	}
	.page-header {
		height: calc(200px + 117 * (100vw - 320px)/ 447);
	}
	.page-header .page-header-title {
		font-size: calc(26px + 16 * (100vw - 320px)/ 447) !important;
	}
	.home.front .mv h2 {
		margin: 30px 0 20px;
		font-size: calc(16px + 2.4 * (100vw - 320px)/ 447);
	}
	.home.front .mv h2:after {
		bottom: calc(-86px - 46 * (100vw - 320px) / 447);
		width: calc(276px + 224 * (100vw - 320px) / 447);
		height: calc(58px + 47 * (100vw - 320px) / 447);
	}
	.home.front .mv .wrap {
		padding-top: calc(55px + 36 * (100vw - 320px)/ 447);
	}
	.front .contentWrap.about .inner {
		padding: calc(72px + 18 * (100vw - 320px)/ 447) 0 calc(12px + 18 * (100vw - 320px)/ 447) calc(12px + 38 * (100vw - 320px)/ 447);
	}
	.front .contentWrap.about .wrap .lead {
		max-width: 96.106%;
		margin-top: calc(1px + 1 * (100vw - 320px)/ 447);
		margin-bottom: calc(15px + 20 * (100vw - 320px)/ 447);
		font-size: calc(16.4px + 2 * (100vw - 320px)/ 447);
		order: 1;
	}
	.front .contentWrap.about .wrap .image {
		order: 2;
	}
	.front .contentWrap .wrap .btWrap {
		display: flex;
		justify-content: center;
		width: 96.106%;
		margin-top: calc(25px + 25 * (100vw - 320px)/ 447);
		order: 3;
	}

	.contentWrap.business {
		padding: calc(60px + 40 * (100vw - 320px)/ 447) 0 0;
	}
	.front .contentWrap.business .inner {
		padding: calc(12px + 18 * (100vw - 320px)/ 447);
	}
	.front .contentWrap.business header:before {
		width: calc(173px + 173*(100vw - 320px) / 447);
		height: calc(28px + 36*(100vw - 320px) / 447);
		bottom: calc(30px + 20*(100vw - 320px) / 447);
	}

	.contentWrap.lo-1 .wrap {
		flex-direction: column;
	}
	.contentWrap.lo-1 .image,
	.contentWrap.lo-1 .txt {
		width: 100%;
		max-width: 100%;
	}
	.contentWrap.lo-1 .txt {
			margin: 20px 0 0;
	}
	.contentWrap.lo-1 .txt .description {
		font-size: 15px;
	}

	.front .contentWrap.careers .inner {
		flex-direction: column;
		padding: calc(12px + 18 * (100vw - 320px)/ 447);
	}
	.contentWrap.careers header:before {
		width: calc(138px + 65 * (100vw - 320px)/ 447);
		height: calc(26px + 11 * (100vw - 320px)/ 447);
		bottom: calc(30px + 20*(100vw - 320px) / 447);
	}
	.contentWrap.careers .wrap {
		width: 100%;
		order: 1;
	}
	.contentWrap.careers .wrap .btWrap {
		display: none;
	}
	.front .contentWrap.careers .image {
		margin: 0 0 20px;
		order: 2;
	}
	.front .contentWrap.careers .txt {
		max-width: 100%;
		margin-bottom: 40px;
		padding-left: 0;
		order: 3;
	}
	.front .contentWrap.careers .txt .description {
		margin-bottom: 20px;
		font-size: 15px;
	}
	.contentWrap.careers .txt .btWrap {
		display: flex;
		justify-content: center;
	}

	.contentWrap .inner {
		padding: 
		calc(48px + 2*(100vw - 320px) / 447) 
		calc(12px + 38*(100vw - 320px) / 447) 
		calc(12px + 18*(100vw - 320px) / 447);
	}

	.about .page-header:before {
		width: calc(240px + 144 * (100vw - 320px) / 447);
		height: calc(54px + 58 * (100vw - 320px) / 447);
	}
	.about .contentWrap.about .inner {
		padding-top: calc(34px + 14 * (100vw - 320px) / 447);
	}
	.about .contentWrap.about .lead {
		font-size: calc(18px + 6 * (100vw - 320px) / 447);
		letter-spacing: calc(1px + 7 * (100vw - 320px) / 447);
	}
	.about .contentWrap.about .txt {
		margin-top: calc(32px + 13 * (100vw - 320px) / 447);
		font-size: 15px;
	}
	.about .contentWrap.lo-1 .inner {
		padding: 
		calc(24px + 24*(100vw - 320px) / 447) 
		calc(12px + 38*(100vw - 320px) / 447) 
		calc(24px + 24*(100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1 .txt h3 {
		font-size: calc(18px + 6 * (100vw - 320px) / 447);
		letter-spacing: calc(2px + 6 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1 .wrap:first-child p {
		margin-bottom: calc(0.01px + 19.99 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1 .wrap:nth-child(2) {
		padding: calc(20px + 60 * (100vw - 320px) / 447);
		border-radius: calc(10px + 5 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1 .wrap .block-1 .description {
		margin-bottom: 10px;
		padding-left: 0;
	}
	.about .contentWrap.lo-1 .wrap:nth-child(2) .lead br {
		display: none;
	}
	.about .contentWrap.lo-1 .wrap .block-2 {
		margin-bottom: calc(30px + 30 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1 .block-2 ul {
		flex-direction: column;
	}
	.about .contentWrap.lo-1 .block-2 li {
		width:100%;
		padding: calc(5px + 15 * (100vw - 320px) / 447) calc(5px + 15 * (100vw - 320px) / 447);
		border-width: calc(5px + 5 * (100vw - 320px) / 447);
		border-radius: calc(8px + 10 * (100vw - 320px) / 447);
	}
	.contentWrap.lo-1.reverse .txt {
		margin: 0 0 calc(20px + 20 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1.reverse .block-1 .lead {
		font-size: calc(16px + 8 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1.reverse .block-1 .description {
		margin-bottom: calc(20px + 20 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1.reverse ul {
		justify-content: center;
		align-items: center;
		margin: 0 0 calc(20px + 20 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1.reverse li {
		width: calc(80% + 20 * (100vw - 320px) / 447);
	}
	.about .contentWrap.lo-1.reverse .block-2 p {
		margin-top: calc(20px + 20 * (100vw - 320px) / 447);
		font-size: calc(15px + 9 * (100vw - 320px) / 447);
	}


	.business .page-header:before {
		width: calc(294px + 442 * (100vw - 320px) / 447);
		height: calc(45px + 74 * (100vw - 320px) / 447);
		left: calc(12px + 3 * (100vw - 320px) / 447);
	}
	.business .contentWrap.lo-1 header:before {
		width: 90%;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		bottom: calc(-24px + 35*(100vw - 320px) / 447);
	}
	.business .contentWrap .inner,
	.careers .contentWrap .inner {
		padding: 
		calc(34px + 14*(100vw - 320px) / 447) 
		calc(12px + 38*(100vw - 320px) / 447) 
		calc(24px + 24*(100vw - 320px) / 447);
	}
	.business .contentWrap.lo-1.bg-green .inner, 
	.careers .contentWrap.lo-1.bg-green .inner {
		padding: 
		calc(24px + 24*(100vw - 320px) / 447) 
		calc(12px + 38*(100vw - 320px) / 447) 
		calc(24px + 24*(100vw - 320px) / 447);
	}
	.business .contentWrap.lo-2 .wrap,
	.careers .contentWrap.lo-2 .wrap,
	.company .contentWrap.lo-2 .wrap {
		padding: calc(12px + 38*(100vw - 320px) / 447);
		border-radius: calc(15px + 15*(100vw - 320px) / 447);
		border-width: calc(6px + 4*(100vw - 320px) / 447);
	}
	.business .contentWrap.lo-2 .txt {
		max-width: 100%;
	}
	.business .contentWrap.lo-2 h2 {
		margin-top: calc(15px + -15*(100vw - 320px) / 447);
		margin-bottom: calc(15px + 15*(100vw - 320px) / 447);
		font-size: calc(18px + 12*(100vw - 320px) / 447);
	}
	.business .contentWrap.lo-2 .description {
		font-size: calc(15px + 1*(100vw - 320px) / 447);
	}
	.business .contentWrap.lo-2 .image {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.business .contentWrap.lo-2 .image img {
		width: 100%;
		max-width: 303px;
	}
	
	.careers .page-header {
		background-position: calc(-88px + 88*(100vw - 320px) / 447);
	}
	.careers .page-header:before {
		width: calc(268px + 298*(100vw - 320px) / 447);
		height: calc(45px + 62*(100vw - 320px) / 447);
	}
	.careers .contentWrap.lo-2 .lead {
		font-size: calc(14px + 4.4*(100vw - 320px) / 447);
		letter-spacing: calc(1px + 7*(100vw - 320px) / 447);
	}
	.careers .contentWrap.lo-2 .txt,
	.company .contentWrap.lo-2 .txt {
		max-width: 100%;
		font-size: calc(14px + 2*(100vw - 320px) / 447);
	}
	.careers .contentWrap.lo-2 h3 {
		text-align: center;
	}
	.careers .contentWrap.lo-2 dl {
		margin: 20px calc(0.01px + 19.99*(100vw - 320px) / 447) 40px !important;
	}
	.careers .contentWrap li {
		align-items: initial;
	}
	.careers .contentWrap.lo-2 .btWrap {
		margin-bottom: 20px;
	}
	.careers .contentWrap.lo-1 header:before {
		bottom: calc(10px + 22*(100vw - 320px) / 447);
		width: calc(130px + 63*(100vw - 320px) / 447);
		height: calc(33px + 15*(100vw - 320px) / 447);
	}
	.careers .contentWrap.lo-1 .txt h3 {
		font-size: calc(16px + 8*(100vw - 320px) / 447);
		text-align: left;
	}
	.careers .contentWrap.lo-1 .txt h3 br {
		display: none;
	}
	.careers .contentWrap.lo-1 .txt .description {
		font-size: calc(14px + 1*(100vw - 320px) / 447);
	}


	.company .page-header:before {
		width: calc(294px + 442*(100vw - 320px) / 447);
		height: calc(51px + 75*(100vw - 320px) / 447);
		left: calc(12px + 3 * (100vw - 320px) / 447);
	}
	.company .contentWrap.lo-2 .lead {
		margin-bottom: calc(30px + 15*(100vw - 320px) / 447);
		font-size: calc(14px + 4.4*(100vw - 320px) / 447);
		letter-spacing: calc(1px + 7*(100vw - 320px) / 447);
	}
	.company .contentWrap.lo-2 .txt {
		margin-top: calc(20px + -20*(100vw - 320px) / 447);
	}
	.company .contentWrap.lo-2 .txt img {
		width: calc(130px + 48*(100vw - 320px) / 447);
	}
	.company table tr {
		display: flex;
		flex-direction: column;
	}
	.company table th,
	.company table td {
		display: block;
	}
	.company table th {
		padding-bottom: 0;
		border-bottom: none;
	}
	.company table {
		border-top: 1px solid #e9e9e9;
	}


	.contact .page-header .page-header-title {
		padding-bottom: calc(7px + 53*(100vw - 320px) / 447);
		font-size: calc(20px + 20*(100vw - 320px) / 447) !important;
	}
	.contact .contentWrap.lo-2 .txt {
		font-size: calc(14px + 4*(100vw - 320px) / 447) !important;
	}
	
	
}


/* hCapture */
.hcaptcha-box {
  margin: 1em 0 2em 0;
  text-align: center;
}
.hcaptcha-explain {
  font-weight: bold;
  margin-bottom: 1em;
}





/* 基本設定 */
.claude {
    /*background: #f8f9fa;*/
    color: #333;
	font-size: 16px;
    line-height: 1.8;
}

.claude .container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 20px;
}

/* セクション共通スタイル */
.claude section {
    padding: 80px 0;
    background: white;
    margin-bottom: 2px;
}

.claude section:nth-child(even) {
    background: #f8f9fa;
}

.claude .section-title {
    font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 50px;
	color: #9ec317;
	position: relative;
	padding-bottom: 15px;
}

.claude .section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: #9ec317;
    margin: 15px auto 0;
}

/* フォレストの強み */
.claude .strengths-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(266px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.claude .strength-card {
    background: white;
    padding: 20px 26px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.claude .strength-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.claude .strength-icon {
    font-size: 30px/*2.5rem*/;
    margin-bottom: 15px;
}

.claude .strength-title {
    font-size: 20px/*1.3rem*/;
    font-weight: bold;
    color: #2c5530;
    margin-bottom: 10px;
}

.claude .strength-desc {
    /*font-size: 0.95rem;*/
    color: #555;
}

/* 主な対応領域 */
.claude .coverage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 40px;
}

.claude .coverage-item {
    background: white;
    padding: 20px 24px;
    border-left: 4px solid #4a8f4f;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.claude .coverage-item:hover {
    border-left-color: #2c5530;
    transform: translateX(4px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.claude .coverage-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.7em;
    font-weight: 600;
    color: white;
    white-space: nowrap;
    flex-shrink: 0;
}

.claude .coverage-badge.keisan {
    background: #2c5530;
}

.claude .coverage-badge.kouro {
    background: #c2691b;
}

.claude .coverage-badge.local {
    background: #1b5fc2;
}

.claude .coverage-badge.other {
    background: #666;
}

.claude .coverage-name {
    font-size: 0.95em;
    color: #333;
    line-height: 1.5;
}

.claude .coverage-note {
    text-align: center;
    margin-top: 40px;
    color: #666;
    font-size: 0.9em;
}

/* 年間契約プラン */
.claude .plan-highlight {
    background: linear-gradient(135deg, #4a8f4f 0%, #2c5530 100%);
    color: white;
    padding: 50px;
    border-radius: 12px;
    margin-top: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.claude .plan-title {
    font-size: 24px;
	margin-bottom: 20px;
	color: #fff;
	text-align: center;
}

.claude .plan-desc {
    font-size: 1em;
    margin-bottom: 30px;
    line-height: 1.8;
}

.plan-benefits {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.claude .benefit-item {
    background: rgba(255,255,255,0.15);
    padding: 20px;
    border-radius: 8px;
    backdrop-filter: blur(10px);
}

.claude .benefit-item::before {
    content: '✓';
    display: inline-block;
    margin-right: 10px;
    font-weight: bold;
    font-size: 1.2rem;
}

/* ご支援の流れ */
.claude .flow-timeline {
    position: relative;
    margin-top: 50px;
    padding: 0 20px;
}

.claude .flow-step {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 30px;
    margin-bottom: 50px;
    position: relative;
}

.claude .flow-step:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 40px;
    top: 80px;
    width: 2px;
    height: calc(100% + 20px);
    background: #e0e0e0;
}

.claude .step-number {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #4a8f4f 0%, #2c5530 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8em;
    font-weight: bold;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    position: relative;
    z-index: 1;
}

.claude .step-content {
    background: white;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.claude .step-title {
    font-size: 1.4em;
    font-weight: bold;
    color: #2c5530;
    margin-bottom: 15px;
}

.claude .step-desc {
    color: #555;
    font-size: 0.95em;
}

/* FAQ */
.claude .faq-list {
    margin-top: 40px;
}

.claude .faq-item {
    background: white;
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

.claude .faq-question {
    background: #f8f9fa;
    padding: 20px 25px;
    font-weight: bold;
    color: #2c5530;
    cursor: pointer;
    position: relative;
    transition: background 0.3s ease;
}

.claude .faq-question:hover {
    background: #e9ecef;
}

.claude .faq-question::before {
    content: 'Q';
    display: inline-block;
    width: 30px;
    height: 30px;
    background: #4a8f4f;
    color: white;
    border-radius: 50%;
    text-align: center;
    line-height: 30px;
    margin-right: 15px;
    font-weight: bold;
}

.claude .faq-answer {
    padding: 20px 25px 20px 70px;
    color: #555;
    line-height: 1.8;
}

.claude .faq-answer::before {
    content: 'A';
    display: inline-block;
    width: 30px;
    height: 30px;
    background: #2c5530;
    color: white;
    border-radius: 50%;
    text-align: center;
    line-height: 30px;
    margin-right: 15px;
    margin-left: -45px;
    font-weight: bold;
}

/* お問い合わせ */
.claude .cta-section {
    text-align: center;
    padding: 80px 20px;
    background: linear-gradient(135deg, #4a8f4f 0%, #2c5530 100%);
    /*color: white;*/
}

.claude .cta-title {
    font-size: 2rem;
    margin-bottom: 20px;
}

.claude .cta-desc {
    font-size: 1.1em;
    margin-bottom: 40px;
    opacity: 0.95;
}

.claude .cta-button {
    display: inline-block;
    padding: 18px 50px;
    background: white;
    color: #2c5530;
    text-decoration: none;
    border-radius: 50px;
    font-weight: bold;
    font-size: 1.1em;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.claude .cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .claude .section-title {
        font-size: 1.8em;
    }
    
    .claude .flow-step {
        grid-template-columns: 60px 1fr;
        gap: 20px;
    }
    
    .claude .step-number {
        width: 60px;
        height: 60px;
        font-size: 1.4em;
    }
    
    .claude .flow-step:not(:last-child)::before {
        left: 30px;
        top: 60px;
    }
    
    .claude .coverage-grid {
        grid-template-columns: 1fr;
    }
    
    .claude .coverage-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .claude .plan-highlight {
        padding: 30px 20px;
    }
    
    .claude .plan-benefits {
        grid-template-columns: 1fr;
    }
}
