@charset "UTF-8";
/**************************************************************************

	基本設定

***************************************************************************/
body {
  overflow-x: hidden; 
}

/* リセット */
.ec-featureRole *,
.ec-featureRole *::before,
.ec-featureRole *::after {
    font-size: inherit;
}

.ec-featureRole {
	background: #fff;
	max-width: 1160px;
	padding-left: 0;
	padding-right: 0;
}

.ec-featureRole__content {
	padding-bottom: 0 !important;
}

.christmasCnt {
    background: #fff;
}

.ec-giftArea {
	padding-left: 20px;
	padding-right: 20px;
}

.christmasCnt ul,
.christmasCnt ol {
    padding: initial;
    margin: initial; 
}

.ec-featureRole__content {
	padding-bottom: 0;
}

/* コンテンツ部分の背景色 */
.ec-layoutRole .ec-layoutRole__contents {
    background-color: #fff !important;
    background-repeat: repeat;
    background-position: center top;
    margin-top-top: -15px;
    padding-bottom: 40px;
}

/* コンテンツ上部の親要素 */
.ec-featureRole__headdescription {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* h1 読み上げ対策 */
.ec-featureRole .ec-featureRole__head {
  border: 0;
  clip: rect(1px,1px,1px,1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute!important;
  width: 1px;
  word-wrap: normal!important;
}
/* 商品紐付けで自動表示されるアンカーリンクを非表示*/
.ec-featureItems.buttons {
  display: none;
}

.ec-layoutRole .ec-layoutRole__contents li {
    list-style: none;
}

/* マージン調整 */
@media print, screen and (min-width: 768px) {
#content.gift .ec-giftArea + .ec-giftArea {
    margin-top: 50px; }
}

@media only screen and (max-width: 767px) {
#content.gift .ec-giftArea + .ec-giftArea {
    margin-top: 12vw; } 
}

/* お知らせ */
/* キャンペーン終了 */
.cp-end {
    margin-bottom: 20px !important;
    border: solid 1px #fff17f;
    padding: 24px 24px 19px;
    background-color: #fffee3;
    text-align: center;
    font-weight: bold;
    color: #f00; }

/***************************************************************************

	汎用クラス・共通要素

****************************************************************************/
.indent {
    padding-left: 1em;
    text-indent: -1em;
}

.pc {
    display: block; 
}

@media only screen and (max-width: 767px) {
.pc {
    display: none; }
}

.pc_inb {
    display: inline-block; 
}

@media only screen and (max-width: 767px) {
.pc_inb {
    display: none; 
} 
}

.sp {
    display: block;
}
@media print, screen and (min-width: 768px) {
.sp {
    display: none; } 
}

.br_category {
    display: block;
}
@media print, screen and (min-width: 1050px) {
.br_category {
    display: none; } 
}

.sp_inb {
    display: inline-block; }
@media print, screen and (min-width: 768px) {
.sp_inb {
    display: none; 
} 
}

.tablet_inb {
display: none; 
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
.tablet_inb {
    display: inline-block;
}
}

.sp_tablet_inb {
    display: none; 
}

@media only screen and (max-width: 1024px) {
.sp_tablet_inb {
    display: inline-block; 
}
}

.disp_inb {
    display: inline-block;
}

@media print {
.print_inb {
    display: inline-block;
}
}

.slideContentArea{
	padding-top: 0;	
}

/***************************************************************************

	コンテンツ

****************************************************************************/
/* section */
.christmasCnt_inner .bl_location,
.christmasCnt_inner .ex_pt{
    margin: 100px 0;
}

.christmasCnt_inner .christmasCtg,
.christmasCnt_inner .christmasCtg{
    margin-bottom: 100px;
}

.christmasCnt_inner bl_location{
    margin: 100px 0;
}

/* 背景 */
.christmasCnt {
    background-color: #fff !important;
	font-size: 18px;
	color: #212121;
}
.christmasCnt p{
    margin-bottom:0;
}

@media only screen and (max-width: 767px) {
.christmasCnt_inner .bl_location,
.christmasCnt_inner .ex_pt{
    margin: 50px 0;
}

.christmasCnt_inner .christmasCtg,
.christmasCnt_inner .christmasCtg{
    margin-bottom: 50px;
}	
	
.christmasCnt {
	font-size: 16px;
}	
.christmasCnt_inner {
    padding:0 20px 0;
}
.ec-featureRole__headdescription {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
}

/* MV */
.mv img{
	width:100%;
}

/* 見出し2 */
.h2Ttl {
    font-size: 40px;
    text-align: center;
    padding: 40px 0;
    font-weight: 700;
    color: #008002;
    width: 85%;
    margin:0 auto;
}

@media only screen and (max-width: 767px) {
.h2Ttl {
    font-size: 25px;
    width: 95%;
}
}


/***************************************************************************

	リード

****************************************************************************/
.leadTxt{
    text-align: center;
    color: #d80015;
    padding: 40px 0 75px;
    line-height: 1.6em;
    font-size: 24px;
	font-weight:bold;
}

/* 期間*/
.leadTxt dt{
    border-bottom: solid 2px #d80015;
	border-top: solid 2px #d80015;
	width: 70%;
	margin: 50px auto 0;
}

.leadTxt dd{
	margin: 15px auto;
}

@media only screen and (max-width: 767px) {
.leadTxt{
    font-size: 18px;
	padding: 15px 0 50px;
}
.leadTxt dt{
	margin: 30px auto 0;
}	
}


/***************************************************************************

	早期予約特典

****************************************************************************/
.cp{
	background-color: #f2d94d;
	text-align: center;
	border-radius: 20px;
	margin: 0 auto 50px;
	position: relative;	
}

.cpTtl{
	color: #fff;
	border-radius: 12px 12px 0 0;
	background: #018b00;
	font-size: 1.5em;
	padding: 50px 0 1%;
}

.cpTtl span{
	color: #ffea77;
	font-size: 0.8em;
	display: block;
	margin-bottom: 0.3em;
}

.cpTxt {
    position: relative;
    padding: 15px;
	line-height: 2.5em;
}

.cpTxt p{
	font-size: 24px !important;
	margin-bottom: 0.5em;
}

@media only screen and (max-width: 767px) {
.cpTtl{
	padding: 12% 2% 3%;
}
.cpTxt {
    position: relative;
	line-height: 2em;
}	
.cpTxt p{
	font-size: 18px !important;
}
}

.cpTxt span{
	color: #f00019;
	font-size: 1.4em;
	text-shadow    : 
       2px  2px 1px #fff,
      -2px  2px 1px #fff,
       2px -2px 1px #fff,
      -2px -2px 1px #fff,
       2px  0px 1px #fff,
       0px  2px 1px #fff,
      -2px  0px 1px #fff,
       0px -2px 1px #fff;
	margin-left: 0.2em;
}

@media only screen and (max-width: 1000px) {
.cpTxt {
    position: relative;
}
}

@media only screen and (max-width: 767px) {
.cpTxt {
    position: relative;
}
}

.cp p{
	font-weight: bold;
}

/* 見出し画像 */
.cp img{
    width: 60%;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
.cp img{
    width:65%;
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);	
}
}

/* 期間 */
.cp .date {
    width: 100%;
    margin: 0 auto 10px;
}

.cp .date p{
    width: 83%;
	text-align: center;
    background-color: #fff;
    border: solid 1px #a8983f;
    border-radius: 80px;
    color: #017000;
    padding: 15px 0px;
    font-size: 23px;
	margin: auto;
}

.cp .date p span{
    display: inline-block;
}

/* 注釈 */
.cp .note{
	font-size: 1em;
	color: #333 !important;
	padding: 20px 20px 50px;
}

.cp .note p:not(:first-child){
	margin-top: 10px;
}

@media only screen and (max-width: 767px) {
.cp .date {
    margin: 0 auto 10px;
    width: 100%;	
}

.cp .date p{
	text-align: center;
	width: 90%;
	background-color: #fff;
    border: solid 1px #a8983f;
    border-radius: 80px;
    color: #017000;
	margin: auto;
    padding: 10px 30px;
    font-size: 18px;
	display: block;
}	
	
.cp .note{
	padding: 5px 2% 30px;
	font-size: 0.8em;
	line-height: 1.5em;
}	
}

/* 対象施設 */
.cpShop{
	color: #017000;
	border: solid 3px #017000;
	margin: 0 auto 20px;
	width: 70%;
}

.cpShop dl{
	margin-bottom: 0;
}

.cpShop dt{
	border-bottom: solid 2px #017000;
    width: 95%;
    margin: auto;
    padding: 5px 0;
    font-weight: bold;
    font-size: 22px;
}

.cpShop dd{
	padding: 20px 20px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
.cpShop{
	width: 90%;
}
.cpShop dt{
    font-size: 18px;
}	
}
.cpShop ul{
}

.cpShop li{
	display: inline-block;	
}

.cpShop li:not(:last-child):after {
    content: '、';
}


/***************************************************************************

	CPバナー

****************************************************************************/
.cpBnr{
	text-align: center;
	margin: 100px auto 0;
}


@media only screen and (max-width: 767px) {
.cpBnr{
	margin: 50px auto 0;	
}
}

/***************************************************************************

	ポイント付与例

****************************************************************************/
.ex_pt{
	background-color: #d22334;
    text-align: center;
    border-radius: 20px;
    margin: auto;
	color: #fff;
	padding: 50px 0;
	border: solid 6px #f2d94d;
	font-weight: bold;
}

.ex_pt .ttl{
	width: 80%;
	margin: auto;
	font-size: 2em;
	border-bottom: solid 3px #fff;
}

.ex_pt .ttl span{
	display: block;
	color: #ffe44c;
    padding-bottom: 15px;;
}

.ex_pt .txt{
	font-size: 24px;
	margin: 30px 20px;
}

.ex_pt img{
	max-width: 70%;
}

.ex_pt .ex_img:last-child{
	margin: 40px 0 0;
}

@media only screen and (max-width: 767px) {
.ex_pt{
	padding: 20px 2% 30px;
}	
.ex_pt img{
	max-width: 95%;
}
.ex_pt .ex_img:last-child{
	margin: 20px 0 0;
}	
.ex_pt .ttl{
	width: 90%;
	font-size: 1.5em;
}
.ex_pt .txt{
	font-size: 1em;
	margin: 30px 2%;
}	
}


/***************************************************************************

	受け取り場所から選ぶ 

****************************************************************************/
.bl_location p{
    margin-top: 20px;
    text-align: right;
}

.bl_location_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    padding: 0 5%;
}
.bl_location_list li {
    width: calc((100% - 60px) / 4);
}

@media only screen and (max-width: 767px) {
    .bl_location_list li {
        width: calc((100% - 20px) / 2);}
}

.button001 a {
	text-decoration: none;
    background: #d22334;
    border-radius: 10px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 280px;
    padding: 15px 30px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    font-size: 0.9rem;
	box-shadow: 0 5px 1px rgba(146,0,15,1);
}

.button001 .pt20:before {
    content: '★';
	color: #fff260;
    position: absolute;
    left: 10px;
}

@media only screen and (max-width: 767px) {
.button001 .pt20:before {
    content: '★';
	color: #fff260;
    position: absolute;
    left: 10px;
}}

.button001 a:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.button001 a:hover {
	background: #ef4758;
	vcolor: #000;
}


/***************************************************************************

	カテゴリーから選ぶ 

****************************************************************************/
.bl_category_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    padding: 0 5%;
}
.bl_category_list li {
    width: calc((100% - 60px) / 4);
}

@media only screen and (max-width: 767px) {
    .bl_category_list li {
        width: calc((100% - 20px) / 2);
    }
}

/* 背景画像指定 */
.button002 a:first-child{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list01.png);
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;	
}
.button002 li:nth-child(2) a{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list02.png);
	background-repeat: no-repeat;
    background-size: cover;
	background-position: center;
}
.button002 li:nth-child(3) a{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list03.png);
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;	
}
.button002 li:nth-child(4) a{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list04.png);
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;	
}
.button002 li:nth-child(5) a{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list05.png);
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;	
}
.button002 li:nth-child(6) a{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list06.png);
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;	
}
.button002 li:nth-child(7) a{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list07.png);
    background-repeat: no-repeat;
    background-size: cover;
	background-position: center;	
}
.button002 li:nth-child(8) a{
    background: url(/order/html/upload/user_data/feature/christmas/img/2025/category_list08.png);
	background-repeat: no-repeat;
    background-size: cover;
	background-position: center;
}

.button002 a {
	position: relative;
	text-decoration: none;
    border-radius: 10px;
	border: solid 2px #a8983f;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 280px;
    padding: 150px 0 0;
    font-weight: 500;
    font-size: 0.9rem;
	box-shadow: 0 5px 1px rgba(146,0,15,1);
}

.button002 a span{
    position: absolute;
	bottom: 0;
    background: #fff260;
    color: #d80015;
    display: block;
    width: 100%;
    border-radius: 0 0 10px 10px;
    padding: 10px 0;
    text-align: center;
}

.button002 a span:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #d80015;
    border-right: 2px solid #d80015;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.button002 a:hover {
	opacity: 0.8;
}

.button003 {
	margin: 40px 0 0;
}

.button003 a {
	text-decoration: none;
    background: #fff260;
    border: solid 2px #a8983f;	
    border-radius: 10px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 375px;
    padding: 20px 25px;
    color: #d80015;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    font-size: 1rem;
    box-shadow: 0 5px 1px rgba(146, 0, 15, 1);
}

.button003 a:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #d80015;
    border-right: 2px solid #d80015;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.button003 a:hover {
	background: #fff690;
	vcolor: #000;
}

/***************************************************************************

	キャンペーン詳細

****************************************************************************/
.cpDetailList{
    width: 100%;
    display: block;
	background-color: #f1f1f1;
    padding: 40px 5%;
	border-radius: 20px;
	margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
.cpDetailList{
	margin: 0 auto 20px;
}
}

.cpDetailList div{
    color: #333;
    margin: 1% auto 20px;
	overflow: hidden;
	width: 100%;
}

.cpDetailList dt{
    width: 20%;
    float: left;
    padding: 0.25em 0.5em;
    background: transparent;
	position: relative;
    padding-left: 40px;
	font-weight: bold;
}

.cpDetailList dt:before {
    position: absolute;
    top: 0;
    left: 20px;
    width: 6px;
    height: 100%;
    content: '';
    border-radius: 80px;
    background: #018b00;
}

.cpDetailList dd {
	padding-top:3px;
	line-height: 1.6em;
	width: 80%;
	float: right;
}

.cpDetailList dd ul{
}

.cpDetailList dd li{
	margin-bottom: 0.5em;
	text-indent: -1em;
	margin-left: 1em !important;
}


@media only screen and (max-width: 767px) {
.cpDetailList dt {
    width: 100%;
	display: block;
	padding-left: 5%;
}
.cpDetailList dd {
    width: 100%;
    padding-left: 5%;
}
.cpDetailList dt:before {
    position: absolute;
    top: 0;
    left: 0;
}	
}

.cpDetailList dd span {
    display: block;
    font-size: 0.8em;
    text-indent: -1em;
    margin-left: 1em;	
}

.h3Ttl{
    color: #008002;
    font-size: 1.5em;
    text-align: center;
    margin: 3% 0;
	border-bottom: solid #008002 3px;
	line-height: 1.5em;
}

.h3Ttl span{
	display: inline-block;
    padding-bottom: 20px;
}
/*# sourceMappingURL=style2025.css.map */