@charset "UTF-8";
/* ----------------------------------------------------
[life-love] [g-nav]
----------------------------------------------------  */
/* Module
---------------------------------------------------- */


button {
	padding: 0;
	border-style: none;
	border-radius: 0;
	background-color: transparent;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


body .skip-link {
	position: absolute;
	top: 10px;
	z-index: -1;
	margin-left: 7px;
	padding: 7px 8px 7px 8px;
	background-color: #fff;
	border: 1px solid #007a46;
	border-radius: 3px;
	opacity: 0;
	visibility: hidden;
	color: #007a46;
}

body .skip-link[tabindex="0"] {
	z-index: 1000;
	visibility: visible;
	opacity: 1;
}





.gnav-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	transition: top 1s cubic-bezier(0.55, 0.085, 0, 0.99), height 1s cubic-bezier(0.55, 0.085, 0, 0.99), background-color 1s cubic-bezier(0.55, 0.085, 0, 0.99);
	border-bottom: 1px solid #e7eeed;
	font-family: YakuHanJPs_Noto, "Noto Sans JP", "Hiragino kaku Gothic ProN", Meiryo, sans-serif;
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
	background-color: #fff;
}

.gnav-header[area-scroll="true"] {
	top: -100%;
}

.gnav-header[area-shadow="true"] {
	box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.1);
}

.gnav-header a {
	text-decoration: none;
	outline: none;
}



@media print, screen and (min-width: 768px) {
	.gnav-header {
		width: 100%;
		min-width: 1000px;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header {
		width: 100vw;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header .gnav-header-inner {
		min-width: 1000px;
		max-width: 1366px;
		margin: 0 auto;
		padding: 0 20px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		z-index: 1;
	}
}

.gnav-header .gnav-header-inner .logo {
	width: 118px;
	display: block;
}

@media screen and (max-width: 767px) {
	.gnav-header .gnav-header-inner .logo {
		width: 24vw;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header .gnav-header-inner.min {
		padding: 28px 20px;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .trigger-wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 3.2vw 5.33333vw;
		background-color: #fff;
	}
}

.gnav-header .trigger-set {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-wrapper {
		display: flex;
		flex-wrap: wrap;
		overflow: scroll;
		max-height: calc(100vh - 21.3vw - 80px);
		padding: 0 6.66667vw 8vw;
		position: absolute;
		top: -100vh;
		background-color: #fff;
		transition: 0.4s ease;
		z-index: -1;
		visibility: hidden;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-wrapper[area-expanded="true"] {
		top: calc(100% + 1px);
		visibility: visible;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header .inner-head {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		padding-top: 12px;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-head {
		width: 100%;
		order: 2;
		margin-top: 6.66667vw;
	}
}

.gnav-header .inner-head ul {
	display: flex;
}

@media print, screen and (min-width: 768px) {
	.gnav-header .inner-head ul {
		margin-right: 15px;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header .inner-head ul > li {
		padding: 0 10px;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-head ul > li {
		margin-right: 5.06667vw;
	}
}

.gnav-header .inner-head ul > li a {
	color: #444;
}

.gnav-header .inner-head ul > li a:hover {
	color: #444;
	opacity: 0.74;
}

@media print, screen and (min-width: 768px) {
	.gnav-header .inner-head ul > li a {
		font-size: 13px;
		font-weight: 500;
		display: block;
		padding: 12px 0;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-head ul > li a {
		font-size: 3.46667vw;
	}
}

.gnav-header .inner-head .border {
	width: 1px;
	height: 17px;
	display: block;
	background-color: #cacdcc;
}

.gnav-header .inner-head .global-link {
	display: flex;
	align-items: center;
}

@media print, screen and (min-width: 768px) {
	.gnav-header .inner-head .global-link {
		margin: 10px 15px 10px 25px;
	}
}

.gnav-header .inner-head .global-link:hover span {
	color: #202020;
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-head .global-link {
		margin-top: 5.33333vw;
	}
}

.gnav-header .inner-head .global-link .icn {
	width: 16px;
	height: 16px;
	display: block;
	background-image: url(/ja/assets/img/all/ico_world.svg);
	background-position: center;
	background-repeat: no-repeat;

	background-size: 100%;
	margin-right: 5px;
	flex: inherit;
}
.gnav-header .inner-head .global-link:hover .icn {
	background-image: url(/ja/assets/img/all/ico_world_bk.svg);
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-head .global-link .icn {
		width: 4.26667vw;
		height: 4.26667vw;
		margin-right: 1.33333vw;
		flex: inherit;
	}
}

.gnav-header .inner-head .global-link span {
	font-size: 13px;
	color: #007a46;
	transition: 0.2s ease;
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-head .global-link span {
		font-size: 3.46667vw;
	}
}

.gnav-header .inner-head .global-link:after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background-image: url(/ja/assets/img/all/ico_blank.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-left: 6px;
}
.gnav-header .inner-head .global-link:hover:after {
	background-image: url(/ja/assets/img/all/ico_blank_bk.svg);
}

@media screen and (max-width: 767px) {
	.gnav-header .inner-head .global-link:after {
		width: 2.66667vw;
		height: 2.66667vw;
		margin-left: 1.33333vw;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav {
		display: flex;
		align-items: center;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .g-nav {
		order: 1;
		width: 100%;
		margin-top: 5.33333vw;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav ul.global-nav-triggers {
		display: flex;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .g-nav ul.global-nav-triggers > li:not(:first-child) {
		border-top: 1px solid #d1dadb;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li:last-child {
		border-bottom: 1px solid #d1dadb;
	}
}

.gnav-header .g-nav ul.global-nav-triggers > li > a {
	font-weight: 500;
	color: #333;
	line-height: 1.3;
}

@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav ul.global-nav-triggers > li > a.is-active {
		color: #007a46;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a.is-active span:after {
		bottom: 0 !important;
		width: 100% !important;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav ul.global-nav-triggers > li > a {
		font-size: 15px;
		padding: 13px 20px 17px;
		display: block;
		transition: 0.2s ease;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a span:not(.icn) {
		display: block;
		position: relative;
		padding-bottom: 8px;
		overflow: hidden;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a span:not(.icn):after {
		content: "";
		position: absolute;
		background-color: #007a46;
		width: 100%;
		height: 3px;
		bottom: 0px;
		width: 0;
		left: 0;
		transition: 0.2s ease;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a:hover {
		color: #007a46;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a:hover span:not(.icn):after {
		bottom: 0;
		width: 100%;
	}

/*　2025-10　start */
.gnav-header .g-nav ul.global-nav-triggers > li > a span{white-space: nowrap;}
.gnav-header .g-nav ul.global-nav-triggers > li > a span .gnav_head_allow{
display: inline-block;
width:16px;
height:12px;
vertical-align: -7%;
background:url(/ja/assets/img/all/ico_link-green.svg) no-repeat center center;
transform: rotate(90deg);
margin-left: 3px;
}
.gnav-header .g-nav ul.global-nav-triggers > li > a:hover span .gnav_head_allow{
transition:all .5s;
transform: scale(-1, 1) rotate(-90deg);
}
.gnav-header .g-nav ul.global-nav-triggers > li[area-expanded="true"] > a span .gnav_head_allow{
transform:scale(-1, 1) rotate(-90deg) !important;
}

/*　2025-10　end */
	
}/*min-768*/

@media screen and (max-width: 767px) {
	.gnav-header .g-nav ul.global-nav-triggers > li > a {
	font-size: 4vw;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 2.66667vw;
		transition: 0.2s ease;
		min-height: 13.33333vw;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a span {
		display: block;
		flex: 1;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a span.textOnly {
		border: none;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a .icn {
		position: relative;
		display: block;
		width: 6.93333vw;
		height: 6.93333vw;
		box-sizing: content-box;
		border-radius: 50%;
		border: 2px solid #007a46;
		box-sizing: border-box;
		flex: inherit;
	}
	.gnav-header .g-nav ul.global-nav-triggers > li > a .icn:focus {
		outline: #000 auto 1px;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a .icn:before {
		content: "";
		position: absolute;
		display: block;
		width: 2.66667vw;
		height: 0.53333vw;
		background-color: #007a46;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		box-sizing: content-box;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a .icn:after {
		content: "";
		position: absolute;
		display: block;
		height: 2.66667vw;
		width: 0.53333vw;
		background-color: #007a46;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: 0.2s ease;
		box-sizing: content-box;
	}

	.gnav-header .g-nav ul.global-nav-triggers > li > a:hover {
		color: #007a46;
	}
	
	
	
}

@media screen and (max-width: 767px) {
	.gnav-header .g-nav ul.global-nav-triggers > li[area-expanded="true"] > a {
		background-color: #f3f8f6;
	}
}

.gnav-header .g-nav ul.global-nav-triggers > li[area-expanded="true"] > a span:not(.icn):after {
	bottom: 0;
	width: 100%;
}

.gnav-header .g-nav ul.global-nav-triggers > li[area-expanded="true"] > a .icn {
	border-color: #dae0e0;
}

.gnav-header .g-nav ul.global-nav-triggers > li[area-expanded="true"] > a .icn:after {
	transform: rotate(90deg);
}

.gnav-header .g-nav ul.global-nav-triggers > li[area-expanded="true"] .dropdown-inner {
	opacity: 1;
}

@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav .dropdown {
		position: absolute;
		top: calc(100% + 1px);
		left: 0;
		background-color: #fff;
		width: 100vw;
		min-width: 1000px;
		z-index: -1;
		transition: 0.5s ease;
		transition-delay: 0.45s;
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .g-nav .dropdown {
		overflow: hidden;
	}
}

@media print {
	.gnav-header .g-nav .dropdown {
		display: none;
	}
}

.gnav-header .g-nav .dropdown span {
	flex: 1;
}

.gnav-header .g-nav .dropdown .dropdown-inner {
	/*display: flex;*/
	margin: 0 auto;
	box-sizing: content-box;
}

@media print, screen and (min-width: 768px) {
/*
	.gnav-header .g-nav .dropdown{outline: 2px dashed red;}
*/
	.gnav-header .g-nav .dropdown .dropdown-inner {
	/*outline: 2px dashed blue;*/
		max-width: 1196px;
		padding: 15px 20px 50px;
		opacity: 0;
		transition: 1s ease;
	}
}/*min768*/


/* 2025-10 */
.gnav-header .g-nav .dropdown .dropdown-inner .inner-main {
	border-bottom: 1px solid #007a46;
	/*outline: 2px dashed red;*/
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	padding-bottom: 1.5rem;
}
.gnav-header .g-nav .dropdown .dropdown-inner .inner-main span a {
	font-size: 2rem;
	font-weight: 700;
	color:#333;
}
.gnav-header .g-nav .dropdown .dropdown-inner .inner-main span a:hover {
color: #007a46;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a{
/*display: block;*/
position: relative;
  padding-left: 16px;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  transition: 0.2s ease;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a>i {
  position: absolute;
  width: 9px;
  height: 14px;
  margin-right: 5px;
  top: 6px;
  left: 0;
  transition: 0.2s ease;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a>i::before {
  content: "";
  position: absolute;
  display: block;
  background-image: url("/ja/sustainability/img/icn_link-darkgreen.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 10px;
  height: 14px;
  top: 0;
  bottom: 0;
  left: 1px;
  right: 0;
  margin: auto;
}
	
	
@media screen and (min-width: 768px) {
.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a:not(.test):hover i::before {
    -webkit-animation-name: bounceAlpha;
    animation-name: bounceAlpha;
    -webkit-animation-duration: 1.4s;
    animation-duration: 1.4s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
}

}/*768*/









@media screen and (max-width: 767px) {
.gnav-header .g-nav .dropdown .dropdown-inner .inner-main {display: none;}


}/* max767 */



.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a .icn {
	position: relative;
	width: 32px;
	height: 32px;
	display: block;
	border-radius: 50%;
	border: 2px solid #007a46;
	margin-top: -4px;
	margin-right: 10px;
	transition: 0.5s;
	flex: inherit;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a .icn:before {
	content: "";
	position: absolute;
	display: block;
	background-image: url("/ja/assets/img/all/ico_link-green.svg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	top: 0;
	bottom: 0;
	left: 1px;
	right: 0;
	margin: auto;
	transition: 0.5s;
	width: 7px;
	height: 13px;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a .icn:after {
	content: "";
	position: absolute;
	display: block;
	background-image: url("/ja/assets/img/all/ico_link-white.svg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	top: 0;
	bottom: 0;
	left: 1px;
	right: 0;
	margin: auto;
	transition: 0.5s;
	width: 7px;
	height: 13px;
	opacity: 0;
}







@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-main span {
		padding-right: 30px;
	}
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a:hover span {
	color: #007a46;
}
/*
.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a:hover i {
	background-color: #007a46;
}
*/

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a:hover i:before {
	opacity: 0;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-main a:hover i:after {
	opacity: 1;
}


/*2025-10*/
@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content {
	/*outline: 2px dashed red;*/
	margin-top: 2rem;
	display: flex; gap:0 40px;
	}
	
	
	
	
}/*767*/

@media screen and (max-width: 767px) {
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content {
		width: 100%;
		padding: 5.33333vw;
	}
}/*767*/

@media print, screen and (min-width: 768px) {
/*
.gnav-header .g-nav .dropdown .dropdown-inner .inner-content>ul {outline: 2px dashed red;}
*/
.gnav-header .g-nav .dropdown .dropdown-inner .inner-content>ul.col1 {
flex-grow: 1;
/*outline: 2px dashed rgba(255,65,245,1.00);*/
width:calc((100% - 80px) / 3);
}
.gnav-header .g-nav .dropdown .dropdown-inner .inner-content>ul.col2 {
flex-grow: 2;
/*outline: 2px dashed rgba(51,141,255,1.00);*/
width:calc(((100% - 80px) / 3) * 2);
}
.gnav-header .g-nav .dropdown .dropdown-inner .inner-content>ul.col2 .menu_col_2 {
/*outline: 2px rgba(37,173,70,1.00);*/
display: flex;
gap:0 40px;		
}
}/*768*/

@media print, screen and (min-width: 768px) {
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li {
		/*width: 22%;*/
		/*margin-left: 3%;*/
	}

/*
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li:nth-child(n + 5) {
		margin-top: 27px;
	}
	*/
}/*768*/

@media screen and (max-width: 767px) {
/*
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li:not(:first-child) {
		margin-top: 5.33333vw;
	}
	*/
}/*767*/

/* 2025-10 　start
================================================*/

.gnav_masonry {
	width:100%;
}

.gnav_masonry > li {
  margin: 0 0 2rem;
  /*border: 2px solid #4a63ff;*/
  background: #fff;
	width: 100%;
}
@media (max-width: 767px) {
.gnav_masonry > li {margin: 0 0 2rem;}
}/*767*/


.gnav_masonry > li .sub_title,
.gnav_masonry > li .sub_title_link{
/*outline: 1px dashed red;*/
padding-bottom: .66rem;
border-bottom: 1px solid #AEC1BE;
padding-top: 0;
font-size: 1rem!important;
}
.gnav_masonry > li .sub_title,
.gnav_masonry > li .sub_title_link a{
font-weight:500;
font-size: 1.5rem!important;
line-height: 1.3;
}


.gnav_masonry > li .sub_title_link a{
/*outline: 1px dashed red;*/
/*display: block;*/
position: relative;
padding-left: 16px;
display: inline-flex;
flex-wrap: wrap;
align-items: center;
transition: 0.2s ease;
padding-top: 0;
margin-top: 0;
color: #333;
}
.gnav_masonry > li .sub_title_link a:hover{
color: #007a46;
}

.gnav_masonry > li .sub_title_link a>i {
position: absolute;
width: 9px;
height: 14px;
margin-right: 5px;
top: 3px;
left: 0;
transition: 0.2s ease;
}

.gnav_masonry > li .sub_title_link a>i::before {
content: "";
position: absolute;
display: block;
background-image: url("/ja/sustainability/img/icn_link-darkgreen.svg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
width: 8px;
height: 12px;
top: 0;
bottom: 0;
left: 1px;
right: 0;
margin: auto;
}


@media screen and (min-width: 768px) {
.gnav_masonry > li .sub_title_link a:not(.test):hover i::before {
    -webkit-animation-name: bounceAlpha;
    animation-name: bounceAlpha;
    -webkit-animation-duration: 1.4s;
    animation-duration: 1.4s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
}
}/*768*/


.gnav_masonry > li > ul{
/*outline: 2px dotted red;*/
margin-top: 1rem;
}

.menu_col_2 ul{
/*outline: 2px dotted red;*/
width: 100%;
}


.gnav_masonry > li > ul li,
.menu_col_2 ul li{
margin-top:1rem;
}
.gnav_masonry > li > ul li a,
.menu_col_2 ul li a{
font-weight: 500;
}




@media (max-width: 767px) {
.gnav_masonry {
	padding: 0;
}

.gnav_masonry > li .sub_title,
.gnav_masonry > li .sub_title_link a{
font-size:3.73333vw;
}

.gnav_masonry > li .sub_title_link a>i {
  top: 4px;

}


.gnav_masonry > li > ul{
/*outline: 2px dotted red;*/
margin-top: 1rem;
}



}/*767*/


/* 2025-10 　end
================================================*/


.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a {
	position: relative;
	display: block;
	font-weight: 400;
	transition: 0.2s ease;
	color: #333;
	line-height: 1.3;
	transition: 0.5s;
}


	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a {
		font-size: 14px;
		padding-left: 25px;
	}

@media screen and (max-width: 767px) {
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a {
		font-size: 3.73333vw;
		padding-left: 4vw;
	}
}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a .icn {
		position: absolute;
		width: 20px;
		height: 20px;
		margin-right: 5px;
		top: -1px;
		left: 0;
		border: 1px solid #aec1be;
		border-radius: 50%;
		transition: 0.5s;
		flex: inherit;
	}
	
@media screen and (max-width: 767px) {
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a .icn {
	top: 20%;
	width:3.4vw;
	height: 3.5vw;
}

}/**/


	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a .icn:before {
		content: "";
		position: absolute;
		display: block;
		background-image: url("/ja/assets/img/all/ico_link-green.svg");
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		top: 0;
		bottom: 0;
		left: 1px;
		right: 0;
		margin: auto;
		transition: 0.5s;
		width: 6px;
		height: 9px;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a .icn:after {
		content: "";
		position: absolute;
		display: block;
		background-image: url("/ja/assets/img/all/ico_link-white.svg");
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		top: 0;
		bottom: 0;
		left: 1px;
		right: 0;
		margin: auto;
		transition: 0.5s;
		width: 6px;
		height: 9px;
		opacity: 0;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a[target="_blank"] .icn:before {
		content: "";
		position: absolute;
		display: block;
		background-image: url("/ja/assets/img/all/ico_blank.svg");
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		top: 0;
		bottom: 0;
		left: 1px;
		right: 0;
		margin: auto;
		transition: 0.5s;
		width: 8px;
		height: 8px;
		left: 0;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a[target="_blank"] .icn:after {
		content: "";
		position: absolute;
		display: block;
		background-image: url("/ja/assets/img/all/ico_blank-white.svg");
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		top: 0;
		bottom: 0;
		left: 1px;
		right: 0;
		margin: auto;
		transition: 0.5s;
		width: 8px;
		height: 8px;
		opacity: 0;
		left: 0;
	}
	
	


.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a:hover {
	color: #007a46;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a:hover .icn {
	background-color: #007a46;
	border-color: #007a46;
	flex: inherit;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a:hover .icn:before {
	opacity: 0;
}

.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li > a:hover .icn:after {
	opacity: 1;
}

@media screen and (max-width: 767px) {
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a {
		display: flex;
		align-items: center;
	}
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a .icn:focus {
		outline: 1px solid #000 !important;
	}
	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a .icn {
		position: relative;
		display: block;
		width: 5.86667vw;
		height: 5.86667vw;
		box-sizing: content-box;
		border-radius: 50%;
		border: 1px solid #007a46;
		box-sizing: border-box;
		flex: inherit;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a .icn:before {
		content: "";
		position: absolute;
		display: block;
		width: 2.66667vw;
		height: 0.53333vw;
		background-color: #007a46;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		box-sizing: content-box;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a .icn:after {
		content: "";
		position: absolute;
		display: block;
		height: 2.66667vw;
		width: 0.53333vw;
		background-color: #007a46;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		transition: 0.2s ease;
		box-sizing: content-box;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a[area-expanded="true"] .icn {
		border-color: #dae0e0;
		background-color: #fff;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a[area-expanded="true"] .icn:before {
		opacity: 1;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a[area-expanded="true"] .icn:after {
		opacity: 1;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a[area-expanded="true"] .icn:after {
		transform: rotate(90deg);
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a:hover {
		color: #007a46;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a:hover .icn {
		background-color: #fff;
		border-color: #007a46;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a:hover .icn:before {
		opacity: 1;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > a:hover .icn:after {
		opacity: 1;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > ul {
		border-left: 1px solid #e7eeed;
		padding-left: 3.2vw;
		margin-top: 3.73333vw;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > ul > li {
		padding: 1.86667vw 0;
		margin-top: 0;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > ul > li > a {
		font-size: 3.2vw;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > ul > li:first-child {
		padding-top: 0;
	}

	.gnav-header .g-nav .dropdown .dropdown-inner .inner-content ul > li.inner-content-child > ul > li:last-child {
		padding-bottom: 0;
	}
}

.gnav-header .close-trigger {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 767px) {
	.gnav-header .close-trigger {
		order: 3;
		margin-top: 12vw;
		margin-left: auto;
	}
}

.gnav-header .close-trigger:focus-visible {
	outline: 1px solid #007a46;
}

.gnav-header .close-trigger span {
	color: #333;
	font-weight: 400;
	font-size: 14px;
}

.gnav-header .close-trigger span:hover {
	opacity: 0.75;
}

@media screen and (max-width: 767px) {
	.gnav-header .close-trigger span {
		font-size: 3.73333vw;
	}
}

.gnav-header .close-trigger .icn {
	position: relative;
	display: block;
}

@media print, screen and (min-width: 768px) {
	.gnav-header .close-trigger .icn {
		width: 12px;
		height: 12px;
		margin-left: 10px;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .close-trigger .icn {
		width: 3.2vw;
		height: 3.2vw;
		margin-left: 2.66667vw;
	}
}

.gnav-header .close-trigger .icn:before {
	content: "";
	display: block;
	position: absolute;
	background-color: #000333;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

@media print, screen and (min-width: 768px) {
	.gnav-header .close-trigger .icn:before {
		width: 16px;
		height: 2px;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .close-trigger .icn:before {
		width: 4.26667vw;
		height: 0.53333vw;
	}
}

.gnav-header .close-trigger .icn:after {
	content: "";
	display: block;
	position: absolute;
	background-color: #000333;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

@media print, screen and (min-width: 768px) {
	.gnav-header .close-trigger .icn:after {
		height: 2px;
		width: 16px;
	}
}

@media screen and (max-width: 767px) {
	.gnav-header .close-trigger .icn:after {
		width: 4.26667vw;
		height: 0.53333vw;
	}
}

.search-trigger {
	position: relative;
	background-color: #007a46;
	border-radius: 50%;
	cursor: pointer;
	background-image: url(/ja/assets/img/all/ico_search.svg);
	background-position: center;
	background-repeat: no-repeat;
}

@media print, screen and (min-width: 768px) {
	.search-trigger {
		width: 32px;
		height: 32px;
		background-size: 14px 14px;
		margin-left: 20px;
		margin-bottom: 8px;
	}
}

.search-trigger:focus {
	outline: 2px solid #007a46;
}

.search-trigger:hover {
	background-color: #333;
}

@media screen and (max-width: 767px) {
	.search-trigger {
		width: 8.53333vw;
		height: 8.53333vw;
		background-size: 3.73333vw 3.73333vw;
		margin-right: 5.33333vw;
	}
}

.search-trigger[area-selected="true"] {
	background-image: none;
	background: none;
}

.search-trigger[area-selected="true"]:before {
	content: "";
	position: absolute;
	display: block;
	width: 19px;
	height: 2px;
	background-color: #007a46;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	transition: 0.2s ease;
}

.search-trigger[area-selected="true"]:after {
	content: "";
	position: absolute;
	display: block;
	width: 19px;
	height: 2px;
	background-color: #007a46;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	transition: 0.2s ease;
}

.search-trigger[area-selected="true"]:hover:before {
	background-color: #007a46;
}

.search-trigger[area-selected="true"]:hover:after {
	background-color: #007a46;
}

.nav-trigger {
	position: relative;
	width: 5.86667vw;
	height: 4.26667vw;
}

.nav-trigger span {
	position: absolute;
	display: block;
	background-color: #000333;
	width: 100%;
	height: 2px;
	transition: 0.2s ease;
}

.nav-trigger span:first-child {
	top: 0;
	left: 0;
}

.nav-trigger span:nth-child(2) {
	top: calc(50% - 1px);
	left: 0;
}

.nav-trigger span:last-child {
	bottom: 0;
	left: 0;
}

.nav-trigger[area-selected="true"] span:first-child {
	top: calc(50% - 1px);
	transform: rotate(45deg);
}

.nav-trigger[area-selected="true"] span:nth-child(2) {
	opacity: 0;
}

.nav-trigger[area-selected="true"] span:last-child {
	transform: rotate(-45deg);
	bottom: calc(50% - 1px);
}

.gnav-header-search {
	overflow: hidden;
	width: 100vw;
	position: absolute;
	top: calc(100% + 1px);
	left: 0;
}

@media print, screen and (min-width: 768px) {
	.gnav-header-search {
		min-width: 1000px;
	}
}

.gnav-header-search[area-expanded="true"] .search-wrapper {
	opacity: 1;
}

.gnav-header-search .search-wrapper {
	opacity: 0;
	transition: 0.5s ease;
	background-color: #f3f8f6;
}

.gnav-header-search .search-wrapper input,
.gnav-header-search .search-wrapper button,
.gnav-header-search .search-wrapper select,
.gnav-header-search .search-wrapper textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

.gnav-header-search .search-wrapper .search-wrapper-inner {
	padding: 65px 0 30px;
	width: 640px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.gnav-header-search .search-wrapper .search-wrapper-inner {
		width: 100%;
		padding: 8vw 5.33333vw 6.66667vw;
	}
}

.gnav-header-search .search-wrapper form {
	position: relative;
	border-bottom: 3px solid #007a46;
	display: flex;
	align-items: center;
}

.gnav-header-search .search-wrapper form:before {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	background-image: url(/ja/assets/img/all/ico_search-green.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	top: 22px;
	left: 0;
	z-index: 1;
}

@media screen and (max-width: 767px) {
	.gnav-header-search .search-wrapper form:before {
		width: 4.26667vw;
		height: 4.26667vw;
		top: 3.46667vw;
	}
}

.gnav-header-search .search-wrapper form input {
	display: block;
}

.gnav-header-search .search-wrapper form input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #f3f8f6 inset;
	-webkit-transition: background-color 5000s ease-in-out 0s !important;
	transition: background-color 5000s ease-in-out 0s !important;
}

.gnav-header-search .search-wrapper form .search-txt {
	position: relative;
	width: calc(100% - 55px);
	font-size: 16px;
	color: #333;
	padding: 20px 0 20px 40px;
}

@media screen and (max-width: 767px) {
	.gnav-header-search .search-wrapper form .search-txt {
		width: calc(100% - 12vw);
		font-size: 4.26667vw;
		padding: 2.66667vw 0 2.66667vw 6.93333vw;
	}
}

.gnav-header-search .search-wrapper form .search-txt::-moz-placeholder {
	color: #aaa;
}

.gnav-header-search .search-wrapper form .search-txt:-ms-input-placeholder {
	color: #aaa;
}

.gnav-header-search .search-wrapper form .search-txt::placeholder {
	color: #aaa;
}

.gnav-header-search .search-wrapper form .search-btn {
	color: #007a46;
	font-weight: 700;
	font-size: 18px;
}

@media screen and (max-width: 767px) {
	.gnav-header-search .search-wrapper form .search-btn {
		font-size: 4.26667vw;
	}
}

@media print, screen and (min-width: 768px) {
	.gnav-header-search .search-wrapper form .search-btn {
		cursor: pointer;
	}
}

.gnav-header-search .search-wrapper form .search-btn:hover {
	color: #000;
}

.gnav-header-search .close-trigger {
	justify-content: center;
	cursor: pointer;
	width: 100px;
	margin: 30px auto 0;
}

@media screen and (max-width: 767px) {
	.gnav-header-search .close-trigger {
		margin-top: 4vw;
	}
}

.header-bg {
	position: fixed;
	top: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
	background-color: #000;
	z-index: 2;
	opacity: 0;
	visibility: hidden;
	transition: 0.2s ease;
	transition-delay: 0.3s;
}

.header-bg[area-expanded="true"] {
	opacity: 0.15;
	visibility: visible;
}



/* ========== Gナビ（2025-10） ========================================================================= */


@supports selector(.gnav:has(.dropdown-inner:hover)) {
  .gnav:has(.dropdown-inner:hover) .gnav-header.js-header { transform:none !important; top:0 !important; }
}



/* ========== Gナビ 【PCのみ】（2025-10-16） ========= */

@media screen and (min-width: 768px) {
/* ドロップダウン本体はクリッピング維持（アニメ保持） */
.gnav-header .dropdown {
  position: relative;
  z-index: 1000;      /* 既存より確実に高く */
	/*overflow: hidden; /* ← ここは visible にしない */
}

/* “透明オーバーレイ”系があればクリックを透過させる */
.gnav-header .dropdown::before,
.gnav-header .dropdown::after {
  pointer-events: none;  /* 装飾の疑似要素がクリックを奪うのを防ぐ */
}

/* スクロール領域はこれまで通り */
.gnav-header .dropdown-inner {
  /*max-height:calc(100vh - 110px);*/
	max-height:calc(85vh - 110px);
  overflow-y:auto;
 overscroll-behavior: contain;
  -ms-overflow-style: none;
  padding-bottom: 56px; /* ← ボタン高さ分の余白（調整可） */
	/* --- スクロールバー非表示設定 --- */
  scrollbar-width: none;       /* Firefox */
  -ms-overflow-style: none;    /* IE / Edge (旧) */
}
.gnav-header .dropdown-inner::-webkit-scrollbar {
  display: none;               /* Chrome, Safari, Edge(Chromium) */
}

/* スクロール外・下部固定で置く前提の見た目 */
.gnav-header .inner-close {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 1010;      /* 親より上（ただし親のコンテキスト内） */
  text-align: center;
  padding: 12px 0;
  border-top: 1px solid #e0e0e0;
  background: #fff;
  pointer-events: auto;  /* 念のため明示 */
	}
	
	
	
.gnav-header .inner-close button{
line-height: 1.4;
}
.gnav-header .inner-close button span{
font-size: 1.4rem;
}
.gnav-header .inner-close button span::after{
content: "";
  display:inline-block;
	background-image: url(/ja/img/common/batsu.svg);
	background-repeat: no-repeat;
	background-position: center center;
	width: 14px;
  height: 14px;
	margin-left: 8px;
	vertical-align: -1px;
}

}/*min-768*/

/* スマホは非表示（既存SPボタンを使用） */
@media (max-width: 767px){
.gnav-header .inner-close { display:none; } 
}/*767*/


@media screen and (min-width: 768px) {
.gnav-header .inner-close .close-trigger {
  display: inline-block;
  padding: 8px 24px;
  border-radius: 4px;
  background: #007a46;
  color: #fff;
  cursor: pointer;
  user-select: none;
}
.gnav-header .inner-close .close-trigger:hover { background:#00985c; }



/* 強制クローズ中はホバー開きを無効化 */
.gnav-header.is-closing .dropdown-inner {
  display: none !important;   /* :hover 由来の表示より優先して隠す */
}
.gnav-header.is-closing .dropdown {
  pointer-events: none;       /* 再度hoverを拾わせない（短時間） */
}


/* ← 既存に追加 */
.gnav-header.gnav--lock {
  pointer-events: none !important;        /* 一旦カーソルを下に“素通り”させて hover を解除 */
}
.gnav-header.gnav--lock .dropdown-inner {
  display: none !important;               /* :hover 開きより強く隠す */
  visibility: hidden !important;
  opacity: 0 !important;
}


/* 閉じアニメ中だけ高さをトランジション */
.gnav-header .dropdown.is-animating{
  transition: height 1s ease;
  will-change: height;
}


/* 高さアニメ（確実に有効化） */
.gnav-header .dropdown.is-animating {
  transition-property: height !important;
  transition-duration: var(--ddur, 300ms) !important; /* ←好みで */
  transition-timing-function: ease !important;
  will-change: height;
}


/* クローズ直後だけ hover 開きを殺す用 */
.gnav-header.gnav--postClose {
  pointer-events: none !important;               /* 一旦カーソル素通り＝hover不成立 */
}
.gnav-header.gnav--postClose .dropdown-inner {
  display: none !important;                      /* :hover由来の表示も確実に抑止 */
  visibility: hidden !important;
  opacity: 0 !important;
}

.gnav-header.gnav--postClose .gnav-item:hover > .dropdown-inner {display: none !important;}

/* クリックで閉じた直後、“その dropdown だけ”ホバー開きを完全無効化 */
.gnav-header .dropdown.no-hover .dropdown-inner { display: none !important; }
.gnav-header .dropdown.no-hover:hover .dropdown-inner { display: none !important; }

/* もしグローバルCSSで .gnav-item:hover > .dropdown-inner などがある場合の念押し */
.gnav-header .dropdown.no-hover .gnav-item:hover > .dropdown-inner { display: none !important; }


/* 閉じている(dropdownに is-active も is-animating も無い)間は完全に畳む */
.gnav-header .dropdown:not(.is-active):not(.is-animating) {
  height: 0 ;
  min-height: 0;
  padding: 0;   /* 外枠に余白が定義されている場合の保険 */
  border: 0;    /* 外枠ボーダーが見える場合の保険（不要なら消してOK） */
  overflow: hidden;        /* 念のため */
}

}/*min-768*/