@charset "UTF-8";
/*
 Theme Name:   Sound Design Labo
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Lighting Child Theme
 Author:       Takaitsu Saito
 Template:     Lightning
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  lighting-child
*/
/*　ブレークポイント */
/* 背景画像　テキスト消去*/
/* フレックス*/
:root {
  --english-font: "Helvetica", sans-serif;
  --yugo-d: "游ゴシック体 Pr6N D", "Yu Gothic Pr6N D";
}

:root {
  --keyColor: #66ff00;
  --baseColor: #1d1d1d;
  --font-en: "Bebas Neue", sans-serif;
}

/*
 Theme Name:   Sound Design Labo
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Lighting Child Theme
 Author:       Takaitsu Saito
 Template:     Lightning
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  lighting-child
*/
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-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  line-height: 1;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

ol,
ul {
  list-style: none;
  list-style-type: none;
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

svg {
  width: 100%;
  height: auto;
  display: block;
}

:root {
  --baseColor: #000;
  --mainColor: #fff;
  --textColor: #fff;
  --container: 1200px;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-weight: normal;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.035em;
  color: var(--textColor);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #000;
}

a {
  color: inherit;
  text-decoration: none;
}

input,
textarea,
select {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  width: auto;
  max-width: 100%;
  display: block;
}

.l-header .logo {
  width: 90px;
  max-width: 20vw;
}

.l-header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 17px 4.7%;
  background: #000;
}

@media screen and (max-width: 800px) {
  .l-header_inner {
    padding: 4vw 4.7%;
  }
}
#globalNav .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#globalNav .menu li {
  color: #fff;
}

#globalNav .menu li + li {
  margin-left: 2em;
}

#globalNav .menu a {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: inherit;
}

.l-footer {
  padding: 40px 0;
  background: #000;
}

.l-footer .logo {
  width: 218px;
  margin: 50px auto 0;
}

.l-footer .txt1 {
  text-align: center;
}

.l-footer .logoList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 60px;
}

.l-footer .logoList > li {
  max-width: 194px;
}

@media screen and (min-width: 801px) {
  .l-footer .footerNav .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.4rem;
  }
  .l-footer .footerNav .menu > li {
    padding: 0.5em 0.4em;
    position: relative;
  }
  .l-footer .footerNav .menu > li:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .l-footer .footerNav .menu a {
    text-decoration: underline;
  }
  .l-footer .footerNav .menu a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1220px) {
  .l-footer {
    padding: 4% 0;
  }
  .l-footer .logo {
    margin-top: 5%;
  }
  .l-footer .logoList {
    margin-top: 6%;
  }
}
@media screen and (max-width: 800px) {
  .l-footer .footerNav .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    text-align: center;
  }
  .l-footer .footerNav .menu > li {
    width: 50%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  .l-footer .footerNav .menu > li:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
  }
  .l-footer .footerNav .menu a {
    height: 100%;
    padding: 0.5em 0.1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .l-footer .footerNav .menu a:hover {
    background: rgba(255, 255, 255, 0.3);
  }
  .l-footer .logoList > li {
    max-width: 42%;
  }
}
/* コンテイナー */
.l-container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
}

.first-container {
  padding-top: 80px !important;
}
@media screen and (min-width: 768px) {
  .first-container {
    padding-top: 150px !important;
  }
}

@media screen and (max-width: 1220px) {
  .l-container {
    padding-left: 4%;
    padding-right: 4%;
  }
}
/* PC/SP */
@media screen and (min-width: 801px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 800px) {
  .pc {
    display: none !important;
  }
}
.l-aside .cta .c-btn a {
  font-size: 3rem;
}

@media screen and (max-width: 800px) {
  .l-aside .cta .c-btn a {
    font-size: 4.5vw;
  }
}
/* 汎用ボタン */
.c-btn.inline {
  display: inline-block;
}

.c-btn a {
  font-size: 6rem;
  text-align: center;
  letter-spacing: 0.03em;
  color: #fff;
  background: #000;
  width: 100%;
  max-width: 10.67em;
  min-height: 2em;
  padding: 0.25em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  -webkit-transition: 0.15s;
  transition: 0.15s;
}

.c-btn a i {
  display: inline-block;
  -webkit-transition: inherit;
  transition: inherit;
  margin-right: 0.4em;
}

.c-btn a i.icon-mail {
  width: 0.834em;
  aspect-ratio: 1/0.76;
  background: url(../img/iconMail.svg) no-repeat center/contain;
}

.c-btn a i.icon-cart {
  width: 1.2em;
  aspect-ratio: 1/1;
  background: url(../img/iconCart.svg) no-repeat center/contain;
}

.c-btn a:hover {
  -webkit-box-shadow: 0 0 0.1em #fff, 0 0 0 0.04em #fff inset;
  box-shadow: 0 0 0.1em #fff, 0 0 0 0.04em #fff inset;
  -webkit-filter: contrast(0.8) brightness(1.2);
  filter: contrast(0.8) brightness(1.2);
}

.c-btn a.fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: none;
  min-height: auto;
}

.c-btn a.left {
  margin-left: 0;
  margin-right: auto;
}

.c-btn a.right {
  margin-left: auto;
  margin-right: 0;
}

.c-btn a.center {
  margin-left: auto;
  margin-right: auto;
}

.c-btn a.red {
  background: -webkit-gradient(linear, left top, right top, from(#e6234c), to(#dc6b20));
  background: linear-gradient(90deg, #e6234c, #dc6b20);
}

.c-btn a.reverse {
  background: #fff;
  color: var(--mainColor);
}

.c-btn a.reverse:hover {
  background: var(--mainColor);
  color: #fff;
}

@media screen and (max-width: 800px) {
  .c-btn a {
    font-size: 9vw;
  }
}
:root {
  --c-flex-gap: 20px;
}

.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-flex.gap {
  gap: var(--c-flex-gap);
}

.c-flex.gapLarge {
  gap: calc(var(--c-flex-gap) * 2);
}

.c-flex--2 > * {
  width: 50%;
}

.c-flex--2.gap > * {
  width: calc((100% - var(--c-flex-gap) * 1) / 2);
}

.c-flex--3 > * {
  width: 33.3333333333%;
}

.c-flex--3.gap > * {
  width: calc((100% - var(--c-flex-gap) * 2) / 3);
}

.c-flex--4 > * {
  width: 25%;
}

.c-flex--4.gap > * {
  width: calc((100% - var(--c-flex-gap) * 3) / 4);
}

.c-flex--5 > * {
  width: 20%;
}

.c-flex--5.gap > * {
  width: calc((100% - var(--c-flex-gap) * 4) / 5);
}

.c-flex--6 > * {
  width: 16.6666666667%;
}

.c-flex--6.gap > * {
  width: calc((100% - var(--c-flex-gap) * 5) / 6);
}

.c-flex--end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.c-flex--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-flex--between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.c-flex--alignEnd {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.c-flex--alignCenter {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-flex--wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-flex--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.c-flex--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.u-tal {
  text-align: left !important;
}

.u-tac {
  text-align: center !important;
}

.u-tar {
  text-align: right !important;
}

.alignCenter {
  margin-left: auto;
  margin-right: auto;
}

.alingLeft {
  margin-left: 0;
  margin-right: auto;
}

.alignRight {
  margin-left: auto;
  margin-right: 0;
}

.font-10 {
  font-size: 1rem !important;
  line-height: 2rem;
}

.font-12 {
  font-size: 1.2rem !important;
  line-height: 2.2rem;
}

.font-14 {
  font-size: 1.4rem !important;
  line-height: 2.4rem;
}

.font-16 {
  font-size: 1.6rem !important;
  line-height: 2.6rem;
}

.font-18 {
  font-size: 1.8rem !important;
  line-height: 2.8rem;
}

.font-20 {
  font-size: 2rem !important;
  line-height: 3rem;
}

.font-22 {
  font-size: 2.2rem !important;
  line-height: 3.2rem;
}

.font-24 {
  font-size: 2.4rem !important;
  line-height: 3.4rem;
}

.font-26 {
  font-size: 2.6rem !important;
  line-height: 3.6rem;
}

.font-28 {
  font-size: 2.8rem !important;
  line-height: 3.8rem;
}

.font-30 {
  font-size: 3rem !important;
  line-height: 4rem;
}

@media screen and (max-width: 800px) {
  .font-10 {
    font-size: 1.875vw !important;
    line-height: 2.875vw;
  }
  .font-12 {
    font-size: 2.25vw !important;
    line-height: 3.25vw;
  }
  .font-14 {
    font-size: 2.625vw !important;
    line-height: 3.625vw;
  }
  .font-16 {
    font-size: 3vw !important;
    line-height: 4vw;
  }
  .font-18 {
    font-size: 3.375vw !important;
    line-height: 4.375vw;
  }
  .font-20 {
    font-size: 3.75vw !important;
    line-height: 4.75vw;
  }
  .font-22 {
    font-size: 4.125vw !important;
    line-height: 5.125vw;
  }
  .font-24 {
    font-size: 4.5vw !important;
    line-height: 5.5vw;
  }
  .font-26 {
    font-size: 4.875vw !important;
    line-height: 5.875vw;
  }
  .font-28 {
    font-size: 5.25vw !important;
    line-height: 6.25vw;
  }
  .font-30 {
    font-size: 5.625vw !important;
    line-height: 6.625vw;
  }
}
.font-snb {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
}

.u-marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #f4df42));
  background: linear-gradient(transparent 50%, #f4df42 50%);
  padding-bottom: 0.3em;
}

.u-bold {
  font-weight: bold;
}

.u-mainColor {
  color: var(--mainColor);
}

.u-subcolor {
  color: var(--subColor);
}

.u-emp {
  color: #bd0010;
}

.mt-5 {
  margin-top: 0.5em !important;
}

.mt-10 {
  margin-top: 1em !important;
}

.mt-15 {
  margin-top: 1.5em !important;
}

.mt-20 {
  margin-top: 2em !important;
}

.mt-25 {
  margin-top: 2.5em !important;
}

.mt-30 {
  margin-top: 3em !important;
}

.mt-35 {
  margin-top: 3.5em !important;
}

.mt-40 {
  margin-top: 4em !important;
}

.mt-45 {
  margin-top: 4.5em !important;
}

.mt-50 {
  margin-top: 5em !important;
}

main {
  overflow: hidden;
}

h2.heading {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  font-size: clamp(2.8rem, 1.034351145rem + 3.0534351145vw, 4rem);
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: 0.3em 0.5em 0.2em;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  h2.heading {
    font-size: clamp(4rem, 1.3888888889rem + 2.3148148148vw, 5rem);
    margin-bottom: 30px;
  }
}

h2.heading.--white {
  color: #000;
  background: #e7e7e7;
}

.parallaxWrapper {
  position: relative;
}

.parallaxWrapper > .end {
  padding-bottom: 130px;
}

.parallax {
  position: absolute;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
  z-index: -1;
}

.parallax .bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 105vh;
}

.parallax.parallax1 .bg {
  background: url(../img/bg1.jpg) repeat-y center/cover;
}

.parallax.parallax2 .bg {
  background: url(../img/bg2.jpg) repeat-y center/cover;
}

.parallax.parallax3 .bg {
  background: url(../img/bg3.jpg) repeat-y center/cover;
}

.parallax.parallax4 .bg {
  background: url(../img/bg4.jpg) repeat-y center/cover;
}

.parallax.parallax5 .bg {
  background: url(../img/bg5.jpg) repeat-y center/cover;
}

.parallax.parallax6 .bg {
  background: url(../img/bg6.jpg) repeat-y center/cover;
}

.parallax-product .bg {
  background: url(../img/bg-product.jpg) repeat-y center/cover;
}

.parallax-contact .bg {
  background: url(../img/bg-contact.jpg) repeat-y center/cover;
}

.parallax-autograph .bg {
  background: url(../img/bg-autograph.jpg) repeat-y center/cover;
}

@media screen and (max-width: 800px) {
  .parallax {
    background-size: auto 100vh;
  }
}
.c-copyright {
  font-size: 1.8rem;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .c-copyright {
    font-size: 1.2rem;
  }
}
.u-border {
  background: linear-gradient(transparent 88%, currentColor 88%, currentColor calc(88% + 2px), transparent calc(70% + 2px));
}

.p-kv {
  position: relative;
  overflow: hidden;
  background: #000;
}

.p-kv > *:not(.img) {
  position: absolute;
}

.p-kv img {
  width: 100%;
  max-width: none;
}

.p-kv .logo {
  top: 10.9%;
  left: 57.7%;
  width: 37.134%;
}

.p-kv.is-scroll .img {
  -webkit-filter: none;
  filter: none;
}

.p-kv.is-scroll .logo {
  -webkit-animation: kvLogo 1s ease 1.5s 1 normal forwards running;
  animation: kvLogo 1s ease 1.5s 1 normal forwards running;
}

@-webkit-keyframes kvLogo {
  0%, 12%, 20%, 30%, 41%, 50% {
    opacity: 0.1;
  }
  5%, 15%, 35%, 43% {
    opacity: 0.9;
  }
  10%, 14% {
    -webkit-transform: skewX(-15deg) translateX(4px);
    transform: skewX(-15deg) translateX(4px);
  }
  11%, 15% {
    -webkit-transform: skewX(15deg) translateX(-4px);
    transform: skewX(15deg) translateX(-4px);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes kvLogo {
  0%, 12%, 20%, 30%, 41%, 50% {
    opacity: 0.1;
  }
  5%, 15%, 35%, 43% {
    opacity: 0.9;
  }
  10%, 14% {
    -webkit-transform: skewX(-15deg) translateX(4px);
    transform: skewX(-15deg) translateX(4px);
  }
  11%, 15% {
    -webkit-transform: skewX(15deg) translateX(-4px);
    transform: skewX(15deg) translateX(-4px);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@media screen and (max-width: 800px) {
  .p-kv .logo {
    top: 74.4%;
    left: 2.55%;
    width: 95.1%;
  }
}
.p-sec01 {
  padding: 75px 0 85px;
}

.p-sec01 .block1 .logo {
  width: 213px;
  max-width: 35.5vw;
}

.p-sec01 .block1 h3 {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 5rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.001em;
  color: var(--mainColor);
  margin-top: 0.45em;
}

.p-sec01 .block1 .txt {
  font-size: 2rem;
  max-width: 600px;
}

.p-sec01 .block1 .card {
  position: relative;
  padding-top: 42%;
}

.p-sec01 .block1 .card img {
  position: absolute;
}

.p-sec01 .block1 .card img:nth-child(1) {
  top: 19.3%;
  left: 62.6%;
  width: 27.948%;
}

.p-sec01 .block1 .card img:nth-child(2) {
  top: 9.7%;
  left: 44.1%;
  width: 23.5808%;
}

.p-sec01 .block1 .card img:nth-child(3) {
  top: 16.7%;
  left: 23.5%;
  width: 23.5808%;
}

.p-sec01 .block1 .card img:nth-child(4) {
  top: 13.4%;
  left: 0%;
  width: 27.948%;
}

.p-sec01 .block1 .card.js-scroll img {
  -webkit-transition: 0.5s cubic-bezier(0.2, 0, 0, 1) 0.3s;
  transition: 0.5s cubic-bezier(0.2, 0, 0, 1) 0.3s;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

.p-sec01 .block1 .card.js-scroll img:nth-child(1) {
  -webkit-transform: rotate(-10deg) translateX(-100%);
  transform: rotate(-10deg) translateX(-100%);
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.p-sec01 .block1 .card.js-scroll img:nth-child(2) {
  -webkit-transform: rotate(-10deg) translateX(-75%);
  transform: rotate(-10deg) translateX(-75%);
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.p-sec01 .block1 .card.js-scroll img:nth-child(3) {
  -webkit-transform: rotate(10deg) translateX(-50%);
  transform: rotate(10deg) translateX(-50%);
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.p-sec01 .block1 .card.js-scroll img:nth-child(4) {
  -webkit-transform: rotate(-10deg) translateX(-25%);
  transform: rotate(-10deg) translateX(-25%);
}

.p-sec01 .block1 .card.is-scroll img {
  opacity: 1;
  -webkit-transform: none !important;
  transform: none !important;
}

@media screen and (min-width: 801px) {
  .p-sec01 .block1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-sec01 .block1 .detail {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .p-sec01 .block1 .img {
    width: 43.584%;
    margin-top: 12px;
    margin-right: -10px;
  }
}
@media screen and (max-width: 1220px) {
  .p-sec01 {
    padding: 7% 0 8%;
  }
}
@media screen and (min-width: 801px) and (max-width: 1220px) {
  .p-sec01 .block1 h3 {
    font-size: 4.5vw;
  }
  .p-sec01 .block1 .txt {
    font-size: 1.7vw;
  }
}
@media screen and (max-width: 800px) {
  .p-sec01 .block1 h3 {
    font-size: 7vw;
  }
  .p-sec01 .block1 .txt {
    font-size: 4vw;
  }
  .p-sec01 .block1 .img {
    margin-top: 4vw;
  }
}
.p-sec02 {
  padding-top: 120px;
}

.p-sec01 .cardList,
.p-sec02 .cardList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 141px 20px;
  margin-top: 58px;
}

.p-sec02 .cardList.js-scroll > li {
  -webkit-transition: 0.5s ease 0.3s;
  transition: 0.5s ease 0.3s;
  -webkit-filter: contrast(0) brightness(2);
  filter: contrast(0) brightness(2);
  -webkit-transform: rotate3d(1, 1, 0, 90deg);
  transform: rotate3d(1, 1, 0, 90deg);
}

.p-sec02 .cardList.js-scroll:after {
  -webkit-transition: 1s ease 1.5s;
  transition: 1s ease 1.5s;
  -webkit-mask-image: -webkit-gradient(linear, right top, left top, color-stop(45%, transparent), color-stop(55%, #000));
  -webkit-mask-image: linear-gradient(-90deg, transparent 45%, #000 55%);
  mask-image: -webkit-gradient(linear, right top, left top, color-stop(45%, transparent), color-stop(55%, #000));
  mask-image: linear-gradient(-90deg, transparent 45%, #000 55%);
  -webkit-mask-size: 300%;
  mask-size: 300%;
  -webkit-mask-position: 100%;
  mask-position: 100%;
}

.p-sec02 .cardList.is-scroll > li {
  opacity: 1;
  -webkit-filter: none;
  filter: none;
  -webkit-transform: none;
  transform: none;
}

.p-sec02 .cardList.is-scroll:after {
  -webkit-mask-position: 0%;
  mask-position: 0%;
}

.p-sec02 .txt1 {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 5rem;
  text-align: center;
  letter-spacing: 0.04em;
  color: #fff;
}

@media screen and (min-width: 801px) {
  .p-sec02 .cardList > li {
    width: calc((100% - 60px) / 4);
  }
}
@media screen and (max-width: 1220px) {
  .p-sec02 {
    padding-top: 10%;
  }
  .p-sec02 .txt1 {
    font-size: 4.167vw;
  }
  .p-sec02 .cardList {
    margin-top: 5%;
  }
}
@media screen and (max-width: 800px) {
  .p-sec02 .cardList {
    gap: 4vw;
  }
  .p-sec02 .cardList:after {
    top: auto;
    bottom: 0;
    max-width: 100%;
  }
  .p-sec02 .cardList > li {
    width: calc((100% - 4vw) / 2);
  }
}
.section-padding {
  padding: 60px 4% 60px;
}
@media screen and (min-width: 768px) {
  .section-padding {
    padding: 140px 4%;
  }
}
.section-padding.introduction-section {
  padding: 140px 5% 0px;
}

.p-sec03 .cardList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 51px;
  margin-top: 52px;
}

.p-sec03 .block2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  margin-top: 80px;
}

.p-sec03 .block2 .img {
  position: relative;
  z-index: 2;
}

.p-sec03 .block2 .content {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 5rem;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.033em;
  color: #fff;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 801px) {
  .p-sec03 .block2 .img {
    width: 43.67%;
  }
  .p-sec03 .block2 .content {
    width: calc(56.33% - 20px);
  }
}
@media screen and (max-width: 1220px) {
  .p-sec03 {
    padding-top: 14%;
  }
  .p-sec03 .cardList {
    margin-top: 5%;
  }
  .p-sec03 .block2 {
    margin-top: 10%;
  }
}
@media screen and (min-width: 801px) and (max-width: 1220px) {
  .p-sec03 .block2 .content {
    font-size: 3.8vw;
  }
}
@media screen and (max-width: 800px) {
  .p-sec03 .cardList {
    gap: 4vw;
  }
  .p-sec03 .cardList > li {
    width: calc((100% - 4vw) / 2);
  }
  .p-sec03 .block2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .p-sec03 .block2 .img {
    max-width: 66.66%;
  }
  .p-sec03 .block2 .content {
    font-size: 7vw;
    margin-top: 2vw;
  }
}
.p-sec04 {
  padding: 90px 0 120px;
}

.p-sec04 .cardList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 52px;
}

.p-sec06 .txt1 :hover {
  color: var(--mainColor);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media screen and (min-width: 801px) {
  .p-sec04 .cardList > li {
    width: calc((100% - 28px) / 3);
  }
}
@media screen and (max-width: 1220px) {
  .p-sec04 {
    padding: 9% 0 12%;
  }
  .p-sec04 .cardList {
    margin-top: 5%;
  }
}
@media screen and (max-width: 800px) {
  .p-sec04 .cardList {
    gap: 4vw;
  }
  .p-sec04 .cardList > li {
    width: calc((100% - 4vw) / 2);
  }
}
.p-sec05 {
  padding-top: 120px;
}

.p-sec05 .txt1 {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 5rem;
  line-height: 1.25;
  letter-spacing: 0.025em;
  color: var(--mainColor);
}

.p-sec05 .block1 {
  margin-top: 70px;
}

.p-sec05 .block1 .logo {
  max-width: 613px;
  margin: 0 auto;
}

.p-sec05 .block2 {
  margin-top: 60px;
}

.p-sec05 .block2 h3 {
  font-size: 3rem;
  color: var(--mainColor);
}

.p-sec05 .checkList table {
  font-size: 1.3rem;
  line-height: 1.4;
}

.p-sec05 .checkList table caption {
  text-align: left;
  margin-bottom: 0.2em;
}

.p-sec05 .checkList table th,
.p-sec05 .checkList table td {
  white-space: nowrap;
}

.p-sec05 .checkList table th {
  text-align: left;
}

.p-sec05 .checkList table td {
  text-align: right;
}

@media screen and (min-width: 801px) {
  .p-sec05 .block1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-sec05 .block1 .img {
    width: 44.75%;
  }
  .p-sec05 .block1 .detail {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .p-sec05 .checkList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 40px;
  }
  .p-sec05 .checkList > * {
    width: calc((100% - 80px) / 3);
  }
}
@media screen and (max-width: 1220px) {
  .p-sec05 {
    padding-top: 12%;
  }
  .p-sec05 .block1 {
    margin-top: 7%;
  }
}
@media screen and (min-width: 801px) and (max-width: 1220px) {
  .p-sec05 .txt1 {
    font-size: 4vw;
  }
  .p-sec05 .block2 h3 {
    font-size: 2.5vw;
  }
  .p-sec05 .checkList {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2vw;
  }
  .p-sec05 .checkList > * {
    width: calc((100% - 2vw) / 2);
  }
  .p-sec05 .checkList table {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 800px) {
  .p-sec05 .txt1 {
    font-size: 6vw;
  }
  .p-sec05 .block1 .detail {
    margin-top: 5vw;
  }
  .p-sec05 .block2 h3 {
    font-size: 4.5vw;
  }
  .p-sec05 .checkList > *:not(:first-child) {
    margin-top: 1.5em;
  }
  .p-sec05 .checkList table {
    width: 100%;
    font-size: 3vw;
  }
}
.p-sec06 {
  padding-top: 80px;
}

.p-sec06 .txt1 {
  font-size: 3rem;
}

@media screen and (max-width: 1220px) {
  .p-sec06 {
    padding-top: 8%;
  }
}
@media screen and (min-width: 801px) and (max-width: 1220px) {
  .p-sec06 .txt1 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 800px) {
  .p-sec06 .txt1 {
    font-size: 4.5vw;
  }
}
.p-sec07 {
  padding-top: 95px;
}

.p-sec07 ul {
  font-size: 3rem;
}

.p-sec07 ul > li + li {
  margin-top: 0.2em;
}

@media screen and (min-width: 801px) {
  .p-sec07 ul .c-btn {
    margin-left: 1em;
  }
  .p-sec07 ul .c-btn a {
    font-size: 66.66%;
  }
}
@media screen and (max-width: 1220px) {
  .p-sec07 {
    padding-top: 9%;
  }
}
@media screen and (min-width: 801px) and (max-width: 1220px) {
  .p-sec07 ul {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 800px) {
  .p-sec07 ul {
    font-size: 4vw;
  }
  .p-sec07 ul .c-btn {
    display: block;
    margin-top: 0.25em;
  }
  .p-sec07 ul .c-btn a {
    font-size: 100%;
  }
  .p-sec07 ul > li + li {
    margin-top: 1em;
  }
}
.p-contact {
  padding: 80px 0;
}

.p-contact .c-btn a {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
}

.p-contact .c-copyright {
  margin-top: 5.5em;
}

@media screen and (max-width: 1220px) {
  .p-contact {
    padding: 10% 0;
  }
  .p-contact .c-copyright {
    margin-top: 3em;
  }
}
/* Animation */
@-webkit-keyframes blinking {
  0% {
    -webkit-filter: brightness(0%);
    filter: brightness(0%);
  }
  10%, 20%, 30%, 40%, 50% {
    -webkit-filter: brightness(1.2);
    filter: brightness(1.2);
  }
  15%, 35%, 45%, 55% {
    -webkit-filter: brightness(0.8);
    filter: brightness(0.8);
  }
  100% {
    -webkit-filter: none;
    filter: none;
  }
}
@keyframes blinking {
  0% {
    -webkit-filter: brightness(0%);
    filter: brightness(0%);
  }
  10%, 20%, 30%, 40%, 50% {
    -webkit-filter: brightness(1.2);
    filter: brightness(1.2);
  }
  15%, 35%, 45%, 55% {
    -webkit-filter: brightness(0.8);
    filter: brightness(0.8);
  }
  100% {
    -webkit-filter: none;
    filter: none;
  }
}
/*
 Theme Name:   Sound Design Labo
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Lighting Child Theme
 Author:       Takaitsu Saito
 Template:     Lightning
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  lighting-child
*/
.hero {
  position: relative;
  height: clamp(60rem, 34.518129771rem + 12.7226463104vw, 65rem);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .hero {
    height: clamp(55rem, -0.0694444444rem + 71.7592592593vw, 86rem);
  }
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../img/hero-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: scale(1) translateY(15px);
          transform: scale(1) translateY(15px);
  -webkit-animation: fv-zoom-move 2s ease-out forwards;
          animation: fv-zoom-move 2s ease-out forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; /* ← ここがディレイ */
}
.hero .img-logo {
  margin: 0 auto 30px;
  width: clamp(25rem, 12.643129771rem + 12.7226463104vw, 30rem);
  -webkit-animation: logo-move 1.3s ease-out forwards;
          animation: logo-move 1.3s ease-out forwards;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s; /* ← ここがディレイ */
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .hero .img-logo {
    margin: 0 auto 0px;
    width: clamp(35rem, 5.2083333333rem + 34.7222222222vw, 50rem);
    aspect-ratio: 1200/934;
  }
}

.img-title-logo {
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
  margin: 0 auto 30px;
  -webkit-animation: logo-move 1.3s ease-out forwards;
          animation: logo-move 1.3s ease-out forwards;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s; /* ← ここがディレイ */
  width: clamp(25rem, 12.643129771rem + 12.7226463104vw, 30rem);
}
@media screen and (min-width: 768px) {
  .img-title-logo {
    margin: 0 auto clamp(2rem, 0.1388888889rem + 2.3148148148vw, 3rem);
    width: clamp(35rem, 16.3194444444rem + 11.5740740741vw, 40rem);
  }
}

.logo-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 30px 50px;
  max-width: 1200px;
}
@media screen and (min-width: 768px) {
  .logo-wrap {
    padding: 30px 0px;
  }
}

.img-series {
  position: relative;
  z-index: 1;
  margin: 0px auto 0;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  opacity: 1;
  -webkit-animation: logo-move 1.3s ease-out forwards;
          animation: logo-move 1.3s ease-out forwards;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s; /* ← ここがディレイ */
  transform-origin: center center;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
  width: clamp(25rem, 9.661259542rem + 25.4452926209vw, 35rem);
  aspect-ratio: 800/473;
}
@media screen and (min-width: 768px) {
  .img-series {
    aspect-ratio: 2511/482;
    width: clamp(45rem, -38.5416666667rem + 138.8888888889vw, 105rem);
    max-width: 100%;
    margin: -40px auto 0;
  }
}

/* ----------------------------------------------
 * Generated by Animista on 2025-12-15 11:51:50
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * @animation flicker-in-1
 * ----------------------------------------
 */
@-webkit-keyframes fv-zoom-move {
  from {
    -webkit-transform: scale(1) translateY(10px);
            transform: scale(1) translateY(10px);
  }
  to {
    -webkit-transform: scale(1.02) translateY(0px);
            transform: scale(1.02) translateY(0px);
  }
}
@keyframes fv-zoom-move {
  from {
    -webkit-transform: scale(1) translateY(10px);
            transform: scale(1) translateY(10px);
  }
  to {
    -webkit-transform: scale(1.02) translateY(0px);
            transform: scale(1.02) translateY(0px);
  }
}
@-webkit-keyframes logo-shake {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  2% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  4% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  6% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  8% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  10% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  12% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  14% {
    -webkit-transform: translate(-1px, 1px);
            transform: translate(-1px, 1px);
  }
  16% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  18% {
    -webkit-transform: translate(-1px, 1px);
            transform: translate(-1px, 1px);
  }
  20% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  25% {
    -webkit-transform: translate(-0.7px, 0.7px);
            transform: translate(-0.7px, 0.7px);
  }
  30% {
    -webkit-transform: translate(0.7px, -0.7px);
            transform: translate(0.7px, -0.7px);
  }
  35% {
    -webkit-transform: translate(-0.4px, 0.4px);
            transform: translate(-0.4px, 0.4px);
  }
  40% {
    -webkit-transform: translate(0.4px, -0.4px);
            transform: translate(0.4px, -0.4px);
  }
  50% {
    -webkit-transform: translate(-0.3px, 0.3px);
            transform: translate(-0.3px, 0.3px);
  }
  60% {
    -webkit-transform: translate(0.3px, -0.3px);
            transform: translate(0.3px, -0.3px);
  }
  70% {
    -webkit-transform: translate(-0.2px, 0.2px);
            transform: translate(-0.2px, 0.2px);
  }
  80% {
    -webkit-transform: translate(0.2px, -0.2px);
            transform: translate(0.2px, -0.2px);
  }
  90% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes logo-shake {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  2% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  4% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  6% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  8% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  10% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  12% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  14% {
    -webkit-transform: translate(-1px, 1px);
            transform: translate(-1px, 1px);
  }
  16% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  18% {
    -webkit-transform: translate(-1px, 1px);
            transform: translate(-1px, 1px);
  }
  20% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  25% {
    -webkit-transform: translate(-0.7px, 0.7px);
            transform: translate(-0.7px, 0.7px);
  }
  30% {
    -webkit-transform: translate(0.7px, -0.7px);
            transform: translate(0.7px, -0.7px);
  }
  35% {
    -webkit-transform: translate(-0.4px, 0.4px);
            transform: translate(-0.4px, 0.4px);
  }
  40% {
    -webkit-transform: translate(0.4px, -0.4px);
            transform: translate(0.4px, -0.4px);
  }
  50% {
    -webkit-transform: translate(-0.3px, 0.3px);
            transform: translate(-0.3px, 0.3px);
  }
  60% {
    -webkit-transform: translate(0.3px, -0.3px);
            transform: translate(0.3px, -0.3px);
  }
  70% {
    -webkit-transform: translate(-0.2px, 0.2px);
            transform: translate(-0.2px, 0.2px);
  }
  80% {
    -webkit-transform: translate(0.2px, -0.2px);
            transform: translate(0.2px, -0.2px);
  }
  90% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes logo-move {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes logo-move {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
/*
 Theme Name:   Sound Design Labo
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Lighting Child Theme
 Author:       Takaitsu Saito
 Template:     Lightning
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  lighting-child
*/
h1,
h2,
h3,
h4,
h5,
h6,
.c-copyright {
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  line-height: 1;
}

.overview {
  background-color: #000;
  padding: 0px 5% 50px;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .overview {
    padding: 100px 5%;
  }
}
.overview .heading {
  text-align: center;
  font-size: clamp(2.4rem, 0.5458015267rem + 4.0712468193vw, 4rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.001em;
}
@media screen and (min-width: 768px) {
  .overview .heading {
    font-size: clamp(4rem, 1.3888888889rem + 2.3148148148vw, 5rem);
  }
}

.overview-txt {
  max-width: 750px;
  margin: 20px auto;
  font-family: "Castoro", serif;
  font-size: 17px;
}
@media screen and (min-width: 768px) {
  .overview-txt {
    font-size: 20px;
  }
}

.overview-img {
  display: block;
  max-width: 250px;
  margin: 30px auto 0px;
}
@media screen and (min-width: 768px) {
  .overview-img {
    margin: 60px auto 0px;
    max-width: 700px;
  }
}
.overview-img img {
  width: 100%;
}

.introduction-bg {
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: -webkit-filter 1s ease-in-out;
  transition: -webkit-filter 1s ease-in-out;
  transition: filter 1s ease-in-out;
  transition: filter 1s ease-in-out, -webkit-filter 1s ease-in-out;
}
.introduction-bg.is-blur {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.introduction-bg.is-clear {
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
.introduction-bg.is-clear .introduction-bg-inner {
  opacity: 0;
}

.introduction-bg-inner {
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  mix-blend-mode: multiply;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.introduction__wrapper {
  opacity: 0;
  -webkit-filter: blur(15px);
          filter: blur(15px);
  -webkit-transition: opacity 1s ease-in-out, -webkit-filter 1s ease-in-out;
  transition: opacity 1s ease-in-out, -webkit-filter 1s ease-in-out;
  transition: opacity 1s ease-in-out, filter 1s ease-in-out;
  transition: opacity 1s ease-in-out, filter 1s ease-in-out, -webkit-filter 1s ease-in-out;
  will-change: opacity, filter;
}
.introduction__wrapper.is-visible {
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
.introduction__wrapper.is-hidden {
  opacity: 0;
  -webkit-filter: blur(25px);
          filter: blur(25px);
}

.introduction__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 800px;
  position: relative;
  z-index: -1;
  width: 100%;
  margin: 0 auto;
  opacity: 0;
  -webkit-filter: blur(15px);
          filter: blur(15px);
}
.introduction__wrapper .introduction-heading {
  font-size: clamp(2.4rem, -0.0505725191rem + 6.6157760814vw, 5rem);
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  text-align: center;
  margin: 0px 0px 30px;
}
@media screen and (min-width: 768px) {
  .introduction__wrapper .introduction-heading {
    font-size: 50px;
  }
}
.introduction__wrapper h4 {
  font-size: clamp(2.4rem, 0.8439885496rem + 2.7989821883vw, 3.5rem);
  line-height: 1.2;
  text-align: center;
  margin: 40px 0 15px;
  padding-bottom: 12px;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .introduction__wrapper h4 {
    font-size: 33px;
    margin: 60px 0 20px;
    padding-bottom: 20px;
  }
}
.introduction__wrapper p {
  font-size: 18px;
}
.introduction__wrapper .picture-text {
  margin-top: 10px;
  font-size: 14px;
  color: #d6c92d;
  font-weight: 600;
}

.gradient-bg {
  height: 70px;
  background: #000000;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0)), to(rgb(0, 0, 0)));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
}
@media screen and (min-width: 768px) {
  .gradient-bg {
    height: 100px;
  }
}

.gradient-bg-reverse {
  mix-blend-mode: multiply;
  height: 200px;
  background: #000000;
  opacity: 0.5;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
}

/*
 Theme Name:   Sound Design Labo
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Lighting Child Theme
 Author:       Takaitsu Saito
 Template:     Lightning
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  lighting-child
*/
.note-text {
  font-size: 12px;
  text-align: left;
  opacity: 0.8;
  color: #fff;
  padding: 15px;
}
@media screen and (min-width: 768px) {
  .note-text {
    font-size: 14px;
    padding: 30px;
  }
}

.fade {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  position: relative;
  top: 30px;
}

.cardList-2 {
  display: -ms-grid;
  display: grid;
  margin: 30px auto 20px;
  max-width: 300px;
  row-gap: 30px;
  -webkit-column-gap: 4%;
     -moz-column-gap: 4%;
          column-gap: 4%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: 1fr 4% 1fr;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
  .cardList-2 {
    -ms-grid-columns: 1fr 7% 1fr;
    grid-template-columns: repeat(2, 1fr);
    max-width: 450px;
    gap: 7%;
    margin: 30px auto 20px;
  }
}
.cardList-2.first-cards {
  max-width: 300px;
  -ms-grid-columns: 1.3fr 1fr;
  grid-template-columns: 1.3fr 1fr;
}
@media screen and (min-width: 768px) {
  .cardList-2.first-cards {
    -ms-grid-columns: 1.3fr 1fr;
    grid-template-columns: 1.3fr 1fr;
    max-width: 500px;
  }
}

.cardList-3 {
  display: -ms-grid;
  display: grid;
  margin: 30px auto 0;
  row-gap: 30px;
  -webkit-column-gap: 4%;
     -moz-column-gap: 4%;
          column-gap: 4%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .cardList-3 {
    -ms-grid-columns: 1fr 7% 1fr 7% 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 7%;
  }
}
@media screen and (min-width: 768px) {
  .cardList-3.tlw-card {
    -webkit-column-gap: 3%;
       -moz-column-gap: 3%;
            column-gap: 3%;
    -ms-grid-columns: 2fr 3% 1.5fr 3% 1.5fr;
    grid-template-columns: 2fr repeat(2, 1.5fr);
  }
}
@media screen and (min-width: 768px) {
  .cardList-3.jp3-card {
    -webkit-column-gap: 3%;
       -moz-column-gap: 3%;
            column-gap: 3%;
    -ms-grid-columns: 2fr 3% 1.5fr 3% 2fr;
    grid-template-columns: 2fr 1.5fr 2fr;
  }
}
@media screen and (min-width: 768px) {
  .cardList-3.jwfk-card {
    -webkit-column-gap: 3%;
       -moz-column-gap: 3%;
            column-gap: 3%;
    -ms-grid-columns: 2fr 3% 1.5fr 3% 1.5fr;
    grid-template-columns: 2fr 1.5fr 1.5fr;
  }
}
.cardList-3 li {
  max-width: clamp(22rem, 5.9971374046rem + 33.0788804071vw, 35rem);
  margin: 0 auto;
}
.cardList-3 li img {
  -webkit-box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
          box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 768px) {
  .cardList-3 li {
    max-width: 100%;
  }
}
.cardList-3 li.card-horizontal {
  max-width: clamp(30rem, 6.822519084rem + 50.8905852417vw, 50rem);
}
.cardList-3 li {
  aspect-ratio: 35/50;
}
.cardList-3 li.card-horizontal {
  aspect-ratio: 7/5;
}

.cardList-5 {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  display: -ms-grid;
  display: grid;
  margin: 30px auto 0;
  row-gap: 30px;
  -webkit-column-gap: 4%;
     -moz-column-gap: 4%;
          column-gap: 4%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0px;
}
@media screen and (min-width: 768px) {
  .cardList-5 {
    -ms-grid-columns: 1fr 2% 1fr 2% 1fr 2% 1fr 2% 1fr;
    grid-template-columns: repeat(5, 1fr);
    gap: 2%;
    margin: 40px 0px;
  }
}
.cardList-5 li {
  max-width: clamp(22rem, 5.9971374046rem + 33.0788804071vw, 35rem);
  margin: 0 auto;
}
.cardList-5 li img {
  -webkit-box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
          box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 768px) {
  .cardList-5 li {
    max-width: 100%;
  }
}
.cardList-5 li.card-horizontal {
  max-width: clamp(30rem, 6.822519084rem + 50.8905852417vw, 50rem);
}
.cardList-5:last-child {
  margin: 20px 0px 0px;
}
@media screen and (min-width: 768px) {
  .cardList-5:last-child {
    margin: 40px 0px 0px;
  }
}

.series-logo {
  width: 100%;
  margin: 0px auto 40px;
}
@media screen and (min-width: 768px) {
  .series-logo {
    margin: 0px auto 80px;
  }
}
.series-logo img {
  height: clamp(12.5rem, 4.830629771rem + 12.7226463104vw, 17.5rem);
  margin: 0 auto;
  -webkit-filter: drop-shadow(10px 10px 5px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(10px 10px 5px rgba(0, 0, 0, 0.5));
}
@media screen and (min-width: 768px) {
  .series-logo img {
    height: clamp(16rem, 7.2222222222rem + 5.787037037vw, 18.5rem);
  }
}

.series-title {
  text-align: center;
  margin-top: 50px;
  font-size: clamp(2.4rem, 1.1421755725rem + 1.5267175573vw, 3rem);
}
@media screen and (min-width: 768px) {
  .series-title {
    font-size: 30px;
  }
}

.black-band {
  background: #000;
  color: #fff;
  padding: 10px 20px;
  line-height: 1;
}

.gold-band {
  -webkit-box-shadow: 10px 5px 15px rgba(0, 0, 0, 0.5);
          box-shadow: 10px 5px 15px rgba(0, 0, 0, 0.5);
  position: relative;
  padding: 10px 20px;
  line-height: 1;
  color: #000 !important;
  background: #775e00;
  background: linear-gradient(45deg, rgb(119, 94, 0) 0%, rgb(141, 136, 0) 6%, rgb(239, 221, 162) 14%, rgb(109, 91, 43) 25%, rgb(239, 221, 162) 35%, rgb(119, 94, 0) 46%, rgb(227, 223, 172) 58%, rgb(251, 221, 130) 68%, rgb(128, 111, 0) 77%, rgb(141, 136, 0) 89%, rgb(119, 94, 0) 100%);
}

.maskWrap {
  padding: 20px;
  margin: -20px;
}

@media screen and (min-width: 768px) {
  .contact-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.contact-logo {
  width: 300px;
  max-width: 40vw;
  margin: 0 auto 20px;
}
@media screen and (min-width: 768px) {
  .contact-logo {
    margin: 0px 20px 0px 0px;
    width: 200px;
    max-width: 33.33vw;
  }
}

.c-btn a {
  font-size: 4rem;
}

.gradient-product {
  background-color: hsla(0, 0%, 100%, 0);
  background-image: radial-gradient(at 50% 66%, hsla(283, 0%, 0%, 0) 0px, transparent 50%), radial-gradient(at 64% 40%, hsla(1, 0%, 0%, 0) 0px, transparent 50%), radial-gradient(at 37% 39%, hsla(0, 0%, 0%, 0) 0px, transparent 50%), radial-gradient(at 6% 7%, hsla(187, 46%, 7%, 0.92) 0px, transparent 50%), radial-gradient(at 95% 5%, hsla(199, 91%, 7%, 0.91) 0px, transparent 50%), radial-gradient(at 4% 93%, hsla(180, 39%, 9%, 0.9) 0px, transparent 50%), radial-gradient(at 93% 92%, hsla(201, 64%, 15%, 0.91) 0px, transparent 50%);
}

.gradient-autograph {
  background-color: hsla(0, 0%, 100%, 0);
  background-image: radial-gradient(at 50% 66%, hsla(283, 0%, 0%, 0) 0px, transparent 50%), radial-gradient(at 64% 40%, hsla(1, 0%, 0%, 0) 0px, transparent 50%), radial-gradient(at 37% 39%, hsla(0, 0%, 0%, 0) 0px, transparent 50%), radial-gradient(at 6% 7%, hsla(187, 46%, 7%, 0.92) 0px, transparent 50%), radial-gradient(at 95% 5%, hsla(199, 91%, 7%, 0.91) 0px, transparent 50%), radial-gradient(at 4% 93%, hsla(180, 39%, 9%, 0.9) 0px, transparent 50%), radial-gradient(at 93% 92%, hsla(201, 64%, 15%, 0.91) 0px, transparent 50%);
}

.autograph-text {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .autograph-text {
    font-size: 20px;
  }
}

/*
 Theme Name:   Sound Design Labo
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Lighting Child Theme
 Author:       Takaitsu Saito
 Template:     Lightning
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  lighting-child
*/
.band {
  -webkit-mask-image: -webkit-gradient(linear, right top, left top, color-stop(40%, transparent), color-stop(60%, #000));
  -webkit-mask-image: linear-gradient(-90deg, transparent 40%, #000 60%);
          mask-image: -webkit-gradient(linear, right top, left top, color-stop(40%, transparent), color-stop(60%, #000));
          mask-image: linear-gradient(-90deg, transparent 40%, #000 60%);
  -webkit-mask-size: 300%;
          mask-size: 300%;
  -webkit-mask-position: 100%;
          mask-position: 100%;
}
.band.fadeInMask {
  -webkit-transition: -webkit-mask-position 0.5s ease-in-out;
  transition: -webkit-mask-position 0.5s ease-in-out;
  transition: mask-position 0.5s ease-in-out;
  transition: mask-position 0.5s ease-in-out, -webkit-mask-position 0.5s ease-in-out;
  -webkit-mask-position: 0%;
          mask-position: 0%;
}

.band2 {
  -webkit-mask-image: -webkit-gradient(linear, right top, left top, color-stop(40%, transparent), color-stop(60%, #000));
  -webkit-mask-image: linear-gradient(-90deg, transparent 40%, #000 60%);
          mask-image: -webkit-gradient(linear, right top, left top, color-stop(40%, transparent), color-stop(60%, #000));
          mask-image: linear-gradient(-90deg, transparent 40%, #000 60%);
  -webkit-mask-size: 300%;
          mask-size: 300%;
  -webkit-mask-position: 100%;
          mask-position: 100%;
}
.band2.fadeInMask {
  -webkit-transition: -webkit-mask-position 0.5s ease-in-out;
  transition: -webkit-mask-position 0.5s ease-in-out;
  transition: mask-position 0.5s ease-in-out;
  transition: mask-position 0.5s ease-in-out, -webkit-mask-position 0.5s ease-in-out;
  -webkit-mask-position: 0%;
          mask-position: 0%;
}

.product-wrapper {
  margin: 40px auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  grid-row-gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-rows: -webkit-max-content 40px -webkit-max-content;
  -ms-grid-rows: max-content 40px max-content;
  grid-template-rows: -webkit-max-content -webkit-max-content;
  grid-template-rows: max-content max-content;
}

.product-wrapper > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.product-wrapper > *:nth-child(2) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
@media screen and (min-width: 768px) {
  .product-wrapper {
    -ms-grid-columns: 1fr 1% 1.8fr;
    grid-template-columns: 1fr 1.8fr;
    grid-row-gap: 0px;
    grid-column-gap: 1%;
    margin: 60px auto 60px;
  }
}

.product-heading {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  font-family: "Castoro", serif;
  font-weight: 400 !important;
  font-style: normal;
  font-size: clamp(2.2rem, 0.8979007634rem + 2.0356234097vw, 3rem);
  line-height: 1.25;
  letter-spacing: 0.025em;
  text-align: center;
  color: var(--mainColor);
}
@media screen and (min-width: 768px) {
  .product-heading {
    font-size: clamp(3rem, 0.7638888889rem + 2.3148148148vw, 4rem);
    margin-top: -70px;
  }
}

.product-list {
  width: 100%;
  margin: 0px auto 40px;
}
@media screen and (min-width: 768px) {
  .product-list {
    margin: 0px auto 60px;
  }
}
.product-list h3 {
  font-size: clamp(2.2rem, 1.0171755725rem + 1.5267175573vw, 2.8rem);
  margin-bottom: 20px;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .product-list h3 {
    font-size: 28px;
  }
}
.product-list ul li {
  font-size: 15px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .product-list ul li {
    font-size: 19px;
  }
}

.product-img {
  opacity: 0;
  max-width: 400px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .product-img {
    max-width: 100%;
  }
}

.product-note {
  font-size: 14px;
  text-align: left;
  margin: 10px 0px 20px;
}
@media screen and (min-width: 768px) {
  .product-note {
    margin: 10px 0px;
  }
}

.product-list-last {
  margin-bottom: 0px;
}

.product-list-wrapper-under {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 0%;
}
@media screen and (min-width: 1200px) {
  .product-list-wrapper-under {
    -ms-grid-columns: 1.2fr 4% 1fr;
    grid-template-columns: 1.2fr 1fr;
    gap: 4%;
  }
}
.product-list-wrapper-under li {
  margin-bottom: 10px;
  line-height: 1.2;
}
.product-list-wrapper-under li:last-child {
  margin-bottom: 0px;
}

.base-cards-list li {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 3% 1fr;
  -ms-grid-columns: max-content 3% 1fr;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 3%;
}