﻿.pc_only {
	display: none !important;
}

header img,
.pane-footer img {
	display: block;
	max-width: 100%;
}

header a:visited,
.pane-footer a:visited {
	color: inherit;
}

header a,
.pane-footer a {
	transition: .3s;
}

header a:hover,
.pane-footer a:hover {
	opacity: .7;
	text-decoration: unset;
}

header *,
.pane-footer * {
	box-sizing: border-box;
	line-height: 1.6;
}

/* --------------------------------
	ヘッダー
--------------------------------　*/
div.wrapper_ {
	width: 100%;
}

.container {
	width: 100%;
}

.sp_container {
	/* width: 92.523vw; */
	width: 92.523%;
	margin: 0 auto;
}

body {
	position: relative;
	min-height: 100svh;
	max-width: 100vw;
	width: 100%;
	overflow-x: hidden;
}

body.overflowhidden {
	overflow: hidden;
}

header {
	display: block;
	position: sticky;
	top: 0;
	right: 0;
	left: 0;
	z-index: 100;
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3.271vw;
	background-color: #fff;
	transition: .3s;
}

header.is-hidden {
	transform: translateY(-100%);
	overflow: hidden;
}

header figure {
	margin: 0;
}

header input {
	font-family: "Noto Sans JP", sans-serif;
}

.header_top {
	background-color: #f5f5f5;
	font-size: clamp(10px, 2.57vw, 14px);
	position: relative;
	z-index: 120;
}

.header_top .container {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 5.607vw;
	font-weight: 500;
	text-align: right;
}

.sp_flex {
	display: flex;
}

#header_main {
	position: relative;
	z-index: 120;
	background-color: white;
}

#header_main:before {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 1000;
	height: 1.168vw;
	background: -moz-linear-gradient(top, #000000, #ffffff);
	background: -webkit-linear-gradient(top, #000000, #ffffff);
	background: linear-gradient(to bottom, #000000, #ffffff);
	opacity: .05;
	pointer-events: none;
	content: '';
}

#header_main .header_container_inner {
	justify-content: space-between;
	align-items: center;
	padding: clamp(10px, 3.9vw, 20px) 0;
}

#header_main #header_logo {
	width: 9.346vw;
	max-width: 68px;
}

#header_main .global_nav_icon {
	display: flex;
	align-items: center;
}

#header_main .global_nav_icon ul {
	display: flex;
}

#header_main .global_nav_icon li {
	width: 9.346vw;
}

#header_main .global_nav_icon .icon_cart {
	position: relative;
}

#header_main .global_nav_icon .icon_cart .block-headernav--cart-count {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: -4px;
	width: 18px;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: #FFE600;
	line-height: 18px;
	text-align: center;
	font-weight: 700;
	font-size: 2.57vw;
	display: none;
}

#header_main #global_menu_sp {
	width: 9.346vw;
	max-width: 68px;
	aspect-ratio: 1;
	margin-left: 2.804vw;
}

#header_main #global_menu_sp .global_menu_btn {
	display: block;
	height: 100%;
	position: relative;
}

#header_main #global_menu_sp .global_menu_btn .line {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	width: 80%;
	height: 2px;
	background-color: #000;
	transition: .2s;
}

#header_main #global_menu_sp .global_menu_btn .line:first-child {
	top: 20%;
}

#header_main #global_menu_sp .global_menu_btn .line:nth-child(2) {
	top: 50%;
}

#header_main #global_menu_sp .global_menu_btn .line:nth-child(3) {
	bottom: 20%;
}

#header_main #global_menu_sp .global_menu_btn.active .line:first-child {
	top: 50%;
	transform: rotate(45deg);
}

#header_main #global_menu_sp .global_menu_btn.active .line:nth-child(2) {
	width: 0;
	opacity: 0;
}

#header_main #global_menu_sp .global_menu_btn.active .line:nth-child(3) {
	bottom: 45%;
	transform: rotate(-45deg);
}

#header_info_bottom {
	position: relative;
	z-index: 0;
}

#header_info_bottom .list-item {
	padding: 2.336vw 0;
	background-color: #FFE600;
}

#header_info_bottom .list-item .item-inner {
	display: block;
}

#header_info_bottom .list-item:nth-child(n+2) {
	opacity: 0;
	visibility: hidden;
	height: 0;
	transition: .5s;
	padding: 0;
}

#header_info_bottom.active .list-item:nth-child(n+2) {
	opacity: 1;
	visibility: visible;
	height: auto;
	padding: 12px 0;
}

#header_info_bottom .list-item[class*="ico-"] .item-inner {
	padding-left: 5.607vw;
	padding-right: 6.542vw;
	background-image: url(../../img/usr/common/icon_header_bottom_acc_info_sp.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 4.206vw 4.206vw;
	letter-spacing: 1px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

#header_info_bottom .ico-megaphone .item-inner {
	background-image: url(../../img/usr/common/icon_header_bottom_acc_info.png);
}

#header_info_bottom .info-more-btn {
	background-color: black;
	width: 24px;
	height: 24px;
	aspect-ratio: 1;
	display: inline-block;
	vertical-align: middle;
	border-radius: 0.3em;
	position: absolute;
	cursor: pointer;
	right: 10px;
	top: 8px;
	margin: auto;
}

#header_info_bottom .info-more-btn::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	color: #ffe600;
	line-height: 1;
	width: 0.8em;
	height: 0.8em;
	border: 2px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	transition: .5s;
}

#header_info_bottom.active .info-more-btn::before {
	transform: translateY(25%) rotate(-45deg);
}

.header_main_logo {
	width: 100%;
}

#header_menu_wrapper {
	display: block;
	position: fixed;
	transform: translate(100%, 0);
	top: 0;
	left: 0;
	bottom: 0;
	padding-top: clamp(85px, 18.861vw, 178px);
	width: 100%;
	z-index: 100;
	max-height: 100vh;
	background-color: #F5F5F5;
	overflow: hidden;
	font-family: "Noto Sans JP", sans-serif;
	transition: .3s;
}

#header_menu_wrapper #header_menu_wrapper_scroll {
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}

#header_menu_wrapper #header_menu_wrapper_scroll::-webkit-scrollbar {
	display: none;
}

#header_menu_wrapper.active {
	transform: translate(0, 0);
}

.header_nav_form_wrapper {
	padding: 4.673vw 3.271vw 3.773vw;
	background-color: #fff;
}

.header_nav_form {
	position: relative;
	margin: 0 auto;
}

.header_nav_form input[type="text"] {
	display: block;
	width: 100%;
	min-height: clamp(14px, 9.346vw, 80px);
	background-color: #F5F5F5;
	font-size: clamp(14px, 3.738vw, 20px);
	line-height: clamp(50px, 9.346vw, 70px);
	padding: 0 9.346vw 0 5.607vw;
	border: 1px solid #DBDBDB;
	outline: none;
	border-radius: 11.682vw;
	font-family: "Noto Sans JP", sans-serif;
}

.header_nav_form input[type="text"]::placeholder {
	color: #666;
}

.header_nav_form button {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 9.346vw;
	background-color: transparent;
	background-image: url(../../img/usr/common/icon_header_nav_search.png);
	background-position: right 4.673vw center;
	background-repeat: no-repeat;
	background-size: 4.673vw 4.673vw;
	border: none;
	outline: none;
	font-size: 0;
	text-indent: -999px;
	overflow: hidden;
	transition: .3s;
	cursor: pointer;
}

.header_nav_form button:hover {
	opacity: .7;
}

#global_menu_top {
	padding: 3.738vw 0;
	background-color: #F5F5F5;
}

#global_menu_top #global_menu_top_list {
	display: flex;
	justify-content: space-between;
}

#global_menu_top #global_menu_top_list li {
	width: calc((100% - 2.804vw) / 3);
}

#global_menu_top #global_menu_top_list li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 2vw 0;
	background-color: #fff;
	border-radius: 0.5em;
	box-shadow: 0 0 10px rgb(0 0 0 / 5%);
}

#global_menu_top #global_menu_top_list li a img {
	display: block;
	width: 7.477vw;
	max-width: 50px;
	margin: 0 auto;
}

#global_menu_top #global_menu_top_list li a span {
	display: block;
	text-align: center;
	font-weight: 700;
	font-size: 2.57vw;
}

#global_menu_top_campaign {
	margin-top: 3.738vw;
}

#global_menu_top_campaign ul {
	display: flex;
	overflow-x: scroll;
	padding: 0 3.738vw;
}

#global_menu_top_campaign li {
	flex: none;
	width: 74.766vw;
}

#global_menu_top_campaign li+li {
	margin-left: 2.804vw;
}

#global_menu_main .global_menu_main_wrapper a,
#global_menu_main .global_menu_main_wrapper .js_global_menu_main_link {
	display: flex;
	align-items: center;
	padding: clamp(14px, 3.037vw, 20px) 0;
	background-image: url(../../img/usr/common/icon_sp_menu_arrow_right.png);
	background-position: right 3.204vw center;
	background-repeat: no-repeat;
	background-size: auto clamp(10px, 4.8vw, 30px);
	background-color: #fff;
	font-weight: bold;
	font-size: clamp(14px, 3.738vw, 20px);
	padding-left: 4vw;
}

#global_menu_main .global_menu_main_wrapper a span {
	display: block;
}

#global_menu_main .global_menu_main_wrapper li a {
	background-color: #F5F5F5;
	background-image: unset;
	font-weight: 500;
}

#global_menu_main .global_menu_main_wrapper li a[target="_blank"] span::after {
	display: inline-block;
	width: 18px;
	aspect-ratio: 1;
	background: url(../../img/usr/common/ico-out-external-link.svg) right 5px / auto 12px no-repeat;
	content: "";
}

#global_menu_main .global_menu_main_wrapper li a span {
	/* width: 85.981vw; */
	margin: 0 auto 0 6vw;
	background-image: url(../../img/usr/common/icon_arrow_header_li.png);
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 15px;
	background-size: 6px auto;
}

#global_menu_main .global_menu_main_wrapper li+li {
	border-top: 1px solid #DEDEDE;
}

#global_menu_main .global_menu_main_wrapper .js_global_menu_main_link {
	position: relative;
	background-image: unset;
}

#global_menu_main .global_menu_main_wrapper .js_global_menu_main_link .aco-btn {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 50px;
	height: 100%;
	transition: .2s;
}

#global_menu_main .global_menu_main_wrapper .js_global_menu_main_link .aco-btn::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	background-image: url(../../img/usr/common/icon_sp_menu_arrow_updown.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 18px;
}

#global_menu_main .global_menu_main_inner.hide .js_global_menu_main_link .aco-btn::after {
	transform: scaleY(-1);
}

#global_menu_main .global_menu_main_wrapper+.global_menu_main_wrapper {
	border-top: 1px solid #DEDEDE;
}

#global_menu_main #global_nav_itemlist {
	padding: 2.804vw 0;
}

#global_menu_main #global_nav_itemlist ul {
	display: flex;
	overflow-x: scroll;
	padding: 0 4.673vw;
}

#global_menu_main #global_nav_itemlist ul::-webkit-scrollbar {
	display: none;
}

#global_menu_main #global_nav_itemlist li {
	flex: none;
	width: calc(100vw / 4);
}

#global_menu_main #global_nav_itemlist li a {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	padding: 1.869vw 0.869vw 2.869vw;
	border-radius: 0.6em;
}

#global_menu_main #global_nav_itemlist li figure {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 70%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

#global_menu_main #global_nav_itemlist li h3 {
	margin-top: clamp(5px, 2.804vw, 10px);
	font-size: clamp(10px, 2.6vw, 20px);
	text-align: center;
	line-height: 1.5;
}

#global_menu_main #global_nav_itemlist li+li {
	margin-left: 1.869vw;
	border-top: none;
}

#global_menu_footer {
	padding: 7.477vw 0;
}

#global_menu_footer a {
	display: inline-block;
	font-size: 3.037vw;
}

#global_menu_footer li+li {
	margin-top: 2.804vw;
}

.global_nav_sub_inner+.global_nav_sub_inner {
	border-top: 1px solid #DEDEDE;
}

.global_menu_main_inner+.global_menu_main_inner {
	border-top: 1px solid #DEDEDE;
}

.block-header-login-menu {
	border-top: 1px solid #cdcbc4;
	padding: 16px 0 8px;
}

/* --------------------------------
  フッター
--------------------------------　*/
footer {
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
}

#footer_link .footer_link_nav a {
	display: block;
	padding: clamp(14px, 3.037vw, 20px) 0;
	font-size: 14px;
}

#footer_link .footer_link_nav a[target="_blank"]::after {
	display: inline-block;
	width: 18px;
	aspect-ratio: 1;
	background: url(../../img/usr/common/ico-out-external-link.svg) right 5px / auto 12px no-repeat;
	content: "";
}

#footer_link .footer_link_nav ul {
	background-color: #fff;
}

#footer_link .footer_link_nav ul li {
	padding-left: 7.009vw;
}

#footer_link .footer_link_nav li+li {
	border-top: 1px solid #CECECE;
}

#footer_link .footer_link_nav_inner+.footer_link_nav_inner {
	border-top: 1px solid #CECECE;
}

#footer_link .footer_link_nav_inner:has(ul) .nav_ttl {
	position: relative;
}

#footer_link .footer_link_nav_inner:has(ul) .nav_ttl a::after {
	display: block;
	position: absolute;
	top: 0;
	right: 2.804vw;
	width: 4.439vw;
	max-width: 23px;
	height: 100%;
	background-image: url(../../img/usr/common/icon_sp_menu_arrow_updown.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	content: '';
	transition: .2s;
}

#footer_link .footer_link_nav_inner.hide .nav_ttl a::after {
	transform: scaleY(-1);
}

#footer_link .footer_link_nav_inner:last-of-type {
	border-bottom: 1px solid #CECECE;
}

.footer_nav_bottom {
	background-color: #F5F5F5;
}

.footer_nav_bottom ul.footer_nav_bottom-inner {
	padding: clamp(20px, 7.71vw, 45px) 0;
	margin: auto;
}

.footer_nav_bottom a {
	font-size: 14px;
	display: inline-block;
}

.add-html-set .footer_nav_bottom li+li {
	margin-top: clamp(14px, 3.037vw, 20px);
}

.footer_nav_bottom br {
	display: none;
}

.copyright {
	font-size: 10px;
	color: #707070;
}

.footer_link_nav_wrapper {
	padding: 2.804vw 0;
	background-color: #F5F5F5;
}

.footer_link_nav_link {
	padding: 3.738vw 0;
}

.btn_footer_link_logo ul {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	width: 100%;
}

.btn_footer_link_logo li a[href^="https:"][target="_blank"]::after {
	display: none;
}

@media (min-width: 751px) {
	.btn_footer_link_logo li {
		width: calc((100% - 2.869vw) / 4);
		margin-right: 0.935vw;
	}

	.btn_footer_link_logo li:nth-child(4n) {
		margin-right: 0;
	}

	.btn_footer_link_logo li:nth-child(n+5) {
		margin-top: 0.935vw;
	}

	.btn_footer_link_logo li a {
		display: block;
		height: 100%;
		background-color: #F5F5F5;
		padding: 2.738vw 1.4vw 2.804vw;
	}
}

@media (max-width: 750px) {
	.btn_footer_link_logo li {
		width: calc((100% - 1.869vw) / 3);
	}

	.btn_footer_link_logo li:nth-child(3n+2),
	.btn_footer_link_logo li:nth-child(3n+3) {
		margin-left: 0.935vw;
	}

	.btn_footer_link_logo li:nth-child(n+4) {
		margin-top: 0.935vw;
	}

	.btn_footer_link_logo li a {
		display: block;
		height: 100%;
		background-color: #F5F5F5;
		padding: 3.738vw 2.804vw 2.804vw;
	}
}

.btn_footer_link_logo li a span {
	display: block;
	margin-top: clamp(5px, 2.804vw, 10px);
	font-size: clamp(10px, 3.038vw, 20px);
	text-align: center;
}

.btn_footer_link_logo li a:hover {
	opacity: 1;
	background-color: #eee;
}

.btn_footer_link_logo .img {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 7.477vw;
	height: 7.477vw;
	margin: 0 auto;
}

.btn_footer_link_logo .img img {
	max-height: 100%;
}

* {
	box-sizing: border-box;
}

#footer_login {
	padding: clamp(15px, 7.477vw, 30px) 0;
	background-color: #FFE600;
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
}

#footer_login .container.flex {
	display: block;
}

#footer_login .footer_login_txt h4 {
	font-weight: 700;
	font-size: clamp(24px, 5.607vw, 32px);
	text-align: center;
}

#footer_login .footer_login_txt p {
	width: 90.654vw;
	margin: 0 auto;
	padding-top: 2.804vw;
	font-size: clamp(12px, 3.3vw, 20px);
}

#footer_login .sp_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#footer_login .footer_login_btn {
	padding-top: 5.607vw;
}

#footer_login .footer_login_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 74.766vw;
	margin: 0 auto;
	font-size: clamp(14px, 3.738vw, 20px);
	border-radius: 50px;
	padding: clamp(5px, 2.477vw, 10px) 0;
	position: relative;
}

#footer_login .footer_login_btn a::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	color: black;
	line-height: 1;
	width: 6px;
	height: 6px;
	border: 1.9px solid;
	border-right: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: scale(1, 1.4) rotate(135deg);
	position: absolute;
	right: 16px;
}

#footer_login .footer_login_btn a.bg_bk::after {
	color: white;
}

#footer_login .footer_login_btn a.bg_wh {
	background-color: #fff;
}

#footer_login .footer_login_btn a.bg_bk {
	background-color: #000;
	color: #fff;
}

#footer_login .footer_login_btn a+a {
	margin-top: 1.869vw;
}

.footer_bottom_wrapper {
	padding: clamp(14px, 3.037vw, 20px) 0;
	border-top: 1px solid #CECECE;
}

.footer_bottom_wrapper .logo_footer {
	width: 52.336vw;
	max-width: 300px;
	margin: 0 auto;
}

.footer_bottom_wrapper .logo_footer img {
	width: 100%;
}

.footer_bottom_wrapper .copyright {
	margin-top: 1.869vw;
	font-size: clamp(10px, 2vw, 14px);
	text-align: center;
}

#btn_page_top {
	position: fixed;
	right: 0.935vw;
	bottom: 4.673vw;
	z-index: 50;
	width: 11.215vw;
	transition: .3s;
	opacity: 0;
	visibility: 0;
}

#btn_page_top.active {
	opacity: 1;
	visibility: visible;
}

#btn_page_top a {
	display: block;
	width: 11.215vw;
	height: 11.215vw;
	border-radius: 50%;
}