/** ここには追加のスタイルを記述します */

:root {
  --color-highschool_home: rgba(255, 207, 63, 0.4);
  --color-highschool_home_harf: rgba(255, 207, 63, 1);
  --color-highschool_home-back: #ffcf3f32;
  --color-calligraphy: rgba(204, 159, 255, 0.4);
  --color-calligraphy_harf: rgba(204, 159, 255, 1);
  --color-calligraphy-back: #cc9fff32;
  --color-highschool_public: rgba(254, 234, 61, 0.4);
  --color-highschool_public_harf: rgba(254, 234, 61, 1);
  --color-highschool_public-back: #feea3d32;
  --color-junior_tech_home: rgba(162, 255, 146, 0.4);
  --color-junior_tech_home_harf: rgba(162, 255, 146, 1);
  --color-junior_tech_home-back: #a2ff9232;
}

.aligncenter {
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
}
p:has(.aligncenter) {
  text-align: center;
}

.textbook-ttl {
  background: url(../images/page/single/contents_bg.webp) no-repeat;
  padding: 5rem 0;
  background-size: cover;
}
body.highschool_home .textbook-ttl {
  background: linear-gradient(
      0deg,
      rgba(255, 207, 63, 0.4) 0%,
      rgba(255, 207, 63, 0.4) 100%
    ),
    url(../images/common/img_back_katei.png) lightgray 50% / cover no-repeat;
}
body.calligraphy .textbook-ttl {
  background: linear-gradient(
      0deg,
      rgba(204, 159, 255, 0.4) 0%,
      rgba(204, 159, 255, 0.4) 100%
    ),
    url(../images/common/img_back_shodo.png) lightgray 50% / cover no-repeat;
}
body.highschool_public .textbook-ttl {
  background: linear-gradient(
      0deg,
      rgba(254, 234, 61, 0.4) 0%,
      rgba(254, 234, 61, 0.4) 100%
    ),
    url(../images/common/img_back_koumin.png) lightgray 50% / cover no-repeat;
}
body.junior_tech_home .textbook-ttl {
  background: linear-gradient(
      0deg,
      rgba(162, 255, 146, 0.4) 0%,
      rgba(162, 255, 146, 0.4) 100%
    ),
    url(../images/common/img_back_gijyutu.png) lightgray 50% / cover no-repeat;
}
.textbook-ttl .textbook-ttl_block {
  background: #fff;
  padding: 5rem 7rem;
}

.text_category_text {
  width: fit-content;
  border: solid 1px #707070;
  padding: 0 1rem;
  border-radius: 4px;
}

.text_title_sub {
  margin: 1.5rem 0;
}
.textbook-ttl h2 {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

.page-link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 4rem;
}

.page-link > li a {
  display: block;
  border: solid 1px #a2a2a2;
  text-align: center;
  padding: 2rem 0;
  position: relative;
}
.page-link li a::after {
  content: ""; /* 疑似要素に必須 */
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: solid 4px #fb4368;
  border-right: solid 4px #fb4368;
  transform: translateY(-50%) rotate(45deg); /* 時計回りに45度回転させる */
}

.sample-link > a:nth-child(1) {
  border-radius: 30px;
  background: #ff8462;
  color: #fff;
  display: block;
  font-size: 2rem;
  text-align: center;
  padding: 12px;
  margin-top: 2rem;
}

.textbook-toggle_block {
  margin-bottom: 2rem;
}
.textbook-toggle_block h3:nth-child(1) {
  background: #ffbf77;
  color: #000;
  font-size: 2.3rem;
  padding: 5px 4.5rem 5px 2.5rem;
  position: relative;
  font-weight: bold;
}
body.highschool_home .textbook-toggle_block h3:nth-child(1) {
  background: var(--color-highschool_home);
}
body.calligraphy .textbook-toggle_block h3:nth-child(1) {
  background: var(--color-calligraphy);
}
body.highschool_public .textbook-toggle_block h3:nth-child(1) {
  background: var(--color-highschool_public);
}
body.junior_tech_home .textbook-toggle_block h3:nth-child(1) {
  background: var(--color-junior_tech_home);
}

.textbook-toggle_block h3::before,
.textbook-toggle_block h3::after {
  content: ""; /* 疑似要素に必須 */
  width: 30px; /* 幅いっぱいを指定 */
  height: 2px; /* 適度な太さを指定 */
  display: inline-block; /* 高さを持たせるためにinline-blockを指定 */
  background: #fff; /* 線の色を指定 */
  border-radius: 2px; /* 線の端を丸くしたいなら指定する */
  position: absolute; /* 相対位置に指定 */
  top: 50%; /* 表示位置を上から0pxに指定 */
  right: 10px; /* 表示位置を左から0pxに指定 */
  transform: translateY(-50%);
}

.textbook-toggle_block h3::before {
  transform: translateY(-50%) rotate(0deg); /* 時計回りに45度回転させる */
  transition: 0.4s;
}
.textbook-toggle_block h3::after {
  transform: translateY(-50%) rotate(-90deg); /* 反時計回りに45度回転させる */
  transition: 0.4s;
}
.textbook-toggle_block h3.active::before {
  transform: translateY(-50%) rotate(45deg); /* 時計回りに45度回転させる */
}
.textbook-toggle_block h3.active::after {
  transform: translateY(-50%) rotate(-45deg); /* 反時計回りに45度回転させる */
}

.textbook-toggle_block > div:nth-child(2) {
  display: none;
  border: solid 2px #ffbf77;
  padding: 5rem;
}
body.highschool_home .textbook-toggle_block > div:nth-child(2) {
  border: solid 2px var(--color-highschool_home);
}
body.calligraphy .textbook-toggle_block > div:nth-child(2) {
  border: solid 2px var(--color-calligraphy);
}
body.highschool_public .textbook-toggle_block > div:nth-child(2) {
  border: solid 2px var(--color-highschool_public);
}
body.junior_tech_home .textbook-toggle_block > div:nth-child(2) {
  border: solid 2px var(--color-junior_tech_home);
}

.points_block-img {
  height: 500px;
  width: 100%;
  object-fit: contain;
  margin-bottom: 10px;
}

.textbook-toggle_block .supervisor-block h4 {
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: bold;
}
.textbook-toggle_block .supervisor-block ul {
  margin-bottom: 3rem;
}
.textbook-toggle_block .supervisor-block ul li {
  display: flex;
  gap: 2rem;
  margin-bottom: 5px;
}
.textbook-toggle_block .supervisor-block ul li span:nth-child(1) {
  width: 11rem;
  font-weight: bold;
}

.textbook-column {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 4rem;
}
.textbook-column > img {
  width: 100%;
  height: 500px;
  object-fit: contain;
}

.textbook-ttl
  .textbook-ttl_block
  > div:nth-child(1)
  > div:nth-child(1)
  > img:nth-child(1) {
  width: 370px;
  height: 370px;
  object-fit: contain;
}

.textbook-column h4:nth-child(1) {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
.textbook-column dl.textbook_nom {
  grid-template-columns: 8em auto;
  margin-bottom: 3rem;
  display: none;
}
.textbook-column dl.textbook_nom dt {
  font-size: 2rem;
}
.textbook-column dl {
  display: grid;
  grid-template-columns: 11em auto;
  gap: 3rem;
  align-items: center;
  margin-bottom: 5px;
}

.textbook-column dl dt {
  font-weight: bold;
}

.dl_materials ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}
.dl_materials ul li:nth-child(odd) {
  position: relative;
}
.dl_materials ul li:nth-child(odd)::before {
  content: "";
  display: block;
  height: 1px;
  border-bottom: dashed 1px #a2a2a2;
  position: absolute;
  width: calc(200% + 3rem);
  right: -105%;
  top: -1.5rem;
}
.dl_materials ul li:first-child::before {
  content: none;
}

.dl_materials ul li p {
  display: grid;
  grid-template-columns: 1fr 5fr;
  align-items: center;
  gap: 10px;
  font-weight: bold;
}
.dl_materials ul li p img {
  /* margin-top: 9px;*/
}
.dl_materials ul li .dl-btn {
  margin-top: 10px;
}
.dl_materials ul li .dl-btn a:nth-child(1) {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

div.text-contact div {
  font-size: 2rem;
  font-weight: bold;
  border-radius: 10px;
  border: 4px solid #ff8462;
  display: block;
  width: fit-content;
  background: #fff;
}

div.text-contact {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 5rem;
}
div.text-contact div a {
  font-size: 2rem;
  font-weight: bold;
  display: block;
  padding: 20px 4rem 20px 2rem;
  position: relative;
}
div.text-contact div a::after {
  content: url(../images/page/single/icon-arrows_1x.webp);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 13px;
  height: 24px;
}

.foot-company div.text-contact div {
  width: 25%;
  text-align: center;
}

.single_faq > h2 {
  font-size: 4rem;
  text-align: center;
  margin-bottom: 4rem;
  font-weight: bold;
}

.single_faq dl {
  margin-bottom: 2rem;
}
.single_faq dt {
  background: #edf3fa;
  position: relative;
  align-items: center !important;
}
.single_faq dt::before,
.single_faq dt::after {
  content: ""; /* 疑似要素に必須 */
  width: 30px; /* 幅いっぱいを指定 */
  height: 2px; /* 適度な太さを指定 */
  display: inline-block; /* 高さを持たせるためにinline-blockを指定 */
  background: #054893; /* 線の色を指定 */
  border-radius: 2px; /* 線の端を丸くしたいなら指定する */
  position: absolute; /* 相対位置に指定 */
  top: 50%; /* 表示位置を上から0pxに指定 */
  right: 10px; /* 表示位置を左から0pxに指定 */
  transform: translateY(-50%);
}

.single_faq dt::before {
  transform: translateY(-50%) rotate(0deg); /* 時計回りに45度回転させる */
  transition: 0.4s;
}
.single_faq dt::after {
  transform: translateY(-50%) rotate(-90deg); /* 反時計回りに45度回転させる */
  transition: 0.4s;
}
.single_faq dt.active::before {
  transform: translateY(-50%) rotate(45deg); /* 時計回りに45度回転させる */
}
.single_faq dt.active::after {
  transform: translateY(-50%) rotate(-45deg); /* 反時計回りに45度回転させる */
}

.single_faq dt,
.single_faq dd > div {
  display: grid;
  grid-template-columns: 3rem auto;
  align-items: flex-start;
  gap: 2rem;
  padding: 20px;
  padding-right: 4.5rem;
  font-size: 1.4rem;
  font-weight: bold;
}
.single_faq dd > div p {
  font-size: 1.4rem;
}

.single_faq dd > div a {
  color: #ffbf77;
}
.single_faq dd > div a:hover {
  opacity: 0.8;
}
.single_faq dt span,
.single_faq dd span {
  color: #054893;
  font-size: 3.2rem;
  font-weight: bold;
}
.single_faq dd {
  display: none;
}
.foot-contact {
  background: url(../images/page/single/foot-bg@2x.webp) no-repeat;
  padding: 8rem 0;
  margin-bottom: 0;
}
.foot-contact div.text-contact {
  margin: 0;
}
.sns-link {
  margin: 3rem 0;
}
.sns-link ul {
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: center;
}

.textbook-toggle_block .swiper {
  margin: 3rem auto 0;
}
.textbook-toggle_block .swiper img {
  height: 500px;
  object-fit: contain;
  width: 100%;
}

.iframe-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.textbook-column .page-link,
.textbook-toggle_block.compliance_notes,
.textbook-toggle_block.instruction_book {
  display: none;
}
/*.compliance_notes {
  display: none;
}*/
body.text_book .textbook-column .page-link,
body.text_book .textbook-column dl.textbook_nom,
body.text_book .textbook-toggle_block.compliance_notes,
body.text_book .textbook-toggle_block.instruction_book ,
body.instruction_book .textbook-column dl.textbook_nom,
body.instruction_book .textbook-toggle_block.compliance_notes,
body.instruction_book .textbook-toggle_block.instruction_book ,
body.compliance_notes .textbook-column dl.textbook_nom,
body.compliance_notes .textbook-toggle_block.compliance_notes,
body.compliance_notes .textbook-toggle_block.instruction_book {
  display: block;
}
body.text_book .textbook-column .page-link,
body.compliance_notes .textbook-column .page-link,
body.instruction_book .textbook-column .page-link {
  display: grid;
}

/* ページネーション共通のスタイル */
.single-textbook .swiper-pagination-bullet {
  background-color: #a2a2a2;
  color: #fff;
  font-size: 16px;
  transition: transform 0.2s linear;
  height: 30px;
  line-height: 1.8;
  width: 30px;
  border-radius: 4px !important;
}
/* 現在のページネーションのスタイル */
.single-textbook .swiper-pagination-bullet-active {
  background-color: #fff;
  color: #a2a2a2;
  border: solid 1px;
}
/* ページネーションの余白(位置) */
.single-textbook
  .swiper-horizontal
  > .swiper-pagination-bullets
  .swiper-pagination-bullet,
.single-textbook
  .swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin: 0 5px 30px;
}

.single-textbook .swiper-button-next,
.single-textbook .swiper-button-prev {
  bottom: 41px;
  top: unset;
}

.single-textbook .swiper-button-next::after,
.single-textbook .swiper-button-prev::after {
  content: "";
  width: 15px;
  height: 15px;
}
.single-textbook .swiper-button-prev::after {
  content: "";
  border-top: 2px solid #a2a2a2; /* 矢印の太さの指定 */
  border-left: 2px solid #a2a2a2; /* 矢印の太さの指定 */
  transform: rotate(-45deg);
}
.single-textbook .swiper-button-next::after {
  content: "";
  border-top: 2px solid #a2a2a2; /* 矢印の太さの指定 */
  border-right: 2px solid #a2a2a2; /* 矢印の太さの指定 */
  transform: rotate(45deg);
}

/*------------------

トップ

^------------------*/

.main-img-area .swiper-wrapper {
}
.swiper-slide {
  transition: opacity 0.5s, transform 0.5s;
}
.swiper-slide.swiper-slide-active {
}
.thumbnail-swiper .swiper-slide.swiper-slide-active {
}
.main-ttl {
  margin-bottom: 4rem;
}
.main-ttl > h2 {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
}
.top-redamore {
  width: 240px;
  padding: 1rem;
  background: #fff;
  border: solid #a2a2a2 1px;
  margin-left: auto;
}
.top-redamore a {
  position: relative;
  text-align: center;
  display: block;
}
.top-redamore a::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: solid 4px #fb4368;
  border-right: solid 4px #fb4368;
  transform: translateY(-50%) rotate(45deg);
}

.news-area {
  background: url(../images/page/top/news-bg@2x.webp) no-repeat;
  background-size: cover;
  padding: 10rem 0;
}
.news-area .main-ttl h2 {
  position: relative;
  letter-spacing: 8px;
}
.news-area .main-ttl h2::before {
  content: url(../images/page/top/border.webp);
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}

.news-area div.top-redamore {
  margin-top: 6rem;
}

.news-area-block {
  display: grid;
  grid-template-columns: 1fr 3fr;
}

.news-area-block {
  gap: 6rem;
}

.news-list > li {
  margin-bottom: 1rem;
}

.news-list > li a {
  display: grid;
  grid-template-columns: 9em 5em auto;
  align-items: center;
  gap: 2rem;
}

.news-list > li a .category {
  font-size: 1.4rem;
  text-align: center;
  padding: 0 10px;
  background: #fb4368;
  color: #fff;
}

.news-list li a .t-new {
  font-size: 1.4rem;
}

.top-textbook-area .main-ttl {
  margin-bottom: 4rem;
}
.top-textbook-area ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}

.Recommended_content-area .main-ttl h2:nth-child(1) {
  width: fit-content;
  margin: auto;
  padding: 0 1.5rem 1rem;
  border-bottom: solid 5px #ffbf77;
}

.top-textbook-area ul li a {
  display: block;
}
.Recommended_content-area ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}

.Recommended_content-area ul li a {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
}
.Recommended_content-area ul li a:hover {
  opacity: 0.7;
}
.news02-area {
  background: url(../images/page/top/news02-bg@2x.webp) no-repeat;
  padding: 10% 0;
  background-size: 100%;
  margin-right: 5% !important;
  background-position: right;
  border-radius: 0 40px 40px 0;
}

@media screen and (min-width: 1700px) {
  .news02-area {
    padding: 11% 0;

  }


}

.news02-area .inner-1120 {
  padding: 0 3% 0 0 !important;
}

.news02-area .main-ttl h2:nth-child(1) {
  background: #fff;
  width: fit-content;
  margin: auto;
  padding: 3px 1rem;
  font-size: 3.8rem;
}

.news02-area-block {
  background: #fff;
  padding: 4rem 5rem;
}
.news02-area-block .news02-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}

.news02-area-block .news02-list li a img {
  width: 100%;
  height: 180%;
  object-fit: contain;
}

.news02-area-block .news02-list li a div .post-date {
  font-size: 1.8rem;
}
.news02-area-block .news02-list li a div .category {
  font-size: 1.4rem;
  border-radius: 12px;
  border: 1px solid #a2a2a2;
  padding: 1px 7px;
}
.news02-area-block .news02-list li a div .category.test {
  background: #ffe6b7;
}
.news02-area-block .news02-list li a div {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}
.news02-area-block .news02-list li .post-excerpt {
  height: 4em;
}

.news02-area .top-redamore {
  margin-top: 5rem;
 /* width: 97%;*/
}
.home .foot-contact {
  margin: 10rem 0;
}

.news-contents-are {
  background: url(../images/page/news/new-contents-bg@2x.webp) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 10rem 0;
}
.news-list-are ul li {
  background: #fff;
  padding: 2rem 3rem;
  margin-bottom: 1rem;
  position: relative;
}
.news-list-are ul li a:nth-child(1) {
  display: flex;
  flex-wrap: wrap;
}
.news-list-are ul li a:nth-child(1) .time-category {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}
.news-list-are ul li a:nth-child(1) .time-category .icon-category {
  font-size: 1.4rem;
  border: solid 1px;
  padding: 1px 1rem;
  background: #fb4368;
  color: #fff;
}
.news-list-are ul li a:nth-child(1) .time-category .time {
  font-size: 1.6rem;
}
.news-list-are ul li a:nth-child(1) .the_title {
  width: 100%;
  font-size: 2rem;
  font-weight: bold;
}
.news-list-are ul li a:nth-child(1) .article-btn {
  margin-left: auto;
  position: absolute;
  right: 3rem;
  bottom: 2rem;
}
.news-single-are {
  margin-top: 15rem;
}

.news-recommend-img {
  margin-bottom: 10rem;
}

.news-single-block {
  width: 87%;
  margin: auto;
}

.news-single-are .page-content {
  background: #fff;
  padding: 3rem 4rem;
  min-height: 30rem;
  box-shadow: 3px 1px 10px 0px rgba(0, 0, 0, 0.2);
}
.news-single-are .main-ttl {
  margin-bottom: 3rem;
}
.news-single-are .main-ttl > h2:nth-child(1) {
  font-size: 2.8rem;
  text-align: left;
}
.post-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 3rem;
}

.post-navigation > div {
  background: #fff;
  padding: 1rem 3rem;
  border: solid 1px #ff8462;
  position: relative;
  border-radius: 5px;
}
.post-navigation .nav-previous {
  padding-left: 5rem;
}
.post-navigation .nav-next {
  padding-right: 5rem;
}
.nav-previous::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: solid 2px #ff8462;
  border-left: solid 2px #ff8462;
  transform: translateY(-50%) rotate(-45deg);
  display: block;
  z-index: 2;
}
.nav-next::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: solid 2px #ff8462;
  border-right: solid 2px #ff8462;
  transform: translateY(-50%) rotate(45deg);
  display: block;
  z-index: 2;
}
.pagination {
  margin-top: 5rem;
  text-align: center;
}
.pagination .wp-pagenavi a,
.pagination .wp-pagenavi span {
  border-color: #ff8462;
  background: #fff;
}
.pagination .wp-pagenavi a:hover,
.pagination .wp-pagenavi span.current {
  border-color: #ff8462;
  background: #ff8462;
  color: #fff;
}
.current {
  font-size: 1.6rem;
}

/* pagenavi-css.css | https://www.kyoiku-tosho.co.jp/cms/wp-content/plugins/wp-pagenavi/pagenavi-css.css?ver=2.70 */

.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
}

span.sfwppa-pages,
a.sfwppa-last,
.sfwppa-first {
}

.slick-dotted.slick-slider {
  margin-bottom: 0 !important;

}
.main-nav,#main-image-text{
  height: calc(100% - 24px) !important;

}
img.wait-image {
  border-radius: 20px !important;
transform: scaleX(0.95);
}
.slick-track .slick-active img {
  border-radius: 20px 0 0 20px;
  width: 100%;
  object-fit: cover;
  /*  height: 460px;*/
}
.thumbnail.slick-slide {
  border-radius: 0px 20px 20px 0 !important;
}
.main-image-block {
  position: relative;
  margin-top: 15rem;
  margin-bottom: 3rem;
}
.main-image-block .bnr-img {
  position: fixed;
  bottom: 4rem;
  z-index: 10;
  right: 3rem;
}
#main-image .slick-track {
  margin-left: 1rem;
}
.main-img-area {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70%;
  width: 100%;
}
.sub-slider {
  grid-area: 1 / 1 / 2 / 2;
  width: 100%;
}
.main-nav {
  grid-area: 2 / 1 / 3 / 2;
  width: 100%;
  transform: scale(1.5) translateX(-15%);
  margin-top: 3rem;
}
@media screen and (min-width: 1400px) {
  .main-nav {
    transform: scale(1.55) translateX(-16.5%);
  }
}

.main-nav img {
  height: 100%;
  object-fit: cover;
}

.main-slider {
  grid-area: 1 / 2 / 3 / 3;
  width: 100%;
}
.main-slider .slick-slide,
.main-slider .slick-slide img {
  width: 100%;
  height: 100%;
}
.main-img-area .slick-dots li button::before {
  content: "";
  height: 5px;
}
#main-image-text .slick-track .slick-active img {
  border-radius: 0px 20px 20px 0px;
}
.main-img-area .slick-dots {
  bottom: -2%;
  right: 5%;
}
.main-img-area .slick-dots li button {
  width: 30px;
  height: 5px;
  background: #d9d9d9;
  padding: 0;
}
.main-img-area .slick-dots li.slick-active button {
  width: 30px;
  height: 5px;
  background: #ffe08a;
}

.main-img-area .slick-dots li {
  /* width: 20px; */
  /* height: 20px; */
  width: 30px;
  height: 5px;
}
.slick-dots {
  text-align: right !important;
}
#main-image-text .slick-dots {
  display: none !important;
  height: 0
}

/*------------------

教科書一覧

^------------------*/
.textbook-list-ttl {
  margin: 5rem 0;
}
.textbook-list-ttl h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
.textbook-list-ttl h2 img {
  width: 50px;
  margin-right: 10px;
}

.table_of_contents {
  background: url(../images/page/textbook/textbook-yellow@2x.webp) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 6rem 0;
  margin-bottom: 0;
  margin-top: 5rem;
}
#main-contents.koko_katei .table_of_contents ,
#main-contents.highschool_home .table_of_contents {
  background: linear-gradient(
      0deg,
      rgba(255, 207, 63, 0.4) 0%,
      rgba(255, 207, 63, 0.4) 100%
    ),
    url(../images/common/img_back_katei.png) lightgray 50% / cover no-repeat;
}
#main-contents.koko_shodo .table_of_contents ,
#main-contents.calligraphy .table_of_contents {
  background: linear-gradient(
      0deg,
      rgba(204, 159, 255, 0.4) 0%,
      rgba(204, 159, 255, 0.4) 100%
    ),
    url(../images/common/img_back_shodo.png) lightgray 50% / cover no-repeat;
}
#main-contents.highschool_public .table_of_contents ,
#main-contents.koko_komin .table_of_contents {
  background: linear-gradient(
      0deg,
      rgba(254, 234, 61, 0.4) 0%,
      rgba(254, 234, 61, 0.4) 100%
    ),
    url(../images/common/img_back_koumin.png) lightgray 50% / cover no-repeat;
}s
#main-contents.junior_tech_home .table_of_contents ,
#main-contents.chugaku_gijutsu_katei .table_of_contents {
  background: linear-gradient(
      0deg,
      rgba(162, 255, 146, 0.4) 0%,
      rgba(162, 255, 146, 0.4) 100%
    ),
    url(../images/common/img_back_gijyutu.png) lightgray 50% / cover no-repeat;
}
#main-contents.koko_shodo_kyozai .table_of_contents ,
#main-contents.calligraphy_kyozai .table_of_contents {
  background: linear-gradient(
    0deg,
    rgba(239, 133, 255, 0.40) 0%,
    rgba(239, 133, 255, 0.40) 100%
  ),
  url(../images/common/img_back_shodo_kyozai.png) lightgray 50% / cover no-repeat;
}
#main-contents.koko_katei_kyozai .table_of_contents ,
#main-contents.highschosol_home_kyozai .table_of_contents {
  background: linear-gradient(
    0deg,
    rgba(255, 200, 122, 0.40) 0%,
    rgba(255, 200, 122, 0.40) 100%
  ),
  url(../images/common/img_back_home_kyozai.png) lightgray 50% / cover no-repeat;
}
.table_of_contents ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  align-items: center;
}
.table_of_contents ul li a {
  font-size: 1.8rem;
  color: #333;
  display: block;
  width: fit-content;
  background: #fff;
  border-radius: 10px;
  border: 2px solid #ffbf77;
  padding: 1rem;
}
#main-contents.koko_katei .table_of_contents ul li a ,
#main-contents.highschool_home .table_of_contents ul li a {
  border: 2px solid var(--color-highschool_home);
}
#main-contents.koko_shodo .table_of_contents ul li a ,
#main-contents.calligraphy .table_of_contents ul li a {
  border: 2px solid var(--color-calligraphy);
}
#main-contents.koko_komin .table_of_contents ul li a ,
#main-contents.highschool_public .table_of_contents ul li a {
  border: 2px solid var(--color-highschool_public);
}
#main-contents.chugaku_gijutsu_katei .table_of_contents ul li a ,
#main-contents.junior_tech_home .table_of_contents ul li a {
  border: 2px solid var(--color-junior_tech_home);
}
.single-textbook .text_category {
  pointer-events: none;
}

.textbook-list-block {
  margin: 5rem auto;
}
.textbook-list .inner-1200 .textbook-list-block:first-child {
  margin-top: 0;
}
.textbook-list .inner-1200 .textbook-list-block:last-child {
  margin-bottom: 0;
}

.textbook-list {
  margin: 0;
  padding: 10rem;
  background: #fff7e9;
}
#main-contents.koko_katei .textbook-list ,
#main-contents.highschool_home .textbook-list {
  background-color: var(--color-highschool_home-back);
}
#main-contents.koko_shodo .textbook-list ,
#main-contents.calligraphy .textbook-list {
  background-color: var(--color-calligraphy-back);
}
#main-contents.koko_komin .textbook-list ,
#main-contents.highschool_public .textbook-list {
  background-color: var(--color-highschool_public-back);
}
#main-contents.chugaku_gijutsu_katei .textbook-list ,
#main-contents.junior_tech_home .textbook-list {
  background-color: var(--color-junior_tech_home-back);
}
#main-contents.koko_shodo_kyozai .textbook-list ,
#main-contents.junior_tech_home .textbook-list {
  background-color: var(--color-calligraphy-back);
}
#main-contents.koko_katei_kyozai .textbook-list ,
#main-contents.junior_tech_home .textbook-list {
  background-color: var(--color-highschool_home-back);
}

.textbook-list ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 5rem 2rem;
}
.textbook-list ul li a:nth-child(1) {
  display: grid;
  grid-template-columns: 1fr;
  background: #fff;
  padding: 2rem;
  gap: 1rem;
}

.textbook-list ul li.new-bg a:nth-child(1) {
  background: #ffbf77;
}
.textbook-list ul li.new-bg .text_category,
.textbook-list ul li.new-bg .back-category {
  background: #fff;
}

.textbook-list ul li a > div {
  height: 10.5em;
}
.textbook-list ul li a .text_category_text {
  font-size: 1.4rem;
}

.textbook-list ul li a .text_title_sub {
  font-size: 1.4rem;
  margin: 1rem 0;
}

.textbook-list ul li a h2 {
  font-size: 1.6rem;
  line-height: 1.2;
  height: 2.5em;
}

.textbook-list ul li a .textbook_nom {
  margin: 1rem 0;
}
.textbook-list ul li a .textbook_nom > dd:nth-child(1) {
  font-size: 1.4rem;
}
.textbook-list ul li a .text-category_list {
  display: flex;
  align-items: center;
  gap: 5px;
}

.textbook-list ul li a .back-category {
  font-size: 1.2rem;
  padding: 2px 4px;
  background: #ffbf77;
  text-align: center;
}
.textbook-list ul li a img:nth-child(1) {
  height: 200px;
  object-fit: contain;
  width: 100%;
  margin: auto;
}

/*------------------

よくある質問

^------------------*/

.faq-list h3 {
  font-size: 2.4rem;
  margin-bottom: 3rem;
  text-align: center;
  font-weight: bold;
}

.single_faq.faq-list dt {
  background: #fffceb;
}
.single_faq.faq-list dd {
  border: solid 1px #a2a2a2;
}
.contact-more p {
  text-align: center;
  margin-bottom: 3rem;
}
.contact-more div.top-redamore {
  margin: auto;
  width: 450px;
}
/*------------------

会社概要

^------------------*/

.main-visual.company-area {
  background: url(../images/page/company/company-bg01@1x.webp) no-repeat;
  background-size: cover;
  background-position: center;
  display: grid;
  justify-content: space-between;
  align-items: end;
  gap: 4rem;
  padding: 7rem 0 10rem;

  grid-template-columns: 1.4fr 4fr;
}

.main-visual.company-area > img:nth-child(1) {
  margin-bottom: 5rem;
}

.company_img-text-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.company_img-text-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.company_img-text .company-text {
  position: relative;
}

.health-area .company_img-text-box {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 2rem;
}
.health-area .company_img-text-box img {
  display: block;
  margin: auto;
  text-align: center;
}

.health-area .company_img-text-box > img:nth-child(1) {
  width: 300px;
}

.greeting-area {
  padding: 10rem 0;
  background: url(../images/page/company/company-bg02@1x.webp) no-repeat;
  background-size: cover;
  background-position: center;
  margin-bottom: 0;
}
.greeting-area > div:nth-child(1) {
  display: grid;
  grid-template-columns: 1fr 2.5fr;
  gap: 4rem;
}
.philosophy-area {
  padding: 10rem 0;
  background: url(../images/page/company/company-bg03@1x.webp) no-repeat;
  background-size: cover;
  background-position: center;
  margin: 0;
}
.philosophy-area .catch {
  color: #ff9822;
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
  margin-top: 5rem;
  margin-bottom: 3rem;
}

.philosophy-area ul li {
  padding: 2rem 2rem;
  padding-left: 8rem;
  margin-bottom: 2.5rem;
  height: 5em;
  align-items: center;
  background: #fff;
  position: relative;
  counter-increment: mycounter;
  border: solid 1px #ffbf77;
  display: flex;
  font-size: 2rem;
}
.philosophy-area ul li p {
  font-size: 2rem;
  font-weight: bold;
}
.philosophy-area ul li span {
  font-weight: bold;
}
.philosophy-area ul li::before {
  content: counter(mycounter);
  color: #ffbf77;
  font-size: 6.4rem;
  font-weight: bold;
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}

.profile-area {
  padding: 10rem 0;
  margin: 0;
  background: rgba(237, 238, 239, 0.3);
}

.profile-area dl {
  display: grid;
  grid-template-columns: 1fr 3fr;
  background: #fff;
}
.profile-area dl:not(:last-child) {
  border-bottom: solid 1px;
}
.profile-area dl dt {
  border-right: solid 1px;
  padding: 2rem;
  display: flex;
  align-items: center;
}
.profile-area dl dd {
  padding: 2rem;
  line-height: 2;
}

.profile-cont {
  border: solid 1px;
}

.access-text {
  display: flex; /*--横並び指定--*/

  /*--下記は自由--*/
  color: #a2a2a2;
  font-weight: bold;
}

.access-text p {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #000;
  margin-top: 2rem;
  width: 50%;
}
.access-text p:nth-child(1) {
  flex-grow: 1; /*--幅を指定--*/
  margin-right: 4em; /*--AとBの余白--*/
  position: relative;
}
.access-text p:nth-child(1)::after {
  position: absolute; /*--positionを追加--*/
  top: 0;
  left: 100%;
  margin: 0 2rem;
  content: "";
  width: 1px; /*--縦線の太さ(幅)--*/
  height: 100%;
  background-color: #000; /*--縦線の色--*/
}

.access-text p:nth-child(2) {
  flex-grow: 1; /*--幅を指定--*/
}
.access-text > p > img {
  margin-top: 4px;
}

.access-area iframe {
  position: unset;
  height: 500px;
  width: 100%;
}
/*------------------

資料をダウンロードする

^------------------*/
.downloads .main-ttl {
  margin-bottom: 4rem;
  text-align: center;
}
.downloads .main-ttl > h2:nth-child(1) {
  margin-bottom: 2rem;
}
.dl-border {
  padding: 7rem 3rem;
  border: solid 2px #ffe6b7;
  border-bottom: solid 10px #ffe6b7;
  border-top: solid 10px #ffe6b7;
}
.dl-border h3 {
  /*
  color: var(--text, #333);
  font-family: "Noto Sans JP";
  font-size: 2.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 40px;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-skip-ink: none;
  text-decoration-color: var(--8, #FFBF77);
  text-decoration-thickness: 15%;
  text-underline-offset: 30%;
  text-underline-position: from-font;
  */
}
.dl-content {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 4rem;
}

.dl-content02 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
}

.dl-content > img:nth-child(1) {
  height: 300px;
  width: 100%;
  object-fit: contain;
}

.dl-content h4 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.dl-border .dl-content:not(:first-child) {
  margin-top: 5rem;
}

.dl-block > p:nth-child(3) {
  font-weight: bold;
}

.dl-block > ul:nth-child(2) > li {
  display: grid;
  grid-template-columns: 15px auto 200px;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.dl-block > ul:nth-child(2) > li::before {
  content: "";
  border: solid transparent;
  border-width: 10px 0 10px 15px;
  border-left-color: #ffbf77;
  display: inline-block;
  vertical-align: middle;
}

.dl-block > ul:nth-child(2) > li span {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.inner > .dl-border h3 {
  margin-top: 5rem;
}
h3.dl-ttl {
  background: #ffe6b7;
  padding: calc(0.5rem + 10px) 3rem 0.5rem;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  margin-bottom: 2rem;
}
h3.dl-ttl::before,
h3.dl-ttl::after {
  content: ""; /* 疑似要素に必須 */
  width: 30px; /* 幅いっぱいを指定 */
  height: 2px; /* 適度な太さを指定 */
  display: block; /* 高さを持たせるためにinline-blockを指定 */
  background: #000; /* 線の色を指定 */
  border-radius: 2px; /* 線の端を丸くしたいなら指定する */
  position: absolute; /* 相対位置に指定 */
  top: calc(50% + 0px); /* 表示位置を上から0pxに指定 */
  right: 20px; /* 表示位置を左から0pxに指定 */
  transform: translateY(-50%);
}

h3.dl-ttl::before {
  transform: translateY(-50%) rotate(0deg); /* 時計回りに45度回転させる */
  transition: 0.4s;
}
h3.dl-ttl::after {
  transform: translateY(-50%) rotate(-90deg); /* 反時計回りに45度回転させる */
  transition: 0.4s;
}
h3.dl-ttl.active::before {
  transform: translateY(-50%) rotate(45deg); /* 時計回りに45度回転させる */
  top: calc(50% + 5px); /* 表示位置を上から0pxに指定 */
}
h3.dl-ttl.active::after {
  transform: translateY(-50%) rotate(-45deg); /* 反時計回りに45度回転させる */
  top: calc(50% + 5px); /* 表示位置を上から0pxに指定 */
}
h3.dl-ttl.active {
  margin-bottom: 0;
}

.downloads-text {
  padding-top: 0;
}
.downloads-text .dl-border {
  display: none;
  margin-bottom: 2rem;
}

.wp-video {
  margin: auto;
}

.education-area-block .news02-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem 2rem;
}
.education-area-block .news02-list li {
  box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.1);
  background: #fff;
  position: relative;
}

.new-post > p {
  position: absolute;
  right: 0;
  top: 0;
}
.new-post > p img {
  width: 100px;
}
.swiper.education-area-block {
  overflow: visible;
}
.education-area-block .swiper-container ul li a .post-thumbnail,
.education-area-block .news02-list li a .post-thumbnail {
  position: relative;
}
.education-area-block .news02-list li a .post-thumbnail img {
  height: 180px;
  object-fit: contain;
  display: block;
  margin: auto;
  width: 100%;
}
.education-area-block .swiper-container ul li a .post-thumbnail img {
  height: 30%;
  object-fit: contain;
  display: block;
  margin: auto;
  width: 100%;
}
.post-thumbnail {
  position: relative;
}

.news_recommend-box li .category,
.education-area-block .swiper-container ul li .category,
.education-area-block .news02-list li .category {
  font-size: 1.4rem;
  color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 1px 2.5rem 1px 1.5rem;
  clip-path: polygon(0% 100%, 0% 0%, 82.5% 0%, 100% 100%);
  background: #0edec2;
}

.news_recommend-box li .category {
  left: 10px;
  top: 10px;
  bottom: unset;
}
.news-recommend-area .category {
  font-size: 1.4rem;
  color: #fff;
  position: unset;
  left: 0;
  bottom: 0;
  padding: 1px 2.5rem 1px 1.5rem;
  clip-path: polygon(0% 100%, 0% 0%, 82.5% 0%, 100% 100%);
  margin-bottom: 0 !important;
  width: fit-content;
}

.news-recommend-area .category.kateika,
.news_recommend-box li .category.kateika,
.education-area-block .news02-list li .category.kateika,
.category.kateika {
  background: #ff8462 !important;
}
.news-recommend-area .category.shodou,
.news_recommend-box li .category.shodou,
.education-area-block .news02-list li .category.shodou,
.category.shodou {
  background: #8f70ff !important;
}
.news-recommend-area .category.kokyou,
.news_recommend-box li .category.kokyou,
.education-area-block .news02-list li .category.kokyou,
.category.kokyou,
.category.komin {
  background: #ffc525 !important;
}
.n-other,.cat05 {
  background: #666 !important;
}
.education-area-block .swiper-container {
  position: relative;
  overflow: hidden;
}
.education-area-block .swiper-button-next {
  position: absolute;
  right: 300px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
}
.education-area-block .swiper-button-prev {
  position: absolute;
  left: 300px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
}

.education-area-block .swiper-slide a .post_title {
  height: 3em;
}

.education-area-block .swiper-button-prev:after {
  content: url(../images/page/education/prev-btn@1x.webp);
  transform: scale(0.7);
}
.education-area-block .swiper-button-next:after {
  content: url(../images/page/education/next-btn@1x.webp);
  transform: scale(0.7);
}

.education-area-block .swiper-pagination {
  bottom: -55px !important;
}

.education-area-block .swiper-pagination-bullet {
  width: 40px;
  height: 5px;
  border-radius: 0px;
}
.education-area-block .swiper-pagination-bullet-active {
  background: #ffbf77 !important;
}

.education-area-block a .post-excerpt {
  padding: 1rem 2rem;
}
.education-area-block .swiper-container ul li span.post-date,
.news02-list li span.post-date {
  display: flex;
  gap: 4px;
  align-items: center;
  color: #707070;
  font-size: 1.2rem;
  margin-top: 1.5rem;
}
.education-area-block .news02-list li .post-excerpt .category {
  display: none;
}
.education-area-block .new-post {
  grid-area: 1 / 1 / 2 / 4;
  padding: 2rem;
}

.education-area-block .new-post > a:nth-child(1) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.education-area-block
  .new-post
  > a:nth-child(1)
  .post-thumbnail
  img:nth-child(1) {
  height: 300px;
  object-fit: contain;
}
.education-area-block .new-post > a:nth-child(1) .post-excerpt {
  font-size: 2rem;
  padding: 3rem 0;
}
.education-area-block .new-post > a:nth-child(1) .post-excerpt .span.post-date {
  font-size: 1.6rem;
}
.education-area-block li.new-post .post-thumbnail .category {
  display: none;
}
.education-area-block .news02-list li.new-post .post-excerpt .category {
  display: block;
  position: unset;
  width: fit-content;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

.education-single .main-ttl {
  margin: 14rem 0px 5rem;
}

.education-area-block .news02-list > li:nth-child(3) > a .post_title {
  height: 4.5em;
}

.single-education-news .news-single-are {
  margin-top: 20rem;
}

.news-single-are p,
.single-block p,
.page-content p {
  margin-bottom: 1rem;
  min-height: 1em;
}

#wpmem_login,
#wpmem_msg,
#wpmem_reg,
#dsds_login,
.wpmem_msg {
  margin: auto;
  width: 79% !important;
}

#wpmem_login legend,
#wpmem_reg legend {
  text-align: center;
  margin-bottom: 3rem !important;
}

#wpmem_login fieldset,
#wpmem_reg fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#wpmem_login label,
#wpmem_reg label {
  width: 32%;
}
#wpmem_login .div_text,
#wpmem_reg .div_checkbox,
#wpmem_reg .div_date,
#wpmem_reg .div_file,
#wpmem_reg .div_image,
#wpmem_reg .div_membership,
#wpmem_reg .div_multicheckbox,
#wpmem_reg .div_multiselect,
#wpmem_reg .div_number,
#wpmem_reg .div_radio,
#wpmem_reg .div_select,
#wpmem_reg .div_text,
#wpmem_reg .div_textarea,
#wpmem_reg .div_url {
  width: 66%;
}
#wpmem_login .button_div,
#wpmem_reg .button_div {
  text-align: center !important;
  width: 100%;
}
#wpmem_login .link-text,
#dsds_login .link-text {
  text-align: center !important;
  width: 100%;
}
#dsds_login .link-text {
  margin-bottom: 3rem;
}
#dsds_login #dlPw {
  width: 20em;
}
#dsds_login .error-message {
  margin-bottom: 3rem;
}

.button_div > label:nth-child(2) {
  width: fit-content !important;
}
#wpmem_reg .buttons,
#wpmem_login_form .buttons,
#wpmem_login .buttons,
#dsds_login .buttons {
  width: 60%;
  margin: 0 auto 0 !important;
  text-align: center;
  background: #ff8462;
  color: #fff;
  border: solid 2px;
  padding: 1.5rem 3rem;
  border-radius: 30px;
}
#wpmem_reg .buttons:hover,
#wpmem_login_form .buttons:hover,
#wpmem_login .buttons:hover,
#dsds_login .buttons:hover {
  background: #fff;
  color: #ff8462;
  border: solid 2px;
}

#wpmem_login .button_div,
#wpmem_reg .button_div {
  display: grid;
}

#wpmem_reg .req {
  width: 50px;
}
#wpmem_reg .req::after {
  color: #fff;
  background: #fb4368;
  padding: 2px 1rem;
  border-radius: 4px;
  font-size: 1.4rem;
  content: "必須";
}

#wpmem_login label.text,
#wpmem_reg label.text,
#wpmem_login fieldset > label.radio,
#wpmem_reg fieldset > label.radio {
  display: flex !important;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 14px;
}

.form-area h4 {
  font-size: 2rem;
  font-weight: bold;
  padding-bottom: 1rem;
}

.wpmem_header {
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 3rem;
  font-size: 2rem;
  font-weight: bold;
}
#wpmem_login fieldset {
  display: grid;
}

#wpmem_login .link {
  display: block;
  background: #fff;
}

#wpmem_login .link > a:nth-child(1) {
  /* 1: ; */
  color: #ff8462;
  display: block;
  width: fit-content;
  background: #fff;
  margin: 2rem auto;
  text-align: center;
  border: solid 1px;
  padding: 0.5rem 4rem;
  border-radius: 10px;
  font-size: 2rem;
  width: 40%;
}
#wpmem_login .link > a:nth-child(1):hover {
  background: #ff8462;
  color: #fff;
  border: solid 1px;
}

div.wpmem_row_group {
  display: flex;
  width: 80%;
  margin: auto;
}
div.link-text:last-of-type {
  grid-area: 1 / 1 / 2 / 2;
  margin-bottom: 5rem;
}
.link-text-forgot a {
  color: #ff8462;
}

.wpmem_regist .catch {
  font-size: 2rem;
  font-weight: bold;
}

div.wpmem_row_group div:nth-child(2) {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
}
.fa {
  position: absolute;
  right: 10px;
}

.eye-icon {
  width: 20px;
  position: absolute;
  right: 10px;
}
/*------------------

検索

^------------------*/

form.search-form {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}

input.search-field:nth-child(1) {
  width: 50%;
}
.remodal {
  max-width: 550px !important;
}
.modal-content > h2:nth-child(1) {
  font-size: 2rem;
}
.search_list-are .wp-pagenavi {
  margin-top: 5rem;
  margin: 5rem auto 0;
  display: block;
  text-align: center;
}
.search_list-are li {
  position: relative;
  display: grid;
  grid-template-columns: 20px auto;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0.5rem;
}
.search_list-are li::before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  background: #ffbf77;
  border-radius: 50%;
}

.search_list-are h1 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

.education-area .attention-text > p:nth-child(1) {
  background: #fff;
  padding: 1rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 5rem;
}
.top-btn {
  position: fixed;
  right: 30px;
  z-index: 40;
  bottom: 160px;
}

.index-contents-area li {
  /* padding-bottom: 1rem;
  border-bottom: solid 1px #000;*/
}

.index-contents-area li .index-text {
  text-align: left;
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 0 1em;
}
.index-contents-area li a p {
  color: #333;
  font-size: 2.4rem;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 3%;
  width: 100%;
  top: 40%;
  transform: translateX(-50%) translateY(-50%);
}
.index-contents-area li a {
  position: relative;
}

.privacy-cont {
  margin: 5rem 0;
  border-bottom: solid #ff8462 2px;
  border-top: solid #ff8462 2px;
  padding: 10px 0;
}

.privacy-cont > dl:nth-child(1) > dt:nth-child(1) {
  justify-content: center;
  font-size: 1.6rem;
  margin-bottom: 1rem;
  font-weight: bold;
}

.privacy-cont > dl:nth-child(1) > dd:nth-child(2) {
  font-size: 1.4rem;
}
.privacy-block h4 {
  justify-content: center;
  font-size: 1.6rem;
  margin-bottom: 1rem;
  font-weight: bold;
  text-align: center;
}
.privacy-block p,
.privacy-block ul > li {
  margin-bottom: 1rem;
}
.privacy-block ul li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}
.privacy-block ul li > ul li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/* 要素 | https://www.kyoiku-tosho.co.jp/news_list/ */

.mail-block {
  background: #ffbf77;
  padding: 4rem 2rem;
}
.mail-block > h2:nth-child(1) {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
  width: fit-content;
  position: relative;
  margin: 0 auto 1rem;
}
.mail-block > h2:nth-child(1)::before {
  content: "";
  border: solid 1px #000;
  background: #000;
  width: 32px;
  height: 1px;
  transform: translateY(-50%) rotate(45deg);
  display: block;
  position: absolute;
  left: -40px;
  top: 50%;
}
.mail-block > h2:nth-child(1)::after {
  content: "";
  border: solid 1px #000;
  background: #000;
  width: 32px;
  height: 1px;
  transform: translateY(-50%) rotate(-45deg);
  display: block;
  position: absolute;
  right: -40px;
  top: 50%;
}

.mail-block .catch {
  text-align: center;
}

.mail-block .wpforms-field {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: center;
  font-size: 1.6rem;

}
.mail-block .wpforms-container {
  margin-bottom: 0 !important;
}
.mail-block .wpforms-field-container {
  width: 70%;
  margin: auto;
}
.mail-block .wpforms-field input {
  max-width: 100% !important;
  padding:  1rem !important;
  background: #fff !important;
  border: solid rgba(0, 0, 0, 0.25) 1px !important;
}

.mail-block .wpforms-field label:nth-child(1) {
  margin-bottom: 0;
}
.mail-block .wpforms-submit {
  background: #ff8462 !important;
  border: solid #fff 1px !important;
  color: #fff !important;
  text-align: center;
  margin: 3rem auto 0;
  padding: 1rem 4rem !important;
  display: block;
  font-size: 17px !important;
}
.wpforms-submit::before,
.wpforms-submit::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 10px;
  width: 10px;
  height: 4px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 2px) 50%;
}

.wpforms-submit::before {
  transform: rotate(45deg);
}

.wpforms-submit::after {
  transform: rotate(-45deg);
}

.mail-block label > span:nth-child(1) {
  background: #fb4368;
  color: #fff;
  font-size: 1.2rem;
  padding: 5px;
}

.single-news_list h2.wp-block-heading {
  border-left: solid 10px #ffd676;
  padding-left: 10px;
  margin-bottom: 3rem;
  font-size: 2.4rem;
}

.single-news_list #toc_container {
  padding: 2rem 4rem;
  --top-gradient: linear-gradient(90deg, #779aaf 0 25px, transparent 0 100%);
  --left-gradient: linear-gradient(180deg, #779aaf 0 25px, transparent 0 100%);
  --bottom-gradient: linear-gradient(
    90deg,
    transparent 0 calc(100% - 25px),
    #779aaf calc(100% - 25px) 100%
  );
  --right-gradient: linear-gradient(
    180deg,
    transparent 0 calc(100% - 25px),
    #779aaf calc(100% - 25px) 100%
  );

  outline-offset: -5px;
  background-image: var(--top-gradient), var(--left-gradient),
    var(--bottom-gradient), var(--right-gradient);
  background-repeat: no-repeat;
  background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
  background-position: top left, top left, bottom right, top right;
  width: 100% !important;
  border: none;
  margin: 3rem auto;
}
.single-news_list .toc_toggle a,
.single-news_list .toc_toggle span {
  display: none;
}
#toc_container p.toc_title {
  text-align: left;
  font-size: 2.4rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#toc_container p.toc_title:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #666;
}

#toc_container p.toc_title::after {
  margin-left: 3rem;
}
.author-area {
  display: grid;
  grid-template-columns: 1fr 2fr;
  background: #f3f5f7;
  padding: 30px 30px;
  box-sizing: border-box;
  margin: 0 0 20px;
  gap: 2rem;
  align-items: flex-start;
  margin-top: 5rem;
}

.author-area h3.author-area-name {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  margin-bottom: 2rem;
}

.author-area h3.author-area-name span {
  display: block;
  font-size: 1.6rem;
  color: #779aaf;
}

.author-area .author-area-img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.author-area .author-area-txt {
  clear: both;
  margin-bottom: 0 !important;
}

.connection-ttl {
  background: #779aaf;
  width: fit-content;
  color: #fff;
  padding: 1px 24px;
  border-radius: 20px;
  margin-top: 2.5rem;
}

.connection-box > li {
  margin-bottom: 5px;
  list-style: none !important;
}
.connection-box > li a:nth-child(1) {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  gap: 5px;
  color: #000;
  text-decoration: none;
}
.connection-box > li a:nth-child(1):hover {
  color: #779aaf;
}
ul.news_recommend-box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  margin: 3rem 0;
}
ul.news_recommend-box li {
  list-style: none !important;
}
ul.news_recommend-box li a:nth-child(1) {
  display: grid;
  grid-template-columns: 1.5fr 2fr;
  padding: 1rem;
  font-size: 1.4rem;
  gap: 1rem;
  align-items: center;
  position: relative;
  color: #000;
  text-decoration: none;
}

ul.news_recommend-box li a img:nth-child(1) {
  object-fit: contain;
  height: 120px !important;
}

ul.news_recommend-box li {
  background: #fff;
  box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.1);
  list-style: none !important;
}
.news_recommend-box-ttl {
  font-size: 2.8rem;
  margin-bottom: 3rem;
  font-weight: bold;
  text-align: center;
  margin-top: 3rem;
}
.sns-share {
  margin-top: 3rem;
  padding: 1rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  border-top: solid 1px #779aaf;
  border-bottom: solid 1px #779aaf;
}
.sns-share a {
  display: flex;
  align-items: center;
}
.sns-share a img:nth-child(1) {
  width: 30px;
}
.Lead-block {
  border: 4px solid var(--12, #ff8462);
  background: #fff;
  position: relative;
  padding: 5rem 3rem 3rem;
  margin-bottom: 3rem;
}
.Lead-block::after {
  content: "";
  width: 15px;
  height: 15px;
  border: solid #ff8462;
  border-radius: 50%;
  position: absolute;
  left: 15px;
  top: 15px;
}

.news-single-are .post-date {
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #707070;
  margin-top: 10px;
}

.ecommend_merchandise-box {
  padding: 2rem;
  border: solid 1px;
  margin: 3rem 0;
}

.ecommend_merchandise-box li {
  list-style: none !important;
}
.ecommend_merchandise-box li a:nth-child(1) {
  display: grid;
  grid-template-columns: 170px 3fr;
  align-items: center;
  gap: 4rem;
  font-size: 2.8rem;
  padding: 1rem;
  color: #000;
  text-decoration: none;
}
.ecommend_merchandise-box li a:hover {
  background: #d9d9d9;
}

.ecommend_merchandise-box-ttl {
  background: #eaeaea;
  color: #000;
  font-size: 2.8rem;
  font-weight: bold;
  padding: 0.5rem 4rem;
  margin-bottom: 3rem;
}
#toc_container ul > li {
  margin-bottom: 1rem;
}
#toc_container ul > li > a {
  border-bottom: dashed 1px;
  padding-bottom: 3px;
  display: block;
  width: fit-content;
  margin-bottom: 1rem;
}



.downloads h2,
.dl_regist-area h2 {
  font-size: 3rem;
  text-align: center;
}

 .page-content .single-block ol,
 .page-content .single-block ul,
 .page-content .single-block li,
 .page-content .single-block dl,
.page-content .single-block dt,
.page-content .single-block dd {
  margin: revert;
  padding: revert;
  list-style: revert;
  font-size: 1.6rem;
}
 .page-content a {
  color: #2271b1;
  text-decoration: underline;
}
 .page-content .single-block  h2 {
  font-size: 2.7rem;
  margin: 1rem 0;
}
 .page-content .single-block  h3 {
  font-size: 2.1rem;
  margin: 1rem 0;
}
.page-content .single-block  h4 {
  font-size: 1.8rem;
  margin: 1rem 0;
}
 .page-content .single-block  h5 {
  font-size: 1.5rem;
  margin: 1rem 0;
}
.page-content .single-block  h6 {
  font-size: 1.2rem;
  margin: 1rem 0;
}
.has-green-background-color {
  background: #528350;
}
.has-lightgreen-background-color {
  background: #b4b400;
}
.has-lightyellow-background-color {
  background: #e7e776;
}
.has-lightgray-background-color {
  background: #e1ddd4;
}
.has-red-background-color {
  background: #E03636;
}
.has-orange-background-color {
  background: #f15a24;
}
.has-lightblue-background-color {
  background: #77c1db;
}
.has-white-background-color {
  background: #ffffff;
}
.has-blue-background-color {
  background: #2b3177;
}
.has-lightgray-background-color {
  background: #e1ddd4;
}
.has-gray-background-color {
  background: #666666;
}
.has-black-background-color {
  background: #000;
}
.has-green-color {
  color: #528350;
}
.has-lightgreen-color {
  color: #b4b400;
}
.has-lightyellow-color {
  color: #e7e776;
}
.has-lightgray-color {
  color: #e1ddd4;
}
.has-orange-color {
  color: #e03636;
}
.has-red-color {
  color: #f15a24;
}
.has-lightblue-color {
  color: #77c1db;
}
.has-white-color {
  color: #ffffff;
}
.has-blue-color {
  color: #2b3177;
}
.has-gray-color {
  color: #666666;
}
.has-black-color {
  color: #000;
}



.sns-share.textook-share{
  padding: 0;
  border: none;
  margin: 3rem 0;
  gap: 3rem;
}

.sns-share.textook-share li{
  display: flex;
  align-items: center;
}
.sns-share.textook-share img{
  width: auto !important;
}

.main-visual.recruit-area {
  background: url(../images/page/recruit/recruit-bg@2x.webp) no-repeat;
  background-size: 100%;
  background-position: top center;
  display: grid;
  justify-content: space-between;
  align-items: end;
  gap: 4rem;
  padding: 7rem 0 10rem;
  grid-template-columns: 1.4fr 4fr;
}


.page-nav-link {
  display: flex;
  justify-content: center;
}
.page-nav-link a{
  display: block;
  padding: 1rem 1.5rem;
  font-size: 1.6rem;
  color: #000;

}
.page-nav-link a img{
  display: block;
  margin: 1rem auto 0;
}
.page-nav-link li:not(:last-child) a{
  border-right: solid 2px #FFBF77;
}
.recruit-page .main-ttl{
}
.recruit-page .main-ttl h2{
  position: relative;
  width: 50%;
  margin: auto;
  font-size: 4rem;
  font-weight: bold;
  padding: 2rem 5rem;
}
.recruit-page .main-ttl h2::before,
.recruit-page .main-ttl h2::after{
  position: absolute;
  left: 50%;
  display: block;
  height: 10px;
  width: 100%;
  background-image: url(../images/page/recruit/border@1x.webp);
content: "";
}
.recruit-page .main-ttl.bo-b h2::before,
.recruit-page .main-ttl.bo-b h2::after{
  position: absolute;
  left: 50%;
  display: block;
  height: 10px;
  width: 100%;
  background-image: url(../images/page/recruit/border02@1x.webp);
content: "";
}
.recruit-page .main-ttl.bo-g h2::before,
.recruit-page .main-ttl.bo-g h2::after{
  position: absolute;
  left: 50%;
  display: block;
  height: 10px;
  width: 100%;
  background-image: url(../images/page/recruit/border03@1x.webp);
content: "";
}
.recruit-page .main-ttl h2::after{
  bottom: 0;
  transform: translateX(-50%)translateY(-50%);

}
.recruit-page .main-ttl h2::before{
  top:0 ;
  transform: translateX(-50%)translateY(-50%);

}
.job-cont {
  background: url(../images/page/recruit/job-bg@1x.webp);
  background-size: 100%;
  padding: 10rem 0;
}
.job-cont dl{
  display: grid;
  gap: 3rem;
  grid-template-columns: 130px 1fr 3fr;
  align-items: center;
  position: relative;
  margin-bottom: 5rem;
}
.job-cont dl > dt:nth-child(1) {
  position: relative;
  z-index: 2;
}
.job-cont .inner dl:first-child dt:nth-child(1)::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 430%;
  background-color: #FF9822;
  z-index: -1;
}
.job-cont dl > dt:nth-child(1) > img:nth-child(1) {
  background: #fff;
  border-radius: 50%;
  border: solid 2px #FF9822;
  padding: 1rem;
}
.job-cont dl dt:nth-child(2){
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.job-cont dl dt:nth-child(2) > p:nth-child(1) {
  font-size: 5.5rem;
  font-weight: bold;
  margin: auto;
}
.job-cont dl dt:nth-child(2) > p:nth-child(1) span{
  font-size: 2.5rem;
}

.job-cont dl dt:nth-child(2) > span:nth-child(2) {
  font-size: 2rem;
  background: #FF9822;
  color: #fff;
  text-align: center;
  border-radius: 15px;
  font-weight: bold;
}

.issue-cont{
  background: url(../images/page/recruit/issue-bg@1x.webp);
  background-size: 100%;
  padding: 10rem 0;

}
.issue-cont  p {
  margin-top: 3rem;
}

.issue-cont .catch {
  font-size: 32px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 3rem;
  margin-top: 0;
}


.recruit-num-cont{
  background: url(../images/page/recruit/recruit-num-bg@1x.webp);
  background-size: 100%;
  padding: 10rem 0;

}
.recruit-num-cont ul{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
}

div.introduction-cont {
  display: grid;
  grid-template-columns: 1fr auto;
}


.introduction-area .inner div.introduction-cont:not(:last-child){
  padding-bottom: 4rem;
  border-bottom: 1px solid #779AAF;
  margin-bottom: 4rem;
}

div.introduction-cont dl:nth-child(1) > dt:nth-child(1) {
  font-size: 3.6rem;
  font-weight: bold;
  border-left: solid 10px #779AAF;
  padding-left: 1rem;
  margin-bottom: 2rem;
}


 .page-link01 a:nth-child(1) {
  border-radius: 30px;
  background: var(--12, #FF8462);
  color: #fff;
  margin: auto;
  display: block;
  text-align: center;
  width: fit-content;
  font-size: 2rem;
  padding: 1rem 10rem;
  margin-top: 10rem;
}

.recruitment-area > p{
  text-align: center;
}

.recruitment-area .inner:nth-child(3){
  background: #FFFCEB;
  padding: 5rem 0;
  margin-top: 5rem;
}

.recruitment-cont  h4:nth-child(1) {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2rem;

}

.recruitment-cont {
 /* background-image: linear-gradient(to bottom, #F6E0D3 6px, transparent 1px);
  background-size: 100% 20px; /* 横幅100%、縦に20pxごとに線 */
  width: fit-content;
  margin: auto;
  text-align: center;
}
.recruitment-cont_bg{
  text-align: center;
  margin: auto;
  width: fit-content;

}
.recruit_sub-ttl{
  background: url(../images/page/recruit/sub-bg@1x.webp)no-repeat;
  margin-top: 5rem;
  padding: 5rem 0;
  font-size: 4rem;
  text-align: center;
  font-weight: bold;
  background-position: center;
  background-size: 100%;
}


div.introduction-cont dl:nth-child(1) > dd{
  margin-bottom: 1rem;
  padding-left: 1em;
  text-indent: -1em;
}

.recruitment-cont .page-link01 a{
  margin-top: 0;
  width: 23em;
  padding: 1rem 2rem;
}