@charset "utf-8";
/* CSS Document */

/*fade-in*/
 .fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1500ms;
}

.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

h1.fs-c-heading { display: none;}
.sale-bnr { display: none;} 



#original_wrapper h2 {
font-family: "ivymode", sans-serif;
font-weight: 300;
font-style: normal;
    text-align: center;
    font-size: 280%;
}

#original_wrapper h3 {font-family: 'Overpass', sans-serif;font-weight: 600;font-style: normal;text-align: center;font-size: 150%;padding:0;margin:0 0 15px;letter-spacing: 0.6px;}
@media only screen and (min-width: 768px) {#original_wrapper h3 {font-size: 200%;}}

.topimg{
    width: 100vw;
    max-width: 1216px;
    margin-right: auto;
    margin-left: auto;
}
.contents_wrap{color: #000000;}
.contents_wrap h2{/*font-family: 'Noto Serif JP', serif;*/text-align: center;font-size: 200%;}


/*訴求ポイント*/
.box {display: flex;margin: 50px 0 100px;}
.box p{color: #666;}
.box .product:first-child {margin: 50px 50px 0 0;}
.box .product:last-child {margin: 100px 0;}
.imagebox {margin: 100px 0;}
.img_l {width: 80%;margin: auto;}
.img_r {margin-left: 30%;}
.img_01 {padding: 50px 5px 0 0; width: 110%;}
.img_02 {padding: 50px 0 0 5px; width: 80%; margin: 0 auto;}
.img_03 {padding: 50px 5px 0 0; width: 110%;}
.img_04 {padding: 50px 0 0 5px; width: 80%; margin: 0 auto;}
.text_02,.text_04{width: 100%; max-width: 100%;}
.textsp_02,.textsp_04{display: none;}

/*サブタイトル*/
.subtitle {text-align: center;}
.subtitle p {font-size: 150%;}

/*リード*/
.lead {margin: 20px 0 50px;}
.lead p {text-align: center;font-size: 110%;line-height: 1.7em;border-bottom: dotted 3px #d1d1d1;border-top: dotted 3px #d1d1d1;margin: 0 15em;padding: 15px 0;}


/*アイテムmoreボタン*/
.item {
    position: relative;
}

p.more_l {
    position: absolute;
    bottom: 0;
	left: 0;
    width: 25%;
    margin: 0 8px;
}
p.more_l2 {
    position: absolute;
    bottom: 18%;
	left: 0;
    width: 25%;
    margin: 0 8px;
}
p.more_r {
    position: absolute;
    bottom: 0;
	right: 0;
    width: 25%;
    margin: 0 8px;
}
p.more2 {
    position: absolute;
    width: 25%;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    }


/*プロフィール*/
.profile {margin: 50px auto;}

.intro {background-color: #eee;border-radius: 10px;padding: 20px;text-align: center;width: 60%;margin: 0 auto;}

.intro a {display: block;}

.intro img {width: 20%;}

.intro h3 {font-size: 130%;margin-bottom: 30px;}

.intro p {text-align: center;}

/*商品2カラム*/
.items {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  overflow: auto;
  padding: 0;
}
.items li {
  width: 33.33%;
  padding: 15px 0.2em;
  list-style: none;
}
.items li a img {
  display: block;
  width: 100%;
  height: auto;
}

/*商品*/
.item_box {text-align: center;}
.item_box p.number {
    font-size: 200%;
    font-family: 'Noto Serif JP', serif;
	margin: 30px 0 15px;
}
.item_box p.name {
	margin: 10px 0;
	font-weight: bold;
	font-size: 120%;
}
.item_box p.text {
    font-size: 90%;
    color: #666;
}
.item_box p.item-text {
    font-size: 110%;
    color: #666;
}
.item_box p.novelty {
font-size: 100%;
    color: #666;
    text-align: left;
    max-width: 800px;
    margin: 15px auto 30px;
}
.item_box .item {
    margin-bottom: 80px;
}

/*BUYボタン*/
.btn_buy {
    font-size: 150%!important;
    color: #7c664a!important;
    background-color: #fff!important;
    border: 1px solid #7c664a!important;
	width: 30%!important;
	min-width:  30%!important;
	text-decoration: none;
	margin: 0 auto;
}
.btn_buy a {display: block; color: #7c664a!important;}

/*スマホのみ改行*/
.btn_buy a {
	text-decoration: none;
}

/*スペシャル*/
.special h3 {
    margin: 0 auto;
    text-align: center;
    background-color: #999;
    padding: 10px;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-size: 150%;
}

.special {
    margin: 100px auto;
    border: solid #999 2px;
    padding: 5px;
    text-align: center;
    font-size: 150%;
}

span.bgcolor {
    background-color: #8bc34a3b;
}

/*ロゴ*/
.logo_special {
    width: 10%;
	margin: 0 auto;
}

/*PCの横幅*/
section.product {
    margin: 0 auto;
    width: 80%;
    margin-bottom: 30px;
}

.kome {
    text-align: center;
    font-size: 180%;
    font-family: 'Noto Sans JP';
    margin: 100px 0;
    padding: 50px 0;
    border: dashed 1px #000;
}

/*対象アイテムはこちら*/
.period .item_link {
    margin: -2% 0;
    padding: 0;
    width: 26%;
    position: absolute;
    right: 0;
}



/*スマホ設定*/
@media (max-width: 768px) {

/*訴求ポイント*/
.box {display: block;margin: 10px 0; margin-bottom: 80px;}
.box p {letter-spacing: 0.1em;}
.imagebox {margin: 30px 0;}
.box .product:first-child {margin: 0;}
.box .product:last-child {margin: 0;}
.img_l {margin: 0 auto;}
.img_r {margin-left: 50px;}
/*.img_01 {padding: 20px 0 0 20px; width: 100%;}*/
.img_01 {padding: 0; width: 100%;}
/*.img_02 {padding: 5px 100px 0 0; width: 100%; margin: 0;}*/
.img_02 {padding: 0; width: 100%; margin: 0;}
.img_03 {padding: 20px 20px 0 0; width: 100%;}
.img_04 {padding: 5px 0 0 100px; width: 100%; margin: 0;}
.text_02,.text_04{display: none;}
.textsp_02,.textsp_04{display: block; width: 100%; max-width: inherit;}

.br::before {
    content: "\A";
    white-space: pre;
}

.topimg{
margin: 0 calc(50% - 50vw);
width: 100vw;
max-width: inherit;
}

#original_wrapper h2 {
font-family: "ivymode", sans-serif;
font-weight: 300;
font-style: normal;
    text-align: center;
    font-size: 160%;
}

/*サブタイトル*/
.subtitle {text-align: center;}
.subtitle p {font-size: 110%;}

/*リード*/
.lead p {text-align: center;font-size: 90%;line-height: 1.5em;margin: 0 1.5em;}

/*プロフィール*/
.intro {background-color: #eee;border-radius: 10px;padding: 20px;text-align: center;margin: 0;width: 100%;}

.intro img {width: 30%;}

.intro h3 {font-size: 130%;margin-bottom: 30px;}

/*.intro p {text-align: justify;}*/

/*商品*/
.item_box p.name {
	margin: 10px 0;
	font-weight: bold;
	font-size: 100%;
}
.item_box p.item-text {
    font-size: 90%;
    color: #666;
}


/*スペシャル*/
.special h3 {
    margin: 0 auto;
    text-align: center;
    background-color: #999;
    padding: 5px;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-size: 150%;
}

.special {
    margin: 30px 0;
    border: solid #999 1px;
    padding: 5px;
    text-align: center;
    font-size: 120%;
}

.kome {
    font-size: 80%;
}

/*ロゴ*/
.logo_special {
    width: 20%;
	margin: 0 auto;
}

/*アイテムmoreボタン*/
.item {
    position: relative;
}

p.more_l {
    position: absolute;
    bottom: 0;
	left: 0;
    width: 25%;
    margin: 0 8px;
}
p.more_l2 {
    position: absolute;
    bottom: 18%;
	left: 0;
    width: 25%;
    margin: 0 8px;
}
p.more_r {
    position: absolute;
    bottom: 0;
	right: 0;
    width: 25%;
    margin: 0 8px;
}
section.product {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    max-width: inherit;
    margin-bottom: 30px;
}

/*スマホは横幅いっぱい*/
section.product {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    max-width: inherit;
    margin-bottom: 10px;
}

.kome {
    text-align: center;
    font-size: 100%;
    font-family: 'Noto Sans JP';
    margin: 50px 0;
    padding: 10px;
    border: dashed 1px #000;
}

/*対象アイテムはこちら*/
.period .item_link {width: 40%;position: absolute;right: 0;}
}


/*バラバラに出てくるテキスト*/
/*========= レイアウトのためのCSS ===============*/
.title {
    margin: -10px 0 50px;
}
.title p{
font-family: 'Overpass', sans-serif;
font-weight: 600;
font-style: normal;
    text-align: center;
    font-size: 350%;
	line-height: 1em;
}
.title p.small {
    font-size: 200%;
    margin-top: 30px;
}

@media (max-width: 768px) {
.title {
    margin: -20px 0 20px;
}
.title p{
font-family: 'Overpass', sans-serif;
font-weight: 600;
font-style: normal;
    text-align: center;
    font-size: 160%;
}
.title p.small {
    font-size: 90%;
    margin-top: 20px;
}}
/*==================================================
ランダムにテキスト出現する
===================================*/
.TextRandomAnime span{
  opacity: 0;
}
.TextRandomAnime.appearRandomtext span{ 
  animation:text_randomanime_on .5s ease-out forwards;
}

@keyframes text_randomanime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}

.TextRandomAnime.appearRandomtext span:nth-child(2n) {
  animation-delay: .5s;/* spanのついた2の倍数の文字列の変化を0.5秒遅らせる*/
}
.TextRandomAnime.appearRandomtext span:nth-child(3n+1) {
  animation-delay: .15s;/* spanのついた3の倍数＋1の文字列の変化を0.15秒遅らせる*/
}

/*共通*/
p.small {
    font-size: 100%;
}/*フォントサイズ小さく*/


/*説明文*/
.explain {
    text-align: center;
    font-size: 110%;
}
@media (max-width: 768px) {
.explain {
    text-align: center;
    font-size: 90%;
}}



/*earlyspring2024設定*/
.earlyspring2024 .fs-pt-column--3 {grid-template-columns: 1fr 1fr 1fr;}/*コラムスマホも3列に*/
.earlyspring2024 a.fs-pt-column__item {text-decoration: none!important;color: #666!important;line-height: 1.2em;text-align: left;}/*コラムのリンクテキスト共通設定*/
@media only screen and (min-width: 750px) {.earlyspring2024 .fs-pt-column__heading {font-size:80%;}}/*コラムのリンクテキストPC設定*/
.item p.number {font-size: 150%;color: #fff;font-family: "ivymode", sans-serif;font-weight: 300;font-style: normal;background-color: #ccc;margin: 0 auto 30px;text-align: center;border-radius: 30px;width: 50%;}
@media only screen and (min-width: 750px) {.item p.number {font-size: 200%;}}
.explain button { margin-bottom: 30px;border: solid 1px #999; padding: 6px 10px  3px;}
hr {margin-bottom: 30px;opacity: 0.5;}
.explain a {color: #333!important;}
.explain a:hover {color: #333!important;}
.pagelink {display: block;text-align: center;color: #333;background-color: #ffffff;padding: 8px 2px 5px;margin: 30px auto 50px;width: 40%;text-decoration: none;border: solid 1px #333;}
@media only screen and (min-width: 750px) {.pagelink {margin: 30px auto 100;width: 40%;}}

/*コーデ一覧設定*/
#original_wrapper .fs-pt-column__description {font-size: 90%;letter-spacing:0.5px;}
#original_wrapper .fs-pt-column__heading {margin: 5px 0 8px;}
@media only screen and (min-width: 750px) {#original_wrapper .fs-pt-column__heading {padding:0; font-size:90%; margin: 5px 0 8px;}
#original_wrapper .fs-pt-column__description {font-size: 80%;letter-spacing:0.2px;}
}



/*========= 流れるテキストレイアウトのためのCSS ===============*/

p.telop{
  margin: 20px;
  font-size: 110%;
  overflow: hidden;/*左右アニメーションで画面からはみ出る際に出る横スクロールバーを隠す*/
}

/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
  overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
  display: inline-block;

}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
  transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:1s;
  animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
  transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}


/*========= SETアイテムレイアウトのためのCSS ===============*/

/*SETアイテムリンク(2列で配置)*/
.set_box {padding: 0 0.5em; margin-bottom: 50px;}
.set_item img {border:solid 1px #e5e5e5;}
.set_item a {font-weight: normal;color: #333;font-size: 100%;}
.set_item a.more {padding: 3px 0;margin: 10px auto;}
.set_item_text {margin: 5px;text-align: center;}
.set_item_text .link {font-weight: bold;color: #dc143c;}
.set_item .sale-price {font-size: 180%;color: #cc0000;}
#original_wrapper .price small {font-size:60%;}
.set_item {width: 49%;height: auto;margin: 0 0 50px;position: relative;border-bottom: dashed 1px #999;padding-bottom: 50px;}
.set_item:nth-child(odd){margin-right: 2%;}
.set_item:last-child{border-bottom:none;}
a.item {display: block;padding: 10px;text-align: center;border: solid 1px #999;border-bottom: none;}
a.item::after {content: "▼";display: flow;position: absolute;top: 50%;right: 1em;transform: translateY(-50%) rotate(-90deg);font-size: 80%;}
a.item:last-child {border-bottom: solid 1px #999;}
p.off-rate {color: #ffffff;width: 35%;margin: 10px auto;padding: 2px 0 0;font-weight: 400;font-size: 130%;background-color: #b82929;border-radius: 100px;}
p.name { font-size: 120%; font-weight: bold; line-height: 1.2em;}
.hr01{border-top: 1px solid #999; margin-top: calc(80 / 750 * 100vw);}
.hr02{border-top: 1px solid #999; margin-bottom: calc(80 / 750 * 100vw);}
@media only screen and (min-width: 768px) {
.set_box {max-width: 1216px;flex-wrap:nowrap;}
.set_item a.more {margin-top: 20px!important; padding:8px 0;}
.set_item {border-bottom:none; margin-bottom:0;}		   
p.off-rate {width: 30%;font-size: 150%;margin-top: 10px;margin: 15px auto;}
p.explanation { text-align: center; padding: 10px; font-size: 120%;}
.set_item a {font-weight: normal;color: #333;font-size: 120%;}
p.off-rate {width: 7em;border: solid 3px;font-size: 150%;}
}


/*割引率毎にグループ分けタイトルあり*/

@media only screen and (min-width: 768px) {.off10,.off20 {
    display: flex;
    border-bottom: dashed 1px #999;
    margin-bottom: 30px;
}}

.off10 .set_item, .off20 .set_item{
    width: 100%;
}

h4.off10tit,h4.off20tit {
    text-align: center;
    background-color: #77c7cc;
    color: #FFF;
    padding: 0.4em 0;
    margin: 1em 0;
    font-size: 140%;
    font-weight: 500;
}
h4.off20tit {background-color: #c77877;}


/*========= SETアイテムレイアウトのためのCSSここまで ===============*/