@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&display=swap');

/* ========================================================================
    reset
======================================================================== */
/* CSS Document */
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: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

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

body {
  line-height: 1;
  font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  text-decoration: none;
  color: inherit;
}

b {
  font-weight: bold;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: bottom;
  line-height: 1;
}

button {
  line-height: 1;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

ruby rt {
  font-size: 0.4em;
  font-weight: normal;
  translate: 0 0.7em;
}

/* Firefoxのみ */
@-moz-document url-prefix() {
  ruby rt {
    position: relative;
    top: 0.7em;
  }
}
/* ========================================================================
    style
======================================================================== */
/* ====================================
共通
==================================== */
/* color */
:root {
    --color-black: #1e1210;
}

html {
    font-size: 62.5%;
    overflow-x: hidden;
}

body {
    width: 100%;
    font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    background: var(--color-black);
    color: #fff;
    -webkit-text-size-adjust: 100%;
    position: relative;
    overflow-x: hidden;
    font-feature-settings: "palt";
}

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

a {
    transition: all 0.3s;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media screen and (min-width: 751px) {
    a:hover {
        transition: all 0.3s;
        opacity: 0.7;
    }
}

*:focus {
    outline: none;
}

img {
    width: auto;
    max-width: 100%;
    height: auto;
    border-style: none;
    vertical-align: bottom;
}

p {
    word-break: break-all;
    line-height: 1.4;
}

.pc { display: block; }
.sp { display: none; }
@media screen and (max-width: 750px) {
    .pc { display: none; }
    .sp { display: block; }
}

.bold { font-weight: bold; }

.mb1em { margin-bottom: 1em !important; }

.al_c { text-align: center !important; }
.al_r { text-align: right !important; }
.al_l { text-align: left !important; }

.indent_1 {
    padding-left: 1em;
    text-indent: -1em;
}
span.indent_1 {
    display: inline-block;
}

.marker {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    background: linear-gradient(transparent 65%, #ffe100 65%);
    margin: 0 3px;
    padding: 0 2px;
    display: inline;
}

.inner {
    width: 100%;
    max-width: 670px;
    margin: 0 auto;
}

main {
    overflow-x: hidden;
}


/* ====================================
footer
==================================== */
.footer {
    width: 100%;
    height: 50px;
    text-align: center;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}
.footer small {
    font-size: 13px;
}


/* ====================================
contents
==================================== */
.bg_black {
    background-color: var(--color-black);
}

.sec {
    width: 750px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}
.sec h1 {
  margin-bottom: clamp(-5px, -0.67vw, 0px);
}
.sec h1 img {
    width: 862px;
    max-width: 114.93vw;
}

.box {
    width: 690px;
    max-width: 92%;
    border: clamp(1px, 0.27vw, 2px) solid #fff;
    margin: 0 auto;
}
.box + .box {
    margin-top: clamp(0px, 3.33vw, 25px);
}
.box.dot {
    background-image: url("../img/dot_top.png"), url("../img/dot_btm.png");
    background-repeat: no-repeat, no-repeat;
    background-position: top center, bottom center;
    background-size: 100% auto, 100% auto;
}
.box.yellow {
    border-color: #fabe00;
}
.box img.w100 {
    width: 750px;
    max-width: 108.7vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}