@charset "utf-8";
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
	--main: #222;
	--bluegreen: #0e8ea7;
	--yellow: #f0f900;
	--font01: "Noto Sans JP", sans-serif;
    --font02:"Urbanist", sans-serif;
    --font03:"Jost", sans-serif;
	--paddingPC: 0 18vw 8vh;
	--paddingTABLET: 0 4vw 4vh;
	--paddingSP: 0 20px 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);
    font-family: YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
main ul {
    list-style: none;
}

/* ------------------------------------------

- main_lead

------------------------------------------  */
.main_lead {
    text-align: center;
    padding: 50px 0 0 0;
}
.main_lead_text {
    letter-spacing: 0.5px;
    font-weight: 500;
}
@media (max-width: 599px) {
    .main_lead {
        padding:var(--paddingSP);
        margin: 30px auto 30px;
    }
    .main_lead_text {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.5px;
        margin-bottom: 30px;
    }
}
@media (min-width: 600px) and (max-width: 1024px) {
     .main_lead {
        padding:var(--paddingTABLET);
        margin-top: 40px;
    }
    .main_lead_text {
        font-size: 18px;
        letter-spacing: 0.5px;
        margin-bottom: 34px;
    }
	.main_lead_text > span {
		font-size: 24px;
	}
	.main_lead_text span > span {
		font-size: 46px;
		letter-spacing: -1px;
		padding: 0px 2px;
	}
}
@media (min-width: 1025px) {
    .main_lead {
		max-width: 1180px;
		padding: 0 30px;
		margin: 80px auto;
	}
    .main_lead_text {
        font-size: 25px;
        letter-spacing: 0.5px;
        line-height: 1.6;
        margin: 0 auto 60px;
    }
}

/* ------------------------------------------
 main_lead_title
------------------------------------------ */
.main_lead_title {
	position: relative;
	z-index: 1;
	color: var(--bluegreen);
    font-weight: bold;
    line-height: 1.5;
	margin: 0 auto;
}
.main_lead_title .sub_head {
    color: var(--bluegreen);
    border-top: 2px solid var(--bluegreen);
    border-bottom: 2px solid var(--bluegreen);
}
 .main_lead_title .head {
    font-family: var(--font03);
    font-weight: 600;
}
@media (max-width: 599px) {
    .main_lead_title {
	    line-height: 1.4;
	    position: relative;
	    display: inline-block;
	    z-index: 1;
	    font-size: 40px;
	    margin: 14px auto 20px;
	    text-shadow: 1px 1px 0px #fff;
	}
    .main_lead_title .sub_head {
        font-size: 16px;
        padding: 4px 8px;
    }
    .main_lead_title .head {
        font-size: 40px;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
    .main_lead_title {
		position: relative;
		display: inline-block;
		z-index: 1;
		font-size: 40px;
		margin: 24px auto 20px;
		text-shadow: 1px 1px 0px #fff;
	}
    .main_lead_title .sub_head {
        font-size: 20px;
        padding: 10px 20px;
    }
    .main_lead_title .head {
        font-size: 52px;
    }
}
@media (min-width: 1025px) {
    .main_lead_title {
        position: relative;
        display: inline-block;
        z-index: 1;
        font-size: 40px;
        margin: 24px auto 36px;
    }
    .main_lead_title .sub_head {
        font-size: 24px;
        padding: 8px 14px;
    }
    .main_lead_title .head {
        font-size:70px;
        color: var(--bluegreen);
        letter-spacing: -0.4px;
    }
}



/* ------------------------------------------
 main_lead_date
------------------------------------------ */
.main_lead_date {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
    justify-content: center;
	align-items: center;
	font-weight:bold;
	background: var(--yellow);
    color: #474747;
}
.main_lead_date .day,
.main_lead_date .time {
	font-family: var(--font03);
    font-weight: 500;
}
@media (max-width: 599px) {
	.main_lead_date {
        width: 90%;
        font-size: 22px;
        margin: 0 auto 10px;
        padding: 5px 0;
    }
	.main_lead_date .day {
		font-size: 24px;
	}
	.main_lead_date .day > span {
		font-size: 14px;
		padding-right:3px;
	}
	.main_lead_date .circle {
		font-size: 15px;
		padding: 2px 2px 0;
	}
	.main_lead_date .time {
		font-size: 24px;
	}
	.main_lead_date .limit {
		font-size: 15px;
		letter-spacing: -2px;
		padding: 3px 0 0;
	}
	.main_lead_date .held {
		font-size: 20px;
		padding-left: 5px;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
	.main_lead_date {
        width: 50%;
        margin-bottom: 10px;
        padding: 0;
    }
	.main_lead_date .day {
		font-size: 30px;
	}
	.main_lead_date .day > span {
		font-size: 20px;
		padding-right:5px;
		font-weight: normal;
	}
	.main_lead_date .circle {
		font-size: 19px;
		padding: 6px 1px 0 3px;
	}
	.main_lead_date .time {
		font-size: 30px;
	}
	.main_lead_date .limit {
		font-size: 22px;
		letter-spacing: -4px;
		padding: 2px 1px 0;
	}
    .main_lead_date .held {
        font-size: 25px;
        padding-left: 6px;
    }
}
@media (min-width: 1025px) {
	.main_lead_date {
        width: 50%;
        margin-bottom: 10px;
        padding: 0;
    }
	.main_lead_date .day {
		font-size: 40px;
	}
	.main_lead_date .day > span {
		font-size: 30px;
		padding-right:5px;
		font-weight: normal;
	}
	.main_lead_date .circle {
		font-size: 24px;
		padding: 5px 1px 0 3px;
	}
	.main_lead_date .time {
		font-size: 40px;
	}
	.main_lead_date .limit {
		font-size: 27px;
		letter-spacing: -4px;
		padding: 2px 0 0;
	}
    .main_lead_date .held {
        font-size: 34px;
        padding: 3px 0 0 8px;
    }
}



/* ------------------------------------------

- contents / COMMON

------------------------------------------ */
.contents_title_wrap {
    margin:0 auto;
	max-width: 100%;
}
.contents_title {
    text-align:center;
    font-family: var(--font03);
    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_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_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_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 #d7d7d7;
}
.category_img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
.category_name {
    display: block;
    word-break: break-all;
    font-family: var(--font01)
}
@media (max-width: 599px) {
	.category_grid_container {
	    margin: 20px auto;
	}
	.category_list {
	    gap: 10px;
	}
	.category_item {
	     flex: 0 1 calc((100% - 2 * 10px) / 3);
	}
	.category_img img {
        width: 100%;
    }
	.category_name {
	    font-size: 12px;
	    margin-top: 5px;
        letter-spacing: -0.5px;
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
	.category_grid_container {
	    max-width: 1000px;
	}
	.category_list {
	    gap: 30px 24px;
	}
	.category_item {
	     flex: 0 1 calc((80% - 2 * 24px) / 3);
	}
	.category_img {
	    margin-bottom: 10px;
	}
	.category_name {
	    font-size: 13px;
	}
}
@media (min-width: 1025px) {
	.category_grid_container {
	    max-width: 1000px;
	}
	.category_list {
	    gap: 40px;
	}
	.category_item {
	     flex: 0 1 calc((100% - 2 * 40px) / 3);
	}
	.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 !important;
}
@media (max-width: 599px) {
	.pickupitem_area_contents {
		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;
	}
}


/* ------------------------------------------ 
 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;
    }
}



/* ------------------------------------------ 

 - 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;
	}  
}



