@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* =========================================================
 Qbook-CSS ver0.0.31 (2025/11/13tmp)
========================================================= */
/* =========================================================
 ベースデザイン
========================================================= */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

.newfont {
  font-family: "Hiragino Sans", Helvetica;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #333;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #333;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*, *:before, *:after {
  box-sizing: border-box;
}

html {
  font-size: 10px;
  font-family: Meiryo, "メイリオ", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

@media screen and (max-width: 767px) {
  html {
    -webkit-overflow-scrolling: touch;
  }
}

body {
  color: #333;
  font-size: 1.4rem;
  line-height: 1.8;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  body {
    min-width: 1210px;
    overflow-x: auto;
  }
}

input,
select,
textarea {
  font-family: Meiryo, "メイリオ", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

p, li {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
}

ul {
  list-style: none;
}

a {
  color: inherit;
  cursor: pointer;
}

a:hover {
  opacity: .8;
}

input[type="submit"]:hover {
  opacity: .8;
}

@media screen and (max-width: 767px) {
  input[type="submit"] {
    -webkit-appearance: none;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  cursor: pointer;
}

input:-webkit-autofill {
  box-shadow: 0 0 0 1000px white inset;
}

/* =========================================================
 全体デザイン
========================================================= */
.inner {
  max-width: 1060px;
  margin: auto;
  padding: 0 20px;
  box-sizing: content-box;
}

.inner .inner {
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .inner {
    max-width: 767px;
  }
}

@media print, screen and (min-width: 768px) {
  .mainArea {
    min-height: 260px;
    height: auto !important;
    height: 260px;
  }
}

.mainArea__inner {
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  .mainArea__inner {
    margin-top: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .mainArea__inner {
    display: -webkit-box;
    display: flex;
  }
}

.mainArea__inner .main__cont {
  -webkit-box-flex: 1;
  flex: 1;
}

@media print, screen and (min-width: 768px) {
  .mainArea__inner .main__cont {
    max-width: calc( 100% - 340px );
  }
}

/* パンくずリスト */
.breadCrumb {
  font-size: 1.3rem;
  padding: 8px 0;
  color: #666666;
}

.breadCrumb__list > .item {
  display: inline;
}

.breadCrumb__list > .item:nth-child(n+2):before {
  content: '>';
  display: inline-block;
  margin: 0 .75em;
}

.breadCrumb__list > .item span {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* ボタン領域 */
.linkBtn__wrap {
  text-align: center;
}

/* ページタイトル */
.pageTitle {
  margin-bottom: 40px;
}

.pageTitle__text {
  text-align: center;
}

/* =========================================================
 /column
========================================================= */
.columnRecommended {
  margin-bottom: 16px;
}

.columnRecommended .main-h02 {
  font-size: 24px;
  color: #00294a;
  margin-bottom: 25px;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .columnRecommended .row .col-06:last-child {
    padding: .6em;
  }
}

@media print, screen and (min-width: 768px) {
  .columnRecommended .row .col-06 p {
    font-size: 1.6rem;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .columnRecommended .row .col-06:first-child {
    max-width: 32.5%;
    -webkit-box-flex: 0;
    flex: 0 0 32.5%;
  }

  .columnRecommended .row .col-06:last-child {
    max-width: 67.5%;
    -webkit-box-flex: 0;
    flex: 0 0 67.5%;
    padding: 15px 25px 10px;
  }
}

/* =========================================================
 /column
 /event
========================================================= */
.columnRecommended .row {
  text-decoration: none;
  -webkit-box-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .columnRecommended .row {
    box-shadow: 0 0 21px rgba(50, 41, 24, 0.13);
    display: block;
    margin-bottom: 1.4em;
  }
}

@media print, screen and (min-width: 768px) {
  .columnRecommended .row {
    box-shadow: 0 0 21px rgba(50, 41, 24, 0.2);
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }

  .columnRecommended .row:last-child {
    margin-bottom: 0;
  }
}

.columnRecommended .category {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 8px;
}

.columnRecommended .category .date {
  font-size: 12px;
  color: #333;
}

.columnRecommended .category .name {
  font-size: 12px;
  padding: 1px 8px;
  color: #0F58A4;
  border: 1px solid #0F58A4;
  display: inline-block;
  margin-left: 8px;
  border-radius: 3px;
}

/* =========================================================
 /company
========================================================= */
.link__window:after {
  content: '';
  background: url(/assets/img/ico--linkwindow.png) no-repeat center/contain;
  width: 1em;
  height: 1em;
  display: inline-block;
  margin-left: .1em;
  vertical-align: baseline;
}

.al_c {
  text-align: center;
}

.linkBtn--line {
  border: 1px solid #1396e8;
  border-radius: 50px;
  color: #1396e8;
  display: inline-block;
  font-size: 1.5rem;
  text-decoration: none;
  min-width: 160px;
  padding: .5em 40px;
}

/* =========================================================
 /download
 /unsubscribe
 /login
 /mail
 /pass
 /pass-reset
 /profile
 /signup
========================================================= */
.error_comment {
  border: 1px solid #c00;
  border-radius: 2px;
  padding: 12px 16px;
  margin: 0 auto 20px;
}

.error_comment p {
  color: #c00;
}

/* =========================================================
 /login
========================================================= */
.info_area {
  border: 1px solid #c00;
  border-radius: 2px;
  padding: 12px 16px;
  margin: 0 auto 20px;
  text-align: center;
}

.info_area a {
  color: #00F;
}
.info_area a:hover {
  color: #00E;
}
.info_area a:visited {
  color: #551A8B;
}

/* =========================================================
 /download
 /unsubscribe
 /login
 /pass
 /profile
 /signup
========================================================= */
.error_text {
  font-size: 1.2rem;
  color: #c00;
  margin-top: .4em;
}

/* =========================================================
 403 404 500
========================================================= */
.error-area {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .error-area {
    padding: 0 5vw;
  }
}

.error-area .errorBox {
  text-align: center;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .error-area .errorBox {
    padding: 5vw;
  }
}

.error-area .errorBox .ttl {
  font-size: 3rem;
  color: #757575;
  line-height: 1.4;
}

.error-area .errorBox .text {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-bottom: 0;
}

.error-area .errorBox .linkBtn__wrap {
  margin-top: 2rem;
}

/* =========================================================
 /book
========================================================= */
.btnArea__blue {
  text-align: center;
  margin-top: 20px;
  width: 100%;
}

.book__area .instructor__block {
  margin-bottom: 1em;
}

@media print, screen and (min-width: 768px) {
  .book__area .instructor__block {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .book__area .instructor__block {
    display: block;
  }
}

.book__area .instructor__block .imgArea {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .book__area .instructor__block .imgArea {
    width: 190px;
    margin-right: 2.8em;
  }
}

@media screen and (max-width: 767px) {
  .book__area .instructor__block .imgArea {
    float: left;
    margin: 0 .5em .5em 0;
    width: 40%;
  }
}

.book__area .instructor__block .textArea {
  -webkit-box-flex: 1;
          flex: 1;
}

.book__area .instructor__block .textArea .bookName {
  font-size: 1.8rem;
  font-weight: bold;
  color: #00294a;
  line-height: 1.4;
  margin-bottom: .4em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.book__area .instructor__block .textArea .name {
  font-size: 1.4rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.book__area .instructor__block .textArea .category {
  font-size: 1.4rem;
  margin-bottom: 1.1em;
}

.book__area .instructor__block .textArea .category span {
  font-size: 12px;
  padding: 1px 8px;
  color: #0F58A4;
  border: 1px solid #0F58A4;
  display: inline-block;
  margin-right: 8px;
  border-radius: 3px;
}

.book__area .instructor__block .textArea .text {
  font-size: 1.4rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .book__area .instructor__block .textArea .text {
    clear: both;
  }
}

.book__area .snsBox {
  display: flex;
  column-gap: 8px;
  margin-left: auto;
  min-width: 112px;
  align-items: flex-end;
  padding-bottom: 8px;
}

.book__area .snsBox .snsicon img {
  width: 32px;
  height: 32px;
}

.book__area .snsBox .snsicon .item__x img {
  width: 31px;
  height: 31px;
}

.book__area .snsBox .linkBtn__wrap {
  text-align: center;
  margin-left: auto;
}

.book__area .infotext__block {
  border-top: 1px solid #e5e5e5;
}

.book__area .infotext__block .item {
  border-bottom: 1px solid #e5e5e5;
}

@media print, screen and (min-width: 768px) {
  .book__area .infotext__block .item {
    padding: 2.7em 0 2em;
  }
}

@media screen and (max-width: 767px) {
  .book__area .infotext__block .item {
    padding: 1em 0;
  }
}

.book__area .infotext__block .item .title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: .6em;
}

.book__area .infotext__block .item .text {
  font-size: 1.4rem;
  line-height: 2;
}

.book__area .infotext__block .item:last-child {
  margin-bottom: 3em;
}

.intro_text {
  margin-bottom: 20px;
}

.intro_text p {
  line-height: 32px;
  color: #333;
  font-size: 16px;
}

.intro_text .txt_indent {
  text-indent: -1em;
  margin-left: 1em;
}

.tab_manage .tab_list {
  display: -webkit-box;
  display: flex;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-pack: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_list {
    flex-wrap: wrap;
  }
}

@media print, screen and (min-width: 768px) {
  .tab_manage .tab_list:after {
    content: "";
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #e5e5e5;
  }
}

@media print, screen and (min-width: 768px) {
  .tab_manage .tab_list li {
    -webkit-box-flex: 0;
            flex: 0 0 16.667%;
    max-width: 16.667%;
  }
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_list li {
    width: 33.333%;
  }
}

.tab_manage .tab_list li a {
  color: #777;
  display: block;
  position: relative;
  padding: 22px 0;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  height: 100%;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_list li a {
    padding: 22% 2%;
  }
  .tab_manage .tab_list li a:after {
    content: "";
    height: 2px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #e5e5e5;
  }
}

.tab_manage .tab_list li a.-active, .tab_manage .tab_list li a:hover {
  color: #1395e8;
}

.tab_manage .tab_list li a.-active:after, .tab_manage .tab_list li a:hover:after {
  content: "";
  height: 4px;
  width: 100%;
  position: absolute;
  background-color: #1395e8;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.tab_manage .tab_content .product_wrap {
  background: #fffde7;
  padding: 25px 20px;
  margin-top: 35px;
  margin-bottom: 20px;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .product_wrap {
    display: block;
    position: relative;
    padding-top: 80px;
  }
}

.tab_manage .tab_content .product_wrap .product_image {
  -webkit-box-flex: 0;
          flex: 0 0 27%;
  max-width: 27%;
  margin-top: 65px;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .product_wrap .product_image {
    width: 40%;
    float: left;
    margin: 0 .8em 0 0;
  }
}

@media print, screen and (min-width: 768px) {
  .tab_manage .tab_content .product_wrap .product_detailed {
    padding-left: 7px;
    -webkit-box-flex: 0;
            flex: 0 0 73%;
    max-width: 73%;
  }
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .product_wrap .product_detailed {
    width: 100%;
  }
}

.tab_manage .tab_content .product_wrap .product_title {
  font-size: 18px;
  color: #00294a;
  line-height: 1.5;
}

.tab_manage .tab_content .product_wrap .product_title .link {
  text-decoration: none;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.tab_manage .tab_content .product_wrap .product_author {
  font-size: 1.3rem;
  line-height: 1.7;
}

.tab_manage .tab_content .product_wrap .product_label {
  color: #1562a0;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  max-width: 300px;
  border: 2px solid #1562a0;
  line-height: 1.3;
  position: relative;
  background: #fff;
  padding: 5px;
  margin-bottom: 28px;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .product_wrap .product_label {
    position: absolute;
    top: 25px;
    left: 0;
    right: 0;
    margin: 0 25px;
    max-width: none;
  }
}

.tab_manage .tab_content .product_wrap .product_label::before {
  content: '';
  width: 11px;
  height: 9px;
  border-left: 4.5px solid transparent;
  border-right: 4.5px solid transparent;
  border-top: 9px solid #fff;
  bottom: -6px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  z-index: 2;
}

.tab_manage .tab_content .product_wrap .product_label::after {
  content: '';
  width: 13px;
  height: 11px;
  border-left: 6.5px solid transparent;
  border-right: 6.5px solid transparent;
  border-top: 11px solid #1562a0;
  bottom: -11px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .tab_manage .tab_content .product_wrap .product_inner {
    padding: 0 10px 10px 15px;
  }
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .product_wrap .product_inner {
    padding: 0 .5em;
  }
}

.tab_manage .tab_content .product_wrap .product_description {
  margin-top: 15px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .product_wrap .product_description {
    clear: both;
  }
}

.tab_manage .tab_content .book_list {
  margin-bottom: 50px;
}

.tab_manage .tab_content .book_list:last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 768px) {
  .tab_manage .tab_content .book_list .row {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin-left: -22px;
    margin-right: -22px;
    margin-bottom: 42px;
  }
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .book_list .row {
    display: block;
    margin-bottom: 3em;
  }
}

@media print, screen and (min-width: 768px) {
  .tab_manage .tab_content .book_list .row .col_03 {
    max-width: 33.33%;
    -webkit-box-flex: 0;
            flex: 0 0 33.33%;
    padding-left: 45px;
    padding-right: 45px;
  }
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .book_list .row .col_03 {
    width: 100%;
    margin-bottom: 1.5em;
  }
}

.tab_manage .tab_content .book_list .book_list_title {
  font-size: 1.6rem;
  color: #00294a;
  line-height: 1.6;
  margin-bottom: 22px;
  padding-top: 24px;
}

.tab_manage .tab_content .book_list .book_list_title.line-top {
  border-top: 1px solid #e5e5e5;
}

.tab_manage .tab_content .book_list .book_item {
  text-decoration: none;
  display: block;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .book_list .book_item {
    clear: both;
  }
  .tab_manage .tab_content .book_list .book_item:after {
    content: "";
    display: block;
    clear: both;
  }
}

.tab_manage .tab_content .book_list .book_item .book_item_title {
  font-size: 1.6rem;
  color: #00294a;
  line-height: 1.6;
  margin-top: 5px;
}

.tab_manage .tab_content .book_list .book_item .book_item_author {
  font-size: 13px;
  color: #333;
}

.tab_manage .tab_content .book_list .book_item .book_item_image {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .tab_manage .tab_content .book_list .book_item .book_item_image {
    float: left;
    margin-right: 1em;
    width: 40%;
  }
}

.bookList__pageInfo {
  display: -webkit-box;
  display: flex;
  padding: 12px 0;
}

.bookList__pageInfo.-head {
  margin: 30px 0 0;
}

.bookList__number {
  text-align: left;
}

.bookList__pagination {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-flex: 1;
          flex: 1;
}

.bookList__pagination > .link {
  color: #1562a0;
  display: inline-block;
  margin: 0 3px;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  width: 1.4em;
  height: 1.4em;
}

.bookList__pagination > .link:hover, .bookList__pagination > .link.-active {
  background: #f5f5f5;
  color: #333;
}

.bookList__category {
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  padding: 20px 0;
}

.bookList__categoryItem {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
          flex-direction: row-reverse;
  padding: 20px 0;
}

.bookList__categoryItem > .textArea {
  -webkit-box-flex: 1;
          flex: 1;
}

.bookList__categoryItem > .textArea > .title {
  font-size: 1.6rem;
  font-weight: bold;
}

.bookList__categoryItem > .textArea > .title > .link {
  text-decoration: none;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.bookList__categoryItem > .textArea > .author {
  font-size: 1.4rem;
  font-weight: bold;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.bookList__categoryItem > .textArea > .author > .link {
  color: #1562a0;
  text-decoration: none;
}

.bookList__categoryItem > .imgArea {
  width: 130px;
  padding: 0 15px;
}

@media screen and (max-width: 767px) {
  .bookList__categoryItem > .imgArea {
    width: 40%;
  }
  .bookList__categoryItem > .imgArea img {
    width: 100%;
  }
}

.bookList__categoryItem + .bookList__categoryItem {
  border-top: 1px solid #f5f5f5;
}

@media print, screen and (min-width: 768px) {
  ._mt-pc-20 {
    margin-top: 20px !important;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .tab_manage .tab_content .product_wrap .product_label {
    padding: 9px 5px 0;
  }
}

/* =========================================================
 /company
 /privacy
 /quintee
========================================================= */
.headLineEdge {
  color: #252a4a;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  font-size: 2.4rem;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .headLineEdge {
    margin-bottom: .5em;
  }
}

/* =========================================================
 /privacy
 /terms
========================================================= */
.headLineEdge--l {
  -webkit-box-pack: start;
  justify-content: flex-start;
}

.headM {
  color: #252a4a;
  font-size: 1.8rem;
  line-height: 1.3;
  margin-bottom: 32px;
  margin-top: 16px;
}

/* =========================================================
 /company
 /quintee
========================================================= */
.headLineEdge--c {
  -webkit-box-pack: center;
  justify-content: center;
  text-align: center;
}

/* =========================================================
 /writer
========================================================= */
.pageTitle__cont {
  background-color: #1462a0;
  padding: 50px 0 50px;
}

.pageTitle--main {
  color: #fff;
  display: block;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: .05em;
}

.pageTitle--sub {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  color: #b3b3b3;
  letter-spacing: 2px;
  margin-top: .2em;
}

/* =========================================================
 /company
 /privacy
 /quintee
========================================================= */
._h2title {
  font-size: 3.4rem;
}

@media screen and (max-width: 767px) {
  ._h2title {
    font-size: 3rem;
    word-break: break-all;
  }
}

/* =========================================================
 /quintee
========================================================= */
.candoQbookArea {
  background: #f5f5f5;
  padding: 50px 0;
}

.candoQbookList {
  display: -webkit-box;
  display: flex;
}

@media screen and (max-width: 767px) {
  .candoQbookList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
}

.candoQbookList > .item {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}

@media print, screen and (min-width: 768px) {
  .candoQbookList > .item {
    width: calc((100% - 40px) / 2);
  }
  .candoQbookList > .item:nth-child(n+2) {
    margin-left: 40px;
  }
}

@media screen and (max-width: 767px) {
  .candoQbookList > .item {
    width: 100%;
  }
  .candoQbookList > .item:nth-child(n+2) {
    margin-top: 40px;
  }
}

.candoQbookList > .item > .imgArea {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  height: 151px;
  vertical-align: middle;
}

.candoQbookList .item .textArea .candoQbookList__list-title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 3rem;
  text-align: center;
  margin-bottom: 1em;
}

.candoQbookList .item .textArea .candoQbookList__list-title > .candoQbookList__list-title_emphasize {
  font-size: 2.4rem;
}

.candoQbookList__list-text {
  height: 84px;
}

@media screen and (max-width: 767px) {
  .candoQbookList__list-text {
    height: 56px;
  }
}

.candoQbookList__entry-btn {
  margin: 40px 0 50px;
}

.supportTestomo_box {
  background: #f1f7fb;
  border: 1px solid #1396e8;
  padding: 20px;
}

.supportTestomo_checklist {
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .supportTestomo_checklist {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .supportTestomo_checklist {
    font-size: 1.6rem;
  }
}

@media print, screen and (min-width: 768px) {
  .supportTestomo_checklist > .item {
    padding-left: 32px;
  }
}

@media screen and (max-width: 767px) {
  .supportTestomo_checklist > .item {
    padding-left: 26px;
  }
}

.supportTestomo_checklist > .item:before {
  background: url(../../about/img/icon_04.png) no-repeat center/contain;
  content: "";
  display: inline-block;
  vertical-align: middle;
}

@media print, screen and (min-width: 768px) {
  .supportTestomo_checklist > .item:before {
    width: 24px;
    height: 24px;
    margin: 0 8px 0 -32px;
  }
}

@media screen and (max-width: 767px) {
  .supportTestomo_checklist > .item:before {
    width: 20px;
    height: 20px;
    margin: 0 6px 0 -26px;
  }
}

/* =========================================================
 /testomo
========================================================= */
.appBtn__area {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  margin: 24px 0;
}

.appBtn__area > .item {
  margin: 0 10px;
}

@media print, screen and (min-width: 768px) {
  .appBtn__area > .item {
    margin: 0 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .appBtn__area > .item > .img {
    height: 60px;
  }
}

/* =========================================================
 /writer
 /book
========================================================= */
.author__area {
  padding: 100px 0 0;
}

.author__area.instructor__area {
  padding-top: 0;
}

@media print, screen and (min-width: 768px) {
  .author__area.instructor__area .instructor__block {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    margin: 0 0 30px;
  }
}

@media screen and (max-width: 767px) {
  .author__area.instructor__area .instructor__block {
    display: block;
    margin: 0 0 10%;
  }
}

@media print, screen and (min-width: 768px) {
  .author__area.instructor__area .instructor__block > .imgArea {
    width: 190px;
    margin-right: 35px;
  }
}

@media screen and (max-width: 767px) {
  .author__area.instructor__area .instructor__block > .imgArea {
    float: left;
    margin: 0 .5em .5em 0;
    width: 40%;
  }
}

@media print, screen and (min-width: 768px) {
  .author__area.instructor__area .instructor__block .textArea {
    -webkit-box-flex: 1;
    flex: 1;
    max-width: calc( 100% - 190px);
  }
}

.author__area.instructor__area .instructor__block .textArea > .name {
  color: #252a4a;
  font-size: 1.8rem;
  font-weight: bold;
}

.author__area.instructor__area .instructor__block .textArea > .name > .profession {
  color: #333;
  display: inline-block;
  font-size: 80%;
  margin-left: 1em;
}

.author__area.instructor__area .instructor__block .textArea > .position {
  color: #777;
  font-size: 1.2rem;
  margin-top: .25em;
}

.author__area.instructor__area .instructor__block .textArea > .text {
  margin-top: 1.25em;
}

@media screen and (max-width: 767px) {
  .author__area.instructor__area .instructor__block .textArea > .text {
    clear: both;
    margin-top: 15%;
  }
}

.author__area.instructor__area .instructor__block .textArea p {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.author__area.instructor__area .achievement__block {
  background: #f3f3f3;
}

@media print, screen and (min-width: 768px) {
  .author__area.instructor__area .achievement__block {
    padding: 1.5em 2.4em 1.5em 2em;
    margin-bottom: 6em;
  }
}

@media screen and (max-width: 375px) {
  .author__area.instructor__area .achievement__block {
    padding: 1em;
    margin-bottom: 2em;
  }
}

.author__area.instructor__area .achievement__block p {
  font-size: 1.6rem;
  color: #00294a;
  font-weight: bold;
  margin-left: -.5em;
  margin-bottom: .3em;
  padding-left: 2.2em;
  background: url(../img/ico--file.png) no-repeat center left;
}

@media screen and (max-width: 767px) {
  .author__area.instructor__area .achievement__block p {
    margin-left: .3em;
  }
}

.author__area.instructor__area .achievement__block .achievement__list li {
  word-break: break-all;
  padding-left: 1.3em;
  text-indent: -1.3em;
  color: #666666;
}

.author__area.instructor__area .achievement__block .achievement__list li:before {
  content: '・';
}

/* =========================================================
 /writer
========================================================= */
.author__list {
  margin: 0 0 40px;
}

@media print, screen and (min-width: 768px) {
  .author__list > .item {
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 40px;
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 767px) {
  .author__list > .item {
    margin-top: 15px;
  }
}

.author__list > .item > .link {
  text-decoration: none;
}

@media print, screen and (min-width: 768px) {
  .author__list > .item > .link {
    display: -webkit-box;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .author__list > .item > .link {
    border: 1px solid #f5f5f5;
    display: block;
    padding: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .author__list > .item > .link > .imgArea {
    margin-right: 35px;
    width: 190px;
  }
}

@media screen and (max-width: 767px) {
  .author__list > .item > .link > .imgArea {
    float: left;
    margin: 0 0 15px;
    width: 40%;
  }
}

@media print, screen and (min-width: 768px) {
  .author__list > .item > .link > .textArea {
    -webkit-box-flex: 1;
    flex: 1;
    max-width: calc( 100% - 190px);
    word-break: break-all;
  }
}

.author__list > .item > .link > .textArea > .name {
  color: #252a4a;
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .author__list > .item > .link > .textArea > .name {
    float: right;
    width: 55%;
  }
}

.author__list > .item > .link > .textArea > .name > .profession {
  color: #333;
  display: inline-block;
  font-size: 80%;
  margin-left: 1em;
}

.author__list > .item > .link > .textArea > .position {
  color: #777;
  font-size: 1.2rem;
  margin-top: .25em;
}

@media screen and (max-width: 767px) {
  .author__list > .item > .link > .textArea > .position {
    float: right;
    width: 55%;
  }
}

.author__list > .item > .link > .textArea > .text {
  margin-top: 1.25em;
  overflow: hidden;
  width: 100%;
  height: 7.56rem;
  position: relative;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .author__list > .item > .link > .textArea > .text {
    clear: both;
  }
}

.author__list > .item > .link > .textArea > .text:before, .author__list > .item > .link > .textArea > .text:after {
  background: #FFF;
  position: absolute;
}

.author__list > .item > .link > .textArea > .text:before {
  content: "...";
  top: 5.04rem;
  right: 0;
  width: 1.15em;
}

.author__list > .item > .link > .textArea > .text:after {
  content: "";
  height: 100%;
  width: 100%;
}

.author__list > .item > .link > .textArea p {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* =========================================================
 /403
 /404
 /500
 /company
 /isms
 /quintee
========================================================= */
.selection__area {
  margin-bottom: 3.5em;
}

.selection__area .text {
  font-size: 1.6rem;
  margin-bottom: 2.5em;
}

.selection__area .imgArea {
  text-align: center;
  margin-bottom: 2.5em;
}

.selection__area .gray__text {
  color: #666666;
}

/* =========================================================
 /e-book
========================================================= */
.campaign_area.book .mv_text {
  font-size: 1.6rem;
  margin-top: 2rem;
}

.campaign_area.book .flex {
  margin-top: 3rem;
}

@media print, screen and (min-width: 768px) {
  .campaign_area.book .flex {
    display: -webkit-box;
    display: flex;
  }
}

@media print, screen and (min-width: 768px) {
  .campaign_area.book .flex .col-l {
    width: 33%;
    margin-right: 3%;
  }
}

@media screen and (max-width: 767px) {
  .campaign_area.book .flex .col-l {
    text-align: center;
  }
}

.campaign_area.book .flex .col-l img {
  border: 1px solid #333;
}

@media print, screen and (min-width: 768px) {
  .campaign_area.book .flex .col-l img {
    width: 89%;
  }
}

@media screen and (max-width: 767px) {
  .campaign_area.book .flex .col-l img {
    width: 60%;
  }
}

@media print, screen and (min-width: 768px) {
  .campaign_area.book .flex .col-r {
    width: 64%;
  }
}

@media screen and (max-width: 767px) {
  .campaign_area.book .flex .col-r {
    margin-top: 4rem;
  }
}

.campaign_area.book .flex .col-r .ttl {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
}

.campaign_area.book .flex .col-r .cp_table {
  margin-top: 1rem;
}

.campaign_area.book .flex .col-r .cp_table table {
  width: 100%;
  text-align: left;
}

.campaign_area.book .flex .col-r .cp_table table,
.campaign_area.book .flex .col-r .cp_table tr,
.campaign_area.book .flex .col-r .cp_table th,
.campaign_area.book .flex .col-r .cp_table td {
  border: 1px solid #cccccc;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.8;
  padding: .6em .8em;
  text-align: left;
}

.campaign_area.book .flex .col-r .cp_table th {
  background: #f5f5f5;
}

@media screen and (max-width: 767px) {
  .campaign_area.book .flex .col-r .cp_table th {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .campaign_area.book .flex .col-r .chapter_block li {
    display: -webkit-box;
    display: flex;
  }
}

.campaign_area.book .flex .col-r .chapter_block .chapter-no {
  width: 4em;
  display: inline-block;
}

.campaign_area.book .cp_outline {
  margin-top: 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.campaign_area.book .cp_outline .ttl {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .campaign_area.book .cp_outline .outline_block {
    max-width: 500px;
    margin: 1rem auto 0;
  }
}

.campaign_area.book .cp_outline .outline_block li {
  font-size: 1.8rem;
}

.campaign_area.book .notes_block {
  margin-top: 3rem;
}

.campaign_area.book .notes_block .ttl {
  background: #f3f3f3;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  padding: .5rem 1rem;
}

.campaign_area.book .notes_block .notes_list {
  border: 1px solid #333;
  margin-top: 2rem;
  padding: 1rem 2rem;
}

.campaign_area.book .notes_block .notes_list li {
  list-style: disc;
  margin-left: 1rem;
}

@media print, screen and (min-width: 768px) {
  .campaign_area.book .notes_block .note_login {
    margin-top: 2rem;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .campaign_area.book .notes_block .note_login {
    margin-top: 2rem;
  }
}

.campaign_area.book .notes_block .note_login p {
  font-size: 1.8rem;
  line-height: 1.5;
}

.campaign_area.book .notes_block .note_login .linkBtn__wrap {
  margin-top: 1rem;
}

/* =========================================================
 /writer
========================================================= */
.column__listBox {
  margin-top: 24px !important;
  margin-bottom: 24px;
}

/* =========================================================
 /column
========================================================= */
.column__header {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
}

.column__header .main-h02 {
  margin-top: 8px;
}

.column__header .columnInfoArea {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

@media screen and (max-width: 767px) {
  .column__header .columnInfoArea {
    flex-direction: column;
  }
}

.column__header .columnInfoArea .columnInfoBox {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media screen and (max-width: 767px) {
  .column__header .columnInfoArea .columnInfoBox {
    width: 100%;
  }
}

.column__header .columnInfoArea .columnInfoBox .placeName {
  font-size: 12px;
  padding: 2px 8px;
  color: #fff;
  background: #E17000;
  line-height: 1.5;
  display: inline-block;
  border-radius: 6px;
}

.column__header .columnInfoArea .columnInfoBox .categoryName {
  font-size: 12px;
  padding: 1px 8px;
  color: #0F58A4;
  border: 1px solid #0F58A4;
  display: inline-block;
  border-radius: 3px;
}

.column__header .columnInfoArea .columnInfoBox .updateDate {
  display: flex;
  color: #707070;
}

.column__header .columnInfoArea .columnInfoBox .updateDate img {
  margin-right: 8px;
}

.column__header .columnInfoArea .iconBox {
  display: flex;
  gap: 8px;
  justify-content: end;
}

@media screen and (max-width: 767px) {
  .column__header .columnInfoArea .iconBox {
    width: 100%;
  }
}

.column__header .columnInfoArea .iconBox .likeBox {
  display: flex;
  align-items: center;
  gap: 8px;
}

.column__header .columnInfoArea .iconBox .likeBox .likeicon {
  width: 22px;
  min-width: 22px;
  height: 22px;
  cursor: pointer;
}

.column__header .columnInfoArea .iconBox .likeBox .likeCount {
  color: #909090;
  font-size: 16px;
}

.column__header .columnInfoArea .iconBox .snsBox {
  display: flex;
  column-gap: 8px;
}

.column__header .columnInfoArea .iconBox .snsBox .snsicon img {
  width: 32px;
  height: 32px;
  min-width: 32px;
}

.column__header .columnInfoArea .iconBox .snsBox .snsicon .item__x img {
  width: 31px;
  height: 31px;
}

.column__header .authorDetail {
  margin-top: 8px;
}

.column__header .column__imgMV {
  margin-bottom: 20px;
}

/* =========================================================
 /event
========================================================= */
.column__footer {
  margin-top: 40px;
}

/* =========================================================
 /column
 /event
========================================================= */
.detail__content {
  margin-bottom: 24px;
}

.detail__content p {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.detail__content .main-h02 {
  font-size: 24px;
  font-weight: bold;
  line-height: 32px;
}

@media screen and (max-width: 767px) {
  .detail__content .main-h02 {
    font-size: 20px;
    line-height: 28px;
  }
}

.detail__content .columnSection {
  margin-top: 20px;
}

.detail__content .list__tag {
  display: flex;
  margin-top: 8px;
  flex-wrap: wrap;
  row-gap: 8px;
  column-gap: 8px;
}

.detail__content .list__tag .item {
  white-space: nowrap;
}

.detail__content .list__tag .item a {
  display: block;
  text-decoration: none;
  color: #333333;
  background-color: #f4f4f4;
  padding: 0 8px;
  border-radius: 2px;
}

/* =========================================================
 /column
========================================================= */
.detail__content .authorArea {
  margin-top: 16px;
  display: flex;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid #dedede;
}

.detail__content .authorArea .imgArea {
  width: 50px;
  margin-right: 8px;
  overflow: hidden;
  border-radius: 10px;
}

.detail__content .authorArea .imgArea a {
  display: block;
}

.detail__content .authorArea .textArea {
  width: calc(100% - 58px);
}

.detail__content .authorArea .textArea .sub-title {
  font-size: 12px;
  color: #666666;
}

.detail__content .authorArea .textArea .title {
  color: #5a5a5a;
}

.detail__content .authorArea .textArea .title a {
  color: #0F58A4;
  text-decoration: none;
}

/* =========================================================
 /column
 /writer
 /event
 /news
========================================================= */
.columnRecommended p {
  color: #333;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.columnRecommended > .inner {
  padding: 0;
}

/* =========================================================
 /column
 /event
========================================================= */
.parts__content .columnSection {
  margin-bottom: 3em;
}

/* =========================================================
 /writer
========================================================= */
.ac_block .row {
  opacity: 1;
  margin-top: 10px;
  -webkit-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
  overflow: hidden;
}

.ac_block .row.is-hidden {
  opacity: 0;
  height: 0;
  margin: 0;
}

/* =========================================================
 /company
========================================================= */
.company_page ._h2title {
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .company_page .img--valtes-logo {
    max-width: 540px;
  }
}

.company_page .al-c {
  text-align: center;
}

.company_page .access_table table {
  border: 1px solid #cccccc;
  margin-bottom: 3em;
  width: 100%;
}

.company_page .access_table table th,
.company_page .access_table table td {
  border: 1px solid #cccccc;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.8;
  padding: .6em .8em;
  text-align: left;
}

.company_page .access_table table th {
  background: #f5f5f5;
  text-align: center;
}

.company_page .contact_block ._h2title {
  margin-bottom: .5em;
}

.company_page .contact_block .text {
  margin-bottom: 1em;
}

/* =========================================================
 /column
 /event
========================================================= */
.dl__area .main-h02 {
  font-size: 1.8rem;
  color: #00294a;
  margin-bottom: 1.9em;
  line-height: 1.4;
}

.dl__area .dl__box .row {
  border: 1px solid #e5e5e5;
  padding: 1em;
  margin-bottom: 1.4em;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: start;
  justify-content: flex-start;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .dl__area .dl__box .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
}

.dl__area .dl__box .row .col-01 {
  width: 190px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .dl__area .dl__box .row .col-01 {
    width: 30.5%;
    padding-right: 1.4em;
  }
}

@media screen and (max-width: 767px) {
  .dl__area .dl__box .row .col-01 {
    width: 100%;
    margin-bottom: 1em;
  }
}

.dl__area .dl__box .row .col-01 img {
  max-height: 130px;
}

.dl__area .dl__box .row .col-02 {
  -webkit-box-flex: 1;
          flex: 1;
}

@media print, screen and (min-width: 768px) {
  .dl__area .dl__box .row .col-02 {
    width: 69.5%;
  }
}

@media screen and (max-width: 767px) {
  .dl__area .dl__box .row .col-02 {
    width: 100%;
  }
}

.dl__area .dl__box .row .col-02 .title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: .6em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

.dl__area .dl__box .row .col-02 .text {
  font-size: 1.4rem;
  line-height: 1.6;
}

/* =========================================================
 /download
========================================================= */
.bookinfo__area .bookinfo__block {
  margin-bottom: 16px;
}

.bookinfo__area .bookinfo__block .main-h02 {
  font-size: 2.4rem;
  color: #00294a;
  line-height: 1.4;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  margin-bottom: 16px;
  text-align: center;
}

.bookinfo__area .bookinfo__block .info__img {
  text-align: center;
  margin-bottom: 16px;
}

.bookinfo__area .bookinfo__block .info__img img {
  width: 100%;
  aspect-ratio: 720 / 410;
  object-fit: cover;
}

.bookinfo__area .bookinfo__block .info__text {
  font-size: 1.2em;
  line-height: 1.6;
}

.bookinfo__area .bookcontent__block {
  background: #f3f3f3;
  padding: 16px;
  display: -webkit-box;
  display: flex;
}

@media screen and (max-width: 767px) {
  .bookinfo__area .bookcontent__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    margin-bottom: 16px;
    display: block;
  }
}

.bookinfo__area .bookcontent__block .col-01 {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .bookinfo__area .bookcontent__block .col-01 {
    width: 50%;
    margin-right: 16px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media print, screen and (max-width: 767px) {
  .bookinfo__area .bookcontent__block .col-01 {
    margin-bottom: 16px;
  }

  .bookinfo__area .bookcontent__block .col-01 img {
    height: 160px;
  }
}

.bookinfo__area .bookcontent__block .col-02 {
  -webkit-box-flex: 1;
  flex: 1;
}

.bookinfo__area .bookcontent__block .col-02 ol,
.bookinfo__area .bookcontent__block .col-02 ul {
  padding-left: 20px;
}

@media print, screen and (max-width: 767px) {
  .bookinfo__area .bookcontent__block .col-02 {
    text-align: center;
  }
}

.bookinfo__area .bookcontent__block .col-02 .content__title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  color: #00294a;
}

.bookinfo__area .bookcontent__block .col-02 .content__title {
  margin-bottom: 16px;
}

.bookinfo__area .bookcontent__block .col-02 .list__item {
  font-size: 1.4rem;
  line-height: 1.6;
}

.bookinfo__area .bookcontent__block .col-02 .list__item li {
  margin-left: 1.1em;
  margin-bottom: .4em;
  text-indent: -1.1em;
  color: #666666;
}

.bookinfo__area .bookcontent__block .col-02 .list__item li:before {
  content: '・';
  letter-spacing: -0.3em;
}

.bookinfo__area .dl__box .row {
  border: 1px solid #e5e5e5;
  padding: 1em;
  margin-bottom: 1.4em;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: start;
          justify-content: flex-start;
  text-decoration: none;
}

.bookinfo__area .dl__box .row .col-01 {
  width: 190px;
  text-align: center;
  margin-right: 1.4em;
}

.bookinfo__area .dl__box .row .col-02 {
  -webkit-box-flex: 1;
          flex: 1;
}

.bookinfo__area .dl__box .row .col-02 .title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: .6em;
}

.bookinfo__area .dl__box .row .col-02 .text {
  font-size: 1.4rem;
  line-height: 1.6;
}

/* =========================================================
 /event
========================================================= */
.columnRecommended.event__listBox {
  margin-top: 0;
}

.event__detail .event__header {
  display: flex;
  flex-direction: column;
  margin-top: 0px;
}

.event__detail .event__header .columnInfoArea {
  display: flex;
  align-items: center;
}

.event__detail .event__header .columnInfoArea .columnInfoBox {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  row-gap: 8px;
}

.event__detail .event__header .columnInfoArea .columnInfoBox .placeName {
  font-size: 12px;
  padding: 1px 8px;
  color: #fff;
  background: #E17000;
  display: inline-block;
  margin-right: 8px;
  border-radius: 3px;
}

.event__detail .event__header .columnInfoArea .columnInfoBox .categoryName {
  font-size: 12px;
  padding: 1px 8px;
  color: #0F58A4;
  border: 1px solid #0F58A4;
  display: inline-block;
  margin-right: 8px;
  border-radius: 3px;
}

.event__detail .event__header .columnInfoArea .updateDate {
  display: flex;
  color: #909090;
}

.event__detail .event__header .columnInfoArea .snsBox {
  display: flex;
  column-gap: 8px;
  margin-left: auto;
  min-width: 112px;
}

.event__detail .event__header .columnInfoArea .snsBox .snsicon img {
  width: 32px;
  height: 32px;
}

/* =========================================================
 /isms
========================================================= */
.isms_page .selection__area .text {
  font-size: 1.4rem;
}

.isms_page .number_list {
  margin-left: 2em;
  margin-bottom: 1.5em;
}

.isms_page .number_list > li {
  margin-bottom: .5em;
}

.isms_page .number_list .list-indent li {
  display: -webkit-box;
  display: flex;
  margin-bottom: .5em;
}

.isms_page .number_list .list-indent li:last-child {
  margin-bottom: 0;
}

.isms_page .number_list .list-indent li span {
  margin-right: .5em;
  white-space: nowrap
}

/* =========================================================
 /news
========================================================= */
.news__listBox {
  margin-top: 0;
}

.news__listBox .inner {
  padding: 0 1em;
}

@media print, screen and (min-width: 768px) {
  .news__listBox .row {
    padding: 1em 1.4em;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .news__listBox .row {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    box-shadow:  0px 0px 21px rgba(50,41,24,0.2);
    -webkit-box-align: center;
            align-items: center;
    padding: 1em;
    margin-bottom: 2em;
  }
}

.news__listBox .row > div {
  width: 100%;
}

.news__listBox .date {
  font-size: 13px;
  color: #333;
  width: 19%;
}

.news__listBox .text {
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* =========================================================
 /privacy
========================================================= */
.privacy_page .headM {
  font-weight: normal;
  font-size: 1.4rem;
}

.privacy_page .text {
  margin-bottom: 2.5em;
}

.privacy_page ._h2title {
  margin-bottom: 1rem;
  line-height: 1.5;
  font-size: 1.8rem;
}

.privacy_page .list-disc {
  list-style: disc;
  margin-left: 2em;
}

.privacy_page .list-disc.last-list {
  margin-bottom: 2.5rem;
}

/* =========================================================
 /isms
 /privacy
========================================================= */
.signature {
  margin-top: 2em;
}

.signature p {
  text-align: right;
}

/* =========================================================
 /mail
 /pass
 /profile
 /download
========================================================= */
.step__area {
  margin-bottom: 32px;
}

.step__area .text,
.input__area .text {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .step__area .text,
  .input__area .text {
    margin-bottom: 1em;
  }
}

/* =========================================================
 /unsubscribe
 /login
 /mail
 /pass
 /pass-reset
 /profile
 /signup
 /download
========================================================= */
.signup__form {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  margin-top: 32px;
}

.signup__form .signup__box,
.inputcheck__block .signup__box {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-box-align: start;
  align-items: flex-start;
  width: 800px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.signup__form .signup__box .sub__text {
  width: 100%;
  margin-top: 4px;
  margin-left: 268px;
  font-size: 12px;
  color: #6f6f6f;
}

@media screen and (max-width: 767px) {
  .signup__form .signup__box {
    flex-direction: column;
    width: 500px;
  }

  .signup__form .signup__box {
    width: 100%;
  }

  .signup__form .signup__box .sub__text {
    margin-left: 0px;
  }
}

@media screen and (min-width: 768px) {
  .signup__form .error_text {
    width: 100%;
    margin-top: 4px;
    margin-left: 268px;
    font-size: 12px;
  }

  .signup__form .error_text.center {
    width: auto;
    margin-top: 4px;
    margin-left: 0px;
    font-size: 12px;
  }

}

.signup__form .signup__box label {
  font-size: 16px;
  width: 260px;
}

.signup__form .signup__box label span {
  font-size: 14px;
  color: #f60000;
}

.signup__form .signup__box .signup__input {
  font-size: 1.6rem;
  line-height: 1.7;
  padding: 0.6em;
  width: 540px;
}

@media screen and (max-width: 767px) {
  .signup__form .signup__box .signup__input {
    width: 100%;
  }
}

.signup__form .signup__box .signup__input.large {
  height: 80px;
}

.signup__form .signup__box input.signup__input::placeholder {
  color: #c5c5c5;
  opacity: 0.5;
}

.signup__form .signup__box input.signup__input.large::placeholder {
  position: absolute;
}

.signup__form .input__box.check__box {
  width: 540px;
}

@media screen and (max-width: 767px) {
  .signup__form .input__box.check__box {
    width: 100%;
  }
}

.signup__form .input__box.check__box label {
  display: inline-block;
}

.signup__form .input__box.check__box .check__box__label input {
  width: auto;
}

.signup__form .input__box.check__box .check__box__label span {
  color: black;
}

/* =========================================================
 /login
 /pass-reset
========================================================= */
.input__form .inner {
  padding: 0 20px;
}

/* =========================================================
 /pass-reset
========================================================= */
@media print, screen and (min-width: 768px) {
  .complete__area {
    min-height: 200px;
    height: auto !important;
    height: 200px;
  }
}

@media screen and (max-width: 767px) {
  .complete__area {
    margin-bottom: 2em;
  }
}

.complete__area .text {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .complete__area .text {
    margin-bottom: 1em;
  }
}

/* =========================================================
 /sitemap
========================================================= */
.sitemap__area a {
  text-decoration: none;
}

/* =========================================================
 /header 共通ヘッダー
========================================================= */
/* ヘッダーベースデザイン */
/* PC用 */
header.header__area {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
}

/* 背景カバーデザイン */
header.header__area .bg {
  position: fixed;
  top: 64px;
  left: 0;
  width: 100%;
  height: calc(100% - 62px);
  visibility: hidden;
  transition: all 0.6s;
  background: #00000080;
  opacity: 0;
}

header.header__area .bg.active {
  visibility: visible;
  opacity: 1;
}

/* メインヘッダーデザイン */
header.header__area .header__box {
  padding: 8px 40px 0px;
  display: flex;
  flex-direction: column;
  height: 108px;
  box-shadow: 0 1px 3px rgb(0 0 0 / 20%);
  z-index: 999;
  width: 100%;
  position: relative;
  background-color: #ffffff;
}

@media screen and (max-width: 767px) {
  header.header__area .header__box {
    flex-direction: row;
    height: 64px;
    padding: 8px 16px 8px 0px;
    align-items: center;
  }
}

header.header__area .header__box__top {
  display: flex;
  flex-direction: row;
  margin-top: 10px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  header.header__area .header__box__top {
    margin-top: 0px;
    align-items: center;
  }
}

header.header__area .header__box__bottom {
  margin-top: -6px;
}

@media screen and (max-width: 767px) {
  header.header__area .header__box__bottom {
    display: none;
  }
}

/* ヘッダーハンバーガーメニューデザイン */
header.header__area .header__box .button {
  display: none;
}

@media screen and (max-width: 767px) {
  header.header__area .header__box .button {
    position: relative;
    display: flex;
    flex-direction: column;
    z-index: 1001;
    height: 64px;
    min-width: 64px;
    padding: 16px 20px;
    cursor: pointer;
    justify-content: space-evenly;
  }

  header.header__area .header__box .button .icon__bar {
    transition: all 0.6s;
    position: relative;
  }

  header.header__area .header__box .button .icon__bar::after {
    width: 100%;
    height: 1px;
    background: #555555;
    transition: all 0.6s;
    content: "";
    position: absolute;
  }

  header.header__area .header__box.active .icon__bar:nth-of-type(1) {
    transform: translate3d(0,8px,0) rotate(45deg);
  }

  header.header__area .header__box.active .icon__bar:nth-of-type(2) {
    opacity: 0;
  }

  header.header__area .header__box.active .icon__bar:nth-of-type(3) {
    transform: translate3d(0,-8px,0) rotate(-45deg);
  }
}

.item .accordion__arrow {
  position: relative;
  display: inline-block;
  width: 14px;
  margin-left: 8px;
  top: 2px;
}

.item.active .accordion__arrow {
  position: relative;
  display: inline-block;
  height: 14px;
  margin-left: 8px;
  top: 4px;
}

.item .accordion__arrow::before,
.item .accordion__arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 2px);
  width: 1.5px;
  height: 6.8px;
  border-radius: 9999px;
  background-color: #555555;
  transform-origin: 50% calc(100%);
}

.item .accordion__arrow::before {
  transform: rotate(45deg);
}

.item .accordion__arrow::after {
  transform: rotate(-45deg);
}

.item.active .accordion__arrow::before,
.item.active .accordion__arrow::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 2px);
  width: 1.5px;
  height: 6.8px;
  border-radius: 9999px;
  background-color: #4695D4;
  transform-origin: 50% 0px;
}

.item.active .accordion__arrow::before {
  transform: rotate(45deg);
}

.item.active .accordion__arrow::after {
  transform: rotate(-45deg);
}

.education.item .accordion__arrow {
  position: relative;
  display: inline-block;
  width: 14px;
  margin-left: 8px;
  top: 2px;
}

.education.item.active .accordion__arrow {
  position: relative;
  display: inline-block;
  height: 14px;
  margin-left: 8px;
  top: 4px;
}

.education.item .accordion__arrow::before,
.education.item .accordion__arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 2px);
  width: 1.5px;
  height: 6.8px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: 50% calc(100%);
}

.education.item .accordion__arrow::before {
  transform: rotate(45deg);
}

.education.item .accordion__arrow::after {
  transform: rotate(-45deg);
}

.education.item.active .accordion__arrow::before,
.education.item.active .accordion__arrow::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 2px);
  width: 1.5px;
  height: 6.8px;
  border-radius: 9999px;
  background-color: #4695D4;
  transform-origin: 50% 0px;
}

.education.item.active .accordion__arrow::before {
  transform: rotate(45deg);
}

.education.item.active .accordion__arrow::after {
  transform: rotate(-45deg);
}

/* ヘッダーロゴデザイン */
header.header__area .header__box .qbooklogo__area a .qbooklogo__logo {
  width: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
}

/* ヘッダーメニューデザイン */
header.header__area .header__box .navcontent__area .navcontent__box {
  color: #555555;
  display: flex;
  z-index: 999;
  justify-content: flex-start;
}

header.header__area .header__box .navcontent__area .navcontent__box li:last-of-type {
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  header.header__area .header__box .navcontent__area .navcontent__box {
    display: none;
  }
}

header.header__area .header__box .navcontent__area .navcontent__box .item {
  white-space: nowrap;
  cursor: pointer;
  margin: 0px;
}

header.header__area .header__box .navcontent__area .navcontent__box .item .menu {
  position: relative;
  display: flex;
  padding: 0px 8px;
  height: 56px;
  text-decoration: none;
  align-items: center;
}

header.header__area .header__box .navcontent__area .navcontent__box .item.education.active .menu {
  padding: 0px 6px;
}

header.header__area .header__box .navcontent__area .navcontent__box .item .menu::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 3px;
  background: #4695D4;
  left: 0;
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: all 0.3s;
}

header.header__area .header__box .navcontent__area .navcontent__box .item.education .menu::after {
  height: 0px;
}

header.header__area .header__box .navcontent__area .navcontent__box .item:hover .menu::after,
header.header__area .header__box .navcontent__area .navcontent__box .item.active .menu::after,
header.header__area .header__box .navcontent__area .navcontent__box .item.active-force .menu::after {
  transform: scale(1, 1);
}

header.header__area .header__box .navcontent__area .navcontent__box .item.education {
  display: flex;
  align-items: center;
  transform: none;
  margin-left: 8px;
}

header.header__area .header__box .navcontent__area .navcontent__box .item.education a::after {
  display: none;
}

header.header__area .header__box .navcontent__area .navcontent__box .item.education {
  color: white;
  background-color: #4695D4;
  height: 30px;
  border-radius: 4px;
  margin-top: 13px;
}

header.header__area .header__box .navcontent__area .navcontent__box .item.education.active {
  color: #4695D4;
  background-color: #ffffff;
  height: 30px;
  border-radius: 4px;
  margin-top: 13px;
  border: 2px solid #4695D4;
}

/* ログインエリアデザイン */
/* PC用 */
header.header__area .header__box .login__area {
  display: flex;
  align-items: center;
  margin-left: auto;
}

header.header__area .header__box .adbox {
  margin: 0px 8px;
  color: #4695D4;
  position: relative;
  display: flex;
  height: 64px;
  text-decoration: none;
  align-items: center;
}

header.header__area .header__box .adbox .adlink {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  color: #0F58A4;
}

header.header__area .header__box .adbox .adlink:hover {
  text-decoration: underline;
}

header.header__area .header__box .login__area .searchAreaFocus .searchbutton {
  margin-left: auto;
  display: block;
  padding: 20px 20px;
  background: url(/assets/img/ico--search.png) no-repeat center/20px;
}

header.header__area .header__box .login__area .link {
  color: #555555;
  text-decoration: none;
  display: flex;
  height: 30px;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  margin: auto 8px;
  border-radius: 5px;
}

header.header__area .header__box .login__area .rightbox .link {
  color: #ffffff;
  border: 1px solid #0F58A4;
  background-color: #0F58A4;
  padding: 0px 16px;
}

/* SP用 */
@media screen and (max-width: 767px) {
  header.header__area .header__box .login__area {
    font-size: 12px;
  }

  header.header__area .header__box .adbox {
    display: none;
  }

  header.header__area .header__box.active .login__area .leftbox,
  header.header__area .header__box.active .login__area .rightbox {
    width: 100%;
  }

  header.header__area .header__box .login__area .rightbox .link {
    margin-right: 0px;
    padding: 0px 8px;
  }
}

/* 設定アイコンデザイン */
header.header__area .header__box .setting__area {
  display: flex;
  padding: 0px 9px;
}

header.header__area .header__box .setting__area #settingbutton {
  width: 32px;
  height: 32px;
}

/* 設定メニュー */
header.header__area .header__box .setting__area .setting__box {
  display: flex;
  flex-direction: column;
  position: absolute;
  background-color: #ffffff;
  border-radius: 5px;
  box-shadow: rgb(0 0 0 / 66%) 0px 0px 4px;
  padding: 4px 16px;
  right: 8px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  top: 46px;
}

header.header__area .header__box .setting__area:hover .setting__box {
  opacity: 1;
  visibility: visible;
}

header.header__area .header__box .setting__area .setting__box .item {
  margin: 4px 0px;
}

@media screen and (max-width: 767px) {
  header.header__area .header__box .setting__area .setting__box .item.info-qumias {
    display: none;
  }
}

header.header__area .header__box .setting__area .setting__box .item:hover {
  color: #4695D4;
}

header.header__area .header__box .setting__area .setting__box .item .menu {
  text-decoration: none;
  font-size: 13px;
  display: flex;
  align-items: center;
}

header.header__area .header__box .setting__area .setting__box .item .menu .blankicon {
  width: 14px;
  height: 17px;
  display: inline-block;
  fill: #333333;
}

/* TOPページお知らせ */
header.header__news {
  top: 64px;
  z-index: 999;
  position: sticky;
  width: 100%;
}

header.header__news .topnews__area {
  background-color: #bee2ff;
  color: #4695D4;
  display: block;
}

header.header__news .topnews__area .topnews__box {
  display: flex;
  justify-content: center;
  padding: 8px 16px;
  margin: auto;
}

header.header__news .topnews__area .topnews__box > span {
  min-width: 110px;
  margin-right: 24px;
  color: #4695D4;
  font-weight: bold;
  position: relative;
  padding-top: 1px;
}

@media screen and (max-width: 767px) {
  header.header__news .topnews__area .topnews__box > span {
    display: none;
  }
}

header.header__news .topnews__area .topnews__box > span::after {
  content: "";
  position: absolute;
  top: 49%;
  width: 24px;
  height: 1px;
  background-color: #4695D4;
  transform: rotate(90deg);
}

header.header__news .topnews__area .topnews__box ul {
  max-width: 600px;
  display: none;
}

@media screen and (max-width: 767px) {
  header.header__news .topnews__area .topnews__box ul {
    max-width: calc(100% - 57px);
  }
}

header.header__news .topnews__area .topnews__box ul.slick-initialized {
  display: block;
}

header.header__news .topnews__area .topnews__box ul span {
  font-weight: normal;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  height: 27px;
}

header.header__news .topnews__area .topnews__box .newslistlink {
  white-space: nowrap;
  font-size: 13px;
  align-items: center;
  display: flex;
  text-decoration: none;
}

header.header__news .topnews__area .topnews__box .newslistlink:hover {
  text-decoration: underline;
}

/* ハンバーガーメニュー */
header.header__area .hamburger__area {
  position: fixed;
  top: 108px;
  width: 100%;
  left: 0;
  height: auto;
  background-color: #ffffff;
  color: #555555;
  z-index: 998;
  white-space: nowrap;
  transform: translateY(-100%);
  transition: all 0.6s;
}

@media (max-width: 767px) {
  header.header__area .hamburger__area {
    display: none;
  }
}

header.header__area .hamburger__area.active {
  transform: translateY(0%);
}

header.header__area .hamburger__area::-webkit-scrollbar {
  display: none;
}

header.header__area .hamburger__area .hamburger__box {
  display: flex;
  flex-direction: column;
  height: auto;
  padding: 32px 190px 56px;
  gap: 24px;
}

header.header__area .hamburger__area .hamburger__top {
  font-size: 32px;
  font-weight: 600;
  color: #0F58A4;
  border-bottom: solid;
  border-bottom-color: #0F58A4;
}

header.header__area .hamburger__area .education .hamburger__top,
header.header__area .hamburger__area .testtool .hamburger__top {
  font-size: 32px;
  font-weight: 600;
  color: #0F58A4;
  border-bottom: solid;
  border-bottom-color: #0F58A4;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header.header__area .hamburger__area .education .more__text,
header.header__area .hamburger__area .testtool .more__text {  
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  margin-right: 10px;
}

.more__arrow:before,
.more__arrow:after {
  position: absolute;
  content: '';
}

.more__arrow:before {
  top: 74px;
  width: 51px;
  height: 2px;
  background: #0F58A4;
  margin-left: -5px;
}

.more__arrow:after {
  top: 67px;
  right: 189px;
  border-top: 9px solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 9px solid #0F58A4;
}

header.header__area .hamburger__area .hamburger__bottom {
  display: flex;
  flex-direction: row;
  gap: 48px;
}

header.header__area .hamburger__area .education .hamburger__bottom {
  justify-content: space-between;
}

header.header__area .hamburger__area .hamburger__box .item.hover.close .menu::after {
  transform: rotate(0deg);
}

header.header__area .hamburger__area .hamburger__box .item.hover .hamcontent__child {
  display: none;
  background-color: #f5f5f5;
}

header.header__area .hamburger__area .hamburger__box .item.hover .hamcontent__child .hamcontent__column .link {
  border-top: 1px solid #c7c7c7;
  display: flex;
  align-items: center;
  height: 50px;
  padding-left: 32px;
  text-decoration: none;
}

header.header__area .hamburger__area .hamburger__box .item .hamcontent__child .hamcontent__column .link .blankicon {
  width: 11px;
  margin-top: 3px;
  margin-left: 4px;
  display: inline-block;
  fill: #555555;
}

header.header__area .hamburger__area .hamburger__iconbox {
  display: flex;
  align-items: center;
  margin: 16px 8px;
}

header.header__area .hamburger__area .hamburger__iconbox .hamburger__snsicon {
  display: flex;
  margin: 0px 8px;
  width: 40px;
}

header.header__area .hamburger__area .hamburger__iconbox .hamburger__snsicon.x {
  width: 36px;
  height: 36px;
}

.hamburger__bottom__box {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 229px;
}

.testtool .hamburger__bottom__box {
  gap: 0px;
}

.hamburger__bottom__box.customSeminars {
  margin-right: 40px;
}

.hamburger__bottom__title {
  font-size: 16px;
  font-weight: 600;
  color: #555555;
}

.hamburger__bottom__title img {
  margin-top: 6px;
  margin-left: 15px;
  height: 15px;
  width: 15px;
  filter: brightness(0) saturate(100%) invert(21%) sepia(96%) saturate(1899%) hue-rotate(198deg) brightness(88%) contrast(88%);
}

.hamburger__bottom__subtitle {
  font-size: 12px;
  font-weight: 400;
  color: #555555;
  margin-bottom: 0px;
}

.education .hamburger__bottom__subtitle {
  margin-bottom: -16px;
}

.hamburger__bottom__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.education .customSeminars .hamburger__bottom__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  gap: 8px 40px;
}

.hamburger__area a {
  text-decoration: none;
}

.hamburger__bottom__arrow {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 18px;
}

.hamburger__bottom__arrow::before,
.hamburger__bottom__arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 1.5px;
  height: 9.5px;
  border-radius: 9999px;
  background-color: #0F58A4;
  transform-origin: calc(100% - 5px) 50%;
}

.hamburger__bottom__arrow::before {
  transform: rotate(45deg);
}

.hamburger__bottom__arrow::after {
  transform: rotate(-45deg);
}

.hamburger__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 400;
  line-height: 180%;
  color: #555555;
}

.hamburger__point {
  position: relative;
  width: 5px;
  height: 5px;
  background-color: #BEE2FF;
  border-radius: 99px;
  aspect-ratio: 1;
}

/* SPハンバーガーメニュー */
header.header__area .sp__hamburger__area {
  display: none;
}

@media (max-width: 767px) {
  header.header__area .sp__hamburger__area {
    display: block;
    position: fixed;
    top: 64px;
    width: 320px;
    left: 0;
    overflow-y: scroll;
    height: 100%;
    background-color: #ffffff;
    color: #555555;
    z-index: 998;
    white-space: nowrap;
    transform: translateX(-100%);
    transition: all 0.6s;
    padding-bottom: 192px;
  }

  header.header__area .sp__hamburger__area.active {
    transform: translateX(0%);
  }

  header.header__area .sp__hamburger__area::-webkit-scrollbar {
    display: none;
  }

  header.header__area .sp__hamburger__area .hamburger__box {
    display: flex;
    flex-direction: column;
    height: auto;
    font-size: 13px;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item {
    border-bottom: 1px solid #c7c7c7;
    margin: 0px;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item .menu {
    text-decoration: none;
    padding: 0px 16px;
    display: flex;
    align-items: center;
    height: 50px;
    position: relative;
    cursor: pointer;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.education .menu {
    text-decoration: none;
    padding: 0px 16px;
    display: flex;
    align-items: center;
    height: 50px;
    position: relative;
    cursor: pointer;
    background-color: #4695D4;
    color: #FFFFFF;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover .menu::before {
    position: absolute;
    content: '';
    width: 15px;
    height: 1px;
    background-color: #555555;
    transition: all .5s ease;
    top: 48%;
    left: auto;
    right: 16px;
    transform: rotate(0deg);
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover .menu::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 1px;
    background-color: #555555;
    transition: all .5s ease;
    top: 48%;
    left: auto;
    right: 16px;
    transform: rotate(90deg);
    transform-origin: unset;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover.education .menu::before {
    position: absolute;
    content: '';
    width: 15px;
    height: 1px;
    background-color: #FFFFFF;
    transition: all .5s ease;
    top: 48%;
    left: auto;
    right: 16px;
    transform: rotate(0deg);
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover.education .menu::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 1px;
    background-color: #FFFFFF;
    transition: all .5s ease;
    top: 48%;
    left: auto;
    right: 16px;
    transform: rotate(90deg);
    transform-origin: unset;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover.close .menu::after {
    transform: rotate(0deg);
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover .hamcontent__child {
    display: none;
    background-color: #f5f5f5;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover .hamcontent__child .hamcontent__column .link {
    border-top: 1px solid #c7c7c7;
    display: flex;
    align-items: center;
    height: 50px;
    padding-left: 32px;
    text-decoration: none;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item.hover.education .hamcontent__child .hamcontent__column .link {
    border-top: 1px solid #c7c7c7;
    display: flex;
    align-items: center;
    height: 50px;
    padding-left: 32px;
    text-decoration: none;
    background-color: #EDF4FA;
  }

  header.header__area .sp__hamburger__area .hamburger__box .item .hamcontent__child .hamcontent__column .link .blankicon {
    width: 11px;
    margin-top: 3px;
    margin-left: 4px;
    display: inline-block;
    fill: #555555;
  }

  header.header__area .sp__hamburger__area .hamburger__iconbox {
    display: flex;
    align-items: center;
    margin: 16px 8px;
  }

  header.header__area .sp__hamburger__area .hamburger__iconbox .hamburger__snsicon {
    display: flex;
    margin: 0px 8px;
    width: 40px;
  }

  header.header__area .sp__hamburger__area .hamburger__iconbox .hamburger__snsicon.x {
    width: 36px;
    height: 36px;
  }
}

/* ヘッダー検索エリアデザイン */
header.header__area .topslide__area {
  position: fixed;
  top: auto;
  width: 100%;
  padding: 24px 16px;
  background-color: #ffffff;
  z-index: 998;
  transform: translateY(-100%);
  transition: all 0.6s;
  visibility: hidden;
}

header.header__area .topslide__area.active {
  transform: translateY(0%);
  visibility: visible;
}

header.header__area .topslide__area .headerSearchForm {
  display: flex;
  flex-direction: column;
}

header.header__area .topslide__area .headerSearchForm .inputArea {
  display: flex;
  justify-content: center;
}

header.header__area .topslide__area .headerSearchForm .inputArea .searchArea {
  display: flex;
  border-radius: 20px;
  overflow: hidden;
  margin: 0px 8px;
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  padding: 0 0 0 16px;
  width: 100%;
  max-width: 500px;
}

header.header__area .topslide__area .headerSearchForm .inputArea .searchArea .input {
  background: none;
  border: none;
  outline: none;
  height: 40px;
  display: block;
  width: calc(100% - 40px);
}

@media (max-width: 767px) {
  header.header__area .topslide__area .headerSearchForm .inputArea .searchArea .input {
    font-size: 16px;
  }
}

header.header__area .topslide__area .headerSearchForm .inputArea .searchArea .searchBtn__submit {
  display: block;
  background: url(/assets/img/ico--search.png) no-repeat center/20px;
  border-radius: 38px;
  width: 38px;
  height: 38px;
  margin: 1px;
}

header.header__area .topslide__area .headerSearchForm .searchOption {
  display: flex;
  justify-content: center;
  margin: 8px;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer {
  display: flex;
  flex-direction: column;
  padding: 0px 8px;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer .optionLabel {
  font-weight: bold;
  border-bottom: 1px dotted #a5a5a5;
  margin-bottom: 8px;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer .searchGenre {
  display: flex;
  flex-wrap: wrap;
}

header.header__area .topslide__area .headerSearchForm input[type=radio],
header.header__area .topslide__area .headerSearchForm input[type=checkbox] {
  display: none;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer span {
  padding: 4px 8px 4px 28px;
  margin: 0px 4px;
  position: relative;
  cursor: pointer;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer span::before {
  content: "";
  width: 18px;
  height: 18px;
  color: #dedede;
  border: 1px solid;
  border-radius: 5px;
  position: absolute;
  left: 4px;
  top: 5px;
  transition: all .2s ease-out;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer input[type=checkbox]:checked + span::before {
  color: #55c500;
  background-color: #55c500;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer span::after {
  content: "";
  width: 6px;
  height: 12px;
  color: #ffffff;
  position: absolute;
  left: 10px;
  top: 6px;
  border-right: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(45deg);
  opacity: 0;
}

header.header__area .topslide__area .headerSearchForm .searchOption .searchContainer input[type=checkbox]:checked + span::after {
  opacity: 1;
}

/* ページ別固有サブナビバー */
.header__navi {
  background: #fff;
  border-bottom: 1px solid #E6E6E6;
  top: 64px;
  z-index: 998;
  position: sticky;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .header__navi > .inner{
    padding: 0;
  }
}

.header__navi .navi__list {
  display: flex;
  justify-content: space-evenly;
}

@media screen and (max-width: 767px) {
  .header__navi .navi__list {
    display: block;
  }
}

.header__navi .navi__list .navilink {
  color: #555555;
  display: block;
  padding: 7px 0;
  text-decoration: none;
}

.header__navi .navi__list .navilink:hover {
  color: #4695D4;
  opacity: .8;
}

@media screen and (max-width: 767px) {
  .header__navi .navi__list {
    overflow-x: auto !important;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */
  }

  .header__navi .navi__list::-webkit-scrollbar {
    display: none;/* Chrome, Safari 対応 */
  }

  .header__navi .navi__list .navilink {
    display: inline-block;
    margin: auto 24px;
  }
}

.header__navi .navi__list .navilink.active {
  color: #0F58A4;
}

.header__navi .gnav__arrow__area {
  display: none;
}

@media screen and (max-width: 767px) {
  .header__navi .gnav__arrow__area {
    display: block;
  }

  .header__navi .gnav__arrow__area .gnav__arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: white;
  }

  .header__navi .gnav__arrow__area .gnav__left__arrow {
    left: calc( max(env(safe-area-inset-left) + -10px, 0px) );
    display: none;
    color: #555555;
    line-height: 40px;
  }

  .header__navi .gnav__arrow__area .gnav__right__arrow {
    right: calc( max(env(safe-area-inset-left) + -10px, 0px) );
    color: #555555;
    line-height: 40px;
  }
}

/* =========================================================
 /footer 共通フッター
========================================================= */
.footer {
  margin-top: 104px;
}

.footer-nomargin .footer {
  margin-top: 0px;
}

/* ボタン領域部分 */
.footer .footerbutton__area {
  display: flex;
  flex-direction: column;
  padding: 32px 0px;
  background: linear-gradient(#00000061, #00000061),url(/assets/img/bookcover.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 80%;
  margin-bottom: 16px;
}

.footer .footerbutton__area .footerbutton__inner {
  max-width: 1060px;
  margin: 48px auto;
}

.footer .footerbutton__area .footerbutton__inner .footer__largebutton {
  height: 40px;
  width: 320px;
  margin: 8px auto;
  color: #ffffff;
  border-radius: 5px;
  letter-spacing: 1.4px;
  box-shadow: 0px 2px 4px #000000;
  text-shadow: 0px 2px 4px #000000;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ffffff;
  position: relative;
}

.footer .footerbutton__area .footerbutton__inner .footer__largebutton::after {
  content: "";
  position: absolute;
  right: 16px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  transform: rotate(45deg);
}

.footer .footerbutton__area .footerbutton__inner .footer__logoarea {
  display: flex;
  justify-content: space-evenly;
  margin-bottom: 16px;
}

.footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__logobox {
  display: flex;
}

.footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__logobox .qbooklogo__logo {
  width: 332px;
}

.footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__logobox .qbooklogo__about {
  width: 400px;
  height: 64px;
  margin: auto auto auto 32px;
}

.footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__logobox .qbooklogo__about img {
  height: 64px;
}

.footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__largebutton {
  width: 232px;
  height: 32px;
  margin: auto 8px;
}

.footer .footerbutton__area .footerbutton__inner .footer__buttonbox {
  display: flex;
  margin: auto;
  margin-bottom: 16px;
}

/* .footer .footerbutton__area .footerbutton__inner .footer__buttonbox .footer__largebutton:first-of-type {
  background-color: #0F58A4;
  border: 1px solid #0F58A4;
} */

.footer .footerbutton__area .footerbutton__inner .footer__text {
  color: #ffffff;
  font-size: 12px;
}

/* 遷移先リスト部分 */
.footer .footer__area {
  padding: 16px 0px;
  color: #555555;
  display: flex;
  justify-content: space-between;
}

.footer .footer__area .footer__box .footer__head {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 8px;
}

.footer .footer__area .footer__box .footer__link {
  text-decoration: none;
}

.footer .footer__area .footer__box .footer__link .new_tab {
  height: 11px;
  width: 11px;
  display: inline-block;
  fill: #555555;
}

.footer .footer__area .footer__box .footer__list {
  font-size: 12px;
}

.footer .footer__area .footer__box .footer__list .footer__child {
  margin-bottom: 8px;
  margin-left: 8px;
  color: #555555;
}

/* 外部アイコン部分 */
.footer .footer__iconbox {
  width: 1060px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0px auto;
}

.footer .footer__iconbox .footer__snsicon {
  display: flex;
  margin: 0px 16px;
  width: 65px;
}

.footer .footer__iconbox .footer__snsicon.x {
  width: 57px;
  height: 57px;
}

.footer .footer__iconbox .footer__snsicon img {
  margin: auto;
}

.footer .footer__iconbox .footer__valtesicon {
  margin: 0px 16px;
}

.footer .footer__iconbox .footer__valtesicon:first-of-type {
  border: 1px solid #4cadf4;
}

.footer .footer__iconbox .footer__valtesicon img {
  margin: auto;
}

/* Copyright部分 */
.footer .footerCopyright__area {
  padding: 16px 0;
  text-align: center;
  color: #212A67;
  background-color: #FFFFFF;
}

.footer .footerCopyright__area .footerCopyright__text {
  font-size: 10px;
}

/* ページトップへのボタン部分 */
.footer .pageTopButton {
  display: flex;
  width: 40px;
  height: 40px;
  position: fixed;
  z-index: 100;
  right: 30px;
  bottom: 30px;
  text-decoration: none;
  color: #ffffff;
  background-color: #373737;
  border-radius: 5px;
  box-shadow: 0px 0px 3px #373737;
  opacity: 0.9;
}

.footer .pageTopButton:hover {
  opacity: 0.8;
}

.footer .pageTopButton::before {
  content: "";
  position: absolute;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  width: 14px;
  height: 14px;
  transform: rotate(315deg);
  top: 6px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .footer .pageTopButton {
    right: 16px;
    bottom: 16px;
  }
}

/* 会員登録ボタン部分 */
.footer .footerSignupButton {
  display: flex;
  position: fixed;
  z-index: 100;
  left: 30px;
  bottom: 30px;
  text-decoration: none;
  color: #ffffff;
  background-color: #0f58a4;
  border-radius: 5px;
  box-shadow: 0px 0px 4px #373737;
  opacity: 0.9;
  z-index: 101;
}

.footer .footerSignupButton.onlysp {
  display: none;
}

.footer .footerSignupButton a {
  text-decoration: none;
}

.footer .footerSignupButton .closeButton {
  position: absolute;
  top: -9px;
  padding: 0px 6px;
  right: -11px;
  border: none;
  background-color: #f8f8f8;
  box-shadow: 0 0 7px rgb(0 0 0 / 40%);
  border-radius: 25px;
  font-size: 19px;
  z-index: 1;
  color: #000000;
  width: 24px;
  height: 24px;
}

.footer .footerSignupButton a:hover,
.footer .footerSignupButton button:hover {
  opacity: 0.8;
}

.footer .footerSignupButton span {
  height: 40px;
  line-height: 40px;
  margin-left: 16px;
}

.footer .footerSignupButton .fa.fa-user-plus {
  margin: auto;
  margin-right: 16px;
  margin-left: 8px;
}

@media screen and (max-width: 767px) {
  .footer .footerSignupButton {
    left: 16px;
    bottom: 16px;
  }

  .footer .footerSignupButton.onlysp {
    display: flex;
  }

  .footer .footerbutton__area {
    padding: 32px 20px;
  }

  .footer .footerbutton__area .footerbutton__inner {
    max-width: 100%;
  }

  .footer .footerbutton__area .footerbutton__inner .footer__buttonbox {
    flex-direction: column;
  }

  .footer .footerbutton__area .footerbutton__inner .footer__buttonbox .footer__largebutton {
    width: 100%;
    max-width: 320px;
  }

  .footer .footerbutton__area .footerbutton__inner .footer__logoarea {
    flex-direction: column;
  }

  .footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__logobox {
    margin: auto;
  }

  .footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__logobox .qbooklogo__logo,
  .footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__logobox .qbooklogo__about {
    width: 100%;
  }

  .footer .footerbutton__area .footerbutton__inner .footer__logoarea .footer__largebutton {
    margin: 16px auto;
  }

  .footer .footerbutton__area .footerbutton__inner .footer__text {
    letter-spacing: 1.68px;
    line-height: 25px;
  }

  .footer .footer__area {
    margin-top: 32px;
    padding: 0px 20px!important;
    flex-direction: column;
  }

  .footer .footer__area .footer__box {
    margin: 8px 0px;
  }

  .footer .footer__area .footer__box .footer__list {
    display: flex;
    flex-wrap: wrap;
  }

  .footer .footer__iconbox {
    width: 90%;
  }

  .footer .footer__iconbox .footer__snsicon,
  .footer .footer__iconbox .footer__valtesicon {
    margin: 0px 8px;
  }
}

/* 資料ダウンロードバナーボタン部分 */
.docHoverBanner {
  display: flex;
  position: fixed;
  z-index: 100;
  right: 30px;
  bottom: 30px;
  text-decoration: none;
  color: #ffffff;
  background-color: #0f58a4;
  opacity: 1;
  z-index: 101;
}

.docHoverBanner .closeButton {
  position: absolute;
  top: -9px;
  padding: 0px 6px;
  right: -11px;
  border: none;
  background-color: #f8f8f8;
  box-shadow: 0 0 7px rgb(0 0 0 / 40%);
  border-radius: 25px;
  font-size: 19px;
  z-index: 1;
  color: #000000;
  width: 24px;
  height: 24px;
}

.docHoverBanner a {
  text-decoration: none;
}

.docHoverBanner .relationdocarea {
  width: 288px;
  text-align: center;
}

.docHoverBanner img {
  width: 288px;
  height: 164px;
}

.docHoverBanner .docbannerbg {
  background-image: url(/column/assets/img/docbannerbg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.docHoverBanner .docbannerbg .title {
  padding: 8px 16px 0px;
  font-weight: bold;
  font-size: 15px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-align: left;
}

.docHoverBanner .docbannerbg img {
  border-radius: 0px;
  width: 240px;
  height: auto;
}

@media screen and (max-width: 767px) {
  .docHoverBanner {
    display: none;
  }
}

/* =========================================================
 /side 共通サイドメニュー
========================================================= */
/* 共通 */
.sideArea {
  margin-left: 40px;
  width: 300px;
  display: flex;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .sideArea {
    margin: 0px;
    width: 100%;
  }
}

.sideArea--sticky {
  position: sticky;
  bottom: 0;
}

.sideArea .contentArea {
  margin-top: 16px;
}

.sideArea .contentArea .titleArea {
  display: flex;
  color: #0F58A4;
  line-height: 40px;
  border-bottom: inset 1px #0F58A4;
}

.sideArea .contentArea .titleArea .title {
  font-size: 18px;
}

.sideArea .contentArea .titleArea .link {
  margin-left: auto;
  font-size: 14px;
  text-decoration: none;
}

.sideArea .contentArea .contentBox {
  margin-top: 16px;
  box-shadow: 0px 0px 10px 1px #7a7a7a38;
  border-radius: 5px;
  overflow: hidden;
}

.sideArea .contentArea .contentBox .contentElm {
  text-decoration: none;
  display: flex;
  position: relative;
}

.sideArea .contentArea .contentBox .contentElm:hover {
  opacity: .8;
}

.sideArea .contentArea .contentBox .contentElm:not(:last-child) {
  border-bottom: 1px solid #eee;
}

.sideArea .contentArea .contentBox .contentElm .imgArea {
  margin: 8px;
  display: flex;
  align-items: center;
  box-shadow: 0px 0px 10px 1px #a0a0a038;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}

.sideArea .contentArea .contentBox .contentElm .textArea .title {
  font-size: 14px;
  color: #282828;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.sideArea .contentArea .contentBox .contentElm .info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin: 0px 8px 8px;
  justify-content: end;
}

.sideArea .contentArea .contentBox .contentElm .info .category {
  font-size: 9px;
  padding: 0px 8px;
  color: #0F58A4;
  border: 1px solid #0F58A4;
  border-radius: 3px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.sideArea .contentArea .contentBox .contentElm .info .date {
  font-size: 12px;
  line-height: 12px;
}

/* 資料ダウンロード */
.sideArea .contentArea.download .contentBox .contentElm .imgArea {
  width: 40%;
}

.sideArea .contentArea.download .contentBox .contentElm .imgArea img {
  width: 100%;
}

.sideArea .contentArea.download .contentBox .contentElm .textArea {
  width: 60%;
  margin: auto 8px auto 0px;
}

/* イベント */
.sideArea .contentArea.event .contentBox .contentElm {
  flex-direction: column;
}

.sideArea .contentArea.event .contentBox .contentElm .textArea {
  display: flex;
  margin: 0px 8px 8px;
  gap: 8px;
  align-items: flex-start;
  flex-direction: column;
}

.sideArea .contentArea.event .contentBox .contentElm .textArea .date {
  font-weight: bold;
  color: #0f58a4;
  line-height: 18px;
  white-space: nowrap;
}

/* 新着記事 */
.sideArea .contentArea.column .contentBox .contentElm {
  flex-direction: column;
}

.sideArea .contentArea.column .contentBox .contentElm .textArea {
  margin: 0px 8px 8px;
}

/* =========================================================
 /accessblocked
 /
 /book
 /column
 /writer
 /download
 /e-learning
 /event
 /qbooknews
 /signup
 /header
========================================================= */
/* body用スタイル */
.mainArea .mainArea__inner .main__cont {
  margin-bottom: 32px;
}

/* =========================================================
 /info-qumias
========================================================= */
/*画像イメージの配列*/
.qumias__img {
	text-align: center;
}

#qumias__img__check {
  margin-top: -5px;
  margin-right: 5px;
}

#qumias__img__sheet {
  max-height: 55px;
}

.qumias__img-capture img{
  max-height: 450px;
}

@media print, screen and (min-width: 768px){
  .qumias__img-help img{
    max-width: 500px;
  }
}

/*コンテンツ：ヘッダー*/
.qumias__header {
	padding-top: 60px;
	padding-bottom: 60px;
	background-color:#1462a0;
	color:#FFF;
}

.qumias__header h2 {
	font-size: x-large;
	text-align: center;
}

.qumias__log img {
	margin-top: 30px;
	margin-bottom: 30px;
	max-height: 100px;
}

@media screen and (max-width: 767px) {
  .qumias__log img{
    max-height: 80px;
  }
}

/*コンテンツ：バナー*/
.qumias__banner:hover img {
	opacity: 0.7;
}

.qumias__banner p {
  text-align: center;
}

@media print, screen and (min-width: 768px){
  .qumias__banner p {
    display: none !important;
  }
}

/*コンテンツ*/
.qumias__con {
	margin-top: 60px;
}

.qumias__title {
	font-size: x-large;
	padding: 0.25em 0.5em;
	border-left: solid 5px #1462a0;
}

.qumias__subTitle {
	padding: 10px;
	background: #f5f5f5;
	font-size: x-large;
	text-align: center;
}

.qumias__title__ {
  font-size: x-large;
}

.qumias__subTitle__ {
  font-size: x-large;
  border-bottom: solid 1px;
}

.qumias__subTitle__sub {
  font-size: large;
}

.qumias__var {
	padding-top: 30px;
}

.qumias__var__flex__ {
  display: flex;
  justify-content: space-between;
}

@media print, screen and (max-width: 767px){
  .qumias__var__flex {
    display: inline;
  }
}

@media print, screen and (min-width: 768px){
  .qumias__var__flex {
    display: flex;
    justify-content: space-between;
  }
}

/* クイックガイド */
.quick-create {
  background-color:#CFEAFF;
  padding-top: 60px;
  padding-bottom: 60px;
}

.quick-add {
  background-color:#A7D8FF;
  padding-top: 60px;
  padding-bottom: 60px;
}

@media print, screen and (max-width: 767px){
  #quick-pc h2 {
    display: none !important;
  }

  #quick-pc img {
    display: none !important;
  }
}

@media print, screen and (min-width: 768px){
  #quick-sp h2 {
    display: none !important;
  }
}

/* テーブル */
.qumias__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 5px;
}

.qumias__table th {
  text-align: center;
  vertical-align: middle;
  padding: 4px;
  width: calc(100% / 5);
  font-size: 14px;
  background-color: #186aab;
  color: #ffffff;
  font-weight: bold;
}

.qumias__table td {
  text-align: center;
  vertical-align: middle;
  padding: 4px;
  width: calc(100% / 5);
  font-size: 14px;
  border: 1px #707070 solid;
}

.qumias__table__device {
  width: calc(100%);
}

/* 「Qumias」共同研究者による対談 */
.borderLinkBox:hover {
	opacity: 0.7;
}

.borderLinkBox {
  border-top: solid 1px #1462a0;
  border-bottom: solid 1px #1462a0;
  padding-top: 30px;
  padding-bottom: 30px;
}

.borderLinkBox a {
  text-decoration: none;
}

.borderLinkBox img{
  max-width: initial;
  height: 100px;
  width: auto;
}

.borderLinkBox dt {
  font-size: 24px;
  text-decoration: underline;
}

/* テキスト */
#qumias__link, #qumias__point {
  color: #008EFF;
  font-weight: bold;
}

#qumias__bold {
  font-weight: bold;
}

#qumias__red {
  color: #c00;
}

/* =========================================================
 /
========================================================= */


/* SP表示 */
@media screen and (max-width: 767px) {
  .qbookTopSliderArea {
    padding-bottom: 152px;
  }
}

/* =========================================================
 Google広告
 /
 /column
 /qbooknews
 /side side-forserach
========================================================= */
/* Google Ads*/
ins.adsbygoogle {
  margin-top: 2em;
  margin-bottom: 2em;
  background: transparent !important;
}

/* Google Ads*/
#newsList ins.adsbygoogle {
  margin: 0;
}

/* =========================================================
 会員限定記事
 /column
========================================================= */
/* 会員限定記事デザイン */
.detail__content .column__area {
  position: relative;
  margin-bottom: 16px;
}

.signup-offer {
  position: relative;
  margin-top: -120px;
  padding-top: 120px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 20%, white 50%, white 100%);
}

.signup-offer .login-btn-area .inner {
  width: auto;
  margin: 10px auto 50px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.signup-offer .login-btn-area .inner a:nth-child(1) {
  background-color: #1462a0;
  color: #ffffff;
}

.signup-offer .login-btn-area .inner a:nth-child(2) {
  background-color: #EAEAEA;
  color: #1462a0;
}

.signup-offer .login-btn-area .inner a {
  display: block;
  padding: 10px 30px;
  width: 420px;
  margin: 10px;
  border-radius: 5px;
  text-decoration: none;
  box-shadow: 0px 2px 4px #000000;
}

.signup-offer .login-btn-area .inner .btnTitle {
  font-size: 17px;
  font-weight: 520;
}

/* =========================================================
 /quimias
========================================================= */
/* Qumiasお知らせ文 */
.qumias__info {
  background: #dbdbdb;
  text-align: center;
}

/* =========================================================
 /column
========================================================= */
/* 記事アイテム連載ナンバー */
.row .col-06 .series-number {
  font-size: 11px;
  padding: 2px 8px;
  color: #0F58A4;
  outline: 1px solid #0F58A4;
  line-height: 1.5;
  display: inline-block;
  margin-left: 8px;
  border-radius: 6px;
}

.row .col-06 .column-title {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.row .col-06 .ribbon_box .column-img {
  width: 100%;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .row .col-06 .ribbon_box .column-img {
    max-height: 133px;
  }
}

@media screen and (max-width: 767px) {
  .row .col-06 .ribbon_box .column-img {
    max-height: 56vw;
  }
}

/* トレンド情報連載記事情報 */
.series-link {
  text-decoration: none;
  margin-top: 16px;
  display: block;
}

.series-link .series-number-title {
  font-size: 16px;
  color: #0F58A4;
  line-height: 20px;
}

.series-link .series-number-title .series-number {
  padding-right: 8px;
}

/* =========================================================
 全体デザイン
========================================================= */
/* 見出し部分新デザイン */
.new_banner_title {
  margin-bottom: 32px;
}

.new_banner_title .pageTitle {
  position: relative;
  padding: 1.5px;
  text-align: center;
  font-size: 28px;
  margin-bottom: 24px;
}

.new_banner_title .pageTitle:before {
  position: absolute;
  bottom: -8px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #1462a0;
}

.new_banner_title .pageTitle__text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.new_banner_title .series__text {
  margin-bottom: 24px;
  text-align: center;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

@media screen and (max-width: 767px) {
  .new_banner_title .pageTitle {
    font-size: 20px;
  }

  .new_banner_title .pageTitle:before {
    height: 3px;
  }
}

/* =========================================================
 /column
========================================================= */
/* 記事アイテム連載記事ナンバー */
.col-06 .series-number {
  font-size: 11px;
  padding: 2px 8px;
  color: #0F58A4;
  outline: 1px solid #0F58A4;
  line-height: 1.5;
  display: inline-block;
  margin-left: 8px;
}

/* =========================================================
 /qbooknews
========================================================= */
/* ローディングアニメーション使用の為初回非表示 */
#newsList {
  opacity: 0;
  visibility: hidden;
  transition: all .7s;
}

#newsList.scrollin {
  display: flex;
  flex-wrap: wrap;
  opacity: 1;
  visibility: visible;
}

@media screen and (min-width: 768px) {
  #newsList.scrollin {
    width: 1060px;
  }
}

#newsList .newsArea {
  display: flex;
  width: 100%;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: solid 1px #dedede;
}

#newsList .newsArea:last-of-type {
  border: none;
}

#newsList .newsArea .textArea {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 8px;
}

#newsList .newsArea .textArea .newsTitle {
  font-size: 18px;
  color: #17538A;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#newsList .newsArea .textArea .newsDesc {
  font-size: 13px;
  color: #707070;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  padding-top: 8px;
}

#newsList .newsArea .textArea .newsMeta {
  display: flex;
  font-size: 11px;
  margin-top: auto;
  padding-top: 8px;
  color: #707070;
}

#newsList .newsArea .textArea .newsMeta .providerImg {
  width: 16px;
  height: 16px;
  margin: auto 8px auto 0;
}

#newsList .newsArea .imgArea {
  width: 331px;
  height: 174px;
  margin-right: 8px;
  margin-left: auto;
}

#newsList .newsArea .imgArea .newsThumbnail {
  min-width: 331px;
  height: 174px;
  object-fit: cover;
}

/* バナー広告 */
#newsList .newsPageBanner {
  width: 100%;
  text-align: center;
  padding-bottom: 16px;
}

#newsList .textArea .newsTitle,
#newsList .imgArea {
  text-decoration: none;
}

#newsList .textArea .newsTitle:hover,
#newsList .textArea .newsDesc:hover,
#newsList .imgArea:hover {
  text-decoration: underline;
  border-color: white;
}

/* PC版TOPタイル部分 */
@media print, screen and (min-width: 768px) {
  #newsList .newsArea {
    border: none;
    width: 331px;
    height: 331px;
    border-radius: 10px;
    background: white;
    margin: 11px;
    padding: 0px;
  }

  #newsList .newsArea::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    width: 331px;
    height: 331px;
    background: linear-gradient(180deg, white, #858585);
    filter: blur(5px);
    transform: translateY(0px) scale(1);
  }

  #newsList .newsArea .textArea {
    z-index: 2;
    text-shadow: 0 3px 6px black;
    background: none;
    padding: 8px;
  }

  #newsList .newsArea .textArea::after {
    content: "";
    display: block;
    width: 331px;
    height: 331px;
    position: absolute;
    margin-left: -8px;
    margin-top: -8px;
    background: linear-gradient(360deg, black, #ffffff00, #ffffff00);
  }

  #newsList .newsArea .textArea .newsTitle {
    width: 100%;
    margin-top: auto;
    -webkit-line-clamp: 2;
    color: white;
    z-index: 3;
  }

  #newsList .newsArea .textArea .newsDesc {
    display: none;
  }

  #newsList .newsArea .textArea .newsMeta {
    margin: 0;
    color: white;
    z-index: 3;
  }

  #newsList .newsArea .imgArea {
    height: 331px;
    position: absolute;
    z-index: 1;
    margin: 0px;
  }

  #newsList .newsArea .imgArea .newsThumbnail {
    height: 331px;
    object-fit: cover;
  }

  #newsList .newsArea .linkTile {
    z-index: 3;
    width: 331px;
    height: 331px;
    position: absolute;
  }

  #newsList .newsArea .linkTile:hover {
    background: white;
    opacity: .2;
  }

  #newsList .newsArea:hover {
    text-decoration: underline;
  }

  #newsList .newsArea:first-of-type,
  #newsList .newsArea:first-of-type::after,
  #newsList .newsArea:first-of-type .textArea,
  #newsList .newsArea:first-of-type .textArea::after,
  #newsList .newsArea:first-of-type .imgArea,
  #newsList .newsArea:first-of-type .imgArea .newsThumbnail,
  #newsList .newsArea:first-of-type .linkTile,
  #newsList .newsArea.afterAdsDisp,
  #newsList .newsArea.afterAdsDisp::after,
  #newsList .newsArea.afterAdsDisp .textArea,
  #newsList .newsArea.afterAdsDisp .textArea::after,
  #newsList .newsArea.afterAdsDisp .imgArea,
  #newsList .newsArea.afterAdsDisp .imgArea .newsThumbnail,
  #newsList .newsArea.afterAdsDisp .linkTile,
  #newsList .newsArea.beforeAds,
  #newsList .newsArea.beforeAds::after,
  #newsList .newsArea.beforeAds .textArea,
  #newsList .newsArea.beforeAds .textArea::after,
  #newsList .newsArea.beforeAds .imgArea,
  #newsList .newsArea.beforeAds .imgArea .newsThumbnail,
  #newsList .newsArea.beforeAds .linkTile {
    width: 684px;
  }

  #newsList .newsArea.-noimage .textArea::after {
    background: linear-gradient(360deg, black, #767676, #ffffff00);
  }

  #newsList .newsArea.-noimage .textArea .newsDesc {
    display: block;
    color: white;
    z-index: 3;
  }
}

@media screen and (max-width: 767px) {
  #newsList .newsArea .textArea .newsTitle {
    -webkit-line-clamp: 2;
    font-size: 16px;
    width: 70%;
    height: 60px;
    padding-right: 24px;
  }

  #newsList .newsArea.-noimage .textArea .newsTitle {
    width: 100%;
  }

  #newsList .newsArea .textArea .newsDesc {
    -webkit-line-clamp: 2;
    font-size: 13px;
  }

  #newsList .newsArea .imgArea {
    width: 30%;
    height: 60px;
    position: absolute;
    right: 20px;
  }

  #newsList .newsArea .imgArea .newsThumbnail {
    min-width: 100%;
    height: 100%;
  }

  #newsList .newsArea.-noimage .imgArea {
    display: none;
  }
}

/* ローディングアニメーション */
.loading__bg {
  width: 100%;
  height: 100%;
  z-index: 99;
  background-color: white;
  position: absolute;
  left: 0;
}

.spinner {
  margin: 100px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  background-color: #333;
  height: 100%;
  width: 6px;
  display: inline-block;

  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}

#newsList ins.adsbygoogle {
  width: 100%;
}

#newsList ins.adsbygoogle[data-ad-status="unfilled"] {
  display: none !important;
}

@media screen and (max-width: 767px) {
  #newsList ins.adsbygoogle {
	  min-height: 140px;
  }

  #newsList ins.adsbygoogle[data-ad-status="filled"] + script + div {
    padding-top: 16px !important;
    margin-top: 16px !important;
    border-top: solid 1px #dedede;
  }
}

/* =========================================================
 /download
 /mail
 /signup
========================================================= */
.resend__button__area {
  text-align: center;
  margin-top: 8px;
  margin-bottom: 32px;
}

.resend__button {
  background: #ffffff;
  color: #002eff;
  font-size: 14px;
  text-decoration: underline;
  border: none;
}

/* =========================================================
 /unsubscribe
 /login
 /mail
 /pass
 /pass-reset
 /profile
 /signup
 /download
========================================================= */
/* 登録フォーム */
.signup__area .signup__form input[type="text"],
.signup__area .signup__form input[type="password"],
.signup__area .signup__form textarea,
.downloadform__area .userinput__block input[type="text"],
.downloadform__area .questionnaire__block textarea,
.downloadform__area .userinput__block select,
.download__check .inputcheck__block .signup__box .signup__input {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}

.signup__area .signup__form .signup__box .signup__input__password::placeholder,
.signup__area .signup__form .signup__box .signup__input.textarea::placeholder {
  color: #e4e4e4;
}

.signup__area .signup__form .signup__box .signup__input,
.signup__area .signup__form .signup__box .signup__password__area,
.download__check .inputcheck__block .signup__box .signup__input {
  border: 1px solid #c3c3c3;
  border-radius: 5px;
  background: #ffffff;
  font-size: 14px;
  height: 40px;
  padding: 8px;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .signup__area .signup__form .signup__box .signup__input,
  .signup__area .signup__form .signup__box .signup__password__area,
  .download__check .inputcheck__block .signup__box .signup__input {
    max-width: 540px;
  }
}

.signup__area .signup__form .signup__box .signup__input:focus,
.signup__area .signup__form .signup__box .signup__password__area:focus-within,
.download__check .inputcheck__block .signup__box .signup__input:focus {
  border-color: #87ceeb00;
  outline: none;
  box-shadow: 0px 0px 4px #008aff;
}

.signup__area .signup__form .signup__box .signup__password__area {
  display: flex;
}

.signup__area .signup__form .signup__box .signup__password__area span {
  width: 24px;
  margin: auto;
}

.signup__area .signup__form .signup__box .signup__password__area .signup__input__password {
  border: none;
  width: 100%;
  padding: 0px;
}

.signup__area .signup__form .signup__box .signup__input.textarea {
  min-height: 90px;
  max-height: 300px;
  max-width: 540px;
  min-width: 540px;
}

.signup__area .signup__form .signup__box .name__area {
  display: flex;
  flex-wrap: nowrap;
  width: 540px;
}

.signup__area .signup__form .signup__box .name__area span,
.signup__area .signup__form .signup__box .name__area .name__label {
  line-height: 40px;
  text-align: center;
  margin: 0 4px;
}

@media screen and (max-width: 767px) {
  .signup__area .signup__form .signup__box .signup__input,
  .signup__area .signup__form .signup__box .signup__password__area,
  .signup__area .signup__form .signup__box .signup__input__password,
  .signup__area .signup__form .signup__box .name__area,
  .download__check .inputcheck__block .signup__box .signup__input {
    width: 100%;
    font-size: 16px;
    height: 40px;
  }

  .signup__area .signup__form .signup__box .signup__password__area {
    height: auto;
    padding: 0px 8px;
  }

  .signup__area .signup__form .signup__box .signup__input.textarea {
    min-height: 90px;
    max-height: 300px;
    max-width: 100%;
    min-width: 100%;
  }
}

.signup__area .signup__form .consent__box {
  text-align: center;
  margin-top: 16px;
}

.signup__area .signup__form .signup__button__area {
  display: flex;
  margin: 32px auto;
  justify-content: center;
  text-align: center;
  flex-direction: column;
}

.signup__area .signup__form .signup__button__area .signup__button,
.signup__area .signup__form .signup__button__area .return__button {
  border-radius: 50px;
  border: none;
  background: #1396e8;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  text-decoration: none;
  min-width: 160px;
  padding: 8px 40px;
  margin: 0 8px;
}

.signup__area .signup__form .signup__button__area .return__button {
  background: #dbdbdb;
  color: #000;
  min-width: 160px;
  margin-top: 32px;
}

/* 認証コード入力ページ */
.signup__area .resend__code {
  margin-top: 32px;
  padding: 16px;
  background: #ededed;
}

.signup__area .resend__code .title {
  font-weight: 600;
}

.signup__area .resend__button:disabled,
.download__check .inputcheck__block .resend__button__area .resend__button:disabled {
  color: #cccccc;
}

/* =========================================================
 /download
========================================================= */
/* 資料詳細ページベースレイアウト */
.background__area {
  width: 100%;
  background: #DFF0FC;
  padding-top: 32px;
  margin-bottom: 32px;
}

.download__top {
  width: 100%;
}

.download__top .background__area {
  width: 100%;
}

.download__top .download__tub {
  margin-bottom: 32px;
}

.download__top .download__tub ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0px 1px;
  line-height: 20px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 2px;
  justify-content: space-around;
  background-color: #d3d3d3;
}

.download__top .download__tub ul li {
  color: #707070;
  flex-grow: 1;
  padding: 4px 16px;
  background-color: #FFFFFF;
}

.download__top .download__tub ul li a {
  text-decoration: none;
  white-space: nowrap;
}

/* =========================================================
 /book
 /download
========================================================= */
.download__top .download__area,
.background__area .banner__area {
  display: flex;
  flex-wrap: wrap;
}

/* =========================================================
 /download
========================================================= */
.background__area .banner__area {
  width: 1060px;
  margin: auto;
  padding-bottom: 48px;
}

.background__area .banner__area .img__area {
  width: 40%;
  text-align: center;
  padding: 16px;
}

.background__area .banner__area .text__area {
  width: 60%;
  display: flex;
  flex-direction: column;
}

.background__area .banner__area .text__area .tag {
  padding: 5px 10px;
  font-weight: bold;
  background-color: #156195;
  color: #fff;
  margin-right: auto;
}

.background__area .banner__area .text__area .title {
  font-weight: bold;
  font-size: 21px;
  color: #1462A0;
  margin: 16px 0px;
}

.background__area .banner__area .text__area .about {
  width: 100%;
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .background__area .banner__area {
    width: 100%;
    padding: 0px 20px 40px;
  }

  .background__area .banner__area .img__area {
    width: 100%;
  }

  .background__area .banner__area .text__area {
    width: 100%;
    padding: 16px;
  }
}

.download__top .download__area .label,
.background__area .banner__area .label {
  width: 100%;
  font-size: 24px;
  font-weight: bold;
  color: #000000;
  padding: 4px 16px;
  border-left: solid 5px #1462a0;
  margin-bottom: 16px;
}

.download__top .download__area .download__tile {
  width: 332px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  border-radius: 10px;
  padding: 8px;
  margin-bottom: 16px;
}

.download__top .download__area .download__tile:nth-of-type(3n-1) {
  margin-right: 32px;
  margin-left: 32px;
}

@media screen and (max-width: 767px) {
  .download__top .download__area .download__tile {
    width: 100%;
    margin: 0px 0px 32px!important;
  }
}

.download__top .download__area .download__tile:hover {
  content: "";
  z-index: 1;
  background-color: #e9e9e9;
  transition: all 0.3s;
}

.download__top .download__area .download__tile .img__area {
  padding: 8px;
  text-align: center;
}

.download__top .download__area .download__tile .img__area .img {
  object-fit: contain;
}

.download__top .download__area .download__tile .text__area {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px;
}

.download__top .download__area .download__tile .text__area .title {
  font-weight: bold;
  font-size: 16px;
  color: #1462A0;
  text-align: center;
}

.download__top .download__area .download__tile .text__area .about {
  font-size: 13px;
  color: #626262;
  margin: 16px 0px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.download__detail {
  display: flex;
}

@media screen and (max-width: 767px) {
  .download__detail {
    display: block;
  }
}

.download__detail .bookinfo__area {
  width: 60%;
}

.download__detail .downloadform__area {
  width: 40%;
  padding-left: 32px;
}

.download__detail .downloadform__area .signup-offer {
  margin: 0px;
  padding: 0px;
}

@media screen and (max-width: 767px) {
  .download__detail .bookinfo__area,
  .download__detail .downloadform__area {
    width: 100%;
    padding: 0px;
  }
}

/* アンケート部分連番表示 */
.downloadform__area .questionnaire__block .contact-form {
  counter-reset: list;
}

.downloadform__area .questionnaire__block .contact-form .questionnaire__area .field__name::before {
  counter-increment: list;
  content: counter(list)".";
}

/* 資料ダウンロードメインメッセージ */
.downloadform__area .download__main__label {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 16px;
}

/* 資料ダウンロードサブメッセージ */
.downloadform__area .download__sub__label {
  border-bottom: 4px solid #1396e8;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 16px;
}

/* 資料ダウンロードフォーム単体 */
.downloadform__area .userinput__block .input__area,
.downloadform__area .questionnaire__block .questionnaire__area {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.downloadform__area .questionnaire__block .questionnaire__area:last-of-type {
  margin-bottom: 0px;
}

.downloadform__area .userinput__block .input__area .field__name,
.downloadform__area .questionnaire__block .questionnaire__area .field__name {
  font-size: 14px;
  width: 100%;
  font-weight: 600;
}

.downloadform__area .userinput__block .input__area .name__area,
.downloadform__area .userinput__block .input__area .phone__area,
.downloadform__area .userinput__block .input__area .zipcode__area {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}

.downloadform__area .userinput__block .input__area .name__area .name__label,
.downloadform__area .userinput__block .input__area .phone__area .phone__label,
.downloadform__area .userinput__block .input__area .zipcode__area span {
  line-height: 40px;
  text-align: center;
  margin: 0 4px;
}

.downloadform__area .userinput__block .input__area .sub__text {
  font-size: 12px;
  padding: 4px 0 0 8px;
  color: #676767;
}

.downloadform__area .userinput__block .input__area .must__input,
.downloadform__area .questionnaire__block .questionnaire__area .must__input {
  color: #ff0000;
}

.downloadform__area .userinput__block .input__area .error__text,
.downloadform__area .questionnaire__block .questionnaire__area .error__text {
  font-size: 12px;
  padding: 4px 0 0 8px;
  color: #c00;
  width: 100%;
}

/* 資料ダウンロードinput_textarea */
.downloadform__area .userinput__block .input__area .select__icon {
  width: 100%;
  position: relative;
}

.downloadform__area .userinput__block .input__area .select__icon::before {
  border-top: 2.5px solid #000000;
  content: "";
  position: absolute;
  right: 19px;
  top: 11px;
  width: 7px;
  transform: translate3d(0,8px,0) rotate(45deg);
}

.downloadform__area .userinput__block .input__area .select__icon::after {
  border-top: 2.5px solid #000000;
  content: "";
  position: absolute;
  right: 14px;
  top: 11px;
  width: 8px;
  transform: translate3d(0,8px,0) rotate(135deg);
}

.downloadform__area .userinput__block .input__area .input__box,
.downloadform__area .questionnaire__block .questionnaire__area .questionnaire__input.textarea {
  border: 1px solid #c3c3c3;
  border-radius: 5px;
  background: #ffffff;
  font-size: 14px;
  height: 40px;
  padding: 0px 8px;
  width: 100%;
  color: #000000;
}

.downloadform__area .questionnaire__block .questionnaire__area .questionnaire__input.textarea {
  min-height: 40px;
  max-height: 300px;
  max-width: 392px;
  min-width: 392px;
  padding: 8px;
}

.downloadform__area .userinput__block .input__area .input__box:focus,
.downloadform__area .questionnaire__block .questionnaire__area .questionnaire__input.textarea:focus {
  border-color: #87ceeb00;
  outline: none;
  box-shadow: 0px 0px 4px #008aff;
}

/* 資料ダウンロード新規登録アンケートフォーム */
.downloadform__area .userinput__block.signupform .input__area .signup__questionnaire__area .check__box__label {
  display: flex;
}

.downloadform__area .userinput__block.signupform .input__area .signup__questionnaire__area .signup__input.textarea {
  min-height: 40px;
  max-height: 300px;
  max-width: 392px;
  min-width: 392px;
  border: 1px solid #c3c3c3;
  border-radius: 5px;
  background: #ffffff;
  font-size: 14px;
  height: 40px;
  padding: 8px;
  width: 100%;
  color: #000000;
  appearance: none;
  outline: none;
}

.downloadform__area .userinput__block.signupform .input__area .signup__questionnaire__area .signup__input.textarea:focus {
  border-color: #87ceeb00;
  outline: none;
  box-shadow: 0px 0px 4px #008aff;
}

@media screen and (max-width: 767px) {
  .downloadform__area .userinput__block.signupform .input__area .signup__questionnaire__area {
    width: 100%;
  }

  .downloadform__area .userinput__block.signupform .input__area .signup__questionnaire__area .signup__input.textarea {
    min-height: 40px;
    max-height: 300px;
    max-width: 100%;
    min-width: 100%;
  }
}

/* 資料ダウンロードreCAPTCHA */
.downloadform__area .g-recaptcha {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-box-align: center;
}

/* 資料ダウンロードアンケートフォーム */
.downloadform__area .questionnaire__block .questionnaire__area .radio__label {
  display: flex;
}

.downloadform__area .questionnaire__block .questionnaire__area .form__area {
  width: 100%;
}

.downloadform__area .questionnaire__block .contact-form-submit {
  display: none;
}

/* 資料ダウンロードページボタン */
.downloadform__area .consent__box {
  text-align: center;
  margin-top: 16px;
}

.downloadform__area .consent__box label {
  display: flex;
  justify-content: center;
}

.downloadform__area .consent__box a {
  width: 100%;
  color: #1396e8;
  font-size: 13px;
}

.downloadform__area input[type="radio"],
.downloadform__area input[type="checkbox"] {
  margin: 6px 4px;
}

/* 資料ダウンロードページボタン */
.downloadform__area .download__button__area,
.download__check .download__button__area {
  display: flex;
  margin: 32px auto;
  justify-content: center;
}

/* 資料ダウンロード入力確認画面 */
.download__check {
  width: 100%;
}

.download__check .inputcheck__block .download__main__label {
  margin-bottom: 16px;
  text-align: center;
}

.download__check .inputcheck__block .download__sub__label {
  font-size: 20px;
  font-weight: 600;
  margin-top: 32px;
  margin-bottom: 16px;
  padding: 4px 16px;
  border-left: 4px solid #1396e8;
}

.download__check .inputcheck__block table.inputcheck__list,
.download__check .inputcheck__block table.qrecheck__list {
  border-collapse: separate;
  border-spacing: 0px 8px;
  width: 100%;
  height: 40px;
  margin-bottom: 16px;
  text-align: left;
  line-height: 40px;
  word-break: break-all;
}

.download__check .inputcheck__block table.inputcheck__list th,
.download__check .inputcheck__block table.qrecheck__list th {
  background: #295890;
  vertical-align: middle;
  text-align: left;
  width: 100px;
  overflow: visible;
  position: relative;
  color: #fff;
  font-weight: normal;
  font-size: 15px;
  padding: 0px 16px;
}

.download__check .inputcheck__block table.inputcheck__list td,
.download__check .inputcheck__block table.qrecheck__list td {
  background: #f8f8f8;
  width: 360px;
  padding: 0 20px;
}

.download__check .inputcheck__block table.qrecheck__list th,
.download__check .inputcheck__block table.qrecheck__list td {
  width: 100%;
  display: block;
}

@media screen and (min-width: 768px) {
  .download__check .inputcheck__block table.inputcheck__list th:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #295890;
    border-width: 10px;
    margin-top: -10px;
  }
}

@media screen and (max-width: 767px) {
  .download__check .inputcheck__block table.inputcheck__list th,
  .download__check .inputcheck__block table.inputcheck__list td {
    width: 100%;
    display: block;
  }

  .downloadform__area .questionnaire__block .questionnaire__area .questionnaire__input.textarea {
    min-height: 40px;
    max-height: 300px;
    max-width: 100%;
    min-width: 100%;
  }
}

/* =========================================================
 /e-learning
========================================================= */
/* eラーニングページTOP */
.elearning__pc__banner {
  display: block !important;
  position: relative;
}

.elearning__pc__banner .title {
  position: absolute;
  top: 27%;
  left: 50%;
  padding: 0;
  margin: 0;
  font-size: 40px;
  font-weight: 900;
  color: #0083bd;
  transform: translate(-50%,-50%) skewX(-15deg);
}

.elearning__pc__banner .text {
  position: absolute;
  top: 65%;
  left: 48%;
  padding: 0;
  margin: 0;
  font-size: 15px;
  color: #0083bd;
  transform: translate(-50%,-50%);
  letter-spacing: 5px;
  width: 700px;
}

.elearning__sp__banner {
  display: none !important;
  position: relative;
}

.elearning__sp__banner .title {
  position: absolute;
  top: 22%;
  left: 25%;
  padding: 0;
  margin: 0;
  font-size: 5vw;
  font-weight: 900;
  color: #0083bd;
  transform: translate(-50%,-50%) skewX(-15deg);
}

.elearning__sp__banner .text {
  position: absolute;
  top: 60%;
  left: 34%;
  padding: 0;
  margin: 0;
  font-size: 2vw;
  line-height: 3vw;
  color: #0083bd;
  transform: translate(-50%,-50%);
  letter-spacing: 1px;
  width: 60%;
}

@media screen and (max-width: 767px) {
  .elearning__pc__banner {
    display: none !important;
  }

  .elearning__sp__banner {
    display: block !important;
  }
}

.elearning__inner {
  display: flex;
  flex-direction: column;
}

.elearning__inner > div {
  padding-bottom: 32px;
}

.elearning__inner .elearning__subtitle {
  border-bottom: 4px solid #1462a0;
  font-size: 24px;
  width: 100%;
  color: #1462a0;
  margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .elearning__inner .elearning__subtitle {
    padding: 0px 8px;
  }
}

/* eラーニングページTOPお知らせ領域 */
/* サムネイル画像有 */
.elearning__inner .info__box {
  width: 100%;
  height: 100%;
  border: 1px solid #1395E8;
  background: #ECF7FF 0% 0% no-repeat padding-box;
  padding: 16px;
  display: grid;
  grid-template-columns: 67% 3% 30%;
  grid-template-rows: auto auto auto auto;
}

.elearning__inner .info__box .date {
  text-align: left;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0px;
  color: #1462A0;
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}

.elearning__inner .info__box .title {
  text-align: left;
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0px;
  color: #1462A0;
  margin-bottom: 8px;
  grid-row: 2 / 3;
  grid-column: 1 / 2;
}

.elearning__inner .info__box .about {
  text-align: left;
  font-size: 15px;
  letter-spacing: 0px;
  color: #000000;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  grid-row: 3 / 4;
  grid-column: 1 / 2;
}

.elearning__inner .info__box .link {
  text-align: right;
  font-size: 18px;
  letter-spacing: 0px;
  color: #1462A0;
  font-weight: bold;
  text-decoration: none;
  grid-row: 4 / 5;
  grid-column: 1 / 2;
}

.elearning__inner .info__box .link:hover {
  text-decoration: underline;
}

.elearning__inner .info__box .img {
  grid-row: 1 / 5;
  grid-column: 3 / 4;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .elearning__inner .info__box {
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto auto auto;
  }

  .elearning__inner .info__box .about {
    grid-row: 4 / 5;
  }

  .elearning__inner .info__box .about {
    -webkit-line-clamp: 5;
  }

  .elearning__inner .info__box .link {
    text-align: center;
    font-size: 14px;
    grid-row: 5 / 6;
  }

  .elearning__inner .info__box .img {
    grid-row: 3 / 4;
    grid-column: 1 / 2;
    margin: 0px 0px 16px 0px;
  }
}

/* サムネイル画像無 */
.elearning__inner .info__box.noneimage {
  grid-template-columns: 100%;
  grid-template-rows: auto auto auto auto;
}

/* eラーニングページTOPコース一覧領域 */
.elearning__inner .course__list {
  display: flex;
  flex-wrap: wrap;
}

.elearning__inner .course__list .course__box {
  display: flex;
  flex-direction: column;
  width: 330px;
  margin: 0px 35px 32px 0px;
  text-decoration: none;
}

.elearning__inner .course__list .course__box:nth-child(3n) {
  margin-right: 0px;
}

.elearning__inner .course__list .course__box .img {
  margin-bottom: 16px;
}

.elearning__inner .course__list .course__box .title {
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  letter-spacing: 0px;
  color: #1462a0;
}

.elearning__inner .course__list .course__box .price {
  text-align: right;
  font-size: 16px;
  font-weight: bold;
  color: #000000;
  margin: 0px 0px 8px;
}

.elearning__inner .course__list .course__box .course__tag__list {
  display: flex;
  flex-wrap: wrap;
}

.elearning__inner .course__list .course__box .course__tag__list .course__tag {
  border: 1px solid #1395E8;
  font-size: 13px;
  letter-spacing: 0px;
  color: #1395E8;
  padding: 4px 8px;
  margin: 0px 8px 8px 0px;
}

.elearning__inner .course__list .course__box .course__tag__list .course__tag > a {
  text-decoration: none;
}

.elearning__inner .course__list .course__box .course__tag__list .course__tag > a:hover {
  text-decoration: underline;
}

.elearning__inner .course__list .course__box .about {
  font-size: 13px;
  text-align: left;
  letter-spacing: 0px;
  color: #000000;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .elearning__inner .course__list .course__box {
    width: 100%;
    margin: 0px 0px 72px 0px;
  }
}

/* スライダー領域 */
.about__area .course__about .slick-next {
  transform: translate(484px, -50%) rotate(45deg);
}

.about__area .course__about .slick-prev {
  transform: translate(-484px, -50%) rotate(45deg);
}

.about__area .course__about .course__slide {
  position: relative;
  width: 100%;
  height: 100%;
}

.about__area .course__about .slick-track {
  display: flex;
}

.about__area .course__about .slick-slide {
  height: auto !important;
}

@media screen and (max-width: 767px) {
  .about__area .course__about .slick-next {
    transform: translate(40px, -50%) rotate(45deg);
  }

  .about__area .course__about .slick-prev {
    transform: translate(-40px, -50%) rotate(45deg);
  }

  .about__area .course__about .course__slide {
    width: 80%;
    margin: auto;
  }
}

.about__area .course__about .course__slide img {
  width: 100%;
  padding: 16px;
}

/* eラーニング青背景・インナー */
.blue__bg {
  width: 100%;
  background: #DFF0FC;
  padding-top: 56px;
  margin-bottom: 56px;
}

@media screen and (max-width: 767px) {
  .blue__bg {
    padding-top: 40px;
    margin-bottom: 40px;
  }
}

.course__area,
.about__area,
.agenda__area,
.point__icon,
.point__list,
.usercomment__area,
.apply__area,
.recommend__area,
.company__area,
.detail__area {
  width: 1060px;
  margin: auto;
  padding-bottom: 56px;
}

@media screen and (max-width: 767px) {
  .course__area,
  .about__area,
  .agenda__area,
  .point__icon,
  .point__list,
  .usercomment__area,
  .apply__area,
  .recommend__area,
  .company__area,
  .detail__area {
    width: 100%;
    padding: 0px 20px 40px;
  }
}

.apply__area {
  background-color: #F3F3F3;
  box-sizing: content-box;
  text-align: center;
  padding-top: 56px;
  margin-bottom: 56px;
}

@media screen and (max-width: 767px) {
  .apply__area {
    box-sizing: border-box;
    padding: 40px 20px;
  }
}

.about__area .course__about,
.agenda__area .course__agenda,
.usercomment__area .comment__list,
.company__area .company__box,
.detail__area .detail__box {
  width: 80%;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .about__area .course__about,
  .agenda__area .course__agenda,
  .usercomment__area .comment__list,
  .company__area .company__box,
  .detail__area .detail__box {
    width: 100%;
  }
}

.company__area .company__box {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .company__area .company__box {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
}

/* TOP概要領域 */
.course__area .title {
  text-align: center;
  font-size: 24px;
  color: #1395E8;
  line-height: 24px;
  margin-bottom: 8px;
}

@media screen and (max-width: 767px) {
  .course__area .title {
    text-align: left;
    font-size: 20px;
  }
}

.course__area .course__tag__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .course__area .course__tag__list {
    justify-content: left;
  }
}

.course__area .course__tag__list .course__tag {
  border: 1px solid #1395E8;
  background: #FFFFFF;
  font-size: 14px;
  color: #1395E8;
  padding: 4px 8px;
  margin: 4px;;
}

.course__area .course__tag__list .course__tag > a {
  text-decoration: none;
}

.course__area .course__tag__list .course__tag > a:hover {
  text-decoration: underline;
}

.course__area .course__box {
  display: grid;
  grid-template-columns: 45% 3% 52%;
  grid-template-rows: auto;
}

.course__area .course__box .img {
  grid-row: 1 / 6;
  grid-column: 1 / 2;
}

.course__area .course__box .about {
  font-size: 15px;
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  margin-bottom: 16px;
}

.course__area .course__box .center__box {
  font-size: 16px;
  grid-row: 2 / 3;
  grid-column: 3 / 4;
  margin-bottom: 16px;
}

.course__area .course__box .center__box .price span {
  padding-right: 48px;
}

.course__area .course__box .apply__box {
  display: flex;
  grid-column: 3 / 4;
  margin-bottom: 16px;
}

.course__area .course__box .apply__box .apply {
  font-size: 16px;
  text-align: center;
  color: #FFFFFF;
  text-decoration: none;
  width: 95%;
  height: 64px;
  margin: 0px 16px;
  border-radius: 5px;
  padding: 4px;
  letter-spacing: 1px;
}

.course__area .course__box .apply__box .apply.corporation {
  background: #3ac24b;
  grid-row: auto;
  box-shadow: 0px 3px 2px 0px #39653f;
}

.course__area .course__box .apply__box .apply.private {
  background: #f87c2e;
  grid-row: auto;
  box-shadow: 0px 3px 2px 0px #966140;
}

.course__area .course__box .apply__box .apply span {
  position: relative;
  padding: 0px 8px;
  font-size: 14px;
}

.course__area .course__box .apply__box .apply span::before,
.course__area .course__box .apply__box .apply span::after {
  position: absolute;
  top: 3px;
  content: "";
  width: 1px;
  height: 16px;
  background: #FFF;
}

.course__area .course__box .apply__box .apply span::before {
  left: 0;
  transform: rotate(-25deg);
}

.course__area .course__box .apply__box .apply span::after {
  right: 0;
  transform: rotate(25deg);
}

.course__area .course__box .apply__box .apply p {
  line-height: 30px;
  font-weight: bold;
  font-size: 18px;
}

.course__area .course__box .apply__box .apply.private p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.course__area .course__box .apply__box .apply .icon {
  height: 16px;
  width: 16px;
  margin-left: 8px;
  margin-top: 6px;
}

.course__area .course__box .apply__box .apply.private .icon {
  margin-top: 0px;
}

.course__area .course__box .text {
  font-size: 12px;
  text-align: center;
  grid-row: auto;
  grid-column: 3 / 4;
}

@media screen and (max-width: 767px) {
  .course__area .course__box {
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }

  .course__area .course__box .about {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    margin-bottom: 16px;
  }

  .course__area .course__box .img {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    margin-bottom: 16px;
  }

  .course__area .course__box .center__box {
    grid-row: 3 / 4;
    grid-column: 1 / 2;
    margin: auto;
    margin-bottom: 16px;
  }

  .course__area .course__box .apply__box {
    flex-direction: column;
    grid-row: 4 / 5;
    grid-column: 1 / 2;
  }

  .course__area .course__box .apply__box .apply {
    margin: auto;
  }

  .course__area .course__box .apply__box .apply + .apply {
    margin-top: 16px;
  }

  .course__area .course__box .text {
    grid-row: 5 / 6;
    grid-column: 1 / 2;
  }
}

/* コース概要・アジェンダ領域 */
.about__area .linetitle,
.agenda__area .linetitle {
  border-bottom: 4px solid #1462a0;
  font-size: 24px;
  width: 100%;
  color: #1462a0;
  margin-bottom: 32px;
}

@media screen and (max-width: 767px) {
  .about__area .linetitle,
  .agenda__area .linetitle {
    margin-bottom: 16px;
    padding: 0px 8px;
  }
}

.about__area .course__about .sub {
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  color: #1395E8;
  margin-bottom: 16px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .about__area .course__about .sub {
    font-size: 15px;
    text-align: left;
    margin: 0px;
  }
}

.about__area .course__about p {
  margin-bottom: 16px;
}

.agenda__area .course__agenda nav {
  display: none;
  margin-bottom: 8px;
}

.agenda__area .course__agenda nav ul {
  list-style: inside;
  color: #1462A0;
  font-size: 14px;
  width: 95%;
  margin: auto;
}

.agenda__area .course__agenda nav ul li {
  padding-bottom: 8px;
}

.agenda__area .course__agenda .nav-open,
.agenda__area .course__agenda .nav-none {
  position: relative;
  padding: 16px;
  color: #1462A0;
  font-size: 16px;
  font-weight: bold;
  background: #DFF0FC;
  border-radius: 8px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
}

@media screen and (max-width: 767px) {
  .agenda__area .course__agenda .nav-open,
  .agenda__area .course__agenda .nav-none {
    padding-right: 64px;
    font-size: 15px;
  }
}

.agenda__area .course__agenda .nav-open::before,
.agenda__area .course__agenda .nav-open::after {
  content: '';
  display: block;
  position: absolute;
  top: 30px;
  right: 21px;
  width: 22px;
  height: 6px;
  margin-top: -2px;
  background-color: #FFFFFF;
  transform-origin: 50% 50%;
  transition: all 0.3s ease-out;
}

.agenda__area .course__agenda .nav-open::before {
  transform: rotate(-90deg);
  opacity: 1;
  z-index: 2;
}

.agenda__area .course__agenda .nav-open.active {
  background: #BEE4FF;
  transition: all 0.3s ease;
}

.agenda__area .course__agenda .nav-open.active::before {
  transform: rotate(0deg);
  background: #fff !important;
}

.agenda__area .course__agenda .nav-open.active::after {
  transform: rotate(180deg);
  background: #fff !important;
  opacity: 0;
}

.agenda__area .course__agenda .nav-open > span::before {
  content: '';
  display: block;
  position: absolute;
  right: 16px;
  width: 32px;
  height: 32px;
  margin-top: -1px;
  background-color: #1462A0;
  border-radius: 16px;
  transform-origin: 50% 50%;
  transition: all 0.3s ease-out;
}

.agenda__area .course__agenda .nav-open.active > span::before {
  background: #1395E8;
  transition: all 0.3s ease;
}

/* ユーザーの声領域 */
.usercomment__area .title {
  text-align: center;
  font-size: 32px;
  color: #1395E8;
  width: 80%;
  margin: auto;
  line-height: 32px;
  margin-bottom: 32px;
}

.usercomment__area .usercomment__box {
  display: flex;
  margin-bottom: 32px;
  font-size: 16px;
}

.usercomment__area .usercomment__box:last-child {
  margin-bottom: 0px;
}

.usercomment__area .usercomment__box .icon {
  width: 30%;
  font-size: 18px;
  font-weight: bold;
  color: #1395E8;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.usercomment__area .usercomment__box .img {
  width: 130px;
  height: 130px;
  margin: auto;
}

.usercomment__area .usercomment__box .comment {
  display: inline-block;
  position: relative;
  padding: 17px 13px;
  border-radius: 12px;
  height: 100%;
  width: 70%;
  background: #FFFFFF;
  color: #1395E8;
}

.usercomment__area .usercomment__box .comment::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -52px;
  border: 12px solid transparent;
  border-right: 40px solid #FFFFFF;
}

@media screen and (max-width: 767px) {
  .usercomment__area .usercomment__box {
    flex-direction: column;
  }

  .usercomment__area .usercomment__box .icon {
    width: 70%;
    flex-direction: initial;
    margin: auto;
    margin-bottom: 48px;
  }

  .usercomment__area .usercomment__box .icon .img {
    width: 30%;
    height: 100%;
    margin: auto;
  }

  .usercomment__area .usercomment__box .icon .text {
    width: 70%;
    margin: auto;
  }

  .usercomment__area .usercomment__box .comment {
    width: 100%;
  }

  .usercomment__area .usercomment__box .comment::after {
    top: -50px;
    left: 20%;
    border: 12px solid transparent;
    border-bottom: 40px solid #FFFFFF;
  }

  .usercomment__area .usercomment__box:last-child {
    margin-bottom: 0px;
  }
}

/* こんな方におすすめ領域 */
.recommend__area .titlearea {
  text-align: center;
  display: flex;
  margin: auto;
  width: 80%;
}

.recommend__area .title {
  text-align: center;
  font-size: 32px;
  color: #1395E8;
  width: 80%;
  margin: auto;
}

.recommend__area .img {
  vertical-align: middle;
  width: 100px;
}

.recommend__area ul {
  font-size: 20px;
  font-weight: bold;
  color: #1462A0;
  width: 80%;
  margin: auto;
  text-align: left;
}

.recommend__area ul li {
  background: #FFFFFF;
  border-radius: 8px;
  padding: 8px 16px;
  margin: 8px 0px;
}

.recommend__area ul li::before {
  content: '';
  display: inline-block;
  width: 50px;
  height: 28px;
  background-image: url(/e-learning/assets/img/check.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 16px;
}

@media screen and (max-width: 767px) {
  .recommend__area .titlearea {
    width: 100%;
  }

  .recommend__area .title {
    width: 100%;
    font-size: 5vw;
  }

  .recommend__area .img {
    width: 20%;
    height: 20%;
  }

  .recommend__area ul {
    width: 100%;
  }

  .recommend__area ul li {
    font-size: 14px;
  }

  .recommend__area ul li::before {
    width: 23px;
    height: 16px;
  }
}

/* 企業紹介領域 */
.company__area .company__box .title {
  text-align: center;
  font-size: 24px;
  color: #1462A0;
  width: 100%;
}

.company__area .company__box .text__box {
  display: flex;
  flex-direction: column;
  width: 50%;
}

.company__area .company__box .text__box .label {
  color: #1462A0;
  font-size: 16px;
}

.company__area .company__box .text__box .name {
  color: #1462A0;
  font-size: 24px;
  font-weight: bold;
  border-bottom: 1px solid;
}

.company__area .company__box .text__box > div {
  color: #1462A0;
  font-size: 14px;
  margin-bottom: 16px;
}

.company__area .company__box .text__box .contents {
  color: #1462A0;
  font-size: 14px;
  margin-bottom: 16px;
}

.company__area .company__box .text__box .url {
  color: #1462A0;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
}

.company__area .company__box .img__box {
  width: 47%;
  margin-left: 3%;
}

.company__area .company__box .img__box .img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .company__area .company__box .title {
    font-size: 18px;
  }

  .company__area .company__box .text__box {
    width: 100%;
  }

  .company__area .company__box .text__box .label {
    padding: 0px 8px;
  }

  .company__area .company__box .text__box .name {
    margin-bottom: 16px;
    padding: 0px 8px;
  }

  .company__area .company__box .img__box {
    width: 100%;
    margin: 0px;
  }
}

/* 講座概要領域 */
.detail__area .title {
  text-align: center;
  font-size: 32px;
  color: #1395E8;
  width: 80%;
  margin: auto;
  line-height: 32px;
  margin-bottom: 16px;
}

.detail__area table {
  width: 100%;
  font-size: 16px;
}

.detail__area table tbody tr:nth-child(1n) {
  background-color: #FFFFFF;
  display: flex;
  padding: 16px;
}

.detail__area table tbody tr:nth-child(2n) {
  background-color: #F5F5F5;
  display: flex;
  padding: 16px;
}

.detail__area table tbody tr th {
  text-align: left;
  color: #1462A0;
  font-weight: bold;
  width: 25%;
}

.detail__area table tbody tr td {
  width: 75%;
}

@media screen and (max-width: 767px) {
  .detail__area .title {
    font-size: 24px;
  }

  .detail__area table tbody tr {
    flex-direction: column;
    padding: 8px 16px;
  }

  .detail__area table tbody tr th {
    font-size: 14px;
    width: 100%;
  }

  .detail__area table tbody tr td {
    width: 100%;
    font-size: 14px;
  }
}

/* お申込み領域 */
.apply__area .apply__box {
  display: flex;
  margin: 0px 48px;
  justify-content: center;
}

.apply__area .apply__box .apply {
  font-size: 16px;
  text-align: center;
  color: #FFFFFF;
  text-decoration: none;
  width: 95%;
  height: 64px;
  max-width: 420px;
  margin: 0px 36px;
  border-radius: 5px;
  padding: 4px;
  letter-spacing: 1px;
}

.apply__area .apply__box .apply.corporation {
  background: #3ac24b;
  grid-row: auto;
  box-shadow: 0px 3px 2px 0px #39653f;
}

.apply__area .apply__box .apply.private {
  background: #f87c2e;
  grid-row: auto;
  box-shadow: 0px 3px 2px 0px #966140;
}

.apply__area .apply__box .apply span {
  position: relative;
  padding: 0px 8px;
  font-size: 14px;
}

.apply__area .apply__box .apply span::before,
.apply__area .apply__box .apply span::after {
  position: absolute;
  top: 3px;
  content: "";
  width: 1px;
  height: 16px;
  background: #FFF;
}

.apply__area .apply__box .apply span::before {
  left: 0;
  transform: rotate(-25deg);
}

.apply__area .apply__box .apply span::after {
  right: 0;
  transform: rotate(25deg);
}

.apply__area .apply__box .apply p {
  line-height: 30px;
  font-weight: bold;
  font-size: 18px;
}

.apply__area .apply__box .apply.private p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.apply__area .apply + .apply {
  margin-left: 24px;
}

@media screen and (max-width: 767px) {
  .apply__area {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
  }

  .apply__area .apply__box {
    flex-direction: column;
    margin: 0px;
  }

  .apply__area .apply__box .apply.corporation,
  .apply__area .apply__box .apply.private {
    margin: auto;
  }

  .apply__area .apply__box .apply + .apply {
    margin-top: 16px;
    margin-left: auto;
  }
}

.apply__area .apply .icon {
  height: 16px;
  width: 16px;
  margin-left: 8px;
  margin-top: 6px;
}

.apply__area .apply__box .apply.private .icon {
  margin-top: 0px;
}

.apply__area .text {
  margin: 16px 0px;
}

.apply__area .mail__text {
  color: #1462A0;
  font-weight: bold;
  font-size: 15px;
}

.apply__area .mail__text span {
  margin-left: 16px;
  color: #1462A0;
  font-weight: bold;
  font-size: 21px;
}

.apply__area .mail__text span img {
  width: 35px;
  margin-right: 8px;
}

@media screen and (max-width: 767px) {
  .apply__area .mail__text {
    font-size: 15px;
    display: flex;
    flex-direction: column;
  }

  .apply__area .mail__text span {
    margin-left: 0px;
    font-size: 19px;
  }
}

/* eラーニングページTOPポイント領域 */
.point__icon .title {
  color: #1395E8;
  text-align: center;
  font-size: 33px;
  line-height: 33px;
  margin-bottom: 16px;
}

.point__icon .point__box {
  width: 1060px;
  display: flex;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .point__icon .point__box {
    width: 100%;
    flex-direction: column;
    margin: auto;
  }
}

.point__icon .point__box .point__contents {
  width: 320px;
  margin-right: 50px;
  border: 2px solid #1395E8;
  background: #FFFFFF 0% 0% no-repeat padding-box;
}

.point__icon .point__box .point__contents:last-of-type{
  margin-right: 0px !important;
}

@media screen and (max-width: 767px) {
  .point__icon .point__box .point__contents {
    margin: 20px auto !important;
    width: 100%;
  }

  .point__icon .point__box .point__contents:last-of-type{
    margin-bottom: 0px !important;
  }
}

.point__icon .point__box .point__contents .label {
  font-size: 24px;
  color: #FFFFFF;
  background: #1395E8 0% 0% no-repeat padding-box;
  text-align: center;
}

.point__icon .point__box .point__contents .inner {
  text-align: center;
  padding: 16px;
}

.point__icon .point__box .point__contents .inner .title {
  font-size: 24px;
  color: #1395E8;
  margin-bottom: 16px;
}

.point__icon .point__box .point__contents .inner .textarea {
  margin-top: 16px;
  font-size: 14px;
  color: #1462A0;
  text-align: left;
}

.point__list > .title {
  color: #1395E8;
  text-align: center;
  font-size: 33px;
  line-height: 33px;
  margin-bottom: 32px;
}

.point__list .list__area {
  display: grid;
  margin-bottom: 56px;
  grid-template-columns: 35% 3% 62%;
  grid-template-rows: 47px auto;
}

.point__list .list__area:last-of-type {
  margin-bottom: 0px;
}

@media screen and (max-width: 767px) {
  .point__list .list__area {
    margin-bottom: 32px;
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
  }

  .point__list .list__area:last-of-type {
    margin-bottom: 0px;
  }
}

.point__list .list__area img {
  grid-row: 1 / 3;
  grid-column: 1 / 2;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .point__list .list__area img {
    margin-top: 16px;
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    height: auto;
  }
}

.point__list .list__area .title {
  text-align: left;
  font-size: 24px;
  color: #1395E8;
  border-bottom: 4px solid #1395E8;
  grid-row: 1 / 2;
  grid-column: 3 / 4;
}

@media screen and (min-width: 768px) {
  .point__list .list__area .title span::after {
    content: "：";
  }
}

@media screen and (max-width: 767px) {
  .point__list .list__area .title {
    text-align: center;
    display: flex;
    flex-direction: column;
    grid-row: 1 / 2;
    grid-column: 1 / 2;
  }
}

.point__list .list__area .textarea {
  text-align: left;
  font-size: 16px;
  color: #1395E8;
  grid-row: 2 / 3;
  grid-column: 3 / 4;
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .point__list .list__area .textarea {
    margin-top: 24px;
    grid-row: 3 / 4;
    grid-column: 1 / 2;
  }
}

/* =========================================================
 /about
 /ad
========================================================= */
/* 広告掲載についてページ改修 */
/* 広告ページバナー領域 */
.ad__bannerarea {
  color: #ffffff;
  margin-bottom: 32px;
}

.ad__bannerarea .labelbox {
  background-color: #1462A0;
  padding: 16px;
}

.ad__bannerarea .labelbox .label {
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}

.ad__bannerarea .mainbox {
  background-color: #212A67;
  padding: 32px;
}

.ad__bannerarea .mainbox .ad__inner {
  max-width: 1060px;
  margin: auto;
  padding: 0 20px;
  box-sizing: content-box;
  display: grid;
  grid-template-columns: 40% 10% 50%;
  grid-template-rows: auto auto;
}

.ad__bannerarea .mainbox .ad__inner .ad__logo {
  font-weight: bold;
  font-size: 32px;
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  margin-bottom: 16px;
}

.ad__bannerarea .mainbox .ad__inner .about__qbook {
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  margin: auto;
}

.ad__bannerarea .mainbox .ad__inner .about__qbook .label {
  background-color: #FDD865;
  font-weight: bold;
  font-size: 24px;
  color: #212A67;
  padding: 4px 16px;
  border-radius: 10px 0px 10px 0px;
}

.ad__bannerarea .mainbox .ad__inner .about__qbook .body {
  padding: 16px;
  font-size: 16px;
  line-height: 32px;
}

.ad__bannerarea .mainbox .ad__inner .button__area {
  grid-row: 2 / 3;
  grid-column: 1 / 4;
  display: flex;
  width: 60%;
  justify-content: space-between;
  margin: auto;
}

.ad__bannerarea .mainbox .ad__inner .button__area .ad__button,
.admain__area .flow__about .button__area .button__box .ad__button {
  width: 280px;
  color: #FFFFFF;
  background-color: #FF7F4D;
  border-radius: 5px;
  font-size: 14px;
  margin-top: 24px;
  text-align: center;
  text-decoration: none;
  padding: 8px 40px;
}

@media screen and (max-width: 767px) {
  .ad__bannerarea .mainbox {
    padding: 32px 0px;
  }

  .ad__bannerarea .mainbox .ad__inner {
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
  }

  .ad__bannerarea .mainbox .ad__inner .ad__logo {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    width: 70%;
    margin: auto;
    margin-bottom: 16px;
  }

  .ad__bannerarea .mainbox .ad__inner .about__qbook {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
  }

  .ad__bannerarea .mainbox .ad__inner .about__qbook .label {
    text-align: center;
  }

  .ad__bannerarea .mainbox .ad__inner .button__area {
    grid-row: 3 / 4;
    grid-column: 1 / 2;
    width: 100%;
    flex-direction: column;
  }

  .ad__bannerarea .mainbox .ad__inner .button__area .ad__button {
    width: 100%;
    max-width: 280px;
    margin: 24px auto auto;
  }
}

/* Qbook概要領域 */
.admain__area .qbook__about,
.admain__area .media__about,
.admain__area .example__about,
.admain__area .target__about,
.admain__area .flow__about,
.admain__area .company__about {
  max-width: 1060px;
  margin: auto;
  padding: 32px 20px;
  box-sizing: content-box;
}

.admain__area .qbook__about .label,
.admain__area .media__about .label,
.admain__area .example__about .label,
.admain__area .target__about .label,
.admain__area .flow__about .label {
  font-size: 24px;
  font-weight: bold;
  color: #000000;
  padding: 4px 16px;
  border-left: solid 5px #1462a0;
  margin-bottom: 16px;
}

.admain__area .qbook__about .sublabel,
.admain__area .media__about .sublabel {
  font-size: 20px;
  font-weight: bold;
  color: #1462A0;
  margin-bottom: 16px;
}

.admain__area .qbook__about .tile__area,
.admain__area .media__about .tile__area,
.admain__area .example__about .tile__area,
.admain__area .flow__about .tile__area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.admain__area .qbook__about .tile__area .tile__box {
  width: 520px;
  background-color: #DFF0FC;
  padding: 16px;
  margin-bottom: 20px;
  display: flex;
  text-decoration: none;
}

.admain__area .qbook__about .tile__area .tile__box:nth-child(5),
.admain__area .qbook__about .tile__area .tile__box:nth-child(6) {
  margin-bottom: 0px;
}

.admain__area .qbook__about .tile__area .tile__box:hover {
  text-decoration: underline;
}

.admain__area .qbook__about .tile__area .tile__box .img {
  width: 200px;
}

.admain__area .qbook__about .tile__area .tile__box .text__box {
  margin-left: 16px;
  display: flex;
  flex-direction: column;
}

.admain__area .qbook__about .tile__area .tile__box .text__box .title {
  font-size: 18px;
  font-weight: bold;
  color: #1462A0;
}

.admain__area .qbook__about .tile__area .tile__box .text__box .body {
  font-size: 13px;
  color: #1462A0;
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .admain__area .qbook__about .tile__area .tile__box {
    width: 100%;
    flex-direction: column;
  }

  .admain__area .qbook__about .tile__area .tile__box .img {
    width: 100%;
    margin-bottom: 16px;
  }

  .admain__area .qbook__about .tile__area .tile__box .text__box {
    margin-left: 0px;
  }

  .admain__area .qbook__about .tile__area .tile__box:nth-child(5) {
    margin-bottom: 20px;
  }
}

/* メディアポリシー領域 */
.admain__area .media__about .tile__area .tile__box {
  width: 280px;
  font-size: 14px;
  color: #1462A0;
  display: flex;
  flex-direction: column;
  margin: 32px 32px 0px;
}

.admain__area .media__about .tile__area .tile__box .img__box {
  margin: auto;
  margin-bottom: 16px;
}

.admain__area .media__about .tile__area .tile__box .body {
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .admain__area .media__about .tile__area .tile__box {
    width: 100%;
  }
}

/* 青背景領域 */
.adblue__bg {
  width: 100%;
  background: #DFF0FC;
  margin: 32px 0px;
}

/* 掲載事例紹介領域 */
.admain__area .example__about .otherlink {
  font-size: 18px;
  font-weight: bold;
  text-align: right;
  color: #1462A0;
  padding: 16px 16px 0px;
}

.admain__area .example__about .otherlink > a {
  text-decoration: none;
}

.admain__area .example__about .tile__area .tile__box {
  width: 320px;
  font-size: 14px;
  color: #000000;
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  margin: 0px 16px;
  padding: 16px;
  text-decoration: none;
}

.admain__area .example__about .otherlink > a:hover,
.admain__area .example__about .tile__area .tile__box:hover {
  text-decoration: underline;
}

.admain__area .example__about .tile__area .tile__box .img__box {
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  .admain__area .example__about .tile__area .tile__box {
    width: 100%;
    margin-bottom: 20px;
  }

  .admain__area .example__about .tile__area .tile__box:last-child {
    margin-bottom: 0px;
  }
}

/* ターゲット層領域 */
.admain__area .target__about .body {
  font-size: 14px;
  color: #707070;
  margin: 0px 16px 16px;
}

.admain__area .target__about .label__underline {
  font-size: 18px;
  font-weight: bold;
  color: #1395E8;
  border-bottom: 4px solid #1395E8;
  margin: 16px;
}

.admain__area .target__about .target__list {
  font-size: 16px;
  color: #707070;
  margin: 16px 16px 0px;
}

/* 記事掲載までのフロー */
.admain__area .flow__about .subtext {
  font-size: 16px;
  color: #1462A0;
  margin-bottom: 16px;
}

.admain__area .flow__about .tile__area .tile__box {
  width: 180px;
  background-color: #FFFFFF;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.admain__area .flow__about .tile__area .tile__box:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 192px;
  transform: translateY(-50%);
  border: 10px solid transparent;
  border-left: 16px solid #58B4EF;
}

.admain__area .flow__about .tile__area .tile__box .title {
  font-size: 16px;
  color: #1462A0;
  margin-bottom: 16px;
}

.admain__area .flow__about .tile__area .tile__box .img__box {
  margin-bottom: 16px;
  text-align: center;
}

.admain__area .flow__about .tile__area .tile__box .img__box .img {
  width: 104px;
  height: 104px;
}

.admain__area .flow__about .tile__area .tile__box .body {
  font-size: 12px;
  color: #707070;
}

.admain__area .flow__about .button__area {
  display: flex;
  justify-content: space-between;
  padding-bottom: 32px;
}

.admain__area .flow__about .button__area .button__box {
  width: 45%;
  display: flex;
  flex-direction: column;
  text-align: center;
  border-radius: 16px;
  padding: 16px;
  background-color: #ffffff;
}

.admain__area .flow__about .button__area .button__box .text {
  font-size: 16px;
  color: #707070;
  margin-bottom: 16px;
}

.admain__area .flow__about .button__area .button__box .ad__button {
  width: 280px;
  color: #FFFFFF;
  background-color: #FF7F4D;
  border-radius: 5px;
  font-size: 14px;
  margin: auto;
  text-align: center;
  text-decoration: none;
  padding: 8px 40px;
}

@media screen and (max-width: 767px) {
  .admain__area .flow__about .tile__area {
    justify-content: center;
  }

  .admain__area .flow__about .tile__area .tile__box {
    width: 80%;
  }

  .admain__area .flow__about .tile__area .tile__box:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 108%);
    border-top: 16px solid #58B4EF;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
  }

  .admain__area .flow__about .button__area {
    flex-direction: column;
  }

  .admain__area .flow__about .button__area .button__box {
    width: 100%;
  }

  .admain__area .flow__about .button__area .button__box:first-child {
    margin-bottom: 56px;
  }
}

/* 企業紹介領域 */
.admain__area .company__about .company__box {
  display: flex;
  flex-wrap: wrap;
}

.admain__area .company__about .company__box .text__box {
  display: flex;
  flex-direction: column;
  width: 50%;
}

.admain__area .company__about .company__box .text__box .label {
  color: #1462A0;
  font-size: 16px;
}

.admain__area .company__about .company__box .text__box .name {
  color: #1462A0;
  font-size: 24px;
  font-weight: bold;
  border-bottom: 1px solid;
}

.admain__area .company__about .company__box .text__box > div {
  color: #1462A0;
  font-size: 14px;
  margin-bottom: 16px;
}

.admain__area .company__about .company__box .text__box .contents {
  color: #1462A0;
  font-size: 14px;
  margin-bottom: 16px;
}

.admain__area .company__about .company__box .text__box .url {
  color: #1462A0;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
}

.admain__area .company__about .company__box .img__box {
  width: 47%;
  margin-left: 3%;
}

.admain__area .company__about .company__box .img__box .img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .admain__area .company__about .company__box .text__box {
    width: 100%;
  }

  .admain__area .company__about .company__box .text__box .label {
    padding: 0px 8px;
  }

  .admain__area .company__about .company__box .text__box .name {
    margin-bottom: 16px;
    padding: 0px 8px;
  }

  .admain__area .company__about .company__box .img__box {
    width: 100%;
    margin: 0px;
  }
}

/* =========================================================
 /sitemap
========================================================= */
.sitemap__area .sitemap__inner {
  display: flex;
  flex-wrap: wrap;
}

.sitemap__area .sitemap__inner .sitemap__box {
  width: calc(1060px / 3);
  display: flex;
  flex-direction: column;
  padding: 0px 8px;
  margin-bottom: 16px;
}

.sitemap__area .sitemap__inner .sitemap__box .label {
  width: 100%;
  font-size: 18px;
  font-weight: bold;
  color: #1462a0;
  padding: 4px 8px;
  border: 1px solid #1462a0;
  margin: 8px 0px;
}

.sitemap__area .sitemap__inner .sitemap__box .arrow,
.sitemap__area .sitemap__inner .sitemap__box .arrow-tesabout {
  position: relative;
  padding: 4px 0px 4px 18px;
  padding-left: 18px;
  display: flex;
}

.sitemap__area .sitemap__inner .sitemap__box .label .link:hover,
.sitemap__area .sitemap__inner .sitemap__box .arrow:hover,
.sitemap__area .sitemap__inner .sitemap__box .arrow-tesabout:hover {
  text-decoration: underline;
}

.sitemap__area .sitemap__inner .sitemap__box .arrow::before {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #929292;
  border-right: solid 2px #929292;
  position: absolute;
  left: 0px;
  top: 11px;
  transform: rotate(45deg);
}

.sitemap__area .sitemap__inner .sitemap__box .arrow-tesabout {
  margin-left: 16px;
}

.sitemap__area .sitemap__inner .sitemap__box .arrow-tesabout::before {
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #929292;
  position: absolute;
  left: 0px;
  top: 14px;
}

.sitemap__area .sitemap__inner .sitemap__box .arrow .new_tab #_x32_,
.sitemap__area .sitemap__inner .sitemap__box .arrow-tesabout .new_tab #_x32_ {
  height: 11px;
  width: 11px;
  margin: 6px 0px 0px 8px;
  fill: #333333;
}

@media screen and (max-width: 767px) {
  .sitemap__area .sitemap__inner .sitemap__box {
    padding: 0px;
    margin-bottom: 0px;
    width: 100%;
  }
}

/* =========================================================
 /testomo
========================================================= */
.testomo__header {
  padding-top: 60px;
  padding-bottom: 60px;
	color: #ffffff;
	background-color: #44A0E9;
}

.testomo__header .header__area {
  display: flex;
  flex-wrap: wrap;
}

.testomo__header .header__area .headerbox {
  width: 50%;
  margin: auto;
}

.testomo__header .header__area .headerbox h2 {
	font-size: x-large;
	text-align: center;
}

.testomo__header .header__area .headerbox h2 br {
	display: none;
}

.testomo__header .header__area .headerbox .testomo__img {
	text-align: center;
  margin-top: 20px;
}

.testomo__header .header__area .headerbox .testomo__exam {
  display: flex;
  margin-top: 48px;
}

.testomo__header .header__area .headerbox .testomo__exam .icon {
  position: relative;
  height: 160px;
  width: 160px;
  font-size: 26px;
  text-align: center;
  background-color: #FEA021;
  border-radius: 50%;
  margin: auto;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: inset 0px -5px 10px #00000029, 0px 6px 0px #00000029;
}

.testomo__header .header__area .headerbox .testomo__exam .icon .secondrow::after {
  content: '';
  display: inline-block;
  height: 23px;
  width: 18px;
  margin-left: 8px;
  background: url(/assets/img/new_tab_footer.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.testomo__header .header__area .headerbox .testomo__exam .icon .coming {
  position: absolute;
  display: flex;
  width: 100%;
  height: 100%;
  background-color: #000000a8;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
}

.testomo__header .header__area .headerbox .qbookicon {
  width: 75%;
  margin-right: auto;
}

.testomo__header .header__area .versionbox {
  display: flex;
}

.testomo__header .header__area .versionbox .label {
  position: relative;
  text-align: left;
  padding-right: 32px;
  margin: 0px 16px;
  height: 25px;
  width: 200px;
}

.testomo__header .header__area .versionbox .label::before {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  background: #ffffff;
}

.testomo__header .header__area .versionbox .label span {
  position: relative;
  padding: 0 1em;
  background: #44A0E9;
  white-space: nowrap;
}

.testomo__con {
  margin-top: 24px;
}

.testomo__con .testomo__title {
  font-size: 24px;
  padding: 0.25em 0.5em;
  border-left: solid 5px #44A0E9;
}

.testomo__con .header__text {
  font-size: 16px;
}

.testomo__con .about {
  margin-top: 16px;
  display: flex;
  font-size: 16px;
}

.testomo__con .about .version {
  margin-right: 32px;
}

.testomo__con .license__area,
.testomo__con .flow__area,
.testomo__con .column__area {
  margin-top: 16px;
  display: flex;
}

.testomo__con .license__area .exambox {
  width: 330px;
}

.testomo__con .license__area .exambox:not(:last-child) {
  margin-right: 35px;
}

.testomo__con .license__area .exambox .title__area {
  position: relative;
  height: 64px;
  background-color: #499FE4;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  border-radius: 10px 10px 0px 0px;
}

.testomo__con .license__area .exambox .title__area .new {
  height: 50px;
  width: 50px;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  background-color: #FEA021;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
  position: absolute;
  font-weight: bold;
}

.testomo__con .license__area .exambox .title__area .title {
  font-size: 20px;
  margin: auto;
}

.testomo__con .license__area .exambox .title__area .title .exam {
  font-size: 28px;
}

.testomo__con .license__area .exambox .body {
  position: relative;
  height: 320px;
  background-color: #F0F8FF;
  border: 2px solid #499FE4;
  border-radius: 0px 0px 10px 10px;
  font-size: 16px;
  padding: 16px;
}

.testomo__con .license__area .exambox .body .link {
  position: absolute;
  color: #ffffff;
  bottom: 16px;
  right: 0;
  left: 0;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  padding: 4px;
  margin: 0px 16px;
  border-radius: 5px;
  background-color: #1462A0;
  text-decoration: none;
}

.testomo__con .license__area .exambox .body .link .coming {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  font-weight: bold;
  border-radius: 5px;
  background-color: #000000a8;
  text-decoration: none;
}

.testomo__con .license__area .exambox .body .link .new_tab {
  height: 26px;
  width: 18px;
  margin-left: 8px;
  margin-top: 4px;
}

.testomo__con .flow__area .flowbox {
  position: relative;
  width: 200px;
  margin: 32px 75px;
  text-align: center;
  font-weight: bold;
  font-size: 22px;
}

.testomo__con .flow__area .flowbox:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 260px;
  transform: translateY(-50%);
  border: 28px solid transparent;
  border-left: 35px solid #FCA23C;
}

.testomo__con .flow__area .flowbox .title {
  margin-bottom: 8px;
}

.testomo__con .testomo__pickup {
  width: 90%;
  padding: 18px 24px;
  background: #E9E9E9;
  border-radius: 10px;
  margin: auto;
}

.testomo__con .testomo__pickup li {
  font-size: 16px;
}

.testomo__con .testomo__pickup li::before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 10px;
  border-left: 3px solid #FF0000;
  border-bottom: 3px solid #FF0000;
  transform: rotate(-45deg);
  margin-right: 10px;
  margin-bottom: 4px;
}

.testomo__con .column__area .harfbox {
  width: 500px;
  margin: 15px;
}

.testomo__con .column__area .harfbox .sub__title {
  text-align: center;
  font-size: 22px;
  color: #1462A0;
  border-bottom: solid 1px #1462A0;
}

.testomo__con .column__area .harfbox .sub__text {
  text-align: center;
}

.testomo__con .column__area .harfbox table {
	border: 1px solid #1462A0;
  width: 90%;
  margin: auto;
  margin-top: 24px;
}

.testomo__con .column__area .harfbox table th {
	border: 1px solid #1462A0;
  color: #1462A0;
  background-color: #D8EDFF;
  padding: 0px 10px;
}

.testomo__con .column__area .harfbox table td {
	border: 1px solid #1462A0;
  padding: 0px 10px;
}

.testomo__footer .testomo__img {
  text-align: center;
  margin-top: 20px;
}

.testomo__footer .testomo__img img {
  margin-top: 30px;
  margin-bottom: 30px;
  height: 200px;
}

@media screen and (max-width: 767px) {
  .testomo__header .header__area,
  .testomo__con .about,
  .testomo__con .license__area,
  .testomo__con .flow__area,
  .testomo__con .column__area {
    flex-direction: column;
  }

  .testomo__header {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .testomo__header .header__area .headerbox {
    width: 100%;
    text-align: center;
  }

  .testomo__header .header__area .headerbox .qbookicon {
    width: 80%;
    margin-top: 16px;
  }

  .testomo__header .header__area .headerbox .testomo__exam .icon {
    height: 28vw;
    width: 28vw;
    font-size: 5vw;
  }

  .testomo__header .header__area .headerbox .testomo__exam .icon .secondrow::after {
    height: 5vw;
    width: 4.2vw;
    margin-left: 6px;
  }

  .testomo__header .header__area .versionbox {
    display: block;
  }

  .testomo__header .header__area .versionbox .label {
    padding: 0px;
    margin: 0px;
  }

  .testomo__header .header__area .versionbox .label::before {
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 1px;
    background: #ffffff;
  }

  .testomo__header .header__area .versionbox .label span {
    position: relative;
    padding: 0 1em;
    background: #44A0E9;
  }

  .testomo__con .testomo__title {
    font-size: 18px;
  }

  .testomo__con .license__area .exambox {
    margin: 0;
    margin-bottom: 24px;
    width: 100%;
  }

  .testomo__con .license__area .exambox .body {
    height: auto;
  }

  .testomo__con .license__area .exambox .body .link {
    position: relative;
    margin-top: 32px;
    display: block;
  }

  .testomo__con .flow__area .flowbox {
    width: 70%;
    margin: auto;
    margin-bottom: 48px;
  }

  .testomo__con .flow__area .flowbox:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    transform: translate(-50%, 103%);
    border-top: 20px solid #FCA23C;
    border-right: 24px solid transparent;
    border-left: 24px solid transparent;
  }

  .testomo__con .column__area .harfbox {
    width: 100%;
    margin: 0px;
    margin-bottom: 24px;
  }

  .testomo__con .column__area .harfbox:last-child {
    margin: 0;
  }

  .testomo__con .column__area .harfbox table tr {
    display: flex;
    flex-direction: column;
  }
}

@media screen and (max-width: 399px) {
  .testomo__header .header__area .headerbox h2 br {
    display: block;
  }
}

/* =========================================================
 共通ボタンデザイン 2023/4/12
========================================================= */
.whitebutton__area {
  margin-top: auto;
  text-align: center;
}

.whitebutton__area + .whitebutton__area {
  margin-top: 24px;
}

.whitebutton__area .loginmessage {
  margin-bottom: 24px;
  font-size: 16px;
}

.whitebutton__area .whitebutton {
  font-size: 15px;
  font-weight: normal;
  padding: 0px 40px;
  text-decoration: none;
  border: 1px solid #707070;
  border-radius: 5px;
  background-color: white;
  color: #707070;
  display: inline-block;
  cursor: pointer;
  height: 35px;
  line-height: 33px;
}

.whitebutton__area .whitebutton.next,
.whitebutton__area .whitebutton.icon {
  padding-right: 32px;
}

.whitebutton__area .whitebutton.prev {
  padding-left: 32px;
}

.whitebutton__area .whitebutton .icon {
  padding-left: 8px;
  line-height: 0px;
}

.whitebutton__area .whitebutton .icon svg {
  fill: #707070;
}

.whitebutton__area .whitebutton.next::after {
  content: '▶';
  padding-left: 8px;
  color: #707070;
}

.whitebutton__area .whitebutton.prev::before {
  content: '◀';
  padding-right: 8px;
  color: #707070;
}

.whitebutton__area .whitebutton:hover {
  color: #fff;
  border: 1px solid #1396e8;
  background-color: #1396e8;
}

.whitebutton__area .whitebutton.next:hover::after,
.whitebutton__area .whitebutton.prev:hover::before {
  color: #fff;
}

.whitebutton__area .whitebutton:hover .icon svg {
  fill: #fff;
}

.whitebutton__area .whitebutton.delete {
  color: #fff;
  border: 1px solid #d43131;
  background-color: #d43131;
}

.whitebutton__area .whitebutton.done {
  color: #fff;
  border: 1px solid #00b943;
  background-color: #00b943;
}

.whitebutton__area .whitebutton.done:hover {
  opacity: .8;
}

.whitebutton__area .whitebutton.done:disabled {
  color: #fff;
  border: 1px solid #c7c7c7;
  background-color: #c7c7c7;
  cursor: default;
}

.whitebutton__area .whitebutton.done:disabled:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .whitebutton__area {
    margin-top: 24px;
  }

  .whitebutton__area .whitebutton {
    font-size: 12px;
  }

  .whitebutton__area button.whitebutton {
    line-height: 28px;
  }

  .whitebutton__area #nextlesson {
    margin: 8px auto;
    order: 0;
  }

  .whitebutton__area #prevlesson {
    margin: 8px auto;
    order: 1;
  }

  .whitebutton__area .loginmessage {
    margin-bottom: 24px;
    font-size: 14px;
  }
}

.squareButton {
  font-size: 14px;
  font-weight: normal;
  padding: 0px 40px;
  text-decoration: none;
  border-radius: 5px;
  color: #ffffff;
  display: inline-block;
  cursor: pointer;
  height: 40px;
  line-height: 40px;
  min-width: 320px;
  background-color: #0F58A4;
  border: 1px solid #0F58A4;
  box-shadow: 0px 2px 4px #000000;
  margin: auto;
  text-align: center;
}

.squareButton:hover {
  opacity: .8;
}

.squareButton.gray {
  background-color: #878787;
  border: 1px solid #878787;
}

.squareButton.red {
  background-color: #ba1212;
  border: 1px solid #ba1212;
}

.squareButton.black {
  background-color: #2a2a2a;
  border: 1px solid #2a2a2a;
}

.squareButton + .squareButton {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {
  .squareButton {
    font-size: 12px;
    min-width: auto;
  }
}

/* =========================================================
 /login
========================================================= */
.loginlinkbox {
  margin-bottom: 32px;
  text-align: center;
}

.loginlinkbox * {
  margin-top: 16px;
}

@media screen and (min-width: 768px) {
  .signup__box.login__area {
    flex-direction: column;
    width: 540px;
  }

  .signup__box.login__area .error_text {
    margin-left: 8px;
  }
}

/* =========================================================
 社内設置バナー
========================================================= */
.originalBannerArea {
  text-align: center;
}

/* =========================================================
 新規登録バナー
========================================================= */
.signupMeritBannerArea {
  padding: 32px 0px;
  background: linear-gradient(#ffffffcf, #ffffffcf),url(/assets/img/registmerit.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 80%;
  color: #000000;
}

.signupMeritBannerArea .signupMeritBannerInner {
  display: flex;
  flex-direction: column;
  max-width: 1060px;
  margin: 0px auto;
  text-align: center;
  padding: 0px 16px;
}

.signupMeritBannerArea .signupMeritBannerInner h2 {
  font-size: 28px;
  letter-spacing: 3.84px;
}

.signupMeritBannerArea .signupMeritBannerInner p {
  font-size: 16px;
  margin-bottom: 16px;
}

.signupMeritBannerArea .signupMeritBannerInner .contentsArea {
  display: flex;
  justify-content: space-around;
}

.signupMeritBannerArea .signupMeritBannerInner .contentsArea .contestBox {
  display: flex;
  flex-direction: column;
  width: calc(100% / 3);
}

.signupMeritBannerArea .signupMeritBannerInner .contentsArea .contestBox .imgArea {
  width: 130px;
  height: 130px;
  margin: auto;
  padding: 36px;
  background-color: #ffffff;
  border-radius: 113px;
}

.signupMeritBannerArea .signupMeritBannerInner .contentsArea .contestBox .imgArea img {
  width: 100%;
  height: 100%;
}

.signupMeritBannerArea .signupMeritBannerInner .contentsArea .contestBox p {
  font-size: 14px;
  margin-top: 16px;
}

.signupMeritBannerArea .signupMeritBannerInner .signupLink {
  font-size: 14px;
  font-weight: normal;
  padding: 0px 40px;
  text-decoration: none;
  border-radius: 5px;
  color: #ffffff;
  cursor: pointer;
  height: 40px;
  line-height: 40px;
  min-width: 320px;
  background-color: #0F58A4;
  border: 1px solid #0F58A4;
  box-shadow: 0px 2px 4px #000000;
  text-align: center;
  position: relative;
  margin: 24px auto;
  letter-spacing: 1.4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.signupMeritBannerArea .signupMeritBannerInner .signupLink::after {
  content: "";
  position: absolute;
  right: 16px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .signupMeritBannerArea .signupMeritBannerInner h2 {
    font-size: 20px;
  }

  .signupMeritBannerArea .signupMeritBannerInner p {
    font-size: 14px;
  }

  .signupMeritBannerArea .signupMeritBannerInner .contentsArea {
    flex-direction: column;
    margin: auto;
  }

  .signupMeritBannerArea .signupMeritBannerInner .contentsArea .contestBox {
    display: flex;
    flex-direction: initial;
    margin: 0px;
    width: 100%;
  }

  .signupMeritBannerArea .signupMeritBannerInner .contentsArea .contestBox .imgArea {
    min-width: 100px;
    max-width: 100px;
    width: 100px;
    height: 100px;
    margin: 16px;
    padding: 26px;
  }

  .signupMeritBannerArea .signupMeritBannerInner .contentsArea .contestBox p {
    font-size: 13px;
    margin: auto;
  }

  .signupMeritBannerArea .signupMeritBannerInner .signupLink {
    font-size: 12px;
    min-width: auto;
  }
}

/* =========================================================
 BEM記法によるデザイン作成
========================================================= */
/* =========================================================
  mainタグ専用
========================================================= */
.main {
}
.main--top {
  display: flex;
  flex-direction: column;
  gap: 136px;
  align-items: center;
}
.main--blog {
  display: flex;
  flex-direction: column;
  gap: 80px;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .main--top {
    gap: 80px;
  }
}
/* =========================================================
  sectionタグ専用
========================================================= */
.section {
}
/* コンテンツ */
.section--content {
  max-width: 1060px;
  width: 100%;
  box-sizing: content-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 48px;
}
/* ワイドコンテンツ */
.section--content-wide {
  box-sizing: content-box;
  width: 100%;
  position: relative;
}
.section--banner {
  padding: 0px 24px;
}

@media screen and (max-width: 767px) {
  .section--content {
    width: calc(100% - 48px);
  }
}
/* =========================================================
  contentブロック
========================================================= */
.content {
}
.content--3per2column {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 40px;
}

@media screen and (max-width: 767px) {
  .content--3per2column {
    grid-template-columns: 1fr;
  }
}

/* リストボックス */
.listbox {
}
.listbox--1column {
  display: grid;
  gap: 24px;
}

/* リスト */
.list {
}
.list--6column {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 24px;
}
.list--3column {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
}
.list--2column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.list--1column {
  display: grid;
  gap: 24px;
}
.list--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .list--6column {
    grid-template-columns: 1fr 1fr;
  }
  .list--3column {
    grid-template-columns: 1fr;
  }
}

/* テキストボックス */
.textbox {
}
.textbox--header-main {
  position: relative;
  display: flex;
  justify-content: space-between;
  border-bottom: inset 1px #0F58A4;
}
.textbox--header-sub {
  display: flex;
  justify-content: space-between;
  border-left: solid 5px #0F58A4;
  margin-bottom: 24px;
  padding-left: 8px;
}
.textbox--3column {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}
.textbox--1column {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
}
.textbox--eventdate {
  display: flex;
  padding: 8px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.textbox--footer {
  display: flex;
  justify-content: flex-end;
}
.textbox--col-evenly {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .textbox--eventdate {
    grid-row: 2;
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
  }
}

/* テキスト */
.text {
}
.text--header-main-eg {
  position: absolute;
  bottom: 16px;
  left: -16px;
  color: #BEE2FF;
  font-size: 48px;
  font-weight: bold;
  letter-spacing: 2.4px;
  line-height: 48px;
}
.text--header-main-jp {
  z-index: 1;
  color: #0F58A4;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 2.4px;
  line-height: 32px;
}
.text--header-main-sub {
  color: #0F58A4;
  font-size: 12px;
  letter-spacing: 0.8px;
  margin-top: auto;
}
.text--column-title {
  color: #0F58A4;
  font-size: 16px;
  letter-spacing: 1.6px;
  line-height: 2;
}
.text--column-body {
  color: #707070;
  font-size: 14px;
  letter-spacing: 0.8px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  line-height: 2;
}
.text--event {
  color: #212A67;
  font-size: 16px;
  letter-spacing: 1.6px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 2;
  font-weight: bold;
}
.text--more {
  position: relative;
  color: #0F58A4;
  font-size: 16px;
  margin-top: auto;
  padding-right: 10px;
  text-decoration: none;
}
.text--more::after {
  content: "";
  clip-path: polygon(0 93%, 85% 93%, 85% 70%, 100% 100%, 0 100%);
  position: absolute;
  background: #0F58A4;
  width: 56px;
  height: 100%;
  right: 0;
}
.text--large {
  color: #0F58A4;
  font-size: 20px;
  letter-spacing: 0.8px;
}
.text--large-bold {
  color: #0F58A4;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.8px;
}
.text--medium {
  color: #0F58A4;
  font-size: 16px;
  letter-spacing: 0.8px;
}
.text--medium-bold {
  color: #0F58A4;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.8px;
}
.text--small {
  color: #0F58A4;
  font-size: 12px;
  letter-spacing: 0.8px;
}
.text--small-gray {
  color: #707070;
  font-size: 12px;
  letter-spacing: 0.8px;
}
.text--qumias {
  color: #ffffff;
  background-color: #5fa3da;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1.6px;
  line-height: 1.5;
  padding: 16px 0px;
}
.text--emphasis-number {
  font-family: "Oswald", "メイリオ", sans-serif;
  font-size: 16px;
}
.text--search-genre {
  font-weight: bold;
  border-bottom: 1px dotted #a5a5a5;
  margin-bottom: 8px;
}
.text--category {
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 2;
  width: 100%;
  color: #0f58a4;
}
.text--category::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #BEE2FF;
  margin-right: 8px;
}
.text--category::after {
  content: "";
  flex-grow: 1;
  border-top: 2px dashed #BEE2FF;
  margin-left: 8px;
}

@media screen and (max-width: 767px) {
  .text--header-main-eg {
    font-size: 30px;
    line-height: 30px;
  }
  .text--header-main-jp {
    font-size: 28px;
    line-height: 36px;
  }
  .text--header-main-sub {
    position: absolute;
    letter-spacing: 0.4px;
    font-size: 11px;
    top: 40px;
  }
}

/* サムネイルボックス */
.imagebox {
  width: 100%;
  position: relative;
}
.imagebox--content-wide {
  height: 410px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.imagebox--banner {
  max-height: 90px;
  display: flex;
}
.imagebox--book {
  height: 100%;
}

@media screen and (max-width: 767px) {
  .imagebox--content-wide {
    transform: skewX(0deg);
    height: 57vw;
    align-items: flex-start;
  }
  .imagebox--home-tools {
    max-width: 200px;
    margin: auto;
  }
}

/* サムネイル */
.thumbnail {
  width: 100%;
}
.thumbnail--content-wide {
  height: 410px;
  object-fit: contain;
}
.thumbnail--banner {
  max-height: 90px;
}
.thumbnail--book {
  height: 100%;
  object-fit: fill;
}

.thumbnail--elearning {
  object-fit: cover;
  aspect-ratio: 1.7;
}

@media screen and (max-width: 767px) {
  .thumbnail--content-wide {
    transform: skewX(0deg) scale(1);
    height: auto;
    max-height: 57vw;
    min-width: 100%;
  }
}

/* サムネイルレイヤー */
.thumbnail-info {
  position: absolute;
  display: flex;
  align-items: baseline;
  justify-content: center;
  text-align: center;
  letter-spacing: 1.6px;
  padding: 4px 8px;
  gap: 4px;
}
.thumbnail-info--series-count {
  color: #ffffff;
  background-color: #1b1b1bcc;
  border-radius: 5px 0px 0px;
  bottom: 0;
  right: 0;
}
.thumbnail-info--ranking {
  color: #ffffff;
  background-color: #0f58a4;
  border-radius: 5px 0px;
  top: 0;
  left: 0;
}
.thumbnail-info--writer {
  color: #ffffff;
  background-color: #1b1b1bcc;
  border-radius: 5px;
  bottom: 0;
  right: 0;
  font-size: 16px;
}

/* リンク */
.link {
  text-decoration: none;
}
.link--1column {
  width: 100%;
  display: flex;
  flex-direction: column;
  text-decoration: none;
}
.link--event {
  display: grid;
  grid-template-columns: 15% 25% 60%;
}
.link--elearning {
  border: 8px solid #fec700;
  position: relative;
}
.link--elearning::after {
  content: "無料お試し版";
  position: absolute;
  text-align: center;
  font-weight: bold;
  height: 25px;
  width: 150px;
  left: -12%;
  top: 7%;
  background-color: #fec700;
  transform: rotate(315deg);
}

@media screen and (max-width: 767px) {
  .link--event {
    grid-template-columns: 1fr;
  }
}

/* 情報 */
.info {
}
.info--column {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}

/* =========================================================
  Slickスライダー専用
========================================================= */
/* デフォルトクラス設定 */
.slider {
}
.slider {
  position: relative;
  margin: 0px;
  opacity: 0;
  transition: .3s;
}
.slider.slick-initialized {
  opacity: 1;
}

/* スライダー矢印要素 */
.slick-slider .slick-arrow {
  font-size: 0px;
  position: absolute;
  display: inline-block;
  z-index: 1;
  top: 50%;
  bottom: 50%;
  color: #ffffff;
  text-decoration: none;
  width: 24px;
  height: 24px;
  filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 1.0));
}
.slick-slider .slick-prev {
  left: 1%;
  border: 0;
  border-bottom: solid 2px #ffffff;
  border-left: solid 2px #ffffff;
}
.slick-prev:before {
  margin-left: 0 !important;
  margin-top: 2px;
}

.slick-slider .slick-next {
  right: 1%;
  border: 0;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
}
.slick-next:before {
  margin-left: 0 !important;
}

/* メインページスライダー */
.section--content-wide .slick-slider .slick-next {
  transform: translate(384px, -50%) rotate(45deg);
  right: 50%;
}
.section--content-wide .slick-slider .slick-prev {
  transform: translate(-384px, -50%) rotate(45deg);
  left: 50%;
}

@media screen and (max-width: 767px) {
  .section--content-wide .slick-slider .slick-prev {
    transform: translate(0, -50%) rotate(45deg);
    left: 8px;
  }
  .section--content-wide .slick-slider .slick-next {
    transform: translate(0, -50%) rotate(45deg);
    right: 8px;
  }
}

/* スライダーリスト要素 */
.slick-slider .slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-slider .slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-slider .slick-track:before,
.slick-slider .slick-track:after {
  content: "";
  display: table;
}
.slick-slider .slick-slide {
  float: left;
  min-height: 1px;
}
.slick-slider .slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

/* スライダードット要素 */
.slick-slider .slick-dots {
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  margin-top: 16px;
}
.slick-slider .slick-dots li {
  position: relative;
  display: inline-block;
  height: 5px;
  width: 5px;
  margin: 0 10px;
  padding: 0;
  cursor: pointer;
}
.slick-slider .slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  width: 20px;
  height: 5px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  cursor: pointer;
}
.slick-slider .slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 20px;
  height: 5px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: CurrentColor;
  border-radius: 1em;
  transition: .3s;
}
.slick-slider .slick-dots li button:hover:before {
  background-color: #212A67;
  opacity: 1;
}
.slick-slider .slick-dots li.slick-active button:before {
  background-color: #212A67;
  opacity: 0.75;
}

@media print, screen and (max-width: 568px) {
  .slick-prev:before, [dir='rtl'] .slick-prev:before,
  .slick-next:before, [dir='rtl'] .slick-next:before {
      width: 22px !important;
      height: 22px !important;
  }
}

/* =========================================================
  Slickスライダー領域別
========================================================= */
.slider__element {
}

/* QbookTOPワイド型スライダー領域専用 */
.slider--content-wide-with-text .slick-dots {
  position: absolute;
  bottom: -32px !important;
  width: 100%;
  left: 50%;
  transform: translate(-50%, 0);
}

/* ワイド型スライダー領域専用 */
.slider__element--content-wide {
  display: block;
  position: relative;
  width: 720px;
  height: 410px;
}
.slider__element--content-wide:not(.slick-center)::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: rgba(0, 0, 0, .5);
  top: 0;
  left: 0;
}
/* バナー領域専用 */
.slider__element--banner {
  display: block;
  position: relative;
  width: 728px;
  max-height: 90px;
  margin: 0px 24px;
}
@media screen and (max-width: 767px) {
  .slider__element--content-wide {
    width: 100vw;
    height: 57vw;
  }
  .slider__element--banner {
    width: calc(100vw - 48px);
  }
}

/* QbookTOPツール領域専用 */
.slider--tools .slick-track {
  display: flex;
}

.slider__element--tools {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: space-between;
  gap: 48px;
  overflow: hidden;
}

/* =========================================================
  パーツ要素
========================================================= */
/* ミニマルデザイン専用 */
.minimalbox {
  box-shadow: 0px 1px 4px #00000042;
  border-radius: 5px;
  overflow: hidden;
  transition: .2s;
}
a.minimalbox:hover {
  box-shadow: 0px 2px 5px 2px #00000042;
  opacity: 1;
}

/* 会員限定アイコン */
.members-only {
  background-color: #0f58a4cc;
  border-radius: 5px;
  padding: 5px;
  max-height: 25px;
  min-height: 25px;
  max-width: 25px;
  min-width: 25px;
}

/* カテゴリ要素 */
.category {
}
.category--column {
  font-size: 12px;
  padding: 1px 8px;
  color: #0F58A4;
  border: 1px solid #0F58A4;
  display: inline-block;
  border-radius: 3px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.category--event {
  font-size: 12px;
  padding: 1px 8px;
  color: #fff;
  background: #aaaaaa;
  display: inline-block;
  border-radius: 3px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.category--list {
  font-size: 12px;
  padding: 8px 16px;
  color: #000000;
  border: 1px solid #dddddd;
  background-color: #f8f8f8;
  display: inline-block;
  border-radius: 3px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

/* 記事更新日 */
.columndate {
  font-size: 12px;
  letter-spacing: 0.8px;
  color: #707070;
  white-space: nowrap;
  margin-left: auto;
}

/* ボタン要素 */
.square-button {
  font-size: 14px;
  font-weight: normal;
  padding: 0px 40px;
  text-decoration: none;
  border-radius: 5px;
  color: #ffffff;
  display: inline-block;
  cursor: pointer;
  height: 40px;
  line-height: 40px;
  min-width: 310px;
  background-color: #0F58A4;
  border: 1px solid #0F58A4;
  box-shadow: 0px 2px 4px #000000;
  margin: auto;
  text-align: center;
}
.square-button--line {
  color: #0f58a4;
  letter-spacing: 1.4px;
  box-shadow: none;
  border: 1px solid #0f58a4;
  background-color: #ffffff;
}

/* ページネーション要素 */
.pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  gap: 8px;
  width: 100%;
}
.pagination__link {
  color: #00294a;
  background-color: #f2f2f2;
  padding: 8px;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  width: 100%;
  max-width: 40px;
}
.pagination__link.active {
  color: #f2f2f2;
  background-color: #00294a;
}
.pagination__link--prev {
  background: url(/column/img/arrow__left.png);
  background-repeat: no-repeat;
  background-position: center center;
}
.pagination__link--next {
  background: url(/column/img/arrow__right.png);
  background-repeat: no-repeat;
  background-position: center center;
}

/* =========================================================
 記事固有要素
========================================================= */
/* イベント専用日付 */
.eventdate {
  font-family: "Oswald", "メイリオ", sans-serif;
  font-weight: 500;
  line-height: 1;
}
.eventdate__year {
  color: #AAAAAA;
}
.eventdate__date {
  color: #232323;
  font-size: 22px;
}
.eventdate__weekday {
  color: #232323;
  font-weight: 600;
}
.eventdate__time {
  color: #232323;
  font-size: 18px;
}
.eventdate__separate-time,
.eventdate__separate-date {
  color: #AAAAAA;
}
.eventdate__separate-time::before {
  content: "-";
}
.eventdate__separate-date::before {
  content: "▼";
}
@media screen and (max-width: 767px) {
  .eventdate__separate-date::before {
    content: "▶";
  }
}

/* テス友試験種類アイコン */
.testomo-exam-icon {
  width: 100%;
  height: 40px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1.6px;
  text-align: center;
  color: #ffffff;
  background-color: #FEA021;
  border-radius: 5px;
}

/* テス友アプリボックス */
.appbox {
  display: flex;
  gap: 16px;
}

/* 検索フォーム */
.searchbox {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 16px;
}

/* 検索方法 */
.search {
}
.search--inputform {
  display: flex;
  border-radius: 20px;
  overflow: hidden;
  margin: 0px 8px;
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  padding: 0 0 0 16px;
  width: 100%;
  max-width: 500px;
}
.search--taglist {
  display: flex;
  flex-direction: column;
}
.search--genre {
  display: flex;
  flex-direction: column;
}
.search--result {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #7b7b7b;
}

/* 検索領域で使用する要素 */
.search__input {
  background: none;
  border: none;
  outline: none;
  height: 40px;
  display: block;
  width: calc(100% - 40px);
}
.search__button {
  display: block;
  background: url(/assets/img/ico--search.png) no-repeat center/20px;
  border-radius: 38px;
  width: 38px;
  height: 38px;
  margin: 1px;
}
.search__taglist {
  height: 33px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  overflow: hidden;
  padding-bottom: 8px;
  transition: all .3s;
}
.search__taglist.open {
  height: 100%;
}
.search__taglist-toggle {
  width: 100%;
  height: 25px;
  display: block;
  margin: auto;
  background-color: #dedede;
  text-align: center;
}
.search__genrelist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.search__genrelist input[type=checkbox] {
  display: none;
}
.search__genrelist span {
  padding: 4px 8px 4px 28px;
  position: relative;
  cursor: pointer;
}
.search__genrelist span::before {
  content: "";
  width: 18px;
  height: 18px;
  color: #dedede;
  border: 1px solid;
  border-radius: 5px;
  position: absolute;
  left: 4px;
  top: 5px;
  transition: all .2s ease-out;
}
.search__genrelist input[type=checkbox]:checked + span::before {
  color: #55c500;
  background-color: #55c500;
}
.search__genrelist span::after {
  content: "";
  width: 6px;
  height: 12px;
  color: #ffffff;
  position: absolute;
  left: 10px;
  top: 6px;
  border-right: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(45deg);
  opacity: 0;
}
.search__genrelist input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.search__sort {
  margin-top: auto;
  margin-left: auto;
  position: relative;
}
.search__sort .menu-hover {
  display: flex;
  align-items: center;
  border-radius: 5px;
  gap: 8px;
  padding: 0px 8px;
}
.search__sort:hover .menu-hover {
  background-color: #ebebeb;
}
.search__sort .container-hover {
  display: flex;
  flex-direction: column;
  position: absolute;
  background-color: #ffffff;
  border-radius: 5px;
  box-shadow: rgb(0 0 0 / 66%) 0px 0px 4px;
  padding: 8px 4px;
  width: 101px;
  right: 0;
  z-index: 1000;
  opacity: 0;
  transition: all .2s ease-out;
  top: 28px;
}
.search__sort:hover .container-hover {
  visibility: visible !important;
  opacity: 1;
}
.search__sort .container-hover .sortbutton {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.search__sort .container-hover .sortbutton .fa.fa-check {
  color: #ffffff;
  margin-right: 8px;
}

/* イベント記事で使用する旧要素 */
.box__writer {
  margin-top: 65px;
  margin-bottom: 50px;
}

.box__writer .title {
  font-size: 16px;
  color: #00294a;
  margin-bottom: 15px;
}

.box__writer .list__item {
  display: -webkit-box;
  display: flex;
}

@media screen and (max-width: 767px) {
  .box__writer .list__item {
    flex-wrap: wrap;
  }
}

.box__writer .list__item .item__writer {
  margin-right: 7px;
}

.box__writer .list__item .item__writer .link {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .box__writer .list__item .item__writer {
    -webkit-box-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .box__writer .list__item .item__writer {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
    text-align: center;
  }
  .box__writer .list__item .item__writer:nth-child(even) {
    margin-right: 0;
  }
}

.box__writer .list__item .item__writer figcaption {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  color: #00294a;
  margin-top: 5px;
}

.box__writer .list__item .item__writer:last-child {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .box__writer .pagination .link {
    width: 7vw;
  }
  .box__writer .pagination .link.pagination__btnPrev,
  .box__writer .pagination .link.pagination__btnNext {
    width: 10vw;
  }
  .box__writer .pagination .link.pagination__btnPrev {
    margin-right: 3vw;
  }
  .box__writer .pagination .link.pagination__btnNext {
    margin-left: 3vw;
  }
}

.box__writer .wrap__btn {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  margin-top: 30px;
}

/* カテゴリ検索へのスクロールボタン*/
.content__scroll-button {
  width: 192px;
  height: 42px;
  margin-bottom: -24px;
  color: white;
  font-size: 1.4rem;
  font-weight: bold;
  background-color: #0f58a4;
  box-shadow: 0px 0px 3px #373737;
  opacity: 0.9;
  letter-spacing: .075em;
  border-radius: 22.5px;
}
.content__scroll-button i {
  margin-right: 2px;
}

/* コード整形の行番号を削除*/
.prettyprint.linenums ol {
  list-style-type: none;
}

/* リニューアル後のパンくずリスト */
.mainWrapper .breadCrumb .inner {
  max-width: 1280px;
  padding: 16px 0px;
}

/* 左右に余白を設ける */
.mainWrapper {
  margin: auto;
  max-width: 1280px;
}

@media screen and (max-width: 767px) {
  .mainWrapper {
    max-width: 342px;
  }
}

/* 背景色：濃い青のタグ */
.commontag__primary {
  color: white;
  background-color: #212A67;
  border-radius: 4px;
  width: fit-content;
  font-size: 12px;
  padding: 4px 8px;
  line-height: 100%;
}

/* 背景色：薄水色のタグ */
.commontag__secondary {
  color: #0F58A4;
  background-color: #BEE2FF;
  border-radius: 4px;
  width: fit-content;
  font-size: 12px;
  padding: 4px 8px;
  line-height: 100%;
}

/* モーダル表示 */
.modal {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(128, 128, 128, 0.8); /* 薄いグレー + 透過 */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* モーダル表示_内側 */
.modal__inner {
  background-color: #fff;
  padding: 40px 40px 20px 40px;
  max-width: 80%;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  border-radius: 20px;
}

/* モーダル表示_画像 */
.modal__inner--img {
  max-width: 100%;
  height: auto;
  border: 1px solid #bee2ff;
}

/* モーダル表示_閉じるボタン */
.modal__inner--btn {
  padding: 8px 48px;
  color: #0f58a4;
  border: 1px solid #0f58a4;
  cursor: pointer;
  border-radius: 100px;
  width: fit-content;
}

/* サイドバー付きの表示 */
.withSidebar {
  display: flex;
  gap: 64px;
}

/* サイドバー付きの表示とする時の、左側（メインコンテンツ） */
.mainContent {
  flex: 1;
}

.sideBar {
  width: 300px;
}

.sideBar__long {
  display: flex;
  height: auto;
  align-items: flex-end;
}

.sideBar__sticky {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: sticky;
  bottom: 0;
}

body:has(.ctaContainer) .sideBar__sticky {
  bottom: 90px;
}

.pcOnly {
  display: block;
}

.pcOnlyFlex {
  display: flex;
}

.spOnly {
  display: none;
}

.spOnlyFlex {
  display: none;
}

/* 企業向け講座画面にて、下部に固定表示するボタン */
.ctaContainer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 88px;
  backdrop-filter: blur(10px); /* モザイク（ブラー）効果 */
  background-color: rgba(255, 255, 255, 0.6); /* 半透明背景 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;
}

.ctaContainer__link {
  width: 446px;
  height: 76px;
  border-radius: 100px;
  background-color: #f28c28;
  color: white;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.ctaContainer__link--subtxt {
  font-size: 12px;
}

.ctaContainer__link--maintxt {
  font-size: 24px;
}

body:has(.ctaContainer) .footer {
  margin-bottom: 88px;
}

/* 企業向け講座画面では、フローティングアクションボタンの位置を上にずらす */
body:has(.ctaContainer) .footerSignupButton,
body:has(.ctaContainer) .pageTopButton {
  bottom: 100px;
}

sup {
  vertical-align: super;
  font-size: 0.6em;
}

@media screen and (max-width: 768px) {
  .withSidebar {
    display: block;
  }

  .sideBar {
    display: none;
  }

  .pcOnly {
    display: none;
  }

  .pcOnlyFlex {
    display: none;
  }

  .spOnly {
    display: block;
  }

  .spOnlyFlex {
    display: flex;
  }

  .ctaContainer__link {
    height: 66px;
    width: 357px;
  }

  .ctaContainer__link--subtxt {
    font-size: 10px;
  }

  .ctaContainer__link--maintxt {
    font-size: 20px;
  }

  .modal__inner {
    padding: 24px;
  }
}