@import "oc-theme-base.css";

@font-face {
	font-family: 'NotoSansJP';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2"),
		 url("../fonts/notosansjp/NotoSansJP-Regular.woff") format("woff");
}
@font-face {
	font-family: 'NotoSansJP';
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"),
		url("../fonts/notosansjp/NotoSansJP-Medium.woff") format("woff");
}
@font-face {
	font-family: 'NotoSansJP';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"),
		url("../fonts/notosansjp/NotoSansJP-Bold.woff") format("woff");
}
@font-face {
    font-family: Alata;
    font-weight: 400;
    font-style: normal;
    src: url("../fonts/Alata-Regular.woff2") format("woff2"), url("../fonts/Alata-Regular.woff") format("woff");
}

:root {
	--oc-link-color: rgb(0 149 12);
	--oc-primary-color: #333;
	
	--oc-btn-primary-color: #333;
	--oc-btn-alt-color: #333;

	--oc-blog-heading-mt: 1.9rem;
	--oc-blog-heading-mb: 1.625rem;
	--oc-blog-heading-pt: 1.625rem;
	--oc-blog-font-size: calc(1rem + .069vw);
	--oc-blog-heading1-fs: calc(1.6rem + .069vw);
	--oc-blog-heading2-fs: calc(1.5rem + .069vw);
	--oc-blog-heading3-fs: calc(1.35rem + .069vw);
	--oc-blog-line-height: 1.625rem;

	--header-height: 107px;
}

@media screen and (max-width:767px) {
	:root {
		--header-height: 70px;
	}
}

body {
	color: var(--oc-primary-color);
	font-family: "NotoSansJP", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 1.5;
}

.text-primary-color{
	color: var(--oc-primary-color);
}
.clear-fix { clear: both; }

a {
	text-decoration: none;
	color: var(--oc-link-color);
}
a:hover {
	text-decoration: none;
}
img {
	max-width: 100%;
}

.bg-image {
	z-index: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.text-bg-top {
	z-index: 0;
	height: 200px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.text-bg-top .caption {
}
.text-bg-top .caption h1,
.text-bg-top .caption h2 {
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

.content-none {
    text-align: center;
    font-size: 20px;
    padding: 80px 10px;
}
.content-none .error-number {
    font-size: 70px;
}
.content-none .content-none-btn {
    margin: 20px auto;
    text-align: center;
}

/* OC Button Style */
.site-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 375px;
    height: 73px;
    max-width: 90%;
    border: 1px solid #fff;
    color: #fff;
    background-color: transparent;
    transition: all 0.5s;
}
.site-btn {
    color: var(--oc-primary-color);
    border-color: var(--oc-primary-color);
}

/* END - OC Button Style */

/* OC Modal Style */
.modal-design {
	height: 80vh;
	overflow: scroll;
	margin: 15% 0 10% 0;
	border-radius: unset;
} 
.modal-dialog{
	max-width: 800px;
	padding: 1rem;
}

@media (min-width: 576px){
	.modal-dialog {
		max-width: 500px;
		margin: 1.75rem auto;
	}
}

.close-btn {
	position: fixed;
	right: 0x;
	top: 25px;
}
.modal-side-margin {
	margin: 0;
}

.modal-body-design {
	padding: 0;
}

.round_btn {
	display: block;
	width: 45px;
	height: 45px;
	border: 2px solid #AA8400; /* 枠の調整 */
	border-radius: 50%;  /* 丸みの度合い */
	background: #fff; /* ボタンの背景色 */
}

.round_btn::before, .round_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px; /* 棒の幅（太さ） */
	height: 22px; /* 棒の高さ */
	background: #AA8400; /* バツ印の色 */
}

.round_btn::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

.round_btn::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

/* END - OC Modal Style */

*{
	word-break: break-word;
}
a,
a img{
    transition: all .3s;
}
a[href^="tel:"] {
    pointer-events: none;
}
p{
	margin-bottom: 25px;
}
p:last-child{
	margin-bottom: 0;
}
img{
	max-width: 100%;
}
figure{
	margin-bottom: 0;
}
i{
	font-style: normal;
}
table{
	width: 100%;
}
.home dl,
.home dd,
.content dl,
.content dd,
ul.reset,
ol.reset,
#header ul,
#footer ul,
.home ul,
.home ol{
	margin: 0;
	padding: 0;
}
ul.reset li,
ol.reset li,
#header li,
#footer li,
.home li{
	list-style: none;
}
.mt0{margin-top: 0px!important;}
.mt5{margin-top: 5px!important;}
.mt10{margin-top: 10px!important;}
.mt15{margin-top: 15px!important;}
.mt20{margin-top: 20px!important;}
.mt25{margin-top: 25px!important;}
.mt30{margin-top: 30px!important;}
.mt35{margin-top: 35px!important;}
.mt40{margin-top: 40px!important;}
.mt45{margin-top: 45px!important;}
.mt50{margin-top: 50px!important;}
.mt55{margin-top: 55px!important;}
.mt60{margin-top: 60px!important;}
.mt65{margin-top: 65px!important;}
.mt70{margin-top: 70px!important;}
.mt75{margin-top: 75px!important;}
.mt80{margin-top: 80px!important;}
.mt85{margin-top: 85px!important;}
.mt90{margin-top: 90px!important;}
.mt95{margin-top: 95px!important;}
.mt100{margin-top: 100px!important;}
.mb0{margin-bottom: 0px!important;}
.mb5{margin-bottom: 5px!important;}
.mb10{margin-bottom: 10px!important;}
.mb15{margin-bottom: 15px!important;}
.mb20{margin-bottom: 20px!important;}
.mb25{margin-bottom: 25px!important;}
.mb30{margin-bottom: 30px!important;}
.mb35{margin-bottom: 35px!important;}
.mb40{margin-bottom: 40px!important;}
.mb45{margin-bottom: 45px!important;}
.mb50{margin-bottom: 50px!important;}
.mb55{margin-bottom: 55px!important;}
.mb60{margin-bottom: 60px!important;}
.mb65{margin-bottom: 65px!important;}
.mb70{margin-bottom: 70px!important;}
.mb75{margin-bottom: 75px!important;}
.mb80{margin-bottom: 80px!important;}
.mb85{margin-bottom: 85px!important;}
.mb90{margin-bottom: 90px!important;}
.mb95{margin-bottom: 95px!important;}
.mb100{margin-bottom: 100px!important;}
.mlr10{margin-left: 10px!important;margin-right: 10px!important;}
.mlr20{margin-left: 20px!important;margin-right: 20px!important;}
.mlr30{margin-left: 30px!important;margin-right: 30px!important;}
.mlr40{margin-left: 40px!important;margin-right: 40px!important;}
.mlr50{margin-left: 50px!important;margin-right: 50px!important;}
.mlr60{margin-left: 60px!important;margin-right: 60px!important;}
.mlr70{margin-left: 70px!important;margin-right: 70px!important;}
.mlr80{margin-left: 80px!important;margin-right: 80px!important;}
.mlr90{margin-left: 90px!important;margin-right: 90px!important;}
.mlr100{margin-left: 100px!important;margin-right: 100px!important;}
.tb,
.sp{
	display: none;
}
.flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
/* .anchor-parent{
	position: relative;
}
.anchor{
	position: absolute;
	top: calc(-1 * var(--header-height));
} */
img.full{
	width: 100%;
}
.btn-s1{
	display: inline-block;
	position: relative;
	padding: 0 10px;
	min-width: 333px;
	height: 56px;
	color: #fff;
	font-size: 15px;
	text-align: center;
	line-height: 56px;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	border-radius: 4px;
	overflow: hidden;
}
.btn-s1:before{
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	width: 6px;
	height: 100%;
	background: url(../img/arrow.svg) no-repeat center;
	z-index: 2;
}
.btn-s1:after {
    position: absolute;
    content: '';
    display: inline-block;
    top: -200px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fbfbfb;
}
.btn-s1:not(.a1):hover:after {
    animation: btn_animation 0.8s ease-in-out;
}
.btn-s1.a1:after{
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #136A0E;
	opacity: 0;
    transition: all .3s;
}
@keyframes btn_animation {
  0%   { transform: scale(0) rotate(45deg); opacity: 1; }
  5%  { transform: scale(1) rotate(45deg); opacity: 0.7; }
  10%  { transform: scale(2) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
.btn-s1.a1:hover{
	transition-duration: .32s;
	transform: scale(.98);
}
.btn-s1.a1:hover:after{
	opacity: 1;
}
.header-s1{
	margin-bottom: 40px;
	padding: 12px;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
	text-align: center;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
}
.text-s1{
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block; 
}
.f1{
    font-family: 'Alata', sans-serif;
}
.f2{
	font-family: "josefin-sans", sans-serif;
	font-weight: 400;
	font-style: normal;
}

@media screen and (max-width:820px) {
	.tb{
		display: block;
	}
}

@media screen and (max-width:767px) {
	/* p:not(:last-child){
		margin-bottom: 25px;
	} */
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
    a[href^="tel:"] {
        pointer-events: auto;
    }
	.header-s1{
		margin-bottom: 35px;
		padding: 10px;
		font-size: 25px;
	}
}

/*base*/
#container{
	padding-top: var(--header-height);
	overflow: hidden;
}
.container{
	margin: 0;
	padding: 0;
	padding-bottom: 100px;
	max-width: 100%;
}
.blog .container {
	padding-bottom: 0;
}
.wrap{
	margin: 0 auto;
	max-width: 1110px;
	padding: 0 15px;
}
.wrap.wide{
	max-width: 1320px;
}

@media screen and (max-width:767px) {
	.container{
		padding-bottom: 80px;
	}
}

/*ヘッダー*/
#header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}
#header #hinr{
	position: relative;
	margin: 0 auto;
	padding: 35px 30px 0;
	width: 100%;
	height: var(--header-height);
	line-height: 1;
	background: #fff;
}
#header .left{
	width: 247.5px;
}
#header .right{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	height: 60px;
}
#header .description{
	position: absolute;
	top: 13px;
	left: 30px;
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: bold;
}
#header .logo{
	margin: 0;
	padding: 0;
}
#header .logo img{
	display: block;
}
#header .menu ul{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
#header .menu a{
	position: relative;
	display: block;
	color: #333333;
	font-weight: bold;
}
#header .menu a:hover{
	color: #439F05;
}
#header .menu a:before{
	content: '';
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 100%;
	height: 1px;
	background: #439F05;
	opacity: 0;
}
#header .menu a:hover:before{
	opacity: 1;
}
#header .contact{
	display: flex;
	align-items: center;
	gap: 7px;
}
#header .tel a{
	display: block;
	padding-left: 18px;
	color: #333;
	font-size: 13px;
	letter-spacing: 0.04em;
	background: url(../img/icon-phone.svg) no-repeat 0 5px;
}
#header .tel b{
	display: block;
	color: #64A201;
	font-weight: bold;
	font-size: 25px;
	letter-spacing: 0;
}
#header .form a{
	display: flex;
	width: 207px;
	height: 60px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 60px;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
}
#header .form span{
	display: block;
	width: 90px;
	text-align: center;
}
#header .form span:last-child{
	position: relative;
	width: calc(100% - 90px);
}
#header .form span:last-child:before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 43px;
	background: #fff;
    transform: translateY(-50%);
}
#header .menu-trigger{
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 86px;
	height: 86px;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	cursor: pointer;
	z-index: 10;
}
.menu-trigger .inr{
	position: relative;
	width: 54px;
	height: 39px;
	cursor: pointer;
    transition: all .3s;
}
.menu-trigger span {
	position: absolute;
	right: 0;
	width: 100%;
	height: 4.5px;
	background: #fff;
	transition: all .3s;
}
.on .menu-trigger span {
	background: #222;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 50%;
	transform: translateY(-50%);
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(16px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-17px) rotate(45deg);
}
.sp-menu{
	position: fixed;
	right: -100%;
	bottom: 0;
	width: auto;
	padding: 20px 30px 55px 30px;
	width: 375px;
	height: calc(100% - var(--header-height));
	text-align: center;
	background: #fff;
    transition: all .8s cubic-bezier(0.19, 1, 0.22, 1);
    overflow: auto;
	z-index: 10;
}
.sp-menu.on{
	right: 0;
}
.sp-menu .upper{
	margin-bottom: 25px;
}
.sp-menu li{
	padding: 20px 0;
	border-bottom: #e5e5e5 1px solid;
}
.sp-menu li a{
	display: block;
	color: var(--oc-primary-color);
	font-weight: bold;
}
#header .sp-menu .contact{
	display: block;
}
.sp-menu .tel{
	margin-bottom: 30px;
}
#header .sp-menu .tel a{
	display: inline-block;
	padding-left: 25px;
	background: url(../img/icon-phone.svg) no-repeat 0 7px;
	background-size: 22px auto;
}
#header .sp-menu .tel b{
	margin-bottom: 5px;
	font-size: 32px;
}
#header .sp-menu .form a{
	margin: 0 auto;
	width: 284px;
	height: 70px;
	font-size: 14px;
	line-height: 70px;
}
#header .sp-menu .form span{
	width: 130px;
}
#header .sp-menu .form span:last-child{
	width: calc(100% - 130px);
}

@media screen and (max-width:1250px) {
	#header .right{
		display: none;
	}
	#header .menu-trigger{
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

@media screen and (max-width:767px) {
	#header #hinr{
		padding: 17px 7px 0;
	}
	#header .left{
		width: 150px;
	}
	#header .description{
		display: none;
	}
	#header .menu-trigger{
		width: 65px;
		height: 65px;
	}
	.menu-trigger .inr{
		width: 48px;
		height: 29px;
	}
	.menu-trigger span {
		height: 3.5px;
	}
	.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(14px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-13px) rotate(45deg);
	}
}

/*メインカラム*/
.top-mv{
	margin: 0 auto;
	margin-bottom: 40px;
}
.top-mv .text{
	padding: 20px;
	color: #fff;
	font-weight: 500;
	font-size: 18px;
	text-align: center;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
}
.top-mv .main-text {
	margin: 0 auto;
	max-width: 2000px;
	padding: 100px 0;
	text-align: center;
	background: url(../img/mv-bg.webp) no-repeat center;
	background-size: cover;
}
.top-mv .main-text .upr p.s1{
	display: inline-block;
	margin-bottom: 3px;
	padding: 0 30px;
	height: 48px;
	font-weight: bold;
	font-size: 30px;
	line-height: 38px;
	background: #fff;
	border: #358f28 3px solid;
}
.top-mv .main-text .upr strong{
	display: block;
	margin-bottom: 20px;
	font-size: 75px;
	line-height: 1.3;
	-webkit-text-stroke: 10px #ffffff;
    paint-order: stroke fill;
    filter: drop-shadow(0 4px 2px rgba(0, 0, 0, 0.25));
	/* text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px; */
}
.top-mv .main-text .upr strong span{
	font-size: 60px;
}
.top-mv .main-text .mid{
	margin-bottom: 25px;
}
.appeal{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px 0;
	margin-right: auto;
	margin-left: auto;
	max-width: 500px;
}
.appeal dl{
	position: relative;
	padding-top: 20px;
	width: 150px;
	height: 150px; 
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	border-radius: 100%;
}
.appeal dl:before{
	content: '';
	position: absolute;
	top: 1px;
	left: 1px;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	background: #fff;
	border-radius: 100%;
}
.appeal dt{
	position: relative;
	display: inline-block;
	margin-bottom: 15px;
	padding: 0 5px;
	min-width: 132px;
	height: 30px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 28px;
	white-space: nowrap;
	background: linear-gradient(128deg, rgba(70, 95, 22,1) 5%,rgba(69, 95, 22,1) 5%,rgba(27, 99, 33,1) 100%);
}
.appeal dl:last-child dt{
	margin-left: 50%;
	margin-bottom: 5px;
	width: 172px;
    transform: translateX(-50%);
}
.appeal dd{
	position: relative;
	font-weight: bold;
	font-size: 31px;
	line-height: 1.2;
}
.top-mv .main-text .btm dl{
	margin: 0 auto;
	max-width: 600px;
	font-size: 20px;
	font-weight: bold;
}
.top-mv .main-text .btm dt{
	width: 150px;
	height: 40px;
	color: #fff;
	line-height: 40px;
	text-align: center;
	background: #87C319;
}
.top-mv .main-text .btm dd{
	padding-left: 15px;
	width: calc(100% - 150px);
	height: 40px;
	text-align: left;
	line-height: 40px;
	background: #E8EDE6;
}
.top-content h2[data-en]{
	position: relative;
	padding-top: 70px;
	font-weight: bold;
	font-size: 15px;
	text-align: center;
	line-height: 1;
}
.top-content h2[data-en]:before{
	content: attr(data-en);
	position: absolute;
	top: 0;
	left: 50%;
	font-size: 55px;
	font-weight: 400;
    font-family: 'Alata', sans-serif;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block; 
	white-space: nowrap;
    transform: translateX(-50%);
}
.top-content h2[data-en].s1{
	text-align: left;
}
.top-content h2[data-en].s1:before{
	left: 0;
    transform: translateX(0);
}
.top-content h2[data-en].s2:before{
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 2%, rgba(254, 254, 254, 1) 2%, rgba(226, 239, 227, 1) 70%, rgba(111, 177, 117, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.top-content.c01 {
	margin-bottom: 90px;
}
.top-content.c01 .inr{
	/* display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 50px; */
}
.top-content.c01 .slick-track{
	display: flex;
	align-items: center;
	gap: 50px;
}
.top-content.c02 {
	position: relative;
	margin-bottom: 120px;
}
.top-content.c02:before{
	content: '';
	position: absolute;
	top: -80px;
	right: 0;
	width: 280px;
	height: 308px;
	background: url(../img/deco01.png) no-repeat center;
	z-index: -1;
}
.top-content.c02 .inr{
	align-items: center;
	gap: 35px 0;
}
.top-content.c02 .left{
	position: relative;
	padding: 70px 0;
	width: 42%;
}
.top-content.c02 .right{
	width: 51%;
}
.top-content.c02 .left:before{
	content: '';
	position: absolute;
	top: 0;
	left: -55px;
	width: calc(100% + 95px);
	height: 100%;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	clip-path: polygon(0 0, 56.25% 0%, 100% 100%, 43.75% 100%);
	z-index: -1;
}
.top-content.c02 .left img{
	clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
}
.top-content.c02 .header{
	margin-bottom: 35px;  
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
}
.top-content.c02 h2{
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 40px;
}
.top-content.c03{
	position: relative;
	margin-bottom: 115px;
	padding: 100px 0;
}
.top-content.c03:before{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 5000px;
	height: 100%;
	background: #EFEFEF;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 190px 100%);
    transform: translateX(-12.5%);
}
.top-content .inr-wrap{
	margin: 0 auto;
	width: 2000px;
	overflow: hidden;
}
.top-content.c03 h2{
	margin-bottom: 40px;
}
.top-content.c03 .inr{
	position: static;
	width: 366px;
}
.top-content.c03 .box{
	position: relative;
	margin-right: 40px;
}
.top-content.c03 .box:before{
	display: block;
	content: '';
	padding-top: 135%;
}
.top-content.c03 .image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.top-content.c03 .image:before{
	content: '';
	display: block;
	padding-top: 100%;;
}
.top-content.c03 .image img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-content.c03 dl{
	position: absolute;
	left: 0;
	bottom: 0;
	padding-top: 50px;
	padding-bottom: 30px;
	width: 100%;
	color: #fff;
	background: linear-gradient(
	to bottom,
	rgba(6, 78, 12,0) 0%,
	rgba(6, 78, 12,0.4) 25%,
	rgba(6, 78, 12,1) 50%,
	rgba(0, 27, 2,1) 100%
	);
}
.top-content.c03 dt{
	margin-bottom: 10px;
	padding: 0 10px;
	font-size: 28px;
	font-weight: 500;
	text-align: center;
}
.top-content.c03 dd{
	padding: 0 25px;
}
.top-content.c03 .slick-list{
	overflow: visible;
}
.top-content.c04 {
	position: relative;
	margin-bottom: 170px;
}
.top-content.c04:before{
	content: '';
	position: absolute;
	top: -115px;
	left: 0;
	width: 265px;
	height: 309px;
	background: url(../img/deco02.png) no-repeat center;
	z-index: -1;
}
.top-content.c04 .inr{
	align-items: center;
	gap: 40px 0;
	margin-right: -105px;
}
.top-content.c04 .left{
	width: 48%;
}
.top-content.c04 .right{
	position: relative;
	padding: 70px 0;
	width: 46%;
}
.top-content.c04 .right:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: calc(100% + 95px);
	height: 100%;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	clip-path: polygon(0 0, 56.25% 0%, 100% 100%, 43.75% 100%);
	z-index: -1;
}
.top-content.c04 h2{
	margin-bottom: 45px;
}
.top-content.c04 dl:not(:last-child){
	margin-bottom: 35px;
}
.top-content.c04 dt h3{
	margin-bottom: 15px;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
}
.top-content.c04 .right img{
	clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
}
.top-content.c05 {
	position: relative;
	margin-bottom: 120px;
}
.top-content.c05:before{
	content: '';
	position: absolute;
	top: 285px;
	right: 0;
	width: 336px;
	height: 315px;
	background: url(../img/deco03.png) no-repeat center;
	z-index: -1;
}
.top-content.c05 h2{
	margin-bottom: 35px;
}
.top-content.c05 .inr{
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	margin-bottom: 60px;
}
.top-content.c05 .box{
	padding: 20px;
	padding-bottom: 40px;
	width: calc((100% - 50px) / 3);
	background: #fff;
	border: #d4d4d4 1px solid;
	box-shadow: 0px 0px 30px 0px rgba(19,38,3,0.06);
}
.top-content.c05 .image{
	position: relative;
}
.top-content.c05 .image:before{
	content: '';
	display: block;
	margin-bottom: 25px;
	padding-top: 62%;
}
.top-content.c05 .image img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-content.c05 .p-title{
	color: var(--oc-btn-primary-color);
	font-weight: bold;
	font-size: 20px;
}
.top-content.c05 .link{
	text-align: center;
}
.top-content.c06 {
	position: relative;
	margin-bottom: 300px;
	padding-top: 120px;
	color: #fff;
	background: #40753A url(../img/top-c06-bg.webp) no-repeat center bottom;
	background-size: 100% auto;
}
.top-content.c06 .upper {
	margin-bottom: 120px;
}
.top-content.c06 .upper .inr{
	align-items: center;
	gap: 20px 0;
}
.top-content.c06 .upper .left{
	position: relative;
	padding: 70px 0;
	width: 42%;
}
.top-content.c06 .upper .right{
	width: 46.5%;
}
.top-content.c06 .upper .left:before{
	content: '';
	position: absolute;
	top: 0;
	left: -55px;
	width: calc(100% + 95px);
	height: 100%;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	clip-path: polygon(0 0, 56.25% 0%, 100% 100%, 43.75% 100%);
}
.top-content.c06 .upper .left img{
	position: relative;
	z-index: 1;
	clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
}
.top-content.c06 h2{
	margin-bottom: 30px;
}
.top-content.c06 .upper p.s1{
	text-align: right;
}
.top-content.c06 .upper p.s1 span{
	display: inline-block;
	text-align: left;
}
.top-content.c06 .middle {
	position: relative;
	margin-bottom: 115px;
}
.top-content.c06 .middle:after,
.top-content.c06 .middle:before{
	content: '';
	position: absolute;
	top: -80px;
	left: 0;
	width: 336px;
	height: 301px;
	background: url(../img/deco05.webp) no-repeat center;
}
.top-content.c06 .middle:after{
	top: auto;
	left: auto;
	right: 0;
	bottom: 50px;
	width: 222px;
	height: 278px;
	background: url(../img/deco06.webp) no-repeat center;
}
.top-content.c06 .middle .upr {
	margin-bottom: 35px;
	font-size: 18px;
	text-align: center;
}
.top-content.c06 .middle h3{
	margin-bottom: 35px;
	font-size: 30px;
	font-weight: bold;
}
.top-content.c06 .middle h3 span{
	display: inline-block;
	padding: 10px 0;
	border-top: #c9d5c8 1px solid;
	border-bottom: #c9d5c8 1px solid;
}
.top-content.c06 .middle .mid{
	margin-bottom: 50px;
}
.top-content.c06 .middle dl{
	padding-top: 40px;
	padding-right: 50px;
	padding-bottom: 30px;
	width: 50%;
	border-top: #8aab87 1px solid;
}
.top-content.c06 .middle dl:nth-of-type(even){
	padding-right: 0;
	padding-left: 50px;
	border-left: #8aab87 1px solid;
}
.top-content.c06 .middle dl:nth-of-type(1),
.top-content.c06 .middle dl:nth-of-type(2){
	padding-top: 5px;
	border-top: none;
}
.top-content.c06 .middle dt{
	position: relative;
	margin-bottom: 5px;
	padding: 12px 0;
	padding-left: 45px;
	font-size: 23px;
	font-weight: bold;
}
.top-content.c06 .middle dt:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 59px;
	height: 59px;
	background: url(../img/icon-clock.svg) no-repeat center;
	background-size: 100% auto;
}
.top-content.c06 .middle .d2 dt:before{
	background: url(../img/icon-www.svg) no-repeat center;
	background-size: 100% auto;
}
.top-content.c06 .middle .d3 dt:before{
	background: url(../img/icon-heart.svg) no-repeat center;
	background-size: 100% auto;
}
.top-content.c06 .middle .d4 dt:before{
	background: url(../img/icon-brush.svg) no-repeat center;
	background-size: 100% auto;
}
.top-content.c06 .middle dt span{
	display: inline-block;
	padding: 2px 15px;
	padding-left: 20px;
	background: #185012;
}
.top-content.c06 .middle .btm{
	font-size: 18px;
	text-align: center;
}
.top-content.c06 .bottom .inr{
	padding: 35px 80px 50px 80px;
	color: var(--oc-primary-color);
    background: rgba(255,255,255, 0.85);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}
.top-content.c06 .bottom h3{
	position: relative;
	margin-bottom: 0;
	padding: 25px 10px;
	padding-top: 15px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	background: #185012;
	z-index: 2;
}
.top-content.c06 .bottom h3:before{
	content: '';
	position: absolute;
	top: -66px;
	right: 15px;
	width: 182px;
	height: 214px;
	background: url(../img/top-c06-h3-bg.webp) no-repeat center;
	background-size: 100% auto;
}
.top-content.c06 .bottom h3 strong{
	display: block;
	font-size: 40px;
}
.top-content.c06 .bottom h3 b{
	font-size: 60px;
}
.top-content.c06 .bottom h3 span{
	display: inline-block;
	position: relative;
}
.top-content.c06 .bottom h3 span:before{
	content: '';
	position: absolute;
	left: -15px;
	bottom: -6px;
	width: calc(100% + 30px);
	height: 25px;
	background: url(../img/deco04.webp) no-repeat center;
	background-size: 100% auto;
	z-index: -1;
}
.top-content.c06 .bottom .image{
	margin-top: -100px;
	text-align: center;
    transform: translateY(41%);
}
.top-content.c07 {
	position: relative;
	margin-bottom: 120px;
}
.top-content.c07:before{
	content: '';
	position: absolute;
	left: 0;
	bottom: -97px;
	width: 298px;
	height: 408px;
	background: url(../img/top-c07-bg.png) no-repeat center;
	background-size: 100% auto;
}
.top-content.c07 .upper {
	margin-bottom: 45px;
	font-size: 18px;
	text-align: center;
}
.top-content.c07 h3{
	margin-bottom: 25px;
	font-weight: bold;
	font-size: 30px;
}
.top-content.c07 .bottom {
	margin: 0 auto;
	max-width: 800px;
}
.top-content.c07 h4{
	margin-bottom: 35px;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
}
.top-content.c07 dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	margin-bottom: 30px;
}
.top-content.c07 dl:last-of-type{
	margin-bottom: 10px;
}
.top-content.c07 dl:not(:last-of-type):before{
	content: '';
	position: absolute;
	left: 27px;
	bottom: -25px;
	width: 28.5px;
	height: 12px;
	background: #87C319;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.top-content.c07 dt{
	width: 80px;
	height: 80px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 80px;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	border-radius: 100%;
}
.top-content.c07 dd{
	width: calc(100% - 100px);
}
.top-content.c07 dt b{
	font-size: 30px;
}
.top-content.c07 dd strong{
	display: block;
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: bold;
}
.top-content.c07 .bottom p{
	font-size: 15px;
}
.top-content.c08 {
	margin-bottom: 120px;
}
.top-content.c08 .inr{
	position: relative;
	padding: 60px 80px 50px 80px;
	text-align: center;
	background: #F1F1F1;
}
.top-content.c08 .inr:before{
	content: '';
	position: absolute;
	top: -45px;
	right: -50px;
	width: 157px;
	height: 157px;
	background: url(../img/top-c08-01.svg) no-repeat center;
	background-size: 100% auto;
}
.top-content.c08 h3{
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 30px;
}
.top-content.c08 .upper {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 2.75%;
	margin-bottom: 50px;
	text-align: left;
}
.top-content.c08 .box{
	width: 31.5%;
}
.top-content.c08 .image{
	margin-bottom: 15px;
}
.top-content.c08 dt h4{
	margin-bottom: 10px;
	color: #5F8B0E;
	font-weight: bold;
	font-size: 25px;
}
.top-content.c08 .bottom{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.top-content.c09 {
	padding-bottom: 140px;
	background: linear-gradient(180deg, rgba(255, 255, 255,1) 70%,rgba(255, 255, 255,1) 70%,rgba(245, 251, 255,1) 100%);
}
.top-content.c09 .inr{
	align-items: center;
	gap: 30px 0;
}
.top-content.c09 .left{
	position: relative;
	padding: 70px 0;
	width: 42.5%;
}
.top-content.c09 .right{
	width: 50%;
}
.top-content.c09 .left:before{
	content: '';
	position: absolute;
	top: 0;
	right: -10px;
	width: calc(100% + 80px);
	height: 100%;
	background: #EBEBEB;
	clip-path: polygon(0 0, 56.25% 0%, 100% 100%, 43.75% 100%);
}
.top-content.c09 .left img{
	clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
}
.top-content.c09 .upper{
	margin-bottom: 30px;
}
.top-content.c09 h2{
	margin-bottom: 25px;
	font-size: 35px;
	font-weight: bold;
	line-height: 1.3;
}
.top-content.c09 h3{
	display: inline-block;
	margin-bottom: 20px;
	padding: 12px 20px;
	color: #fff;
	font-weight: bold;
	font-size: 25px;
	line-height: 1;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
}
.top-content.c09 dl{
	margin-bottom: 20px;
}
.top-content.c09 dt h4{
	margin-bottom: 5px;
	font-size: 25px;
	font-weight: bold;
}
.top-content.c10 {
	margin-bottom: 120px;
	padding-bottom: 50px;
	background: url(../img/top-c10-bg.webp) no-repeat center bottom;
	background-size: 100% auto;
}
.top-content.c10 .inr{
	padding: 80px;
	padding-bottom: 100px;
    background: rgba(255,255,255, 0.8);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    transform: translateY(-70px);
}
.top-content.c10 .upper {
	margin-bottom: 55px;
}
.top-content.c10 .h2 {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 30px;
	text-align: center;
}
.top-content.c10 .upper p:not(:last-child){
	margin-bottom: 30px;
}
.top-content.c10 .upper dl{
	padding: 20px;
	border: #8aab87 1px solid;
}
.top-content.c10 .upper dt{
	margin-bottom: 15px;
	font-size: 22px;
	font-weight: bold;
}
.top-content.c10 .upper a{
	text-decoration: underline;
}
.top-content.c10 .bottom .upr{
	gap: 40px 0;
	margin-bottom: 60px;
}
.top-content.c10 .bottom .box{
	width: 48.5%;
}
.top-content.c10 .bottom .upr dl{
	margin-bottom: 40px;
}
.top-content.c10 .bottom .upr dt{
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.top-content.c10 .bottom .image{
	margin: 0 auto;
	width: 234px;
}
.top-content.c10 .bottom figure {
	display: block;
	margin-bottom: 10px;
}
.top-content.c10 .bottom figcaption {
	display: block;
	margin-bottom: 5px;
	font-size: 18px;
}
.top-content.c10 .bottom .box span {
	font-size: 13px;
}
.top-content.c10 .bottom .btm dl{
	align-items: center;
}
.top-content.c10 .bottom .btm dt{
	padding-right: 10px;
	width: 22%;
	font-weight: bold;
	font-size: 20px;
}
.top-content.c10 .bottom .btm dd{
	width: 78%;
}
.top-content.c11 {
	position: relative;
	margin-bottom: 140px;
	padding-top: 80px;
	padding-bottom: 70px;
}
.top-content.c11:before{
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 5000px;
	height: 100%;
	background: #EFEFEF;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 190px 100%);
    transform: translateX(-12.5%);
}
.top-content.c03 .wrap,
.top-content.c11 .wrap{
	position: relative;
}
.top-content.c11 h2{
	margin-bottom: 35px;
}
.top-content.c11 .inr{
	position: static;
	margin-bottom: 20px;
	width: 377px;
}
.top-content.c11 .box{
	margin-right: 50px;
}
.top-content.c11 .image{
	margin-bottom: 10px;
}
.top-content.c11 dt{
	margin-bottom: 10px;
	padding: 0 10px;
	height: 33px;
	color: #fff;
	display: inline-block;
	font-weight: bold;
	line-height: 33px;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
}
.top-content.c11 p{
	position: relative;
	margin-right: -110px;
	text-align: right;
}
.top-content.c11 .slick-list{
	overflow: visible;
}
.top-content.c03 .slick-arrow ,
.top-content.c11 .slick-arrow {
    top: 15px;
	left: auto;
	right: 75px;
    width: 50px;
    height: 50px;
	background: url(../img/arrow02.svg) no-repeat center;
	background-size: 100% auto;
    transform: translateX(100px);
	z-index: 1;
}
.top-content.c03 .slick-next,
.top-content.c11 .slick-next {
	right: 0;
	background: url(../img/arrow03.svg) no-repeat center;
	background-size: 100% auto;
}
.top-content.c03 .slick-arrow:before,
.top-content.c11 .slick-arrow:before {
	display: none;
}
.top-content.c12 {
	position: relative;
	margin-bottom: 120px;
	padding-bottom: 100px;
}
.top-content.c12:before{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 44%;
	height: calc(100% - 70px);
	background: url(../img/top-c12-bg.webp) no-repeat right center;
	background-size: auto 100%;
	z-index: -1;
}
.top-content.c12 h2{
	position: relative;
	margin-bottom: 120px;
}
.top-content.c12 .inr{
	padding-left: 40%;
}
.top-content.c12 h3{
	margin-bottom: 35px;
	font-weight: bold;
	font-size: 30px;
}
.top-content.c13 {
	margin-bottom: 135px;
	color: #fff;
}
.top-content.c13 .wrap-inr{
	padding: 80px;
	padding-top: 90px;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
}
.top-content.c13 h2{
	margin-bottom: 35px;
}
.top-content.c13 .inr{
    counter-reset: order;
}
.top-content.c13 .box{
	align-items: center;
	gap: 5px 0;
}
.top-content.c13 .box:not(:last-child){
	margin-bottom: 35px;
}
.top-content.c13 .left{
	width: 78%;
}
.top-content.c13 .right{
	width: 18.5%;
}
.top-content.c13 dl{
	position: relative;
	padding-left: 70px;
}
.top-content.c13 dl:before{
    counter-increment: order;
    content: counter(order, decimal-leading-zero);
	position: absolute;
	top: 50%;
	left: 0;
	width: 51px;
	height: 51px;
	color: #6FA328;
	font-size: 20px;
	font-weight: bold;
	line-height: 51px;
	text-align: center;
	background: #fff;
	border-radius: 100%;
    transform: translateY(-50%);
}
.top-content.c13 dt h3{
	margin-bottom: 10px;
	font-weight: 500;
	font-size: 22px;
}
.top-content.c14 {
	margin-bottom: 110px;
}
.top-content.c14 h2{
	margin-bottom: 30px;
}
.top-content.c14 .inr{
	margin: 0 auto;
	max-width: 700px;
}
.top-content.c14 dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 15px 0;
	border-bottom: #e5e5e5 1px solid;
}
.top-content.c14 dt{
	padding-right: 10px;
	width: 125px;
	font-weight: 500;
}
.top-content.c14 dd{
	width: calc(100% - 125px);
}
.top-content.c15 {
	margin-bottom: 120px;
}
.top-content.c15 .inr{
	margin: 0 auto;
	max-width: 910px;
}
.top-content.c15 h2{
	margin-bottom: 25px;
}
.top-content.c15 dl{
	padding-left: 80px;
	padding-right: 70px;
	border-bottom: #28552a solid 1px;
	cursor: pointer;
}
.top-content.c15 dt{
	position: relative;
	padding: 25px 0;
	font-weight: bold;
}
.top-content.c15 dd:before,
.top-content.c15 dt:before{
	content: 'Q';
	position: absolute;
	top: 50%;
	left: -75px;
	color: #51A003;
    font-family: 'Alata', sans-serif;
	font-weight: normal;
	font-size: 40px;
    transform: translateY(-50%);
}
.top-content.c15 dt:after{
	content: '';
	position: absolute;
	top: 50%;
	right: -40px;
	width: 24px;
	height: 100%;
	background: url(../img/icon-plus.svg) no-repeat 0 center;
    transform: translateY(-50%);
}
.top-content.c15 .open dt:after{
	background: url(../img/icon-minus.svg) no-repeat 0 center;
}
.top-content.c15 dd{
	display: none;
	position: relative;
	padding-bottom: 15px;
}
.top-content.c15 dd:before{
	content: 'A';
	left: -71px;
	color: #CC6F05;
    transform: translateY(-60%);
}
.top-content.c16 {
	margin-bottom: 120px;
	padding-top: 250px;
	font-size: 20px;
	text-align: center;
	background: url(../img/top-c16-bg.webp) no-repeat center 0;
	background-size: 100% auto;
}
.top-content.c16 .inr{
	position: relative;
	margin: 0 auto;
	padding: 60px 20px;
	max-width: 960px;
	background: #fff;
	box-shadow: 0px 0px 40px 0px rgba(0,0,0,0.07);
}
.top-content.c16 .inr:before{
	content: '';
	position: absolute;
	top: -148px;
	right: -277px;
	width: 424px;
	height: 320px;
	background: url(../img/deco07.webp) no-repeat center;
	z-index: 2;
}
.top-content.c16 .image{
	margin-bottom: 20px;
	text-align: center;
}
.top-content.c16 p.s1{
	margin-bottom: 20px;
	font-size: 30px;
	font-weight: bold;
}
.top-content.c16 .link{
	position: relative;
	margin-top: 40px;
}
.top-content.c16 .link a.s1{
	position: absolute;
	top: 0;
	left: 50%;
	padding: 0 10px;
	height: 38px;
	color: #596500;
	font-weight: bold;
	font-size: 18px;
	line-height: 32px;
	background: #fff;
	border: #c2d43e 2.5px solid;
    transform: translateY(-50%) translateX(-50%);
	z-index: 2;
}
.top-content.c16 .link a.s1:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 12px 5px 0 5px;
  border-color: #c2d43e transparent transparent;
  translate: -50% 100%;
}

.top-content.c16 .link a.s1:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 6.8px 2.8px 0 2.8px;
  border-color: #d6fdff transparent transparent;
  translate: -50% 100%;
}
.top-content.c16 .link a.s1 span{
	color: #FF4000;
}
.top-content.c16 .link .btn-s1{
	width: 580px;
	height: 90px;
	font-size: 23px;
	font-weight: bold;
	line-height: 90px;
	border-radius: 0;
	box-shadow: 0px 4px 30px 0px rgba(86,85,13,0.27);
}
.top-content.c16 .link .btn-s1:before {
    right: 30px;
}
.top-content.c16 .link .btn-s1 span{
	position: relative;
	z-index: 2;
}
.top-content.c17 .inr{
	margin: 0 auto;
	margin-bottom: 60px;
	max-width: 800px;
}
.top-content.c17 li{
	padding: 25px 0;
	border-bottom: #e5e5e5 1px solid;
}
.top-content.c17 li a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	color: var(--oc-primary-color);
}
.top-content.c17 .date{
	padding-left: 10px;
	width: 150px;
	font-size: 14px;
}
.top-content.c17 .p-title{
	width: calc(100% - 150px);
}
.top-content.c17 .link{
	text-align: center;
}
.top-content.c17 .link a{
	min-width: 270px;
}

@media screen and (max-width:1440px) {
	.top-mv .main-text {
		padding: 7vw 0;
	}
	.top-content.c10,
	.top-content.c06 {
		background-size: auto;
	}
}

@media screen and (max-width:1300px) {
	.top-content.c03 .slick-arrow,
	.top-content.c11 .slick-arrow {
		transform: translateX(0);
	}
}

@media screen and (max-width:820px) {
	.top-content.c02:before{
		right: -150px;
	}
	.top-content.c04:before{
		left: -150px;
	}
	.top-content.c04 .inr {
		margin-right: 0;
	}
	.top-content.c06 {
		margin-bottom: 200px;
	}
	.top-content.c06 .bottom h3{
		font-size: 23px;
	}
	.top-content.c06 .bottom h3:before{
		top: -35px;
		width: 128px;
		height: 151px;
	}
	.top-content.c06 .bottom h3 strong{
		font-size: 30px;
	}
	.top-content.c06 .bottom h3 b{
		font-size: 45px;
	}
	.top-content.c06 .bottom .image {
		margin-top: -55px;
	}
	.top-content.c08 .upper {
		gap: 25px 7%;
	}
	.top-content.c08 .box{
		width: 46.5%;
	}
	.top-content.c08 dt h4{
		font-size: 20px;
	}
	.top-content.c12:before{
		left: -70px;
		width: 46%;
		background: url(../img/top-c12-bg.webp) no-repeat right center;
		background-size: 100% auto;
	}
}

@media screen and (max-width:767px) {
	.top-mv{
		margin-bottom: 5px;
	}
	.top-mv .text{
		padding: 5px 20px;
		font-size: 14px;
		text-align: left;
	}
	.top-mv .main-text {
		padding-top: 85px;
		padding-bottom: 0;
		background: url(../img/mv-bg-sp.webp) no-repeat center;
		background-size: cover;
	}
	.top-mv .main-text .upr p.s1{
		margin-bottom: 0;
		padding: 0 25px;
		height: 33px;
		font-size: 18px;
		line-height: 25px;
	}
	.top-mv .main-text .upr strong{
		margin-bottom: 10px;
		font-size: 45px;
		line-height: 1.15;
		-webkit-text-stroke-width: 6.5px;
		filter: none;
	}

	.top-mv .main-text .upr strong span{
		font-size: 34px;
	}
	.top-mv .main-text .mid{
		margin-bottom: 50px;
	}
	.appeal{
		max-width: 340px;
	}
	.appeal dl{
		padding-top: 15px;
		width: 108px;
		height: 108px; 
	}
	.appeal dt{
		margin-bottom: 10px;
		padding: 0 3px;
		min-width: 95px;
		height: 21px;
		font-size: 13px;
		line-height: 20px;
	}
	.appeal dl:last-child dt{
		margin-bottom: 2px;
		width: 123px;
	}
	.appeal dd{
		font-size: 22px;
	}
	.top-mv .main-text .btm dl{
		padding: 0 15px;
	}
	.top-mv .main-text .btm dt{
		width: 87px;
		height: 19px;
		font-size: 13px;
		font-weight: 500;
		line-height: 17px;
	}
	.top-mv .main-text .btm dd{
		padding-left: 0;
		width: 100%;
		height: 29px;
		font-size: 15px;
		text-align: center;
		line-height: 27px;
	}
	.top-content h2[data-en]{
		padding-top: 62px;
	}
	.top-content h2[data-en]:before{
		font-size: 50px;
	}
	.top-content h2[data-en].s1{
		text-align: center;
	}
	.top-content h2[data-en].s1:before{
		left: 50%;
		transform: translateX(-50%);
	}
	.top-content.c01 {
		margin-bottom: 50px;
	}
	.top-content.c01 .slick-track{
		gap: 25px;
	}
	.top-content.c02 {
		margin-bottom: 75px;
	}
	.top-content.c02:before{
		top: 100px;
		right: -140px;
	}
	.top-content.c02 .left{
		padding: 35px;
		width: 100%;
	}
	.top-content.c02 .right{
		width: 100%;
	}
	.top-content.c09 .left:before,
	.top-content.c06 .upper .left:before,
	.top-content.c04 .right:before,
	.top-content.c02 .left:before{
		left: 5px;
		width: calc(100% - 20px);
	}
	.top-content.c02 .header{
		margin-bottom: 30px;  
		font-size: 25px;
	}
	.top-content.c02 h2{
		font-size: 30px;
	}
	.top-content.c03 {
		margin-bottom: 80px;
		padding-top: 90px;
		padding-bottom: 80px;
	}
	.top-content .inr-wrap{
		width: 100%;
	}
	.top-content.c03 .inr{
		margin: 0 auto;
	}
	.top-content.c03 .box{
		margin-right: 0;
		margin-bottom: 25px;
	}
	.top-content.c03 dl{
		padding-bottom: 45px;
	}
	.top-content.c03 dt{
		margin-bottom: 15px;
		padding: 0;
		font-size: 24px;
	}
	.top-content.c04 {
		margin-bottom: 100px;
	}
	.top-content.c04:before{
		top: 90px;
		left: auto;
		right: -160px;
		width: 336px;
		height: 315px;
		background: url(../img/deco03.png) no-repeat center;
	}
	.top-content.c04 .left{
		order: 2;
		width: 100%;
	}
	.top-content.c04 .right{
		padding: 35px;
		width: 100%;
	}
	.top-content.c04 h2{
		margin-bottom: 35px;
	}
	.top-content.c04 dl:not(:last-child){
		margin-bottom: 30px;
	}
	.top-content.c04 dt h3{
		margin-bottom: 10px;
		font-size: 24px;
	}
	.top-content.c05 {
		margin-bottom: 80px;
	}
	.top-content.c05:before{
		top: -110px;
		right: -155px;
	}
	.top-content.c05 .inr{
		display: block;
		margin-bottom: 30px;
		width: 300px;
	}
	.top-content.c05 .box{
		margin-right: 30px;
		padding: 18px 13px 40px 13px;
		width: 100%;
	}
	.top-content.c05 .image:before{
		margin-bottom: 15px;
	}
	.top-content.c05 .slick-list{
		overflow: visible;
	}
	.top-content.c05 .p-title {
		font-size: 18px;
	}
	.top-content.c06 {
		margin-bottom: 160px;
		padding-top: 90px;
		background: #40753A url(../img/top-c06-bg.webp) no-repeat center bottom;
		background-size: 100% auto;
	}
	.top-content.c06 .upper .left{
		padding: 35px;
		width: 100%;
	}
	.top-content.c06 .upper .right{
		width: 100%;
	}
	.top-content.c06 .middle {
		margin-bottom: 195px;
	}
	.top-content.c06 .middle:after,
	.top-content.c06 .middle:before{
		display: none;
	}
	.top-content.c06 .middle .upr {
		margin-bottom: 20px;
		font-size: 16px;
		text-align: left;
	}
	.top-content.c06 .middle h3{
		margin-bottom: 30px;
		font-size: 25px;
		line-height: 1.4;
		text-align: center;
	}
	.top-content.c06 .middle h3 span{
		display: block;
	}
	.top-content.c06 .middle dl{
		padding: 15px 0!important;
		width: 100%;
		border: none!important;
		border-bottom: #8aab87 1px solid!important;
	}
	.top-content.c06 .middle dl:last-child{
		border: none!important;
	}
	.top-content.c06 .middle dt{
		margin-bottom: 10px;
		padding: 5px 0;
		padding-left: 25px;
		font-size: 18px;
	}
	.top-content.c06 .middle dt:before{
		width: 40px;
		height: 40px;
	}
	.top-content.c06 .middle dt span{
		padding: 2px 12px;
		padding-left: 20px;
	}
	.top-content.c06 .middle .mid {
		margin-bottom: 25px;
	}
	.top-content.c06 .middle .btm{
		font-size: 16px;
		text-align: left;
	}
	.top-content.c06 .bottom .inr{
		padding: 20px 15px;
		padding-bottom: 30px;
	}
	.top-content.c06 .bottom h3{
		padding: 20px 10px;
		padding-top: 10px;
		line-height: 1.3;
	}
    .top-content.c06 .bottom h3:before {
        top: -151px;
		right: 50%;
    	transform: translateX(50%);
    }
	.top-content.c06 .bottom .image{
		margin-top: -35px;
		padding: 0 15px;
		transform: translateY(27%);
	}
	.top-content.c07 {
		margin-bottom: 170px;
	}
	.top-content.c07:before{
		bottom: -125px;
		width: 178px;
		height: 241px;
		background: url(../img/top-c07-bg-sp.png) no-repeat center;
		background-size: 100% auto;
	}
	.top-content.c07 .upper {
		font-size: 16px;
		text-align: left;
	}
	.top-content.c07 h3{
		font-size: 25px;
		line-height: 1.5;
		text-align: center;
	}
	.top-content.c07 dl{
		align-items: flex-start;
	}
	.top-content.c07 dl:not(:last-of-type):before{
		bottom: 25px;
	}
	.top-content.c07 dl:last-of-type{
		margin-bottom: 25px;
	}
	.top-content.c07 .bottom p{
		padding-left: 42%;
	}
	.top-content.c08 {
		margin-bottom: 80px;
		padding: 80px 0;
		background: #F1F1F1;
	}
	.top-content.c08 .inr{
		padding: 0;
	}
	.top-content.c08 .inr:before{
		top: -115px;
		right: -20px;
		width: 115px;
		height: 115px;
	}
	.top-content.c08 h3{
		margin-bottom: 30px;
		font-size: 22px;
		line-height: 1.5;
	}
	.top-content.c08 .image{
		margin-bottom: 5px;
	}
	.top-content.c08 dt h4{
		margin-bottom: 2px;
		font-size: 20px;
	}
	.top-content.c08 dd{
		font-size: 15px;
	}
	.top-content.c08 .bottom{
		font-size: 16px;
		text-align: left;
	}
	.top-content.c09 {
		padding-bottom: 30px;
		background: none;
	}
	.top-content.c09 .left{
		padding: 35px;
		width: 100%;
	}
	.top-content.c09 .right{
		width: 100%;
	}
	.top-content.c09 h2{
		font-size: 25px;
	}
	.top-content.c09 .bottom{
		text-align: center;
	}
	.top-content.c09 .bottom dl{
		text-align: left;
	}
	.top-content.c09 dt h4{
		margin-bottom: 10px;
	}
	.top-content.c10 {
		margin-bottom: 80px;
		padding-bottom: 80px;
		background: url(../img/top-c10-bg-sp.webp) no-repeat center bottom;
		background-size: 100% auto;
	}
	.top-content.c10 .inr{
		padding: 80px 15px;
		padding-bottom: 65px;
		transform: translateY(0);
	}
	.top-content.c10 .h2 {
		margin-bottom: 20px;
		font-size: 22px;
		line-height: 1.5;
	}
	.top-content.c10 .upper {
		margin-bottom: 40px;
	}
	.top-content.c10 .upper p:not(:last-child){
		margin-bottom: 20px;
	}
	.top-content.c10 .upper dl{
		padding: 20px 10px;
		border: #8aab87 1px solid;
	}
	.top-content.c10 .upper dt{
		margin-bottom: 10px;
		text-align: center;
	}
	.top-content.c10 .bottom .box{
		width: 100%;
	}
	.top-content.c10 .bottom figcaption {
		text-align: center;
	}
	.top-content.c10 .bottom .btm dt{
		margin-bottom: 25px;
		padding-right: 0;
		width: 100%;
		text-align: center;
	}
	.top-content.c10 .bottom .btm dd{
		width: 100%;
	}
	.top-content.c11 {
		margin-bottom: 90px;
		padding-top: 70px;
		padding-bottom: 150px;
	}
	.top-content.c11 .wrap {
		padding: 0 0 0 15px;
	}
	.top-content.c11 .inr{
		width: 300px;
	}
	.top-content.c11 .box{
		margin-right: 30px;
	}
	.top-content.c11 p{
		display: none;
	}
	.top-content.c03 .slick-arrow,
	.top-content.c11 .slick-arrow {
		top: auto;
		left: auto;
		right: 100px;
		bottom: -75px;
		width: 60px;
		height: 60px;
	}
	.top-content.c03 .slick-next,
	.top-content.c11 .slick-next {
		right: 15px;
	}
	.top-content.c11:before {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 70px 100%);
    transform: translateX(-3.8%);
	}
	.top-content.c12 {
		margin-bottom: 80px;
		padding-bottom: 0;
	}
	.top-content.c12:before{
		display: none;
	}
	.top-content.c12 h2:after{
		content: '';
		display: block;
		position: static;
		margin: 0 auto;
		padding-top: 106%;
		width: 96.5%;
		height: auto;
		background: url(../img/top-c12-bg-sp.webp) no-repeat center 35px;
		background-size: 100% auto;
	}
	.top-content.c12 h2{
		margin-bottom: 20px;
	}
	.top-content.c12 .inr{
		padding-left: 0%;
		text-align: center;
	}
	.top-content.c12 h3{
		margin-bottom: 25px;
		line-height: 1.5;
	}
	.top-content.c12 .inr p{
		text-align: left;
	}
	.top-content.c13 {
		margin-bottom: 90px;
		background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
	}
	.top-content.c13 .wrap-inr{
		padding: 80px 0;
	}
	.top-content.c13 .left{
		width: 100%;
	}
	.top-content.c13 .right{
		margin: 0 auto;
		width: 49.5%;
	}
	.top-content.c13 dl{
		padding-left: 0;
	}
	.top-content.c13 dl:before{
		top: -8%;
		transform: translateY(0%);
	}
	.top-content.c13 dt h3{
		margin-bottom: 25px;
		padding-left: 60px;
	}
	.top-content.c14 dt{
		padding-right: 10px;
		width: 100px;
	}
	.top-content.c14 dd{
		width: calc(100% - 100px);
	}
	.top-content.c15 h2 {
		margin-bottom: 10px;
	}
	.top-content.c15 {
		margin-bottom: 80px;
	}
	.top-content.c15 dl{
		padding-right: 45px;
		padding-left: 45px;
	}
	.top-content.c15 dd:before,
	.top-content.c15 dt:before{
		left: -47px;
	}
	.top-content.c15 dt:after{
		right: -40px;
	}
	.top-content.c16 .inr:before{
		display: none;
	}
	.top-content.c16{
		margin-bottom: 80px;
		padding-top: 90px;
		font-size: 16px;
		text-align: left;
	}
	.top-content.c16 .inr{
		padding: 60px 10px;
		padding-bottom: 50px;
	}
	.top-content.c16 .appeal{
		justify-content: center;
		gap: 6px;
		max-width: 246px;
	}
	/* .top-content.c16 .appeal dl{
		width: 120px;
	} */
	.top-content.c16 p.s1{
		margin-bottom: 5px;
		font-size: 25px;
		text-align: center;
	}
	.top-content.c16 .link {
		margin-top: 55px;
	}
	.top-content.c16 .link a.s1{
		font-size: 15px;
		white-space: nowrap;
		transform: translateY(-75%) translateX(-50%);
	}
	.top-content.c16 .link .btn-s1{
		width: 100%;
		height: 71px;
		line-height: 71px;
	}
	.top-content.c16 .link .btn-s1:before {
		right: 18px;
	}
	.top-content.c17 h2{
		margin-bottom: 25px;
	}
	.top-content.c17 .inr{
		margin-bottom: 30px;
	}
	.top-content.c17 li{
		padding: 10px 0;
	}
	.top-content.c17 .date{
		padding: 0 10px;
		width: 100px;
	}
	.top-content.c17 .p-title{
		width: calc(100% - 100px);
	}
}

@media screen and (max-width:500px) {
	.top-content.c03 .inr{
		width: 100%;
	}
}

/* フッター */
#footer {
	padding-top: 85px;
	padding-bottom: 30px;
	color: #fff;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);
}
#footer .finr{
	margin-bottom: 20px;
}
#footer .left{
	padding-top: 10px;
}
#footer .right{
	padding-right: 13%;
}
#footer .tel{
	font-size: 30px;
	font-weight: bold;
}
/* #footer .tel a{
	display: block;
	padding-left: 18px;
	color: #333;
	font-size: 13px;
	letter-spacing: 0.04em;
	background: url(../img/icon-phone.svg) no-repeat 0 5px;
} */
#footer .hour{
	margin-bottom: 25px;
	font-size: 14px;
}
#footer .logo{
	margin-bottom: 5px;
	max-width: 356px;
}
#footer .address{
	font-size: 16px;
	line-height: 1.3;
}
#footer li{
	margin-bottom: 10px;
}
#footer a{
	color: #fff;
}
#footer .copyright{
	text-align: center;
}

@media screen and (max-width:767px) {
	#footer{
		padding-top: 65px;
		padding-bottom: 15px;
		text-align: center;
	}
	#footer .finr{
		margin-bottom: 60px;
	}
	#footer .left{
		order: 2;
		padding-top: 0;
		width: 100%;
	}
	#footer .right{
		padding-right: 0;
		width: 100%;
	}
	#footer .menu{
		margin-bottom: 40px;
	}
	#footer .hour{
		margin-bottom: 10px;
	}
	#footer .copyright{
		font-size: 13px;
	}
}

/* 下層 */
.page-header {
	margin: 0 auto;
	margin-bottom: 110px;
	padding-top: 120px;
	color: #fff;
	max-width: 1440px;
	height: 366px;
	background: linear-gradient(90deg, rgba(106, 163, 0,1) 2%,rgba(106, 163, 0,1) 5%,rgba(0, 149, 12,1) 100%);

}
.page-header h1{
	font-size: 25px;
	font-weight: bold;
}
.page-header h1:before{
	content: attr(data-en);
	display: block;
	margin-bottom: 15px;
    font-family: 'Alata', sans-serif;
	font-weight: normal;
	font-size: 100px;
	line-height: 1;
}

@media screen and (max-width:767px) {
	.page-header {
		margin-bottom: 55px;
		padding-top: 290px;
		height: 430px;

	}
	.page-header h1{
		font-size: 18px;
		text-align: center;
	}
	.page-header h1:before{
		font-size: 60px;
	}
}

/* お問い合わせ */
.container.contact .sub-content .wrap{
	max-width: 930px;
}
.container.contact .page-header{
	background: url(../img/contact-header-bg.webp) no-repeat center;
}
select,
textarea,
[type="password"],
[type="email"],
[type="number"],
[type="text"]{
	padding: 8px 15px;
	width: 100%;
	line-height: 1.5;
	background: #fff;
    border: #A4B4A2 1px solid;
	border-radius: 0;
	box-shadow: none;
	-webkit-appearance: none;
}
input.form-check-input{
    margin-right: 5px;
    width: 15px;
    height: 15px;
    background: #fff;
    border: #A4B4A2 1px solid;
	border-radius: 100%!important;
    transform: translateY(2px);
}
input.form-check-input:checked{
	background: #1F9908;
    border: #A4B4A2 6px solid;
}
textarea{
	min-height: 125px;
}
::placeholder {
  color: #A4B4A2;
}
.form-header .upper{
	margin-bottom: 35px;
	font-size: 18px;
	text-align: center;
}
.form-header .bottom .box{
	margin: 0 auto;
	margin-bottom: 100px;
	padding: 50px 15px;
	max-width: 700px;
	text-align: center;
	background: #F3F3F3;
}
.form-header .number a{
	display: inline-block;
	padding-left: 40px;
	color: #64A201;
	font-size: 50px;
	line-height: 1;
	background: url(../img/icon-phone.svg) no-repeat 0 16px;
	background-size: 29px auto;
}
.form-header .btm-line{
	font-size: 22px;
	letter-spacing: 0.04em;
}
.form-content {
	padding: 0 15px;
}
.form-content .header-s1{
	margin: 0 auto 60px auto;
	max-width: 900px;
}
.form-content p.s1{
	margin-bottom: 30px;
	font-size: 18px;
	text-align: center;
}
.form-content form{
	padding: 0 15px;
	padding-top: 90px;
	padding-bottom: 80px;
	background: #F3F3F3;
}
.form-content .inr{
	margin: 0 auto;
	max-width: 715px;
	font-size: 15px;
}
.form-content .field-group, .form-content .radio-group{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 0;
	margin-bottom: 22px;
}
.form-content .label-wrap{
	position: relative;
	padding-right: 15px;
	width: 30%;
	font-weight: 500;
}
.form-content .label-wrap span{
	display: inline-block;
	margin-left: 10px;
	width: 30px;
	height: 14px;
	color: #fff;
	font-size: 10px;
	line-height: 14px;
	text-align: center;
    transform: translateY(-2px);
}
.form-content .label-wrap span.req{
	background: #FF5247;
}
.form-content .input-wrap{
	width: 70%;
}
.form-content .contact-radio{
	display: inline-block;
	margin-bottom: 5px;
}
.form-content .contact-radio:not(:last-child){
	margin-right: 40px;
}
.confirm-group{
	margin-top: 40px;
	margin-bottom: 20px;
	text-align: center;
}
.confirm-group a{
	color: #233B68;
	text-decoration: underline;
}
.form-content .g-recaptcha{
	margin-bottom: 60px;
	text-align: center;
}
.form-content .g-recaptcha>div{
	display: inline-block;
}
.form-content .submit-group{
	text-align: center;
}
.form-content #contact_submit_btn {
	border: none;
}

@media screen and (max-width:767px) {
	.container.contact .page-header{
		background: url(../img/contact-header-bg-sp.webp) no-repeat center;
		background-size: cover;
	}
	.form-header .upper{
		margin-bottom: 25px;
		font-size: 16px;
	}
	.form-header .bottom .box{
		padding: 25px 15px;
	}
	.form-header .number a{
		padding: 3px 0;
		padding-left: 35px;
		font-size: 40px;
		background: url(../img/icon-phone.svg) no-repeat 0 12px;
		background-size: 29px auto;
	}
	.form-header .btm-line{
		font-size: 16px;
	}
	.form-content .header-s1{
		margin-bottom: 40px;
	}
	.form-content form{
		margin: 0 -15px;
		padding: 60px 15px;
	}
	.form-content .label-wrap{
		padding-right: 0;
		width: 100%;
	}
	.form-content .input-wrap{
		width: 100%;
	}
	.confirm-group{
		margin-bottom: 40px;
	}
	.form-content .g-recaptcha{
		margin-bottom: 40px;
	}

}










