@charset "UTF-8"@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@100;200;300;400;500;600;700;800;900&display=swap");

.footer {
	font-size: 14px;
	letter-spacing: .1em;
	line-height: 1
}
.footer a {
	color: inherit
}
.footer a, .footer a:focus, .footer a:hover {
	text-decoration: none
}
.footer img {
	image-rendering: -webkit-optimize-contrast
}

.footer ol, .footer ul {
	list-style: none
}

.footer {
	position: relative;
	border-top: 1px solid #dbdbdb;
	font-family: Noto Sans JP, sans-serif
}
@media screen and (min-width:1280px) {
	.footer .container.container--footer {
		max-width: 1450px
	}
}
.footer--no-nav {
	text-align: center
}
@media screen and (min-width:1280px) {
	.footer--no-nav {
		padding-bottom: 15px;
		padding-top: 15px
	}
}
.footer__page-top {
	position: absolute;
	right: 12px;
	top: 30px;
	z-index: 2;
}
@media screen and (min-width:768px) {
	.footer__page-top {
		right: 20px;
		top: -80px
	}
}
.footer__page-top.is-fixed {
	bottom: 20px;
	position: fixed;
	top: inherit
}
.footer__page-top__anchor {
	background-color: #fff;
	border-radius: 50px;
	box-shadow: 0 2px 5px 2px rgb(0 0 0/8%);
	display: block;
	font-size: 0;
	height: 40px;
	position: relative;
	transition: transform .5s;
	width: 40px
}
@media screen and (min-width:768px) {
	.footer__page-top__anchor {
		box-sizing: border-box;
		font-family: Barlow, sans-serif;
		font-size: 10px;
		font-weight: 500;
		height: 60px;
		letter-spacing: .1em;
		line-height: 1.1;
		padding: 29px 0 0;
		text-align: center;
		width: 60px
	}
	.footer__page-top__anchor:hover {
		transform: scale(1.1)
	}
}
.footer__page-top__anchor__icon {
	display: inline-block;
	height: 10px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 10px
}
@media screen and (min-width:768px) {
	.footer__page-top__anchor__icon {
		top: 13px;
		transform: translate(-50%)
	}
}
.footer__page-top__anchor__icon .footer__page-top__anchor__icon__path {
	fill: #0d0d0d
}
.footer__above {
	background-color: #0d0d0d;
	color: #fff;
	padding: 40px 0 60px
}
@media screen and (min-width:1280px) {
	.footer__above {
		padding: 60px 0
	}
	.footer__above__nav__columns {
		-webkit-box-align: center;
		-ms-flex-align: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		margin-bottom: 50px;
		margin-left: -30px;
		margin-right: -30px
	}
	.footer__above__nav__columns__column {
		padding-left: 30px;
		padding-right: 30px
	}
}
.footer__above__nav__columns__column:first-child {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-bottom: 30px;
	padding-top: 30px
}
@media screen and (min-width:768px) {
	.footer__above__nav__columns__column:first-child {
		padding-bottom: 30px;
		padding-top: 50px
	}
}
@media screen and (min-width:1280px) {
	.footer__above__nav__columns__column:first-child {
		padding-bottom: 0;
		padding-top: 0
	}
}
.header__hamburger-nav .footer__above__nav__columns__column:first-child {
	padding-top: 0
}
.footer__above__nav__columns__column:nth-child(3) {
	padding-bottom: 30px;
	padding-top: 30px
}
@media screen and (min-width:1280px) {
	.footer__above__nav__columns__column:nth-child(3) {
		padding-bottom: 0;
		padding-top: 0
	}
}
.header__hamburger-nav .footer__above__nav__columns__column:nth-child(3) {
	padding-bottom: 0
}
.footer__above__nav__logo {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 150px
}
@media screen and (min-width:1280px) {
	.footer__above__nav__logo {
		margin-left: 0;
		margin-right: 0
	}
}
.footer__above__nav__logo a, .footer__above__nav__logo__anchor {
	display: block
}
.footer__above__nav__logo a img, .footer__above__nav__logo__anchor img {
	max-width: 100%;
	vertical-align: bottom
}
.footer__above__nav__category__list {
	border-bottom: 1px solid hsla(0, 0%, 100%, .3)
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__list {
		border: none;
		display: flex;
		flex-wrap: wrap;
		margin: -20px -22.5px
	}
}
.footer__above__nav__category__list__item {
	box-sizing: border-box;
	position: relative
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__list__item {
		padding: 20px 22.5px;
		width: 33.333%
	}
}
.footer__above__nav__category__list__item:not(:first-child) {
	border-top: 1px solid hsla(0, 0%, 100%, .3)
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__list__item:not(:first-child) {
		border: none
	}
}
.footer__above__nav__category__list__item__inner {
	position: relative
}
.footer__above__nav__category__list__item__anchor {
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.4em;
	padding: 22px 40px 22px 0;
	position: relative;
	transition: color .5s
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__list__item__anchor {
		border-bottom: 1px solid hsla(0, 0%, 100%, .3);
		padding: 0 30px 15px 0
	}
	.footer__above__nav__category__list__item__anchor:hover {
		color: hsla(0, 0%, 100%, .6)
	}
}
.footer__above__nav__category__list__item__anchor__icon {
	position: absolute;
	right: 10px;
	top: calc(50% - 5px);
	width: 10px
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__list__item__anchor__icon {
		top: calc(50% - 9px)
	}
}
@media screen and (max-width:1279px) {
	.footer__above__nav__category__list__item.footer__above__nav__category__list__item--accordion .footer__above__nav__category__list__item__anchor__icon {
		display: none
	}
}
.footer__above__nav__category__list__item__anchor__icon__path {
	fill: #fff
}
.footer__above__nav__category__list__item__button {
	cursor: pointer;
	height: 64px;
	min-height: 64px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 30px
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__list__item__button {
		display: none;
		pointer-events: none
	}
}
.footer__above__nav__category__list__item__button:after, .footer__above__nav__category__list__item__button:before {
	background-color: #fff;
	content: "";
	display: block;
	height: 1px;
	left: calc(50% - 5.5px);
	position: absolute;
	top: calc(50% - .5px);
	transition: transform .5s, opacity .5s;
	width: 11px
}
.footer__above__nav__category__list__item__button:before {
	transform: rotate(90deg)
}
.footer__above__nav__category__list__item__button.is-active:before {
	transform: rotate(0)
}
.footer__above__nav__category__list__item__button.is-active:after {
	opacity: 0
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__list__item__button {
		display: none
	}
}
.footer__above__nav__category__subnav__wrapper {
	display: none
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__subnav__wrapper {
		display: block !important;
		margin-top: 20px
	}
}
.footer__above__nav__category__subnav {
	padding-bottom: 25px;
	padding-left: 20px;
	padding-right: 20px
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__subnav {
		padding: 0
	}
	.footer__above__nav__category__subnav__list.footer__above__nav__category__subnav__list--2column {
		display: flex;
		flex-wrap: wrap;
		margin: -5px
	}
	.footer__above__nav__category__subnav__list.footer__above__nav__category__subnav__list--2column .footer__above__nav__category__subnav__list__item {
		box-sizing: border-box;
		margin: 0;
		padding: 5px;
		width: 50%
	}
}
.footer__above__nav__category__subnav__list__item:not(:first-child) {
	margin-top: 10px
}
.footer__above__nav__category__subnav__list__item__anchor {
	display: block;
	font-size: 1.3rem;
	letter-spacing: .1em;
	line-height: 1.5em;
	transition: .5s
}
@media screen and (min-width:1280px) {
	.footer__above__nav__category__subnav__list__item__anchor:hover {
		opacity: .6
	}
}
.footer__below {
	padding-bottom: 25px;
	padding-top: 30px
}
@media screen and (min-width:768px) {
	.footer__below__columns {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between
	}
}
.footer__below__columns__column:nth-child(2) {
	margin-top: 30px
}
@media screen and (min-width:768px) {
	.footer__below__columns__column:nth-child(2) {
		margin-top: 0
	}
}
.footer__below__copyright {
	font-family: Barlow, sans-serif;
	font-size: 10px;
	letter-spacing: .25em;
	line-height: 1.5em;
	margin-top: 20px
}
@media screen and (min-width:768px) {
	.footer__below__copyright {
		text-align: right
	}
}
@media screen and (min-width:1280px) {
	.footer--no-nav .footer__below__copyright {
		text-align: center
	}
}
.footer__below__extra-nav__list {
	display: flex;
	flex-wrap: wrap;
	margin: -7px -12.5px
}
@media screen and (min-width:768px) {
	.footer__below__extra-nav__list {
		justify-content: flex-end;
		margin: -7px -8px
	}
}
.footer__below__extra-nav__list__item {
	padding: 7px 12.5px
}
@media screen and (min-width:768px) {
	.footer__below__extra-nav__list__item {
		padding: 7px 8px
	}
}
.footer__below__extra-nav__list__item__anchor {
	display: block;
	font-size: 12px;
	letter-spacing: .1em;
	line-height: 1.5em;
	opacity: .7;
	position: relative;
	transition: .5s
}
.footer__below__extra-nav__list__item__anchor:hover {
	opacity: .5
}

.footer .container {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1090px;
}
@media screen and (min-width:768px) {
	.footer .container {
		max-width: 1150px;
	}
}
@media screen and (min-width:1050px) {
	.footer .container {
		max-width: 1250px;
	}
}
@media screen and (min-width:1450px) {
	.footer .content.content--onecolumn .container {
		max-width: 1600px;
	}
}
.footer .container--full {
	max-width: none
}