@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Hachi+Maru+Pop&display=swap");
@import url("https://fonts.googleapis.com/css2?family=WDXL+Lubrifont+JP+N&display=swap");
/* ========================================
   軽量＆汎用リセットCSS（パララックス対応）
======================================== */
/* 全体 */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* html, body */
html, body {
  width: 100%;
  height: 100%;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.5;
  scroll-behavior: smooth;
  /* スクロールアニメーション用 */
  background: #fff;
  color: #000;
}

/* リンク */
a {
  text-decoration: none;
  color: inherit;
}

/* 画像・動画・svg */
video, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* リスト */
ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

/* フォーム */
input, textarea, select, button {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}

/* ボタン */
button, input[type='submit'], input[type='reset'], input[type='button'] {
  cursor: pointer;
  color: #fff;
  background: #000;
}

/* テキスト系フォーム */
input[type='text'], input[type='search'], input[type='tel'], input[type='url'],
input[type='email'], input[type='password'], input[type='datetime'],
input[type='datetime-local'], input[type='date'], input[type='month'],
input[type='week'], input[type='time'], input[type='number'], textarea {
  padding: 0.4em;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
}

/* section, main, header, footer, nav */
section, main, header, footer, nav {
  display: block;
}

.slow-blink {
  animation: slowBlink 2.5s ease-in-out infinite;
}

@keyframes slowBlink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
#container {
  width: 100%;
  min-height: 100%;
  background: #F2EDF8;
  font-family: 'WDXL Lubrifont JP N', sans-serif;
  color: #966c81;
}
#container header {
  width: 100vw;
  max-width: 800px;
  height: 100vw;
  max-height: 800px;
  margin: 0 auto;
  background: url(../images/header.png);
  background-size: cover;
  background-color: #D8CCE8;
}
#container header h1 {
  font-size: 0;
}
#container header #headerText {
  margin: clamp(16px, 55vw, 440px) auto 0;
  text-align: center;
}
#container header #headerText h2 {
  font-size: clamp(20px, 5.5vw, 38px);
  margin: 0 0 40px;
}
#container header #headerText p {
  font-size: clamp(16px, 3.5vw, 28px);
}
#container main {
  width: 100vw;
  max-width: 800px;
  margin: 0 auto;
  background-color: #FF9ECE;
  background-image: url(../images/main_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0 20px 20px;
}
#container main section {
  width: 100%;
  background: #fff;
  border-radius: 25px;
  padding: 40px 20px;
  text-align: center;
  margin: 0 0 40px;
  background: url(../images/bg.jpg);
  background-size: cover;
}
#container main section:last-child {
  margin: 0;
}
#container main section p {
  font-size: clamp(16px, 4.5vw, 28px);
}
#container main section h2 {
  font-size: clamp(26px, 6.5vw, 50px);
  line-height: clamp(26px, 6.5vw, 50px);
  padding: 0.2rem;
  margin-bottom: 0.2rem;
  background: linear-gradient(transparent 80%, #D8CCE8 80%);
}
#container main section #firstText {
  padding: 0.2rem;
  margin-bottom: 0.2rem;
  background: linear-gradient(transparent 70%, #D8CCE8 70%);
}
#container main section #zodiacImage {
  width: clamp(250px, 40vw, 360px);
  margin: 20px auto;
}
#container main section #zodiacName {
  font-size: clamp(30px, 7.5vw, 55px);
}
#container main section #fortuneText {
  text-align: justify;
  margin: 20px auto 0;
}
#container main section #colorBox {
  width: clamp(250px, 40vw, 360px);
  height: clamp(250px, 40vw, 360px);
  border-radius: 50%;
  margin: 20px auto;
}
#container main section #colorName {
  margin: 0 auto;
}
#container main section #placeName {
  margin: 20px auto;
  font-size: clamp(30px, 7.5vw, 55px);
}
#container main section #placeSearchBtn {
  background: #D8CCE8;
  color: #966c81;
  border: 4px solid #966c81;
  padding: 12px 32px;
  font-size: 16px;
  font-family: 'Courier New', monospace;
  border-radius: 0;
  cursor: pointer;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 4px 4px 0 #966c81;
  transition: all 0.1s ease;
  position: relative;
  top: 0;
  left: 0;
  margin: 0 auto 30px;
}
#container main section #placeSearchBtn:hover {
  background: #D8CCF9;
}
#container main section #placeSearchBtn:active {
  top: 4px;
  left: 4px;
  box-shadow: 0 0 0 #966c81;
}
#container main section #youtubeBox {
  margin: 20px auto;
}
#container main section #musicTitle a {
  text-decoration: underline;
}
#container main section #shareBtn {
  width: calc(50% - 14px);
  background: #D8CCE8;
  color: #966c81;
  border: 4px solid #966c81;
  padding: 12px 32px;
  font-size: 12px;
  font-family: 'Courier New', monospace;
  border-radius: 0;
  cursor: pointer;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 4px 4px 0 #966c81;
  transition: all 0.1s ease;
  position: relative;
  top: 0;
  left: 0;
  margin: 0 12px 0 0;
}
#container main section #shareBtn:hover {
  background: #D8CCF9;
}
#container main section #shareBtn:active {
  top: 4px;
  left: 4px;
  box-shadow: 0 0 0 #966c81;
}
#container main section #lineShareBtn {
  width: calc(50% - 14px);
  background: #D8CCE8;
  color: #966c81;
  border: 4px solid #966c81;
  padding: 12px 32px;
  font-size: 12px;
  font-family: 'Courier New', monospace;
  border-radius: 0;
  cursor: pointer;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 4px 4px 0 #966c81;
  transition: all 0.1s ease;
  position: relative;
  top: 0;
  left: 0;
  margin: 0;
}
#container main section #lineShareBtn:hover {
  background: #D8CCF9;
}
#container main section #lineShareBtn:active {
  top: 4px;
  left: 4px;
  box-shadow: 0 0 0 #966c81;
}
#container main section .itemArea {
  margin: 0 auto 80px;
}
#container main section .itemArea:last-child {
  margin: 0 auto;
}
#container main section .ratio43 {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
}
#container main section .ratio43 iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/*# sourceMappingURL=common.css.map */
