/* reset style */
* {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  width: 100%;
  font-feature-settings: "palt";
}

.lp_contents {
  font-size: 10px;
  max-width: 750px;
  margin: auto;
}

img,
video {
  display: block;
  height: auto;
  max-width: 100%;
}

a {
  text-decoration: none;
  transition: .2s;
}

a:hover {
  filter: brightness(1.1);
}

.inner {
  padding: 0 4.5em;
}

@media screen and (max-width: 750px) {
  .lp_contents {
    font-size: 1.333vw;
  }
}

/* ========== common ========== */
img {
  padding-bottom: 6em;
}

p {
  font-feature-settings: "palt";
  font-size: 2.8em;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  padding-bottom: 1.5em;
  text-align: justify;
}

sup {
  font-size: .5em;
  letter-spacing: -0.02em;
}

span.f_bold {
  font-weight: bold;
}

span.f_line {
  font-weight: bold;
  background: linear-gradient(transparent 75%, #e6c7cf 75%);
}

/* ========== header ========== */
.header {
  background-color: #ebe6dc;
}

.header p {
  font-size: 3em;
  font-weight: 300;
  text-align: center;
  letter-spacing: .15em;
  padding: .4em;
}

/* ========== fv ========== */
.fv h1 {
  font-size: 3.6em;
  font-weight: 900;
  padding: 1em;
}

.fv_company {
  font-size: 1.6em;
  text-align: right;
  padding: 1em 1.5em 0 0;
}

.fv img {
  padding-bottom: 8em;
}

/* ========== content ========== */
.content h2 {
  padding: 5em 0 0;
}

.content h2 img {
  padding-bottom: 4em;
}

.content .writer {
  margin-bottom: 2em;
}

.content .footnote {
  font-size: 1.6em;
  margin: -2.5em 0 2em;
}

.content .btn_cta {
  position: relative;
  width: 60em;
  margin: 2em auto;
}

.content .btn_cta::after {
  content: '';
  display: inline-block;
  width: 6.1em;
  height: 1.6em;
  background: url(../img/btn_arrow@2x.webp) center center / contain no-repeat ;
  position: absolute;
  right: -3em;
  top: 6em;
}

.content dl {
  position: relative;
  margin-bottom: 10em;
}

.content dl::after {
  content: '';
  position: absolute;
  left: 50%;
  display: inline-block;
  margin-top: 2em;
  width: 30em;
  height: 1px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #000;
}

.content dt {
  font-size: 3.2em;
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: .06em;
  padding-bottom: 1rem;
  padding-left: 1em;
  text-indent: -1em;
}

.content dt::before {
  content: '●';
  color: #c2768b;
}

/* ================ footer ================ */
.footer-inner {
  width: 90%;
  margin: auto;
}

.footer-inner ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 3em 0;
}

.footer-inner li {
  border-bottom: #000 solid 0.1em;
}

.footer-inner li:last-child {
  border: none;
}

.footer-inner li a {
  display: block;
  color: #000;
  font-size: 1.8em;
  line-height: 1.1;
  padding: .5em;
  margin: .5em 1em;
  text-align: center;
}

.copyright {
  background-color: #f0eae4;
  font-size: 1.6em;
  text-align: center;
  padding: 1em;
}
