header {
	position: relative;
}
footer {
	position: relative;
}
.w-100 {
	width: 100%;
}
.w-75 {
	width: 75%;
}
.w-50 {
	width: 50%;
}
.w-25 {
	width: 25%;
}
.fw-400 {
	font-weight: 400 !important;
}
.fw-500 {
	font-weight: 500 !important;
}
.fw-600 {
	font-weight: 600 !important;
}
.fw-700 {
	font-weight: 700 !important;
}
.fw-900 {
	font-weight: 900 !important;
}
.lh-1-7 {
	line-height: 1.7;
}
.lh-1-9 {
	line-height: 1.9;
}
.ls--1 {
	letter-spacing: -1px;
}
.ls--2 {
	letter-spacing: -2px;
}
.ls--3 {
	letter-spacing: -3px;
}
.ls-1 {
	letter-spacing: 1px;
}
.ls-2 {
	letter-spacing: 2px;
}
.text-left {
	text-align: left !important;
}
.center-z {
	display: flex;
	align-items: center;
	justify-content: center;
}
.center-x {
	display: flex;
	justify-content: center;
}
.center-y {
	display: flex;
	align-items: center;
}
.red-txt {
	color: #bf4832;
}
a > img {
	transition: opacity 0.3s ease;
}
a:hover > img {
	opacity: 0.8;
}

.lnk-btn {
	display: inline-block;
	position: relative;
	overflow: hidden;
}
.lnk-btn.center-x,
.lnk-btn.center-y,
.lnk-btn.center-z,
.lnk-btn.center-between {
	display: flex;
}
.lnk-btn:hover {
	opacity: 1;
}
.lnk-btn:before {
	content: "";
	opacity: 0;
	margin: auto;
	background: rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: opacity 1s ease-out;
	z-index: 3;
}
.lnk-btn:hover:before {
	opacity: 1;
}
.lnk-btn .lnk-img {
	transform: scale(1.05) translateZ(0);
	transition: opacity 1s ease-out, transform 1s ease-out;
}
.lnk-btn:hover .lnk-img {
	opacity: 0.5;
	transform: scale(1) translateZ(0);
}
.lnk-btn .scale-img {
	transform: scale(1.0125) translateZ(0);
	transition: opacity 1s ease-out, transform 1s ease-out;
}
.lnk-btn:hover .scale-img {
	opacity: 0.5;
	transform: scale(1) translateZ(0);
}
a.btn {
	cursor: pointer;
	display: inline-block;
	padding: 0.95rem 0;
	padding-right: 1rem;
	text-decoration: none;
	border-bottom: 1px solid #a7a7a7;
	position: relative;
	transition: opacity 0.3s ease, color 0.3s ease;
}
a.btn:hover {
	opacity: 0.8;
	color: #555;
}
a.btn:before {
	content: "";
	margin: auto;
	background: url(/images/common/arrow-black.png) no-repeat center;
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	transition: opacity 0.3s ease;
}
a.btn:hover:before {
	opacity: 0.8;
}
a.bdr {
	padding: 1.25rem 1.875rem;
	font-size: 1.25rem;
	text-align: center;
	border: 1px solid #b7b7b7;
	border-color: #b7b7b7;
}
a.bdr.btn:before {
	right: 1.875rem;
}
a.btn.center-y {
	display: inline-flex;
}

.btn-slide--full {
	display: block;
	width: 100%;
}
.btn-slide--gray {
	border-bottom-color: #a7a7a7;
}
.btn-slide--thinker {
	border-bottom-width: 2px;
}
.btn-slide:hover {
	text-decoration: none;
}
.btn-slide--thinker:before,
.btn-slide--thinker:after {
	height: 2px;
	bottom: -2px;
}
.btn-slide:before {
	background: #121212;
	width: 100%;
	left: 0;
}
.btn-slide--gray:before {
	background: #a7a7a7;
}
.btn-slide:after {
	background: #a7a7a7;
	width: 0;
	left: unset;
	right: 0;
}
.btn-slide--gray:after {
	background: #121212;
}
.btn-slide:hover:after,
.btn-slide:active:after {
	width: 100%;
	left: 0;
	right: unset;
	transition: width 0.65s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.btn-fill.center-x,
.btn-slide.center-x,
.btn-fill.center-y,
.btn-slide.center-y,
.btn-fill.center-z,
.btn-slide.center-z,
.btn-fill.center-between,
.btn-slide.center-between {
	display: inline-flex;
}
.btn-fill {
	position: relative;
	z-index: 0;
}
.btn-fill span,
.btn-slide span {
	display: block;
	position: relative;
	z-index: 1;
}
.btn-fill span:before,
.btn-slide span:before,
.btn-fill span:after,
.btn-slide span:after {
	content: "";
	margin: auto;
	background: url(/images/svg/arrow-black.svg) no-repeat center;
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
}
.btn-fill span:hover::before,
.btn-slide span:hover::before,
.btn-fill span:hover:after,
.btn-slide span:hover:after {
	content: "";
	margin: auto;
	background: url(/images/svg/arrow-black-hover.svg) no-repeat center;
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
}
.btn-fill span:before,
.btn-slide span:before {
	opacity: 0;
	transform: translateX(-1rem);
}
.btn-fill span:after,
.btn-slide span:after {
	transform: translateX(0);
}
.btn-fill {
	display: inline-block;
	padding: 1.25rem 1.875rem;
	font-size: 1.25rem;
	text-decoration: none;
	border: 1px solid #b7b7b7;
	border-bottom: 2px solid #121212;
	position: relative;
	transition: color 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.btn-fill--white {
	border-bottom-color: #fff;
}
.btn-fill span,
.btn-slide span {
	width: 100%;
	position: relative;
}
.txt-center {
	text-align: center;
}
.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.btn-fill .on {
	transition: opacity 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.btn-fill .off {
	opacity: 0;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	transition: opacity 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.btn-fill:hover .on {
	opacity: 0;
}
.btn-fill:hover .off {
	opacity: 1;
}
.btn-fill:hover {
	color: #fff !important;
	text-decoration: none;
	border-color: #121212;
}
.btn-fill--white:hover {
	color: #121212 !important;
	border-color: #fff;
}
.btn-fill:before {
	content: "";
	background: #121212;
	width: 0;
	position: absolute;
	top: -1px;
	right: -1px;
	bottom: -1px;
	transition: color 0.5s cubic-bezier(0.075, 0.82, 0.165, 1), width 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
	z-index: -1;
}
.btn-fill--white:before {
	background: #fff;
}
.btn-fill:hover:before {
	width: calc(100% + 2px);
	left: -1px;
	right: unset;
}
.btn-fill span:before,
.btn-fill--white span:after {
	background-image: url(/images/common/arrow-white.png);
}
.btn-fill--white span:before {
	background-image: url(/images/common/arrow-black.png);
}
.btn-fill .btn-fill--image {
	display: inline;
	width: unset;
	position: relative;
}
.btn-fill--image:before,
.btn-fill--image:after {
	display: none;
}
.btn-fill--image img {
	display: block;
}
.btn-fill--bdr {
	border: 1px solid #b7b7b7;
}

select.btn {
	padding: 0.5rem;
	line-height: 1;
	min-width: 3rem;
}
select.btn:before {
	display: none;
}

.bg1 {
	background: rgba(163, 148, 37, 0.1);
}

/* .slider-thumb .slick-slide {
	transition: opacity .3s ease;
}
.slider-thumb .slick-slide:hover {
	opacity: .8;
}
.slick-slider {
	position: relative;
}
.slick-slider .slide-next,
.slick-slider .slide-prev {
	cursor: pointer;
	margin: auto;
	background: none;
	width: 3.875rem;
	height: 3.875rem;
	border: none;
	position: absolute;
	top: 0;
	bottom: 0;
	transition: opacity .3s ease;
	z-index: 1;
}
.slick-slider .slide-next:hover,
.slick-slider .slide-prev:hover {
	opacity: .8;
}
.slick-slider .slide-next {
	right: 0;
}
.slick-slider .slide-prev {
	left: 0;
}
.slick-slider .slick-dots {
	line-height: 1;
	bottom: 2.125rem;
}
.slick-slider .slick-dots li {
	width: .625rem;
	height: .625rem;
}
.slick-slider .slick-dots button {
	padding: 0;
	background: #FFF;
	width: 100%;
	height: 100%;
	border-radius: 100%;
}
.slick-slider .slick-dots .slick-active button {
	background: #000;
}
.slick-slider .slick-dots button:before {
	display: none;
} */

section h2 {
	color: #121212;
	font-weight: 600;
	text-align: center;
}
section .btn {
	border-bottom-width: 2px;
	border-bottom-color: #121212;
}

.head-ttl {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding-bottom: 1.125rem;
	border-bottom: 2px solid #121212;
}
.head-ttl .counter {
}
.head-ttl .counter strong {
	font-size: 2.125rem;
	font-weight: 500;
}
.head-ttl .action {
}
.head-ttl .action select {
	padding-right: 0.5rem;
	background: none;
	border: none;
}
.head-ttl .action > * ~ * {
	margin-left: 3.125rem;
}

.paging {
	padding: 4.375rem 0;
	text-align: center;
}
.paging a {
	display: inline-block;
	margin: 0 0.75rem;
	padding: 0.9rem;
	color: #a7a7a7;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	width: 3rem;
	height: 3rem;
	border: 1px solid transparent;
	transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}
.paging a:hover {
	color: #000;
}
.paging a.disabled {
	cursor: not-allowed;
	color: #cfcfcf;
}
.paging .prev,
.paging .next {
	border-color: #b7b7b7;
}
.paging .prev:hover,
.paging .next:hover {
	background: #f5f5f5;
	border-color: #afafaf;
}
.paging .prev.disabled,
.paging .next.disabled {
	background: transparent;
	border-color: #cfcfcf;
}
.paging .prev.disabled > *,
.paging .next.disabled > * {
	opacity: 0.5;
}
.paging .active {
	color: #000;
	position: relative;
}
.paging .active:before {
	content: "";
	background: #121212;
	height: 2px;
	position: absolute;
	left: 0.5rem;
	right: 0.5rem;
	bottom: 0;
}
.paging .active.disabled:before {
	background: #cfcfcf;
}

.result {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -1.65rem;
}
.result .item {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	padding: 2.5rem 1.65rem;
	position: relative;
	width: 100%;
	min-height: 1px;
	max-width: 25%;
}
.result .pic {
	margin-bottom: 0.625rem;
}
.result .pic img {
	width: 100%;
}
.result dl {
	line-height: 1.5rem;
}
.result dt {
}
.result dd {
	margin-top: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
}
.result dd strong {
	font-size: 1.125rem;
	font-weight: 500;
}
.generate-back-to-top:focus-within,
.generate-back-to-top:focus-visible {
	outline: 0;
}
.svg-wrapper {
	display: inline-block;
	position: relative;
}
.svg-wrapper object {
	display: block;
	max-width: 100%;
	max-height: 100%;
}
.svg-wrapper.tap {
	cursor: pointer;
}
.svg-wrapper.tap:after {
	content: "";
	clear: both;
	display: table;
}
.svg-wrapper.tap object {
	pointer-events: none;
	cursor: pointer;
}
.svg-wrapper.tap .tap-able {
	display: block;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
