@charset "UTF-8";
:root {
  --black: #000;
  --white: #FFF;
  --pri: #ff3c28;
  --secon: #ffd400;
}

/*-------------------------------------
リセットCSS
--------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, a, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

a:hover {
  transition: all 0.3s ease-in;
}

ins {
  color: var(--black);
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  font-style: normal;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

input[type=submit],
input[type=button],
input[type=radio] select {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration,
input[type=radio]::-webkit-search-decoration select::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus,
input[type=radio]::focus select::focus {
  outline-offset: -2px;
}

html {
  font-size: 55%;
}
@media (min-width: 375px) {
  html {
    font-size: 62.5%;
  }
}
@media (min-width: 480px) {
  html {
    font-size: 66%;
  }
}
@media (min-width: 768px) {
  html {
    font-size: 52%;
  }
}
@media (min-width: ) {
  html {
    font-size: 62.5%;
  }
}
@media (min-width: 1024px) {
  html {
    font-size: 62.5%;
  }
}
@media (min-width: 1100px) {
  html {
    font-size: 62.5%;
  }
}
@media (min-width: 1280px) {
  html {
    font-size: 62.5%;
  }
}
@media (min-width: 1440px) {
  html {
    font-size: 64%;
  }
}

body {
  font-size: 10px;
  font-size: 1rem;
  line-height: 1;
  box-sizing: border-box;
  color: var(--black);
  background: #e6e6e1;
  font-family: "Zen Maru Gothic", "Helvetica Neue", HelveticaNeue, Roboto, "Segoe UI", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
  font-weight: 700;
  width: 100%;
  font-feature-settings: "palt";
}

body.fixed {
  position: fixed;
}

html,
body {
  height: auto;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  -webkit-overflow-scrolling: touch;
}

img,
video,
object,
picture {
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
  vertical-align: bottom;
}

a {
  color: var(--black);
  text-decoration: none;
}

input,
button,
select,
textarea {
  background: transparent;
  border: none;
  border-radius: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul, ol, li,
dl, dt, dd,
table, tr, th, td,
small,
time,
a,
span,
div {
  line-height: 1;
  box-sizing: border-box;
}

.layout__normal {
  width: 94%;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .layout__normal {
    width: clamp(1000px, 1556/1920*100vw, 155.6rem);
  }
}

.layout__large {
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .layout__large {
    width: min(100%, 192rem);
  }
}

.layout__mainttl .ttlwrap {
  font-size: min(40 / 750 * 100vw, 4rem);
  min-height: 5em;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .layout__mainttl .ttlwrap {
    font-size: clamp(38px*0.8, 38/1920* 100vw, 3.8rem);
  }
}
.layout__mainttl .ttlwrap .ttl {
  font-weight: 900;
  text-align: center;
  padding: 1.5em 0;
  font-size: min(52 / 750 * 100vw, 5.2rem);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .layout__mainttl .ttlwrap .ttl {
    font-size: clamp(52px*0.8, 52/1920* 100vw, 5.2rem);
  }
}
.layout__mainttl .ttlwrapcolumn {
  font-size: min(40 / 750 * 100vw, 4rem);
  min-height: 5em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .layout__mainttl .ttlwrapcolumn {
    font-size: clamp(38px*0.8, 38/1920* 100vw, 3.8rem);
  }
}
.layout__mainttl .ttlwrapcolumn time {
  padding: 2em 0 0;
}
.layout__mainttl .ttlwrapcolumn .ttl {
  font-weight: 900;
  text-align: center;
  padding: 0.5em 0 1.5em;
  font-size: min(52 / 750 * 100vw, 5.2rem);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .layout__mainttl .ttlwrapcolumn .ttl {
    font-size: clamp(52px*0.8, 52/1920* 100vw, 5.2rem);
  }
}

.layout__imgwrap .inner-layout {
  display: flex;
}
.layout__imgwrap .inner-layout .img {
  aspect-ratio: 972/582;
  position: relative;
  overflow: hidden;
}
.layout__imgwrap .inner-layout .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.layout__imgwrap .inner-layout .img:before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: var(--black);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (min-width: 1024px) {
  .layout__imgwrap .inner-layout .img:before {
    width: 6px;
  }
}
.layout__imgwrap .inner-layout .img:last-of-type:after {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: var(--black);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
@media (min-width: 1024px) {
  .layout__imgwrap .inner-layout .img:last-of-type:after {
    width: 6px;
  }
}
.layout__imgwrap .inner-layout.col3 .img {
  width: calc(100%/3);
}

.layout__imgtextwrap .inner-layout {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout {
    flex-direction: row;
  }
}
.layout__imgtextwrap .inner-layout .img {
  aspect-ratio: 972/582;
  position: relative;
  overflow: hidden;
  width: 100%;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .img {
    width: 50%;
    border-bottom: none !important;
  }
}
.layout__imgtextwrap .inner-layout .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.layout__imgtextwrap .inner-layout .img:before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: var(--black);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .img:before {
    width: 6px;
  }
}
.layout__imgtextwrap .inner-layout .img:after {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: var(--black);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .img:after {
    width: 6px;
  }
}
.layout__imgtextwrap .inner-layout .text {
  aspect-ratio: 972/582;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  width: 100%;
}
@media (min-width: 768px) {
  .layout__imgtextwrap .inner-layout .text {
    aspect-ratio: 972/300;
  }
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .text {
    aspect-ratio: 972/582;
    width: 50%;
  }
}
.layout__imgtextwrap .inner-layout .text:before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: var(--black);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .text:before {
    content: none;
  }
}
.layout__imgtextwrap .inner-layout .text:after {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background: var(--black);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .text:after {
    width: 6px;
  }
}
.layout__imgtextwrap .inner-layout .text p {
  font-size: min(26 / 750 * 100vw, 2rem);
  width: 84%;
  line-height: 2.333;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .text p {
    font-size: clamp(20px*0.8, 30/1920*100vw, 2.8rem);
  }
}
.layout__imgtextwrap .inner-layout .text p br {
  display: none;
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout .text p br {
    display: block;
  }
}
@media (min-width: 1024px) {
  .layout__imgtextwrap .inner-layout.col2-asym .img {
    width: 38%;
    aspect-ratio: inherit;
    min-height: clamp(584px*0.8, 584/1920*100vw, 58.4rem);
  }
  .layout__imgtextwrap .inner-layout.col2-asym .text {
    width: 62%;
    aspect-ratio: inherit;
    min-height: clamp(584px*0.8, 584/1920*100vw, 58.4rem);
  }
  .layout__imgtextwrap .inner-layout.col2-asym .text p {
    width: 90%;
  }
}

.layout__text .ttlmiddle {
  font-size: min(30 / 750 * 100vw, 2.4rem);
  line-height: 1.5;
  font-weight: 900;
}
@media (min-width: 1024px) {
  .layout__text .ttlmiddle {
    font-size: clamp(24px*0.8, 24/1920*100vw, 2.4rem);
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .layout__text .ttlmiddle.pcleft {
    text-align: left;
    max-width: 84%;
    margin-inline: auto;
  }
}
.layout__text .ttllarge {
  font-size: min(42 / 750 * 100vw, 3.6rem);
  line-height: 1.5;
  font-weight: 900;
  margin-bottom: 0.3em;
}
@media (min-width: 1024px) {
  .layout__text .ttllarge {
    font-size: clamp(32px*0.8, 32/1920*100vw, 3.2rem);
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .layout__text .ttllarge.pcleft {
    text-align: left;
    max-width: 84%;
    margin-inline: auto;
  }
}
.layout__text .margin {
  margin-top: 6.2em;
}
.layout__text .text {
  text-align: left;
  line-height: 2.8;
  font-size: min(26 / 750 * 100vw, 2rem);
}
@media (min-width: 1024px) {
  .layout__text .text {
    text-align: center;
    font-size: clamp(20px*0.8, 24/1920*100vw, 2.4rem);
  }
}
@media (min-width: 1024px) {
  .layout__text .text.pcleft {
    text-align: left;
    max-width: 84%;
    margin-inline: auto;
  }
}
.layout__text .text + .text {
  margin-top: 1em;
}
.layout__text .text + .ttlmiddle {
  margin-top: 1.5em;
}
.layout__text .text br {
  display: none;
}
@media (min-width: 1024px) {
  .layout__text .text br {
    display: block;
  }
}
@media (min-width: 1024px) {
  .layout__text .text br.pcnone {
    display: none;
  }
}
.layout__text .text br.pconly {
  display: none;
}
@media (min-width: 1024px) {
  .layout__text .text br.pconly {
    display: block;
  }
}

.layout__freebnr {
  transition: 0.3s ease;
}
.layout__freebnr:hover {
  opacity: 0.7;
}
.layout__freebnr .large {
  font-size: min(60 / 750 * 100vw, 6rem);
  font-weight: 900;
  color: var(--pri);
  background: var(--white);
  text-align: center;
  padding: 0.3em 0;
}
.layout__freebnr .small {
  font-size: min(30 / 750 * 100vw, 3rem);
  font-weight: 900;
  color: var(--secon);
  background: var(--black);
  text-align: center;
  padding: 0.5em 0;
}

.layout__tel a {
  transition: 0.3s ease;
}
.layout__tel a:hover {
  opacity: 0.7;
}
.layout__tel .large {
  font-size: min(60 / 750 * 100vw, 6rem);
  font-weight: 900;
  color: var(--pri);
  background: var(--white);
  text-align: center;
  padding: 0.3em 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .layout__tel .large {
    flex-direction: row;
  }
}
.layout__tel .large .nth-1 {
  font-size: min(32 / 750 * 100vw, 3.2rem);
  line-height: 1.2;
}
.layout__tel .large .nth-1 br {
  display: none;
}
@media (min-width: 768px) {
  .layout__tel .large .nth-1 br {
    display: block;
  }
}
.layout__tel .large .nth-2 {
  font-size: min(100 / 750 * 100vw, 10rem);
  font-weight: 900;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .layout__tel .large .nth-2 {
    margin: 0 0.2em;
    position: relative;
    top: -0.1em;
  }
}
.layout__tel .large .nth-3 {
  font-size: min(32 / 750 * 100vw, 3.2rem);
  margin-top: 0.25em;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .layout__tel .large .nth-3 {
    margin-top: 0;
  }
}
.layout__tel .large .nth-3 br {
  display: none;
}
@media (min-width: 768px) {
  .layout__tel .large .nth-3 br {
    display: block;
  }
}
.layout__tel .small {
  display: block;
  font-size: min(24 / 750 * 100vw, 2rem);
  font-weight: 900;
  color: var(--secon);
  background: var(--black);
  text-align: center;
  padding: 0.75em 0;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .layout__tel .small br {
    display: none;
  }
}

.layout__buying-items {
  padding: min(60 / 750 * 100vw, 6rem) 0;
}
@media (min-width: 1024px) {
  .layout__buying-items {
    padding: clamp(100px*0.8, 100/1920*100vw, 10rem) 0;
  }
}
.layout__buying-items .layoutcontents {
  background: var(--white);
}

.layout__listlayout {
  list-style: none;
  width: 84%;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: min(50 / 750 * 100vw, 5rem) 4%;
}
@media (min-width: 768px) {
  .layout__listlayout {
    gap: min(50 / 750 * 100vw, 5rem) 5%;
  }
}
@media (min-width: 1024px) {
  .layout__listlayout {
    width: 94%;
    gap: clamp(52px*0.8, 52/1920*100vw, 5.2rem) 2.5%;
  }
}
.layout__listlayout li {
  width: 48%;
  text-align: center;
}
@media (min-width: 768px) {
  .layout__listlayout li {
    width: 30%;
  }
}
@media (min-width: 1024px) {
  .layout__listlayout li {
    width: 18%;
  }
}
.layout__listlayout li img {
  width: 100%;
  border: solid 1px #CCC;
}
.layout__listlayout li h3 {
  font-size: min(26 / 750 * 100vw, 1.8rem);
  font-weight: 500;
  margin-top: 0.5em;
}
@media (min-width: 1024px) {
  .layout__listlayout li h3 {
    font-size: clamp(16px*0.8, 16/1920*100vw, 1.6rem);
  }
}

.layout__feature {
  margin-top: min(60 / 750 * 100vw, 6rem);
}
@media (min-width: 1024px) {
  .layout__feature {
    margin-top: clamp(100px*0.8, 100/1920*100vw, 10rem);
  }
}

.layout__featurelist {
  list-style: none;
  width: 92%;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: min(32 / 750 * 100vw, 3.2rem);
}
@media (min-width: 1024px) {
  .layout__featurelist {
    gap: 0 calc(4%/2);
    width: 94%;
    transform: scale(1.15);
    transform-origin: top center;
  }
}
.layout__featurelist li {
  width: 100%;
  aspect-ratio: 536/343;
  text-align: center;
  border: solid 4px var(--black);
  background: var(--secon);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .layout__featurelist li {
    width: 60%;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .layout__featurelist li {
    width: 32%;
    border-bottom: solid 6px var(--black);
  }
}
.layout__featurelist li .listread {
  font-size: min(26 / 750 * 100vw, 1.8rem);
  font-weight: 900;
  line-height: 1.5;
  padding: 0.5em 0;
}
@media (min-width: 1024px) {
  .layout__featurelist li .listread {
    font-size: clamp(18px*0.8, 18/1920*100vw, 1.8rem);
  }
}
.layout__featurelist li .listttl {
  font-size: min(28 / 750 * 100vw, 1.8rem);
  font-weight: 900;
  line-height: 1.5;
  background: var(--black);
  color: var(--white);
  padding: 0.5em 0;
  min-height: 4em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1024px) {
  .layout__featurelist li .listttl {
    font-size: clamp(20px*0.8, 20/1920*100vw, 2rem);
  }
}
.layout__featurelist li .listtext {
  font-size: min(24 / 750 * 100vw, 1.8rem);
  font-weight: 900;
  line-height: 1.5;
  padding: 0 1.25em;
  margin-top: auto;
  margin-bottom: auto;
}
@media (min-width: 1024px) {
  .layout__featurelist li .listtext {
    font-size: clamp(13px*0.8, 13/1920*100vw, 1.3rem);
  }
}

.layout__col3imglist {
  list-style: none;
  width: 84%;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: min(32 / 750 * 100vw, 3.2rem);
}
@media (min-width: 1024px) {
  .layout__col3imglist {
    gap: 0 calc(4%/2);
    width: 94%;
    transform: scale(1.15);
    transform-origin: top center;
  }
}
.layout__col3imglist li {
  width: 100%;
}
@media (min-width: 768px) {
  .layout__col3imglist li {
    width: 60%;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .layout__col3imglist li {
    width: 32%;
  }
}
.layout__col3imglist li .img {
  aspect-ratio: 536/343;
  position: relative;
  overflow: hidden;
}
.layout__col3imglist li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.layout__col3imglist li .text {
  font-size: min(24 / 750 * 100vw, 1.8rem);
  font-weight: 900;
  line-height: 1.5;
  margin-top: 0.5em;
  text-align: center;
}
@media (min-width: 1024px) {
  .layout__col3imglist li .text {
    font-size: clamp(18px*0.8, 18/1920*100vw, 1.8rem);
  }
}

.layout__buytokyo {
  width: 100%;
  margin-inline: auto;
}
.layout__buytokyo p {
  line-height: 1.4;
  color: var(--secon);
  background: var(--black);
  padding: 0.75em 1em;
  font-size: min(28 / 750 * 100vw, 2.4rem);
  text-align: center;
}

.layout__box {
  width: 90%;
  margin-inline: auto;
  background: var(--white);
  padding-bottom: min(40 / 750 * 100vw, 4rem);
  position: relative;
}
.layout__box + .layout__box {
  margin-top: min(60 / 750 * 100vw, 6rem);
}
.layout__box .boxttl {
  font-size: min(28 / 750 * 100vw, 1.8rem);
  margin-bottom: min(40 / 750 * 100vw, 4rem);
  font-weight: 900;
  line-height: 1.5;
  background: var(--black);
  color: var(--white);
  padding: 0.5em 1.8em;
  min-height: 4em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media (min-width: 1024px) {
  .layout__box .boxttl {
    font-size: clamp(30px*0.8, 30/1920*100vw, 3rem);
    justify-content: center;
  }
}
.layout__box .boxtext {
  font-size: min(24 / 750 * 100vw, 1.8rem);
  font-weight: 900;
  line-height: 1.5;
  padding: 0;
  margin-top: auto;
  margin-bottom: auto;
  line-height: 2;
}
@media (min-width: 768px) {
  .layout__box .boxtext {
    padding: 0 2em;
  }
}
@media (min-width: 1024px) {
  .layout__box .boxtext {
    font-size: clamp(20px*0.8, 20/1920*100vw, 2rem);
  }
}
.layout__box .boxtext + .boxtext {
  margin-top: 1.5em;
}
.layout__box .col2 {
  width: 90%;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .layout__box .col2 {
    display: flex;
    justify-content: space-between;
  }
}
.layout__box .col2 .col2img {
  font-size: min(24 / 750 * 100vw, 1.8rem);
}
@media (min-width: 768px) {
  .layout__box .col2 .col2img img {
    width: calc(100% - 4em);
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .layout__box .col2 .col2img img {
    width: 100%;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .layout__box .col2 .col2img {
    font-size: clamp(20px*0.8, 20/1920*100vw, 2rem);
    width: 39%;
  }
}
.layout__box .col2 .col2text {
  font-size: min(24 / 750 * 100vw, 1.8rem);
  margin-top: 1em;
}
@media (min-width: 1024px) {
  .layout__box .col2 .col2text {
    margin-top: 0;
    font-size: clamp(20px*0.8, 20/1920*100vw, 2rem);
    width: 60%;
  }
}
.layout__box .icon-step {
  position: absolute;
  top: min(-20 / 750 * 100vw, -2rem);
  right: 0;
  display: block;
  width: min(164 / 750 * 100vw, 16.4rem);
  aspect-ratio: 1/1;
  background-image: url(../img/common/icon-badge.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .layout__box .icon-step {
    top: min(-20px * 0.8, -20 / 1920 * 100vw, -2rem);
    width: clamp(156px*0.8, 156/1920*100vw, 15.6rem);
  }
}
.layout__box .icon-step .small {
  font-size: min(26 / 750 * 100vw, 2.6rem);
  letter-spacing: 0.2em;
  margin-bottom: 0.1em;
}
@media (min-width: 1024px) {
  .layout__box .icon-step .small {
    font-size: clamp(24px*0.8, 24/1920*100vw, 2.4rem);
  }
}
.layout__box .icon-step .large {
  font-size: min(52 / 750 * 100vw, 5.2rem);
  font-weight: 900;
}
@media (min-width: 1024px) {
  .layout__box .icon-step .large {
    font-size: clamp(52px*0.8, 52/1920*100vw, 5.2rem);
  }
}

.list__buyitem {
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: calc(100% + 6vw + 8px);
  left: -4vw;
  position: relative;
  margin-inline: auto;
  gap: calc(80/750*100vw) 0;
  transform: scale(0.86);
  transform-origin: center center;
}
@media (min-width: 1024px) {
  .list__buyitem {
    transform: scale(0.95);
    left: 0;
    width: 100%;
    gap: min(120 / 1920 * 100vw, 12rem) 0;
  }
}
.list__buyitem li {
  aspect-ratio: 1/1;
  width: 45.5%;
  height: 100%;
}
@media (min-width: 1024px) {
  .list__buyitem li {
    width: 21.5%;
  }
}
.list__buyitem a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  border: solid 4px var(--black);
  transition: 0.3s ease;
}
.list__buyitem a:hover {
  opacity: 0.7;
}
.list__buyitem .ttl {
  position: absolute;
  background-image: url(../img/common/icon-badge.svg);
  background-repeat: no-repeat;
  width: 45.6%;
  aspect-ratio: 1/1;
  font-weight: 900;
  line-height: 1.65;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(20/750*100vw);
  text-align: center;
}
@media (min-width: 1024px) {
  .list__buyitem .ttl {
    font-size: min(25 / 1920 * 100vw, 2.5rem * 0.8);
  }
}
.list__buyitem .ttl.topleft {
  top: calc(-41.6% / 2);
  left: calc(-41.6% / 2);
}
.list__buyitem .ttl.topright {
  top: calc(-41.6% / 2);
  right: calc(-41.6% / 2);
}
.list__buyitem .ttl.bottomleft {
  bottom: calc(-41.6% / 2);
  left: calc(-41.6% / 2);
}
.list__buyitem .ttl.bottomright {
  bottom: calc(-41.6% / 2);
  right: calc(-41.6% / 2);
}
@media (min-width: 1024px) {
  .list__buyitem .ttl.topleft--pc {
    top: calc(-41.6% / 2);
    left: calc(-41.6% / 2);
  }
}
.list__buyitem picture {
  width: 100%;
  height: 100%;
  display: block;
}
.list__buyitem img {
  width: 100%;
  height: 100%;
  display: block;
}
.list__buyitem.type2 a {
  background: var(--secon);
  display: flex;
  justify-content: center;
  align-items: center;
}
.list__buyitem.type2 .text {
  font-size: calc(40/750*100vw);
  font-weight: 900;
  line-height: 1.65;
  text-align: center;
}
@media (min-width: 1024px) {
  .list__buyitem.type2 .text {
    font-size: min(36 / 1920 * 100vw, 3.6rem);
  }
}

.list__flow-wrapper {
  width: calc(100% + 3vw + 4px);
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IEとEdgeでスクロールバーを非表示 */
  scrollbar-width: none;
  /* Firefoxでスクロールバーを非表示 */
  position: relative;
  padding-left: calc(24/750*100vw);
  padding-right: calc(24/750*100vw);
  display: block;
}
@media (min-width: 768px) {
  .list__flow-wrapper {
    width: 94%;
    margin-inline: auto;
    padding-left: 0;
    padding-right: 0;
  }
}
.list__flow-wrapper::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Edgeでスクロールバーを非表示 */
}
.list__flow-wrapper .list__flow {
  display: flex;
  cursor: grab;
  list-style: none;
}
@media (min-width: 768px) {
  .list__flow-wrapper .list__flow {
    cursor: pointer;
  }
}
.list__flow-wrapper .list__flow li {
  flex: 0 0 auto;
  /* 各要素の横幅を固定 */
  width: 45%;
  aspect-ratio: 1/1;
  text-align: center;
  background-color: var(--white);
  border: solid 4px var(--black);
  border-right: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 768px) {
  .list__flow-wrapper .list__flow li {
    width: calc(100%/5);
  }
}
.list__flow-wrapper .list__flow li:last-of-type {
  border-right: solid 4px var(--black);
}
.list__flow-wrapper .list__flow li .step-header {
  background-color: var(--secon);
  color: var(--black);
  font-weight: 900;
  font-size: calc(24/750*100vw);
  padding: 0.75em 0;
  border-bottom: solid 4px var(--black);
  flex-shrink: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .list__flow-wrapper .list__flow li .step-header {
    font-size: clamp(26px, 26/1920*100vw, 2.6rem);
  }
}
.list__flow-wrapper .list__flow li .step-content {
  font-weight: 900;
  font-size: calc(30/750*100vw);
  line-height: 1.5;
  background: var(--white);
  width: 100%;
  height: calc(100% - (24/750*100vw) - (24/750*100vw*0.75*2) - 4px);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media (min-width: 768px) {
  .list__flow-wrapper .list__flow li .step-content {
    font-size: clamp(32px*0.6, 32/1920*100vw, 3.2rem);
    height: calc(100% - clamp(26px, 26/1920*100vw, 2.6rem) - clamp(26px*0.75*2, 26/1920*100vw*0.75*2, 2.6rem*0.75*2) - 4px);
  }
}
.list__flow-wrapper .list__flow li .step-content.arrow:after {
  background-color: var(--white);
  content: "";
  display: block;
  height: calc(40/750*100vw);
  width: calc(40/750*100vw);
  border-top: solid 4px var(--black);
  border-right: solid 4px var(--black);
  position: absolute;
  left: calc(-22/750*100vw);
  transform: rotate(45deg);
  transform-origin: center center;
}
@media (min-width: 768px) {
  .list__flow-wrapper .list__flow li .step-content.arrow:after {
    height: 20px;
    width: 20px;
    left: -11px;
  }
}

.inner-layoutswiper {
  padding-bottom: min(60 / 750 * 100vw);
}
@media (min-width: 1024px) {
  .inner-layoutswiper {
    padding-bottom: clamp(80px*0.8, 80/1920*100vw, 8rem);
  }
}
.inner-layoutswiper.swiper-horizontal > .swiper-pagination-bullets, .inner-layoutswiper .swiper-pagination-bullets.swiper-pagination-horizontal, .inner-layoutswiper .swiper-pagination-custom, .inner-layoutswiper .swiper-pagination-fraction {
  bottom: 0;
}
.inner-layoutswiper .swiper-pagination-bullet {
  opacity: 1;
  width: 12px;
  height: 12px;
}
.inner-layoutswiper .swiper-pagination-bullet-active {
  background: var(--secon);
  border: solid 1px var(--black);
}

.list__articlewrap.archivelayout {
  display: flex;
  flex-direction: column;
  gap: 3em;
}
@media (min-width: 1024px) {
  .list__articlewrap.archivelayout {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3em 2.75%;
  }
}
@media (min-width: 1024px) {
  .list__articlewrap .list__article {
    width: 31.5%;
  }
}

.list__article a {
  display: flex;
  flex-direction: column;
  position: relative;
  border: solid 4px var(--black);
  background: var(--secon);
  height: 100%;
}
.list__article a:hover .tmb img {
  transform: scale(1.1);
}
.list__article .tmb {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  flex-shrink: 0;
}
.list__article .tmb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: 0.3s ease;
  transform: scale(1.01);
}
.list__article .textlayout {
  font-size: calc(26/750*100vw);
  padding: 1.25em 1.25em 2.25em;
  position: relative;
  height: 100%;
}
@media (min-width: 1024px) {
  .list__article .textlayout {
    font-size: clamp(16px*0.8, 16/1920*100vw, 1.6rem);
    padding: 2em 2em 3em;
  }
}
.list__article .ttl {
  line-height: 1.5;
}
.list__article .btn {
  font-size: min(20 / 750 * 100vw, 2rem);
  background: var(--black);
  color: var(--white);
  position: absolute;
  bottom: -1px;
  right: 0;
  padding: 0.5em 1em;
  display: flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .list__article .btn {
    font-size: clamp(12px*0.8, 12/1920*100vw, 1.2rem);
  }
}
.list__article .btn:after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url(../img/common/icon-arrow-secon.svg);
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: 0.5em;
}

.list__square {
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: calc(100% + 6vw + 8px);
  left: -4vw;
  position: relative;
  margin-inline: auto;
  gap: calc(80/750*100vw) 0;
  transform: scale(0.86);
  transform-origin: center center;
}
@media (min-width: 1024px) {
  .list__square {
    transform: scale(0.95);
    left: 0;
    width: 100%;
    gap: min(120 / 1920 * 100vw, 12rem) 0;
  }
}
.list__square li {
  aspect-ratio: 1/1;
  width: 45.5%;
  height: 100%;
  border: solid 4px var(--black);
  background: var(--secon);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}
@media (min-width: 1024px) {
  .list__square li {
    width: 21.5%;
  }
}
.list__square li .text {
  font-size: min(40 / 750 * 100vw, 4rem);
  font-weight: 900;
  line-height: 1.65;
  text-align: center;
}
@media (min-width: 1024px) {
  .list__square li .text {
    font-size: min(36 / 1920 * 100vw, 3.6rem);
  }
}

@media (min-width: 1024px) {
  .list__dlwrap.center {
    width: fit-content;
    margin-inline: auto;
  }
}

.list__dl {
  font-size: min(26 / 750 * 100vw, 2.6rem);
}
@media (min-width: 1024px) {
  .list__dl {
    font-size: clamp(22px*0.8, 22/1920*100vw, 2.2rem);
    display: flex;
  }
}
.list__dl + .list__dl {
  margin-top: 1em;
}
.list__dl dt {
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .list__dl dt {
    width: 8em;
  }
}
.list__dl dd {
  line-height: 1.5;
}

.list__gridtext {
  display: grid;
  /* グリッドレイアウトを使用 */
  grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
  /* 自動調整のカラム */
  gap: 1rem;
  /* 各項目間のスペース */
  padding: 0;
  margin: 0;
  list-style: none;
  /* デフォルトのリストスタイルを削除 */
  width: 84%;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .list__gridtext {
    width: 94%;
    grid-template-columns: repeat(auto-fit, minmax(23%, 1fr));
    /* 自動調整のカラム */
  }
}
.list__gridtext li {
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: baseline;
  line-height: 1.4;
  font-size: min(20 / 750 * 100vw, 1.6rem);
}
@media (min-width: 1024px) {
  .list__gridtext li {
    font-size: clamp(22px*0.8, 22/1920*100vw, 2.2rem);
  }
}
.list__gridtext li:before {
  content: "●";
  /* 各項目の前に黒丸を表示 */
  color: black;
  margin-right: 0.5rem;
  /* 黒丸とテキストの間に余白 */
  font-size: 0.85em;
}
.list__gridtext + .last {
  line-height: 1.4;
  font-size: min(20 / 750 * 100vw, 1.3rem);
  width: 84%;
  margin-inline: auto;
  margin-top: 2em;
}
@media (min-width: 1024px) {
  .list__gridtext + .last {
    font-size: clamp(18px*0.8, 18/1920*100vw, 1.8rem);
    text-align: center;
    margin-top: 4em;
  }
}

.list__pagination {
  font-size: min(20 / 750 * 100vw, 1.6rem);
  margin-top: 5em;
  text-align: center;
}
.list__pagination ul {
  display: inline-flex;
  gap: 0.5em;
  list-style: none;
  margin: 0;
  padding: 0;
}
.list__pagination li {
  display: inline-block;
}
.list__pagination li a,
.list__pagination li span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  border: solid 3px var(--black);
  color: var(--black);
  text-decoration: none;
  font-weight: 600;
  line-height: 1;
  transition: all 0.3s ease;
}
.list__pagination li a:hover {
  background: var(--black);
  color: #fff;
}
.list__pagination li .current {
  background: var(--black);
  color: #fff;
  pointer-events: none;
}
.list__pagination li a.prev,
.list__pagination li a.next {
  padding: 0 1em;
  width: auto;
}

.ttl__middle {
  width: 100%;
  font-size: min(36 / 750 * 100vw, 3.6rem);
  letter-spacing: 0.17em;
  text-align: center;
  font-weight: 900;
  padding: 1em 0;
  color: var(--black);
  background: var(--white);
}
@media (min-width: 1024px) {
  .ttl__middle {
    font-size: clamp(3.8rem*0.7, 38/1920*100vw, 3.8rem);
  }
}
.ttl__middle.bgnone_colorblack {
  background: none;
  color: var(--white);
}

.btn__normal {
  font-size: min(36 / 750 * 100vw, 3.6rem);
  font-weight: 900;
  width: 84%;
  margin-inline: auto;
  position: relative;
}
@media (min-width: 1024px) {
  .btn__normal {
    font-size: clamp(24px*0.8, 24/1920*100vw, 2.4rem);
    width: clamp(380px, 380/1920*100vw, 38rem);
  }
}
.btn__normal:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 3px;
  left: 3px;
  width: 100%;
  height: 100%;
  background: var(--black);
  border-radius: 100px;
  transition: 0.3s ease;
}
.btn__normal a {
  width: 100%;
  display: block;
  text-align: center;
  position: relative;
  z-index: 2;
  background: var(--secon);
  border: solid 4px var(--black);
  border-radius: 100px;
  padding: 0.65em 0;
  transition: 0.3s ease;
  position: relative;
  top: 0;
  left: 0;
}
@media (min-width: 1024px) {
  .btn__normal a {
    border: solid 4px var(--black);
  }
}
.btn__normal a:after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url(../img/common/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}
.btn__normal:hover a {
  top: 3px;
  left: 3px;
}

.border__all {
  border: solid 4px var(--black);
}
@media (min-width: 1024px) {
  .border__all {
    border: solid 6px var(--black);
  }
}

.border__bottom {
  border-bottom: solid 4px var(--black);
}
@media (min-width: 1024px) {
  .border__bottom {
    border-bottom: solid 6px var(--black);
  }
}

.border__top {
  border-top: solid 4px var(--black);
}
@media (min-width: 1024px) {
  .border__top {
    border-top: solid 6px var(--black);
  }
}

.border__left {
  border-left: solid 4px var(--black);
}
@media (min-width: 1024px) {
  .border__left {
    border-left: solid 6px var(--black);
  }
}

.border__right {
  border-right: solid 4px var(--black);
}
@media (min-width: 1024px) {
  .border__right {
    border-right: solid 6px var(--black);
  }
}

.padding__normal {
  padding: min(60 / 750 * 100vw, 6rem) 0;
}
@media (min-width: 1024px) {
  .padding__normal {
    padding: clamp(100px*0.8, 100/1920*100vw, 10rem) 0;
  }
}

.padding__all {
  padding: min(78 / 750 * 100vw, 7.8rem) min(38 / 750 * 100vw, 3.8rem);
}
@media (min-width: 1024px) {
  .padding__all {
    padding: clamp(100px*0.8, 100/1920*100vw, 10rem) clamp(38px*0.8, 38/1920*100vw, 3.8rem);
  }
}

.padding__bottom {
  padding-bottom: min(78 / 750 * 100vw, 7.8rem);
}
@media (min-width: 1024px) {
  .padding__bottom {
    padding-bottom: clamp(100px*0.8, 100/1920*100vw, 10rem);
  }
}

.padding__topnone {
  padding-top: 0;
}
@media (min-width: 1024px) {
  .padding__topnone {
    padding-top: 0;
  }
}

.margin__top {
  margin-top: calc(60/750*100vw) !important;
}
@media (min-width: 1024px) {
  .margin__top {
    margin-top: clamp(100px*0.8, 100/1920*100vw, 10rem) !important;
  }
}

.margin__bottom {
  margin-bottom: calc(60/750*100vw) !important;
}
@media (min-width: 1024px) {
  .margin__bottom {
    margin-bottom: clamp(100px*0.8, 100/1920*100vw, 10rem) !important;
  }
}

.swiper-layout-1 .swiper-wrapper {
  align-items: stretch;
}
.swiper-layout-1 .swiper-slide {
  height: auto;
}

.card__textlayout {
  display: flex;
  flex-direction: column;
  list-style: none;
  width: 92%;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: min(32 / 750 * 100vw, 3.2rem);
}
@media (min-width: 768px) {
  .card__textlayout {
    flex-direction: row;
    justify-content: center;
    gap: min(70 / 1920 * 100vw, 7rem) 4%;
  }
}
@media (min-width: 1024px) {
  .card__textlayout {
    width: min(1140 / 1920 * 100vw, 114rem);
  }
}
.card__textlayout li {
  width: 100%;
}
@media (min-width: 768px) {
  .card__textlayout li {
    width: 48%;
  }
}
.card__textlayout a {
  border: solid 4px var(--black);
  background: var(--secon);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  transition: 0.3s ease;
}
@media (min-width: 1024px) {
  .card__textlayout a {
    border-bottom: solid 6px var(--black);
  }
}
.card__textlayout a:hover {
  opacity: 0.7;
}
.card__textlayout h3 {
  font-size: min(28 / 750 * 100vw, 1.8rem);
  font-weight: 900;
  line-height: 1.5;
  background: var(--black);
  color: var(--white);
  padding: 0.5em 0;
  min-height: 4em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1024px) {
  .card__textlayout h3 {
    font-size: clamp(26px*0.8, 26/1920*100vw, 2.6rem);
  }
}
.card__textlayout p {
  font-size: min(24 / 750 * 100vw, 1.8rem);
  font-weight: 900;
  line-height: 1.5;
  padding: 1em 1.85em 1em;
  margin-bottom: auto;
}
@media (min-width: 1024px) {
  .card__textlayout p {
    font-size: clamp(18px*0.8, 18/1920*100vw, 1.8rem);
  }
}

/* カード全体 */
.c-form {
  background: #fff;
  border: 1px solid #d9d9d2;
  /* body色(#e6e6e1)となじむ薄い境界線 */
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  display: grid;
  gap: 1.5rem;
  /* 各項目 */
  /* 入力共通 */
  /* フォーカス／ホバー */
  /* テキストエリア高さ */
  /* ラジオ（CF7の構造に合わせる） */
  /* ファイル入力 */
  /* 送信ボタン */
  /* ステータス／エラー（CF7既定クラス） */
  /* 各フィールドのエラー */
  /* スピナー位置微調整 */
}
@media (min-width: 1024px) {
  .c-form {
    padding: 3rem;
    gap: 2rem;
  }
}
.c-form br {
  display: none;
}
.c-form__item {
  display: grid;
  gap: 0.6rem;
  /* ラジオ群などで行間を詰める */
}
.c-form__item .wpcf7-radio {
  line-height: 1.4;
}
.c-form__label {
  font-weight: 700;
  font-size: 1.6rem;
  color: #222;
}
.c-form__label .req {
  color: #c03;
  font-weight: 600;
  margin-left: 0.25em;
  font-size: 1.3rem;
}
.c-form__label small {
  display: block;
  font-weight: 400;
  color: #666;
  margin-top: 0.25em;
  margin-bottom: 0.75em;
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form input[type=url],
.c-form input[type=number],
.c-form input[type=file],
.c-form textarea,
.c-form select,
.c-form .wpcf7-form-control.wpcf7-text,
.c-form .wpcf7-form-control.wpcf7-email,
.c-form .wpcf7-form-control.wpcf7-tel,
.c-form .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  font-size: 1.6rem;
  padding: 0.9em 1em;
  border: 1px solid #cfcfca;
  border-radius: 8px;
  background: #fff;
  color: #222;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03) inset;
}
.c-form input:focus,
.c-form textarea:focus,
.c-form select:focus {
  border-color: #6aa3ff;
  box-shadow: 0 0 0 3px rgba(54, 120, 238, 0.15);
}
.c-form input:hover,
.c-form textarea:hover,
.c-form select:hover {
  border-color: #bfbfba;
  background: #fff;
}
.c-form textarea {
  min-height: 10em;
  resize: vertical;
}
.c-form .wpcf7-radio {
  display: grid;
  gap: 0.5rem;
}
.c-form .wpcf7-radio .wpcf7-list-item {
  display: inline-block;
  margin: 0 1.2rem 0.6rem 0;
}
.c-form .wpcf7-radio .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
.c-form .wpcf7-radio .wpcf7-list-item input[type=radio] {
  accent-color: #3678ee;
  /* 近代ブラウザ用 */
  inline-size: 1.1em;
  block-size: 1.1em;
}
.c-form input[type=file].wpcf7-form-control {
  padding: 0.6em;
  background: #fafaf8;
  border-style: dashed;
}
.c-form__submit {
  margin-top: 0.5rem;
  display: flex;
  justify-content: center;
}
.c-form input[type=submit].wpcf7-submit,
.c-form .c-btn {
  appearance: none;
  border: none;
  border-radius: 9999px;
  padding: 0.9em 5.2em;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  background: #222;
  /* body背景が薄いので濃色でコントラスト確保 */
  color: #fff;
  cursor: pointer;
  transition: transform 0.05s ease, background 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
}
.c-form input[type=submit].wpcf7-submit:hover {
  background: #000;
}
.c-form input[type=submit].wpcf7-submit:active {
  transform: translateY(1px);
}
.c-form .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 1rem 1.2rem;
  border-radius: 8px;
  font-size: 1.4rem;
  background: #f7f7f4;
  border: 1px solid #d9d9d2;
  color: #333;
}
.c-form .wpcf7-response-output.wpcf7-mail-sent-ok, .c-form .wpcf7-response-output.wpcf7-mail-sent-success {
  background: #edf9f0;
  border-color: #bfe7cb;
  color: #145a2a;
}
.c-form .wpcf7-response-output.wpcf7-validation-errors, .c-form .wpcf7-response-output.wpcf7-acceptance-missing {
  background: #fff4f4;
  border-color: #f1c0c0;
  color: #9a1f1f;
}
.c-form .wpcf7-not-valid {
  border-color: #e25b5b !important;
  box-shadow: 0 0 0 3px rgba(226, 91, 91, 0.12) !important;
}
.c-form .wpcf7-not-valid-tip {
  margin-top: 0.4rem;
  font-size: 1.3rem;
  color: #b22;
}
.c-form .wpcf7-spinner {
  margin-left: 0.6rem;
}

/* 背景との余白（フォーム外側） */
.article__the_content .innerwrap .entry .c-form {
  margin-top: 1rem;
}

.wpcf7-response-output {
  font-size: 18px;
  padding: 1.2em !important;
}

.common__header {
  width: 100%;
  position: relative;
  z-index: 4;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.5s ease;
  height: 52px;
}
@media (min-width: 1024px) {
  .common__header {
    height: 78px;
    background: var(--black);
  }
}
.common__header.is--scroll {
  background: var(--white);
}
@media (min-width: 1024px) {
  .common__header.underlayer {
    opacity: 1;
  }
}
@media (min-width: 1024px) {
  .common__header.is--onload {
    opacity: 1;
  }
}
.common__header .inner-layout {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  height: 52px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--black);
}
@media (min-width: 1024px) {
  .common__header .inner-layout {
    position: static;
    width: clamp(250px, 297/1920*100vw, 29.7rem);
    margin: 0;
    margin-left: 30px;
    height: 78px;
  }
}
.common__header .headerlogo {
  margin-left: 20px;
  width: auto;
  display: flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .common__header .headerlogo {
    margin-left: 0;
    width: 142px;
    padding-top: 14px;
    padding-bottom: 16px;
  }
}
.common__header .headerlogo a {
  display: block;
  width: 58px;
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .common__header .headerlogo a {
    width: 86px;
  }
}
.common__header .headerlogo .sitesubttl {
  font-size: 13px;
  font-weight: bold;
  margin-left: 15%;
  margin-top: 16px;
  white-space: nowrap;
  font-weight: 400;
}
@media (min-width: 1024px) {
  .common__header .headerlogo .sitesubttl {
    font-size: 13px;
    font-weight: bold;
    margin-left: 48px;
    margin-top: 30px;
  }
}
@media (min-width: 1280px) {
  .common__header .headerlogo .sitesubttl {
    font-size: 15px;
  }
}
@media (min-width: 1440px) {
  .common__header .headerlogo .sitesubttl {
    font-size: 17px;
  }
}

.js--gnav {
  transition: 0.8s cubic-bezier(0.61, 1, 0.88, 1);
}
.js--gnav.is--gnavopen {
  background: none;
}

.gnav__hamburger {
  width: 52px;
  height: 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  gap: 6px 0;
  top: 0;
  right: 10px;
}
@media (min-width: 1024px) {
  .gnav__hamburger {
    display: none;
  }
}
.gnav__hamburger:before {
  content: "";
  display: block;
  width: 65%;
  height: 3px;
  background: var(--white);
  transition: 0.3s ease;
}
.gnav__hamburger:after {
  content: "";
  display: block;
  width: 65%;
  height: 3px;
  background: var(--white);
  transition: 0.3s ease;
}
.gnav__hamburger .border {
  width: 65%;
  height: 3px;
  background: var(--white);
  transition: 0.3s ease;
}
.gnav__hamburger.js--is--close:before {
  width: 40%;
  transform: rotate(45deg) translateX(5px) translateY(5px);
}
.gnav__hamburger.js--is--close:after {
  width: 40%;
  transform: rotate(-45deg) translateX(8px) translateY(-7px);
}
.gnav__hamburger.js--is--close .border {
  opacity: 0;
}

.gnav__layout {
  position: fixed;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: none;
}
@media (min-width: 1024px) {
  .gnav__layout {
    display: block;
    position: static;
    transform: none;
    margin-right: 0;
  }
}
.gnav__layout ul {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  justify-content: center;
  font-size: 1.6rem;
  text-align: center;
}
@media (min-width: 1024px) {
  .gnav__layout ul {
    flex-direction: row;
    align-items: center;
    font-size: 1.3rem;
  }
}
@media (min-width: 1280px) {
  .gnav__layout ul {
    font-size: max(1.5rem, 15px);
  }
}
.gnav__layout ul li {
  margin-bottom: 1.85em;
  line-height: 1.25;
  font-weight: 900;
}
@media (min-width: 1024px) {
  .gnav__layout ul li {
    margin-bottom: 0;
    margin-left: 0.85em;
    margin-right: 0.85em;
  }
}
@media (min-width: 1100px) {
  .gnav__layout ul li {
    margin-bottom: 0;
    margin-left: 1em;
    margin-right: 1em;
  }
}
@media (min-width: 1440px) {
  .gnav__layout ul li {
    margin-bottom: 0;
    margin-left: 1.25em;
    margin-right: 1.25em;
  }
}
.gnav__layout ul li:last-of-type {
  margin-bottom: 0;
}
.gnav__layout ul li a {
  white-space: nowrap;
  color: var(--white);
  transition: 0.3s ease;
  letter-spacing: 0.025em;
  position: relative;
  padding-bottom: 5px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 1024px) {
  .gnav__layout ul li a {
    align-items: center;
    color: var(--white);
  }
}
@media (min-width: 1024px) {
  .gnav__layout ul li a:hover {
    color: var(--pri);
  }
}
.gnav__layout ul li a:before {
  background: var(--black);
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.gnav__layout ul li a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.gnav__layout ul li a.pointer-events-none {
  pointer-events: none;
  opacity: 0.35;
}
.gnav__layout ul li a .small {
  font-size: 1rem;
  margin-top: 0.3em;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .gnav__layout ul li a .small {
    font-size: 1rem;
  }
}
@media (min-width: 1100px) {
  .gnav__layout ul li a .small {
    font-size: 1.1rem;
  }
}
@media (min-width: 1280px) {
  .gnav__layout ul li a .small {
    font-size: 1.2rem;
  }
}
.gnav__layout ul li.btn {
  width: 180%;
  position: relative;
  left: -40%;
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .gnav__layout ul li.btn {
    position: static;
    top: 0;
    right: 0;
    width: auto;
    height: auto;
    margin-top: 0;
  }
}
@media (min-width: 1280px) {
  .gnav__layout ul li.btn {
    width: 150px;
  }
}
.gnav__layout ul li.btn a {
  align-items: center;
  background: var(--white);
  color: var(--black);
  padding: 1.25em;
  text-align: center;
  border-radius: 100px;
  transition: 0.3s ease;
}
@media (min-width: 1024px) {
  .gnav__layout ul li.btn a {
    padding: 0.7em 2em;
    height: auto;
    justify-content: center;
  }
}
.gnav__layout ul li.btn a:before {
  content: none;
}
.gnav__layout ul li.btn a:hover {
  background: var(--pri);
}
@media (min-width: 1024px) {
  .gnav__layout ul li.btn a span {
    transition: 0.5s ease;
  }
}
@media (min-width: 1024px) {
  .gnav__layout ul li.btn + .btn {
    margin-left: 0;
  }
}

.gnav__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 2;
  display: none;
  background: var(--pri);
}

p {
  font-size: calc(30/750*100vw);
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media (min-width: 1024px) {
  p {
    font-size: 1.8rem;
  }
}

.main__common {
  padding-top: 52px;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .main__common {
    padding-top: 78px;
  }
}

.common__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 28px;
  padding-bottom: 28px;
  background: var(--white);
}
.common__footer p {
  font-size: 13px;
}
.common__footer ul {
  font-size: 12px;
  list-style: none;
  margin-bottom: 1em;
}
.common__footer li a:hover {
  text-decoration: underline;
}

.home {
  background: var(--pri);
}
.home .fv {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: calc(45/750*100vw);
  border-bottom: solid 4px var(--black);
}
@media (min-width: 1024px) {
  .home .fv {
    padding-top: min(42 / 1920 * 100vw, 4.2rem);
    border-bottom: solid 6px var(--black);
    position: relative;
  }
}
.home .fv .fvttl {
  order: 2;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
@media (min-width: 1024px) {
  .home .fv .fvttl {
    flex-direction: column;
    position: relative;
    z-index: 1;
  }
}
.home .fv .fvttl .fvttltext {
  display: block;
  font-size: calc(74/750*100vw);
  letter-spacing: 0.12em;
  color: var(--white);
  text-align: center;
  line-height: 1.333;
  margin: 0.5em 0 0.65em;
  font-weight: 900;
}
@media (min-width: 1024px) {
  .home .fv .fvttl .fvttltext {
    margin-top: 0;
    font-size: min(76 / 1920 * 100vw, 7.2rem);
  }
}
@media (min-width: 1024px) {
  .home .fv .fvttl .fvttltext br {
    display: none;
  }
}
.home .fv .fvttl .fvttllogo {
  display: block;
  width: calc(300/750*100vw);
}
@media (min-width: 1024px) {
  .home .fv .fvttl .fvttllogo {
    width: min(500 / 1920 * 100vw, 50rem);
  }
}
.home .fv .fvread {
  order: 1;
  font-size: calc(40/750*100vw);
  line-height: 1;
  margin-bottom: 1em;
  font-weight: 900;
}
@media (min-width: 1024px) {
  .home .fv .fvread {
    font-size: min(60 / 1920 * 100vw, 6rem);
    margin-bottom: 0;
  }
}
.home .fv .fvread .fvread-01 {
  display: block;
  color: var(--pri);
  background: var(--white);
  letter-spacing: 0.26em;
  padding: 0.35em 1em;
}
@media (min-width: 1024px) {
  .home .fv .fvread .fvread-01 {
    background: none;
    color: var(--white);
    padding: 0;
    position: absolute;
    top: min(200 / 1920 * 100vw, 20rem);
    right: calc(50% + min(800/1920*100vw, 80rem) - 1em);
    transform: translateX(-50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
  }
}
.home .fv .fvread .fvread-02 {
  display: none;
}
@media (min-width: 1024px) {
  .home .fv .fvread .fvread-02 {
    color: var(--white);
    display: block;
    position: absolute;
    top: min(200 / 1920 * 100vw, 20rem);
    left: calc(50% + min(800/1920*100vw, 80rem));
    transform: translateX(-50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
  }
}
.home .fv .fvimg {
  order: 3;
  width: calc(670/750*100vw);
}
@media (min-width: 1024px) {
  .home .fv .fvimg {
    width: min(1294 / 1920 * 100vw, 129.4rem);
    margin-top: max(-140 / 1920 * 100vw, -14rem);
  }
}
.home .fv .fvimg img {
  width: 100%;
}
.home .fv .fvtel {
  order: 4;
  background: var(--white);
  width: 94%;
  border: solid 4px var(--black);
  border-bottom: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: calc(48/750*100vw);
  padding: 0.85em 0;
  margin-top: 1.25em;
}
@media (min-width: 1024px) {
  .home .fv .fvtel {
    width: clamp(1000px, 1680/1920*100vw, 168rem);
    margin-top: max(-120 / 1920 * 100vw, -12rem);
    font-size: min(48 / 1920 * 100vw, 4.8rem);
    position: relative;
    z-index: 1;
    border: solid 6px var(--black);
    border-bottom: none;
    flex-direction: row;
    justify-content: center;
  }
}
.home .fv .fvtel .fvtel-01 {
  color: var(--pri);
  font-weight: 900;
  display: block;
  margin-bottom: 0.5em;
}
@media (min-width: 1024px) {
  .home .fv .fvtel .fvtel-01 {
    margin-bottom: 0;
    margin-right: 1em;
  }
}
.home .fv .fvtel .fvtel-02 {
  width: 88%;
}
@media (min-width: 1024px) {
  .home .fv .fvtel .fvtel-02 {
    width: min(1203 / 1920 * 100vw, 120.3rem);
  }
}
.home .sec01 {
  position: relative;
}
.home .sec01 .read {
  text-align: center;
  color: var(--white);
  line-height: 2.8;
  padding-top: 2em;
  padding-bottom: calc(342/750*100vw);
  font-size: calc(30/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec01 .read {
    padding-top: 3em;
    padding-bottom: 3em;
    font-size: clamp(24px*0.8, 24/750*100vw, 2.4rem);
  }
}
@media (min-width: 1024px) {
  .home .sec01 .read br.pcnone {
    display: none;
  }
}
.home .sec01 .read br.pconly {
  display: none;
}
@media (min-width: 1024px) {
  .home .sec01 .read br.pconly {
    display: block;
  }
}
.home .sec01 .free-quote {
  display: flex;
  flex-direction: column;
}
.home .sec01 .free-quote .free-quote-01 {
  background: var(--white);
  color: var(--pri);
  font-size: calc(68/750*100vw);
  text-align: center;
  letter-spacing: 0.11em;
  padding: 0.5em 0;
  font-weight: 900;
}
@media (min-width: 1024px) {
  .home .sec01 .free-quote .free-quote-01 {
    font-size: clamp(74px*0.8, 74/1920*100vw, 7.4rem);
  }
}
.home .sec01 .free-quote .free-quote-02 {
  background: var(--black);
  color: var(--secon);
  font-size: calc(34/750*100vw);
  text-align: center;
  letter-spacing: 0.11em;
  padding: 0.7em 0;
  font-weight: 900;
}
@media (min-width: 1024px) {
  .home .sec01 .free-quote .free-quote-02 {
    font-size: clamp(38px*0.8, 38/1920*100vw, 3.8rem);
  }
}
.home .sec01 .btnlayout {
  padding: calc(68/750*100vw) 0;
}
@media (min-width: 1024px) {
  .home .sec01 .btnlayout {
    padding: clamp(60px*0.8, 60/1920*100vw, 6rem) 0;
  }
}
.home .sec01 .bg-01 {
  position: absolute;
  bottom: calc(428/750*100vw);
  left: calc(70/750*100vw);
  width: calc(218/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec01 .bg-01 {
    bottom: min(280 / 1920 * 100vw, 28rem);
    left: min(10 / 1920 * 100vw, 1rem);
    width: min(480 / 1920 * 100vw * 0.65, 58rem * 0.65);
  }
}
@media (min-width: 1440px) {
  .home .sec01 .bg-01 {
    bottom: min(380 / 1920 * 100vw, 38rem);
    left: min(20 / 1920 * 100vw, 14rem);
    width: min(500 / 1920 * 100vw * 0.65, 58rem);
  }
}
.home .sec01 .bg-01 img {
  width: 100%;
}
.home .sec01 .bg-02 {
  position: absolute;
  bottom: calc(428/750*100vw);
  left: calc(482/750*100vw);
  width: calc(250/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec01 .bg-02 {
    bottom: min(280 / 1920 * 100vw, 28rem);
    left: min(1600 / 1920 * 100vw, 160rem);
    width: min(320 / 1920 * 100vw, 42rem);
  }
}
@media (min-width: 1440px) {
  .home .sec01 .bg-02 {
    bottom: min(280 / 1920 * 100vw, 28rem);
    left: auto;
    right: min(10 / 1920 * 100vw, 16rem);
    width: min(370 / 1920 * 100vw, 42rem);
  }
}
.home .sec01 .bg-02 img {
  width: 100%;
}
.home .sec02 {
  position: relative;
  z-index: 2;
}
.home .sec02 .inner-layout {
  padding-bottom: calc(140/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec02 .inner-layout {
    padding-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}
@media (min-width: 1024px) {
  .home .sec02 .ttl__middle {
    margin-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}
.home .sec02 .bg-03 {
  position: absolute;
  bottom: calc(-40/750*100vw);
  left: calc(6/750*100vw);
  width: calc(256/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec02 .bg-03 {
    width: min(341 / 1920 * 100vw, 34.1rem);
    bottom: min(-110 / 1920 * 100vw, -11rem);
    left: min(6 / 1920 * 100vw, 0.6rem);
  }
}
@media (min-width: 1440px) {
  .home .sec02 .bg-03 {
    width: min(341 / 1920 * 100vw, 34.1rem);
    bottom: min(-110 / 1920 * 100vw, -11rem);
    left: min(150 / 1920 * 100vw, 15rem);
  }
}
.home .sec02 .bg-03 img {
  width: 100%;
}
.home .sec03 {
  position: relative;
  z-index: 1;
}
.home .sec03 .inner-layout {
  padding-bottom: calc(180/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec03 .inner-layout {
    padding-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}
@media (min-width: 1024px) {
  .home .sec03 .ttl__middle {
    margin-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}
.home .sec03 .bg-04 {
  position: absolute;
  bottom: calc(-50/750*100vw);
  left: calc(542/750*100vw);
  width: calc(202/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec03 .bg-04 {
    bottom: min(-110 / 1920 * 100vw, -11rem);
    left: min(1260 / 1920 * 100vw, 126rem);
    width: clamp(202px*0.8, 202/1920*100vw, 20.2rem);
  }
}
@media (min-width: 1440px) {
  .home .sec03 .bg-04 {
    bottom: min(-150 / 1920 * 100vw, -15rem);
    left: auto;
    right: min(126 / 1920 * 100vw, 12.6rem);
    width: clamp(202px*0.8, 202/1920*100vw, 20.2rem);
  }
}
.home .sec03 .bg-04 img {
  width: 100%;
}
.home .sec04 {
  position: relative;
}
.home .sec04 .inner-layout {
  padding-bottom: calc(180/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec04 .inner-layout {
    padding-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}
.home .sec04 .ttl__middle {
  margin-bottom: calc(68/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec04 .ttl__middle {
    margin-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}
.home .sec05 {
  position: relative;
}
.home .sec05 .ttl__middle {
  margin-bottom: calc(68/750*100vw);
}
@media (min-width: 1024px) {
  .home .sec05 .ttl__middle {
    margin-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}
.home .sec05 .w100vw {
  width: 100vw;
  position: relative;
  left: calc(-3vw + -4px);
}
@media (min-width: 1024px) {
  .home .sec05 .w100vw {
    width: 100vw;
    position: absolute;
    top: clamp(180px*0.8, 180/1920*100vw, 18rem);
    left: 0;
  }
}
.home .sec05 .btnlayout {
  padding: calc(68/750*100vw) 0;
}
@media (min-width: 1024px) {
  .home .sec05 .btnlayout {
    margin-top: clamp(450px*0.8, 450/1920*100vw, 45rem);
    padding-bottom: clamp(120px*0.8, 120/1920*100vw, 12rem);
  }
}

.article__the_content .innerwrap {
  width: min(100%, 74rem);
  margin-inline: auto;
}
.article__the_content .mainheader {
  margin-bottom: 2em;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .article__the_content .mainheader {
    margin-bottom: 4.8em;
  }
}
.article__the_content .mainheader .time {
  display: block;
  font-size: 1.3em;
  margin-bottom: 0.5em;
  letter-spacing: 0.05em;
}
@media (min-width: 1024px) {
  .article__the_content .mainheader .time {
    font-size: 1.5em;
  }
}
.article__the_content .mainheader .ttl {
  font-size: min(42 / 750 * 100vw, 4.2rem * 0.65);
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  border-bottom: solid 4px var(--black);
  padding-bottom: 0.5em;
}
@media (min-width: 1024px) {
  .article__the_content .mainheader .ttl {
    padding-bottom: 0.75em;
    font-size: 3.6rem;
    line-height: 1.4;
    border-bottom: solid 6px var(--black);
  }
}
.article__the_content .mainimg {
  width: 100%;
  margin-bottom: 3em;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.article__the_content .mainimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.article__the_content .entry {
  /* -------------------------
    1) ベースの縦リズム
  --------------------------*/
  --stack-space: 2em;
  /* -------------------------
    2) 見出しまわりの調整
    - 見出し直後の本文は詰める
    - 見出しの前は広げる（本文→見出し）
  --------------------------*/
  /* -------------------------
    3) リストまわり
    - 上下の外側 margin はスタックに任せる
    - 左インデントのみ個別指定
  --------------------------*/
  /* -------------------------
    4) 画像・図版
  --------------------------*/
  /* -------------------------
    5) 引用・区切り
  --------------------------*/
  /* -------------------------
    6) 細かい微調整（任意）
  --------------------------*/
}
.article__the_content .entry > * {
  margin: 0;
}
.article__the_content .entry > * + * {
  margin-block-start: var(--stack-space);
}
.article__the_content .entry h2 {
  font-size: min(38 / 750 * 100vw, 3.8rem * 0.65);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .article__the_content .entry h2 {
    font-size: 2.8rem;
  }
}
.article__the_content .entry h3 {
  font-size: min(34 / 750 * 100vw, 3.4rem * 0.65);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .article__the_content .entry h3 {
    font-size: 2.1rem;
  }
}
.article__the_content .entry h4 {
  font-size: min(30 / 750 * 100vw, 3rem * 0.65);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .article__the_content .entry h4 {
    font-size: 1.8rem;
  }
}
.article__the_content .entry h5 {
  font-size: min(26 / 750 * 100vw, 2.6rem * 0.65);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .article__the_content .entry h5 {
    font-size: 1.5rem;
  }
}
.article__the_content .entry h6 {
  font-size: min(20 / 750 * 100vw, 2rem * 0.65);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .article__the_content .entry h6 {
    font-size: 1.2rem;
  }
}
.article__the_content .entry p {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", Meiryo, Arial, "Helvetica Neue", Helvetica, Verdana, sans-serif;
  font-feature-settings: "palt";
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-size: min(30 / 750 * 100vw, 3rem * 0.65);
}
@media (min-width: 1024px) {
  .article__the_content .entry p {
    font-size: 1.8rem;
  }
}
.article__the_content .entry a {
  color: var(--pri);
  text-decoration: underline;
}
.article__the_content .entry ul,
.article__the_content .entry ol {
  margin: 2em 0 1.5em 1.5em;
  padding: 0;
  line-height: 1.5;
  font-size: min(30 / 750 * 100vw, 3rem * 0.65);
}
@media (min-width: 1024px) {
  .article__the_content .entry ul,
.article__the_content .entry ol {
    font-size: 1.8rem;
  }
}
.article__the_content .entry ul {
  list-style: disc outside;
}
.article__the_content .entry ul ul {
  list-style: circle outside;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.article__the_content .entry ul ul ul {
  list-style: square outside;
}
.article__the_content .entry ol {
  list-style: decimal outside;
}
.article__the_content .entry ol ol {
  list-style: lower-alpha outside;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.article__the_content .entry ol ol ol {
  list-style: lower-roman outside;
}
.article__the_content .entry li {
  margin: 0.3em 0;
  line-height: 1.5;
}
.article__the_content .entry > :where(h1, h2, h3, h4, h5, h6) + :where(p, ul, ol, blockquote, figure) {
  --stack-space: .5em;
}
.article__the_content .entry > :where(p, ul, ol, blockquote, figure) + :where(h1, h2, h3, h4, h5, h6) {
  --stack-space: 2.5em;
}
.article__the_content .entry > :where(h1, h2, h3, h4, h5) + :where(h2, h3, h4, h5, h6) {
  --stack-space: .5em;
}
.article__the_content .entry ul, .article__the_content .entry ol {
  margin: 2em 0 0 1.5em;
  padding: 0;
  line-height: 1.5;
}
.article__the_content .entry > :where(ul, ol) + p {
  --stack-space: 1em;
}
.article__the_content .entry > :where(ul, ol) + :where(ul, ol) {
  --stack-space: .75em;
}
.article__the_content .entry figure > figcaption {
  margin-top: 0.5em;
}
.article__the_content .entry > :where(h1, h2, h3, h4, h5, h6) + figure {
  --stack-space: .75em;
}
.article__the_content .entry > blockquote {
  padding-left: 1em;
  border-left: 4px solid currentColor;
}
.article__the_content .entry > hr {
  border: 0;
  border-top: 1px solid #ddd;
}
.article__the_content .entry > :where(hr) {
  --stack-space: 3em;
}
.article__the_content .entry > :where(h1, h2, h3, h4, h5, h6) + .meta {
  --stack-space: .5em;
}
.article__the_content .post-nav {
  margin-top: 3em;
  padding-top: 2em;
  border-top: 1px solid var(--black);
  font-size: min(34 / 750 * 100vw, 3.4rem * 0.65);
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .article__the_content .post-nav {
    font-size: 2.1rem;
  }
}
.article__the_content .post-nav .navigation {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}
.article__the_content .post-nav .navigation li {
  max-width: 45%;
}
.article__the_content .post-nav .navigation a {
  display: inline-block;
  text-decoration: none;
  transition: color 0.3s ease;
}
.article__the_content .post-nav .navigation a:hover {
  text-decoration: underline;
}
.article__the_content .post-nav .navigation .prev {
  text-align: left;
}
.article__the_content .post-nav .navigation .next {
  text-align: right;
}
.article__the_content .post-nav .back-archive {
  margin-top: 1.5em;
  text-align: center;
}
.article__the_content .post-nav .back-archive a {
  display: inline-block;
  padding: 0.6em 1.2em;
  border-radius: 3px;
  text-decoration: none;
  transition: background 0.3s ease;
}

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