@charset "UTF-8";
@import url("https://use.typekit.net/vwf1oys.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
body {
	font-family : "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Helvetica Neue", sans-serif;
	font-weight : 400;
}

p {
	font-size : 1.5rem;
	line-height : 2;
	margin-bottom : 1em;
}

span.bold {
	font-weight : 600;
}

.alpha-num {
	font-family : din-1451-lt-pro, sans-serif;
	font-style : normal;
}

.mizole {
	font-family : mizoletbokutoh, sans-serif;
	font-style : normal;
	font-weight : 400;
}

.title_bg_circle1 {
	color : #384d00;
	font-family : mizoletbokutoh, sans-serif;
	font-size : 3.6rem;
	margin-bottom : 40px;
	padding-bottom : 24px;
	padding-top : 24px;
	position : relative;
	text-align : center;
	z-index : 1;
}
@media (max-width: 768px) {
	.title_bg_circle1 {
		font-size : 2.4rem;
		margin-bottom : 24px;
	}
}
.title_bg_circle1::after {
	background-image : url(../../images/module/title_bg.svg);
	background-size : contain;
	content : "";
	display : block;
	height : 88px;
	left : 50%;
	mix-blend-mode : multiply;
	position : absolute;
	top : 50%;
	-webkit-transform : translate(-50%, -50%);
	        transform : translate(-50%, -50%);
	width : 88px;
	z-index : -1;
}
@media (max-width: 768px) {
	.title_bg_circle1::after {
		height : 60px;
		width : 60px;
	}
}

/*
===============
Global Styles
===============
*/
*, ::after, ::before {
	-webkit-box-sizing : border-box;
	        box-sizing : border-box;
	margin : 0;
	padding : 0;
}

html {
	color : #333333;
	font-size : 62.5%;
	overflow-y : scroll;
}

body {
	-webkit-animation : fadeIn 2s ease 0s 1 normal;
	        animation : fadeIn 2s ease 0s 1 normal;
	background : #f8f6f3;
	-webkit-box-direction : normal;
	-webkit-box-orient : vertical;
	color : #000000;
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-direction : column;
	    flex-direction : column;
	-webkit-font-feature-settings : "palt" 1;
	        font-feature-settings : "palt" 1;
	font-size : 1.5rem;
	letter-spacing : 0.05em;
	line-height : 1.5;
	min-height : 100vh;
	overflow-x : hidden;
	-webkit-text-size-adjust : 100%;
}
@media (min-width: 769px) {
	body {
		min-width : 1200px;
	}
}
body.open {
	height : 100vh;
	overflow : hidden;
}
body.modal-open {
	height : 100vh;
	overflow : hidden;
}

main {
	-webkit-box-flex : 1;
	-ms-flex : 1;
	    flex : 1;
}

ul {
	list-style-type : none;
}

a {
	text-decoration : none;
}

img {
	height : auto;
	vertical-align : bottom;
	width : 100%;
}

h1, h2, h3, h4 {
	font-weight : 400;
	line-height : 1.25;
}

.padding_left_1em {
	padding-left : 1em;
}

.inline_block {
	display : inline-block;
}

.align_center {
	text-align : center;
}

.align_left {
	text-align : left;
}

.margin_rl_auto {
	margin-left : auto;
	margin-right : auto;
}

@media (max-width: 768px) {
	.sp_margin_rl_auto {
		margin-left : auto;
		margin-right : auto;
	}
}
.justify_content_center {
	-webkit-box-pack : center;
	-ms-flex-pack : center;
	justify-content : center;
}

@media (min-width: 769px) {
	a[href^="tel:"] {
		pointer-events : none;
	}
	.sp_visible {
		display : none;
	}
	.pc_align_center {
		text-align : center;
	}
}
@media (max-width: 768px) {
	.pc_visible {
		display : none;
	}
	.sp_add_pd {
		padding-left : 16px;
		padding-right : 16px;
	}
}
.flex_block {
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-wrap : wrap;
	    flex-wrap : wrap;
}

@-webkit-keyframes fadeIn {
	0% {
		opacity : 0;
	}
	100% {
		opacity : 1;
	}
}

@keyframes fadeIn {
	0% {
		opacity : 0;
	}
	100% {
		opacity : 1;
	}
}
@media (min-width: 769px) {
	.inner {
		margin-left : auto;
		margin-right : auto;
		width : 1200px;
	}
}

.btn a {
	border-radius : 30px;
	display : block;
	font-size : 1.4rem;
	line-height : 1;
	margin-left : auto;
	margin-right : auto;
	padding : 22px;
	text-align : center;
	-webkit-transition : all 0.3s;
	        transition : all 0.3s;
	width : 300px;
}
.btn a:hover {
	opacity : 0.7;
}
.btn.small a {
	border-radius : 19px;
	font-size : 1.3rem;
	padding : 12px;
	width : 192px;
}

.mt5 {
	margin-top : 5px;
}

.mb5 {
	margin-bottom : 5px;
}

.mt10 {
	margin-top : 10px;
}

.mb10 {
	margin-bottom : 10px;
}

.mt15 {
	margin-top : 15px;
}

.mb15 {
	margin-bottom : 15px;
}

.mt20 {
	margin-top : 20px;
}

.mb20 {
	margin-bottom : 20px;
}

.mt25 {
	margin-top : 25px;
}

.mb25 {
	margin-bottom : 25px;
}

.mt30 {
	margin-top : 30px;
}

.mb30 {
	margin-bottom : 30px;
}

.mt35 {
	margin-top : 35px;
}

.mb35 {
	margin-bottom : 35px;
}

.mt40 {
	margin-top : 40px;
}

.mb40 {
	margin-bottom : 40px;
}

.mt45 {
	margin-top : 45px;
}

.mb45 {
	margin-bottom : 45px;
}

.mt50 {
	margin-top : 50px;
}

.mb50 {
	margin-bottom : 50px;
}

.home .kv {
	padding-top : 24px;
	position : relative;
}
@media (max-width: 768px) {
	.home .kv {
		height : 530px;
	}
}
@media (min-width: 769px) {
	.home .kv .kv_slide {
		margin-left : auto;
		margin-right : auto;
		width : 688px;
	}
}
@media (max-width: 768px) {
	.home .kv .kv_slide {
		height : 320px;
		left : 50%;
		padding-top : 32px;
		position : absolute;
		-webkit-transform : translateX(-50%);
		        transform : translateX(-50%);
		width : 490px;
	}
	.home .kv .kv_slide img {
		height : 320px;
		width : 490px;
	}
}
.home .kv .kv_cover {
	left : 0;
	position : absolute;
	top : 0;
	z-index : 1;
}
@media (max-width: 768px) {
	.home .kv .kv_cover {
		left : 50%;
		-webkit-transform : translateX(-50%);
		        transform : translateX(-50%);
	}
}
.home .kv .kv_cover img {
	width : 100%;
}
@media (max-width: 768px) {
	.home .kv .kv_cover img {
		width : 375px;
	}
}
@media (max-width: 768px) {
	.home .kv .kv_cover {
		top : -20px;
	}
}

.home #experienceEvent {
	background-color : #8aa935;
	color : #ffffff;
	overflow : hidden;
	padding-block : 80px;


}
@media (min-width: 769px) {
	.home #experienceEvent p {
		font-size: 1.8rem;
		text-align: center;
	}
}


@media (max-width: 768px) {
	.home #experienceEvent {
		padding : 32px 16px;
		font-size: 1.6rem;
	}
}
.home #experienceEvent .inner.event_slide_list {
	background-color : #8aa935;
	position : relative;
}
.home #experienceEvent .inner.event_slide_list::before {
	background-image : url(../../images/module/bg_circle_large.svg);
	background-size : contain;
	content : "";
	display : block;
	height : 602px;
	left : -350px;
	mix-blend-mode : multiply;
	overflow-y : hidden;
	position : absolute;
	top : -163px;
	width : 602px;
}
@media (max-width: 768px) {
	.home #experienceEvent .inner.event_slide_list::before {
		height : 187px;
		left : -110px;
		top : -40px;
		width : 187px;
	}
}
.home #experienceEvent .inner.event_slide_list::after {
	background-image : url(../../images/module/bg_circle_small.svg);
	background-size : contain;
	bottom : -42px;
	content : "";
	display : block;
	height : 404px;
	mix-blend-mode : multiply;
	position : absolute;
	right : -196px;
	width : 404px;
}
@media (max-width: 768px) {
	.home #experienceEvent .inner.event_slide_list::after {
		bottom : -48px;
		height : 187px;
		right : -100px;
		width : 187px;
	}
}



.home .thumbnail img {
	aspect-ratio : 3/2;
	-o-object-fit : cover;
	   object-fit : cover;
	width : 100%;
}
.home .thumbnail.vertical img {
	aspect-ratio : 4/5;
	-o-object-fit : cover;
	   object-fit : cover;
	width : 100%;
}
.home #about {
	position : relative;
}
.home #about::after {
	background-image : url(../../images/module/bg_wave.svg);
	background-position : 30% 50%;
	background-repeat : no-repeat;
	background-size : cover;
	bottom : 84px;
	content : "";
	display : block;
	height : 155px;
	position : absolute;
	width : 100%;
}
@media (max-width: 768px) {
	.home #about::after {
		background-position : 20% 50%;
		bottom : 131px;
	}
}
.home #about .about_inner {
	position : relative;
}
@media (min-width: 769px) {
	.home #about .about_inner {
		-webkit-box-pack : justify;
		display : -webkit-box;
		display : -ms-flexbox;
		display : flex;
		-ms-flex-pack : justify;
		-ms-flex-wrap : wrap;
		    flex-wrap : wrap;
		justify-content : space-between;
		margin-left : auto;
		margin-right : auto;
		padding-bottom : 160px;
		padding-bottom : 240px;
		padding-left : 50px;
		padding-top : 70px;
		width : 1060px;
	}
}
@media (max-width: 768px) {
	.home #about .about_inner {
		padding : 40px 16px 50px;
	}
}
.home #about .about_inner::before {
	background-image : url(../../images/module/bg_circle_large.svg);
	background-size : contain;
	content : "";
	display : block;
	height : 602px;
	mix-blend-mode : multiply;
	position : absolute;
	right : -448px;
	top : -163px;
	width : 602px;
}
@media (max-width: 768px) {
	.home #about .about_inner::before {
		height : 126px;
		left : -80px;
		top : 70px;
		width : 126px;
	}
}
.home #about .about_inner::after {
	background-image : url(../../images/module/bg_circle_large.svg);
	background-size : contain;
	bottom : -310px;
	content : "";
	display : block;
	height : 601px;
	left : -428px;
	mix-blend-mode : multiply;
	position : absolute;
	width : 601px;
	z-index : 1;
}
@media (max-width: 768px) {
	.home #about .about_inner::after {
		bottom : 490px;
		height : 187px;
		left : -130px;
		width : 187px;
	}
}
.home #about .about_inner h2 {
	margin-bottom : 56px;
	padding-top : 30px;
}
@media (max-width: 768px) {
	.home #about .about_inner h2 {
		margin-bottom : 20px;
	}
}
.home #about .about_inner h2 img {
	height : 154px;
	width : 388px;
}
@media (max-width: 768px) {
	.home #about .about_inner h2 img {
		height : auto;
		width : 270px;
	}
}
.home #about .about_inner h3 {
	font-size : 2.7rem;
	font-weight : 500;
	line-height : 1.5;
	margin-bottom : 36px;
}
@media (max-width: 768px) {
	.home #about .about_inner h3 {
		font-size : 1.8rem;
	}
}
.home #about .about_inner p {
	line-height : 2;
}
.home #about .about_inner .btn {
	margin-top : 40px;
}
.home #about .about_inner .btn a {
	border : solid 1px #000000;
	border-radius : 30px;
	color : #000000;
	display : block;
	font-size : 1.4rem;
	line-height : 1;
	margin-left : auto;
	margin-right : auto;
	padding : 22px;
	text-align : center;
	width : 300px;
}
@media (min-width: 769px) {
	.home #about .about_inner .text_block {
		width : 496px;
	}
}
.home #about .about_inner .image_block {
	position : relative;
	z-index : 10;
}
@media (min-width: 769px) {
	.home #about .about_inner .image_block {
		width : 470px;
	}
}
@media (max-width: 768px) {
	.home #about .about_inner .image_block {
		margin-bottom : 30px;
	}
}
.home #about .about_inner .image_block img {
	height : auto;
	width : 100%;
}
@media (min-width: 769px) {
	.home #about .about_inner .about_image {
		bottom : 50px;
		left : 0;
		position : absolute;
		z-index : 20;
	}
}
@media (max-width: 768px) {
	.home #about .about_inner .about_image {
		margin-top : 32px;
		position : relative;
		z-index : 10;
	}
}
@media (min-width: 769px) {
	.home #about .about_inner .about_image img {
		width : 686px;
	}
}
.home #about .about_inner .about_illust {
	left : 402px;
	position : absolute;
	top : 70px;
}
@media (max-width: 768px) {
	.home #about .about_inner .about_illust {
		left : initial;
		right : 16px;
		top : 10px;
	}
}
.home #about .about_inner .about_illust img {
	width : 200px;
}
@media (max-width: 768px) {
	.home #about .about_inner .about_illust img {
		width : 140px;
	}
}

/* 記事・レポート */
.home #articles_reports {

	padding-bottom : 80px;
	padding-top : 80px;
}
@media (max-width: 768px) {
	.home #articles_reports {
		padding : 56px 16px;
	}
}
.home #articles_reports .inner {
	position : relative;
}
.home #articles_reports .inner::before {
	background-image : url(../../images/module/bg_circle_small.svg);
	background-size : contain;
	content : "";
	display : block;
	height : 404px;
	left : -240px;
	mix-blend-mode : multiply;
	position : absolute;
	top : -280px;
	width : 404px;
}
@media (max-width: 768px) {
	.home #articles_reports .inner::before {
		height : 187px;
		left : -126px;
		top : -103px;
		width : 187px;
	}
}
.home #articles_reports .inner::after {
	background-image : url(../../images/module/bg_circle_large.svg);
	background-size : contain;
	bottom : 16px;
	content : "";
	display : block;
	height : 582px;
	mix-blend-mode : multiply;
	position : absolute;
	right : -328px;
	width : 582px;
}
@media (max-width: 768px) {
	.home #articles_reports .inner::after {
		bottom : -103px;
		height : 187px;
		right : -126px;
		width : 187px;
	}
}
.home #articles_reports .article_reports_inner {
	position : relative;
}
@media (min-width: 769px) {
	.home #articles_reports .article_reports_inner {
		margin-left : auto;
		margin-right : auto;
		width : 930px;
	}
}
.home #articles_reports .article_reports_inner::before {
	background-image : url(../../images/front/articles_reports_illust.png);
	background-repeat : no-repeat;
	background-size : contain;
	content : "";
	display : block;
	height : 155px;
	position : absolute;
	right : 50px;
	top : -32px;
	width : 262px;
}
@media (max-width: 768px) {
	.home #articles_reports .article_reports_inner::before {
		height : 78px;
		right : 8px;
		top : -10px;
		width : 131px;
	}
}
.home #articles_reports .article_reports_inner p {
	margin-bottom : 1.5em;
}
.home #articles_reports .article_reports_inner .flex_block {
	-webkit-box-pack : justify;
	-ms-flex-pack : justify;
	justify-content : space-between;
	position : relative;
	z-index : 1;
}
@media (max-width: 768px) {
	.home #articles_reports .article_reports_inner .flex_block {
		-webkit-box-direction : normal;
		-webkit-box-orient : vertical;
		-ms-flex-direction : column;
		    flex-direction : column;
	}
}
.home #articles_reports .article_reports_inner .article_report {
	background-color : #ffffff;
	border : solid 1px #6d9403;
	border-radius : 22px;
	margin-left : auto;
	margin-right : auto;
	overflow : hidden;
	width : 300px;
}
@media (max-width: 768px) {
	.home #articles_reports .article_reports_inner .article_report + .article_report {
		margin-top : 32px;
	}
}
.home #articles_reports .article_reports_inner .article_report a {
	color : inherit;
	display: block;
	width: 100%;
	height: 100%;
	transition: opacity .3s;
}
.home #articles_reports .article_reports_inner .article_report a:hover {
	opacity: 0.7;
}
.home #articles_reports .article_reports_inner .article_report .thumbnail {
	position : relative;
}
.home #articles_reports .article_reports_inner .article_report .thumbnail img {
	aspect-ratio : 5/3;
	-o-object-fit : cover;
	   object-fit : cover;
	width : 100%;
}
.home #articles_reports .article_reports_inner .article_report .thumbnail .caption {
	background-color : #6d9403;
	border-bottom-left-radius : 10px;
	border-bottom-right-radius : 10px;
	color : #ffffff;
	left : 50%;
	line-height : 1;
	padding-bottom : 6px;
	padding-top : 5px;
	position : absolute;
	text-align : center;
	top : 0;
	-webkit-transform : translateX(-50%);
	        transform : translateX(-50%);
	width : 150px;
}
.home #articles_reports .article_reports_inner .article_report .text {
	padding : 22px;
	padding-top : 18px;
}
.home #articles_reports .article_reports_inner .article_report .text .title {
	font-size : 1.8rem;
	font-weight : 600;
	margin-bottom : 8px;
}
.home #articles_reports .article_reports_inner .article_report .text .name {
	font-size : 1.4rem;
	font-weight : 600;
	margin-bottom : 16px;
	text-align : right;
}
.home #articles_reports .article_reports_inner .article_report .text .excerpt {
	font-size : 1.3rem;
	line-height : 1.5;
}
.home #articles_reports h2 {
	margin-bottom : 56px;
}
@media (max-width: 768px) {
	.home #articles_reports h2 {
		margin-bottom : 40px;
	}
}
.home #articles_reports h2 img {
	height : 91px;
	width : 284px;
}
@media (max-width: 768px) {
	.home #articles_reports h2 img {
		height : auto;
		width : 198px;
	}
}
.home #articles_reports .btn {
	margin-top : 40px;
	position : relative;
	z-index : 1;
}
.home #articles_reports .btn a {
	background-color : #ffffff;
	border : solid 1px #666666;
	color : #000000;
}
