@charset "utf-8";

/* ---------- */
/* デザイン共通 */
/* ---------- */
*::before,
*::after{
	box-sizing:border-box;
	background-repeat: no-repeat;
}
html,body,section,article,div,span,applet,object,iframe,strong,h1,h2,h3,h4,h5,h6,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,fieldset,form,legend,caption,tbody,tfoot,thead,table,label,tr,th,td,p,img,figure,ul,ol,dl,dt,dd{
	font-size:16px;
	margin:0;
	padding:0;
	border:none;
	background-repeat: no-repeat;
}
body{
	overflow-y:scroll;
	background:#fff;
	color:#222;
	font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: 400;
	line-height:1.75;
	-webkit-text-size-adjust:100%;
	transition: 0.75s ease-out;
}
body #wrapper{
	opacity: 0;
	transition: 0.75s ease-out;
}
body.loaded #wrapper{opacity: 1;}

a{
	color:#7CB342;
	text-decoration: none;
	transition: 0.3s ease-out;
}
a:hover{color:#AED581;}

a:hover img{opacity: 0.7;}

a.blackf_link {color: #302620;}
a.blackf_link:hover {color:#97C2CD;}

figure {text-align: center;}

img{
	vertical-align:top;
	max-width:100%;
	height:auto;
	transition: 0.3s ease-out;
}

ul,ol {list-style: none;}

input[type="button"],
input[type="submit"],
input[type="image"] {cursor: pointer}
form input[type="text"] {
	border: none;
	border-radius: 0;
}
form input::placeholder
form textarea::placeholder {
	color: #bbb;
}
form input[type="button"],
form input[type="submit"] {
	color: #fff;
	border: none;
	border-radius: 0;
	background-color: #7CB342;
	transition: 0.5s ease-out;
	-webkit-appearance: none;/*ios用の記述*/
	padding: 0.675rem 1rem 0.5rem;
}
form input[type="button"]:hover,
form input[type="submit"]:hover {
	cursor: pointer;
	background-color: #aed581;
}
/*chome用の記述*/
form input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px white inset;
}
/*ios用の記述*/
select,textarea,input[type="text"],input[type="tel"],input[type="email"]  {
	border-radius: 0;
	-webkit-appearance: none;
}

p.caoution,
ul.caoution li {
	position: relative;
	padding-left: 1.2em;
}
p.caoution::before,
ul.caoution li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width:767px) {
	p{line-height: 1.875em;}
}

.font_gothic{font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;}
.font_serif{font-family:"游明朝","Yu Mincho","YuMincho", 'メイリオ', Meiryo, serif;}

.bg_gradation{background: linear-gradient(to right, #fbed96 0%,#7cb342 100%); }

.text_en{font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;}


/* ---------------- */
/* 画面幅毎の表示制御 */
/* ---------------- */
.pc_s_disp{display: none;}
@media screen and (max-width:767px) {
	.sp_none{display:none !important;}
}
@media print,screen and (min-width:768px) {
	.pc_none{display:none !important;}
}
@media screen and (min-width:768px) and (max-width:1024px) {
	.tb_none{display:none !important;}
	.tb_disp{display:block !important;}
}
@media print,screen and (min-width:1025px) and (max-width:1366px) {
	.pc_s_none{display:none !important;}
	.pc_s_disp{display:block !important;}
}
@media print,screen and (min-width:1025px) and (max-width:1599px) {
	.pc_l_none{display:none !important;}
}
@media print,screen and (min-width:1600px) {
	.pc_ll_none{display:none !important;}
}

/* -------- */
/* #loader */
/* -------- */
body.loaded #loader_wrap{opacity: 0;}
#loader_wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	transition: 0.2s ease;
	z-index: -1;
}
#loader,
#loader:before,
#loader:after {
	border-radius: 50%;
}
#loader {
	color: #7CB342;
	font-size: 11px;
	margin: 55px auto;
	position: relative;
	background-color: #fff;
	width: 10em;
	height: 10em;
	box-shadow: inset 0 0 0 1em;
	transform: translateZ(0);
}
#loader:before,
#loader:after {
	position: absolute;
	content: '';
}
#loader:before {
	width: 5.2em;
	height: 10.2em;
	background: #fff;
	border-radius: 10.2em 0 0 10.2em;
	top: -0.1em;
	left: -0.1em;
	-webkit-transform-origin: 5.2em 5.1em;
	transform-origin: 5.2em 5.1em;
	-webkit-animation: load2 2s infinite ease 1.5s;
	animation: load2 2s infinite ease 1.5s;
}
#loader:after {
	width: 5.2em;
	height: 10.2em;
	background: #fff;
	border-radius: 0 10.2em 10.2em 0;
	top: -0.1em;
	left: 5.1em;
	-webkit-transform-origin: 0px 5.1em;
	transform-origin: 0px 5.1em;
	-webkit-animation: load2 2s infinite ease;
	animation: load2 2s infinite ease;
}
@-webkit-keyframes load2 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load2 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@media all and (-ms-high-contrast: none){
	#loader {
		position: absolute;
		top: calc(50% - 5rem);
		left: calc(50% - 5rem);
	}
}




/* -------- */
/* #wrapper */
/* -------- */
#wrapper{
	position: relative;
	width: 100%;
}


/* ------------------------- */
/* コンテンツ スクロールで出現用 */
/* ------------------------- */
/* 画面外にいる状態 */
.fadein{
    opacity:0;
    transform:translate(0, 50px);
    transition:all 750ms;
}
.fadein.no_scroll{transform: none;}
.fadein.slideleft{transform:translate(-50px, 0px);}
.fadein.slideright{transform:translate(50px, 0px);}
.fadein.fadein2 {transition-delay:0.2s !important;}
.fadein.fadein3 {transition-delay:0.4s !important;}
.fadein.fadein4 {transition-delay:0.6s !important;}
/* 画面内に入った状態 */
.fadein.scrollin{
    opacity:1;
    transform:translate(0, 0);
}
.fadein.no_scroll.scrollin{transform:none;}


/*--------------*/
/* accordion */
/*--------------*/
.accordion_trigger {
	position: relative;
	cursor: pointer;
}
.accordion_trigger::before,
.accordion_trigger::after {
	content: "";
	display: block;
	background-color: #fff;
	position: absolute;
	transition: 0.5s ease-out;
}
.accordion_trigger::before {
	width: 11px;
	height: 1px;
	top: 50%;
	right: 0.625rem;
}
.accordion_trigger::after {
	width: 1px;
	height: 11px;
	top: calc(50% - 5px);
	right: calc(0.625rem + 5px);
}
.open_accordion > .accordion_trigger::before {
	transform: rotate(90deg);
	opacity: 0;
}
.open_accordion > .accordion_trigger::after {
	transform: rotate(90deg);
}
.accordion_trigger + ul li {
	height: 0;
	opacity: 0;
	transition: 0.4s ease;
	pointer-events: none;
}
.open_accordion ul li {
	opacity: 1;
	height: 2.25rem;
	pointer-events: all;
}
.open_accordion ul li.list_inside {
	height: auto;
}

@media print,screen and (min-width:1025px) {
	.accordion_trigger.pc_open::before,
	.accordion_trigger.pc_open::after {
		display: none;
	}
	.accordion_trigger.pc_open + ul li {
		height: auto;
		opacity: 1;
		pointer-events: all;
	}
}


/* ------------------------- */
/* sp_accordion */
/* ------------------------- */
@media screen and (max-width:767px) {
	.sp_accordion {
		max-height: 0;
		overflow: hidden;
		transition: 0.7s ease;
		border-bottom: 1px solid #ddd;
	}
	.sp_accordion_open + .sp_accordion {
		max-height: 500vw;
		transition: 0.7s ease-in;
	}
	.sp_accordion_trigger {
		font-size: 1.125rem;
		font-weight: bold;
		position: relative;
		margin: 0;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
	.sp_accordion_trigger::before,
	.sp_accordion_trigger::after {
		content: "";
		display: block;
		background-color: #222;
		position: absolute;
		transition: 0.7s ease;
	}
	.sp_accordion_trigger::before {
		width: 11px;
		height: 1px;
		top: 50%;
		right: 0.625rem;
	}
	.sp_accordion_trigger::after {
		width: 1px;
		height: 11px;
		top: calc(50% - 5px);
		right: calc(0.625rem + 5px);
	}
	.sp_accordion_trigger.sp_accordion_open::after {
		height: 0px;
		opacity: 0;
		transform: translateY(1em);
	}
}



/* ------------------------- */
/* pc_center_sp_left */
/* ------------------------- */
.pc_center_sp_left {text-align: center;}

@media screen and (max-width:767px) {
	.pc_center_sp_left {text-align: left;}
}


/* ------------------------- */
/* slick */
/* ------------------------- */
.slick-prev::before, .slick-prev::before,
.slick-next::before, .slick-next::before {
  content: url(../images/home/slick_arrow.svg);
  content: url(../images/home/slick_arrow.svg);
  opacity: 0.95;
}
.slick-next::before, .slick-next::before {
	transform: rotate(180deg);
	display: block;
}
#wrapper .slick-dots li button {
	width: 12px;
	height: 12px;
}
#wrapper .slick-dots li button::before{
	border-radius: 50%;
	background-color: #ddd;
}
#wrapper .slick-dots li.slick-active button::before {background-color: #7CB342;}
/*1件だけの場合dotを非表示*/
#wrapper .slick-dots li:only-child {display: none;}
#wrapper .slick-dots {
	padding-top: 40px;
	bottom: auto;
}
#wrapper .slick-prev,
#wrapper .slick-next {
	height: 40px;
	width: 40px;
	z-index: 1;
}
#wrapper .slick-next {right: -50px;}
#wrapper .slick-prev {left: -50px;}

@media screen and (max-width:767px) {
	#wrapper .slick-prev{left: 0;}
	#wrapper .slick-next{right: 0;}
}


/* ------ */
/* header */
/* ------ */
header{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
}
header,
header *{box-sizing: border-box;}
header .nav_wrap {position: relative;}
header.fixed .nav_wrap::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	opacity: 0.9;
}
header .head_logo a:hover {opacity: 0.7;}
header #fixed_nav .nav_active a::before {height: 1.75rem;}
header form input[type="text"] {
	width: 10.75rem;
	height: 1.5rem;
	padding: 0 0.5rem;
}
header form input[type="submit"] {
	width: 3rem;
	height: 1.5rem;
	background-image: url(../images/icon_search.svg);
	background-position: center center;
}

@media screen and (max-width:767px) {
	header .head_logo {
		width: 68.65vw;
		padding-top: 0.625rem;
		padding-left: 1rem;
	}
	header .nav_wrap::before {height: 64px;}
	header #sp_head_sns {
		position: absolute;
		right: 4.25rem;
		top: 1.125rem;
	}
}

@media screen and (max-width:1024px) {
	header .head_logo {
		width: 290px;
		padding-top: 0.5rem;
		padding-left: 1rem;
	}
	header .nav_wrap .nav_inner #pc_nav {
		display: none;
	}
}

@media print,screen and (min-width:1025px) {
	header{
		width: 100%;
		padding-top: 0;
		padding-left: 0;
	}
	header .head_logo {
		padding-top: 1.5625vw;
		padding-left: 1.5625vw;
		width: 30%;
		max-width: 445px;
	}
	header .head_logo a {
		display: block;
	}
	header .nav_wrap::before {height: 100px;}
	header .nav_wrap .nav_inner {
		position: relative;
		width: 100%;
		height: 7.75rem;
		display: flex;
		justify-content: space-between;
	}
	header div.nav_inner ul.g_nav {
		display: flex;
		justify-content: space-between;
	}
	header div.nav_inner ul.g_nav > li {
		padding-top: 2.75rem;
	}
	header div.nav_inner ul.g_nav > li:not(:first-child) {
		margin-left: 1vw;
	}

	header div.nav_inner ul.g_nav li span {
		display:block;
		text-align: center;
	}
	header div.nav_inner ul.g_nav li span.nav_jp {
		color: #222;
		font-size: 0.875rem;
		line-height: 1.5rem;
		font-weight: bold;
	}
	header div.nav_inner ul.g_nav li span.nav_en {
		line-height: 1.5em;
		color: #7CB342;
	}

	header div.nav_inner ul.g_nav li .drop_nav_btn{
		position: relative;
		padding-bottom: 1.125rem;
	}
	header div.nav_inner ul.g_nav li .drop_nav_btn::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: calc(50% - 7px);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 12px 7px 0 7px;
		border-color: #222222 transparent transparent transparent;
	}
	.drop_nav{
		height: 100px;
		padding-top: 2rem;
		position: relative;
		display: block;
	}
	.drop_nav_btn + div.sub_menu {
		pointer-events: none;
		display: block;
		text-align: center;
		visibility: hidden;
		z-index: 1;
		font-size: 0.875rem;
		height: 0;
		position: absolute;
		top: 84px;
		left: 50%;
		transform:  translate(-50%,0)
					scale(0.875,0.875);
		transition: all .3s ease;
		padding-top: 40px;
		opacity: 0;
	}
	.nav_guide .drop_nav_btn + div.sub_menu {width: 12rem;}
	.nav_business .drop_nav_btn + div.sub_menu {width: 14rem;}

	.drop_nav_btn + div.sub_menu::before {
		content: "";
		position: absolute;
		top: 10px;
		left: calc(50% - 17px);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 17px 30px 17px;
		border-color: transparent transparent rgba(124,179,66,0.9) transparent;
	}

	.drop_nav:hover .drop_nav_btn + div.sub_menu,
	.drop_nav .drop_nav_btn + div.sub_menu:hover {
		display: block;
		pointer-events: auto;
		top: 104px;
		height: auto;
		visibility: visible;
		opacity: 1;
		transform:  translate(-50%,0)
					scale(1);
		padding-top: 40px;
	}
	.drop_nav .drop_nav_btn + div.sub_menu ul {
		padding: 1.25em 1.125rem 1.375rem;
		background: rgba(124,179,66,0.9);
	}
	.drop_nav .drop_nav_btn + div.sub_menu li {
		list-style: none;
		height: auto;
		display: flex;
		justify-content: flex-start;
		padding: 0 0 0.125rem 1.25rem;
		position: relative;
	}
	.drop_nav .drop_nav_btn + div.sub_menu li::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 6px;
		border-color: transparent transparent transparent #fff;
		position: absolute;
		top: calc(50% - 5px);
		left: 0;
	}
	.drop_nav_btn + div.sub_menu li a {
		color: #fff;
		display: block;
		width: 100%;
		text-align: left;
		text-decoration: none;
		padding: 0.25rem 0 0.125rem;
		position: relative;
	}
	.drop_nav_btn + div.sub_menu li a::before {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 0;
		height: 1px;
		background-color: #fff;
		transition: .3s ease-out;
	}
	.drop_nav_btn:hover + div.sub_menu li a:hover::before,
	.drop_nav_btn + div.sub_menu:hover li a:hover::before {
		width: 100%;		
	}


	header div.nav_inner ul.g_nav li.nav_member {
		background-color: #7CB342;
		text-align: center;
		height: 7.75rem;
		padding: 0;
	}
	header div.nav_inner ul.g_nav li.nav_member a {
		display: block;
		padding: 1.25rem;
	}

	header div.nav_inner ul.g_nav li.nav_member span.nav_jp,
	header div.nav_inner ul.g_nav li.nav_member span.nav_en {
		color: #fff;
	}
	header #fixed_nav .nav_wrap .nav_inner {
		height: 100px;
	}
	header #fixed_nav .head_logo {
		max-width: 342px;
		padding-top: 1.0417vw;
		padding-left: 1.5625vw;
	}
	header #fixed_nav div.nav_inner ul.g_nav > li {
		padding-top: 25px;
	}
	header #fixed_nav div.nav_inner ul.g_nav li.nav_member {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100px;
		padding: 0;
	}
	header #fixed_nav div.nav_inner ul.g_nav li.nav_member a {
		width: 100%;
		height: 100%;
		padding: 0.75rem 1.25rem 0;
	}
	header #fixed_nav .drop_nav_btn + div.sub_menu {
		top:74px;
	}
	header #fixed_nav .drop_nav:hover .drop_nav_btn + div.sub_menu,
	header #fixed_nav .drop_nav .drop_nav_btn + div.sub_menu:hover {
		top:94px;
	}

}
@media screen and (min-width:1025px) and (max-width:1280px) {
	header .head_logo {
		width: 25%;
		padding-top: 1.75rem;
		padding-left: 1.5625vw;
	}
	header div.nav_inner ul.g_nav > li:not(:first-child) {
	    margin-left: 1.5vw;
	}
	header div.nav_inner ul.g_nav li span.nav_en {
		font-size: 0.75rem;
	}
	header #fixed_nav .head_logo {
		padding-top: 1.25rem;
		padding-left: 1.5625vw;
	}
	header #fixed_nav div.nav_inner ul.g_nav li span.nav_jp,
	.drop_nav_btn + div.sub_menu {
		font-size: 1.25vw;
	}
	header #fixed_nav div.nav_inner ul.g_nav li span.nav_en {
		font-size: 0.73vw;
	}

}

@media print,screen and (min-width:1281px) {
	header .head_logo {
		padding-top: 1.75rem;
	}
	header div.nav_inner ul.g_nav > li:not(:first-child) {
		margin-left: 1.8vw;
	}
	header div.nav_inner ul.g_nav li span.nav_jp,
	.drop_nav_btn + div.sub_menu {
		font-size: 1.125vw;
	}
	header div.nav_inner ul.g_nav li span.nav_en {
		font-size: 0.875rem;
	}

	header #fixed_nav div.nav_inner ul.g_nav li span.nav_jp,
	.drop_nav_btn + div.sub_menu {
		font-size: 1rem;
	}
	header #fixed_nav div.nav_inner ul.g_nav li span.nav_en {
		font-size: 0.875rem;
	}
}



@media print,screen and (min-width:1601px) {
	header div.nav_inner ul.g_nav > li:not(:first-child) {
		margin-left: 2.782vw;
	}

	header div.nav_inner ul.g_nav li span.nav_jp,
	.drop_nav_btn + div.sub_menu {
		font-size: 1.125rem;
	}
	header div.nav_inner ul.g_nav li span.nav_en {
		font-size: 1rem;
	}
}

@media all and (-ms-high-contrast: none){
	header div.head_content ul.pc_head_nav li.head_cart .cart_badge{
		padding-top: 4px;
	}
}




/* ---------- */
/* #fixed_nav */
/* ---------- */
#fixed_nav{
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	transition:200ms;
}
header.fixed #fixed_nav{
	visibility: visible;
	opacity:1;
	top: 0;
}
@media screen and (max-width:767px) {
	header.fixed .nav_wrap::before,
	#fixed_nav .pc_nav{display: none;}

}

@media screen and (max-width:1024px) {
	header #fixed_nav {
		padding-bottom: 0.5rem;
		background-color: #fff;
		box-shadow: 0 3px 6px rgba(0,0,0,0.16)
	}
}


@media print,screen and (min-width:768px) {

	header #fixed_div.head_content ul > li > ul.sub_menu {
		text-align: center;
		visibility: hidden;
		opacity: 0;
		z-index: 1;
		height: 0;
		position: absolute;
		top: 35px;
		left: 0;
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
	}
	header #fixed_div.head_content ul > li:hover > ul.sub_menu {
		top: 45px;
		height: auto;
		visibility: visible;
		opacity: 1;
	}
	header #fixed_div.head_content ul > li > ul.sub_menu li {
		list-style: none;
		border-bottom: transparent 1px solid;
	}
	header #fixed_div.head_content ul > li > ul.sub_menu li a {
		display: block;
		color: #fff;
		text-decoration: none;
		padding: 0.75rem 1rem;
		background: rgba(14,158,46,0.95);
		transition: all .2s ease;
	}
	header #fixed_div.head_content ul > li > ul.sub_menu li a:hover {
		color: #fcf588;
		background: rgba(9,110,32,0.8);
	}
}


/* ----------- */
/* #burger_btn */
/* ----------- */
@media screen and (max-width:1024px) {
	#burger_btn,
	#burger_btn *{box-sizing: border-box;}
	#burger_btn {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 150;
		width: 64px;
		height: 64px;
		cursor:pointer;
		transition: background 200ms;
	/* 	background-color: #478393; */
		transition: 0.5s ease-out;
	}
	#burger_btn.opt {opacity: 0;}
	.fixed + #burger_btn {
		position: fixed;
		opacity: 1;
	}
	#burger_btn::after{display: block;}
	#burger_btn .btn_mark{
		display: block;
		position: absolute;
		top: 50%;
		right: 50%;
		transform: translate(50%,-50%);
		width: 32px;
		height: 2px;
		background: #222;
		transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	}
	#burger_btn.open_menu {
		opacity: 1;
		position: fixed;
	}
	#burger_btn.open_menu .btn_mark{background: transparent;}
	#burger_btn .btn_mark::before,
	#burger_btn .btn_mark::after{
		content: "";
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		background: #222;
		transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	}
	.sp_accordion_trigger::before {
		width: 11px;
		height: 1px;
		top: 50%;
		right: 0.625rem;
	}
	.sp_accordion_trigger::after {
		width: 1px;
		height: 11px;
		top: calc(50% - 5px);
		right: calc(0.625rem + 5px);
	}
	#burger_btn .btn_mark::before{top: -12px;}
	#burger_btn.open_menu .btn_mark::before{
		top: 0;
		transform: rotate(45deg);
	}
	#burger_btn .btn_mark::after{
		top: 12px;
		width: 1.4285rem;
	}
	#burger_btn.open_menu .btn_mark::after{
		top: 0;
		transform: rotate(-45deg);
		width: 100%;
	}

	#burger_btn.open_menu .btn_mark::before,
	#burger_btn.open_menu .btn_mark::after{background: #fff;}	
}
@media screen and (min-width:1025px) {
	#burger_btn {display: none}
}


/* ------------------- */
/* #drawer_global_navi */
/* ------------------- */
@media screen and (max-width:1024px) {
	#drawer_global_navi,
	#drawer_global_navi *{box-sizing: border-box;}
	#drawer_global_navi {
		display: none;
		position:fixed;
		z-index:140;
		top:0;
		/*right: -100%;*/
		right: 0;
		width:100%;
		height:100%;
		margin:0;
		padding: 5.25rem 5vw 20px;
		background:#7CB342;
		box-sizing:border-box;
		transition:200ms visibility;
	}
	#drawer_global_navi_logo{
		width: calc(68.65vw - 1rem);
		padding-top: 0.625rem;
	}
	#sp_nav {
		margin-top: 1.875rem;
		padding: 6.13vw calc(10vw - 1rem);
	}
	#drawer_global_navi > div.global_nav {
		height: calc(100% - 8rem);
		overflow-y:auto;
		overflow-x:hidden;
	}

	#drawer_global_navi nav{
		font-size: 1rem;
		text-align: left;
		list-style: none;
	}
	#drawer_global_navi nav .g_nav > li{
		border-bottom: 1px solid #fff;
		padding-bottom: 0.375rem;
		margin-bottom: 1rem;
	}
	#drawer_global_navi nav .g_nav > li.nav_member img{
		display: none;
	}

	#drawer_global_navi span {
		color: #fff;
		line-height: 1.5em;
		display: block;
	}
	#drawer_global_navi span.nav_jp{font-size: 0.875rem;}
	#drawer_global_navi span.nav_en{font-size: 0.75rem;}

	#drawer_global_navi a{
		color: #fff;
		width: 100%;
		display: inline-block;
		position: relative;
		padding: 0 0;
		font-size: 0.875rem;
		line-height: 1.25;
		text-decoration: none;
	}

	.drop_nav {
		background:#7CB342;
	}
	.drop_nav_btn {
		position: relative;
	}
	.drop_nav_btn::before,
	.drop_nav_btn::after {
		content: "";
		display: block;
		background-color: #fff;
		position: absolute;
		transition: 0.5s ease-out;
	}
	.drop_nav_btn::before {
		width: 11px;
		height: 1px;
		top: 50%;
		right: 0.625rem;
	}
	.drop_nav_btn::after {
		width: 1px;
		height: 11px;
		top: calc(50% - 5px);
		right: calc(0.625rem + 5px);
	}
	.open_accordion .drop_nav_btn::before,
	.open_accordion .drop_nav_btn::after {

	}
	.open_accordion .drop_nav_btn::after {
		height: 0px;
		opacity: 0;
		transform: translateY(1em);
	}
	.drop_nav_btn + div.sub_menu {
		opacity: 0;
		padding: 0;
		transition: 0.2s ease;
	}
	.open_accordion .drop_nav_btn + div.sub_menu{
		opacity: 1;
		padding: 0.5em 0;
	}
	.drop_nav_btn + div.sub_menu li {
		pointer-events: none;
		display: block;
		height: 0;
		transition: 0.3s ease;
		padding-left: 1rem;
		padding-bottom: 0;
	}
	.open_accordion .drop_nav_btn + div.sub_menu li {
		opacity: 1;
		pointer-events: auto;
		height: 1.5em;
		padding-bottom: 0.25rem;
	}

	.global_nav .sub_menu {list-style: none;}
	.global_nav .sub_menu li a {padding-left: 3.5rem;}
	.global_nav .sub_menu li a::before {
		top: 46%;
		left: 2rem;
		border: transparent 1px solid;
		border-left-color: #0e9e2e;
		border-right: none;
		border-bottom-color: #0e9e2e;
		width: 7px;
		height: 9px;
	}
	#drawer_global_navi {padding: 0 4.25vw;}

	#sp_nav ul.add_rink{
		display: flex;
		justify-content: center;
		flex-wrap: nowrap;
	}
	
	#sp_nav ul.add_rink li:not(:last-child)::after {
		color: #fff;
		content: "/";
		padding: 0 1em;
	}
	#sp_nav ul.add_rink li a {
		width: auto;
		font-size: 0.75rem;
	}
}

@media print,screen and (min-width:1025px) {
	#drawer_global_navi {display: none;}
}


/* ---- */
/* main */
/* ---- */
main{
	display: block;
	position: relative;
	z-index: 1;
}
main,
main *{box-sizing: border-box;}



/* ------------- */
/* .content_wrapper */
/* ------------- */
@media screen and (max-width:767px) {
	main .content_wrapper {margin: 0 4.26vw;}
}
@media print,screen and (min-width:1025px) {
	main .content_wrapper {
		background-image: url(./images/dot_bg.svg);
		background-size: 100% auto;
		background-repeat: repeat;
		overflow: auto;
	}
}


/* ------ */
/* article */
/* > .content */
/* ------ */
main .content_wrapper article,
main .content_wrapper > .content {
	width: 91.48vw;
	max-width: 1100px;
	padding-top: 6.25rem;
	margin: -6.25rem auto 6.25rem;
}
@media screen and (max-width:767px) {
	main .content_wrapper article,
	main .content_wrapper > .content {
		padding-top: 3.125rem;
		margin: -3.125rem auto 3.125rem;
	}
}


/* ---------- */
/* content_title */
/* ---------- */
.content_title {
	line-height: 1.15em;
	text-align: center;
	font-weight: bold;
	margin-bottom: 2.5rem;
	padding-bottom: 1rem;
	position: relative;
}
.content_title::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 10px;
	background: linear-gradient(to right, #7cb342 50%,#dfeecc 51%); 
}
.content_title span.blocktitle_jp {
	display: block;
	font-size: 2.25rem;
	line-height: 1.25em;
	letter-spacing: 1px;
	margin-bottom: 1rem;
}
.content_title span.blocktitle_en {
	display: block;
	color:#7CB342;
	font-size: 1.5rem;
	font-weight: normal;
	display: block;
    margin-bottom: 1.5rem;
}
@media screen and (max-width:1024px) {
	.content_title {
		width: 100%;
		padding-bottom: 0;
		margin-bottom: 1.875rem;
		font-weight: normal;
	}
	.content_title::before {
		margin-bottom: 0.625rem;
	}
	.content_title span.blocktitle_jp {
		font-size: 1.625rem;
		font-weight: bold;
		margin-bottom: 0.5rem;
	}
	.content_title span.blocktitle_en {
		font-size: 1.25rem;
		margin-bottom: 0.5rem;
	}
}


/* ---------- */
/* content_title left_title */
/* ---------- */
@media screen and (min-width:1025px) {
	.content_title.left_title {
		text-align: left;
	}

	.content_title.left_title::after {
		left: 0;
	}
}


/* ------ */
/* main p */
/* ------ */
main p{
	margin-top:1em;
	margin-bottom:1em;
	text-align:justify;
	text-justify:inter-ideograph;
}
main .section_area p:nth-of-type(1){margin-top: 0;}
main .section_area p:nth-last-child(1){margin-bottom: 0;}


/* ------------- */
/* .section_inner */
/* ------------- */
.section_inner{
	max-width: 1100px;
	margin: 0 auto;
	padding: 6.25rem 0;
}
@media screen and (max-width:1024px) {
	.section_inner{
		margin: 0;
		padding: 50px 3.73vw;
	}
}

/* --------- */
/* .grad_border_block */
/* --------- */
.grad_border_block {
	position: relative;
	background: linear-gradient(to right, #fbed96 0%,#7cb342 100%);
}

.grad_border_block:before {
	position: absolute;
	top: 5px;
	left: 5px;
	display: block;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	background-color: #fff;
	content: "";
}

.grad_border_block * {
	position: relative;
}

.grad_border_block .m_size {
	position: static;
}

/* --------- */
/* .grad_border_link */
/* --------- */
.grad_border_link {
	width: 300px;
	position: relative;
	background-image: url(./images/arrow_right.svg);
	background-position: right center;
	transition: 0.3s;
}
.grad_border_link::before,
.grad_border_link::after{
	content: "";
	display: block;
	position: absolute;
	width: 5px;
	height: 0;
}
.grad_border_link::before{
	top: 0;
	right: 0;
	background-color: #7cb342;
	transition: all 0.2s ease;
}
.grad_border_link::after{
	bottom: 0;
	left: 0;
	background-color: #fbed96;
	transition: all 0.2s 0.4s ease;
}

.grad_border_link a{
	color: #222;
	font-weight: bold;
	text-align: center;
	display: block;
	position: relative;
	padding: 0.75rem;
	transition: 0.6s;
}

.grad_border_link a::before,
.grad_border_link a::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	height: 5px;
	background: linear-gradient(to right, #fbed96 0%,#7cb342 100%);
}
.grad_border_link a::before {
	width: 0;
	top: 0;
	transition: all 0.2s 0.2s ease;
}
.grad_border_link a::after {
	width: 100%;
	bottom: 0;
}

.grad_border_link:hover {
	background-position: right -10px center;
}
.grad_border_link:hover::before {
	transition: all 0.2s 0.4s ease;
	height: 100%;
}
.grad_border_link:hover::after {
	transition: all 0.2s ease;
	height: 100%;
}
.grad_border_link:hover a::before {
	width: 100%;
}
.grad_border_link:hover a {
	color: #7cb342;
}


/*ieのみアニメーションががたつくのでフェードインに変更*/
@media all and (-ms-high-contrast: none){
	.grad_border_link::before,
	.grad_border_link::after,
	.grad_border_link a::before {
		opacity: 0;
		transition: all 0.2s 0s ease;
	}

	.grad_border_link::before {
		height: 100%;
	}
	.grad_border_link::after {
		height: 100%;
	}
	.grad_border_link a::before {
		width: 100%;
	}
	.grad_border_link:hover::before,
	.grad_border_link:hover::after,
	.grad_border_link:hover a::before {
		opacity: 1;
		transition: all 0.2s 0s ease;
	}
}




/* ------------- */
/* .info_list */
/* ------------- */
.info_list li a {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 1.875rem;
}
.info_list li a p{
	padding-bottom: 0.5rem;
	margin-top: 0;
	margin-bottom: 0;
}
.info_list li a p.info_date {
	font-weight: bold;
	border-bottom: 2px solid #7CB342;
}
.info_list li a p:not(.info_date) {
	color: #222;
	border-bottom: 1px solid #ddd;
	padding-left: 2.375rem;
	width: 100%;
	transition: 0.3s ease;
}
.info_list li a:hover p:not(.info_date) {color:#7CB342;}
.info_list li:last-child a {margin-bottom: 0;}
@media screen and (max-width:1024px) {
	.info_list li a {margin-bottom: 0;}
	.info_list li a p {margin-bottom: 1rem;}
	.info_list li a p.info_date {
		font-size: 1rem;
		font-weight: normal;
	}
}


/* ------------- */
/* .info_list.news_list */
/* ------------- */
.info_list.news_list li {
	position: relative;
}

.info_list.news_list li a {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 1.875rem;
}
.info_list.news_list  li a p{
	padding-bottom: 0.5rem;
	margin-top: 0;
	margin-bottom: 0;
}

.info_list.news_list li p.info_cat{
	position: absolute;
	left: 120px;
	top: -3px;
	margin: 0;
}
.info_list.news_list li p.info_cat a {
	color: #222;
	padding: 0 0.75rem;
}
.info_list.news_list li p.info_cat.cat_news a {
	border: 2px solid #7CB342;
}
.info_list.news_list li p.info_cat.cat_update a {
	border: 2px solid #ffc50c;
}

.info_list.news_list li p.info_cat.cat_news a:hover {
	color: #fff;
	background-color: #7CB342;
}
.info_list.news_list li p.info_cat.cat_update a:hover {
	color: #fff;
	background-color: #ffc50c;
}
.info_list.news_list li a p.info_date {
	font-weight: bold;
	border-bottom: 2px solid #7CB342;
}
.info_list.news_list li a p.info_title {
	color: #222;
	border-bottom: 1px solid #ddd;
	padding-left: 125px;
	transition: 0.3s ease;
}
.info_list.news_list li a:hover p:not(.info_date) {color:#7CB342;}
.info_list.news_list li:last-child a {margin-bottom: 0;}
@media screen and (max-width:1024px) {
	.info_list.news_list li p.info_cat a {
		margin-bottom: 0;
		padding: 0.125rem 0.75rem;
	}
	.info_list.news_list li a {
		flex-wrap: wrap;
	}
	.info_list.news_list li a p {
		padding-bottom: 0.5rem;

	}
	.info_list.news_list li a p.info_date {
		padding-bottom: 0.25rem;
	}
	.info_list.news_list li a p.info_title {
		padding-top: 0.75rem;
		padding-left: 0;
		font-size: 1rem;
		font-weight: normal;
	}
}
@media screen and (min-width:1025px) {
	.info_list.news_list li a p.info_date {
		width: 100px;
	}
	.info_list.news_list li a p.info_title {
		width: calc(100% - 100px);
	}
}



/* ------ */
/* .bg_gray */
/* ------ */
.bg_gray {background-color: #F4F3F3;}
@media screen and (max-width:767px) {
	.bg_gray {}
}
@media screen and (max-width:1024px) {
	.bg_gray.section_inner {padding: 2.5rem 4.26vw;}
}


/* ------ */
/* footer */
/* ------ */
footer,
footer *{box-sizing: border-box;}
footer {
	background-color: #478393;
	background-image: url(./images/footer_bg.jpg);
	background-position: top center;
	background-size: cover;
	position: relative;
}
footer::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background-color: rgba(124, 179, 66, 0.9);
}
.footer_inner {
	color: #fff;
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}
#footer_org_info #footer_tel {
	font-weight: bold;
	line-height: 1em;
}
footer #footer_copy {
	color: #fff;
	text-align: center;
}
footer #footer_copy span {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
@media screen and (max-width:767px) {
	#footer_copy {
		font-size: 0.75rem;
		margin-top: 2.75rem;
	}
}

@media print,screen and (min-width:768px) {
	#footer_logo a:hover {opacity: 0.7;}
}

@media screen and (max-width:1024px) {
	.footer_inner {padding: 1.625rem 0 3.125rem;}
	#footer_logo{
		width: 75.73vw;
		text-align: center;
		margin: 0 auto 0.25rem;
	}
	#footer_address {margin-bottom: 0.75rem;}
	#footer_address span {display: block;}
	#footer_tel{
		font-size: 1.5rem;
	}
	#footer_org_info {
		text-align: center;
	}
	#footer_link_block1,
	#footer_link_block2 { display: none; }
	#footer_copy {
		color: #302620;
		letter-spacing: -0.5px;
		font-size: 0.75rem;
		margin: 0;
		padding-top: 1.875rem;
		padding-bottom: 1.875rem;
	}
}
@media screen and (min-width:768px) and (max-width:1024px) {
	.footer_inner {
		padding-bottom: 0;
	}
}
@media screen and (min-width:1025px) {
	.footer_inner {padding: 3.625rem 0 3.125rem;}
	#footer_org_block{
		display: flex;
		justify-content: space-between;
	}
	#footer_logo {width: 20.5rem;}
	#footer_org_info #footer_tel {
		font-size: 1.375rem;
		margin-top: 0.75rem;
	}
	#footer_address span {
		padding-left: 0.5em;
	}
	.footer_blocks {
		padding: 1.875rem 0;
		border-bottom: 1px solid #DFEECC;
	}
	.footer_blocks a {color: #fff;}
	.footer_blocks a:hover {color: #FFD54F;}
	#footer_link_block1,
	#footer_link_block2 {
		display: flex;
		justify-content: space-between;
	}
	#footer_link_block1 > ul li{
		line-height: 1em;
		margin-bottom: 1.25em;
	}
	#footer_link_block1 > ul li:last-child{
		margin-bottom: 0;
	}
	#footer_link_block2 > p {
		white-space: nowrap;
		padding-right: 1.3125rem;
		margin-right: 1.3125rem;
		border-right: 1px solid #DFEECC;
	}
	#footer_link_block2 > ul li::after {
		content: "/";
		padding: 0 2em;
	}
	footer #footer_copy {
		padding-top: 3.125rem;
	}
}


@media screen and (min-width:768px) and (max-width:1280px) {
	#footer_logo_block {
		width: 40%;
		max-width: 328px;
	}
	#footer_logo {width: 100%;}
}

@media screen and (min-width:768px) and (max-width:1024px) {
	#footer_navarea {
		justify-content: center;
		flex-wrap: wrap;
	}
}

@media all and (-ms-high-contrast: none){
	#footer_sns h2 {padding-top: 0.5rem;}
}


/* --------- */
/* #footer_fix */
/* --------- */
#footer_fix {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 100;
	display: flex;
	justify-content: flex-start;
}
#footer_fix #footer_fix_tel_block{
	width: 19.625rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 6px 0;
	opacity: 1;
	transition: 0.3s ease;
}
#footer_fix.tel_none #footer_fix_tel_block{
	opacity: 0;
}
#footer_fix #footer_fix_tel_block p {
	line-height: 1em;
}
#footer_fix #footer_fix_tel_block .footer_fix_tel_num {
	font-size: 1.875rem;
	line-height: 1em;
	display: inline-block;
	background-image: url(./images/icon_tel.svg);
	background-position: left center;
	padding-left: 1em;
}

@media all and (-ms-high-contrast: none){
	#footer_fix #footer_fix_tel_block{
		padding-bottom: 0;
	}
	#footer_fix #footer_fix_tel_block .footer_fix_tel_num {
		background-position: left top;
	}
}


#sp_footer_fix {
	height: 50px;
	position: fixed;
	left: 0;
	bottom: 0;
	display: flex;
	justify-content: space-between;
	z-index: 50;
}
#sp_footer_fix ul {
	display: flex;
	justify-content: flex-start;
}
#sp_footer_fix ul li {
	width: calc(50vw - 25px);
}
#sp_footer_fix ul li a {
	display: block;
	text-align: center;
	padding: 6px;
	box-sizing: border-box;
}
#sp_footer_fix ul li a img {
	display: block;
	margin: 0 auto
}
#sp_footer_fix ul li a span {
	font-size: 12px;
	display: block;
	color: #222;
}
.page_top {
	position: relative;
}
.page_top a {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #FFE33F;
}
.page_top a:hover {
	background-color: #FBED96;
}
.page_top img {
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
}
#footer_fix  .page_top {
	width: 4.375rem;
	height: 4.375rem;
}
#sp_footer_fix .page_top {
	width: 50px;
	height: 50px;
}

@media screen and (max-width:767px) {
	#footer_fix {display: none;}
}

@media print,screen and (min-width:768px) {
	#sp_footer_fix {display: none;}
}



/* ---- */
/* LAST */
/* ---- */
