@charset "utf-8";

/* reset ----------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

img {
  vertical-align: top;
  height: auto;
}

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

li {
  list-style: none;
}

/* Remove default margin & padding */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* common ---------------------------------------*/
html {
  scroll-behavior: smooth;
}
body {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  color: #353535;
  background-color: #fff;
}
.text_center {
  text-align: center;
}
.center {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
  z-index: 100;
}
.full {
  width: 100%;
}
img {
  width: 100%;
}

/* footer ------------------------------------ */
footer {
  color: #262a29;
  background: #e3d8b1;
  padding: 2.5em 0;
  font-size: 14px;
}
footer > div {
  display: flex;
  column-gap: 1em;
  justify-content: center;
}

/* layout --------------------------------------- */
.container {
  width: 100%;
}

/* text -----------------------------------------*/
/* font-family */
.sans {
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 2;
}

.underline {
  text-decoration: underline;
}

/* SP-common ---------------------------- */
.pc_only {
  display: none;
}

.sp_only {
  display: block;
}

/* スライス線対策 -------------------------------- */
.bg-beige {
  background: linear-gradient(#fff, #efe8d2, #fff);
}

.bg-white {
  background: #fff;
}

.bg-blue {
  background-color: #e5f3ff;
}

/* btn ---------------------------------------- */
.btn-container {
  position: relative;
}
.btn {
  z-index: 100;
  transition: transform 0.2s;
  display: block;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  width: 86.93%;
}
.btn_01 {
  top: 7%;
}
.btn_02 {
  top: 33%;
}
.btn:active {
  transform: scale(0.95);
}

/* アニメーション */
.btn {
  animation: pulse 1500ms ease-in-out infinite;
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  35% {
    transform: scale(1.04);
  }
  70% {
    transform: scale(1);
  }
}

/* YouTube ---------------------------------------- */

#form {
  position: relative;
  background: url("../images/body_18.webp") no-repeat top center;
  background-size: cover;
  width: 100%;
  max-width: 720px; /* PC時の上限幅 */
  margin: 0 auto;
  aspect-ratio: 16 / 9; /* 背景領域も動画比率に合わせる */
}

/* 動画を背景内にぴったり重ねる */
#form .video-wrap {
  position: absolute;
  top: 50%; /* 中央寄せ */
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%; /* 動画幅、好みで調整 */
  aspect-ratio: 16 / 9;
}

#form .video-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  border-radius: 8px; /* 角丸はお好みで */
}

/* triangle ------------------------------------ */
.triangle {
  z-index: 100;
  transition: transform 0.2s;
  display: block;
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: -16%;
  width: 82%;
}

/* PC tablet -------------------------------------*/
@media screen and (min-width: 835px) {
  /* common --------------- */
  .pc_only {
    display: block;
  }
  .sp_only {
    display: none;
  }
  body {
    width: 500px;
    box-shadow: 0 1px 20px rgb(112 103 100 / 30%);
  }
}
