/* 文章系自動見積り・お問い合わせ専用 */

.title.estimate-heading {
  margin-bottom: 14px;
  padding: 20px 22px;
  border-top: 4px solid #00B496;
  background: #EAFBF7;
  color: #006B59;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 「詳細」ページ内モーダル */
body.is-detail-modal-open {
  overflow: hidden;
}

.detail-modal[hidden] {
  display: none;
}

.detail-modal {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.detail-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 25, 24, 0.64);
}

.detail-modal__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: calc(100% - 48px);
  max-width: 980px;
  height: 82vh;
  max-height: 820px;
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.24);
}

.detail-modal__header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 8px 12px 8px 24px;
  background: #F0FBF8;
  border-bottom: 2px solid #00B496;
}

.detail-modal__title {
  margin: 0;
  color: #006B59;
  font-size: 20px;
  line-height: 1.4;
}

.detail-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: #006B59;
  font: 400 34px/1 Arial, sans-serif;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

.detail-modal__close:hover,
.detail-modal__close:focus-visible {
  color: #fff;
  background: #00B496;
  outline: none;
}

.detail-modal__frame {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  background: #fff;
  border: 0;
}

@media screen and (max-width: 767px) {
  .detail-modal {
    padding: 12px;
  }

  .detail-modal__panel {
    width: calc(100% - 24px);
    height: 88vh;
    border-radius: 5px;
  }

  .detail-modal__header {
    min-height: 54px;
    padding: 6px 8px 6px 16px;
  }

  .detail-modal__title {
    font-size: 17px;
  }

  .detail-modal__close {
    width: 42px;
    height: 42px;
    font-size: 31px;
  }
}

.estimate-intro {
  margin-bottom: 18px;
  color: #4f514e;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}

#jmn,
#jmn *,
#contact,
#contact * {
  box-sizing: border-box;
}

#jmn {
  --jmn-accent: #00B496;
  --jmn-dark: #006B59;
  --jmn-pale: #EAFBF7;
  --jmn-soft: #fffdf8;
  --jmn-line: #BFE9E0;
  color: #343633;
}

#jmn form > table {
  width: 100% !important;
  max-width: 100%;
  margin: 18px 0 0;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 3px solid var(--jmn-accent) !important;
}

#jmn form > table th,
#jmn form > table td {
  height: auto;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--jmn-line);
  font-size: 16px;
  line-height: 1.65;
  vertical-align: middle;
}

#jmn form > table th {
  width: 30%;
  background: var(--jmn-pale);
  color: var(--jmn-dark);
  font-weight: 700;
  text-align: left;
}

#jmn form > table td {
  background: #fff;
}

#jmn select,
#jmn input[type="text"],
#jmn input[type="email"],
#jmn input[type="tel"],
#jmn textarea {
  max-width: 100%;
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid #AFCFC8;
  border-radius: 3px;
  background: #fff;
  color: #2e312f;
  font: inherit;
}

#jmn select:focus,
#jmn input[type="text"]:focus,
#jmn input[type="email"]:focus,
#jmn input[type="tel"]:focus,
#jmn textarea:focus {
  border-color: var(--jmn-accent);
  outline: 2px solid rgba(0, 180, 150, .18);
  outline-offset: 1px;
}

#jmn textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
}

#jmn .campred {
  display: inline-block;
  margin-top: 5px;
  color: #8b5524;
  font-size: 14px;
  line-height: 1.65;
}

#jmn .mid10,
#jmn .mid12 {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 7px;
  border-radius: 2px;
  background: var(--jmn-accent);
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
}

#jmn .mid12 {
  background: #77736b;
}

#jmn .jmn-total th {
  background: #E6F8F4;
}

#jmn .jmn-total td {
  background: #F4FCFA !important;
  color: var(--jmn-dark) !important;
  font-size: 28px !important;
  font-weight: 700;
}

#jmn .jmn-contact-lead {
  margin: 50px 0 14px;
  padding: 18px 20px;
  border-top: 2px solid var(--jmn-accent);
  background: var(--jmn-soft);
}

#jmn .jmn-contact-lead h2 {
  margin: 0 0 5px;
  color: var(--jmn-dark);
  font-size: 24px;
  line-height: 1.45;
}

#jmn .jmn-contact-lead p {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
}

#jmn .jmn-reassurance {
  margin: 28px 0 8px;
  padding: 22px 24px;
  background: var(--jmn-pale);
  text-align: center;
}

#jmn .jmn-reassurance strong {
  display: block;
  margin-bottom: 5px;
  color: var(--jmn-dark);
  font-size: 21px;
}

#jmn .jmn-reassurance span {
  font-size: 15px;
  line-height: 1.75;
}

#jmn .jmn-actions {
  display: flex;
  justify-content: center;
  margin: 28px 0 0;
}

#jmn .jmn-notes {
  margin: 28px 0 0;
  padding: 18px 20px;
  background: #faf9f6;
  color: #55534e;
  font-size: 14px;
  line-height: 1.85;
}

#jmn .jmn-notes b {
  color: var(--jmn-accent);
}

#jmn .jmn-promise {
  margin: 18px 0 0;
  padding: 20px 22px;
  background: var(--jmn-pale);
  color: #48453f;
  font-size: 16px;
  line-height: 1.85;
}

#jmn .jmn-promise strong {
  display: block;
  margin-bottom: 3px;
  color: var(--jmn-dark);
  font-size: 19px;
}

#jmn .jmn-btn-confirm {
  min-width: 300px;
  min-height: 58px;
  padding: 13px 30px;
  border: 1px solid var(--jmn-accent);
  border-radius: 0;
  background: var(--jmn-accent);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

#jmn .jmn-btn-confirm:hover {
  background: var(--jmn-dark);
}

#jmn .paper-guide {
  width: 34em;
  max-width: 100%;
  margin-top: 0.8em;
  color: #343b39;
}

#jmn .paper-guide summary {
  color: var(--jmn-dark);
  font-weight: bold;
  cursor: pointer;
}

#jmn .paper-guide-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  margin-top: 0.8em;
}

#jmn .paper-guide section {
  padding: 1em;
  background: #fff;
  border-top: 3px solid var(--jmn-accent);
  box-shadow: 0 1px 5px rgba(24, 54, 49, 0.12);
}

#jmn .paper-guide h3 {
  margin: 0 0 0.45em;
  color: var(--jmn-dark);
  font-size: 1.05em;
}

#jmn .paper-guide p {
  margin: 0 0 0.65em;
  line-height: 1.7;
}

#jmn .paper-guide dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35em 1.5em;
  margin: 0;
  padding-top: 0.55em;
  border-top: 1px solid #e2e8e6;
}

#jmn .paper-guide dd {
  margin: 0;
}

#jmn .paper-guide dl div {
  display: flex;
  gap: 0.7em;
  white-space: nowrap;
}

#jmn .paper-guide dt {
  color: var(--jmn-dark);
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .title.estimate-heading {
    padding: 16px 14px;
    font-size: 25px;
  }

  .estimate-intro {
    font-size: 15px;
    text-align: left;
  }

  #jmn form > table,
  #jmn form > table tbody,
  #jmn form > table tr,
  #jmn form > table th,
  #jmn form > table td {
    display: block;
    width: 100% !important;
  }

  #jmn form > table tr {
    border-bottom: 1px solid var(--jmn-line);
  }

  #jmn form > table th,
  #jmn form > table td {
    border-bottom: 0;
  }

  #jmn form > table th {
    padding: 10px 13px 6px;
  }

  #jmn form > table td {
    padding: 8px 13px 13px;
  }

  #jmn select,
  #jmn input[type="text"],
  #jmn input[type="email"],
  #jmn input[type="tel"] {
    width: 100%;
    font-size: 16px;
  }

  #jmn textarea {
    font-size: 16px;
  }

  #jmn input[type="radio"] {
    width: auto;
  }

  #jmn .jmn-total th,
  #jmn .jmn-total td {
    text-align: center;
  }

  #jmn .jmn-total td {
    font-size: 25px !important;
  }

  #jmn .jmn-contact-lead {
    margin-top: 38px;
    padding: 16px;
  }

  #jmn .jmn-contact-lead h2 {
    font-size: 21px;
  }

  #jmn .jmn-reassurance {
    padding: 19px 17px;
    text-align: left;
  }

  #jmn .jmn-reassurance strong {
    font-size: 19px;
  }

  #jmn .jmn-btn-confirm {
    width: 100%;
    min-width: 0;
  }

  #jmn .jmn-notes,
  #jmn .jmn-promise {
    padding: 16px;
  }

  #jmn .paper-guide {
    width: auto;
  }

  #jmn .paper-guide-grid {
    grid-template-columns: 1fr;
  }
}

.title.contact-heading {
  margin-bottom: 14px;
  padding: 20px 22px;
  border-top: 4px solid #00B496;
  background: #EAFBF7;
  color: #006B59;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.contact-lead {
  margin: 0 0 22px;
  color: #4f514e;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}

.contact-caution {
  margin: 0 0 26px;
  padding: 18px 20px;
  border-top: 2px solid #00B496;
  background: #F4FCFA;
  color: #534c41;
}

.contact-caution h2 {
  margin: 0 0 6px;
  color: #006B59;
  font-size: 18px;
  line-height: 1.5;
}

.contact-caution p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}

#contact {
  --contact-accent: #00B496;
  --contact-dark: #006B59;
  --contact-pale: #EAFBF7;
  --contact-line: #BFE9E0;
  color: #343633;
}

#contact .contact-form-table {
  width: 100% !important;
  max-width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 3px solid var(--contact-accent);
}

#contact .contact-form-table th,
#contact .contact-form-table td {
  height: auto;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--contact-line);
  font-size: 16px;
  line-height: 1.65;
  vertical-align: middle;
}

#contact .contact-form-table th {
  width: 30%;
  background: var(--contact-pale);
  color: var(--contact-dark);
  font-weight: 700;
  text-align: left;
}

#contact .contact-form-table td {
  background: #fff;
}

#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
#contact select,
#contact textarea {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid #AFCFC8;
  border-radius: 3px;
  background: #fff;
  color: #2e312f;
  font: inherit;
}

#contact input[type="text"]:focus,
#contact input[type="email"]:focus,
#contact input[type="tel"]:focus,
#contact select:focus,
#contact textarea:focus {
  border-color: var(--contact-accent);
  outline: 2px solid rgba(0, 180, 150, .18);
  outline-offset: 1px;
}

#contact textarea {
  width: 100%;
  min-height: 160px;
  resize: vertical;
}

#contact input[name="order_yubin"] {
  width: 12em;
}

#contact input[type="radio"] {
  margin: 0 5px 0 12px;
}

#contact input[type="radio"]:first-child {
  margin-left: 0;
}

#contact .mid10,
#contact .mid12 {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 7px;
  border-radius: 2px;
  background: var(--contact-accent);
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
}

#contact .mid12 {
  background: #77736b;
}

#contact .contact-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin: 28px 0 0;
}

#contact .contact-actions input {
  min-width: 240px;
  min-height: 56px;
  padding: 12px 25px;
  border: 1px solid var(--contact-accent);
  border-radius: 0;
  background: #fff;
  color: var(--contact-dark);
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
}

#contact .contact-actions input[type="submit"] {
  background: var(--contact-accent);
  color: #fff;
}

#contact .contact-actions input:hover {
  background: var(--contact-pale);
}

#contact .contact-actions input[type="submit"]:hover {
  background: var(--contact-dark);
}

#contact .contact-information {
  margin: 34px 0 0;
  padding: 22px 24px;
  background: var(--contact-pale);
  color: #4c4942;
  font-size: 15px;
  line-height: 1.8;
}

#contact .contact-information h2 {
  margin: 0 0 7px;
  color: var(--contact-dark);
  font-size: 21px;
}

#contact .contact-information p {
  margin: 0;
}

#contact .contact-information .phone {
  display: inline-block;
  margin: 4px 0;
  color: var(--contact-dark);
  font-size: 25px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .title.contact-heading {
    padding: 16px 14px;
    font-size: 25px;
  }

  .contact-lead {
    font-size: 15px;
    text-align: left;
  }

  .contact-caution {
    padding: 16px;
  }

  #contact .contact-form-table,
  #contact .contact-form-table tbody,
  #contact .contact-form-table tr,
  #contact .contact-form-table th,
  #contact .contact-form-table td {
    display: block;
    width: 100% !important;
  }

  #contact .contact-form-table tr {
    border-bottom: 1px solid var(--contact-line);
  }

  #contact .contact-form-table th,
  #contact .contact-form-table td {
    border-bottom: 0;
  }

  #contact .contact-form-table th {
    padding: 10px 13px 6px;
  }

  #contact .contact-form-table td {
    padding: 8px 13px 13px;
  }

  #contact input[type="text"],
  #contact input[type="email"],
  #contact input[type="tel"],
  #contact select {
    width: 100%;
    font-size: 16px;
  }

  #contact textarea {
    font-size: 16px;
  }

  #contact input[type="radio"] {
    width: auto;
    margin-top: 7px;
  }

  #contact .contact-actions {
    display: grid;
    gap: 10px;
  }

  #contact .contact-actions input {
    width: 100%;
    min-width: 0;
  }

  #contact .contact-information {
    padding: 19px 17px;
  }
}

/* 確認画面・送信完了画面 */
.estimate-confirm *,
.contact-confirm *,
.estimate-thanks *,
.contact-thanks * {
  box-sizing: border-box;
}

.site-header {
  max-width: 1080px;
  margin: 18px auto 0;
  padding: 0 28px;
}

.site-header a,
.site-header img {
  display: block;
  width: 100%;
}

.site-header img {
  height: auto;
}

.php-flow {
  max-width: 1080px;
  margin: 28px auto 70px;
  padding: 0 28px;
  color: #35342f;
}

.flow-header {
  margin-bottom: 30px;
  text-align: center;
}

.flow-header h1 {
  margin: 0;
  color: #00584A;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: .02em;
}

.php-note {
  max-width: 800px;
  margin: 12px auto 0;
  color: #5f5a50;
  font-size: 16px;
  line-height: 1.7;
}

.php-errors,
.error {
  margin: 22px 0;
  padding: 18px 24px;
  background: #fff3f3;
  color: #a12626;
  font-size: 16px;
}

.confirm-section {
  margin-top: 30px;
}

.confirm-section h2 {
  margin: 0 0 8px;
  padding-bottom: 8px;
  border-bottom: 2px solid #00B496;
  color: #00584A;
  font-size: 23px;
  line-height: 1.5;
}

.confirm-table {
  display: block;
  width: 100%;
  border-collapse: collapse;
}

.confirm-table tbody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
}

.confirm-table tr {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-bottom: 1px solid #CFE5E0;
  text-align: left;
}

.confirm-table th,
.confirm-table td {
  width: 100%;
  border: 0;
  text-align: left;
}

.confirm-table th {
  background: #EAFBF7;
  color: #006B59;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.confirm-table td {
  color: #292a27;
  font-size: 17px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.confirm-table tr.confirm-wide {
  grid-column: 1 / -1;
}

.confirm-price {
  margin: 26px 0 0;
  padding: 16px 22px 18px;
  border-top: 3px solid #00B496;
  background: #EAFBF7;
  text-align: center;
}

.confirm-price-label {
  display: block;
  margin-bottom: 2px;
  color: #006B59;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
}

.confirm-price-value {
  display: block;
  color: #006B59;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.3;
}

.php-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-top: 32px;
}

.php-actions button,
.php-actions a {
  display: flex;
  min-width: 250px;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid #00B496;
  background: #fff;
  color: #006B59;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.php-actions button {
  background: #00B496;
  color: #fff;
  cursor: pointer;
}

.php-actions button:hover {
  background: #007D69;
}

.php-actions a:hover {
  background: #EAFBF7;
}

.thanks-wrap {
  max-width: 900px;
  margin: 34px auto 100px;
  padding: 0 28px;
}

.thanks-card {
  padding: 58px 42px 62px;
  border-top: 5px solid #00B496;
  background: #F4FCFA;
  text-align: center;
  color: #35342f;
}

.thanks-icon {
  display: flex;
  width: 64px;
  height: 64px;
  margin: 0 auto 24px;
  align-items: center;
  justify-content: center;
  border: 2px solid #00B496;
  border-radius: 50%;
  color: #00B496;
  font-size: 32px;
  font-weight: 700;
}

.thanks-card h1 {
  margin: 0;
  color: #00584A;
  font-size: 36px;
  line-height: 1.45;
  letter-spacing: .03em;
}

.thanks-lead {
  margin: 18px 0 0;
  color: #554f45;
  font-size: 19px;
  line-height: 1.9;
}

.thanks-note {
  max-width: 620px;
  margin: 28px auto 0;
  padding-top: 22px;
  border-top: 1px solid #BFE9E0;
  color: #655e52;
  font-size: 16px;
  line-height: 1.9;
}

.thanks-card a {
  display: inline-flex;
  min-width: 280px;
  min-height: 58px;
  margin-top: 32px;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  background: #00B496;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
}

.thanks-card a:hover {
  background: #007D69;
}

@media screen and (min-width: 768px) {
  .confirm-table tr {
    display: grid;
    grid-template-columns: minmax(125px, 32%) minmax(0, 1fr);
    align-items: stretch;
    padding: 0;
  }

  .contact-confirm .confirm-table tr {
    grid-template-columns: minmax(150px, 36%) minmax(0, 1fr);
  }

  .confirm-table th,
  .confirm-table td {
    display: flex;
    align-items: center;
    padding: 12px 10px;
  }

  .confirm-table td {
    min-width: 0;
  }
}

@media screen and (max-width: 767px) {
  .site-header {
    margin-top: 10px;
    padding: 0 18px;
  }

  .php-flow {
    margin: 20px auto 48px;
    padding: 0 18px;
  }

  .flow-header {
    margin-bottom: 26px;
  }

  .flow-header h1 {
    font-size: 26px;
  }

  .php-note {
    margin-top: 10px;
    font-size: 15px;
  }

  .confirm-section {
    margin-top: 28px;
  }

  .confirm-section h2 {
    margin-bottom: 5px;
    font-size: 21px;
  }

  .confirm-table tbody {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .confirm-table tr {
    padding: 0;
  }

  .confirm-table th {
    margin: 0;
    padding: 10px 12px;
    font-size: 14px;
  }

  .confirm-table td {
    padding: 10px 12px 13px;
    font-size: 17px;
  }

  .confirm-price {
    margin-top: 24px;
    padding: 15px 12px 17px;
  }

  .confirm-price-label {
    font-size: 14px;
  }

  .confirm-price-value {
    font-size: 27px;
  }

  .php-actions {
    display: grid;
    gap: 10px;
    margin-top: 28px;
  }

  .php-actions button,
  .php-actions a {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    font-size: 16px;
  }

  .thanks-wrap {
    margin: 24px auto 60px;
    padding: 0 18px;
  }

  .thanks-card {
    padding: 42px 20px 46px;
  }

  .thanks-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 20px;
    font-size: 28px;
  }

  .thanks-card h1 {
    font-size: 28px;
  }

  .thanks-lead {
    font-size: 17px;
    line-height: 1.85;
  }

  .thanks-note {
    margin-top: 24px;
    padding-top: 20px;
    font-size: 15px;
  }

  .thanks-card a {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    margin-top: 28px;
    font-size: 17px;
  }
}

/* 文章系サイト 出版ガイド共通 */
.distribution-page {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

#rdist {
  --dist: #00B496;
  --dist-dark: #006B59;
  --dist-soft: #EAFBF7;
  --dist-line: #BFE9E0;
  box-sizing: border-box;
  color: #343633;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.85;
}

#rdist * {
  box-sizing: border-box;
}

#rdist p,
#rdist li,
#rdist td {
  font-size: 16px;
}

#rdist img {
  max-width: 100%;
  height: auto;
}

.distribution-hero {
  margin: 30px 0 42px;
  padding: 58px 8%;
  border-top: 5px solid var(--dist);
  background: var(--dist-soft);
  text-align: center;
}

.distribution-eyebrow {
  margin: 0 0 14px;
  color: var(--dist-dark);
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: .18em;
}

.distribution-hero h1 {
  margin: 0;
  color: #343633;
  font-size: 42px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .05em;
}

.distribution-hero > p:last-of-type {
  margin: 20px 0 0;
  color: #5d5c58;
}

.distribution-actions {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 30px;
}

#rdist .distribution-actions a {
  display: block;
  min-width: 250px;
  padding: 15px 22px;
  border: 1px solid var(--dist);
  background: var(--dist);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

#rdist .distribution-actions a + a {
  background: #fff;
  color: var(--dist-dark);
}

.distribution-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 70px;
}

#rdist .distribution-overview a {
  position: relative;
  display: flex;
  min-height: 148px;
  padding: 20px;
  flex-direction: column;
  border: 1px solid var(--dist-line);
  background: #fff;
  color: #343633;
  text-decoration: none;
}

.distribution-overview span {
  color: var(--dist);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
}

.distribution-overview strong {
  margin-top: 6px;
  font-size: 23px;
}

.distribution-overview small {
  margin-top: 5px;
  color: #6f6b63;
  font-size: 15px;
  line-height: 1.6;
}

#rdist .no {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 62px 0 18px;
  padding: 16px 0 12px;
  border-top: 1px solid #BFE9E0;
  border-bottom: 1px solid #D6E7E3;
  color: #343633;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.4;
  scroll-margin-top: 24px;
}

#rdist .no img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

#rdist .flbr1 {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin: 20px 0;
  padding: 24px;
  border: 1px solid var(--dist-line);
  background: #fff;
}

#rdist .lph3,
#rdist .rtex3 {
  float: none;
  width: auto;
  margin: 0;
}

#rdist .lph3 {
  text-align: center;
}

#rdist .lph3 img {
  display: block;
  width: 128px;
  margin: 0 auto;
}

#rdist .tex23 {
  margin: 0 0 7px;
  color: var(--dist-dark);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

#rdist .tex14 {
  line-height: 1.9;
}

#rdist .dist-mid1,
#rdist .text-22 {
  display: block;
  margin: 42px 0 16px;
  padding: 16px 20px;
  color: var(--dist-dark);
  background: var(--dist-soft);
  border-top: 3px solid var(--dist);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}

#rdist table {
  width: 100%;
  margin: 20px 0 38px;
  border-collapse: collapse;
  background: #fff;
}

#rdist table td {
  padding: 12px;
  border: 1px solid #CFE5E0;
  line-height: 1.65;
}

#rdist table tr:first-child td {
  background: var(--dist) !important;
  color: #fff;
  font-weight: 700;
}

#rdist table td[bgcolor="#ECE0ED"] {
  background: var(--dist-soft) !important;
  color: #57462f;
  font-weight: 600;
}

#rdist .book_price {
  box-shadow: 0 6px 16px rgba(100, 72, 27, .06);
}

#rdist .flbr {
  gap: 4%;
  margin: 22px 0;
}

#rdist .flbrit {
  width: 48%;
}

#rdist .photo5 img {
  display: block;
  width: 100%;
  margin: 22px 0;
}

#rdist .bot {
  display: flex;
  gap: 12px;
  margin: 38px 0 58px;
}

#rdist .bot_l,
#rdist .bot_r {
  float: none;
  width: auto;
  margin: 0;
  flex: 1;
}

#rdist .bot a {
  display: block;
  height: 100%;
  padding: 14px 16px;
  background: var(--dist);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

#rdist a {
  color: var(--dist-dark);
}

@media screen and (max-width: 767px) {
  #rdist {
    padding: 0 4px;
  }

  #rdist p,
  #rdist li,
  #rdist td {
    font-size: 15px;
  }

  .distribution-hero {
    margin-top: 16px;
    padding: 38px 20px;
  }

  .distribution-hero h1 {
    font-size: 28px;
  }

  .distribution-hero > p:last-of-type {
    text-align: left;
  }

  .distribution-actions {
    display: block;
    margin-top: 24px;
  }

  #rdist .distribution-actions a {
    min-width: 0;
  }

  #rdist .distribution-actions a + a {
    margin-top: 10px;
  }

  .distribution-overview {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
  }

  #rdist .distribution-overview a {
    min-height: 112px;
    padding: 16px;
  }

  #rdist .no {
    margin-top: 48px;
    font-size: 23px;
  }

  #rdist .no img {
    width: 42px;
    height: 42px;
  }

  #rdist .flbr1 {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 15px;
    padding: 18px;
  }

  #rdist .lph3 img {
    width: 82px;
    margin: 0 auto;
  }

  #rdist .tex23 {
    font-size: 19px;
  }

  #rdist .dist-mid1,
  #rdist .text-22 {
    margin: 36px 0 15px;
    padding: 13px 15px;
    font-size: 19px;
  }

  #rdist table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  #rdist table > tbody {
    display: table;
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
  }

  #rdist .distribution-detail-table {
    overflow: visible;
    box-shadow: none;
    border: 0;
    background: transparent;
  }

  #rdist .distribution-detail-table > tbody {
    display: block;
    min-width: 0;
  }

  #rdist .distribution-detail-table tr {
    display: block;
    margin: 0 0 14px;
    overflow: hidden;
    border: 1px solid var(--dist-line);
    background: #fff;
  }

  #rdist .distribution-detail-table td,
  #rdist .distribution-detail-table tr:first-child td {
    display: block;
    width: 100% !important;
    padding: 15px;
    border: 0;
    background: #fff !important;
    color: #46423c;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
  }

  #rdist .distribution-detail-table td:first-child,
  #rdist .distribution-detail-table tr:first-child td:first-child {
    padding: 11px 15px;
    border-bottom: 1px solid var(--dist-line);
    background: var(--dist-soft) !important;
    color: var(--dist-dark);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
  }

  #rdist .flbr {
    display: block;
  }

  #rdist .flbrit {
    width: 100%;
  }

  #rdist .flbrit + .flbrit {
    margin-top: 14px;
  }

  #rdist .bot {
    display: block;
  }

  #rdist .bot_l,
  #rdist .bot_r {
    width: 100%;
    margin-top: 9px;
  }
}

/* 文章系：グラフィック系ページ構成の共通化 */
/* 受賞歴 */
.award-page .mid1,
.award-page .mid1 .tex1 { position:static; width:100%; height:auto; margin:0; padding:0; background:none; }
.award-page .mid1 .tex1 p { margin-bottom:0; }
.award-page .mid4 {
	margin:1.5em 0 1.2em;
	padding:.7em 1em;
	border-left:.35em solid #00B496;
	background:#EAFBF7;
	color:#006B59;
}
.award-page .mid4 strong { font-size:1.5em !important; }
.award-page .awbx { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2em; }
.award-page .aw2 {
	display:grid;
	grid-template-columns:34% 1fr;
	gap:1.3em;
	float:none;
	width:100%;
	min-height:15em;
	margin:0;
	padding:1.4em;
	border:.08em solid #BFE9E0;
	background:#fff;
}
.award-page .award_l,
.award-page .award_r { float:none; width:auto; margin:0; }
.award-page .award_l img { display:block; width:100%; max-height:14em; object-fit:contain; object-position:top center; }
.award-page .award_r { line-height:1.7; }
.award-page .award_r strong { color:#333; }

@media screen and (max-width:767px) {
	.legacy-feature-page { width:100%; padding:0 1.2em; }
	.legacy-feature-page p,
	.legacy-feature-page li,
	.legacy-feature-page .tex2,
	.legacy-feature-page .flbri03tx,
	.legacy-feature-page .award_r { font-size:1.05em; }
	.legacy-feature-page .mid2,
	.legacy-feature-page .mid1 .tex1 p { font-size:1.75em; }
	.legacy-feature-page .book-link { grid-template-columns:1fr; margin-bottom:4em !important; padding:1.2em; }
	.legacy-feature-page .book-link a { font-size:1em; }
	.screen-page .screen-mid,
	.quality-story-page .mid { font-size:1.4em; }
	.screen-page .flb > .clearfix { grid-template-columns:1fr; }
	.screen-page .fm-screen-box { grid-template-columns:1fr; padding:1.4em; }
	.screen-page .fm-image { grid-row:1; }
	.screen-page .photo-r { float:none; max-width:none; margin:0 0 1.2em; }
	.quality-page .quality-bar { grid-template-columns:1fr; gap:1em; padding:1.3em; }
	.quality-page .quality-bar > .mar-b20 { grid-column:auto; }
	.quality-page .quality-bar > .photo-l { grid-row:auto; }
	.quality-page .prof { padding:1.4em; }
	.quality-page .prof .photo-r { float:none; margin:0 0 1.2em; }
	.quality-story-page .flbr { grid-template-columns:1fr; }
	.quality-story-page .good { padding:1.4em; }
	.quality-story-page .good .photo-r,
	.quality-story-page .good .photo-l { float:none; max-width:45%; margin:0 0 1em; }
	.quality-story-page .flbr03 { grid-template-columns:1fr; }
	.award-page .awbx { grid-template-columns:1fr; }
	.award-page .aw2 { grid-template-columns:32% 1fr; min-height:0; padding:1.1em; }
	.award-page .award_l img { max-height:12em; }
}

/* 本ができるまで -------------------------------------------------- */
.flow-page {
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
#book_flow { max-width:100%; box-sizing:border-box; color:#263230; font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; font-size:1em; line-height:1.9; }
#book_flow * { box-sizing:border-box; }
#book_flow img { max-width:100%; height:auto; }
.flow-hero { margin:2.5em 0 3em; padding:4.5em 8%; background:#EAFBF7; border-top:.35em solid #00B496; text-align:center; }
.flow-hero__eyebrow { margin:0 0 1em; color:#00B496; font-size:.85em; font-weight:700; letter-spacing:.18em; }
.flow-hero h1 { margin:0; color:#263230; font-size:3em; font-weight:500; line-height:1.4; letter-spacing:.08em; }
.flow-hero__lead { margin:1.5em 0 0; color:#4c5856; font-size:1.1em; }
.flow-hero__actions { display:flex; justify-content:center; gap:1em; margin-top:2.2em; }
#book_flow .flow-hero__actions a { min-width:15em; padding:.9em 1.5em; border:.1em solid #00B496; background:#00B496; color:#fff; font-weight:700; text-align:center; }
#book_flow .flow-hero__actions a + a { background:#fff; color:#00B496; }
.flow-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8em; margin:0 0 5em; }
#book_flow .flow-overview a { position:relative; display:flex; min-height:10.5em; padding:1.25em 1.1em; flex-direction:column; border:.08em solid #BFE9E0; background:#fff; color:#263230; }
#book_flow .flow-overview a::after { position:absolute; right:.9em; bottom:.7em; color:#00B496; content:""; font-size:1.2em; }
.flow-overview span { color:#00B496; font-size:1.1em; font-weight:700; letter-spacing:.12em; }
.flow-overview strong { margin-top:.45em; font-size:1.5em; line-height:1.5; }
.flow-overview small { margin-top:.45em; color:#65716f; font-size:1.1em; line-height:1.6; }
#book_flow .no { display:flex; align-items:center; gap:.7em; margin:4em 0 1.2em; padding:1em 0 .65em; border-top:.08em solid #a9bbb8; border-bottom:.08em solid #e0e8e6; color:#263230; font-size:1.8em; line-height:1.4; scroll-margin-top:2em; }
#book_flow .no::before { color:#00B496; font-size:.58em; letter-spacing:.12em; }
#book_flow #no01::before { content:"STEP 01"; }
#book_flow #no02::before { content:"STEP 02"; }
#book_flow #no03::before { content:"STEP 03"; }
#book_flow #no04::before { content:"STEP 04"; }
#book_flow #no05::before { content:"STEP 05"; }
#book_flow #no06::before { content:"STEP 06"; }
#book_flow #no07::before { content:"STEP 07"; }
#book_flow #no08::before { content:"STEP 08"; }
#book_flow .no img { display:none; }
#book_flow .book_title,#book_flow .green { display:inline-block; margin:1.8em 0 .7em; color:#00B496; font-size:1.35em; font-weight:700; line-height:1.5; }
#book_flow .book_title { padding-left:.7em; border-left:.22em solid #00B496; }
#book_flow img.c50 { display:block; width:50%; margin-right:auto; margin-left:auto; }
#book_flow p,#book_flow td,#book_flow li { font-size:1.1em; }
#book_flow table { width:100%; margin:1.2em 0 2.5em; border-collapse:collapse; background:#fff; }
#book_flow table td { padding:.85em; border:.08em solid #d4dddb; }
#book_flow table tr:first-of-type + tr td,#book_flow table td[bgcolor="#f5f5f5"],#book_flow table td[bgcolor="#C6E3E0"] { background:#EAFBF7 !important; }
#book_flow .waku { margin:2em 0; padding:1.5em; border:.08em solid #b9ceca; background:#f7faf9; }
.flow-data-checklist { width:100%; margin:1.8em auto; padding:1.5em 1.7em; border-left:.3em solid #00B496; background:#F2FBF9; }
.flow-data-checklist h3 { margin:0 0 .8em; font-size:1.25em; line-height:1.5; }
.flow-data-checklist ul,.flow-edit-types ul { margin:0; padding:0; list-style:none; }
.flow-data-checklist li { position:relative; padding:.18em 0 .18em 1.8em; }
.flow-data-checklist li::before { position:absolute; top:.48em; left:0; width:1em; height:1em; border:.12em solid #d43b55; color:#d43b55; content:"✓"; font-size:.8em; font-weight:700; line-height:.7; }
.flow-edit-types { display:grid; grid-template-columns:1fr 1fr; gap:2em; margin:1.8em 0; }
.flow-edit-types section { padding:1.6em 1.8em; border:.1em solid #45C9B2; background:#fff; }
.flow-edit-types h3 { margin:0 0 .35em; color:#00B496; font-size:1.35em; }
.flow-edit-types p { margin:0 0 .7em; font-weight:700; }
.flow-edit-types li { position:relative; padding:.14em 0 .14em 1.3em; }
.flow-edit-types li::before { position:absolute; top:.65em; left:0; width:.6em; height:.6em; border-radius:50%; background:#45C9B2; content:""; }
#book_flow .flbr { align-items:start; gap:4%; margin:2em 0; }
#book_flow .flbrit { width:48%; }
#book_flow .bot { display:flex; gap:.8em; margin:2.5em 0 4em; }
#book_flow .bot_l,#book_flow .bot_r { float:none; width:auto; margin:0; flex:1; }
#book_flow .bot a { height:100%; padding:.85em 1em; background:#00B496; font-size:.95em; font-weight:700; }
#book_flow a:hover { text-decoration:none; }

@media screen and (max-width:767px) {
  .flow-page { width:100%; }
  #book_flow { padding:0; }
  .flow-hero { margin-top:1.2em; padding:3em 1.3em; }
  .flow-hero h1 { font-size:2.15em; }
  .flow-hero__lead { font-size:1em; text-align:left; }
  .flow-hero__actions { display:block; }
  #book_flow .flow-hero__actions a { display:block; min-width:0; }
  #book_flow .flow-hero__actions a + a { margin-top:.7em; }
  .flow-overview { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:3.5em; }
  #book_flow .flow-overview a { min-height:10em; padding:1em .85em; }
  .flow-overview strong { font-size:1.35em; }
  .flow-overview small { font-size:1.05em; }
  #book_flow .no { display:block; margin-top:3.2em; font-size:1.55em; }
  #book_flow .no::before { display:block; margin-bottom:.45em; }
  #book_flow img.c50,.c50 { width:100%; }
  #book_flow table { display:block; width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
  #book_flow table > tbody { display:table; width:100%; min-width:38em; border-collapse:collapse; }
  #book_flow .flow-stack-table { overflow:visible; border:0; background:transparent; }
  #book_flow .flow-stack-table > tbody { display:block; min-width:0; }
  #book_flow .flow-stack-table tr { display:block; margin:0 0 1em; overflow:hidden; border:.08em solid #cbd8d5; background:#fff; }
  #book_flow .flow-stack-table tr:first-child { display:none; }
  #book_flow .flow-stack-table td { display:block; width:100% !important; padding:.85em 1em; border:0; border-bottom:.08em solid #e0e8e6; text-align:left; }
  #book_flow .flow-stack-table td:last-child { border-bottom:0; }
  #book_flow .flow-stack-table td[data-label]::before { display:block; margin:0 0 .25em; color:#00B496; content:attr(data-label); font-size:.82em; font-weight:700; letter-spacing:.08em; }
  #book_flow .flow-terms-table tr:first-child { display:none; }
  #book_flow .flow-terms-table td:first-child { background:#EAFBF7 !important; color:#006B59; font-size:1.15em; font-weight:700; text-align:left; }
  #book_flow .flow-terms-table td:last-child { line-height:1.8; }
  #book_flow .flow-size-table tr:nth-child(2),#book_flow .flow-scan-table tr:nth-child(2) { display:none; }
  .flow-data-checklist { width:100%; padding:1.3em 1.1em; }
  .flow-edit-types { grid-template-columns:1fr; gap:1em; }
  .flow-edit-types section { padding:1.3em 1.2em; }
  #book_flow .flbr { display:block; }
  #book_flow .flbrit { width:100%; }
  #book_flow .bot { display:block; }
  #book_flow .bot_l,#book_flow .bot_r { width:100%; margin-top:.6em; }
}

/* 入稿・校正ガイド ----------------------------------------------- */
.guide-edit-page {
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
#guide_edit { color:#263230; font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; line-height:1.9; }
#guide_edit * { box-sizing:border-box; }
#guide_edit p,#guide_edit li,#guide_edit dd { font-size:1.1em; }
.edit-guide-hero { margin:2.5em 0 3em; padding:4.5em 8%; border-top:.35em solid #00B496; background:#EAFBF7; text-align:center; }
.edit-guide-eyebrow { margin:0 0 1em; color:#00B496; font-size:.9em !important; font-weight:700; letter-spacing:.16em; }
.edit-guide-hero h1 { margin:0; font-size:3em; font-weight:500; line-height:1.4; letter-spacing:.06em; }
.edit-guide-hero > p:last-of-type { margin:1.4em 0 0; color:#4c5856; }
.edit-guide-actions { display:flex; justify-content:center; gap:1em; margin-top:2.2em; }
#guide_edit .edit-guide-actions a { min-width:15em; padding:.9em 1.4em; border:.1em solid #00B496; background:#00B496; color:#fff; font-size:1.05em; font-weight:700; text-align:center; text-decoration:none; }
#guide_edit .edit-guide-actions a + a { background:#fff; color:#00B496; }
.edit-guide-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8em; margin-bottom:5em; }
#guide_edit .edit-guide-overview a { position:relative; display:flex; min-height:10.5em; padding:1.3em 1.15em; flex-direction:column; border:.08em solid #BFE9E0; color:#263230; background:#fff; text-decoration:none; }
#guide_edit .edit-guide-overview a::after { position:absolute; right:.9em; bottom:.7em; color:#00B496; content:""; font-size:1.25em; }
.edit-guide-overview span { color:#00B496; font-size:1.1em; font-weight:700; letter-spacing:.12em; }
.edit-guide-overview strong { margin-top:.4em; font-size:1.5em; }
.edit-guide-overview small { margin-top:.35em; color:#65716f; font-size:1.1em; line-height:1.6; }
.edit-guide-section { margin:0 0 6em; scroll-margin-top:2em; }
.edit-guide-section > header { margin-bottom:2em; padding:1em 0 .8em; border-top:.08em solid #a9bbb8; border-bottom:.08em solid #e0e8e6; }
.edit-guide-section > header p { margin:0 0 .3em; color:#00B496; font-size:.9em; font-weight:700; letter-spacing:.12em; }
.edit-guide-section > header h2 { margin:0; font-size:2em; font-weight:500; line-height:1.5; }
.edit-guide-lead { margin:0; color:#3f4d4a; }
.edit-guide-methods,.edit-guide-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2em; margin-top:2em; }
.edit-guide-methods article,.edit-guide-columns article { padding:2em; border:.08em solid #BFE9E0; background:#fff; }
.edit-guide-methods article > span { color:#00B496; font-size:.95em; font-weight:700; }
.edit-guide-methods h3,.edit-guide-columns h3 { margin:.5em 0 .8em; font-size:1.35em; line-height:1.55; }
.edit-guide-methods p,.edit-guide-columns p { margin:0; }
.edit-guide-methods ul { margin:1.2em 0 0; padding-left:1.4em; }
.edit-guide-methods li + li { margin-top:.35em; }
.edit-guide-checklist { margin-top:2em; padding:2em; background:#F4FCFA; }
.edit-guide-checklist h3 { margin:0 0 1.2em; font-size:1.4em; }
.edit-guide-checklist dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1em; margin:0; }
.edit-guide-checklist dl > div { padding:1.2em; background:#fff; }
.edit-guide-checklist dt { color:#00B496; font-size:1.1em; font-weight:700; }
.edit-guide-checklist dd { margin:.45em 0 0; color:#4c5856; }
.edit-guide-note { margin-top:1.5em; padding:1.5em 1.7em; border-left:.35em solid #00B496; background:#F4FCFA; }
.edit-guide-note strong { font-size:1.2em; }
.edit-guide-note p { margin:.4em 0 0; }
.edit-guide-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1em; margin:2em 0 0; padding:0; list-style:none; }
.edit-guide-points li { padding:1.5em; border-top:.25em solid #00B496; background:#F4FCFA; }
.edit-guide-points strong,.edit-guide-points span { display:block; }
.edit-guide-points strong { color:#00B496; font-size:1.2em; }
.edit-guide-points span { margin-top:.5em; }
.edit-guide-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8em; margin-top:2em; }
#guide_edit .edit-guide-links a { display:flex; min-height:4.5em; padding:1em; align-items:center; justify-content:center; border:.08em solid #00B496; color:#00B496; font-size:1.05em; font-weight:700; text-align:center; text-decoration:none; }
.edit-guide-cta { margin:0 0 6em; padding:4em 6%; background:#00584A; color:#fff; text-align:center; }
.edit-guide-cta p { margin:0; color:#dfeae8; }
.edit-guide-cta h2 { margin:.5em 0 0; font-size:2em; font-weight:500; line-height:1.6; }
.edit-guide-cta > div { display:flex; justify-content:center; gap:1em; margin-top:2em; }
#guide_edit .edit-guide-cta a { min-width:13em; padding:.9em 1.3em; background:#00B496; color:#fff; font-size:1.05em; font-weight:700; text-decoration:none; }
#guide_edit .edit-guide-cta a + a { background:#fff; color:#00584A; }

@media screen and (max-width:767px) {
  .guide-edit-page { width:100%; }
  #guide_edit { padding:0; }
  .edit-guide-hero { margin-top:1.2em; padding:3em 1.3em; }
  .edit-guide-hero h1 { font-size:2.15em; }
  .edit-guide-hero > p:last-of-type { text-align:left; }
  .edit-guide-actions { display:block; }
  #guide_edit .edit-guide-actions a { display:block; min-width:0; }
  #guide_edit .edit-guide-actions a + a { margin-top:.7em; }
  .edit-guide-overview { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:3.5em; }
  #guide_edit .edit-guide-overview a { min-height:10em; padding:1em .85em; }
  .edit-guide-overview strong { font-size:1.35em; }
  .edit-guide-overview small { font-size:1.05em; }
  .edit-guide-section { margin-bottom:4em; }
  .edit-guide-section > header h2 { font-size:1.7em; }
  .edit-guide-methods,.edit-guide-columns,.edit-guide-checklist dl,.edit-guide-points,.edit-guide-links { grid-template-columns:1fr; }
  .edit-guide-methods article,.edit-guide-columns article,.edit-guide-checklist { padding:1.4em; }
  .edit-guide-cta { padding:3em 1.3em; }
  .edit-guide-cta h2 { font-size:1.55em; text-align:left; }
  .edit-guide-cta > div { display:block; }
  #guide_edit .edit-guide-cta a { display:block; min-width:0; }
  #guide_edit .edit-guide-cta a + a { margin-top:.7em; }
}

/* ご契約・お支払方法 --------------------------------------------- */
.contract-guide-page {
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
#contract_guide { --contract:#00B496; --contract-dark:#006B59; --contract-soft:#EAFBF7; color:#263230; font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; line-height:1.9; }
#contract_guide * { box-sizing:border-box; }
#contract_guide p,#contract_guide li,#contract_guide dd,#contract_guide small { font-size:1.1em; }
.contract-hero { margin:2.5em 0 3em; padding:4.5em 8%; border-top:.35em solid var(--contract); background:var(--contract-soft); text-align:center; }
.contract-eyebrow { margin:0 0 1em; color:var(--contract); font-size:.9em !important; font-weight:700; letter-spacing:.16em; }
.contract-hero h1 { margin:0; font-size:3em; font-weight:500; line-height:1.4; letter-spacing:.05em; }
.contract-hero > p:last-of-type { margin:1.4em 0 0; color:#4c5856; }
.contract-actions { display:flex; justify-content:center; gap:1em; margin-top:2.2em; }
#contract_guide .contract-actions a { min-width:15em; padding:.9em 1.4em; border:.1em solid var(--contract); background:var(--contract); color:#fff; font-size:1.05em; font-weight:700; text-align:center; text-decoration:none; }
#contract_guide .contract-actions a + a { background:#fff; color:var(--contract-dark); }
.contract-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8em; margin-bottom:5em; }
#contract_guide .contract-overview a { position:relative; display:flex; min-height:10.5em; padding:1.3em 1.15em; flex-direction:column; border:.08em solid #BFE9E0; color:#263230; background:#fff; text-decoration:none; }
#contract_guide .contract-overview a::after { position:absolute; right:.9em; bottom:.7em; color:var(--contract); content:""; font-size:1.25em; }
.contract-overview span { color:var(--contract); font-size:1.1em; font-weight:700; letter-spacing:.12em; }
.contract-overview strong { margin-top:.4em; font-size:1.5em; line-height:1.5; }
.contract-overview small { margin-top:.35em; color:#65716f; font-size:1.1em; line-height:1.6; }
.contract-section { margin:0 0 6em; scroll-margin-top:2em; }
.contract-section > header { display:block; margin-bottom:2em; padding:1em 0 .8em; border-top:.08em solid #a9bbb8; border-bottom:.08em solid #e0e8e6; }
.contract-section > header p { margin:0 0 .3em; color:var(--contract); font-size:.9em !important; font-weight:700; letter-spacing:.12em; }
.contract-section > header h2 { margin:0; font-size:2em; font-weight:500; line-height:1.5; }
.contract-lead { margin:1.5em 0; color:#3f4d4a; }
.contract-assurance,.payment-cards,.contract-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2em; }
.contract-assurance article,.payment-cards article,.contract-columns article { padding:2em; border:.08em solid #BFE9E0; background:#fff; }
.contract-assurance article { border-top:.3em solid var(--contract); }
.contract-assurance span { display:block; color:var(--contract); font-size:1.35em; font-weight:700; line-height:1.5; }
.contract-assurance p { margin:.7em 0 0; }
#contract_guide .contract-pdf { display:inline-flex; align-items:center; min-height:3.5em; margin-top:.4em; padding:.7em 1.2em; border:.1em solid var(--contract); color:var(--contract-dark); font-size:1.05em; font-weight:700; text-decoration:none; }
.payment-cards { margin-top:2em; }
.payment-cards article > span { color:var(--contract); font-size:1.05em; font-weight:700; }
.payment-cards h3,.contract-columns h3 { margin:.4em 0 .7em; font-size:1.4em; line-height:1.5; }
.payment-cards p,.contract-columns p { margin:0; }
.contract-note { margin-top:1.5em; padding:2em; background:var(--contract-soft); }
.contract-note h3 { margin:0 0 1em; font-size:1.4em; }
.contract-note dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1em; margin:0; }
.contract-note dl > div { padding:1.2em; background:#fff; }
.contract-note dt { color:var(--contract); font-size:1.15em; font-weight:700; }
.contract-note dd { margin:.35em 0 0; }
.contract-note > p { margin:1.2em 0 0; }
.contract-columns article small { display:block; margin-top:1em; padding-top:1em; border-top:.08em solid #BFE9E0; color:#596562; }
.account-list { display:grid; grid-template-columns:2fr 1fr; gap:1.2em; }
.account-list > section { padding:2em; background:var(--contract-soft); }
.account-list h3 { margin:0 0 1em; color:var(--contract-dark); font-size:1.4em; }
.account-list dl { margin:0; }
.account-list dl > div { padding:1.2em; background:#fff; }
.account-list dl > div + div { margin-top:.8em; }
.account-list dt { color:var(--contract); font-size:1.15em; font-weight:700; }
.account-list dd { margin:.35em 0 0; }
.contract-cta { margin:0 0 6em; padding:4em 6%; background:#00584A; color:#fff; text-align:center; }
.contract-cta p { margin:0; color:#dfeae8; }
.contract-cta h2 { margin:.5em 0 0; font-size:2em; font-weight:500; line-height:1.6; }
.contract-cta > div { display:flex; justify-content:center; gap:1em; margin-top:2em; }
#contract_guide .contract-cta a { min-width:13em; padding:.9em 1.3em; background:var(--contract); color:#fff; font-size:1.05em; font-weight:700; text-decoration:none; }
#contract_guide .contract-cta a + a { background:#fff; color:#00584A; }

@media screen and (max-width:767px) {
  .contract-guide-page { width:100%; }
  #contract_guide { padding:0; }
  .contract-hero { margin-top:1.2em; padding:3em 1.3em; }
  .contract-hero h1 { font-size:2.1em; }
  .contract-hero > p:last-of-type { text-align:left; }
  .contract-actions { display:block; }
  #contract_guide .contract-actions a { display:block; min-width:0; }
  #contract_guide .contract-actions a + a { margin-top:.7em; }
  .contract-overview { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:3.5em; }
  #contract_guide .contract-overview a { min-height:10em; padding:1em .85em; }
  .contract-overview strong { font-size:1.35em; }
  .contract-overview small { font-size:1.05em; }
  .contract-section { margin-bottom:4em; }
  .contract-section > header h2 { font-size:1.7em; }
  .contract-assurance,.payment-cards,.contract-columns,.contract-note dl,.account-list { grid-template-columns:1fr; }
  .contract-assurance article,.payment-cards article,.contract-columns article,.contract-note,.account-list > section { padding:1.4em; }
  .contract-cta { padding:3em 1.3em; }
  .contract-cta h2 { font-size:1.55em; text-align:left; }
  .contract-cta > div { display:block; }
  #contract_guide .contract-cta a { display:block; min-width:0; }
  #contract_guide .contract-cta a + a { margin-top:.7em; }
}

/* 印刷品質・受賞歴：旧指定との競合修正 ---------------------------- */
.quality-page .quality-bar {
	display:grid !important;
	grid-template-columns:34% 1fr;
}
.quality-page .quality-bar > .photo-l { grid-column:1; grid-row:2 / 4; }
.quality-page .quality-bar > p:not([align]) { grid-column:2; grid-row:2; }
.quality-page .quality-bar > p[align="right"] { grid-column:2; grid-row:3; }
.quality-page .quality-bar > p[align="right"] a { display:inline-flex; width:auto; }
.quality-page .prof {
	width:100%;
	border:.08em solid #BFE9E0;
	background:#f3f7f6;
	font-weight:400;
}
.quality-page .prof .tex1 {
	margin:0;
	color:#303432;
	font:inherit;
	font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
	line-height:1.9;
}
.award-page .mid1,
.award-page .mid1 .tex1 {
	position:static;
	top:auto;
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	background:none;
	font-size:1em;
	transform:none;
}
.award-page .mid1 .tex1 p {
	margin:0;
	padding:.55em 0 .65em;
	font-size:2.2em;
	line-height:1.45;
}
.award-page .awbx {
	display:flex !important;
	gap:0;
	justify-content:space-between;
	flex-wrap:wrap;
}
.award-page .awbx .aw2 {
	display:block;
	width:48%;
	min-height:0;
	margin:0 0 2%;
	padding:0;
	border:0;
	background:none;
}
.award-page .aw2::after { display:block; clear:both; content:""; }
.award-page .award_l { float:left; width:40%; margin:0; }
.award-page .award_r { float:left; width:55%; margin:0; padding-left:1em; font-size:1em; }
.award-page .award_l img {
	float:none;
	width:auto;
	max-width:100%;
	max-height:none;
	padding:0;
	object-fit:initial;
}

@media screen and (max-width:767px) {
	.quality-page .quality-bar { grid-template-columns:1fr; }
	.quality-page .quality-bar > .mar-b20,
	.quality-page .quality-bar > .photo-l,
	.quality-page .quality-bar > p:not([align]),
	.quality-page .quality-bar > p[align="right"] { grid-column:1; grid-row:auto; }
	.quality-page .prof .tex1 { font-size:1em; }
	.award-page .mid1 .tex1 p { font-size:1.75em; }
	.award-page .awbx .aw2 { width:100%; margin-bottom:2em; }
	.award-page .award_l { float:left; width:32%; }
	.award-page .award_r { float:left; width:68%; padding-left:1em; }
}

/* 旧ページ共通：冒頭案内と最下部CTAのみ -------------------------- */
.editorial-frame-page .editorial-intro,
.editorial-frame-page .editorial-cta {
	box-sizing:border-box;
	font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
.editorial-frame-page .editorial-intro {
	margin:2.5em 0 4.5em;
	padding:4.8em 8%;
	border-top:.5em solid #00B496;
	background:#EAFBF7;
	color:#303432;
	text-align:center;
}
.editorial-frame-page .editorial-intro__eyebrow {
	margin:0 0 1.2em;
	color:#00B496;
	font-size:1.1em;
	font-weight:700;
	letter-spacing:.2em;
}
.editorial-frame-page .editorial-intro h1 {
	margin:0;
	color:#303432;
	font-size:3em;
	font-weight:500;
	line-height:1.55;
	letter-spacing:.04em;
}
.editorial-frame-page .editorial-intro > p:last-child {
	max-width:48em;
	margin:1.8em auto 0;
	color:#5b6663;
	font-size:1.1em;
	line-height:2;
}
.editorial-frame-page--quality > img:first-of-type { display:none; }
.editorial-frame-page--quality > img:nth-of-type(2) { margin-top:0 !important; }
.editorial-frame-page--story > .mar-t15 > .mid2,
.editorial-frame-page--story > .mar-t15 > .mid2 + br,
.editorial-frame-page--story > .mar-t15 > img:first-of-type { display:none; }
.editorial-frame-page--story > .mar-t15 { margin-top:0 !important; }
.editorial-frame-page--award > .mid1 { display:none; }
.editorial-frame-page--award > .mar-t30 { margin-top:0 !important; }
.editorial-frame-page .editorial-cta {
	margin:5em 0;
	padding:4.2em 7%;
	border:.08em solid #BFE9E0;
	background:#EAFBF7;
	color:#303432;
	text-align:center;
}
.editorial-frame-page .editorial-cta > p {
	margin:0;
	color:#00B496;
	font-size:1.1em;
	font-weight:700;
}
.editorial-frame-page .editorial-cta h2 {
	margin:.7em 0 1.6em;
	color:#303432;
	font-size:2em;
	font-weight:500;
	line-height:1.55;
}
.editorial-frame-page .editorial-cta > div {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1em;
	max-width:44em;
	margin:0 auto;
}
.editorial-frame-page .editorial-cta a {
	display:flex;
	min-height:2.5em;
	padding:1em 1.4em;
	align-items:center;
	justify-content:center;
	border:.1em solid #00B496;
	background:#fff;
	color:#00B496;
	font-size:1.15em;
	font-weight:700;
	text-align:center;
	text-decoration:none;
}
.editorial-frame-page .editorial-cta .editorial-cta__primary { background:#00B496; color:#fff; }
.editorial-frame-page .editorial-cta a:hover { text-decoration:none; }

@media screen and (max-width:767px) {
	.editorial-frame-page .editorial-intro { margin:1.5em 0 3.5em; padding:3.5em 1.5em; }
	.editorial-frame-page .editorial-intro__eyebrow { font-size:1em; }
	.editorial-frame-page .editorial-intro h1 { font-size:2em; letter-spacing:.02em; }
	.editorial-frame-page .editorial-intro > p:last-child { font-size:1.05em; text-align:left; }
	.editorial-frame-page .editorial-cta { margin:4em 0; padding:3.2em 1.3em; }
	.editorial-frame-page .editorial-cta > p { font-size:1.05em; }
	.editorial-frame-page .editorial-cta h2 { font-size:1.65em; }
	.editorial-frame-page .editorial-cta > div { grid-template-columns:1fr; }
	.editorial-frame-page .editorial-cta a { min-height:4.8em; font-size:1.1em; }
}

/* 文章系：共通コンテンツページ */
.book-r-page { width:100%; max-width:1200px; margin:0 auto; color:#343633; font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif; }
.book-r-page * { box-sizing:border-box; }
.book-r-hero { margin:30px 0 52px; padding:58px 8%; border-top:5px solid #00B496; background:#EAFBF7; text-align:center; }
.book-r-hero__eyebrow { margin:0 0 14px; color:#00B496; font-size:14px !important; font-weight:700; letter-spacing:.18em; }
.book-r-hero h1 { margin:0; color:#343633; font-size:42px; font-weight:500; line-height:1.4; letter-spacing:.04em; }
.book-r-hero > p:last-child { max-width:760px; margin:20px auto 0; color:#5d5c58; font-size:16px; line-height:1.9; }
.book-r-content { font-size:16px; line-height:1.9; }
.book-r-content > .title { display:none; }
.book-r-content img { max-width:100%; height:auto; }
.book-r-page img[src*="arrow"] { display:none !important; }
.book-r-content .gallery.bar { display:flex; margin:0 0 34px; padding:0 0 18px; flex-wrap:wrap; gap:10px 26px; border-bottom:1px solid #BFE9E0; font-size:0; }
.book-r-content .gallery.bar a { display:inline-flex; position:relative; min-height:28px; padding-left:18px; align-items:center; color:#343633; font-size:15px; font-weight:600; line-height:1.5; text-decoration:none; }
.book-r-content .gallery.bar a::before { content:""; position:absolute; left:1px; width:7px; height:7px; border-top:2px solid #00B496; border-right:2px solid #00B496; transform:rotate(45deg); }
.book-r-content .gallery.bar a:hover { color:#007D69; text-decoration:underline; }
.book-r-content .mid1,.book-r-content .text-24 { display:block; margin:44px 0 18px; padding:0 0 10px; border:0; border-bottom:2px solid #00B496; background:transparent; color:#006B59; font-size:22px; font-weight:700; line-height:1.5; }
.book-r-content > .u-bar { display:block; margin:44px 0 18px; padding:0; border:0; background:transparent; color:#006B59; font-size:22px; font-weight:700; line-height:1.5; }
.book-r-content .text-20 { color:#006B59; font-size:19px; font-weight:700; line-height:1.6; }
.book-r-content .bar { padding:0; background:transparent; border:0; }
.book-r-content .waku2 { margin:36px 0 0; padding:0; border:0; background:transparent; box-shadow:none; }
.book-r-content table { width:100%; margin:22px 0 38px; border-collapse:collapse; background:#fff; }
.book-r-content table th,.book-r-content table td { padding:12px 14px; border:1px solid #CFE5E0; line-height:1.7; }
.book-r-content table th,.book-r-content table td:first-child[bgcolor] { background:#EAFBF7 !important; color:#006B59; font-weight:700; }
.book-r-content .book-link { display:none; }
.book-r-page--faq #jquery-mm { margin:0; border-top:1px solid #D6E7E3; }
.book-r-page--faq #jquery-mm dt { position:relative; margin:0; padding:20px 52px 20px 4px; border:0; border-bottom:1px solid #D6E7E3; background:transparent; cursor:pointer; }
.book-r-page--faq #jquery-mm dt::before,.book-r-page--faq #jquery-mm dt::after { content:""; position:absolute; top:50%; right:12px; width:18px; height:2px; margin-top:-1px; background:#00B496; transition:transform .2s ease; }
.book-r-page--faq #jquery-mm dt::before { transform:rotate(90deg); }
.book-r-page--faq #jquery-mm dt.is-open::before { transform:rotate(0); }
.book-r-page--faq #jquery-mm dt .photo-l { display:none; }
.book-r-page--faq #jquery-mm dt .bar { display:none; }
.book-r-page--faq #jquery-mm dt .text-20 { margin:0; color:#353532; font-size:18px; line-height:1.65; }
.book-r-page--faq #jquery-mm dd { margin:0; border-bottom:1px solid #D6E7E3; }
.book-r-page--faq #jquery-mm dd .waku { margin:0 !important; padding:18px 20px 24px 24px; border:0; border-left:3px solid #00B496; background:transparent; color:#55524c; }
.book-r-page--faq #jquery-mm dd .photo-l { display:none; }
.book-r-page--company .w100 { max-width:760px; margin:22px auto; }
.book-r-page--company #greeting { scroll-margin-top:24px; }
.book-r-page--company .bar { padding:0; border:0; background:transparent; }
.book-r-page--site .map { font-size:14px; line-height:1.6; }
.book-r-page--site .map dl { display:grid; grid-template-columns:190px minmax(0,1fr); margin:0; border-top:3px solid #00B496; }
.book-r-page--site .map dt,.book-r-page--site .map dd { margin:0; padding:18px 20px; border-bottom:1px solid #BFE9E0; }
.book-r-page--site .map dt { background:#EAFBF7; color:#006B59; font-size:15px; font-weight:700; }
.book-r-page--site .map dd { min-width:0; }
.book-r-page--site .map ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; gap:8px 22px; list-style:none; }
.book-r-page--site .map li { min-width:0; margin:0; padding:0; }
.book-r-page--site .map a { display:inline-block; position:relative; padding-left:14px; color:#343633; font-size:14px; line-height:1.55; text-decoration:none; }
.book-r-page--site .map a::before { content:""; position:absolute; top:.7em; left:0; width:5px; height:5px; border-radius:50%; background:#00B496; }
.book-r-page--site .map a:hover { color:#007D69; text-decoration:underline; }
.book-r-page--know .waku2,.book-r-page--know-print .waku2 { margin:38px 0 0; padding:0; border:0 !important; background:transparent !important; }
.book-r-page--know [id="01"] + .photo-r { display:flex; float:none; width:auto; margin:4px 0 24px; gap:14px; align-items:flex-start; }
.book-r-page--know [id="01"] + .photo-r p { margin:0; }
.book-r-page--know [id="01"] + .photo-r img { display:block; width:auto; max-height:190px; }
.book-r-page--know-print .book-r-content > .bar { padding:12px 0; border:0; background:transparent; line-height:2; }
.book-r-page--edit .u-bar { display:flex; align-items:center; gap:18px; margin:32px 0 42px; padding:20px 0; border-top:1px solid #BFE9E0; border-bottom:1px solid #BFE9E0; background:transparent; }
.book-r-page--edit .u-bar .photo-l { flex:0 0 72px; margin:0; }
.book-r-page--edit .u-bar .bar { flex:1 1 auto; }
.book-r-page--edit .u-bar .text-20 { margin:0 0 4px; }
.book-r-page--privacy .bar,.book-r-page--notation .bar { background:#fff; }
.book-r-page--tokucho .book-r-content > .mar-t20 { margin:0; padding:38px 0; border-bottom:1px solid #D6E7E3; }
.book-r-page--tokucho .no { margin:0 0 20px; color:#006B59; font-size:22px; font-weight:700; line-height:1.55; }
.book-r-page--tokucho .no img { width:42px; margin-right:10px; vertical-align:middle; }
.book-r-page--tokucho .flbr,.book-r-page--production .flbr,.book-r-page--paper .flbr { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(240px,.75fr); gap:34px; align-items:start; }
.book-r-page--tokucho .flbrit,.book-r-page--production .flbrit,.book-r-page--paper .flbrit { float:none; width:auto; margin:0; }
.book-r-page--tokucho .flbrit img,.book-r-page--production .flbrit img,.book-r-page--paper .flbrit img { display:block; width:100%; height:auto; }
.book-r-page--tokucho .l_text { margin:0; }
.book-r-page--tokucho .l_text a,.book-r-page--production .toptit a { display:inline-block; margin-top:12px; color:#007D69; font-weight:700; text-decoration:none; }
.book-r-page--production .book-r-content > div[content] img,.book-r-page--paper .book-r-content > div:first-child img { display:block; width:100%; max-height:520px; object-fit:cover; }
.book-r-page--production .mid1 { padding-bottom:0; border-bottom:0; }
.book-r-page--production .flbr { grid-template-columns:repeat(2,minmax(0,1fr)); margin:30px 0 10px; gap:22px; }
.book-r-page--production .toptit { margin:24px 0 0; padding:0; border:0 !important; background:transparent; text-align:right; }
.book-r-page--production .toptit a { margin:0; padding:10px 18px; border:1px solid #00B496; background:#fff; color:#006B59 !important; }
.book-r-page--production .toptit a:hover { background:#EAFBF7; text-decoration:none; }
.book-r-page--production .toptit img { display:none; }
.book-r-page--paper .book-r-content > .text-18 { margin:0 0 34px; font-size:18px; line-height:1.9; }
.book-r-page--paper .flbr { grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr); }
.book-r-page--paper .text-25 { margin:0 0 12px; color:#006B59; font-size:22px; }
.book-r-page--paper .waku2 { margin:28px 0 0; padding:20px 0 20px 22px; border:0; border-left:3px solid #00B496; background:transparent; line-height:1.9; }
.book-r-cta { margin:76px 0 20px; padding:50px 6%; border-top:3px solid #00B496; background:#F4FCFA; text-align:center; }
.book-r-cta__eyebrow { margin:0 0 12px; color:#007D69; font-size:15px; font-weight:700; }
.book-r-cta h2 { margin:0; color:#343633; font-size:28px; font-weight:500; line-height:1.55; }
.book-r-cta__actions { display:grid; grid-template-columns:repeat(2,minmax(0,320px)); justify-content:center; gap:18px; margin:30px auto 0; }
.book-r-cta__actions a { display:flex; min-height:76px; padding:14px 18px; align-items:center; justify-content:center; border:1px solid #00B496; background:#fff; color:#006B59 !important; font-size:18px; font-weight:700; line-height:1.45; text-decoration:none !important; transition:background .2s ease,color .2s ease; }
.book-r-cta__actions a:first-child { background:#00B496; color:#fff !important; }
.book-r-cta__actions a:hover { background:#008F78; color:#fff !important; text-decoration:none !important; }

@media screen and (max-width:767px) {
  .book-r-page { width:100%; }
  .book-r-hero { margin-top:16px; padding:38px 20px; }
  .book-r-hero h1 { font-size:28px; }
  .book-r-hero > p:last-child { text-align:left; }
  .book-r-content { font-size:15px; }
  .book-r-content .gallery.bar { gap:8px 18px; margin-bottom:28px; }
  .book-r-content .gallery.bar a { font-size:14px; }
  .book-r-content .mid1,.book-r-content .text-24 { margin-top:34px; padding:0 0 8px; font-size:19px; }
  .book-r-content > .u-bar { margin-top:34px; padding:0; font-size:19px; }
  .book-r-content table { display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .book-r-content table > tbody { display:table; min-width:620px; }
  .book-r-page--site .map dl { grid-template-columns:1fr; }
  .book-r-page--site .map dt { padding:12px 14px; }
  .book-r-page--site .map dd { padding:14px 14px 22px; }
  .book-r-page--site .map ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 14px; }
  .book-r-page--site .map a { font-size:14px; }
  .book-r-page--faq #jquery-mm dt { padding:17px 44px 17px 2px; }
  .book-r-page--faq #jquery-mm dt .text-20 { font-size:16px; }
  .book-r-page--faq #jquery-mm dd .waku { padding:15px 8px 20px 17px; }
  .book-r-page--know [id="01"] + .photo-r { gap:10px; overflow:hidden; }
  .book-r-page--know [id="01"] + .photo-r p { width:50%; }
  .book-r-page--know [id="01"] + .photo-r img { width:100%; max-height:none; }
  .book-r-page--edit .u-bar { display:block; margin:28px 0 36px; padding:18px 0; }
  .book-r-page--edit .u-bar .photo-l { width:54px; margin:0 0 10px; }
  .book-r-page--tokucho .book-r-content > .mar-t20 { padding:30px 0; }
  .book-r-page--tokucho .no { font-size:18px; }
  .book-r-page--tokucho .no img { width:34px; }
  .book-r-page--tokucho .flbr,.book-r-page--production .flbr,.book-r-page--paper .flbr { grid-template-columns:1fr; gap:18px; }
  .book-r-page--tokucho .flbrit:last-child { max-width:420px; }
  .book-r-page--production .book-r-content > div[content] img,.book-r-page--paper .book-r-content > div:first-child img { max-height:none; }
  .book-r-page--paper .book-r-content > .text-18 { font-size:16px; }
  .book-r-page--paper .waku2 { padding:16px 0 16px 16px; }
  .book-r-cta { margin-top:54px; padding:36px 18px; }
  .book-r-cta h2 { font-size:22px; }
  .book-r-cta__actions { grid-template-columns:1fr; gap:12px; margin-top:24px; }
  .book-r-cta__actions a { min-height:64px; font-size:16px; }
}
