@charset "utf-8";
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
	--main: #222;
	--red: #e02a12;
	--yellow: #f2eb17;
	--font01: "Noto Sans JP", sans-serif;
	--font02: "Shippori Mincho", serif;
	--font03: "Roboto", sans-serif;
	--paddingPC: 0 18vw 8vh;
	--paddingTABLET: 0 4vw 4vh;
	--paddingSP: 0 30px 5vh;
}

@media only screen and (max-width: 599px) {
	.sp_only {
		display: block;
	}
	.sp_tablet_only {
		display: block;
	}
	.tablet_only {
		display: none;
	}
	.pc_only {
		display: none;
	}
	.pc_tablet_only {
		display:none !important;
	}
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
	.sp_only {
		display: none !important;
	}
	.sp_tablet_only {
		display: block;
	}
	.tablet_only {
		display: block;
	}
	.pc_only {
		display: block;
	}
	.pc_tablet_only {
		display:block;
	}
}
@media only screen and (min-width: 1025px) {
	.sp_only {
		display: none !important;
	}
	.sp_tablet_only {
		display: none;
	}
	.tablet_only {
		display: none;
	}
	.pc_only {
		display: block;
	}
	.pc_tablet_only {
		display:block;
	}
}

.idc-commonbanner {
    display: none;
}
.main_mv {
    max-width: 1920px;
    margin: 0 auto;
}
main {
	color:var(--main);
}
main ul {
    list-style: none;
}

/* ------------------------------------------

- main_lead

------------------------------------------  */
.main_lead {
    text-align: center;
    padding: 50px 0 0 0;
}
.main_lead_title {
	position: relative;
	z-index: 1;
	color: var(--red);
	font-family: var(--font02);
	margin: 0 auto;
}
.main_lead_title span {
	position: relative;
	display: inline-block;
}
.main_lead_title span::after {
	content: "";
	position: absolute;
	z-index: -1;
	background: var(--yellow);
	border-radius: 0;
	transform: rotate(-1deg) skewX(-15deg);
}	
.main_lead_text {
    letter-spacing: 0.5px;
    font-weight: 500;
}
.main_lead_text .marker {
	color: var(--red);
	font-family: var(--font03);
	font-weight: bold;
	letter-spacing: -1px;
	font-style: italic;
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}
.main_lead_note {
    font-weight: 500;
}
@media (max-width: 599px) {
    .main_lead {
        padding:var(--paddingSP);
        margin-top: 46px;
        margin: 40px auto 0;
    }
    .main_lead_title {
	    margin: 0 auto 24px;
	    font-size: 30px;
	    line-height: 1.5;
	}
	.main_lead_title span:first-child {
		font-size:22px;
		letter-spacing: -0.4px;
	}
	.main_lead_title span:last-child {
		letter-spacing: -1px;
		font-size: 33px;
	}
	.main_lead_title span:first-child::after {
		left: 4px;
		right: 5px;
		bottom: 1px;
		height: 17px;
	}
	.main_lead_title span:last-child::after {
		left: -5px;
		right: 0px;
		bottom: 3px;
		height: 24px;
	}
    .main_lead_text {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.5px;
        margin-bottom: 15px;
    }
	.main_lead_text .marker {
		padding: 0 4px 0 2px;
		margin-top: -14px;
	}	
	.main_lead_text .marker > .point {
        font-size: 38px;
        letter-spacing: -2px;
    }
    .main_lead_text .marker > .percentoff {
        font-size: 22px;
        margin-top: 10px;
    }
	.main_lead_note {
        font-size: 12px;
    }
}
@media (min-width: 600px) and (max-width: 1024px) {
     .main_lead {
        padding:var(--paddingTABLET);
        margin-top: 50px;
    }
	.main_lead_title {
		position: relative;
		display: inline-block;
		z-index: 1;
		color: var(--red);
		font-family: var(--font02);
	    font-size: 36px;
	    margin-bottom: 6px;
	}
	 .main_lead_title::after {
		content: "";
		position: absolute;
		left: 1px;
		right: -3px;
		bottom: 4px;
		height: 30px;
		z-index: -1;
		background: var(--yellow);
		border-radius: 0px;
		transform: rotate(-1deg) skewX(-15deg);
	}
    .main_lead_text {
        font-size: 18px;
        letter-spacing: 0.5px;
        margin-top: 18px;
    }
	.main_lead_text .marker {
		padding: 0 4px 0 2px;
	}
	.main_lead_text > span {
		font-size: 24px;
	}
	.main_lead_text span > span {
		font-size: 46px;
		letter-spacing: -1px;
		padding: 0px 2px;
	}
    .main_lead_note {
        font-size: 14px;
    }
}
@media (min-width: 1025px) {
    .main_lead {
		max-width: 1180px;
		padding: 0 30px;
		margin: 80px auto;
	}
	.main_lead_title {
		position: relative;
		display: inline-block;
		z-index: 1;
		color: var(--red);
		font-family: var(--font02);
	    font-size: 40px;
	    margin-bottom: 26px;
	}
	.main_lead_title span:first-child {
		font-size:32px;
		letter-spacing: -1px;
	}
	.main_lead_title span:last-child {
		font-size:48px;
		letter-spacing: -0.4px;
	}
	 .main_lead_title::after {
		content: "";
		position: absolute;
		left: 1px;
		right: -3px;
		bottom: 4px;
		height: 30px;
		z-index: -1;
		background: var(--yellow);
		border-radius: 0px;
		transform: rotate(-1deg) skewX(-15deg);
	}
	
    .main_lead_text {
        font-size: 25px;
        letter-spacing: 0.5px;
        line-height: 1.6;
        font-weight: 500;
        margin: 0 auto 40px;
    }
	.main_lead_text .marker {
		padding: 0 0 0 4px;
	}
	.main_lead_text .marker > .point {
        font-size: 60px;
        letter-spacing: -3px;
    }
    .main_lead_text .marker > .percentoff {
        font-size: 38px;
        margin-top: 20px;
    }
	.main_lead_note {
        font-size: 14px;
    }
}
/* ------------------------------------------
 main_lead_date
------------------------------------------ */
.main_lead_date {
	display: flex;
	flex-direction: row;
	justify-content: center;
	font-weight: bold;
	flex-wrap: nowrap;
}
.main_lead_date .day {
	font-family: var(--font03);
	letter-spacing: -1px;
}
.main_lead_date .circle_day {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: #fff;
	background-color: #333333;
	border: none;
	border-radius: 50%;
	line-height: 1;
}
@media (max-width: 599px) {
   .main_lead_date {
        align-items: flex-start;
        letter-spacing: 0.5px;
        margin-bottom: 10px;
        padding-right: 10px;
        line-height: 1;
    }
	.main_lead_date .arrow {
		font-size:20px;
		padding-right:3px;
	}
	.main_lead_date .day {
		font-size: 27px;
		line-height: 0.8;
		letter-spacing: -2px;
		margin-bottom: -4px;
	}
	.main_lead_date .circle_day {
		width: 20px;
		height: 20px;
		font-size: 12px;
		margin: 1px 1px;
	}
	.main_lead_date .untill {
		font-size: 14px;
		letter-spacing: -2px;
		padding-right: 3px;
		margin-top: 5px;
	}
	.main_lead_date .held {
		font-size: 22px;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
	.main_lead_date {
		align-items: center;
		letter-spacing: 0.5px;
		margin-bottom: 20px;
		line-height: 1;
	}
	.main_lead_date .arrow {
		font-size:28px;
		padding-right:3px;
	}
	.main_lead_date .day {
		font-size: 30px;
		line-height: 0.8;
		letter-spacing:-2px;
	}
	.main_lead_date .circle_day {
		width: 22px;
		height: 22px;
		font-size: 12px;
		margin: 0 1px;
	}
	.main_lead_date .untill {
		font-size: 18px;
		letter-spacing: -2.5px;
		padding-right: 3px;
	}
	.main_lead_date .held {
		font-size: 26px;
	}
}
@media (min-width: 1025px) {
	.main_lead_date {
		align-items: center;
		letter-spacing: 0.5px;
		margin-bottom: 10px;
		line-height: 1;
	}
	.main_lead_date .arrow {
		font-size:28px;
		padding-right:3px;
	}
	.main_lead_date .day {
		font-size: 39px;
		line-height: 0.8;
		letter-spacing:-2px;
	}
	.main_lead_date .circle_day {
		width: 30px;
		height: 30px;
		font-size: 16px;
		margin: 0 1px;
	}
	.main_lead_date .untill {
		font-size: 26px;
		letter-spacing: -2.5px;
		padding-right: 3px;
	}
	.main_lead_date .held {
		font-size: 35px;
	}
}


/* ------------------------------------------

- contents / COMMON

------------------------------------------ */
.contents_title_wrap {
    margin:0 auto;
}
.contents_title {
    text-align:center;
	font-family: var(--font02);
	font-weight: normal;
	letter-spacing: 1px;
}
.contents_title_sub {
    text-align: center;
    color: #565656;
}
.allitem_btn {
    text-align: center;
    margin: 0 auto;
}
.allitem_btn a {
	display: block;
	color: #fff;
	font-family: var(--font01);
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	background-color: var(--red);
}
@media (max-width: 599px) {
   .contents_title_wrap {
		max-width: 100%;
		margin: 0 auto;
	}
    .contents_title_sub {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .contents_title {
        font-size: 24px;
    }
	.allitem_btn {
	    width: 90%;
	    margin-top: 20px;
	}
	.allitem_btn a {
		font-size: 14px;
		padding: 8px 0;
		margin-bottom: 3rem;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
    .contents_title_wrap {
		max-width: 100%;
		margin: 0 auto;
	}
    .contents_title_sub {
        font-size: 14px;
        margin-bottom: 30px;
    }
    .contents_title {
        font-size: 28px;
    }
	.allitem_btn {
	    width: 70%;
	}
	.allitem_btn a {
		font-size: 18px;
		padding: 10px 0;
		margin-bottom: 20px;
	}
}
@media (min-width: 1025px) {
	.contents_title_wrap {
		max-width: 100%;
		margin: 0 auto;
	}
    .contents_title_sub {
        font-size: 15px;
        margin-bottom: 30px;
    }
    .contents_title {
        font-size: 32px;
    }
	.allitem_btn {
	    width: 50%;
	}
	.allitem_btn a {
		font-size: 18px;
		padding: 1rem 0;
		margin-bottom: 2rem;
	}
}

/* ------------------------------------------

- category_area / area 01

------------------------------------------ */
.category_area_contents {
	max-width: 100%;
	margin: 0 auto;
}
@media (max-width: 599px) {
    .category_area_contents {
	    padding: var(--paddingSP);
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
    .category_area_contents {
	    padding: var(--paddingTABLET);
	}
}
@media (min-width: 1025px) {
    .category_area_contents {
		width: 1180px;
		padding: 0 30px 70px;
	}
}

/* ------------------------------------------  
	category_grid_container
------------------------------------------ */
.category_grid_container {
    margin: 0 auto;
}
.category_list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
}
.category_item {
     text-align: center;
}
.category_item a {
    text-decoration: none;
    display: block;
    transition: transform 0.3s, opacity 0.3s;
}
.category_item a:hover {
    opacity: 0.7;
}
.category_item a:hover span {
	opacity:1;
	color:#000;
}
.category_img {
    overflow: hidden;
    border: 1px solid #eee;
}
.category_img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
.category_name {
    /* font-weight: bold; */
    display: block;
    word-break: break-all;
    font-family: var(--font01)
}
@media (max-width: 599px) {
	.category_grid_container {
	    margin: 20px auto;
	}
    .category_img img {
        width: 80%;
        height: auto;
    }
	.category_list {
	    gap: 14px 10px;
	}
	.category_item {
	     flex: 0 1 calc((100% - 1 * 10px) / 2);
	}
	.category_img {
	}
	.category_name {
	    font-size: 12px;
	    margin-top: 5px;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
	.category_grid_container {
	}
	.category_grid_container {
	    max-width: 1000px;
	}
	.category_list {
		justify-content:flex-start;
	    gap: 40px 16px;
	}
	.category_item {
	     flex: 0 1 calc((100% - 3 * 16px) / 4);
	}
	.category_img {
	    margin-bottom: 10px;
	}
	.category_name {
	    font-size: 14px;
	}
}
@media (min-width: 1025px) {
	.category_grid_container {
	    max-width: 1000px;
	}
	.category_list {
	    gap: 40px 20px;
	}
	.category_item {
	     flex: 0 1 calc((100% - 4 * 20px) / 5);
	}
	.category_img {
	    margin-bottom: 10px;
	}
	.category_name {
	    font-size: 14px;
	}
}


/* ------------------------------------------

- pickupitem_area / area 02

------------------------------------------ */
.pickupitem_area_contents {
	max-width: 100%;
	margin: 0 auto;
}
.pickupitem_area_contents .as-product {
	border:none !important;
}
.pickupitem_area_contents .as-product .pro-info {
	border-top: none !important;
}
.pickupitem_area_contents #products_grid .oe_list .pro-info {
	border-left:none;
}
@media (max-width: 599px) {
	.pickupitem_area_contents {
		max-width: 100%;
		margin: 0 auto;
		padding: 14px;
	}
    .pickupitem_area_contents .as-product {
		margin-bottom:0;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
    
}
@media (min-width: 1025px) {
    .pickupitem_area {
		margin: 50px auto 0;
	}
	.pickupitem_area_contents {
		width: 1180px;
		padding: 0 30px 70px;
	}
}

/* ------------------------------------------ 
	series_btn_area
------------------------------------------ */
 .series_btn_area {
	background: #f5f5f5;
 }
.series_btn {
	padding: 0;
	margin:0 auto;
}
@media (max-width: 599px) {
    .series_btn_area {
		width: 100%;
		padding: 10px 7vw;
		margin: 0 auto;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
    .series_btn_area {
		padding: 4vh 2vw;
	}
}
@media (min-width: 1025px) {
    .series_btn_area {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 1vh 0;
	}
}

/* ------------------------------------------ 
 note_col_contents
------------------------------------------ */
.note_col_contents {
	text-align:center;
}
.note_col_wrap {
	display:inline-block;
	text-align:left;
}
.note_col li {
	font-weight:500;
}
@media (max-width: 599px) {
    .note_col_contents {
		padding:var(--paddingSP);
	}
    .note_col li {
	    font-size:11px;
		text-indent:-11px;
		padding-left:11px;
    }
}
@media (min-width: 600px) and (max-width: 1024px) {
    .note_col_contents {
		padding: 0 30px 20px;
	}
    .note_col li {
	    font-size:12px;
    }
}
@media (min-width: 1025px) {
	.note_col_contents {
	}
    .note_col li {
	    font-size:12px;
    }
}


/* ------------------------------------------  
 
- event_area / area 03

------------------------------------------ */
.event_link {
	max-width: 100%;
	text-align:center;
	margin: 0 auto;
}
.event_link > a {
	display:block;
}
@media (max-width: 599px) {
    .event_area {
	    margin: 0 auto 60px;
	}
	.event_link {
		padding: 0 24px!important;
		margin-top: 20px;
	}
	.event_area .area_lead {
		font-size: 14px;
		text-align: center;
		font-weight: 500;
		padding: 30px 0 0;
		margin: 0 auto 15px;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
    .event_area {
	    margin: 0 auto 10px;
	    padding: 20px 0 0;
	}
	.event_link {
		padding: var(--paddingTABLET);
		padding-bottom: 0;
		margin-top: 20px;
	}
	.event_area .area_lead {
		font-size: 16px;
		text-align: center;
		font-weight: 500;
		padding: 30px 0 0;
		margin: 0 auto 20px;
	}
}
@media (min-width: 1025px) {
	.event_area {
	    width: 1180px;
	    margin: 0 auto;
	    padding: 0 30px 70px;
	}
	.event_link {
		max-width: 100%;
		margin: 40px auto 0;
	}
	.event_area .area_lead {
		font-size: 24px;
		text-align: center;
		font-weight: 500;
		padding: 60px 0 0;
		margin: 0 auto 30px;
	}
}


/* ------------------------------------------ 

 - footer

------------------------------------------ */
.ac_products_footerbtn_box {
    text-align: center;
    margin: 0 auto;
}
.ac_products_footerbtn_box a {
	text-decoration: underline;
}
@media (max-width: 599px) {
    
}
@media (min-width: 600px) and (max-width: 1024px) {
    
}
@media (min-width: 1025px) {
	.ac_products_footerbtn_box {
		text-align: center;
		padding:var(--paddingPC);
		margin: 0 auto;
	}
	.ac_products_footerbtn_box a {
		text-decoration: underline;
	}  
}



