/* 9th Anniversary Official Store Event */
body{
	font-family: "Noto Sans JP", sans-serif !important;
}
.fs{
	font-family: "Noto Serif JP", serif !important;
}

.seo_only{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -0.069vw;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#ev9-9th {
--ev9-orange: #f45108;
--ev9-dark: #363636;
--ev9-ink: #262626;
width: 100%;
margin: 0 auto;
color: var(--ev9-ink);
font-family: "Noto Sans JP", sans-serif;
font-size: .972vw;
font-feature-settings: "palt";
line-height: 1.75;

}
#ev9-9th *, #ev9-9th *::before, #ev9-9th *::after {
 box-sizing: border-box; 
}
#ev9-9th img {
 display: block; width: 100%; height: auto; 
}
#ev9-9th a {
 color: inherit; text-decoration: none; 
}
#ev9-9th a:hover {
 color: inherit !important; text-decoration: none; 
}
#ev9-9th .ev9-hero {
 position: relative; width: 100%; 
}
#ev9-9th .ev9-hero img {
 width: 100%; 
}
#ev9-9th .ev9-hero-title {
 position: absolute; top: 3.5%; left: 50%; width: 90%; margin: 0; transform: translateX(-50%); color: #fff; text-align: center; font-size: 2.361vw; font-weight: 500; letter-spacing: .08em; text-shadow: 0 1px 8px rgba(0,0,0,.12); 
}
#ev9-9th .ev9-inner {
 width: min(100% - 48px, 760px); margin: 0 auto; 
}
#ev9-9th .ev9-index {
 padding: 4.306vw 0 4.583vw; background: #fff; 
}
#ev9-9th .ev9-index h2 {
 margin: 0 0 0.417vw; font-size: 3.333vw; font-weight: 500; letter-spacing: .1em; 
}
#ev9-9th .ev9-index p {
 margin: 0 0 1.250vw; font-size: 1.042vw; letter-spacing: .1em; 
}
#ev9-9th .ev9-index-list {
 border-top: 1px solid #d5d5d5; 
}
#ev9-9th .ev9-index-list a {
 display: flex; align-items: center; min-height: 48px; border-bottom: 1px solid #d5d5d5; font-size: 1.042vw; letter-spacing: .08em; 
}
#ev9-9th .ev9-index-list a:last-child {
 border-bottom: 0;
}
#ev9-9th .ev9-index-list a span {
 margin-right: 0.347vw; color: var(--ev9-orange); font-size: 1.250vw; 
}
#ev9-9th .ev9-index-list a i {
 position: relative; width: 30px; height: 30px; margin-left: auto; border: 1px solid #777; border-radius: 50%; 
}
#ev9-9th .ev9-index-list a i::before {
content: "";
  position: absolute;
  left: 13.5px;
  top: 6px;
  width: 1px;
  height: 15px;
  background: #777;
}
#ev9-9th .ev9-index-list a i::after {
content: "";
  position: absolute;
  left: 9.0px;
  top: 10px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #777;
  border-bottom: 1px solid #777;
  transform: rotate(45deg);
}
#ev9-9th .ev9-coupon {
 position: relative; padding: 2.500vw 1.528vw 0.3vw; background: radial-gradient(ellipse at 85% 38%, #ff8e20 0, #fa8304 38%, #e64b00 100%); color: #fff; text-align: center; 
}
#ev9-9th .ev9-coupon-band {
 position: absolute; top: 0; left: 50%; transform: translateX(-50%); min-width: 220px; padding: 0.278vw 1.042vw; background: #ef3600; font-size: 1.042vw; letter-spacing: .1em; 
}
#ev9-9th .ev9-coupon-en {
 margin: 0; font: italic 1.111vw "Noto Serif JP", serif; 
}
#ev9-9th .ev9-coupon-value {
 margin: -0.278vw 0 0; font-size: 7.778vw; line-height: 1.05; font-weight: 300; letter-spacing: -.06em; 
}
#ev9-9th .ev9-coupon-value small {
	font-size: .56em; 
	padding: 0 2vw;
}
#ev9-9th .ev9-coupon-value span {
	font-size: .53em; letter-spacing: -.0em; 
}
#ev9-9th .ev9-coupon-copy {
 margin: 0.278vw auto 0.556vw; padding: 0.903vw 0; border-top: 1px solid rgba(255,255,255,.6); max-width: 720px; font-size: 0.972vw; letter-spacing: .06em; 
}
#ev9-9th .ev9-coupon-note {
 margin: 0 0 0.972vw; font-size: 0.764vw; 
}
#ev9-9th .ev9-period {
 margin: 0.694vw 0; padding-left: 0.625vw; font-size: 0.972vw; font-weight: 500; letter-spacing: .06em; line-height: 1.5; 
}
#ev9-9th .ev9-period span{
border-right: 1px solid #848484;
border-left: 1px solid #848484;
	padding:0vw 1.5vw;
}
#ev9-9th .ev9-coupon .ev9-period {
 margin: 0 -1.528vw; padding: 1.556vw 0.833vw; border: 0; background: #eee; color: #222; font-size: 0.972vw; 
}
#ev9-9th .ev9-coupon .ev9-period span{
border-right: 1px solid #848484;
border-left: 1px solid #848484;
	padding:0vw 1.5vw;
}
#ev9-9th .ev9-programs {
 padding: 4.444vw 0 5.000vw; background: linear-gradient(#393939, #292929); 
}
#ev9-9th .ev9-section {
 scroll-margin-top: 1.944vw; margin-bottom: 5.000vw; 
}
#ev9-9th .ev9-layout-left {
 width: 90%; margin-left: 0; margin-right: auto; 
}
#ev9-9th .ev9-layout-right {
 width: 90%; margin-left: auto; margin-right: 0; 
}
#ev9-9th .ev9-section:last-child {
 margin-bottom: 0; 
}
#ev9-9th .ev9-section-heading {
 display: flex; align-items: center; gap: 12px; margin-bottom: 0.833vw; color: #fff; 
}
#ev9-9th .ev9-layout-left .ev9-section-heading {
 padding-left: 9vw;
}
#ev9-9th .ev9-section-heading > span {
 color: var(--ev9-orange); font-size: 4.444vw; font-weight: 300; line-height: 1; 
}
#ev9-9th .ev9-section-heading small {
 display: block; margin-bottom: 0.069vw; color: var(--ev9-orange); font-size: 0.903vw; letter-spacing: .05em; 
}
#ev9-9th .ev9-section-heading h2 {
 margin: 0; font-size: 1.875vw; font-weight: 400; letter-spacing: .08em; line-height: 1.35; 
}
#ev9-9th .ev9-section-heading h2 b {
 padding: 0.139vw 0.417vw; background: var(--ev9-orange); font-size: .58em; font-weight: 400; letter-spacing: .04em; white-space: nowrap; 
}
#ev9-9th .ev9-main-image {
 width: 100%; 
}
#ev9-9th .ev9-card {
 padding: 1.528vw 7%; background: #f2f2f2; color: #333; font-size: 0.972vw; letter-spacing: .07em; 
}
#ev9-9th .ev9-card > p:first-child {
 margin-top: 0; 
}
#ev9-9th .ev9-card p {
 margin-bottom: 0.694vw; 
}
#ev9-9th .ev9-button {
display: block;
  width: 100%;
  margin: 0.625vw 0 0;
    margin-top: 0.625vw;
  padding: 2.625vw 0.833vw;
  border: 1px solid #ff5b21;
  color: #f45108 !important;
  text-align: center;
  font-size: 1.042vw;
  line-height: 1.5;
}
#ev9-9th .ev9-button-group {
  display: flex;
  flex-direction: column;
  gap: 3vw;
  margin-top: 3vw;
}
#ev9-9th .ev9-button-group .ev9-button {
  margin: 0;
}
#ev9-9th .ev9-button.ev9-solid {
 background: var(--ev9-orange); color: #fff !important; 
}
#ev9-9th .ev9-button.ev9-disabled {
 border-color: #fff; background: #fff; color: #bbb !important; 
}
#ev9-9th .ev9-perk {
 display: flex; align-items: center; gap: 14px; margin: 0.833vw 0; padding: 0.625vw 0.972vw; background: #e5e5e5; 
}
#ev9-9th .ev9-perk strong {
 display: grid; place-content: center; flex: 0 0 58px; height: 58px; border-radius: 50%; background: var(--ev9-orange); color: #fff; font-weight: 500; text-align: center; line-height: 1.25; 
}
#ev9-9th .ev9-perk p {
 margin: 0; 
}
#ev9-9th .ev9-perk b span {
 color: var(--ev9-orange);
}
#ev9-9th .ev9-perk b {
 color: #222;
}
#ev9-9th .ev9-bonus h3 {
 color: var(--ev9-orange); 
}
#ev9-9th .ev9-bonus {
 display: flex; align-items: flex-start; gap: 14px; 
}
#ev9-9th .ev9-bonus > strong {
 display: grid; place-content: center; flex: 0 0 58px; height: 58px; border: 1px solid #ff723f; border-radius: 50%; color: var(--ev9-orange); text-align: center; font-weight: 400; line-height: 1.2; 
}
#ev9-9th .ev9-bonus > strong b {
 font-size: 1.736vw; font-weight: 400; 
}
#ev9-9th .ev9-bonus > div {
 flex: 1; min-width: 0; 
}
#ev9-9th .ev9-bonus h3 {
 margin: 0 0 0.347vw; font-size: 1.181vw; font-weight: 500; 
}
#ev9-9th .ev9-bonus h3 em {
 padding: 0.069vw 0.347vw; background: var(--ev9-orange); color: #fff; font-size: 0.764vw; font-style: normal; 
}
#ev9-9th .ev9-bonus p {
 margin: 0.208vw 0; 
}
#ev9-9th .ev9-text-link {
 display: block; width: max-content; margin: 0.972vw auto 0; border-bottom: 1px solid #777; font-size: 0.903vw; 
}
#ev9-9th .ev9-coming-image {
 filter: brightness(.48); 
}
#ev9-9th .ev9-floating-xs2 {
 position: fixed; right: 18px; bottom: 18px; z-index: 10001; display: block; width: 92px; line-height: 0; 
}
#ev9-9th .ev9-floating-xs2 img {
 display: block; width: 100%; height: auto; 
}

.ev9-faq {
 padding: 3.611vw 1.667vw 1.944vw; background: #fff; color: #222; font-size: .972vw; 
}
.ev9-faq-inner {
 max-width: 760px; margin: 0 auto; 
}
.ev9-faq h2 {
 margin: 0 0 1.528vw; font-size: 1.528vw; font-weight: 500; letter-spacing: .12em; 
}
.ev9-faq-item {
 margin: 0 0 1.667vw; 
}
.ev9-faq-question {
 display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 1.042vw; letter-spacing: .04em; line-height: 1.65; 
}
.ev9-faq-question p {
 margin: 0; 
}
.ev9-faq-more > summary {
 position: relative; min-height: 108px; padding: 0 7vw 0.556vw 0; list-style: none; cursor: pointer; 
}
.ev9-faq-more > summary::-webkit-details-marker {
 display: none; 
}
.ev9-faq-more > summary::after {
 content: ""; position: absolute; top: 50px; right: 2vw; width: 3vw; height: 3vw; background-image: linear-gradient(#222, #222), linear-gradient(#222, #222); background-repeat: no-repeat; background-position: center; background-size: 1px 100%, 100% 1px;
}
.ev9-faq-more[open] > summary::after {
 background-size: 0 0, 100% 1px; top: 0;
}
.ev9-faq-first {
 margin-bottom: 1.944vw; 
}
.ev9-faq-first .ev9-faq-question {
 margin-bottom: 0.694vw; 
}
.ev9-faq-rest {
 padding-top: 0; 
}
.ev9-faq-rest .ev9-faq-item {
 margin-bottom: 1.667vw; 
}
.ev9-faq .ev9-faq-mark {
 flex: 0 0 26px; font-size: 1.319vw; font-weight: 500; 
}
.ev9-faq .ev9-faq-answer {
 display: flex; gap: 10px; padding: 0 1.389vw 0 0; font-size: 0.972vw; line-height: 1.8; 
}
.ev9-faq .ev9-faq-answer .ev9-faq-mark {
 color: #f45108; 
}
.ev9-faq .ev9-faq-answer p {
 margin: 0;
}
.ev9-anniversary-link {
 max-width: 460px; margin: 0 auto; padding: 2.083vw 1.667vw 4.861vw; text-align: center; font-size: .972vw; 
}
.ev9-anniversary-link .ev9-anniversary-mark {
 display: block; width: 70px; height: auto; margin: 0 auto 1.389vw; object-fit: contain; 
}
.ev9-anniversary-link h2 {
 margin: 0 0 1.389vw; font-size: 1.319vw; font-weight: 500; letter-spacing: .12em; line-height: 1.65; 
}
.ev9-anniversary-link a {
 display: block; 
}
.ev9-anniversary-link a img {
 display: block; width: 100%; height: auto; 
}

@media (min-width: 768px) {

#ev9-9th {
 max-width: 1600px; 
}
#ev9-9th .ev9-index {
 padding: 5.278vw 0 5.694vw; 
}
#ev9-9th .ev9-coupon {
 padding-top: 3.056vw; 
}
#ev9-9th .ev9-programs {
padding: 5.556vw 0 6.944vw;
    width: 47.6%;
    margin: 0 auto;
}
#ev9-9th .ev9-section {
 width: 100%; max-width: 720px; margin: 0 auto 6.389vw; 
}
#ev9-9th .ev9-card {
 padding: 1.806vw 8%; font-size: 1.111vw; 
}
#ev9-9th .ev9-button {
 max-width: 620px; margin-right: auto; margin-left: auto; 
}
#ev9-9th #event01 > .ev9-section-heading,
#ev9-9th #event01 > .ev9-main-image,
#ev9-9th #event01 > .ev9-card,
#ev9-9th #event03 > .ev9-section-heading,
#ev9-9th #event03 > .ev9-main-image,
#ev9-9th #event03 > .ev9-card,
#ev9-9th #event05 > .ev9-section-heading,
#ev9-9th #event05 > .ev9-main-image,
#ev9-9th #event05 > .ev9-card {
 width: 90%;
 margin-right: auto;
 margin-left: 0;
}
#ev9-9th #event01 > .ev9-section-heading,
#ev9-9th #event03 > .ev9-section-heading,
#ev9-9th #event05 > .ev9-section-heading {
 padding-left: 9vw;
}
#ev9-9th #event02 > .ev9-section-heading,
#ev9-9th #event02 > .ev9-main-image,
#ev9-9th #event02 > .ev9-card,
#ev9-9th #event04 > .ev9-section-heading,
#ev9-9th #event04 > .ev9-main-image,
#ev9-9th #event04 > .ev9-card,
#ev9-9th #event06 > .ev9-section-heading,
#ev9-9th #event06 > .ev9-main-image,
#ev9-9th #event06 > .ev9-card {
 width: 90%;
 margin-right: 0;
 margin-left: auto;
}
#ev9-9th #event02 > .ev9-section-heading,
#ev9-9th #event04 > .ev9-section-heading,
#ev9-9th #event06 > .ev9-section-heading {
 padding-left: 0;
}

}
@media (max-width: 767px) {

#ev9-9th {
 font-size: 3.111vw;
}
#ev9-9th .ev9-hero-title {
 font-size: 4vw;
}
#ev9-9th .ev9-inner {
 width: calc(100% - 72px); 
}
#ev9-9th .ev9-index {
 padding: 7.111vw 0 12.444vw; 
}
#ev9-9th .ev9-index h2 {
 font-size: 5.778vw; letter-spacing: .08em; 
}
#ev9-9th .ev9-index p {
font-size: 3.3vw;
    font-weight: lighter;
    margin-bottom: 3vw;
}
#ev9-9th .ev9-index-list a {
 min-height: 60px;
    font-size: 3.7vw;
	font-weight: 200;
}
#ev9-9th .ev9-index-list a span {
 font-size: 4vw;
    font-weight: lighter;
}
#ev9-9th .ev9-coupon {
 padding-top: 8.000vw; 
	margin-bottom: 8vw;
}
#ev9-9th .ev9-coupon-band {
 min-width: 185px; font-size: 2.889vw; 
}
#ev9-9th .ev9-coupon-en {
font-size: 2.6vw;
    position: absolute;
    top: 11vw;
    right: 23vw;
    letter-spacing: 0.05em;
}
#ev9-9th .ev9-coupon-value {
	font-size: 16vw;
	font-weight: 400;
}
#ev9-9th .ev9-coupon-copy {
font-size: 3.3vw;
    width: 88%;
    padding: 4vw 1vw 2vw;
    margin: 3.278vw auto 0.556vw !important;
    font-weight: lighter;
}
#ev9-9th .ev9-period {
font-size: 3.4vw;
    text-align: left;
    letter-spacing: 0.07em;
    margin: 2vw 0vw 2.5vw !important;
}
#ev9-9th .ev9-period span{
border-right: 1px solid #848484;
border-left: 1px solid #848484;
	padding:0vw 1.5vw;
}
#ev9-9th .ev9-text-link {
  display: block;
  width: max-content;
  margin: 2.5vw auto 0 !important;
  border-bottom: 1px solid #777;
  font-size: 2.8vw;
  font-weight: 400;
}
#ev9-9th .ev9-coupon .ev9-period {
 font-size: 2.667vw; 
}
#ev9-9th .ev9-coupon .ev9-period span{
border-right: 1px solid #848484;
border-left: 1px solid #848484;
	padding:0vw 1.5vw;
}
#ev9-9th .ev9-coupon-note {
 font-size: 2.444vw;
    margin: 0 0 3.972vw;
    font-weight: lighter;
}
#ev9-9th .ev9-programs {
 padding: 10.667vw 0 13.333vw; 
}
#ev9-9th .ev9-section {
 margin-bottom: 12.000vw; 
}
#ev9-9th .ev9-section-heading {
 gap: 8px; margin-bottom: 1.778vw; 
}
#ev9-9th .ev9-section-heading > span {
 font-size: 12.0vw; 
}
#ev9-9th .ev9-section-heading small {
 font-size: 3.0vw;
    font-weight: lighter;
    margin-bottom: 1vw;
    line-height: 1;
}
#ev9-9th .ev9-section-heading h2 {
 font-size: 5.50vw;
    letter-spacing: 0.1em;
    line-height: 1;
    font-weight: 400;
}
#ev9-9th .ev9-card {
padding: 3.778vw 6% 6vw;
    font-size: 3.0vw;
    font-weight: lighter;
}
#ev9-9th .ev9-button {
 font-size: 3.4vw;
}
#ev9-9th .ev9-perk {
gap: 9px;
    padding: 1.4vw 0vw 1.4vw 11vw;
    margin-left: 10vw;
	color: #000;
}
#ev9-9th .ev9-perk strong {
width: 55px;
    height: 55px;
    position: absolute;
    left: 18vw;
}
#ev9-9th .ev9-bonus > strong {
 position: static;
 width: 16vw;
 height: 16vw;
 flex: 0 0 16vw;
 align-self: flex-start;
}
#ev9-9th .ev9-perk b span {
 color: var(--ev9-orange);
}
#ev9-9th .ev9-bonus {
 gap: 10px; 
}
#ev9-9th .ev9-bonus h3 {
 font-size: 3.111vw; 
}
#ev9-9th .ev9-bonus > strong {
 font-size: 4.222vw;
}
#ev9-9th .ev9-bonus > strong b {
 font-size: 5.556vw;
}
#ev9-9th .ev9-bonus h3 em {
 font-size: 2.444vw;
}
#ev9-9th .ev9-floating-xs2 {
 right: 10px; bottom: 12px; width: clamp(68px, 18vw, 92px); 
}
.ev9-faq {
 padding: 11.3vw 4vw 4.444vw 9vw; font-size: 3.111vw; 
}
.ev9-faq h2 {
font-size: 4.5vw;
    letter-spacing: 0.2em;
    font-weight: 400;
    line-height: 1;
    padding: 3vw 0vw 7vw;
}
.ev9-faq-question {
font-size: 3.8vw;
    font-weight: lighter;
    gap: 2vw;
}
.ev9-faq .ev9-faq-mark {
 font-size: 5.0vw;
 flex-basis: 7vw;
}
.ev9-faq-more > summary::after {
 top: 50px;
 right: 4vw;
 width: 5.5vw;
 height: 5.5vw;
}
.ev9-faq-more[open] > summary::after {
 top: 13vw;
}
.ev9-faq-more > summary {
 min-height: 48px;
}
.ev9-faq .ev9-faq-answer {
font-size: 3.8vw;
    font-weight: lighter;
}
.ev9-faq .ev9-faq-answer p {
 max-width: 72vw;
}
.ev9-faq-first {
 margin-bottom: 0.8vw;
}
.ev9-faq-first .ev9-faq-question {
 margin-bottom: 0;
}
.ev9-anniversary-link {
 max-width: 300px; padding: 4.889vw 0 12.222vw; font-size: 3.111vw; 
}
.ev9-anniversary-link h2 {
 font-size: 3.556vw; 
}

}

/* Existing shared header and template utilities */
body:has(#ev9-9th) {
 color: #2d2d2d; font-family: "Noto Sans JP", sans-serif !important; font-feature-settings: "palt"; 
}
body:has(#ev9-9th) #header {
 display: flex; width: 100%; height: 7vw; align-items: center; justify-content: space-between; 
}
body:has(#ev9-9th) #header.HeightMin {
 position: fixed; z-index: 999; height: 0; margin-top: -7vw !important; animation: ev9DownAnime .5s forwards; 
}
@keyframes ev9DownAnime {
 from {
 opacity: 0; transform: translateY(-14vw); 
} to {
 opacity: 1; transform: translateY(0); 
} 
}
body:has(#ev9-9th) > .wrapper > main, body:has(#ev9-9th) .wrapper > main {
 display: flex; height: 100%; margin-top: 8vw; padding: 0; flex-direction: column; justify-content: center; background: #fff; transition: all .5s; 
}
@media (max-width: 767px) {

body:has(#ev9-9th) .wrapper > main {
 margin-top: 20vw; 
}
#ev9-9th .ev9-pc {
 display: none !important; 
}
.ev9-page-top {
 position: fixed; z-index: 10000; 
}

}
@media (min-width: 768px) {

body:has(#ev9-9th) .wrapper > main {
 margin-top: 6.5vw !important; 
}
.ev9-page-top {
position: fixed;
    left: 2vw;
    bottom: 2vw;
    z-index: 10000;
    width: 3vw;
}

}
#ev9-9th .ev9-pc {
 display: block; 
}
#ev9-9th .ev9-page-top img {
 width: 100%; 
}
#ev9-9th .ev9-page-top a {
 display: block; z-index: 999; width: 35px; height: 35px; padding: 0.556vw; border-radius: 0; background: #231815; color: #fff; text-align: center; text-decoration: none; font-weight: bold; 
}
#ev9-9th .ev9-page-top a:hover {
 background: #fff; text-decoration: none; 
}
