@charset "UTF-8";

/* ==============================================================================

  "ZAISAN" Index SP Style

============================================================================== */

/*
  Section Common
============================================================================== */
.sec-header {
  height: calc(375 / 780 * 100vw);
  background-attachment: scroll;
}
.sec-heading { font-size: calc(60 / 780 * 100vw); }
.sec-subheading { font-size: calc(36 / 780 * 100vw); }
.sec-subheading::before { font-size: calc(24 / 780 * 100vw); }

/*
  Main Visual
============================================================================== */
.mv { padding: calc(265 / 780 * 100%) 0 calc(195 / 780 * 100%); }
.mv .sec-pict {
  top: calc(575 / 780 * 100vw);
  bottom: initial;
}
.mv .sec-pict img {
  width: 100%;
  height: auto;
}
.mv .inner { padding: 0; }
.intro {
  padding: 0;
  margin: 0 0 calc(60 / 780 * 100%);
}
.mv h2 {
  font-size: calc(70 / 780 * 100vw);
  margin: 0 0 calc(50 / 780 * 100%);
}
.mv h3 {
  font-size: calc(30 / 780 * 100vw);
  margin: 0 0 calc(480 / 780 * 100%);
}
.mv p {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
}

/*
  Section01
============================================================================== */
.sec01 { padding: 0 0 calc(155 / 780 * 100%); }
.sec01 .sec-heading {
  top: calc(50 / 780 * 100vw * -1);
  left: calc(20 / 780 * 100vw * -1)
}
.sec01 .sec-subheading { padding: 0; }
.sec01 .sec-pict {
  right: calc(65 / 780 * 100vw * -1);
  top: calc(255 / 780 * 100vw);
  width: calc(507 / 780 * 100vw);
}
.message-content {
  flex-direction: column;
  margin: calc(50 / 780 * 100%) 0 0;
  padding: 0;
}
.message-content figure {
  width: calc(400 / 780 * 100vw);
  margin: 0 auto calc(60 / 780 * 100%);
}
.message-content figure figcaption { font-size: calc(24 / 780 * 100vw); }
.message-content ul { width: 100%; }
.message-content ul li:first-of-type { margin: 0 0 calc(55 / 780 * 100%); }
.message-content ul li p { font-size: calc(24 / 780 * 100vw); }

.message-content ul li button a {
  font-size: calc(24 / 780 * 100vw);
  line-height: 1.0;
  padding: 1.25em 0;
}
.message-content ul li button a i {
  width: calc(25 / 780 * 100vw);
  height: calc(25 / 780 * 100vw);
}

/*
  Section02
============================================================================== */
.sec02 { padding: calc(110 / 780 * 100%) 0 calc(195 / 780 * 100%); }
.sec02 .sec-pict { width: 100%; }
.sec02 .inner { padding: 0; }
.service-content {
  flex-direction: column;
  padding: 0;
  margin: calc(90 / 780 * 100%) 0 calc(115 / 780 * 100%);
}
.service-content figure {
  width: 100%;
  padding: 0 calc(20 / 780 * 100%);
}
.service-content ul {
  width: 100%;
  margin: 0 0 calc(65 / 780 * 100%);
}
.service-content ul li p { font-size: calc(24 / 780 * 100vw); }

/* 4つの力
------------------------------------------------------------------------------ */
.four-powers { padding: 0; }
.four-powers h4 {
  font-size: calc(28 / 780 * 100vw);
  line-height: calc(54 / 28);
  white-space: wrap;
  margin: calc(60 / 780 * 100%) 0 calc(90 / 780 * 100%);
}
.three-pieces {
  display: block;
  margin: 0 0 calc(40 / 780 * 100%);
}
.one-piece { margin: 0 0 calc(60 / 780 * 100%) }
.one-piece dl dt { font-size: calc(90 / 780 * 100vw); }
.one-piece dl dd { font-size: calc(36 / 780 * 100vw); }
.one-piece figure {
  width: calc(360 / 780 * 100vw);
  margin: 10px auto 0;
}
.one-piece h5 { font-size: calc(45 / 780 * 100vw); }
.one-piece p { font-size: calc(24 / 780 * 100vw); }

/*
  Section03
============================================================================== */
.sec03 { padding: 0 0 calc(200 / 780 * 100%); }
.sec03 .sec-pict {
  right: calc(190 / 780 * 100vw * -1);
  top: calc(310 / 780 * 100vw);
  width: calc(632 / 780 * 100vw);
}
.sec03 .sec-heading {
  top: calc(50 / 780 * 100vw * -1);
  left: calc(20 / 780 * 100vw * -1);
}
.sec03 .sec-subheading {
  padding: 0;
  margin: calc(50 / 780 * 100%) 0 0;
}
.sec03 .sec-subheading + p {
  padding: 0;
  font-size: calc(24 / 780 * 100vw);
  margin: calc(40 / 780 * 100%) 0 calc(65 / 780 * 100%);
}
.booklist { padding: 0; }
.book-unit {
  display: block;
  padding: calc(50 / 780 * 100%) 0 calc(80 / 780 * 100%);
}
.book-photo {
  padding: 0;
  justify-content: flex-start;
}
.book-photo > div {
  width: 50%;
  display: grid;
  place-content: center;
}
.book-photo figure {
  width: calc(235 / 780 * 100vw);
  margin: 0 0 0 calc(35 / 780 * 100%);
}
.book-photo p { font-size: calc(90 / 780 * 100vw); }
.book-photo p span { font-size: calc(36 / 90 * 1em); }
.book-summary { margin: calc(50 / 780 * 100%) 0 0; }
.book-summary ul li h4 { font-size: calc(26 / 780 * 100vw); }
.book-summary ul li p {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
}
.book-summary ul + button {
  width: calc(540 / 640 * 100%);
  margin: calc(50 / 780 * 100%) auto 0;
  display: block;
}
.book-summary ul + button a {
  max-width: 100%;
  font-size: calc(24 / 780 * 100vw);
  line-height: initial;
  padding: 1.15em 0;
}
.book-summary ul + button a i {
  width: calc(25 / 780 * 100vw);
  height: calc(25 / 780 * 100vw);
}

/*
  Section04
============================================================================== */
.sec04 { padding: calc(115 / 780 * 100%) 0 calc(205 / 780 * 100%); }
.sec04 .sec-pict { width: 100%; }
.sec04 .sec-subheading {
  white-space: wrap;
  margin: 0 0 calc(50 / 780 * 100%);
}
.editor-content {
  margin: 0 0 calc(100 / 780 * 100%);
  padding: calc(110 / 780 * 100%) 0 0;
}
.editor-content p {
  width: 100%;
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
  margin: 20px 0 0;
}
.comment-content {
  width: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: calc(80 / 780 * 100%) calc(40 / 780 * 100%);
}
.comment-content figure {
  width: calc(250 / 780 * 100vw);
  margin: 0 0 calc(60 / 780 * 100%);
}
.comment-content p {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
}
.comment-content dl { margin: calc(45 / 780 * 100%) 0 0; }
.comment-content dl dt {
  font-size: calc(28 / 780 * 100vw);
  line-height: calc(54 / 28);
  margin: 0 0 calc(50 / 780 * 100%);
}

/*
  Section05
============================================================================== */
.sec05 { padding: 0 0 calc(200 / 780 * 100%); }
.sec05 .sec-pict {
  top: calc(337 / 780 * 100vw);
  right: calc(141 / 780 * 100vw * -1);
  width: calc(599 / 780 * 100vw);
}
.sec05 .sec-heading {
  top: calc(50 / 780 * 100vw * -1);
  left: calc(20 / 780 * 100vw * -1);
}
.sec05 .sec-subheading { margin: 0 0 calc(75 / 780 * 100%); }
.overview {
  padding: 0;
  margin: calc(80 / 780 * 100%) 0 0;
}
.overview table { font-size: calc(24 / 780 * 100vw); }
.overview table th {
  width: calc(190 / 640 * 100%);
  padding: 1.25em 0 1.25em 1.25em;
}
.overview table td {
  width: calc(450 / 640 * 100%);
  padding: 1.25em;
}
.overview table + button {
  width: 100%;
  margin: calc(60 / 780 * 100%) 0 0;
}
.overview table + button a {
  font-size: calc(24 / 780 * 100vw);
  line-height: 1.0;
  padding: 1.25em 0;
}
.overview table + button a::after {
  right: 25px;
  width: calc(23 / 780 * 100vw);
  height: calc(23 / 780 * 100vw);
}