@charset "UTF-8";
/* Scss Document */
/*============================================================
	Reset
============================================================*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }

q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

/*============================================================
	Common
============================================================*/
html, body { width: 100%; }

@media only screen and (max-width: 749px) { html, body { height: 100%; min-height: 100vh; } }
html { font-family: 'Noto Sans JP', sans-serif; font-size: 20px; font-weight: inherit; font-style: normal; line-height: 1; color: #4C1D01; word-wrap: break-word; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

@media only screen and (max-width: 749px) { html { font-size: 4.3vw; -webkit-text-size-adjust: 100%; }
  body { width: 100vw; } }
html * { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

@media print, screen and (min-width: 750px) and (max-width: 1440px) { html { font-size: 20px; } }
body { position: relative; overflow-x: hidden; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; min-height: 100vh; -moz-animation: fadeIn 1.5s ease 0s 1 normal; -webkit-animation: fadeIn 1.5s ease 0s 1 normal; animation: fadeIn 1.5s ease 0s 1 normal; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { body { overflow-x: hidden; } }
body::before { position: absolute; content: ""; background: url("../img/bg.svg") repeat; -moz-background-size: 28px 40px; -o-background-size: 28px 40px; -webkit-background-size: 28px 40px; background-size: 28px 40px; width: 100%; height: 100%; left: 0; top: 0; z-index: -3; }

img { width: 100%; height: auto; }

img[src$=".svg"] { max-width: 100%; }

a, a * { -webkit-backface-visibility: hidden; backface-visibility: hidden; text-decoration: none; outline: none; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }

header, main, section, footer { width: 100%; }

header, footer { flex-shrink: 0; }

main { flex: 1 0 auto; min-height: 1px; overflow: hidden; }

@media only screen and (max-width: 749px) { .pc { display: none !important; } }
@media print, screen and (min-width: 750px) { .sp { display: none !important; } }
.inner { width: 83.33%; margin: auto; }

@media only screen and (max-width: 749px) { .inner { width: 92%; max-width: 92vw; } }
.container { width: 83.33%; max-width: 1000px; margin: auto; }

@media only screen and (max-width: 749px) { .container { width: 100%; max-width: 92vw; } }
@keyframes scroll_to_right { from { -moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -webkit-transform: translateX(-100%); transform: translateX(-100%); }
  to { -moz-transform: translateX(0); -ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); } }
@keyframes scroll_to_left { from { -moz-transform: translateX(0); -ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0); }
  to { -moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -webkit-transform: translateX(-100%); transform: translateX(-100%); } }
/* カーテン
------------------------------*/
.curtain_wrap-pc { position: relative; }

.curtain_wrap-pc .curtain_left-pc, .curtain_wrap-pc .curtain_right-pc { position: absolute; width: 50%; height: 100%; top: 0; overflow: hidden; }

.curtain_wrap-pc .curtain_left-pc::before, .curtain_wrap-pc .curtain_right-pc::before { content: ""; display: block; width: 50%; height: 100%; position: absolute; top: 0; -webkit-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; -ms-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; }

.curtain_wrap-pc .curtain_left-pc::after, .curtain_wrap-pc .curtain_right-pc::after { content: ""; display: block; width: 200%; height: 100%; background-size: 100% 100%; position: absolute; top: 0; -webkit-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; -ms-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; }

.curtain_wrap-pc .curtain_left-pc { left: 0; z-index: -2; }

.curtain_wrap-pc .curtain_left-pc::after { background-image: url("../img/left_bg.svg"); right: 0; -webkit-transform: translate(40%, 0); -ms-transform: translate(40%, 0); transform: translate(40%, 0); }

.curtain_wrap-pc .curtain_left-pc::before { background: #C9AF72; left: 0; }

.curtain_wrap-pc .curtain_right-pc { right: 0; z-index: -1; }

.curtain_wrap-pc .curtain_right-pc::after { background-image: url("../img/right_bg.svg"); left: 0; -webkit-transform: translate(-40%, 0); -ms-transform: translate(-40%, 0); transform: translate(-40%, 0); }

.curtain_wrap-pc .curtain_right-pc::before { background: #4C1D01; right: 0; }

.curtain_wrap-pc .curtain_wrap-pc_box.scrollActive .curtain_left-pc::after { -webkit-transform: translate(1.5%, 0); -ms-transform: translate(1.5%, 0); transform: translate(1.5%, 0); }

.curtain_wrap-pc .curtain_wrap-pc_box.scrollActive .curtain_left-pc::before { -webkit-transform: translate(-100%, 0); -ms-transform: translate(-100%, 0); transform: translate(-100%, 0); }

.curtain_wrap-pc .curtain_wrap-pc_box.scrollActive .curtain_right-pc::after { -webkit-transform: translate(-1.5%, 0); -ms-transform: translate(-1.5%, 0); transform: translate(-1.5%, 0); }

.curtain_wrap-pc .curtain_wrap-pc_box.scrollActive .curtain_right-pc::before { -webkit-transform: translate(100%, 0); -ms-transform: translate(100%, 0); transform: translate(100%, 0); }

@media only screen and (max-width: 749px) { .curtain_wrap-pc .curtain_left-pc, .curtain_wrap-pc .curtain_right-pc { display: none; } }
.curtain_wrap-sp { position: relative; overflow: hidden; }

.curtain_wrap-sp .curtain_left-sp, .curtain_wrap-sp .curtain_right-sp { position: absolute; z-index: -1; width: 50%; height: 100%; top: 0; overflow: hidden; }

.curtain_wrap-sp .curtain_left-sp::before, .curtain_wrap-sp .curtain_right-sp::before { content: ""; display: none; width: 50%; height: 100%; position: absolute; top: 0; -webkit-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; -ms-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; }

.curtain_wrap-sp .curtain_left-sp::after, .curtain_wrap-sp .curtain_right-sp::after { content: ""; display: block; width: 200%; height: 100%; background-size: 100% 100%; position: absolute; top: 0; -webkit-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; -ms-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; }

@media print, screen and (min-width: 750px) { .curtain_wrap-sp .curtain_left-sp, .curtain_wrap-sp .curtain_right-sp { display: none; } }
.curtain_wrap-sp .curtain_left-sp { left: 0; }

.curtain_wrap-sp .curtain_left-sp::after { right: 0; -webkit-transform: translate(45%, 0); -ms-transform: translate(45%, 0); transform: translate(45%, 0); }

.curtain_wrap-sp .curtain_left-sp::before { background: #C9AF72; left: 0; }

.curtain_wrap-sp .curtain_left-sp.scrollActive::after { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.curtain_wrap-sp .curtain_left-sp.scrollActive::before { -webkit-transform: translate(-100%, 0); -ms-transform: translate(-100%, 0); transform: translate(-100%, 0); }

.curtain_wrap-sp .curtain_left-sp.top::after { -webkit-transform: translate(48%, 0); -ms-transform: translate(48%, 0); transform: translate(48%, 0); background-image: url("../img/left_bg_top_sp.svg"); }

.curtain_wrap-sp .curtain_left-sp.top.scrollActive::after { -webkit-transform: translate(5.5%, 0); -ms-transform: translate(5.5%, 0); transform: translate(5.5%, 0); }

.curtain_wrap-sp .curtain_left-sp:not(.top)::after { background-image: url("../img/left_bg_sp.svg"); }

.curtain_wrap-sp .curtain_right-sp { right: 0; }

.curtain_wrap-sp .curtain_right-sp::after { left: 0; -webkit-transform: translate(-45%, 0); -ms-transform: translate(-45%, 0); transform: translate(-45%, 0); }

.curtain_wrap-sp .curtain_right-sp::before { background: #4C1D01; right: 0; }

.curtain_wrap-sp .curtain_right-sp.scrollActive::after { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.curtain_wrap-sp .curtain_right-sp.scrollActive::before { -webkit-transform: translate(100%, 0); -ms-transform: translate(100%, 0); transform: translate(100%, 0); }

.curtain_wrap-sp .curtain_right-sp.top::after { -webkit-transform: translate(-48%, 0); -ms-transform: translate(-48%, 0); transform: translate(-48%, 0); background-image: url("../img/right_bg_top_sp.svg"); }

.curtain_wrap-sp .curtain_right-sp.top.scrollActive::after { -webkit-transform: translate(-5.5%, 0); -ms-transform: translate(-5.5%, 0); transform: translate(-5.5%, 0); }

.curtain_wrap-sp .curtain_right-sp:not(.top)::after { background-image: url("../img/right_bg_sp.svg"); }

@media only screen and (max-width: 749px) { .curtain_wrap-sp::before { position: absolute; content: ""; background: url("../img/bg.svg") repeat; -moz-background-size: 28px 40px; -o-background-size: 28px 40px; -webkit-background-size: 28px 40px; background-size: 28px 40px; width: 100%; height: 100%; left: 0; top: 0; z-index: -3; } }
/* 動画
------------------------------*/
.movie { position: relative; width: 75%; padding: 3.75% 4.1666666667%; margin-top: 3.9333333333%; z-index: 2; }

@media only screen and (max-width: 749px) { .movie { width: 90.66667vw; padding: 5.33333vw 4.66667vw; margin-top: 12.9333333333vw; } }
.movie .frame { position: absolute; left: 50%; top: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: 100%; }

.movie .frame img { position: absolute; left: 50%; top: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: 100%; }

.movie .youtube { width: 100%; height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative; }

.movie .youtube iframe { position: absolute; width: 100%; height: 100%; top: 0; left: 0; }

/*============================================================
	Layout
============================================================*/
/* header
------------------------------*/
header { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; padding: 0.5rem 2.08333%; }

@media only screen and (max-width: 749px) { header { padding: 3.33333vw 2.66667vw; } }
header > a { width: 6.94444%; }

@media only screen and (max-width: 749px) { header > a { width: 18.66667vw; } }
header figure { width: 16.66667%; }

@media only screen and (max-width: 749px) { header figure { width: 40vw; } }
header ul { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }

header ul li { width: 1.5rem; }

@media only screen and (max-width: 749px) { header ul li { width: 8vw; } }
header ul li:not(:last-child) { margin-right: 1.5rem; }

@media only screen and (max-width: 749px) { header ul li:not(:last-child) { margin-right: 2.66667vw; } }
/* ココナッツサブレの美しい開け方
------------------------------*/
#loop { position: relative; padding: 1.5rem 0; overflow: hidden; display: -webkit-flex; display: flex; }

@media only screen and (max-width: 749px) { #loop { padding: 6.66667vw 0; } }
#loop::before, #loop::after { position: absolute; content: ""; background: url("../img/tape.svg") repeat-x; width: 100%; height: 1rem; left: 0; }

@media only screen and (max-width: 749px) { #loop::before, #loop::after { height: 2.66667vw; } }
#loop::before { top: 0; }

#loop::after { bottom: 0; }

#loop ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; -moz-animation: scroll_to_right 50s infinite linear 0.5s both; -webkit-animation: scroll_to_right 50s infinite linear 0.5s both; animation: scroll_to_right 50s infinite linear 0.5s both; }

#loop ul li { width: calc(100vw / 6); margin-right: 1.04167%; -moz-transform: rotate(6deg); -ms-transform: rotate(6deg); -webkit-transform: rotate(6deg); transform: rotate(6deg); }

@media only screen and (max-width: 749px) { #loop ul li { width: calc(100vw / 2.5); } }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #loop ul li { min-width: 270px; margin-right: 15px; }
  #loop ul li img { font-family: "object-fit: cover;"; } }
#loop ul li:nth-child(2n) { -moz-transform: rotate(0); -ms-transform: rotate(0); -webkit-transform: rotate(0); transform: rotate(0); }

#loop ul li:nth-child(3n) { -moz-transform: rotate(-6deg); -ms-transform: rotate(-6deg); -webkit-transform: rotate(-6deg); transform: rotate(-6deg); }

#loop h1 { width: 50%; position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); z-index: 2; }

@media only screen and (max-width: 749px) { #loop h1 { width: 93.33333vw; top: 13.33333vw; -moz-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); } }
/* COCONUT SABLE OPEN 2022
------------------------------*/
@media only screen and (max-width: 749px) { #open { padding-top: 16.2666666667vw; position: relative; }
  #open::before { position: absolute; content: ""; background: url("../img/bg.svg") repeat; -moz-background-size: 28px 40px; -o-background-size: 28px 40px; -webkit-background-size: 28px 40px; background-size: 28px 40px; background-position: left bottom; width: 100%; height: 100%; left: 0; top: 0; z-index: -2; } }
#open .inner { position: relative; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; }

#open .inner::before { position: absolute; content: ""; background: url("../img/pkg2.png") no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; left: 0; top: -8.5rem; width: 26.41667%; height: 10rem; z-index: 1; }

@media only screen and (max-width: 749px) { #open .inner::before { width: 53.33333vw; height: 33.6vw; left: 50%; top: auto; bottom: 0; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); } }
#open .inner h2 { width: 54.16667%; margin-bottom: 2rem; }

@media only screen and (max-width: 749px) { #open .inner h2 { width: 100%; margin-bottom: 6vw; } }
#open .inner p { position: relative; width: 50.27%; z-index: 3; }

#open .inner p::after { position: absolute; content: ""; background: url("../img/sable open.png") no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; z-index: 3; }

@media print, screen and (min-width: 750px) { #open .inner p::after { width: 36.469730124%; height: 0; padding-top: 36.469730124%; left: 100%; top: 0; margin: 4.4758305152% 0 0 1.3427491546%; } }
@media only screen and (max-width: 749px) { #open .inner p::after { width: 42.66667vw; height: 42.66667vw; left: 50%; bottom: 0; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); } }
@media only screen and (max-width: 749px) { #open .inner p { width: 100%; padding-bottom: 50.66667vw; } }
@media only screen and (max-width: 749px) { #open .inner p::after { width: 42.66667vw; height: 42.66667vw; left: 50%; bottom: 0; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); } }
#open .inner h3 { color: #DC000C; font-weight: 900; font-size: 1.7rem; margin: 2rem 0 4rem; }

@media only screen and (max-width: 749px) { #open .inner h3 { font-size: 1.6875rem; margin: 8vw 0 13.33333vw; padding-bottom: 50.66667vw; position: relative; }
  #open .inner h3::after { position: absolute; content: ""; background: url("../img/sable open.png") no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; width: 42.66667vw; height: 42.66667vw; left: 50%; bottom: 0; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); } }
#open .inner figure { width: 37%; margin: 7rem 0; }

@media only screen and (max-width: 749px) { #open .inner figure { width: 63.73333vw; margin: 16vw 0; } }
/* cast
------------------------------*/
#cast { background: #260E00; margin-top: -6rem; z-index: -2; position: relative; }

@media only screen and (max-width: 749px) { #cast { margin-top: -18vw; }
  #cast::after { position: absolute; content: ""; left: 0; top: 0; width: 1.33333vw; height: 100%; background: #C9AF72; } }
#cast::before { position: absolute; content: ""; background: #4C1D01; width: 50%; height: 100%; left: 0; top: 0; }

#cast .container { background: #260E00; padding: 7rem 0 3rem; position: relative; display: -webkit-flex; display: flex; }

@media only screen and (max-width: 749px) { #cast .container { padding: 26.66667vw 4vw 13.33333vw; margin: 0 0 0 auto; } }
#cast .container::before { position: absolute; content: ""; background: #C9AF72; width: 0.5rem; height: 100%; top: 0; left: -5%; }

@media only screen and (max-width: 749px) { #cast .container::before { display: none; } }
#cast .container::after { position: absolute; content: "CAST"; font-weight: 900; color: #fff; top: 50%; -moz-transform: rotate(-90deg) translateY(-50%); -ms-transform: rotate(-90deg) translateY(-50%); -webkit-transform: rotate(-90deg) translateY(-50%); transform: rotate(-90deg) translateY(-50%); left: -1.75em; }

@media only screen and (max-width: 749px) { #cast .container::after { font-size: 4vw; left: -1.65em; } }
#cast .container ul { width: 100%; }

@media print, screen and (min-width: 750px) { #cast .container ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: stretch; align-items: stretch; } }
@media only screen and (max-width: 749px) { #cast .container ul { padding: 0 2.66667vw; } }
#cast .container ul li { color: #fff; }

#cast .container ul li figure { height: 0; position: relative; overflow: hidden; -webkit-mask-image: url(../img/cast_frame.png); mask-image: url(../img/cast_frame.png); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: 100%; mask-size: 100%; }

#cast .container ul li figure img { position: absolute; left: 50%; top: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #cast .container ul li figure img { font-family: "object-fit: cover;"; } }
#cast .container ul li dl dt { font-weight: 500; }

#cast .container ul li dl dd { text-align: justify; text-justify: inter-ideograph; text-justify: inter-character; }

#cast .container ul li dl dd small { display: block; margin-top: 1em; }

@media print, screen and (min-width: 750px) { #cast .container ul li { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; width: 48%; padding-left: 0.25rem; }
  #cast .container ul li figure { width: 28.125%; padding-top: 18.75%; -moz-transform: rotate(6deg); -ms-transform: rotate(6deg); -webkit-transform: rotate(6deg); transform: rotate(6deg); }
  #cast .container ul li dl { width: 64.5%; }
  #cast .container ul li dl dt { text-align: left; margin-bottom: 1em; }
  #cast .container ul li dl dd { font-size: 0.8rem; line-height: 1.3125; }
  #cast .container ul li dl dd small { font-size: 0.6rem; }
  #cast .container ul li:nth-child(n+3) { margin-top: 2rem; }
  #cast .container ul li:nth-child(3n+1) figure { -moz-transform: rotate(-7deg); -ms-transform: rotate(-7deg); -webkit-transform: rotate(-7deg); transform: rotate(-7deg); } }
@media only screen and (max-width: 749px) { #cast .container ul li { position: relative; }
  #cast .container ul li figure { position: absolute; width: 50%; padding-top: 33.33%; top: 0; }
  #cast .container ul li dl dt { font-size: 5.33333vw; text-align: center; height: 25.33333vw; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
  #cast .container ul li dl dd { margin-top: 4vw; line-height: 1.5625; }
  #cast .container ul li dl dd small { font-size: 3.2vw; }
  #cast .container ul li:not(:last-child) { margin-bottom: 8vw; }
  #cast .container ul li:nth-child(odd) figure { left: 0; }
  #cast .container ul li:nth-child(odd) dt { margin-left: 50%; }
  #cast .container ul li:nth-child(even) figure { right: 0; }
  #cast .container ul li:nth-child(even) dt { margin-right: 50%; } }
/* こんなに美しく開けられるだなんて
------------------------------*/
#beautiful { padding-top: 4.7rem; overflow: hidden; }

@media only screen and (max-width: 749px) { #beautiful { position: relative; padding-top: 9.7066666667vw; } }
#beautiful .inner { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; position: relative; }

#beautiful .inner h2 { position: absolute; font-weight: 900; width: 100%; height: 100%; top: 0; left: 0; }

#beautiful .inner h2 strong, #beautiful .inner h2 span { position: absolute; writing-mode: vertical-rl; z-index: 3; }

#beautiful .inner h2 strong { right: 1.5rem; top: -2.5rem; font-size: 3.9rem; -moz-transform: rotate(7deg); -ms-transform: rotate(7deg); -webkit-transform: rotate(7deg); transform: rotate(7deg); text-shadow: 5px 5px 0 #fff; }

@media only screen and (max-width: 749px) { #beautiful .inner h2 strong { font-size: 10.4vw; right: 3.33333vw; top: -8vw; text-shadow: 3px 3px 0 #fff; } }
#beautiful .inner h2 span { left: 2rem; top: 1rem; font-size: 2.6rem; -moz-transform: rotate(-7deg); -ms-transform: rotate(-7deg); -webkit-transform: rotate(-7deg); transform: rotate(-7deg); text-shadow: -3px 3px 0 #fff; }

@media only screen and (max-width: 749px) { #beautiful .inner h2 span { font-size: 6.93333vw; left: 3.33333vw; top: 3.33333vw; text-shadow: -2px 2px 0 #fff; } }
#beautiful .inner p { font-weight: 700; line-height: 1.7; text-align: center; }

@media only screen and (max-width: 749px) { #beautiful .inner p { font-size: 4.8vw; line-height: 1.55; } }
#beautiful .animation { position: relative; z-index: -3; width: 100%; height: 37.5rem; margin-top: -4.5rem; margin-bottom: -7rem; }

@media only screen and (max-width: 749px) { #beautiful .animation { height: 100vw; margin-top: -12.8vw; margin-bottom: -2.8vw; z-index: -1; } }
#beautiful .animation img { position: absolute; left: 50%; top: 0; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); width: auto; height: 100%; object-fit: cover; }

#beautiful .animation img:not(.active) { opacity: 0; }

/* パッケージの開け方
------------------------------*/
#how_to_open { position: relative; }

#how_to_open div[class^="loop"] { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 1.8rem; }

@media only screen and (max-width: 749px) { #how_to_open div[class^="loop"] { height: 8vw; } }
#how_to_open div[class^="loop"] ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; height: 100%; }

#how_to_open div[class^="loop"] ul li { width: calc(100vw / 3); height: 100%; }

@media only screen and (max-width: 749px) { #how_to_open div[class^="loop"] ul li { width: calc(100vh / 2); } }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #how_to_open div[class^="loop"] ul li { min-width: 430px; margin-right: 40px; } }
#how_to_open div[class^="loop"] ul li img { width: auto; height: 100%; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #how_to_open div[class^="loop"] ul li img { font-family: "object-fit: cover;"; } }
#how_to_open .loop_top { background: #C9AF72; }

#how_to_open .loop_top ul { -moz-animation: scroll_to_left 50s infinite linear 0.5s both; -webkit-animation: scroll_to_left 50s infinite linear 0.5s both; animation: scroll_to_left 50s infinite linear 0.5s both; }

#how_to_open .loop_btm { background: #4C1D01; }

#how_to_open .loop_btm ul { -moz-animation: scroll_to_right 50s infinite linear 0.5s both; -webkit-animation: scroll_to_right 50s infinite linear 0.5s both; animation: scroll_to_right 50s infinite linear 0.5s both; }

#how_to_open .container { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; }

@media print, screen and (min-width: 750px) { #how_to_open .container { max-width: 700px; } }
#how_to_open .container > figure { width: 60%; margin-bottom: 2.5rem; position: relative; }

@media only screen and (max-width: 749px) { #how_to_open .container > figure { width: 88vw; margin-bottom: 9.33333vw; } }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #how_to_open .container > figure { min-height: 0%; } }
#how_to_open .container > figure > figcaption { position: absolute; width: 50%; top: -1.75rem; right: -8.25rem; }

@media only screen and (max-width: 749px) { #how_to_open .container > figure > figcaption { width: 34.66667vw; right: 0; top: -19.46667vw; } }
#how_to_open .container ol { width: 100%; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #how_to_open .container ol { min-height: 0%; } }
#how_to_open .container ol li { width: 24.28%; padding-left: 1.15rem; padding-top: 0.75rem; position: relative; }

@media only screen and (max-width: 749px) { #how_to_open .container ol li { width: 44.4vw; padding-left: 5.33333vw; }
  #how_to_open .container ol li:nth-child(n+3) { margin-top: 11.33333vw; } }
#how_to_open .container ol li:nth-child(1)::before { position: absolute; content: ""; background: url(../img/no_01.svg) no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; left: 0; top: 0; width: 1.55rem; height: 1.3rem; }

#how_to_open .container ol li:nth-child(2)::before { position: absolute; content: ""; background: url(../img/no_02.svg) no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; left: 0; top: 0; width: 1.55rem; height: 1.3rem; }

#how_to_open .container ol li:nth-child(3)::before { position: absolute; content: ""; background: url(../img/no_03.svg) no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; left: 0; top: 0; width: 1.55rem; height: 1.3rem; }

#how_to_open .container ol li:nth-child(4)::before { position: absolute; content: ""; background: url(../img/no_04.svg) no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; left: 0; top: 0; width: 1.55rem; height: 1.3rem; }

#how_to_open .container ol li figure figcaption { margin-top: 1rem; }

#how_to_open .container a { border: solid 1px #260E00; background: #260E00; display: block; width: 57.14%; height: 2rem; line-height: 2rem; text-align: center; color: #fff; font-size: 0.9rem; font-weight: 700; margin: 2.9rem 0; position: relative; }

@media only screen and (max-width: 749px) { #how_to_open .container a { border: solid 1px #FFF; width: 100%; height: 13.33333vw; line-height: 13.33333vw; font-size: 1.125rem; margin: 0 0 13.33333vw; } }
#how_to_open .container a::after { position: absolute; content: ""; background: url("../img/icon_arrow-w.svg") no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; width: 0.8rem; height: 0.8rem; right: 0.5rem; top: 50%; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

@media only screen and (max-width: 749px) { #how_to_open .container a::after { width: 4.26667vw; height: 4.26667vw; right: 2.66667vw; } }
#how_to_open .container a:hover { background: #fff; color: #260E00; }

#how_to_open .container a:hover::after { background-image: url("../img/icon_arrow-b.svg"); }

@media print, screen and (min-width: 750px) { #how_to_open .wrap { max-width: 700px; width: 83.33%; margin: auto; } }
#how_to_open .wrap .sable { width: 100%; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; }

@media print, screen and (min-width: 750px) { #how_to_open .wrap .sable { padding: 4rem 0 5.5rem; position: relative; z-index: -3; }
  #how_to_open .wrap .sable::before { position: absolute; content: ""; background: url("../img/sable-pc.png") no-repeat top center; -moz-background-size: 100% auto; -o-background-size: 100% auto; -webkit-background-size: 100% auto; background-size: 100% auto; left: 0; top: 0; width: 100%; height: 100%; z-index: -2; }
  #how_to_open .wrap .sable h2, #how_to_open .wrap .sable p { color: #4C1D01; background: #fff; display: inline-block; }
  #how_to_open .wrap .sable h2 { font-size: 1.5rem; font-weight: 900; margin-bottom: 1.5rem; padding: 0.25rem; }
  #how_to_open .wrap .sable p { font-size: 0.9rem; font-weight: 500; margin-bottom: 0.5rem; padding: 0.25rem; } }
@media only screen and (max-width: 749px) { #how_to_open .wrap .sable { background: url("../img/sable-sp.png") no-repeat top center; -moz-background-size: 132% auto; -o-background-size: 132% auto; -webkit-background-size: 132% auto; background-size: 132% auto; padding: 13.33333vw 0 64vw; }
  #how_to_open .wrap .sable h2, #how_to_open .wrap .sable p { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; color: #4C1D01; }
  #how_to_open .wrap .sable h2 span, #how_to_open .wrap .sable p span { display: block; background: #fff; padding: 0.66667vw; }
  #how_to_open .wrap .sable h2 span:not(:last-child), #how_to_open .wrap .sable p span:not(:last-child) { margin-bottom: 1.33333vw; }
  #how_to_open .wrap .sable h2 { font-weight: 900; font-size: 1.75rem; margin-bottom: 8vw; }
  #how_to_open .wrap .sable p:first-of-type { margin-bottom: 1.33333vw !important; }
  #how_to_open .wrap .sable p:not(:last-child) { margin-bottom: 5.33333vw; } }
/* 商品説明
------------------------------*/
#products { background: #fff; }

#products .container { position: relative; height: 8.5rem; z-index: 3; }

@media only screen and (max-width: 749px) { #products .container { height: 37.33333vw; } }
#products .container ul { position: absolute; top: -3rem; left: 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-around; justify-content: space-around; }

@media only screen and (max-width: 749px) { #products .container ul { -webkit-flex-direction: column-reverse; flex-direction: column-reverse; -webkit-align-items: center; align-items: center; top: -56vw; } }
#products .container ul li { width: 50%; }

@media only screen and (max-width: 749px) { #products .container ul li { width: 88vw; } }
#products .container ul li:last-child { width: 29.7%; }

@media only screen and (max-width: 749px) { #products .container ul li:last-child { width: 66.66667vw; } }
#products .simple { border-top: solid 1rem #4C1D01; border-bottom: solid 0.5rem #C9AF72; background: url("../img/bg_sable-pc.jpg") no-repeat left center #D8D1D8; -moz-background-size: auto 100%; -o-background-size: auto 100%; -webkit-background-size: auto 100%; background-size: auto 100%; padding: 5rem 0 5rem 50%; position: relative; }

@media only screen and (max-width: 749px) { #products .simple { border-top-width: 2.66667vw; border-bottom-width: 1.33333vw; background: url("../img/bg_sable-sp.jpg") no-repeat center bottom #D8D1D8; -moz-background-size: 100% auto; -o-background-size: 100% auto; -webkit-background-size: 100% auto; background-size: 100% auto; padding: 13.33333vw 0 69.33333vw; } }
#products .simple::before, #products .simple::after { position: absolute; content: ""; width: 100%; left: 0; }

#products .simple::before { background: #C9AF72; height: 0.5rem; top: -1.5rem; }

@media only screen and (max-width: 749px) { #products .simple::before { height: 1.33333vw; top: -4vw; } }
#products .simple::after { background: #4C1D01; height: 1rem; bottom: -1.5rem; }

@media only screen and (max-width: 749px) { #products .simple::after { height: 2.66667vw; bottom: -4vw; } }
#products .simple h2 { font-weight: 900; }

@media print, screen and (min-width: 750px) { #products .simple h2 { display: inline-block; background: #fff; padding: 0.25rem; margin-bottom: 2.75rem; font-size: 1.7rem; } }
@media only screen and (max-width: 749px) { #products .simple h2 { font-size: 1.75rem; margin-bottom: 9.33333vw; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; }
  #products .simple h2 span { display: block; background: #fff; padding: 0.66667vw; }
  #products .simple h2 span:not(:last-child) { margin-bottom: 1.33333vw; } }
@media print, screen and (min-width: 750px) { #products .simple ul li { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: flex-start; align-items: flex-start; } }
#products .simple ul li:not(:last-child) { margin-bottom: 1.5rem; }

@media only screen and (max-width: 749px) { #products .simple ul li:not(:last-child) { margin-bottom: 6.66667vw; } }
#products .simple ul li p { font-weight: 500; }

@media print, screen and (min-width: 750px) { #products .simple ul li p { display: inline-block; background: #fff; padding: 0.25rem; }
  #products .simple ul li p:not(:last-child) { margin-bottom: 0.5rem; } }
@media only screen and (max-width: 749px) { #products .simple ul li p { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; }
  #products .simple ul li p span { background: #fff; display: inline-block; padding: 0.66667vw; margin-bottom: 0.66667vw; } }
/* いつもと違う味
------------------------------*/
#other { padding-top: 3.5rem; padding-bottom: 4rem; }

@media only screen and (max-width: 749px) { #other { padding-top: 16vw; padding-bottom: 26.66667vw; position: relative; }
  #other::before { position: absolute; content: ""; width: 100%; height: 100%; left: 0; top: 0; background: url("../img/bg.svg") repeat; -moz-background-size: 28px 40px; -o-background-size: 28px 40px; -webkit-background-size: 28px 40px; background-size: 28px 40px; z-index: -2; } }
#other .container h2 { width: 23.3%; margin: 0 auto 2.25rem; }

@media only screen and (max-width: 749px) { #other .container h2 { width: 66.66667vw; margin: 0 auto 8vw; } }
#other .container ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-around; justify-content: space-around; -webkit-align-items: stretch; align-items: stretch; }

@media only screen and (max-width: 749px) { #other .container ul { -webkit-flex-flow: column wrap; flex-flow: column wrap; } }
#other .container ul li { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; width: 40%; padding-top: 1.5rem; background: #fff; border: solid 1px #780900; color: #780900; }

@media only screen and (max-width: 749px) { #other .container ul li { width: 100%; padding-top: 8vw; } }
#other .container ul li h3 { font-weight: 700; text-align: center; line-height: 1.45; margin-bottom: 3rem; }

@media only screen and (max-width: 749px) { #other .container ul li h3 { font-size: 1.3125rem; margin-bottom: 6.66667vw; } }
#other .container ul li figure { width: 82.5%; }

@media only screen and (max-width: 749px) { #other .container ul li figure { width: 68.66667vw; } }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #other .container ul li figure { min-height: 0%; } }
#other .container ul li p { text-align: center; font-size: 0.7rem; line-height: 1.35; padding: 1.5rem 0; }

@media only screen and (max-width: 749px) { #other .container ul li p { font-size: 1rem; padding: 6.66667vw 0; } }
#other .container ul li a { border-top: solid 1px #780900; display: block; background: #780900; color: #fff; text-align: center; width: 100%; height: 2rem; line-height: 2rem; font-size: 0.9rem; font-weight: 700; position: relative; }

@media only screen and (max-width: 749px) { #other .container ul li a { height: 13.33333vw; line-height: 13.33333vw; font-size: 1.125rem; } }
#other .container ul li a::after { position: absolute; content: ""; background: url("../img/icon_arrow-w.svg") no-repeat; -moz-background-size: contain; -o-background-size: contain; -webkit-background-size: contain; background-size: contain; width: 0.8rem; height: 0.8rem; right: 0.5rem; top: 50%; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }

@media only screen and (max-width: 749px) { #other .container ul li a::after { width: 4.26667vw; height: 4.26667vw; right: 2.66667vw; } }
#other .container ul li a:hover { background: #fff; color: #780900; }

#other .container ul li a:hover::after { background-image: url("../img/icon_arrow-r.svg"); }

#other .container ul li:last-of-type { border-color: #16106D; color: #16106D; }

@media only screen and (max-width: 749px) { #other .container ul li:last-of-type { margin-top: 8vw; } }
#other .container ul li:last-of-type a { background: #16106D; border-color: #16106D; }

#other .container ul li:last-of-type a:hover { background: #fff; color: #16106D; }

#other .container ul li:last-of-type a:hover::after { background-image: url("../img/icon_arrow-bl.svg"); }

/* footer
------------------------------*/
footer { background: #fff; color: #000; }

@media only screen and (max-width: 749px) { footer { padding-top: 8vw; } }
footer .inner { padding: 2rem 0; position: relative; }

@media only screen and (max-width: 749px) { footer .inner { width: 100%; max-width: 100%; padding: 0 0 8vw; } }
footer .inner #pageTop { width: 6.5%; height: 4.6rem; position: absolute; right: 0; top: -4.6rem; }

@media only screen and (max-width: 749px) { footer .inner #pageTop { width: 18.66667vw; height: 21.33333vw; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); top: -29.33333vw; } }
@media only screen and (max-width: 749px) { footer .inner .container { width: 100%; max-width: 100%; }
  footer .inner .container > a { display: block; width: 29.33333vw; margin: 0 auto 6.66667vw; } }
@media print, screen and (min-width: 750px) { footer .inner .container h2 { font-size: 0.6rem; margin-bottom: 0.75rem; margin-left: 13%; } }
@media only screen and (max-width: 749px) { footer .inner .container h2 { width: 92%; max-width: 92vw; font-size: 3.2vw; margin: 0 auto 2.66667vw; } }
footer .inner .container ul { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }

@media only screen and (max-width: 749px) { footer .inner .container ul { width: 92%; max-width: 92vw; -webkit-justify-content: space-between; justify-content: space-between; margin: auto; } }
@media print, screen and (min-width: 750px) { footer .inner .container ul li { width: 10%; margin-right: 3%; }
  footer .inner .container ul li:not(:first-child) { width: 16%; } }
@media only screen and (max-width: 749px) { footer .inner .container ul li { width: 23.9%; } }
footer .inner .container nav { display: -webkit-flex; display: flex; margin-top: 1.75rem; }

@media only screen and (max-width: 749px) { footer .inner .container nav { -webkit-flex-direction: column; flex-direction: column; } }
footer .inner .container nav a { color: #000; }

@media print, screen and (min-width: 750px) { footer .inner .container nav a { font-size: 0.7rem; text-decoration: underline; }
  footer .inner .container nav a:not(:last-child) { margin-right: 2em; } }
@media only screen and (max-width: 749px) { footer .inner .container nav a { position: relative; display: block; padding: 4vw 0; border-bottom: solid 1px #ccc; font-size: 0.8125rem; padding-left: 5.33333vw; }
  footer .inner .container nav a:first-child { border-top: solid 1px #ccc; }
  footer .inner .container nav a::after { position: absolute; content: ""; width: 2.66667vw; height: 2.66667vw; border-bottom: solid 1px #ccc; border-right: solid 1px #ccc; right: 4vw; top: 50%; -moz-transform: rotate(-45deg) translateY(-50%); -ms-transform: rotate(-45deg) translateY(-50%); -webkit-transform: rotate(-45deg) translateY(-50%); transform: rotate(-45deg) translateY(-50%); } }
footer .inner .container p { font-size: 0.6rem; margin-top: 0.75rem; }

@media only screen and (max-width: 749px) { footer .inner .container p { font-size: 0.8125rem; width: 92%; max-width: 92vw; -webkit-justify-content: space-between; justify-content: space-between; margin: 8vw auto 0; line-height: 1.7; }
  footer .inner .container p span { font-weight: 700; display: block; } }
footer .inner .container small { display: block; font-size: 0.6rem; margin-top: 1.75rem; }

@media only screen and (max-width: 749px) { footer .inner .container small { font-size: 0.75rem; width: 92%; max-width: 92vw; -webkit-justify-content: space-between; justify-content: space-between; margin: 6.66667vw auto 0; } }
/*js
-----------------------------------------------------------------------------*/
.tran, .scrollListItem, .scrollItem, .scrollAllList > * { -webkit-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; -ms-transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; transition: all 0.8s cubic-bezier(0.56, 0.17, 0.31, 1.2) 0s; }

.fadein { opacity: 0; }

.fadein.scrollActive { opacity: 1; }

.fadeout { opacity: 1; }

.fadeout.scrollActive { opacity: 0; }

.fadeTop { -webkit-transform: translate(0, 1.25rem); -ms-transform: translate(0, 1.25rem); transform: translate(0, 1.25rem); }

.fadeTop.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.fadeBottom { -webkit-transform: translate(0, -1.25rem); -ms-transform: translate(0, -1.25rem); transform: translate(0, -1.25rem); }

.fadeBottom.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.fadeRight { -webkit-transform: translate(1.25rem, 0); -ms-transform: translate(1.25rem, 0); transform: translate(1.25rem, 0); }

.fadeRight.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.fadeRight100 { -webkit-transform: translate(100%, 0); -ms-transform: translate(100%, 0); transform: translate(100%, 0); }

.fadeRight100.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.fadeLeft { -webkit-transform: translate(-1.25rem, 0); -ms-transform: translate(-1.25rem, 0); transform: translate(-1.25rem, 0); }

.fadeLeft.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.fadeLeft100 { -webkit-transform: translate(-100%, 0); -ms-transform: translate(-100%, 0); transform: translate(-100%, 0); }

.fadeLeft100.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.scaleUp { -webkit-transform: scale(0.97, 0.97); -ms-transform: scale(0.97, 0.97); transform: scale(0.97, 0.97); }

.scaleUp.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.scaleUp00 { -webkit-transform: scale(0, 0); -ms-transform: scale(0, 0); transform: scale(0, 0); }

.scaleUp00.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.scaleUp02 { -webkit-transform: scale(0.8, 0.8); -ms-transform: scale(0.8, 0.8); transform: scale(0.8, 0.8); }

.scaleUp02.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.scaleX00 { -webkit-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); }

.scaleX00.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.scaleY00 { -webkit-transform: scale(1, 0); -ms-transform: scale(1, 0); transform: scale(1, 0); }

.scaleY00.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.scaleDown { -webkit-transform: scale(1.1, 1.1); -ms-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }

.scaleDown.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.panelX { -webkit-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); }

.panelX.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.panel { -webkit-transform: translate(0, 1rem) rotate(0deg) scale(0, 0.9) skew(0deg, 7.5deg); -ms-transform: translate(0, 1rem) rotate(0deg) scale(0, 0.9) skew(0deg, 7.5deg); transform: translate(0, 1rem) rotate(0deg) scale(0, 0.9) skew(0deg, 7.5deg); }

.panel.scrollActive { -webkit-transform: translate(0, 0) rotate(0deg) scale(1, 1) skew(0deg, 0deg); -ms-transform: translate(0, 0) rotate(0deg) scale(1, 1) skew(0deg, 0deg); transform: translate(0, 0) rotate(0deg) scale(1, 1) skew(0deg, 0deg); }

.scrollAllList.allFadeIn > * { opacity: 0; }

.scrollAllList.allFadeIn > *.scrollActive { opacity: 1; }

.scrollAllList.allFadeTop > * { -webkit-transform: translate(0, 1.25rem); -ms-transform: translate(0, 1.25rem); transform: translate(0, 1.25rem); }

.scrollAllList.allFadeTop > *.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.scrollAllList.allFadeRight > * { -webkit-transform: translate(1.25rem, 0); -ms-transform: translate(1.25rem, 0); transform: translate(1.25rem, 0); }

.scrollAllList.allFadeRight > *.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.scrollAllList.allFadeLeft > * { -webkit-transform: translate(-1.25rem, 0); -ms-transform: translate(-1.25rem, 0); transform: translate(-1.25rem, 0); }

.scrollAllList.allFadeLeft > *.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.scrollAllList.allFadeRight100 > * { -webkit-transform: translate(100%, 0); -ms-transform: translate(100%, 0); transform: translate(100%, 0); }

.scrollAllList.allFadeRight100 > *.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.scrollAllList.allFadeLeft100 > * { -webkit-transform: translate(-100%, 0); -ms-transform: translate(-100%, 0); transform: translate(-100%, 0); }

.scrollAllList.allFadeLeft100 > *.scrollActive { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

.scrollAllList.allScaleDown > * { -webkit-transform: scale(1.1, 1.1); -ms-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }

.scrollAllList.allScaleDown > *.scrollActive { -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

/*add　2023/03/09
---------------*/
.tabekata_link { margin: auto; position: relative; }
@media print, screen and (min-width: 750px) { .tabekata_link { width: 60%; margin-top: 4rem; }
  .tabekata_link a { -webkit-transition: all 0.4s ease-in-out 0s; -ms-transition: all 0.4s ease-in-out 0s; transition: all 0.4s ease-in-out 0s; }
  .tabekata_link a:hover { opacity: 0.8; } }
@media only screen and (max-width: 749px) { .tabekata_link { width: 84vw; margin-top: 8vw; } }

a:hover {
  opacity: 0.7;
}