@charset "utf-8";
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
	--main: #222;
	--red: #d61818;
	--yellow: #ffd304;
	--bgcolor01: #ebe5dd;
	--bgcolor02: #e3c7bd;
	--font01: "Noto Sans JP", sans-serif;
	--font03: "Roboto", sans-serif;
	--paddingPC: 0 18vw 8vh;
	--paddingTABLET: 0 4vw 4vh;
	--paddingSP: 0 7vw 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-visual {
    margin: 0 auto;
    text-align: center;
}
main {
	color:var(--main);
}
main ul {
    list-style: none;
}

/* ------------------------------------------ 
　main_lead
------------------------------------------  */
.main_lead {
    text-align: center;
}
.main_lead_title {
	display: inline;
	color: var(--main);
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	text-decoration-line: underline;
	text-decoration-color: #f7e880;
	text-decoration-thickness: 11px;
	text-underline-offset: -2px;
	text-decoration-skip-ink: none;
}
.main_lead_text {
    letter-spacing: 0.5px;
	font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.main_lead_text .per {
    color: #db3c3c;
    font-weight: bold;
}
.main_lead_date {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	font-weight:bold;
}
.main_lead_note {
    font-weight: 500;
}

/* sp */
@media (max-width: 599px) {
    .main_lead {
        padding:var(--paddingSP);
		margin-top: 46px;
    }
    .main_lead_title {
	    font-size: 22px;
	}
    .main_lead_text {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.5px;
        margin: 20px auto 10px;
    }
    .main_lead_text .per {
        font-size: 17px;
        padding: 0 3px;
    }
    .main_lead_text .per .number {
        font-size: 20px;
    }
	.main_lead_date {
        font-size: 22px;
        margin-bottom: 10px;
    }
	.main_lead_date .day {
		font-size: 26px;
	}
	.main_lead_date .day > span {
		font-size: 18px;
		padding-right:5px;
	}
	.main_lead_date .circle {
		font-size: 16px;
		padding: 1px 2px 0;
	}
	.main_lead_date .time {
		font-size: 26px;
	}
	.main_lead_date .limit {
		font-size: 18px;
		letter-spacing: -2px;
		padding: 2px 0 0 2px;
	}
	.main_lead_date .event {
		font-size: 23px;
	}
    .main_lead_note {
        font-size: 12px;
    }
}

/* i-pad */
@media (min-width: 600px) and (max-width: 1024px) {
     .main_lead {
        padding:var(--paddingTABLET);
        margin-top: 50px;
		margin-bottom: 30px;
    }
    .main_lead_title {
	    font-size: 24px;
	}
    .main_lead_text {
        font-size: 16px;
        letter-spacing: 0.5px;
        margin: 20px auto 10px;
    }
    .main_lead_text .per {
		font-size:18px;
        padding: 0 3px;
    }
    .main_lead_text .per .number {
        font-size:25px;
    }
	.main_lead_date {
        font-size: 22px;
        margin-bottom: 10px;
    }
	.main_lead_date .day {
		font-size: 26px;
	}
	.main_lead_date .day > span {
		font-size: 18px;
		padding-right:5px;
	}
	.main_lead_date .circle {
		font-size: 16px;
		padding: 1px 2px 0;
	}
	.main_lead_date .time {
		font-size: 26px;
	}
	.main_lead_date .limit {
		font-size: 18px;
		letter-spacing: -2px;
		padding: 2px 0 0 2px;
	}
	.main_lead_date .event {
		font-size: 23px;
	}
    .main_lead_note {
        font-size: 14px;
    }
}

/* PC */
@media (min-width: 1025px) {
    .main_lead {
        padding: 0 11vw 8vh;
        margin-top: 80px;
    }
    .main_lead_title {
	    font-size: 32px;
		margin-bottom: 40px;
	}
    .main_lead_text {
        font-size: 25px;
        letter-spacing: 0.5px;
        line-height: 1.6;
        margin: 43px auto 30px;
    }
    .main_lead_text .per {
        font-size: 26px;
        padding: 0 3px;
    }
    .main_lead_text .per .number {
		font-size: 38px;
    }
	.main_lead_date {
        font-size: 32px;
        margin-bottom: 10px;
    }
	.main_lead_date .day {
		font-size: 40px;
	}
	.main_lead_date .day > span {
		font-size: 30px;
		padding-right:5px;
	}
	.main_lead_date .circle {
		font-size: 20px;
		padding: 2px 1px 0 3px;
	}
	.main_lead_date .time {
		font-size: 40px;
	}
	.main_lead_date .limit {
		font-size: 25px;
		letter-spacing: -4px;
		padding: 0 0 0 2px;
	}
	.main_lead_date .event {
		font-size: 35px;
	}
	.main_lead_note {
        font-size: 14px;
    }
}



/* ------------------------------------------  
	category_grid_container
------------------------------------------ */
.category_grid_container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 15px 10px 25px;
}
.category_list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 20px 1.8%;
    justify-content: center;
}
.category_item {
    width: 15.1%;
    text-align: center;
}
.category_item a {
    text-decoration: none;
    color: #333;
    display: block;
    transition: transform 0.3s, opacity 0.3s;
}
.category_item a:hover {
    opacity: 0.8;
    transform: translateY(-3px);
}
.category_img {
    overflow: hidden;
    margin-bottom: 10px;
    border: 1px solid #eee;
}
.category_img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
.category_name {
    line-height: 1.3;
    display: block;
    word-break: break-all;
    font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 599px) {
    .category_list {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 20px 10px;
        justify-content: center;
    }
    .category_item {
        flex: 0 0 31%;
        text-align: center;
    }
    .category_img img {
        width: 80%;
        height: auto;
    }
    .category_name {
        display: block;
        font-size: 11px;
        line-height: 1.2;
    }
}
@media (min-width: 600px) and (max-width: 1024px) {
	.category_grid_container {
		padding: var(--paddingTABLET);
	}
	.category_name {
	    font-size: 12px;
	}
}
@media (min-width: 1025px) {
	.category_name {
	    font-size: 15px;
	}
}


/* ------------------------------------------  
	product_area / common
------------------------------------------ */
.product_intro_col {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.product_intro_col > div {
	font-weight: 500;
}

@media (max-width: 599px) {
    .product_intro_col {
	    flex-wrap: wrap;
	    gap: 30px;
	}
	.product_intro_col > div {
	    flex: 0 1 calc(100%);
	}
	.product_text {
	    padding:var(--paddingSP);
	}
	.product_text_col {
		margin-bottom: 0;
	}
}

@media (min-width: 600px) and (max-width: 1024px) {
	.product_intro_col {
	    flex-wrap: nowrap;
	    gap: 30px;
	    padding: var(--paddingTABLET);
	}
	.product_area:nth-of-type(odd) .product_intro .product_intro_col {
	    flex-direction: row-reverse;
	}
	.product_intro_col > div {
	    flex: 0 1 calc((100% - 1 * 30px) / 2);
	}
}

@media (min-width: 1025px) {
	.product_intro {
		width: 1290px;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 30px 7vh;
	}
	.product_intro_col {
	    flex-wrap: nowrap;
	    gap: 40px;
	}
	.product_area:nth-of-type(odd) .product_intro .product_intro_col {
	    flex-direction: row-reverse;
	}
	.product_intro_col > div {
	    flex: 0 1 calc((100% - 1 * 40px) / 2);
	}
}

/* ------------------------------------------  
	fetch
------------------------------------------ */
.fetch_wrap {
	margin:0 auto;
}
.fetch_title {
	text-align:center;
    font-family: "Shippori Mincho", serif;
    font-weight: normal;
    letter-spacing: 2px;
}
.fetch_title_sub {
    margin-bottom: 25px;
    color: #565656;
    text-align: center;
    font-size: 15px;
}
.fetch_title_btn {
    text-align: center;
}
.fetch_title_btn a {
	font-size: 18px;
    color: #fff;
    background-color: #268da3;
    padding: 1rem 10rem;
    margin-bottom: 3rem;
    display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.as-product {
	border:none !important;
}
.as-product .pro-info {
	border-top: none !important;
    border-left: none !important;
}
@media (max-width: 599px) {
	.fetch_wrap {
		margin-top: 20px;
	}
    .fetch_title {
        font-size: 20px;
        margin-bottom: 0;
    }
	.fetch_title_btn a {
		padding: 1rem 5rem;
		font-size: 14px;	
	}
}
@media (min-width: 600px) and (max-width: 1024px) {
	.fill_area {
		padding-top:5vh;
	}
    .fetch_wrap {
		margin-top: -22px;
	}
    .fetch_title {
        font-size: 22px;
    }
}
@media (min-width: 1025px) {
	.product_area {
		padding-top:6vh;
	}
	.fetch_wrap {
		margin-top: -22px;
		width: 1140px;
		max-width: 100%;
		margin: -22px auto 50px;
	}
    .fetch_title {
        font-size: 32px;
    }
}




/* ------------------------------------------ 
	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;
	}  
}



