footer {
	position: relative;
	z-index: 2;
	padding: 80px 30px 20px;
	background: var(--wp--preset--color--footer-background);
}

@media (max-width: 960px) {
	footer {
		padding: 50px 0 20px;
	}
}

.footer-head {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

@media (max-width: 960px) {
	.footer-head {
		flex-wrap: wrap;
	}
}

.footer-logo {
	flex: 0 0 100%;
	margin-bottom: 50px;
}

@media (min-width: 961px) {
	.footer-logo {
		flex: 0 0 250px;
		margin-bottom: 0;
	}
}

@media (max-width: 960px) {
	.footer-logo {
		padding-bottom: 25px;
		border-bottom: 1px solid var(--wp--preset--color--border);
	}
}

.footer-logo p {
	margin: 0;
}

.footer-logo a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

@media (max-width: 960px) {
	.footer-logo a {
		justify-content: center;
	}
}

.footer-logo img {
	height: 30px;
	width: auto;
}

@media (max-width: 960px) {
	.footer-logo img {
		height: 22px;
	}
}

.footer-nav {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: 0;
}

@media (max-width: 960px) {
	.footer-nav {
		flex: 0 0 100%;
		flex-wrap: wrap;
		width: 100%;
		padding: 0 5%;
	}
}

nav.footer-nav--list {
	display: block;
	margin: 0 60px 0 0;
}

nav.footer-nav--list:last-child {
	margin-right: 0;
}

ul.footer-nav--list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 961px) {
	ul.footer-nav--list {
		flex-direction: column;
	}
}

@media (max-width: 960px) {
	nav.footer-nav--list,
	ul.footer-nav--list {
		flex: 0 0 100%;
		margin-right: 0;
	}

	.footer-nav ul.footer-nav--list {
		align-items: stretch;
	}

	.footer-nav ul.footer-nav--list > li {
		width: 100%;
	}

	.footer-nav nav.footer-nav--list:not(:first-child) {
		margin-top: 30px;
	}
}

.footer-nav--list > li {
	flex: 0;
	margin-bottom: 20px;
}

.footer-nav--list > li:last-child {
	margin-bottom: 0;
}

@media (max-width: 960px) {
	.footer-nav--list > li {
		flex: 0 0 100%;
		margin-bottom: 15px;
	}
}

.footer-nav p {
	margin: 0;
	line-height: normal;
}

/* トップ項目は構造セレクタで指定(項目側クラス不要)。下線のアンカーはラベルa */
.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a,
.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > button {
	position: relative;
	display: inline;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.4;
	text-transform: uppercase;
}

.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a::after,
.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > button::after {
	content: "";
	position: absolute;
	bottom: -6px;
	left: 0;
	width: 0;
	height: 3px;
	background: var(--wp--preset--color--accent);
	border-radius: 99px;
	transition: all 0.35s ease;
}

@media (min-width: 769px) {
	.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a[href]:hover {
		opacity: 1;
		color: var(--wp--preset--color--accent) !important;
	}
}

@media (min-width: 961px) {

	.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a:hover::after,
	.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > button:hover::after {
		left: 0%;
		width: 100%;
	}
}

@media (max-width: 960px) {
	.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a[href] {
		position: relative;
		display: block;
		width: 100%;
	}

	.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a[href]::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-top: 1px solid var(--wp--preset--color--body-text);
		border-right: 1px solid var(--wp--preset--color--body-text);
		transform: rotate(45deg);
		transition: all 0.3s;
	}
}

/* core/navigation適合: サブメニュー常時展開・liはblock・行ボックスはbodyフォント基準 */
.footer-nav .wp-block-navigation-item {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
}

.footer-nav .wp-block-navigation__submenu-container > .wp-block-navigation-item {
	margin-bottom: 10px;
}

.footer-nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:last-child {
	margin-bottom: 0;
}

.footer-nav .has-child > .wp-block-navigation__submenu-container {
	display: block;
	position: static;
	color: var(--wp--preset--color--body-text);
	width: auto;
	min-width: 0;
	height: auto;
	overflow: visible;
	visibility: visible;
	margin-top: 20px;
	padding: 0;
	background: none;
	border: 0;
	opacity: 1;
}

/* コアのホバー/フォーカス時 min-width:200px を打ち消す(常時展開のため幅が変わるとガタつく) */
.footer-nav .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
.footer-nav .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container {
	width: auto;
	min-width: 0;
}

.footer-nav .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: inline;
	padding: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	text-transform: none;
}

@media (min-width: 961px) {
	.footer-nav .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
		color: var(--wp--preset--color--accent);
		text-decoration: underline;
	}
}

.footer-nav .wp-block-navigation-item > button {
	padding: 0;
	background: none;
	border: 0;
	color: inherit;
	cursor: default;
	text-align: left;
}

/* url無しのサブメニューラベル(href無しa)はリンク挙動(hover薄化・下線)を持たせない */
.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a:not([href]) {
	cursor: default;
}

.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a:not([href]):hover {
	opacity: 1;
}

.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a:not([href])::after,
.footer-nav .wp-block-navigation__container > .wp-block-navigation-item > a:not([href]):hover::after {
	content: none;
}

/* 和文項目はドロワー内と同じ太さ(600)に揃える */
.footer-nav .wp-block-navigation__container > .fontgothic > a {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
}

.footer-nav .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > a[target="_blank"] {
	font-family: var(--wp--preset--font-family--heading);
}

.footer-nav .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > a[target="_blank"] {
	display: inline;
	padding: 2px 17px 0 0;
	background: url("../../images/common/ico-blank.svg") no-repeat right center;
	background-size: 12px;
}

@media (max-width: 960px) {
	.footer-nav .has-child > .wp-block-navigation__submenu-container {
		margin-top: 15px;
	}

	.footer-nav .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > a[target="_blank"] {
		font-family: var(--wp--preset--font-family--body);
		font-weight: 500;
	}

	.footer-nav .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		font-size: var(--wp--preset--font-size--medium);
	}
}

.footer-copy {
	margin-top: 40px;
}

@media (max-width: 960px) {
	.footer-copy {
		text-align: center;
	}
}

.footer-copy address p {
	margin: 0;
	line-height: normal;
}

.footer-copy address.wp-block-group {
	margin-top: 80px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-small);
	font-style: normal;
}

@media (min-width: 961px) {
	.footer-copy address {
		text-align: right;
	}
}

@media (max-width: 960px) {
	.footer-copy address.wp-block-group {
		margin-top: 40px;
		font-weight: 400;
	}
}
