@charset "utf-8";
/*-------------------------------------------------*/
/*(C) A.C.Planet Inc. All rights reserved.*/
/*--------------------------------------------------*/

/*初期化
----------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

* {
	margin: 0;
	padding: 0;
}
ul {
	list-style-type: none;
}
ol {
	margin: 10px 0 10px 33px;
}
hr {
	display: none;
}
img {
	border: 0;
}
/*default
----------------------------------------*/
html {
 	scroll-behavior: smooth;
	font-size: 14px;
}
@media screen and (min-width: 769px) {
	html {
		font-size: 1rem;
	}
}
body {
 	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	line-height: 1.5em;
	color: var(--sub-color01);
	background-color: #FFFFFF;
	width: 100%;
	letter-spacing: 0;
	font-size:inherit;
}
body.menu-open{
	overflow:hidden;
}
@media print, (min-width: 769px) {
	body {
		font-weight: 400;
	}
}
/*bootstrap
----------------------------------------*/
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1224px;
    }
}
dl, ol, ul {
	margin: 0;
}
ol, ul {
	padding: 0
}
p {
	margin-bottom: 0;
}
/*余白
----------------------------------------*/

p, ul, dl {
	margin-top: 10px;
}
/*root
----------------------------------------*/
:root {
	--main-color:#b60007;
	--sub-color01:#222222;/*黒*/
	--sub-color02:#f2f0ec;/*薄灰色*/
	--sub-color03:#da7f83;/*ピンク（くすみ）*/
	--sub-color04:#920007;/*赤（くすみ）*/

	--line-color:#06c755;

}
/*リンク
----------------------------------------*/
a, a img {
	-webkit-transition: background-image 0.3s linear, color 0.3s linear, opacity 0.3s linear;
	transition: background-image 0.3s linear, color 0.3s linear, opacity 0.3s linear;
	outline: none;
}
a{
	color:var(--sub-color01);
}
a:hover{
	opacity:.7;
}
/*a:visited{
	color: #666;
}*/
a:active {
	color: var(--main-color01);
}
a:hover {
	color: var(--main-color01);
}
a:hover img {
	filter: alpha(opacity=70); /* IE7以下用 */
	-ms-filter: “alpha(opacity=70)”; /* IE8用 */
	opacity: 0.7; /* Firefox 1.5以上, Opera, Safari用 */
}
#hiddenlink {
	position: absolute;
	top: -9999px;
}
/*画像
----------------------------------------*/

img {
	max-width: 100%;
}
/*ClearFix
----------------------------------------*/
.clear:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clear {
	display: inline-table;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html .clear {
	height: 1%;
}
.clear {
	display: block;
}
/* Hides from IE-mac */

.hidden {
	display: none;
}
.block {
	display: block;
}
.inline {
	display: inline;
}
/*大枠
----------------------------------------*/

main {
	line-height: 1.75em;
	margin-top:150px;
	width:100%;
	overflow:hidden;
}
@media print, (min-width: 769px) {
	main {
		margin-top:169px;
	}
}
/*ヘッダー
----------------------------------------*/

#header{
	position:fixed;
	width:100%;
	z-index:101;
	background:#fff;
	padding-bottom:4px;
	top:0;
}
#header.is-fixed{
    box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
}
#header_top{
	display:flex;
	align-items:center;
    justify-content: space-between;
    z-index: 101;
    position: relative;
    background: #fff;
	height:50px;
}
#header #header_logo{
	width:121px;
	margin:10px;
	margin-bottom:0;
}
#header .header_logo_inner{
	margin:unset;
	padding:unset;
    font-size: unset;
}
#header .header_logo_inner::after{
	display:none;
}
#header_top_links{
	display:flex;
    align-items: stretch;
	gap:2px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 101;
	height:5px;
}
#header .header_top_links_item{
	background:var(--main-color);
	color:#fff;
	font-size:10px;
	width:70px;
	height:50px;
    line-height: 1.7em;
}
@media print{
	#header .header_top_links_item{
		height:50px !important;
	}
}
#header .header_top_links_item .btn_gnav_text-close{
	color:var(--sub-color01);;
}
#header .header_top_links_item a{
	color:#fff !important;
    height: 100%;
    display: flex;
    flex-direction: column;
	text-decoration:unset !important;
    align-items: center;
    justify-content: flex-end;
	padding-bottom:5px;
	gap:5px
}
#header .header_top_links_tel img{
	width:15px;
}
#header .header_top_links_mail img{
	width:20px;
}
#header .btn_gnav{
    border: unset;
    display: flex;
    background: var(--sub-color01);
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
	padding-bottom:5px;
	gap:5px;
}
#header .btn_gnav span.btn_gnav_line{
	margin: 6px 0;
	width: 19px;
	height: 1px;
	background: #fff;
	display: block;
	position:relative;
	transition:.3s;
}
#header .btn_gnav span.btn_gnav_line::before,
#header .btn_gnav span.btn_gnav_line::after{
	width:100%;
	content:"";
	height:1px;
	background:#fff;
	display:block;
	position:absolute;
	left:0;
	bottom:6px;
	transition:.3s;
}
#header .btn_gnav span.btn_gnav_line::after{
	top:unset;
	top:6px;
}
#header .btn_gnav span.btn_gnav_text-close{
	display:none;
}
#header.menu-open .btn_gnav{
	background:#fff;
}
#header.menu-open .btn_gnav span.btn_gnav_text-close{
	display:block;
}
#header.menu-open .btn_gnav span.btn_gnav_text-menu{
	display:none;
}
#header.menu-open .btn_gnav span.btn_gnav_line{
	transition:.3s;
}
#header.menu-open .btn_gnav span.btn_gnav_line::before,
#header.menu-open .btn_gnav span.btn_gnav_line::after{
	background:var(--sub-color01);
	transition:.3s;
}
#header.menu-open .btn_gnav span.btn_gnav_line::before{
	transform: rotate(35deg);
    top: 1px;
}
#header.menu-open .btn_gnav span.btn_gnav_line::after{
	transform: rotate(-35deg);
    top: 1px;
}
#header_middle{
	padding-top:15px;
}
#header_middle .font-s{
	font-size:80%;
}
.shop_list{
	display:flex;
	gap:10px;
	margin:0;
}
.shop_list_item{
	border:#cccccc 1px solid;
	width:calc( (100% - 5px) / 2);
}
.shop_list_item:not(:has(>a)),
.shop_list_item > a{
	padding:2px 8px;
	width:100%;
	text-decoration:unset;
	display:flex;
	position:relative;
    padding-right: 20px;
}

.shop_list_item:not(:has(>a))::before,
.shop_list_item > a::before{
	content:"";
	border:1px solid var(--main-color);
	top:calc(50% - 4px);
	display:block;
	position:absolute;
	right:12px;
	transform-origin: calc(50% - 4px) 50%;
	transform:rotate(45deg) translateY(-50%);
	width:8px;
	height:8px;
    border-left: unset;
    border-bottom: unset;
	transition:.3s;
}
.shop_list_item:not(:has(>a)):hover::before,
.shop_list_item > a:hover::before{
	right:8px;
	transition:.3s;
}
#header_bottom{
	font-size:0.857rem;
}
.opentime{
    display: flex;
    align-items: center;
	gap:9px;
}
.opentime dt{
	background:var(--sub-color02);
	padding: 4px 6px;
    font-weight: normal;
    line-height: 1em;
	font-size:0.857rem;
}
.opentime dd{
	margin-bottom:0;
	font-size:0.857rem;
}
#header_bottom p,
#footer_bottom p{
	padding-left:10px;
	font-size:0.857rem;
}
#header_bottom p:first-of-type,
#footer_bottom p:first-of-type{
	margin-top:2px;
}

#spmenu{
	position:absolute;
	background:#fff;
	width:100%;
	z-index:100;
    overflow-y: auto;
	max-height:calc(100vh - 47px);
	transition:.3s;
	transform:translateY(-200%);
	opacity:0;
}
#header.menu-open #spmenu{
	opacity:1;
	transform:translateY(0);
	transition:.3s;
}
#header.menu-open #spmenu .container{
	max-width:100%;
}
.overlay{
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	background:#00000055;
	z-index:-1;
	max-width:0;
	max-height:0;
	opacity:0;
	transition:opacity .3s;
}
.menu-open .overlay{
	max-width:100%;
	max-height:100%;
	opacity:1;
    z-index: 101;
	transition:opacity .3s;
}
#spmenu .gnav{
	font-size:1.286rem;
    margin: 0 11px;
	padding:40px 0;
}
#spmenu .gnav li{
	border-bottom:1px solid #ccc;
	margin-bottom:15px;
}
#spmenu .gnav li:last-child{
	margin-bottom:0;
}
#spmenu .gnav a{
	text-decoration:unset;
	margin:0px 10px 10px 10px;
	display:block;
	position:relative;
}
#spmenu .gnav a::after{
	content:"";
	position:absolute;
	border:1px solid var(--main-color);
	width:8px;
	height:8px;
	right:0px;
	top:calc(50% - 4px);
	transform-origin:calc(50% - 4px) 50%;
	transform:rotate(45deg) translateY(-50%);
	border-left:unset;
	border-bottom:unset;
}
.spmenu_bottom{
	background:var(--sub-color02);
}
.spmenu_bottom .subnav{
	margin:0 11px;
	padding:24px 0 15px 0;
}
.spmenu_bottom .subnav li a{
	position:relative;
	text-decoration:unset;
	display:block;
    padding: 3px 20px;
    margin: 0 10px;
}
.spmenu_bottom .subnav li a::before{
	content:"";
	position:absolute;
	border:1px solid var(--main-color);
	width:6px;
	height:6px;
	left:0px;
	top:calc(50% - 3px);
	transform-origin:calc(50% - 3px) 50%;
	transform:rotate(45deg) translateY(-50%);
	border-left:unset;
	border-bottom:unset;
}
.spmenu_sns{
	background:var(--sub-color02);
}
.spmenu_sns_inner{
	border-top:1px solid #ccc;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	padding-top:15px;
	gap:20px;
	padding-bottom:25px;
	margin-left:21.5px;
	margin-right:21.5px;
}
.spmenu_sns_item-youtube{
	width:38px;
}
.spmenu_sns_item-insta{
	width:31px;
}
.spmenu_sns_item-line{
	width:30px;
}

#pcmenu,
#header_contact{
	display:none;
}
@media screen and (min-width: 992px) {
	#header{
		padding-bottom:0;
	}
	#header_top{
		height:111px;
		margin-right:11px;
	}
	.header_inner{
		display:flex;
        align-items: center;
	}
	#header #header_logo{
		width:211px;
		margin-top:0;
		margin-left:22px;
		margin-right:0;
	}
	.shop_list{
		flex-wrap:wrap;
	}
	.shop_list_item{
		width:unset;
	}
	.shop_list_item:not(:has(>a)),
	.shop_list_item > a{
		font-size:1.375rem;
		padding: 7px 14px;
        width: 153px;
	}
	
	.header_inner .shop_list_item:not(:has(>a)),
	.header_inner .shop_list_item > a{
		//font-size:1.125rem;
	}
	.shop_list_item:not(:has(>a))::before,
	.shop_list_item > a::before{
		width: 6px;
	    height: 6px;
	}
	.header_info{
	    display: flex;
	    align-items: center;
		max-width:unset;
		padding-right:0;
        justify-content: space-between;
	}
	#header_middle{
		padding-top:0;
        display: flex;
        /*align-items: center;*/
		width:unset;
        margin: 0;
		/*flex:1;*/
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
	}
	#header .header_top_links_tel,
	#header .btn_gnav{
		display:none;
	}
	#header .header_top_links_item{
		width:113px;
		//height:90px;
		height:111px;
		font-size:0.875rem;
	}
	#header .header_top_links_item a{
	    justify-content: center;
	    padding-bottom: 0px;
        gap: 10px;
        line-height: 1em;
	}
	#header .header_top_links_mail img{
		width:39px;
	}
	#header_bottom{
		display:flex;
        flex-direction: column;
        align-items: flex-end;
        margin-right: 142px;
		padding-left:20px;
		padding-right:0;
		gap:10px;
        width: unset;
        margin-bottom: 10px;
	}
	#header_bottom p{
		font-size:min(1rem, calc(100vw / 991 * 13));
		padding-left:0;
	}
	#header_bottom p:first-of-type{
		margin-top:0;
	}
	#header_bottom .header_contact_free{
		font-size:1.25rem;
		position:relative;
		gap:10px;
		display:flex;
		align-items:center;
        padding-top: 8px;
	}
	.header_contact_free::before,
	.header_contact_free::after{
		content:"";
		display:block;
		height:1px;
		background:var(--main-color);
		width:15px;
	}
	#header_contact,
	.header_contact_desc{
		display:flex;
		align-items:center;
        flex-wrap: wrap;
        justify-content: flex-end;
	}
	#header_contact{
		//padding-top:15px;
	}
	#header_bottom .header_contact_tel{
		font-size:2.625rem;
		line-height:1em;
		margin-top:0;
        padding-left: 17px;
	}
	#header_bottom .header_contact_tel a{
		text-decoration:unset;
		display:flex;
		align-items: flex-end;
		gap:5px;
	}
	.header_contact_tel img{
		width:27px;
        padding-bottom: 3px;
	}
	.opentime{
		margin-top:0;
		gap:0.5em;
		margin-right:0.5em;
	}
	.opentime::after{
		content:"／";
	}
	.opentime dt{
		margin-right:6px;
	}
	.opentime dt,
	.opentime dd{
		font-size:1rem;
	}
	#pcmenu{
		display:block;
		width:100%;
		border-top:1px solid #cccccc;
	}
	#pcmenu ul.gnav{
		display:flex;
		gap:50px;
		justify-content:center;
		align-items:center;
		position:relative;
		height:57px;
		margin-top:0;
		font-size:1.125rem;
	}
	
	#pcmenu ul.gnav > li{
		display:flex;
		align-items:center;
	}
	#pcmenu ul.gnav a{
		text-decoration:unset;
		position:relative;
		padding-top:5px;
		padding-bottom:5px;
	}
	#pcmenu ul.gnav a::after{
		content:"";
		width:0;
		height:1px;
		display:block;
		position:absolute;
		background:var(--main-color);
		bottom:1px;
		transition:.3s;
	}
	#pcmenu ul.gnav a:hover::after{
		width:100%;
		transition:.3s;
	}
	#pcmenu ul .gnav_has_child{
		position:relative;
		margin-top:0;
	}
	#pcmenu ul .gnav_has_child > a{
		padding-right:18px;
        margin: 5px 0;
	}
	#pcmenu ul .gnav_has_child::after{
		content: "";
	    border: 1px solid var(--main-color);
	    top: calc(50% - 2px);
	    display: block;
	    position: absolute;
        right: 0;
        transform-origin: center;
        transform: rotate(135deg);
	    width: 6px;
	    height: 6px;
	    border-left: unset;
	    border-bottom: unset;
	    transition: .3s;
	}
	#pcmenu ul .gnav_child{
		position:absolute;
		top: 20px;
		opacity:0;
		transition:.3s;
        padding: 20px;
		display:flex;
		gap:10px;
		flex-direction:column;
		max-height:0;
        width: 200px;
		overflow:hidden;
		z-index:-1;
		padding-top:0;
		padding-bottom:0;
	}
	#pcmenu ul .gnav_has_child.is-hover .gnav_child{
		opacity:1;
		transition:.3s;
		background:#ffffff;
		margin-top:0;
		top: calc(50% + 20px);
		max-height:100vh;
		z-index:1;
        padding: 20px;
	}
}
@media screen and (max-width:1077px) and (min-width: 992px) {
    #header .header_top_links_item {
        height: 142px;
    }
}
@media screen and (max-width: 991px){
	.header_info.container{
		max-width: unset;
	}
}
@media print, (max-width: 991px) and (min-width: 769px) {
	.header_info{
        display: flex;
        align-items: center;
        gap: 24px;
		padding-top:15px;
		padding-bottom:15px;
        justify-content: space-between;
	}
	#header_middle{
		padding-top:0;
	}
	#header_middle .shop_list_item{
		min-width:10em;
	}
	#header_bottom .opentime{
		margin-top:0;
	}
	#header_bottom .opentime{
		display:inline-flex;
	}
	#header_bottom .opentime+p{
		display:inline-block;
	}
}
@media screen and (max-width: 768px) {
	#header .header_contact_desc{
		position: relative;
		opacity:1;
		top: 0;
		max-height:100%;
		z-index:1;
		transition:.3s;
		overflow:hidden;
	}
	#header .header_contact_desc >*{
		transition:.3s;
		overflow:hidden;
	}
	#header.is-fixed .header_contact_desc{
		opacity:0;
		top: -100%;
		max-height:0;
		z-index:-1;
		transition:.3s;
	}
	#header.is-fixed .header_contact_desc >*{
		max-height:0;
		margin:0;
		transition:.3s;
	}
}

/*共通パーツ
----------------------------------------*/

/*ECCUBE設定リセット*/
.renew_page .ec-layoutRole__contents{
	max-width:unset;
}

.renew_page .ec-shelfRole{
	padding:0;
    max-width: unset;
}

.renew_page .ec-shelfGrid{
	margin-left:0;
	margin-right:0;
}
.renew_page .ec-productRole{
    padding-left: 0;
    padding-right: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}
.renew_page .ec-productRole .ec-productRole__price{
	padding:0;
	border-bottom:unset;
}
.renew_page .item_detail{
	max-width:unset;
}

/*swiperスライダー*/

.swiper-button-next,
.swiper-button-prev,
.slick-arrow{
	background:#fff;
	border:1px solid #ccc;
	width:45px;
	height:45px;
    color: var(--sub-color01);
	top: 58%;	
}
.swiper-button-prev,
.slick-prev{
	left:0;
}
.swiper-button-next,
.slick-next{
	right:0;
}
.swiper-button-prev::after,
.swiper-button-next::after,
.slick-arrow::after{
    font-size: 1.143rem;
}
.slick-arrow{
	width:36px;
	height:36px;
	position:absolute;
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
}
.slick-arrow::after{
    font-family: swiper-icons;
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
}

/*バナーエリア*/
.cmn_campaign{
	background:var(--sub-color02);
	position:relative;
	padding-top:30px;
	padding-bottom:40px;
}
.cmn_campaign_top{
	break-inside:avoid;
}
.cmn_campaign_top_img{
    width: 202px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -61px;
}
.cmn_campaign_top_text{
	text-align:center;
	position:relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 16px;
	margin-top:10px;
	margin-bottom:8px;
}
.cmn_campaign_top_text p{
	margin-top:0;
}
.cmn_campaign_top_text::before,
.cmn_campaign_top_text::after{
	content:"";
	display:block;
	width:1px;
	height:20px;
	background:var(--sub-color01);
}
.cmn_campaign_top_text::before{
    transform: rotate(-30deg);
}
.cmn_campaign_top_text::after{
    transform: rotate(30deg);
}
.cmn_campaign_banner{
	display:flex;
	flex-wrap:wrap;
	gap:10px
}
.cmn_campaign_banner_list{
	display:flex;
	gap:10px;
}
.cmn_campaign_banner_item{
	width:100%;
}
.cmn_campaign_banner_line{
	border:1px solid #ccc;
	width:100%;
	height: auto;
}
.cmn_campaign_banner_line a{
	display:flex;
	text-decoration:unset;
	padding:4px;
	background:#fff;
	width:100%;
}
.cmn_campaign_banner_line_desc{
	background:var(--line-color);
	color:#fff;
	font-size:0.857rem;
	text-align:center;
	width:100%;
	padding:5px;
	line-height:1.5em;
}
.cmn_campaign_banner_line_desc p:first-of-type{
	margin-top:0;
}
.cmn_campaign_banner_line_text{
	width:100%;
	font-size:1.143rem;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
}
.cmn_campaign_banner_line_text img{
	width:22px;
}
.cmn_campaign_banner_line_text p:first-of-type{
	margin-top:0;
}

/*アドバイザー*/
.cmn_advisor{
	background:url(../imgs/common/bg_advisor.jpg) no-repeat;
	background-size:cover;
	padding:33px 23px 51px;
}
.cmn_advisor_inner{
	background:#ffffffcc;
    padding: 13px 20px;
    position: relative;
    padding-bottom: 27px;
}
.cmn_advisor h2{
	margin:0;
	padding:0;
	padding-bottom:14px;
	font-size:1.214rem;
	line-height:1.47em;
	position:relative;
	color:var(--sub-color01);
    background: unset;
    text-align: unset;
}
.cmn_advisor h2::after{
	content:"";
	display:block;
	height:1px;
	width:30px;
	background:var(--main-color);
	position:absolute;
	bottom:0;
	left:0;
}

.cmn_advisor_inner .btn02{
	position:absolute;
	right:-9px;
    bottom: -16px;
}
/*その他*/
.btn01{
	border:1px solid #cccccc;
	padding:3px 10px;
	padding-right:34px;
	position:relative;
	color:inherit;
	text-decoration:unset;
	display:inline-block;
}
.btn01::after{
    content: "";
    border: 1px solid var(--main-color);
    top: 50%;
    display: block;
    position: absolute;
    right: 12px;
    transform-origin: calc(50% - 1px) 50%;
    transform: rotate(45deg) translateY(-50%);
    width: 6px;
    height: 6px;
    border-left: unset;
    border-bottom: unset;
    transition: .3s;
}
.btn-img{
	display:flex;
	align-items:center;
	padding-top:0;
	padding-bottom:0;
	padding-left:0;
	gap:10px;
	font-size:1.143rem;
}
.btn-img_img{
	margin:0;
	width:82px;
}
.btn01.btn-img.btn-down::after{
    transform: rotate(135deg) translateY(calc(-50% + 7px));
}
.btn01.btn-down::after{
    transform: rotate(135deg) translateY(calc(-50% + 7px));
}
.btn01.btn-dark{
	background:var(--sub-color01);
	color:#ffffff;
}
.btn01.btn-line{
	background:#00A75A;
	color:#ffffff;
}
.btn01.btn-line:after,
.btn01.btn-dark:after{
	border-color:#ffffff;
}


.btn02{
	background:var(--sub-color01);
	display:block;
	padding:2px;
	color:#fff;
	text-decoration:unset;
}
.btn02 span{
	padding:0px 10px;
	display:block;
	border:1px solid #fff;
	position:relative;
	padding-right:34px;
}
.btn02 span::after{
    content: "";
    border: 1px solid var(--main-color);
    top: calc(50% - 3px);
    display: block;
    position: absolute;
    right: 12px;
    transform-origin: calc(50% - 3px) 50%;
    transform: rotate(45deg) translateY(-50%);
    width: 6px;
    height: 6px;
    border-left: unset;
    border-bottom: unset;
    transition: .3s;
}
.btn02:hover{
	color:#fff;
}
.pagenation{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
}
.pagenation .pagenation_item{
	border:1px solid #ccc;
	width:22px;
	height:22px;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
}
.pagenation a.pagenation_item{
	text-decoration:none;
	color:var(--main-color);
}
.pagenation a.pagenation_current,
.pagenation a.pagenation_item:hover{
	background:#ccc;
	color:var(--sub-color01);
}
.pagenation a.pagenation_current{
    pointer-events: none;
}
.pagenation a.pagenation_invalid{
	display:none;
}
.pagenation_first,
.pagenation_prev,
.pagenation_next,
.pagenation_last{
	font-size:0;
	position:relative;
}
.pagenation .pagenation_prev{
	margin-right:10px;
}
.pagenation .pagenation_next{
	margin-left:10px;
}
.pagenation_first::before,
.pagenation_first::after,
.pagenation_prev::before,
.pagenation_next::before,
.pagenation_last::before,
.pagenation_last::after{
    content: "";
    display: block;
    border: 1px solid var(--main-color);
    transform-origin: center calc(50% + 2px);
    transform: rotate(45deg);
    width: 6px;
    height: 6px;
}
.pagenation_first::before,
.pagenation_first::after,
.pagenation_prev::before{
    border-top: unset;
    border-right: unset;
}
.pagenation_next::before,
.pagenation_last::before,
.pagenation_last::after{
    border-bottom: unset;
    border-left: unset;
    transform-origin:calc(50% - 1px) calc(50% - 2px);
}
@media print, (min-width: 769px) {
	.pagenation .pagenation_item{
		width:30px;
		height:30px;
	}
}


@media screen and (max-width: 768px) {
	.is-pc{
		display:none;
	}
}
.page_photoslides:not(.swiper-initialized) + .swiper-button-prev{
	display:none;
}
.page_photoslides:not(.swiper-initialized) + .swiper-button-prev + .swiper-button-next{
	display:none;
}

.slick-prev{
	left:-23px;
}
.slick-next{
	right:-23px;
}
.slick-prev::after{
    content: 'prev';
}
.slick-next::after{
    content: 'next';
}

@media print, (min-width: 769px) {
	.is-sp{
		display:none;
	}
	.cmn_campaign{
		padding-top:90px;
		padding-bottom:53px;
	}
	.cmn_campaign_top{
	    position: absolute;
	    top: -93px;
	    width: 100%;
		left:0;
	}
	.cmn_campaign_top_wapper{
	    display: flex;
	    align-items: center;
	    justify-content: center;
        gap: 40px;
	}
	.cmn_campaign_top_text_before{
		width:175px;
		margin:0;
	}
	.cmn_campaign_top_text_after{
		width:141px;
		margin:0;
	}
	.cmn_campaign_top_text{
		font-size:1.5625rem;
		gap:50px;
	}
	.cmn_campaign_top_text::before,
	.cmn_campaign_top_text::after{
	    height: 31px;
	    bottom: -4px;
	    position: relative;
	}
}
@media screen and (min-width: 769px) {
	.page_photoslides_wrapper:has( .page_photoslides-thumbs) .swiper-button-next,
	.page_photoslides_wrapper:has( .page_photoslides-thumbs) .swiper-button-prev{
		top: 50%;
	}
	.swiper-button-prev,
	.swiper-button-next,
	.slick-arrow{
    	top: 79%;
	}
	.slick-arrow{
		width:45px;
		height:45px;
	}
	.cmn_campaign{
		padding-top:90px;
		padding-bottom:53px;
	}
	.cmn_campaign_banner{
        /*align-items: stretch;*/
        align-items: end;
		flex-wrap:wrap;
	}
	.cmn_campaign_banner_list{
		margin-top:0;
        flex: 1;
		width:calc((100% - 10px) / 2);
	}
	.cmn_campaign_banner_list li a{
		display:block;
	}
	.cmn_campaign_banner_line{
		width:calc((100% - 10px) / 2);
		border-width:2px;
		max-height:153px;
	}
	.cmn_campaign_banner_line a{
		height: 100%;
		align-items: center;
		padding:30px;
		gap:20px;
		/*
        justify-content: center;
		height:110px;
		align-items:center;*/
	}
	.cmn_campaign_banner_line_desc{
		width: 14em;
		/*font-size:1rem;
        max-width: 451px;
        display: flex;
        align-items: center;
        flex: 1;
        justify-content: center;
		padding:13px;*/
	}
	.cmn_campaign_banner_line_text{
		font-size:1.5rem;
		flex:1;
		/*
		width:unset;
        line-height: 1.2em;*/
	}
	.cmn_campaign_banner_line_text img{
		width:44px;
	}
	.cmn_advisor{
	    padding-top: 50px;
	    padding-bottom: 80px;
		background-position: center calc(50% + 25vw);
	}
	.cmn_advisor_inner{
		width: 765px;
		padding:36px 60px;
    	margin: 0 auto;
	}
	.cmn_advisor h2{
		font-size:1.25rem;
		font-weight:normal;
	}
	.cmn_advisor_inner .btn02{
		font-size:1.125rem;
        right: -19px;
        bottom: -22px;
	}
	.cmn_advisor_inner .btn02 span{
		padding: 4px 43px 4px 16px;
	}
	.cmn_advisor_inner .btn02:hover span::after{
		right:7px;
	}
	.cmn_advisor_inner .btn02 span::after{
		top: calc(50% - 2px);
	}

	.btn-img{
		display:inline-flex;
		gap:19px;
        font-size: 1.5625rem;
		padding-right:102px;
	}
	.btn-img_img{
		height:90px;
		width:208px;
	}
	.btn-img_img img{
		width:100%;
        object-fit: cover;
        height: 100%;
	}
	.store_reserve_btns .btn01 {
	    padding: 2px 10px;
		padding-right: 34px;
	}
	.btn01::after{
		top: calc(50% - 2px);
	}
	.btn01:not(.btn-down):hover::after{
    	right: 7px;
	}
	.btn01.btn-img.btn-down::after{
        top: calc(50% - 8px);
		width: 9px;
        height: 9px;
        right: 21px;
	}
	.btn01.btn-img.btn-down:hover::after{
        top: calc(50% - 5px);
	}
	.btn01.btn-down:hover::after{
        top: 50%;
	}
}

@media screen and (max-width: 1200px) and (min-width: 992px){
	.part_kazaru.page_photoslides_wrapper .swiper-button-next,
	.part_kazaru.page_photoslides_wrapper .swiper-button-prev{
		top: 160px;
	}
	.cmn_campaign_banner_line{
        height: 118px;
	}
}
@media screen and (min-width: 1201px) {
	.part_kazaru.page_photoslides_wrapper .swiper-button-next,
	.part_kazaru.page_photoslides_wrapper .swiper-button-prev{
		top: 195px;
	}
	.cmn_campaign_banner_line{
        height: 142px;
	}
}
@media screen and (min-width: 1401px) {
	.part_kazaru.page_photoslides_wrapper .swiper-button-next,
	.part_kazaru.page_photoslides_wrapper .swiper-button-prev{
		top: 210px;
	}
	.cmn_campaign_banner_line{
        height: 153px;
	}
}
@media screen and (max-width: 991px) and (min-width: 769px) {
    .cmn_campaign_banner_list,
	.cmn_campaign_banner_line {
        width: 100%;
    }
}
@media print,(max-width: 991px) and (min-width: 769px) {	
    .cmn_campaign_top_text {
        font-size: calc(100vw/ 991 * 20);
        gap: calc(100vw / 991 * 45);
	}
    .cmn_advisor_inner {
        max-width:calc(720px - 1.5rem);
	}
}
@media screen and (max-width: 768px) and (min-width: 569px){
	.part_kazaru.page_photoslides_wrapper .swiper-button-next,
	.part_kazaru.page_photoslides_wrapper .swiper-button-prev{
		top: 270px;
	}
}
@media screen and (max-width: 568px){
	.part_kazaru.page_photoslides_wrapper .swiper-button-next,
	.part_kazaru.page_photoslides_wrapper .swiper-button-prev{
		top: 47vw;
	}
}
/*フッター
----------------------------------------*/
#footer{
	padding-top:40px;
	padding-bottom:86px;
}
#footer_floating{
	position:fixed;
	display:flex;
    width: 100%;
    left:0;
	padding-left:10px;
    z-index: 100;
    align-items: flex-end;
	bottom:0px;
}
.top_back{
	opacity:0;
	transform:translateY(100%);
}
#footer_floating .footer_floating_presents{
	display:flex;
	gap:10px;
    align-items: flex-end;
}
#footer_floating .footer_floating_present{
	background:var(--main-color);
    position: relative;
    z-index: 1;
}
#footer_floating .footer_floating_present a{
	color:#fff;
    padding: 8px 20px;
	display:inline-flex;
	text-decoration:unset;
	gap:8px;
	/*font-size:0.857rem;*/
	/*flex-direction:column;*/
    align-items: center;
    height: 100%;
    justify-content: flex-end;
	transition:.3s;
	/*min-height:52px;*/
}
#footer_floating .footer_floating_present a:hover{
	padding-top:10px;
	padding-bottom:10px;
	transition:.3s;
}
#footer_floating .footer_floating_present img{
	width:19px;
}
#footer_floating .top_back{
    flex: 1;
    position: relative;
}
#footer_floating .top_back::before{
	content:"";
 	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
	background:var(--sub-color02);
	width: 100vw;
	position: absolute;
	bottom: 0;
	right:0;
	display:block;
    height: 2em;
}
#footer_floating .top_back a{
	text-decoration:unset;
    font-size: 0.857rem;
    position: relative;
    text-align: center;
    display: block;
    width: 100%;
    padding: 0.5em;
}
#footer_floating .top_back a span{
	position:relative;
    padding-left: 20px;
}
#footer_floating .top_back a span::after{
    content: "";
    width: 8px;
    height: 8px;
    border: 1px solid var(--sub-color01);
    display: block;
    position: absolute;
    top: calc(50% + 3px);
    left: 0;
    transform-origin: center;
    transform: rotate(45deg) translateY(-50%);
    border-bottom: unset;
    border-right: unset;
}
#footer #footer_logo{
    width: 121px;
    margin: 0 auto;
	margin-bottom:28px;
}
#footer #footer_contact{
	margin-bottom:18px;
}
#footer .footer_contact_free{
	position:relative;
	font-size:1.143rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
#footer .footer_contact_free::before,
#footer .footer_contact_free::after{
	content:"";
	height:1px;
	background:var(--main-color);
	width:30px;
	display:inline-block;
}
#footer .footer_contact_tel{
	font-size:2.143rem;
    text-align: center;
	line-height:1em;
    margin-top: 2px;
}

#footer .footer_contact_tel a{
	text-decoration:unset;
	color:inherit;
}
#footer .footer_sns{
	display:flex;
	align-items:center;
	gap:20px;
    justify-content: center;
}
#footer .footer_sns_item-youtube{
	width:38px;
}
#footer .footer_sns_item-insta,
#footer .footer_sns_item-line{
	width:30px;
}
#footer_middle{
	margin-top:44px;
}

.copyright{
	margin-top:30px;
	color:#606060;
	font-size:0.7143rem;
	text-align:center;
}
.pc_footer{
	display:none;
}
#footer .is-pc{
	display:none;
}
@media screen and (min-width: 992px) {
	#footer {
	    padding-top: 48px;
	    //padding-bottom: 86px;
	    padding-bottom: 48px;
	}
	#footer #footer_logo{
		width:174px;
		margin-bottom: 34px;
	}
	#footer_middle,
	#footer .cmn_footer .footer_sns{
		display:none;
	}
	.cmn_footer{
	    display: flex;
	    flex-direction: column;
	    align-items: center;
		margin-bottom:35px;
	}
	#footer #footer_contact{
		display:flex;
		gap:17px;
		flex-wrap:wrap;
	}
	#footer .footer_contact_free{
		font-size:1.25rem;
        gap: 5px;
	}
	#footer .footer_contact_free::before,
	#footer .footer_contact_free::after{
		width:15px;
	}
	#footer_bottom{
		display:flex;
	}
	#footer_bottom p{
		font-size:1rem;
		padding-left:0;
		margin-top:0 !important;
	}
	#footer_bottom .opentime{
		gap:5px;
		margin-right:5px;
	}
	.footer_contact_tel a{
		display:flex;
		font-size:2.625rem;
        align-items: flex-end;
		gap:7px;
		white-space:nowrap;
	}
	#footer .is-pc{
		display:block;
	}
	.footer_contact_tel img {
		width:24px;
	}
	.pc_footer{
		display:flex;
		flex-wrap:wrap;
		gap:10px 80px;
	}
	.pc_footer_nav_area,
	.pc_footer_info_area{
	    display: flex;
	    flex-direction: column;
		gap:18px;
	}
	.pc_footer_nav{
		font-size:1.125rem;
		width:315px;
		margin-top:0;
	}
	.pc_footer_nav a{
		text-decoration:unset;
	}
	.pc_footer_nav > li > a,
	.pc_footer_nav > li > p{
		border-bottom:1px dotted #cccccc;
		padding-bottom:12px;
		display:block;
		padding-top:12px;
		position:relative;
        padding-right: 15px;
	}

	.pc_footer_nav > li > a::after,
	.pc_footer_nav_child > li > a::before,
	.pc_footer_nav_small a::before{
	    content: "";
	    border: 1px solid var(--main-color);
	    top: calc(50% - 4px);
	    display: block;
	    position: absolute;
	    transform-origin: calc(50% - 4px) 50%;
	    transform: rotate(45deg) translateY(-50%);
	    width: 6px;
	    height: 6px;
	    border-left: unset;
	    border-bottom: unset;
	    transition: .3s;
	}
	.pc_footer_nav > li > a::after{
	    right: 12px;
	}
	.pc_footer_nav > li > a:hover::after{
		right:7px;
	}

	.pc_footer_nav_child{
		font-size:1rem;
		padding-left:14px;
		margin-top:15px;
	}
	.pc_footer_nav_child li{
		position:relative;
	}
	.pc_footer_nav_child li:not(:last-child){
		margin-bottom:10px;
	}
	.pc_footer_nav_child li::before{
	}
	.pc_footer_nav_child > li > a{
		position:relative;
		padding-left:18px;
	}
	.pc_footer_nav_child > li > a::before,
	.pc_footer_nav_small a::before{
	    left: 0px;
        top: calc(50% - 2px);
	}
	.pc_footer_nav_child > li > a:hover::before,
	.pc_footer_nav_small a:hover::before{
	    left: 4px;
	}
	.pc_footer_nav_small a{
		position:relative;
		padding-left:18px;
		text-decoration:unset;
	}
	.pc_footer_info_area{
		flex:1;
	}
	.pc_footer_info_area .shop_list{
		flex-direction:column;
		width:262px;
        margin-left: auto;
	}
	
	.pc_footer_info_area .shop_list_item a{
		width:100%;
	}
	.pc_footer_info_area .shop_list_item img{
		max-height:100%;
	}
	.pc_footer_info_area .shop_list_item span{
		flex:1;
	    display: flex;
	    align-items: center;
	    justify-content: center;
    	padding-right: 20px;
        white-space: nowrap;
	}
	.pc_footer_info_area .shop_list_item:not(:has(>a)), 
	.pc_footer_info_area .shop_list_item > a{
		height:70px;
		padding:0;
		font-size:1.125rem;
	}
	#footer .footer_sns{
    	justify-content: flex-end;
	}
	#footer_floating{
        width: unset;
        display: flex;
        padding-left: 0;
        left: unset;
        right: 0;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 30px;
	}
	#footer_floating .top_back{
		background:var(--sub-color02);
		font-size:0.75rem;
        border-top-left-radius: 5px;
        border-bottom-left-radius: 5px;
        width: 127px;
	}
	#footer_floating .top_back a{
		padding: 4px 20px;
	}
	#footer_floating .top_back::before{
		display:none;
	}
	#footer_floating .top_back a span::after {
	    width: 6px;
	    height: 6px;
		transition:.3s;
	}
	#footer_floating .top_back a:hover span::after{
        top: calc(50% - 2px);
		transition:.3s;
	}
	#footer_floating .footer_floating_present{
        border-top-left-radius: 5px;
        border-bottom-left-radius: 5px;
	}
	#footer_floating .footer_floating_present a{
		font-size:1.125rem;
		flex-direction: column;
        text-align: center;
        padding: 15px 10px;
	}
	#footer_floating .footer_floating_present img {
	    width: 34px;
	}
	#footer_floating .footer_floating_present a:hover {
        padding: 15px 20px 15px 10px;
	    transition: .3s;
	}
	.copyright{
		margin-top:47px;
	}
}

@media screen and (max-width:1200px) and (min-width: 992px) {
	#footer.container {
        max-width: 100%;
    }
}
@media screen and (max-width:1090px) and (min-width: 992px) {
	.pc_footer{
		column-gap: calc(100vw / 992 * 30);
	}
}
@media screen and (max-width: 991px) and (min-width: 576px) {
	#footer_floating .footer_floating_presents{
		width: 50%;
	}
	#footer_floating .footer_floating_present{
	    width: 100%;
	}
	#footer_floating .footer_floating_present a{
	    width: 100%;
   		 justify-content: center;
	}

	#footer_bottom{
		display:flex;
        align-items: center;
		margin-top:10px;
		gap:1em;
	}
	#footer_bottom .opentime,
	#footer_bottom .opentime+p{
		margin-top:0;
	}
}
/* 動き系
----------------------------------------*/

.UpMove{
  	animation:fadeUpAnime .5s forwards;
}
.DownMove{
  	animation:fadeDownAnime .5s forwards;
}
@keyframes fadeUpAnime{
	from{
		opacity:0;
		transform:translateY(100%);
	}
	to{
		opacity:1;
		transform:translateY(0);
		
	}
}
@keyframes fadeDownAnime{
	from{
		opacity:1;
		transform:translateY(0);
	}
	to{
		opacity:0;
		transform:translateY(100%);
		
	}
}


/*トップから移動*/

/*カテゴリ
----------------------------------------*/
.column_page .container:has( >.top_category_list){
	border-top: 1px solid #cccccc;
	padding-top:100px;
	margin-top:30px;
}
.top_category{
	background-image:url(../imgs/top/bg_main.svg),url(../imgs/top/bg_main_btm.svg);
	background-position:top right,bottom left;
	background-size:103px;
	background-repeat:no-repeat;
	padding-top:60px;
	padding-bottom:96px;
}
.top_category_list{
	margin-top:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.top_category_item{
	width:100%;
}
.top_category_item > a,
.top_category_item > div{
	display:block;
	overflow:hidden;
	position:relative;
    display: flex;
	color:#fff;
	text-decoration:unset;
    height: 100%;
    justify-content: space-between;
	padding-top:unset;
}
.top_category_item > div::before,
.top_category_item > a::before{
	content:"";
	display:block;
	border:1px solid #fff;
	opacity:0.5;
	width:calc(100% - 6px);
	height:calc(100% - 6px);
	position:absolute;
	top:3px;
	left:3px;
	z-index:3;
}

.top_category_item > div .top_category_item_img,
.top_category_item > a .top_category_item_img{
	position:absolute;
	width:100%;
	height:100%;
	object-fit:contain;
	top:0;
	left:0;
	margin:0;
}
.top_category_item_text{
	background:var(--sub-color01);
	position:relative;
	z-index:2;
	display:inline-block;
	text-align:center;
	padding:24px 25px 16px;
	height:100%;
	width:calc(100vw / 375 * 145);
	min-width:145px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: 0;
}
.top_category_item_title,
.top_category_item_linktext{
	position:relative;
}

.top_category_item_title{
	font-size:1.07rem;
	border-bottom:1px solid #ffffff80;
    letter-spacing: 0;
	margin-top:0;
	padding-bottom:2px;
    margin-bottom: -5px;
}
.top_category_item_linktext{
	position:relative;
	display:inline-flex;
	font-size:0.857rem;
	margin-top:5px;
	line-height:1.5em;
    align-items: center;
    justify-content: center;
	gap:10px;
}
.top_category_item_linktext::after{
	content:"";
	border:2px solid var(--main-color);
	display:block;
	transform:rotate(45deg);
	border-bottom:unset;
	border-left:unset;
	width:8px;
	height:8px;
    position: relative;
    top: 1px;
	transition:.3s;
	right:0;
}
.top_category_item:hover .top_category_item_linktext::after{
	right:-5px;
}

.top_category_item .top_category_item_title{
	font-size:1.57rem;
    padding-bottom: 10px;
    line-height: 1em;
    margin-bottom: 0;
}

.top_category_item.top_category_item-large > a,
.top_category_item.top_category_item-large > div{
	padding-top:170px;
}
.top_category_item.top_category_item-large .top_category_item_text{
    width: 100%;
    display: inline-flex;
    flex-direction: row;
    padding-top: 20px;
    padding-bottom: 20px;
    align-items: center;
}
.top_category_item.top_category_item-large .top_category_item_title{
    text-align: left;
	flex:1;
    border-bottom: unset;
    border-right: 1px solid #ffffff80;
    padding-bottom: 0;
    line-height: 1.35em;
	font-size:2rem;
}
.top_category_item.top_category_item-large .top_category_item_linktext{
    width: calc((100vw/ 375 * 145) - 25px);
	min-width:125px;
	padding-left: 25px;
	margin-top:0;
}
.top_category_item > div .top_category_item_img img,
.top_category_item > a .top_category_item_img img{
    object-fit: cover;
    height: 100%;
    width: 100%;
    object-position: top;
}
@media print, (min-width: 769px) {
	.top_category{
		background-image:url(../imgs/top/bg_main-pc.svg),url(../imgs/top/bg_main_btm-pc.svg);
		background-size: calc(100vw/ 1920 * 660);
	    padding-top: 190px;
	    padding-bottom:151px;
		margin-top:-48px;
	}
	.top_category_item{
		width: calc((100% - (10px * 2)) * 1 / 4);
	}
	.top_category_item-large,
	.top_category_item-large-pc{
		width: calc((100% - (10px * 2)) * 1 / 2);
	}
	.top_category_item.top_category_item-large-pc .top_category_item_linktext{
		min-width:125px;
	}
	.top_category_item .top_category_item_linktext,
	.top_category_item.top_category_item-large .top_category_item_linktext,
	.top_category_item.top_category_item-large-pc .top_category_item_linktext{
        margin-top: 0;
        padding-left: 10px;
        width: fit-content !important;
		margin-left:10px;
	}
	.top_category_item .top_category_item_text {
	    width: 100%;
	    display: inline-flex;
	    flex-direction: row;
	    padding-top: 20px;
	    padding-bottom: 20px;
        align-items: center;
	}
	.top_category_item > a,
	.top_category_item > div,
	.top_category_item.top_category_item-large > a,
	.top_category_item.top_category_item-large > div,
	.top_category_item.top_category_item-large-pc > a,
	.top_category_item.top_category_item-large-pc > div {
	    padding-top: 200px;
	}
	.top_category_item .top_category_item_text{
	    width: 100%;
	    display: inline-flex;
	    flex-direction: row;
	    padding-top: 20px;
	    padding-bottom: 20px;
	}
	.top_category_item .top_category_item_title,
	.top_category_item.top_category_item-large .top_category_item_title,
	.top_category_item.top_category_item-large-pc .top_category_item_title {
	    text-align: left;
	    flex: 1;
	    border-bottom: unset;
	    border-right: 1px solid #ffffff80;
	    padding-bottom: 0;
	    line-height: 1.35em;
		font-size:1.4375rem;
	}
}
/*@media print, (max-width: 992px) and (min-width: 569px) {
	.top_category_item{
		width: calc((100% - 10px) / 2);
	}
	.top_category_item-large,
	.top_category_item-large-pc{
		width:100%;
	}
	.top_category_item.top_category_item-large .top_category_item_linktext,
	.top_category_item.top_category_item-large-pc .top_category_item_linktext{
		width: 120px;
		min-width:unset;
	}
	.top_category_item_text{
		width: 145px;
	}
}*/

.product_page .top_category{
    margin-top: -56px;
    margin-bottom: -100px;
}
@media print, (min-width: 769px){
	.product_page .top_category{
		margin-top: -79px;
		margin-bottom: -175px;
        padding-top: 150px;
	}
	a.call:hover{
		opacity:1;
	}
}

