/* header */
#nav-area-fullwidth {
	gap: 15px;
	padding: 0 0 32px 0;
	align-items: center;
	justify-content: center;
}
#nav-area-fullwidth .logo {
	width: auto;
	max-width: 15%;
	padding: 10px;
	margin-right: 0;
}
#nav-area-fullwidth .logo img {
	/* max-width: 240px; */
	width: 100% !important;
}

#nav-gnav {
	width: 80%;
	max-width: 1200px;
}

#nav-area-fullwidth .gnav_list .gnav_list-item {
	width: 19%;
}

#nav-area-fullwidth .gnav_list {
	display: flex;
	flex-direction: row;
	gap: 5px;
	width: 100%;
	justify-content: flex-end;
}

#nav-area-fullwidth .gnav_list .gnav_list-item:first-child {
	display: block;
}

#nav-area-fullwidth .gnav_list .gnav_list-item:first-child:after {
	display: none;
}

.gnav_list_main {

}

.gnav_list .gnav_list_main:first-child a {
	letter-spacing: normal;
}

.gnav_list .gnav_list_main {
	color: #333333;
	text-align: center;
	height: 27px;
	width: 100%;
	padding: 32px 0;
	background: #ececec;
}

/* aタグ(gnav_list_main)を基準にする */
.gnav_list_main {
	position: relative;
	padding-right: 25px;
	cursor:  default !important;
	pointer-events: none !important;
}

/* +マークの横線と縦線の共通スタイル */
.gnav_list_main::before,
.gnav_list_main::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	width: 10px;
	height: 2px;
	background-color: #666;
	transition: transform 0.3s ease-in-out;
}

/* ::beforeで横線を作成 */
.gnav_list_main::before {
	transform: translateY(-50%);
}

/* ::afterで縦線を作成 */
.gnav_list_main::after {
	transform: translateY(-50%) rotate(90deg);
}

/* li(gnav_list-item)にホバーした時に、中のaタグの::afterを回転させる */
.gnav_list-item:hover .gnav_list_main::after {
	transform: translateY(-50%) rotate(180deg);
}

.gnav_list .gnav_list_main .color-blue{
	color: #0000ff;
}

.gnav_list .gnav_list_sub-item {
	padding: 32px 0;
	background: #ececec;
	margin-top: 2px;
	width: 100%;
}

.gnav_list_sub-item a {
	text-align: center;
}


.gnav_list_sub-item img {
	width: 30px;
}

/* gnav_list-itemを基準点にする */
.gnav_list-item {
	position: relative;
}

/* サブメニューを通常は非表示にする */
.gnav_list_sub {
	/* 見た目と操作性をなくす */
	visibility: hidden;
	opacity: 0;

	/* 位置を親要素の真下に調整 */
	position: absolute;
	top: 100%; /* 親要素の高さ分、下に配置 */
	left: 0;

	/* ふわっと表示させるためのアニメーション設定 */
	transition: opacity 0.3s ease, visibility 0.3s ease;

	/* メニューが他の要素に隠れないように */
	z-index: 10;
	width: 100%;
}

/* 親のli要素（gnav_list-item）をホバーした時に、その中のサブメニューを表示する */
.gnav_list-item:hover > .gnav_list_sub {
	visibility: visible;
	opacity: 1;
}


@media screen and (max-width: 1320px) {
    .gnav_list_main::before,
    .gnav_list_main::after {
        right: 0.25em;
    }
}


@media screen and (max-width:1024px) {
	body.body-no-scroll {
		overflow: hidden !important;
	}

	#nav-gnav {
		height: 100%;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding-top: 20px;
		padding-bottom: 100px;
		width: 100%;
		box-sizing: border-box;
	}

	#nav-area-fullwidth .gnav_list {
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}

	.logo_spnav a {
		width: 25%;
		min-width: 150px;
	}

	.logo_spnav a img {
        width: 100%;
	}

	@media screen and (max-width: 1023.98px) {
		.logo_spnav a img {
			min-width: 120px;
		}
	}

	#nav-area-fullwidth .logo {
		margin-right: auto;
		min-width: 150px;
	}

	#nav-area-fullwidth .gnav_list {
		width: calc(100% - 40px);
	}

	#nav-gnav .gnav_list .gnav_list-item {
		width: 100%;
	}
	#nav-gnav .gnav_list .gnav_list-item.en {
		margin: 0 20px;
	}
	#nav-area-fullwidth .gnav_list {
		display: flex;
		flex-direction: column;
	}
	.gnav_list_main::before, .gnav_list_main::after {
        right: 1em !important;
    }

	#nav-area-fullwidth .gnav_list .gnav_list-item:hover > .gnav_list_sub {
		visibility: hidden;
		opacity: 0;
	}

	.gnav_list_sub {
		position: static;
		visibility: visible !important;
		opacity: 1 !important;
		max-height: 0;
		overflow: hidden;
		z-index: auto;
		width: 100%;
		transition: max-height 0.2s ease-out 0s !important;
	}

	.gnav_list_sub-item {
		opacity: 1 !important;
		visibility: visible !important;
		transition: none !important;
		animation: none !important;
	}

	.gnav_list_main {
		cursor: pointer !important;
		pointer-events: auto !important;
	}

	.gnav_list-item.active > .gnav_list_sub {
		max-height: 1000px;
	}

	.gnav_list .gnav_list_sub-item {
		padding: 20px 0;
		background: #f5f5f5;
	}

	.gnav_list-item.active .gnav_list_main::after {
		transform: translateY(-50%) rotate(180deg);
	}

	.sns .gnav_list_sub {
	    display: flex;
		gap: 5px;
	}

	#nav-gnav .gnav_list .gnav_list-item:last-child {
        border-bottom: 0;
	}
}

/* 404 */
.redirect-top-btn {
    margin: 25px 0;
}

.redirect-top-btn a {
    display: block; /* aタグに幅を持たせるため */
    text-decoration: none; /* 下線を消す */
    text-align: center;
    width: 250px; /* 指定の150pxだと「TOPに戻る」が窮屈なため少し広げました */
    max-width: 100%;
    background-color: #0000cc;
    color: #fff;
    padding: 20px;
    font-size: 1.25em;
    font-weight: 500;
    margin: 0 auto;
    transition: opacity 0.3s;
}

.redirect-top-btn a:hover {
    opacity: 0.65;
}
