@charset "euc-jp";

/********** リセット **********/
body, form, p, hr, h1, h2, h3, h4, dl, dt, dd, select, option, input, menu {
  margin: 0;
  padding: 0;
}

body {
  min-width: 980px;
  background: #f4f4f4;
  font-size: 12px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #333;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  outline: none;
  color: #008bf2;
}

a:link {
  text-decoration: none;
  color: #008bf2;
}

a:visited {
  text-decoration: none;
  color: #008bf2;
}

a:hover {
  text-decoration: none;
  color: #008bf2;
}

a:active {
  text-decoration: none;
  color: #008bf2;
}

img {
  border: 0;
}



/********** 内容 **********/
/***** 共通 *****/
.text.is_primary-color {
  color: #ab48a2;
}

.text.is_warning {
  color: #ff1919;
}

.text.is_emphasis {
  font-size: 20px;
}



.primary {
  position: relative;
  height: 100vh;
}

.section {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  width: 600px;
  padding: 24px;
  background-color: #fcfcfc;
  border-radius: 12px;
  box-shadow: 0 2px 4px rgba(102, 102, 102, .1);
  text-align: center;
}


/*** ロゴ ***/
.section-logo {
  width: fit-content;
  height: 50px;
  margin: 0 auto 24px;
}

.section-logo__image {
  display: block;
  height: 100%;
}


/*** タイトル ***/
.section-title {
  margin-bottom: 12px;
  font-size: 20px;
  line-height: 1.5em;
}

.section-text:not(:last-child) {
  margin-bottom: 24px;
  font-size: 16px;
}


/*** 年齢認証 ***/
.age-verification {
  box-sizing: border-box;
  padding: 24px;
  background-color: #f4f4f4;
  border-radius: 7px;
}

.age-verification-image-wrap {
  width: 55px;
  margin: 0 auto 12px;
}

.age-verification-image {
  display: block;
  width: 100%;
  filter: brightness(0) saturate(100%) invert(19%) sepia(0%) saturate(1855%) hue-rotate(231deg) brightness(94%) contrast(93%);
}

.age-verification-text {
  font-size: 16px;
}

.age-verification-text:not(:last-of-type) {
  margin-bottom: 24px;
  line-height: 1.5em;
}

.age-verification-text:last-of-type {
  margin-bottom: 24px;
}


/*** ボタン ***/
.age-verification-btn-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 12px;
}

.age-verification-btn-list-item {
  width: 246px;
}

a.age-verification-btn-list-item__btn {
  box-sizing: border-box;
  display: block;
  min-width: 96px;
  min-height: 48px;
  padding: 16px 12px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08em;
  transition: .1s;
}

a.age-verification-btn-list-item__btn.is_submit {
  background-color: #a0107c;
  box-shadow: 0 1px 3px rgba(121, 1, 108, .5);
  color: #fff;
}

a.age-verification-btn-list-item__btn.is_submit:hover {
  background-color: #79016c;
  color: #fff;
}

a.age-verification-btn-list-item__btn.is_back {
  padding: 15px 12px;
  background: #fff;
  border: 1px solid #a0107c;
  color: #ab48a2;
}

a.age-verification-btn-list-item__btn.is_back:hover {
  border: 1px solid #79016c;
  text-decoration: underline;
  color: #79016c;
}


/*** コピーライト ***/
.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin-bottom: 24px;
}

.footer-copy-right {
  font-size: 12px;
  text-align: center;
  color: #909090;
}