@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 {
    margin-top: 10px;
}

#original_wrapper h2 {
font-family: 'Overpass', sans-serif;
font-weight: 600;
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;letter-spacing: 0.6px;}

#original_wrapper h3 {margin-top:20px;}
		
#original_wrapper .item_area {padding: 50px 0;}
#original_wrapper .item_area:nth-child(2n) {background:#ececea;}


/*値段*/
p.price { font-size: 130%;margin-bottom: 10px;}
@media (min-width: 768px) {p.price { font-size: 130%;margin-bottom: 20px;}}

.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;}

/*アイテム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: 'Overpass', sans-serif;
font-weight: 600;
font-style: normal;
    text-align: center;
    font-size: 160%;
}

#original_wrapper h3 {margin-top:20px;}
		
#original_wrapper .item_area {padding: 20px 0;}
#original_wrapper .item_area:nth-child(2n) {background:#ececea;margin: 0 calc(50% - 50vw);}
	
/*サブタイトル*/
.subtitle {text-align: center;}
.subtitle p {font-size: 110%;}

/*リード*/
.lead p {text-align: center; font-size: 90%;line-height: 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;
}

.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: "gyst-variable", sans-serif;font-weight: 700;font-style: normal;background-color: #ccc;margin: 0 auto 20px;text-align: center;border-radius: 30px;width: 20%;padding: 5px 0 0;letter-spacing: 0.1em;}
@media only screen and (min-width: 750px) {.item p.number {font-size: 200%;width: 15%;}}
.explain button { margin-bottom: 30px;border: solid 1px #999; padding: 6px 10px  3px;}
hr {margin-bottom: 0;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 10px;width: 40%;text-decoration: none;border: solid 1px #333;}
@media only screen and (min-width: 750px) {.pagelink {margin: 30px auto;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;
  }
}



/*アイテムのレイアウト指定*/	
.thumbnail {
	flex-wrap: wrap; /* 画面幅に合わせてカラム落ちさせる */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px auto 100px;
	width: 60%;
}
@media (max-width: 768px) {
.thumbnail {
    width: 95%;
    margin-bottom: 20px;
}

.thumbnail .icon:nth-of-type(1) :after {margin-bottom: 30px; width: 100%;}}

.thumbnail .icon {
    width: calc(95% / 3);  /* お好みの幅で指定 */
    padding: 0;  /* お好みの幅で指定 */
    /* paddingと合わせてbox-sizingも指定 */
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box
}
/*.thumbnail .icon:nth-of-type(1) :after {
    content:"";
}*/
.thumbnail .icon :after{
    content:"▼";
    font-size: 60%;
    margin: 0 45%;
}
@media screen and (min-width: 768px){
.thumbnail .icon :after{
    content:"▼";
    font-size: 70%;
    margin: 0 48%;
}}
.icon img {
    width: 100%;
}

/* 最後のコンテンツを左寄せにする指定 */
.thumbnail:after {
    content: "";
    display: block;
    width: 24%;  /* .iconに指定したwidthと同じ幅を指定する */
    height: 0;
}

@media screen and (min-width: 751px){
.thumbnail .icon {
    width: calc(95% / 3);  /* お好みの幅で指定 */
    padding: 5px 0;  /* お好みの幅で指定 */
}
}
/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

.icon{
  opacity: 0%;
}

/*==================================================
ふわっ
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time02{
animation-delay: 0.2s;
}
.delay-time04{
animation-delay: 0.4s;
}
.delay-time06{
animation-delay: 0.6s;
}
.delay-time08{
animation-delay: 0.8s;
}
.delay-time10{
animation-delay: 1.0s;
}
.delay-time12{
animation-delay: 1.2s;
}
.delay-time14{
animation-delay: 1.4s;
}
.delay-time16{
animation-delay: 1.6s;
}

.concept h2 {text-align: center;font-weight: bold;font-size: 200%;}
.concept p {text-align: center;font-size: 120%;}
@media screen and (max-width: 768px) {
.concept h2 {text-align: center;font-weight: bold;font-size: 130%;}
.concept p {text-align: center;font-size: 100%;}
}


/*-----アンカーリンク-----*/
.link::before {
    display: block;
    height: 7rem;
    margin-top: -5rem;
    content: "";
}
@media only screen and (min-width: 750px) {
.link::before {
    display: block;
    height: 15rem;
    margin-top: -5rem;
    content: "";
}}
/*-----アンカーリンクここまで-----*/