@charset "UTF-8";
/* ========================================
   variables
======================================== */
/*----------------------------------------
	@media breakpoint
----------------------------------------*/
/* ======================================== 
   Utilities
======================================== */
/* ----------------------------------------
   Visibility / スクリーンリーダー
---------------------------------------- */
.u-visuallyHidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  clip: rect(0 0 0 0);
}

/* ----------------------------------------
   Text Utilities
---------------------------------------- */
.u-red-text {
  color: #EA5532;
  font-weight: 600;
}

.u-muted {
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.9em;
}

.u-fw-bold {
  font-weight: 650;
}

.u-nowrap {
  white-space: nowrap;
}

.u-hang {
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  text-indent: -1em;
}

/* ----------------------------------------
   Display / Responsive
---------------------------------------- */
.u-br--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-br--pc {
    display: inline;
  }
}

.u-br--sp {
  display: inline;
}
@media screen and (min-width: 768px) {
  .u-br--sp {
    display: none;
  }
}

.u-pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-pc-only {
    display: block;
  }
}

.u-pc-only-text {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-pc-only-text {
    display: contents;
  }
}

/* ----------------------------------------
   Text alignment
---------------------------------------- */
.u-ta-right {
  text-align: right;
}

.u-ta-center {
  text-align: center;
}

/* ----------------------------------------
   Spacing
---------------------------------------- */
.u-mt-5, .mt5 {
  margin-top: 5px;
}

.u-mt-10, .mt10 {
  margin-top: 10px;
}

.u-mt-15, .mt15 {
  margin-top: 15px;
}

.u-mt-20, .mt20 {
  margin-top: 20px;
}

.u-mt-30, .mt30 {
  margin-top: 30px;
}

.u-mb-5, .mb5 {
  margin-bottom: 5px;
}

.u-mb-10, .mb10 {
  margin-bottom: 10px;
}

.u-mb-15, .mb15 {
  margin-bottom: 15px;
}

.u-mb-20, .mb20 {
  margin-bottom: 20px;
}

.u-mb-30, .mb30 {
  margin-bottom: 30px;
}

/* ----------------------------------------
   Mixins を利用したユーティリティ
---------------------------------------- */
.u-align-left-center {
  max-inline-size: -webkit-max-content;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  margin-inline: auto;
}

.u-underline, .underline {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.u-text-hidden, .text-display-none {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

/* ----------------------------------------
   Anchor / Scroll offset
   固定ヘッダーに隠れないようにするアンカー用ユーティリティ
---------------------------------------- */
.u-anchorOffset {
  scroll-margin-top: 116px;
}

@media screen and (max-width: 768px) {
  .u-anchorOffset {
    scroll-margin-top: 108px;
  }
}
/*----------------------------------------
	static
----------------------------------------*/
/* 採用情報　recruit.html
----------------------------------------*/
.c-sectionTitle {
  background-color: #33adad;
  color: #fff;
  font-size: clamp(1.063rem, 0.957rem + 0.45vw, 1.313rem);
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding-block: clamp(0.5rem, 0.443rem + 0.24vw, 0.625rem);
  padding-inline: clamp(0.75rem, 0.538rem + 0.9vw, 1.25rem);
  -webkit-margin-before: 32px;
          margin-block-start: 32px;
  position: relative;
}

.c-jobHeading {
  font-size: clamp(0.938rem, 0.911rem + 0.11vw, 1rem);
  font-weight: 550;
  -webkit-margin-before: clamp(1.25rem, 0.72rem + 2.26vw, 2.5rem);
          margin-block-start: clamp(1.25rem, 0.72rem + 2.26vw, 2.5rem);
  -webkit-margin-after: 0.6em;
          margin-block-end: 0.6em;
  line-height: 1.4;
}
.c-jobHeading--first {
  -webkit-margin-before: 0.7em;
          margin-block-start: 0.7em;
}

.c-subjobHeading {
  color: #33adad;
  font-weight: 600;
  font-size: clamp(0.938rem, 0.911rem + 0.11vw, 1rem);
  margin-block: 0.7em 0.3em;
  line-height: 1.4;
}

.u-muted {
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.9em;
}

.c-recruit-cell section:last-child {
  -webkit-padding-after: 20px;
          padding-block-end: 20px;
}

.c-table--recruit {
  -webkit-margin-after: clamp(2.5rem, 1.441rem + 4.52vw, 5rem);
          margin-block-end: clamp(2.5rem, 1.441rem + 4.52vw, 5rem);
}

@media (min-width: 601px) {
  .c-table.c-table--recruit th {
    font-weight: 500;
  }
  .c-table.c-table--recruit tr:first-child th,
  .c-table.c-table--recruit tr:first-child td {
    -webkit-padding-before: 20px;
            padding-block-start: 20px;
  }
}
@media (max-width: 600px) {
  .c-table.is-stacked.c-table--recruit th {
    font-size: 1rem;
  }
  .c-table.is-stacked.c-table--recruit td {
    padding-inline: 0;
  }
  .c-table.is-stacked.c-table--recruit tr:last-of-type td {
    border-bottom: 1px solid #d6d6d6;
  }
  .c-table.is-stacked.c-table--recruit .c-jobHeading {
    background-color: #eee;
    padding: 5px 8px;
  }
}
/* プライバシーポリシー　privacy.html
----------------------------------------*/
.c-privacy {
  max-width: 1160px;
  margin-inline: auto;
  padding: clamp(16px, 4vw, 32px) clamp(10px, 3vw, 32px);
}

.c-privacy__list {
  counter-reset: num;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  row-gap: clamp(14px, 1.6vw, 20px);
}
.c-privacy__list > li {
  counter-increment: num;
  position: relative;
  -webkit-padding-start: 2.2em;
          padding-inline-start: 2.2em;
  line-height: 1.9;
  font-size: clamp(14px, 1.6vw, 16px);
}
.c-privacy__list > li::before {
  content: counter(num) ".";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  font-feature-settings: "lnum", "pnum";
  font-weight: 600;
}

@media screen and (max-width: 480px) {
  .c-privacy__list > li {
    -webkit-padding-start: 2em;
            padding-inline-start: 2em;
  }
}
/* 会社案内　company.html
----------------------------------------*/
.company-map {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  aspect-ratio: 16/9;
  margin-top: clamp(1.563rem, 0.754rem + 3.45vw, 3.125rem);
}
.company-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 480px) {
  .company-map {
    aspect-ratio: 4/3;
  }
}

.company-access {
  max-width: 1000px;
  width: 100%;
  margin: 15px auto 0;
  line-height: 1.8;
  font-size: clamp(0.875rem, 0.81rem + 0.28vw, 1rem);
}
@media screen and (max-width: 480px) {
  .company-access li {
    margin-top: 10px;
    line-height: 1.5;
  }
}

.c-greeting {
  max-width: 1000px;
  margin-inline: auto;
}
.c-greeting__title {
  color: #33adad;
  font-size: clamp(1.125rem, 0.701rem + 1.81vw, 2.125rem);
  font-weight: 600;
  margin-block: clamp(1.25rem, 0.985rem + 1.13vw, 1.875rem);
  letter-spacing: 0.05em;
}
.c-greeting__text {
  font-size: clamp(0.938rem, 0.911rem + 0.11vw, 1rem);
  line-height: 2;
}
.c-greeting__text p + p {
  margin-top: 1.5em;
}
.c-greeting__sign {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  text-align: right;
  margin-top: clamp(1.25rem, 1rem + 2vw, 2.5rem);
}
.c-greeting__sign span {
  display: block;
}
.c-greeting__position {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
  margin-bottom: 4px;
}
.c-greeting__signature {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.02em;
}

#access,
#greeting {
  -webkit-margin-before: clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem);
          margin-block-start: clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem);
}

/* 注文方法　order.html
----------------------------------------*/
.c-orderGuide {
  margin-top: clamp(1.25rem, -0.455rem + 7.27vw, 5rem);
}
.c-orderGuide .c-order:first-of-type {
  -webkit-margin-before: 35px;
          margin-block-start: 35px;
}
.c-orderGuide .c-order + .c-order {
  -webkit-margin-before: 50px;
          margin-block-start: 50px;
}

.c-order__title {
  -webkit-margin-after: 25px;
          margin-block-end: 25px;
  font-size: clamp(1rem, 0.974rem + 0.11vw, 1.063rem);
}
.c-order__text {
  -webkit-margin-after: 40px;
          margin-block-end: 40px;
  font-size: clamp(0.938rem, 0.911rem + 0.11vw, 1rem);
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .c-order__text {
    padding-inline: 10px;
  }
}
.c-order__text > div {
  margin-bottom: 30px;
}
.c-order__text strong {
  font-weight: 600;
  -webkit-margin-after: 5px;
          margin-block-end: 5px;
}
.c-order__text > p {
  margin-top: 20px;
}
.c-order__subTitle {
  font-weight: 600;
  -webkit-margin-before: 15px;
          margin-block-start: 15px;
  -webkit-margin-after: 5px;
          margin-block-end: 5px;
}

.c-order__text ol {
  list-style: none;
  counter-reset: step;
  margin-block: 20px;
}
.c-order__text ol li {
  counter-increment: step;
  position: relative;
  padding-left: 1.5em;
}
.c-order__text ol li::before {
  content: counter(step) "）";
  position: absolute;
  left: 0;
}

/* テキスト・教科書のご紹介　textseries.html
--------------------------------------------*/
#textseriesPage.l-textseries {
  max-width: 1000px;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  box-sizing: border-box;
}

#textseriesPage .c-textseries-hero {
  margin: 0 0 28px;
}
#textseriesPage .c-textseries-hero__img {
  width: 100%;
  height: auto;
  display: block;
}

#textseriesPage .c-textseries-list {
  display: grid;
}

#textseriesPage .c-textseries-item {
  background: #fff;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
  --points-arrow-color: #333;
  --points-arrow-rgb: 51, 51, 51;
}
#textseriesPage .c-textseries-item.is-blue {
  --points-arrow-color: #5197eb;
  --points-arrow-rgb: 81, 151, 235;
}
#textseriesPage .c-textseries-item.is-pink {
  --points-arrow-color: #edaec0;
  --points-arrow-rgb: 237, 174, 192;
}
#textseriesPage .c-textseries-item.is-yellow {
  --points-arrow-color: #ffd545;
  --points-arrow-rgb: 255, 213, 69;
}
@media (hover: hover) and (pointer: fine) {
  #textseriesPage .c-textseries-item:hover {
    background-color: rgba(var(--points-arrow-rgb), 0.15);
  }
}
#textseriesPage .c-textseries-item__inner {
  display: flex;
  gap: 22px;
  align-items: center;
  padding: 18px 0;
  text-decoration: none;
  color: inherit;
}
#textseriesPage .c-textseries-item__thumb {
  margin: 0;
  flex: 0 0 430px;
  max-width: 520px;
  overflow: hidden;
}
#textseriesPage .c-textseries-item__thumb img {
  width: 100%;
  height: auto;
  display: block;
}
#textseriesPage .c-textseries-item__body {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  #textseriesPage .c-textseries-item {
    margin-bottom: 20px;
  }
  #textseriesPage .c-textseries-item__inner {
    padding: 0;
  }
  #textseriesPage .c-textseries-item__thumb {
    flex: 0 0 300px;
  }
}

#textseriesPage .c-textseries-item__points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
#textseriesPage .c-textseries-item__points .c-textseries-item__point {
  position: relative;
  padding-left: clamp(2rem, 1.631rem + 1.58vw, 2.813rem);
  font-weight: 500;
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
}
#textseriesPage .c-textseries-item__points .c-textseries-item__point::before {
  content: "";
  position: absolute;
  left: 0;
  top: -5px;
  width: clamp(1.5rem, 1.273rem + 0.97vw, 2rem);
  height: clamp(1.5rem, 1.273rem + 0.97vw, 2rem);
  background-color: var(--points-arrow-color);
  -webkit-mask-image: url("../img/textseries/textseries-arrow.svg");
          mask-image: url("../img/textseries/textseries-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (max-width: 480px) {
  #textseriesPage .c-textseries-item__points .c-textseries-item__point::before {
    top: 0;
  }
}
#textseriesPage .c-textseries-item__points li + li {
  margin-top: 20px;
}
@media (max-width: 600px) {
  #textseriesPage .c-textseries-item__points li + li {
    margin-top: 0;
  }
}

#textseriesPage .c-textseries-item__inner:focus-visible {
  outline: 3px solid #33adad;
  outline-offset: 3px;
  border-radius: 18px;
}

@media (max-width: 600px) {
  #textseriesPage .c-textseries-item__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  #textseriesPage .c-textseries-item__thumb {
    flex-basis: auto;
    max-width: 100%;
  }
}
#textseriesPage .c-ts-catalog {
  margin-top: 28px;
}

#textseriesPage .c-ts-catalog__title {
  font-size: clamp(1.063rem, 0.977rem + 0.36vw, 1.25rem);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: clamp(0.625rem, 0.398rem + 0.97vw, 1.125rem);
  padding-top: 14px;
  border-top: 1px solid #cfcfcf;
}
#textseriesPage .c-ts-catalog__title.kenpon {
  display: flex;
  align-items: center;
  gap: 15px;
}
#textseriesPage .c-ts-catalog__title.kenpon::before {
  content: "";
  width: 44px;
  height: 44px;
  display: inline-block;
  background: url(../img/textseries/icon-kenpon.png) no-repeat center/contain;
}
#textseriesPage .c-ts-catalog__title .c-ts-catalog__titleNote {
  font-size: 13px;
  font-weight: 600;
  margin-left: 6px;
}

#textseriesPage .c-ts-catalog__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 220px));
  justify-content: center;
  gap: 60px;
  padding: 10px 0 22px;
}

#textseriesPage .c-ts-catalogCard {
  display: block;
  text-decoration: none;
  border-radius: 6px;
  outline: none;
  transition: 0.3s;
}

#textseriesPage .c-ts-catalogCard img {
  display: block;
  width: 100%;
  height: auto;
}

@media (hover: hover) and (pointer: fine) {
  #textseriesPage .c-ts-catalogCard:hover {
    opacity: 0.85;
  }
}
#textseriesPage .c-ts-catalogCard:focus-visible {
  outline: 3px solid #2f6fc8;
  outline-offset: 3px;
  border-radius: 6px;
}

#textseriesPage .c-ts-catalog__text {
  font-size: 15px;
  line-height: 1.9;
  margin: 0;
}

#textseriesPage .c-ts-divider {
  height: 1px;
  background: #cfcfcf;
  margin: 18px 0;
}

@media (max-width: 767px) {
  #textseriesPage .c-ts-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 150px));
    gap: 18px;
  }
}
/* 出版物の転載・引用について
   reprint-and-quotation.html
----------------------------------------*/
.c-reprint__heading {
  margin: 26px 0 16px;
  padding-block: 6px;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  font-size: clamp(1rem, 0.83rem + 0.73vw, 1.375rem);
  line-height: 1.35;
  font-weight: 450;
}
.c-reprint__method {
  padding: 0 18px 30px;
}
.c-reprint__method .c-headingLabel {
  margin-bottom: 16px;
}
.c-reprint__method {
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
}

.c-reprint__subheading {
  margin-block: 18px 9px;
  font-size: 1rem;
  line-height: 1.4;
}

.c-reprint__list {
  margin: 10px 0 0;
  padding-left: 1em;
}
.c-reprint__list li {
  margin: 6px 0;
  line-height: 1.8;
}

.c-reprint a {
  display: inline-block;
  margin-top: 5px;
}

.c-reprint .c-btn {
  padding-inline: 40px;
}

.c-reprint__address, .c-reprint__contact {
  margin: 16px 0 0;
  padding: 14px;
  border-radius: 12px;
  background: #f2f2f2;
  background: #f9fafb;
}

.c-reprint__address p {
  margin: 0;
  line-height: 1.8;
}

.c-reprint__address p + p {
  margin-top: 6px;
}

.c-reprint__notes {
  margin: 20px 0 0;
  padding-left: 1.2em;
  font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
}

.c-reprint__notes li {
  margin: 8px 0;
}

@media (max-width: 480px) {
  .c-reprint__heading {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    margin-bottom: 0;
  }
  .c-reprint__method {
    padding: 16px 0;
  }
  .c-reprint__list {
    padding-left: 0;
  }
  .c-reprint__notes {
    padding-left: 0;
  }
}/*# sourceMappingURL=static.css.map */