@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 {
	color:var(--main);
}
main ul {
    list-style: none;
}

/* ------------------------------------------ 
　main_lead
------------------------------------------  */
.main_lead {
    text-align: center;
    padding: 50px 0 0 0;
}
.main_lead_title {
	display: inline;
	color: var(--main);
	font-weight: bold;
	border-bottom: 1px solid #222;
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
}
.main_lead_title__note{
    font-family: serif;
    font-size: 18px;
}
.main_lead_text {
    letter-spacing: 0.5px;
    font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.main_lead_text .marker {
	background: linear-gradient(#00000000 60%, #ffd304a6 60%);
}
.main_lead_text > span {
	color: #d98d28;
	font-weight: bold;
	font-size: 30px;
}
.main_lead_date .circle_day {
	color: #fff;             /* 中の文字を白に */
	background-color: #333333; /* 背景を赤に */
	border: none;            /* 線は消す */
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.55em;
	margin: 0 0.3em;
	position: relative;
	top: -0.3em;             /* 微妙な上下位置の調整 */
	/* font-family: "Noto Sans JP", sans-serif; */
}
.main_lead_note {
    font-weight: 500;
}

/* sp */
@media (max-width: 599px) {
    .main_lead {
        padding:var(--paddingSP);
		margin-top: 46px;
    }
    .main_lead_title {
	    font-size: 21px;
	}
    .main_lead_text {
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: 0.5px;
        margin-top: 14px;
    }
	.main_lead_text .marker {
		padding: 0 4px 0 2px;
	}
	.main_lead_text > span {
		font-size: 20px;
	}
	.main_lead_text span > span {
		font-size: 30px;
		letter-spacing: -1px;
		padding: 0px 2px;
	}
	.main_lead_date {
        font-size: 22px;
        font-weight: bold;
        margin-bottom: 10px;
    }
    .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;
    }
	.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_date {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 10px;
    }
    .main_lead_note {
        font-size: 14px;
    }
}

/* PC */
@media (min-width: 1025px) {
    .main_lead {
        padding:var(--paddingPC);
        margin-top: 80px;
    }
    .main_lead_title {
	    font-size: 32px;
		margin-bottom: 40px;
		
	}
    .main_lead_text {
        font-size: 25px; 
        letter-spacing: 0.5px;
        line-height: 2.0; 
        font-weight: 500;
		margin: 23px auto 0;
		margin-bottom: 30px;
		
    }
	.main_lead_text .marker > span {
        color: var(--red);
        font-family: var(--font03);
        font-size: 54px; /* 「5」という数字だけを大きく */
        letter-spacing: -1px;
        font-weight: bold;
    }
	.main_lead_text .marker {
		background: linear-gradient(#00000000 60%, #ffd304a6 60%);
        padding: 0 4px;
	}
	.main_lead_date {
        font-size: 32px;
        font-weight: bold;
        margin-bottom: 10px;
    }
	.main_lead_date > span {
		font-size: 20px;
	}
	.main_lead_note {
        font-size: 14px;
    }
}

/* ------------------------------------------  
	category_grid_container
------------------------------------------ */

/* カテゴリグリッド（PC6列 / SP2列） */
.category_grid_container {
    max-width: 1200px; /* 6枚並ぶため、少し最大幅を広げるとゆとりが出ます */
    margin: 0 auto;
    padding: 25px 10px;
}
.category_list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 20px 1.8%; /* 横の間隔を微調整 */
}
.category_item {
    width: 15.1%; /* PC時 6列 */
    text-align: center;
    margin-bottom: 20px;
}
.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 {
    font-size: 15px; 
    /* font-weight: bold; */
    line-height: 1.3;
    display: block;
    word-break: break-all; /* 長い単語での崩れ防止 */
    font-family: "Noto Sans JP", sans-serif;
}

/* スマホ表示（3カラム化） */
@media (max-width: 599px) {
    .category_list {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 10px 0; /* 上下の余白 */
    }

    .category_item {
        /* 100%を3で割った33.3%に設定 */
        flex: 0 0 33.333%;
        text-align: center;
        margin-bottom: 15px;
    }

	.category_item a {
		margin: 0px 4px 10px 4px;
	}

    .category_img img {
        width: 80%; /* 画像のサイズを調整 */
        height: auto;
    }

    .category_name {
        display: block;
        font-size: 11px; /* 文字が入り切らない場合は小さく調整 */
        line-height: 1.2;
        margin-top: 5px;
    }

	
}

@media (min-width: 600px) and (max-width: 1024px) {
	.category_grid_container {
		padding: var(--paddingTABLET);
	}

}



/* ------------------------------------------  
	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_area {
	}
	.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_area {
	}
	.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);
	}
}

/* ------------------------------------------  
	product_area03 / fill_area（対象商品はこちらエリア）
------------------------------------------ */
.fetch_wrap {
	margin:0 auto;
}
.fetch_title {
	text-align:center;
	font-weight: 600;
    font-family: "Shippori Mincho", serif;
    font-weight: normal;
    letter-spacing: 2px;
}
.fetch_title > span {
	color: var(--red);
	font-family: var(--font03);
	font-weight: bold;
}
.fetch_title .marker {
	background: linear-gradient(#00000000 60%, #ffd304a6 60%);
	padding: 0 4px 0 2px;
}
.fetch_title > span {
}
.fetch_title span > span {
	letter-spacing: -1px;
	padding: 0px 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;
    font-weight: bold;
    color: #fff;
    background-color: #39919d;
    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;
}

.fill_area .as-product {
	border:none !important;
}
.fill_area .as-product .pro-info {
	border-top: none !important;
}
.fill_area #products_grid .oe_list .pro-info {
	border-left:none;
}

@media (max-width: 599px) {
	.fetch_wrap {
		margin-top: 20px;
	}
    .fetch_title {
        font-size: 20px;
        margin-bottom: 0;
    }
	.fetch_title > span {
		font-size: 24px;
	}
	.fetch_title span > span {
		font-size: 38px;
	}
	.fetch_title_btn{
		
	}
	.fetch_title_btn a{
		padding: 1rem 5rem;
		font-size: 14px;
		
	}
	.fill_area .as-product {
		margin-bottom:0;
	}
	.fill_area .as-product-list {
		padding:0 3vw;
	}
}

@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) {
	.fill_area {
		padding-top:6vh;
	}
	.fetch_wrap {
		margin-top: -22px;
		width: 1140px;
		max-width: 100%;
		margin: -22px auto 50px;
	}
    .fetch_title {
        font-size: 32px;
    }
}

/* ------------------------------------------ 
	series_btn_area
------------------------------------------ */
 .series_btn_area {
	background: #f5f5f5;
 }
.fill_area .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;
	}
	.fill_area  .series_btn_area {
		padding: 4vh 2vw;
	}
}
@media (min-width: 1025px) {
    .series_btn_area {
		padding: 7vh 0;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}
	.fill_area  .series_btn_area {
		 padding: 1vh 0;
	}
}

/* ------------------------------------------ 
	allitem_btn(同時開催中) - allitem_title
------------------------------------------ */
.allitem_btn_area {
	margin: 0 auto;
	position: relative;
}
.allitem_title {
	text-align:center;
	font-weight: 600;
	font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
}
.allitem_title_sub{
    margin-bottom: 25px;
    color: #565656;
    text-align: center;
    font-size: 15px;
}

@media (max-width: 599px) {
	.allitem_btn_area {
		padding: 4vh 7vw;
	}
	.allitem_title {
        font-size: 20px;
        /* margin-bottom: 15px; */
    }
}
@media (min-width: 600px) and (max-width: 1024px) {
    .allitem_btn_area {
		padding: 4vh 7vw;
	}
	.allitem_title {
        font-size: 22px;
		padding-bottom: 20px;
    }
	.allitem_btn img {
		width: 90%;
		height: auto;
    	display: block;
    	margin: 0 auto;
	}
}
@media (min-width: 1025px) {
    .allitem_btn_area {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		position: relative;
		padding: 7vh 0;
	}
	.allitem_btn {
        width: 80%;
        max-width: 1040px;
        margin: 0 auto;
        padding: 0 30px;
 }
	.allitem_btn img {
		width: 90%;
		height: auto;
    	display: block;
    	margin: 0 auto;
	}
	.allitem_title {
        font-size: 32px;
		/* padding-bottom: 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;
	}  
}

/* ------------------------------------------ 
	swiper
------------------------------------------ */
/* スライダー全体のレスポンシブ設定 */
.mySwiper {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	height: auto !important;
	padding-bottom: 40px !important; /* ドット用の余白 */
	position: relative;
  }
  
  /* 画像の設定 */
  .mySwiper .swiper-slide img {
	width: 100%;
	height: auto;
	display: block;
  }
  .mySwiper .swiper-button-next,
  .mySwiper .swiper-button-prev {
	color: #fff !important;
  }
  
  /* 矢印のサイズ変更 */
  .mySwiper .swiper-button-next::after,
  .mySwiper .swiper-button-prev::after {
	font-size: 24px !important;
  }
  
  /* ページネーションを画像の下（余白部分）へ移動 */
  .mySwiper .swiper-pagination {
	bottom: 0 !important;
  }
  
  
  @media screen and (max-width: 767px) {
	.mySwiper .swiper-button-next,
	.mySwiper .swiper-button-prev {
	  display: none !important;
	}
	.mySwiper .swiper-button-next::after,
	.mySwiper .swiper-button-prev::after {
	  font-size: 16px !important; /* スマホ用のサイズ（お好みで調整してください） */
	}
  
  }

