@charset "utf-8";
/* CSS Document */
body {
	display: block;
    margin: auto;
	font-family: Open Sans,Helvetica Neue,Helvetica,Arial,Verdana,Roboto,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,游ゴシック,Yu Gothic,游ゴシック体,YuGothic,Meiryo UI,メイリオ,Meiryo,ＭＳ Ｐゴシック,MS PGothic,sans-serif;
    webkit-font-smoothing: antialiased;
    background: #DEDDCF;
	background-image: url(/client_info/ATAROMA/view_preview/userweb/ext/forest-edition/img/FE_bg_PC.gif);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
}

@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
li {
	color: #4d4d4d;
	font-size: 14px;
}

a {
	color: #424242;
  	text-decoration: none;
  	-webkit-transition: all 0.35s ease-out;
  	transition: all 0.35s ease-out;
  	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.35);
}
a:active, a:hover {
	outline: 0;
}
a:focus {
	outline: none;
}

@media screen and (min-width: 640px) {
	.sp {
		display: none;
	}
}

.menu-wrap-l {
    position: fixed; /* 画面に固定 */
    bottom: 50px;
	left: 15%; /* 左端に配置 */
}
.menu-wrap-r {
    position: fixed; /* 画面に固定 */
    bottom: 50px;
	right: 15%; /* 右端に配置 */
}

.side__menu_store a {
    text-decoration: none;
    color: #898775;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    padding: 14px 14px;
    width: 190px;
    margin: 20px 0;
    border: solid 1px #898775;
}
.menu-wrap-r a {
    text-decoration: none;
    color: #898775;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    padding: 14px 14px;
    width: 190px;
    margin: 20px 0;
    border: solid 1px #898775;
}
.side__menu_store a:hover, .menu-wrap-r a:hover {
	  color: #898775;
  background: #c4c3ba;
	border: solid 1px #898775;
}
.menu-wrap-l img {
	width: 15%;
	margin-bottom: 20px;
}



/*header*/
.header {
    max-width: 375px;
	height: auto; 
    overflow: hidden; /* 拡大してもはみ出さないように */
    position: relative;
    margin: 0 auto;
	outline: solid 1px transparent;
}
.header__box {
    max-width: 375px;
	position: fixed;
	justify-content: space-between;
	align-items: center;
    background-color: rgba(255, 255, 255, 0.5); /* 半透明のベージュ背景 */
    width: 100%; /* 親要素の幅に合わせる */
    padding: 16px 0; /* 背景に余白を追加して調整 */
	margin: 0 auto;
    z-index: 999; /* 他の要素より上に配置するため */
}
.logo_btn img {
    width: 30%; /* 画像の幅を調整 */
    position: relative;
    z-index: 4;
	display: block;
	margin: 0 auto;
}

.menu-button, .menu-overlay {
	display: none;
}

@media screen and (max-width: 1240px) {
	.menu-wrap-l {
		left: 4%; /* 左端に配置 */
	}
	.menu-wrap-r {
		right: 4%; /* 右端に配置 */
	}
}

@media screen and (max-width: 950px) {
	.menu-wrap-l a, .menu-wrap-r a {
	display: none;
}
	.menu-wrap-l p {
	display: none;
}
	
	.header__box {
		display: flex;
		align-items: center;
	}
	.logo_btn img {
        margin: 0;
        padding-left: 28px;
	}
	
	.menu-overlay.active {
        display: flex;
}
	.menu-button {
		display: flex;
}
	/* メニューボタンのスタイル */
	.menu-button {
        width: 40px;
        height: 40px;
        background: none;
        border: none;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-right: 35px;
        z-index: 999;
}
	/* ハンバーガーメニューの線 */
	.menu-button span {
    display: block;
    width: 20px;
    height: 3px;
    background: #6A685A;
    margin: 2px 0;
    transition: 0.3s;
	}
	/* メニューが開いたときのアニメーション */
	.menu-button.active span:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}
	.menu-button.active span:nth-child(2) {
		opacity: 0;
	}
	.menu-button.active span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}
	/* メニューの背景 */
	.menu-overlay {
		position: fixed;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(195, 195, 185, 1.0);
		display: none;
		justify-content: center;
		align-items: center;
		max-width: 375px;
		margin: 0 auto;
	}
	/* メニューのコンテンツ */
	.menu-content ul {
		list-style-type: none; /* 箇条書きの点を消す */
		padding: 0; /* 左側の余白をなくす */
		margin: 0;
	}
	.menu-content ul li a {
		color: #ffffff; /* 文字を白くする */
		font-weight: 600; /* 文字を太くする */
		text-decoration: none; /* リンクの下線を消す（必要に応じて） */
	}
	.menu-content ul li {
		margin-bottom: 20px; /* アイテム間にスペースを追加（必要に応じて調整） */
	}
	.menu-content p {
		color: #ffffff;
	}
	.menu-content a:hover {
		text-decoration: underline 2px #ffffff;	
	}
	
	.menu-content img {
	width: 15%;
	margin-bottom: 20px;
}
}
@media (max-width: 375px) {
    .header__box {
        max-width: 100%;
    }
}

@media screen and (max-width: 439px) {
	.logo_btn img {
        width: 35%;
	}
}
@media screen and (max-width: 399px) {
	.header {
		height: 570px; /* 好きな高さを指定 */
	}
}
@media screen and (max-width: 379px) {
	.logo_btn img {
        width: 35%;
	}
}
@media screen and (max-width: 365px) {
	.header {
		height: 520px; /* 好きな高さを指定 */
	}
}

/*TOP*/
#top {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: #ffffff;
}

/* 背景画像ボックス */
.img-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('/client_info/ATAROMA/view_preview/userweb/ext/holiday2026/img/LP_HG26_TOP.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;

  animation: zoomIn 3s ease-out forwards;
  transform: scale(1.1);
}

@keyframes zoomIn {
  0% {
    transform: scale(1.1);
    opacity: 0.8;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}


/* テキストエリア */
.title {
  position: absolute;
  bottom: 0;
  margin: 0 auto;
  z-index: 3;
}

.title img,
.title h1 {
    width: 100%;
    display: block;
    padding: 8px 0 18px;
    margin: 0 auto;
}

.title h2 {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin: 0 auto;

  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1.2s ease-out forwards;
  animation-delay: 2.2s; /* オーバーレイが暗くなった後に表示 */
}
.title p {
	color: #ffffff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1.2s ease-out forwards;
  animation-delay: 3.2s; /* オーバーレイが暗くなった後に表示 */
}

.title h1 {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1.2s ease-out forwards;
  animation-delay: 1.2s; /* h2より少し遅らせて時差をつける */
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


@media screen and (max-width: 950px) {
	.title {

  bottom: 0;

}
}



main {
	/*background: #F2F2F3*/
	max-width: 375px;
	margin: 0 auto;
	display: block;
}

/*intro*/
.intro {
    width: 315px;
    margin: 0 auto;
    padding: 80px 30px 40px;
	background-color: #F2F2F3;
}

.intro p {
	font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #6A685A;
    margin: 28px 0 0;
}
.intro p:first-child {
	margin-top:0;
}

.intro p:last-child {
	margin-bottom:0;
}

/* 香り */
.sf {
	background-color: #F8ECEC;
	border-radius: 195px;
}
.cg {
	background-color: #FCFAD5;
	border-radius: 195px;
}
.nw {
	background-color: #F3E5CD;
	border-radius: 195px;
}
  .spin {
    display: block;
    width: 40%;
    height: auto;
    margin: 0 auto;
    padding: 100px 0 20px;
    animation: spin 2.8s ease-in-out forwards;
	animation-play-state: paused;
  }
 
  @keyframes spin {
    from { transform: perspective(800px) rotateY(0deg); }
    to   { transform: perspective(800px) rotateY(360deg); }
  }
 
  .scent__contents {
    opacity: 0;
    animation: show 1s ease-out 2.8s forwards;
	animation-play-state: paused;
  }
 
  @keyframes show {
    to { opacity: 1; }
  }

	section.is-active .spin,
	section.is-active .scent__contents {
	  animation-play-state: running;
	}

	.name { 
		width: 100%;
		animation-delay: 2.8s;
	}
	.txt  {
		text-align: center;
		color: #6A685A;
		margin: 0;
		padding: 20px;
		font-size: 14px;
		animation-delay: 3.3s;
}
	.ingredient  { 
		text-align: center;
		color: #6A685A;
		margin: 0;
		font-size: 12px;
		animation-delay: 3.8s; } 

  /* point */
  .h-scroll-section {
    position: relative;
  }
  .h-scroll-sticky {
    position: sticky;
    top: 0;
    height: 95vh !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    margin: 0 auto;
  }
  .h-scroll-track {
    display: flex;
    gap: 2px;
    padding: 0;
    will-change: transform;
  }
  .card {
	flex: 0 0 100%;
	display: flex;
	align-items: center;
	justify-content: center;
  }

.card img {
	display: block;
    width: 100%;
    height: auto;
}
.story__txt {
	background-color: #ffffff;
}
.story__txt p {
  width: 315px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0 30px;
  margin: 0;
  background: none;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #6A685A;
}

/*oilset*/
.oilset, .tokiset {
	background: #F2F2F3;
	margin: 40px auto;
	scroll-margin-top: 80px;	
}
.oilset_title {
    position: relative;
    height: auto;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    padding-top: 350px;
    padding-bottom: 20px;
    margin: 0 auto;
	background-image: url(/client_info/ATAROMA/view_preview/userweb/ext/holiday2026/img/LP_HG26_OILset_tobira.jpg);
}
.tokiset_title {
    position: relative;
    height: auto;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    padding-top: 350px;
    padding-bottom: 20px;
    margin: 0 auto;
	background-image: url(/client_info/ATAROMA/view_preview/userweb/ext/holiday2026/img/LP_HG26_TOKIset_tobira.jpg);
}

.oilset_title img, .tokiset_title img {
    position: absolute;
    bottom: 20px;
    width: 95%;
    margin: 0 auto;
    height: auto;
    z-index: 1;
    left: 10px;
    right: 10px;
}

.oilset_txt, .tokiset_txt {
	max-width: 315px;
	padding: 40px 0;
	margin: 0 auto;
}
.oilset_txt h4, .tokiset_txt h4 {
	text-align: center;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #6A685A;
	margin: 0 auto;
	padding-bottom: 40px;
}
.layering, .method {
	display: block;
	width: 315px;
	margin: 0 auto;
}
.layering img, .method img {
	width: 100%;
	margin: 0 auto;
}
.layering h4, .method h4 {
	text-align: left;
    color: #6A685A;
    font-size: 14px;
    font-weight: bold;
    padding: 10px 0;
}
.layering p, .method p {
	text-align: left;
    color: #6A685A;
    font-size: 12px;
    margin: 0;
}

.fragrance_sf {
	background-color: #F8ECEC;
	border-radius: 195px;
}
.fragrance_title {
max-width: 315px;
    padding: 80px 0 0;
    margin: 0 auto;
}
.fragrance_title img {
	display: block;
    max-width: 315px;
    margin: 0 auto;
}
.fragrancet_txt {
	display: block;
	max-width: 315px;
	margin: 0 auto;
}
.fragrancet_txt h4 {
    font-size: 14px;
    font-weight: normal;
    text-align: center;
	color: #6A685A;
}
.fragrancet_txt p {
	font-size: 12px;
	font-weight: normal;
    text-align: center;
	color: #6A685A;
}
.recipe {
    margin: 20px auto 0;
    border-top: solid 1px #6A685A;
    border-bottom: solid 1px #6A685A;
}
.recipe p {
	font-size: 12px;
    color: #6A685A;
    padding: 20px 0;
    margin: 0;
	text-align: left;
}

.novelty {
	background: #F2F2F3;
	border: solid 2px #AE9461;
	margin: 40px auto 0;
	padding: 80px 0;
	scroll-margin-top: 80px;	
}
.novelty img {
	width: 100%;
	margin: 0 auto;
}
.novelty p {
	color: #6A685A;
	font-size: 14px;
    margin: 0 auto;
    padding: 0 40px;
}
.novelty small {
	display: block;
    color: #6A685A;
    font-size: 12px;
    margin: 0 auto;
    padding: 40px 40px 0;
}



/*line-up*/
#lineup {
	scroll-margin-top: 80px;
}
#lineup h2 {
	max-width: 315px;
	font-size: 24px;
	color: #898775;
	line-height: 1.75;
	letter-spacing: 0.05em;
	margin: 0 auto;
}

#food__lineup {
	background: #F8EAC5;
	width: 315px;
    margin: 20px auto 0;
    padding-top: 10px;
	scroll-margin-top: 80px;
}
#beverages__lineup {
	background: #C1DBDA;
	width: 315px;
    margin: 20px auto 0;
    padding-top: 10px;
	scroll-margin-top: 80px;
}

.lineup_F {
	background: #F8EAC5;
	width: 95%;
	margin: 0 auto;
	border: solid 1px #F8EAC5;
}
.lineup_B {
	background: #C1DBDA;
	width: 95%;
	margin: 0 auto;
	border: solid 1px #C1DBDA;
}

.food__lineup_title, .beverages__lineup_title {
	position: relative;
	width: 95%;
	height: auto;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align: left;
	padding-top: 190px;
	padding-bottom: 20px;
	margin: 0 auto;
}
.food__lineup_title {
	background-image: url(/client_info/ATAROMA/view_preview/userweb/ext/flavoring/img/LP_FLV_lineup_F.jpg);
}
.beverages__lineup_title {
	background-image: url(/client_info/ATAROMA/view_preview/userweb/ext/flavoring/img/LP_FLV_lineup_B.jpg);
}
.food__lineup_title img, .beverages__lineup_title img {
	position: absolute;
	top: 0;
	left: 0;
	width: 90px;
	height: auto;
	z-index: 10;
}
.food__lineup_title h3, .beverages__lineup_title h3 {
	color: #ffffff;
	font-size: 24px;
	margin: 0 auto;
	padding-left: 20px;
}
.food__lineup_title h4, .beverages__lineup_title h4 {
	color: #ffffff;
	font-size: 16px;
	letter-spacing: 0.025em;
	margin: 0 auto;
	line-height: 1.25;
	padding-left: 20px;
	padding-bottom: 10px;
}

.food__lineup_txt p, .beverages__lineup_txt p {
    text-align: center;
    max-width: 315px;
    font-size: 14px;
    line-height: 1.75;
    margin: 0 auto;
    padding: 40px 0 20px;
    font-weight: bold;
    color: #898775;
}
.sign_tag {
	background: #728b70;
	margin: 10px 0 0 0;
}
.sign_tag p {
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	margin: 0;
	padding: 10px 0 0 0;
}
.sign_tag img {
	margin: 0 auto;
	padding: 10px 0;
	width: 70%;
	display: block;
}

/* ペアリング例イメージ　スライダー */
.slide-container {
	width: 100%;
	max-width: 480px;
	margin: 0 auto 40px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.slide-wrapper {
	display: flex;
	animation: slide-flow 40s infinite linear 1s both;
}
.slide {
	flex: none;
	width: 100px;
	padding-left: 5px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.slide img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	display: block;
}
.slide small {
	display: block;
	margin-top: 5px;
	font-size: 10px;
	letter-spacing: 0.05em;
	color: #6A685A;
	text-align: left;
	white-space: nowrap;
}
@keyframes slide-flow {
	0% { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}

.js-accordion__toggle {
	display: none;
}
.js-accordion__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}
.lineup__item {
	background: #fff;
	margin-bottom: 2px;
}
.lineup__item:last-child {
	margin-bottom: 10px;
}
.lineup__label {
	display: flex;
	align-items: stretch;
	gap: 10px;
	padding: 16px 35px 16px 16px;
	cursor: pointer;
	position: relative;
	transition: background 0.2s;
}

.lineup__icon {
	flex: none;
	width: 75px;
	overflow: hidden;
}
.lineup__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.lineup__heading {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	min-width: 0;
}
.lineup__title {
	font-size: 16px;
	letter-spacing: 0.08em;
	color: #898775;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 250px;
}
.lineup__subtitle {
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #898775;
}

.lineup__label::after {
	content: "+";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 28px;
	font-weight: 100;
	color: #898775;
	line-height: 1;
}
.lineup__item input[type="checkbox"]:checked ~ .lineup__label::after {
	content: "−";
}

.lineup__summary {
	display: block;
	font-size: 14px;
	line-height: 1.5;
	color: #6A685A;
}
.lineup__content-inner {
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	padding: 0 20px 24px;
}
.lineup__note {
	display: block;
	font-size: 12px;
	letter-spacing: 0.05em;
	color: #6A685A;
	margin-bottom: 16px;
	text-align: center;
}

.lineup__detail {
	margin-bottom: 16px;
	padding: 20px;
	border-top: solid 1px #898775;
	border-bottom: solid 1px #898775;
}
.lineup__detail p {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: #898775;
	margin: 0 0 6px 0;
	text-align: center;
}
.lineup__detail ul {
	padding-left: 12px;
	margin: 0;
}
.lineup__detail li {
	font-size: 14px;
	color: #6A685A;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin: 0 auto;
	padding: 0;
} 

.lineup__content-inner img {
	width: 80%;
	display: block;
	margin: 0 auto;
}

.lineup__price {
	display: block;
    font-size: 12px;
    letter-spacing: 0.05em;
    color: #6A685A;
    text-align: center;
    padding: 40px 0 20px;
}


/*btn*/
.cart__btn {
	width: 250px;
    margin: 0 auto;
    display: block;
    text-align: center;
    padding: 18px 0;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #ffffff;
    background: #898775;
    text-decoration: none;
}
.cart__btn:hover {
  color: #898775;
  background: #c4c3ba;
}



/*store*/
.store{
	max-width: 375px;
	margin: 0 auto;
	padding: 40px 0;
	/* outline: solid 1px #ffffff; 枠線を内側に */
	/* outline-offset: -1px; 枠を内側に寄せる */
}
.store-wrap p {
	margin: 0 auto;
    padding: 16px 0 0;
    width: 272px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color:#ffffff;
	text-align: center;
	display: block;
}
.store-wrap a {
	margin: 16px auto;
    padding: 24px 0;
    width: 250px;
    background: #898775;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #ffffff;
    text-align: center;
    display: block;
}
.store-wrap a:hover {
    color: #898775;
    background: #c4c3ba;
}


/*footer*/
.footer {
    background: #ffffff;
    max-width: 375px;
    margin: 0 auto;
    display: block;
}
.footer-nav {
	text-align:center;
	margin: 0;
	padding: 40px 10px 0;
}
.footer-nav li {
	font-size: 12px;
	display: inline-block;
}
.footer-nav li a:hover {
	text-decoration: underline;
}
.footer-nav li+li {
	margin-left: 8px;
	padding-left: 8px;
	border-left: 1px solid #c1c1c1;
}
.footer-copy {
	font-family: "Abel", sans-serif;
	font-size: 12px;
	text-align: center;
	margin: 0;
	padding: 40px 0 80px;
}


