﻿/*! */
/* Reset styles */
* {
    outline: none !important;
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

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;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}

/* Base styles */
html {
    line-height: 1;
    font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 62.5%;
}

body {
    font-size: 1.5rem;
    line-height: 1;
    color: #001e4b;
/*    background-color: #f9fafc;*/
    background-color: #fff;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

a {
    text-decoration: none;
    color: #000;
    -webkit-transition: all .3s;
    transition: all .3s;
    display: inline-block;
    width: 100%;
}

ol, ul {
    list-style: none;
}

/* Layout */
.main {
    max-width: 750px;
    margin: 0 auto;
    overflow: hidden;
}

/* Utility classes */
a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

.img {
    line-height: 0;
    position: relative;
}

.img img {
    width: 100%;
}

.btn {
    position: absolute;
    z-index: 1;
    left: 0;
    text-align: center;
    width: 100%;
    padding-left: min(4vw, 30px);
    padding-right: min(4vw, 30px);
}

section {
    position: relative;
}

.limited .btn {
    top: 35.4%;
}

.sample .btn {
    top: min(117.6vw, 882px);
}

/* Footer */
footer {
    text-align: center;
    padding: 50px 0;
    background-color: #f3f4f6;
}

footer a:hover {
    opacity: .8;
}

footer .copy {
    font-size: 12px;
}

/* ===== 応募規約 ===== */
.pc-section {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  background-color: #fff;
  max-width: 750px;
  width: 90%;
  margin: 0 auto 5vh;
  border: 1px solid #aaaaaa;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

/* ブロック共通 */
.pc-block {
  margin-bottom: 2px;
}

/* 見出し */
.pc-block__heading {
  background-color: #827f77;
  color: #ffffff;
  font-size: clamp(15px, 2.4vw, 18px);
  font-weight: 700;
  text-align: center;
  padding: clamp(6px, 1.2vw, 9px) 16px;
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin: 10px;
}

/* 応募要項 DL */
.pc-block__dl {
  background-color: #ffffff;
  padding: 0 clamp(10px, 2.5vw, 20px);
}

.pc-block__row {
  padding: clamp(8px, 1.6vw, 12px) 0;
}

.pc-block__row--last {
  border-bottom: none;
}

.pc-block__term {
  font-size: clamp(14px, 2.2vw, 16px);
  font-weight: 700;
  color: #333333;
  line-height: 1.7;
	margin-bottom: 2px;
	border-bottom: 1px solid #e0e0e0;

}

.pc-block__desc {
  font-size: clamp(14px, 2.2vw, 16px);
  color: #333333;
  line-height: 1.7;
  padding-left: 0;
}

/* 箇条書き（賞品リスト） */
.pc-block__bul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pc-block__bul li {
  font-size: clamp(14px, 2.2vw, 16px);
  color: #333333;
  line-height: 1.7;
}

.pc-block__bul li::before {
  content: none;
}

/* 注意事項本文エリア */
.pc-block__body {
  background-color: #ffffff;
  padding: clamp(10px, 2vw, 16px) clamp(10px, 2.5vw, 20px);
}

.pc-block__body p {
  font-size: clamp(13px, 2vw, 15px);
  color: #333333;
  line-height: 1.8;
  margin-bottom: clamp(6px, 1.2vw, 10px);
}

.pc-block__body p:last-child {
  margin-bottom: 0;
}

/* 番号付きリスト */
.pc-block__ol {
/*
  list-style: decimal;
  padding-left: 1.5em;
*/
  margin: clamp(4px, 1vw, 8px) 0 clamp(6px, 1.2vw, 10px);
}

.pc-block__ol li {
  font-size: clamp(13px, 2vw, 15px);
  color: #333333;
  line-height: 1.8;
  margin-bottom: 2px;
}

/* 記号付きリスト */
.pc-block__ul {
  list-style: none;
  padding: 0;
  margin: clamp(4px, 1vw, 8px) 0 clamp(6px, 1.2vw, 10px);
}

.pc-block__ul li {
  font-size: clamp(13px, 2vw, 15px);
  color: #333333;
  line-height: 1.8;
}

/* リンク */
.pc-block__link {
  color: #333333;
  text-decoration: underline;
  word-break: break-all;
  overflow-wrap: normal;
  white-space: normal;
  font-size: clamp(13px, 2vw, 15px);
  display: inline;
}
.pc-block__link:hover {
  opacity: 0.7;
}

/* ※付きリスト（新規追加） */
.pc-block__note {
  list-style: none;
  padding: 0;
  margin: clamp(4px, 1vw, 8px) 0 clamp(6px, 1.2vw, 10px);
}

.pc-block__note li {
  font-size: clamp(13px, 2vw, 15px);
  color: #333333;
  line-height: 1.8;
  padding-left: 1.5em;
  text-indent: -1.2em;
}

.pc-block__note li::before {
  content: "※";
}

/* ①②リスト（text-indentを追加） */
.pc-block__ol li {
  font-size: clamp(13px, 2vw, 15px);
  color: #333333;
  line-height: 1.8;
  margin-bottom: 2px;
  padding-left: 1.5em;
  text-indent: -1.2em;
}

/* ・リスト（::beforeに移行、HTMLの「・」は削除） */
.pc-block__ul li {
  font-size: clamp(13px, 2vw, 15px);
  color: #333333;
  line-height: 1.8;
  padding-left: 1em;
  text-indent: -0.5em;
}

.pc-block__ul li::before {
  content: "・";
}
.pc-block__bul li {
  display: flex;
}

.bul-label {
  flex-shrink: 0;       /* ラベルは縮まない */
  white-space: nowrap;  /* ラベルは折り返さない */
}

.bul-label::after {
  content: "／";
}

.bul-content {
  flex: 1;
}
