@charset "utf-8";
/*   
Theme Name: L-PLAZA コーポレート(アクセシビリティ対応)
Description: L-PLAZA 公共4施設のコーポレートページ用カスタマイズテーマです。
*/


/* ---------- */
/* デザイン共通 */
/* ---------- */
*::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{
	margin:0;
	padding:0;
	border:none;
	background-repeat: no-repeat;
}
html{
	font-size:16px;
}
body{
	overflow-y:scroll;
	background:#fff;
	color:#222;
	font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic W3', 'Hiragino Kaku Gothic Pro', "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: 400;
	line-height:1.7;
	-webkit-text-size-adjust:100%;
	font-feature-settings: "pkna";
}

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

a:hover img{opacity: 0.7;}

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;
}

/*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_family_bold{font-family:'ヒラギノ角ゴ Pro W6', 'Hiragino Kaku Gothic W6', 'HiraKakuPro-W6', "游ゴシック体", "Yu Gothic", YuGothic, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;}
.text_en{font-family: termina, 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: 200;
}
#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);
	}
}




/* -------- */
/* #svg_symbol_define */
/* -------- */
#svg_symbol_define {display: none;}
#svg_symbol_define .svg_color_black path {stroke: #222;}
#svg_symbol_define .svg_color_white path {stroke: #ddd;}



/* -------- */
/* #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: #97C2CD;}
/*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 .head_logo a:hover img {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;*/
	}
	header .nav_wrap::before {height: 64px;}
	header #sp_head_sns {
		position: absolute;
		right: 4.25rem;
		top: 1.125rem;
	}
}

@media screen and (max-width:1024px) {
	.head_logo,
	#drawer_global_navi .head_logo {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 150px;
		height: 70px;
		margin-left: 4.26vw;
	}
	.head_logo a {
		display: flex;
		height:54px;
	}
	.head_logo a {
		width:100%;
		background:url(images/logo.svg) no-repeat center;
		background-size:100%;
		text-indent:-9999px;
	}
	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 {
		width: 30%;
		max-width: 310px;
		width: 16.14vw;
	}
	header .head_logo a {
		background:url(images/logo.svg) no-repeat center;
		background-size:65%;
		display: flex;
		text-indent:-9999px;
	}
	header .head_logo a {display: block;}
	header .nav_wrap::before {height: 100px;}
	header .nav_wrap .nav_inner {
		position: relative;
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	header div.nav_inner ul.g_nav {
		display: flex;
		justify-content: space-between;
		padding-right: 2.6vw;
		height: 100px;
	}
	header div.nav_inner ul.g_nav > li:not(:first-child) {margin-left: 1vw;}
	header div.nav_inner ul.g_nav li a {
		height: 100%;
		display:block;
		padding-top: 2.5rem;
		position: relative;
	}
	header div.nav_inner ul.g_nav li a::before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 6px;
		content: "";
		background-color: #47a34b;
		transform: scale(0,1);
		transition: 0.3s ease-out;
	}
	header div.nav_inner ul.g_nav li a:hover::before{transform: scale(1,1);}
	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 #head_nav .nav_inner {position: relative;}

	header #head_nav .nav_inner::before {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		display: block;
		width: 100%;
		height: 100px;
		background-color: #262626;
		content: "";
	}
	header #head_nav .head_logo a {
		display: flex;
		justify-content: center;
		align-items: center;
		max-height: 168px;
		min-height: 120px;
		height: 8.75vw;
		padding: 0 1.25em;
		background-color: #fff;
	}
	header #head_nav .nav_inner li a {color: #fff;}
	header #fixed_nav {background-color: rgba(36,36,36,0.95);}
	header #fixed_nav .nav_wrap .nav_inner {height: 100px;}
	header #fixed_nav .head_logo a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100px;
		background-color: #fff;
	}
	header #fixed_nav .head_logo img {
		max-width: 147px;
	}
	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 li a {color: #fff;}
	header #fixed_nav .drop_nav_btn + div.sub_menu {top:74px;}

}
@media screen and (min-width:1025px) and (max-width:1280px) {
	header div.nav_inner ul.g_nav {padding-right: 1.6vw;}
	header div.nav_inner ul.g_nav > li:not(:first-child) {margin-left: 1vw;}
	header div.nav_inner ul.g_nav > li span {font-size: 0.875em;}
}

@media print,screen and (min-width:1281px) {
	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;
	}
}



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

@media all and (-ms-high-contrast: none){
	header .head_logo a img {width: 100%;}
	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:1024px) {
	header #fixed_nav {
		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: 70px;
		height: 70px;
		cursor:pointer;
		transition: background 200ms;
	/* 	background-color: #478393; */
		transition: 0.5s ease-out;
		background-color: #000;
	}
	#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: 31%;
		right: 50%;
		transform: translate(50%,-50%);
		width: 41px;
		height: 2px;
		background: #fff;
		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;
		top: 50%;
	}
	#burger_btn .btn_mark::before,
	#burger_btn .btn_mark::after{
		content: "";
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		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 .btn_mark::before{
		top: 13px;
		width: 84.41%;
	}
	#burger_btn .btn_mark::after{
		top: 26px;
		width: 67.53%;
	}
	#burger_btn.open_menu .btn_mark::before{
		top: 0;
		width: 100%;
		transform: rotate(45deg);
	}
	#burger_btn.open_menu .btn_mark::after{
		top: 0;
		width: 100%;
		transform: rotate(-45deg);
	}

	#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;
		background-color:#000;
		box-sizing:border-box;
		transition:200ms visibility;
	}
	#drawer_global_navi::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 70px;
		content: "";
		background-color: #fff;
		z-index: -1;
	}

	#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 #sp_nav li{
		border-bottom: 1px solid #fff;
		padding-bottom: 0.375rem;
	}

	#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 li a{
		color: #fff;
		width: 100%;
		height: 3.75rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0;
		font-size: 0.875rem;
		text-decoration: none;
	}
	#drawer_global_navi li a::after{
		display: block;
		width: 15px;
		height: 15px;
		border-right: 1px solid #707070;
		border-bottom: 1px solid #707070;
		content: "";
	}

	.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::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 #sp_nav {
		padding: 0 6.66vw;
		display: flex;
		align-items: center;
		margin-top: 0;
	}
	#drawer_global_navi #sp_nav > div {
		width: 100%;
	}

	#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;}
@media screen and (max-width:1024px) {
	main{padding-top: 70px;}
}
@media print,screen and (min-width:1025px) {
	main{padding-top: 100px;}
}


/* ------------- */
/* .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_wrap */
/* ---------- */
.content_title_wrap {
	display: flex;
	flex-direction: column;
}
.content_title_wrap .content_title{order: 2;}
.content_title_wrap .title_symbol {order: 1;}





/* ---------- */
/* content_title */
/* ---------- */
.content_title {
	line-height: 1.15em;
	text-align: center;
	font-weight: bold;
	margin-bottom: 2.5rem;
	position: relative;
}
.content_title span {
	display: block;
	line-height: 1em;
}
.content_title span.blocktitle_en {
	display: block;
	font-size: 2rem;
	font-family: termina, sans-serif;
	font-weight: 500;
	letter-spacing: 3px;
    margin-bottom: 0.75rem;
}
.content_title span.blocktitle_jp {
	font-size: 1.125rem;
	font-weight: normal;
	line-height: 1.25em;
	letter-spacing: 1px;
}

@media screen and (max-width:767px) {
	.content_title span.blocktitle_en {
		font-size: 6.93vw;
		margin-bottom: 0.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: 1rem;
		margin-bottom: 0.5rem;
	}
}



/* ---------- */
/* title_symbol */
/* ---------- */
.title_symbol {margin-bottom: 1rem;}
.title_symbol svg {
	width: 63px;
	height: 59px;
	margin: 0 auto;
	display: block;
}


/* ------ */
/* main p */
/* ------ */
main p{
	margin-top:1em;
	margin-bottom:1em;
	font-variant-east-asian: proportional-width;
	letter-spacing: 1px;
}
section p.not_proportional,
section p span.not_proportional {
	font-variant-east-asian: normal;
	letter-spacing: 0;
}
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 4.26vw;
	}
}

/* ------------- */
/* .link_btn */
/* ------------- */
.link_btn a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 15.625rem;
	height: 3.75rem;
	border: 1px solid #707070;
	box-shadow: 10px 10px 0 #ddd;
	color: #222;
}
.link_btn a:hover {
	box-shadow: 10px -10px 0 #ddd;
	background-color: #47a34b;
	border-color: #47a34b;
	color: #fff;
	transform: translate(0, 10px);
}
.link_btn a::before {
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 15px;
	height: 15px;
	display: block;
	border-right: #707070 1px solid;
	border-bottom: #707070 1px solid;
	content: "";
	transition: 0.3s ease-out;
}
.link_btn a:hover::before {
	width: 66px;
	height: 10px;
	border-color: #fff;
	border-right-width:2px;
	transform: skewX(45deg);
	transform-origin: right bottom;
}

/* ------------- */
/* .info_list */
/* ------------- */
.info_list li a {
	display: flex;
	justify-content: flex-start;
}
.info_list li a p{
	padding-bottom: 0.5rem;
	margin-top: 0;
	margin-bottom: 1.875rem;
}
.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 p {margin-bottom: 0;}
@media screen and (max-width:1024px) {
	.info_list li a p{margin-bottom: 1rem;}
	.info_list li a p.info_date {
		font-size: 1rem;
		font-weight: normal;
	}
}



/* ------ */
/* .bg_gray */
/* ------ */
.bg_gray {background-color: #F4F3F3;}
@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: #000;}
.footer_inner {
	color: #fff;
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}
.footer_inner a {color: #fff;}

#footer_org_info #footer_tel {
	font-weight: bold;
	line-height: 1em;
}
footer #footer_accesibility,
footer #footer_copy {
	color: #fff;
	text-align: center;
}
#footer_accesibility,
#footer_copy {
	font-family: termina, sans-serif;
	font-weight: 400;
	font-size: 0.875rem;
}

@media screen and (max-width:1024px) {
	.footer_inner {padding: 30px 0;}
	.footer_link_block {display: none;}
	#footer_accesibility,
	#footer_copy {
		font-size: 0.75rem;
		padding:0;
	}
}
@media screen and (min-width:768px) and (max-width:1024px) {
}
@media screen and (min-width:1025px) {
	.footer_inner {padding: 50px 0;}
	#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_link_block {
		padding-bottom: 30px;
		border-bottom: 1px #666666 solid;
	}
	.footer_link_block ul {
		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_accesibility,
	footer #footer_copy {padding-top: 30px;}
}


@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: none;
}
.page_top {position: relative;}
.page_top a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #47a34b;
	border-radius: 50%;
}
.page_top a span {
	position: relative;
	top:50%;
	left:50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: translate(-50%, -50%);
}
.page_top a span::before {
	display: block;
	width: 20px;
	height: 20px;
	border: 3px solid #fff;
	border-width: 3px 3px 0 0;
	margin-top: 0px;
	margin-bottom: 1px;
	transform:rotate(-45deg);
	transform-origin: center;
	content: "";
}
.page_top a span::after {
	display: block;
	width: 28px;
	height: 3px;
	margin-top: -4px;
	background-color: #fff;
	content: "";
}


#footer_fix .page_top {
	width: 60px;
	height: 60px;
}

@media screen and (max-width:767px) {
	#footer_fix {
		display: none;
		bottom: 57px;
		right:4.16vw;
	}
	#footer_fix .page_top {
		width: 46px;
		height: 46px;
	}
	.page_top a {
		width: 46px;
		height: 46px;
	}
	.page_top a span::before {
		width: 15px;
		height: 15px;
		margin-top: 0px;
		margin-bottom: 2px;
	}
	.page_top a span::after {
		width: 20px;
	}
}
@media  print,screen and (min-width:768px) {
	.page_top {
		position: absolute;
		bottom: 15px;
		right: 15px;
	}
	.page_top a:hover {
		box-sizing: border-box;
		background-color: #fff;
		border: 3px solid #47a34b;	
	}
	.page_top a:hover span::before {border-color:#47a34b;}
	.page_top a:hover span::after {background-color: #47a34b;}

}



/*not_found*/
@media screen and (max-width:1024px) {
	#not_found .section_inner {
		min-height: calc(100vh - 70px - 80px);
	}
}



/* ------------------------- */
/*         固定ページ        */
/* ------------------------- */

.lplaza-page{
	width:80%;
	margin:40px auto 60px auto;
}

.breadcrumb{
	margin:20px auto 60px auto;
}

.lplaza-page h1{
	font-size:50px;
}


/* ------------------------- */
/*    アクセシビリティ対策   */
/* ------------------------- */

a:focus {
	outline: 2px #00FFFF dotted;
}

.dark a{
	color:#00F;
}

.dark footer a{
	color:#FFF!important;
}

.pc{ display:block!important; }
.sp{ display:none!important; }


/*skip
----------------------------------------------------*/
.skip {
	position:relative;
	width:1px;
	color:#FFF;
	font-size:0.1%;
	line-height:0.1;
	background-color:#47a34b;
	position:absolute;
	left:-3000px;
	z-index:9999;
}
a.skip {
	background-color:#47a34b;
	text-align:center; /* 変更しない */
	padding:10px 0;
	top:auto; /* 変更しない */
	color:#FFF!important;
}
a.skip:active {
	display:block;
	width:99.99%; /* 変更しない */
	font-size:100%; /* 変更しない */
	line-height:1.6; /* 変更しない */
	top:0; /* 変更しない */
	left:0; /* 変更しない */
}
a.skip:focus {
	display:block;
	width:99.99%; /* 変更しない */
	font-size:100%; /* 変更しない */
	line-height:1.6; /* 変更しない */
	top:0; /* 変更しない */
	left:0; /* 変更しない */
}

#pc_nav{
	position:absolute;
	right:147px;
}

.color{
	position:absolute;
	right:0;
	height: 100px;
	padding: 0 1.04vw 0 0;
	background-color: #262626;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 0.875rem;
	color:#FFF;
}

.color p{
	padding:10px 0 5px 0;
	text-align:center;
}

.color ul{
	display: flex;
	align-items: flex-end;
}

.color li{
	width:4em;
	margin:0 5px;
	padding:3px 0;
}

.color li a{
	padding:12px 8px;
	background:#000;
	font-size: 0.875rem;
	text-align:center;
	display:block;
	line-height: 1em;
	color:#000;
	transition: 0.3s ease-out;
}

.color li.current a{
	color: #fff;
	background-color: #444;
}

/*color*/

.dark .color li.current a{
	color: #fff;
	background-color: #444;
}

.dark #page_head::after,
.dark .bg_texture::before{
	background:#FAFAFA;
}

.dark a:hover{
	color:#FAFAFA!important;
}


.dark #mv #mv_copy p.sub_copy {
    background-color: rgba(0,0,0,1.0);
}

.dark .link_btn a:hover {
    box-shadow: 10px -10px 0 #ddd;
    background-color: #000;
    border-color: #000;
}

.dark #sec_home_accessmap_wrap::before {
    opacity: 0.85;
}

@media print,screen and (max-width:1025px) {
	.pc{ display:none!important; }
	.sp{ display:block!important; }
	
	.color{
		position:relative;
		right:auto;
		height: auto;
		margin-bottom:1.04vw;
		padding: 1.04vw 0;
		display:block;
		text-align:center;
	}
	
	.color ul {
		display:block;
	}
	
	.color li {
		width: 8em;
		margin: 0 5px;
		padding: 5px;
		text-align:center;
		display:inline-block;
	}
	.color li a{
		height:auto!important;
		text-align:center!important;
		display:block!important;
	}
	.color li a::after{
		display:none!important;
	}

}


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