@charset "UTF-8";

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;
}

main {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
  list-style-type: none;
}

li {
  list-style: none;
  list-style-type: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
}

area {
  border: none;
  outline: none;
}

abbr,
acronym {
  border: 0;
}

* {
  box-sizing: border-box;
}

input,
select,
textarea {
  appearance: none;
  border: 0;
}

button {
  appearance: none;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
  background-color: transparent;
  cursor: pointer;
}

input[type=submit],
input[type=button] {
  cursor: pointer;
}

input,
textarea {
  appearance: none;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

:root {
  --color-font: #222;
  --color-white: #fff;
  --color-black: #222;
  --color-gray: #707070;
  --color-blue: #2462be;
  --color-light-blue: #b5d7ff;
  --color-purple: #e064be;
  --color-light-purple: #f7daef;
  --color-green: #1098c1;
  --color-pink: #d966a4;
  --color-light-pink: #f5e9ef;
  --color-red: #dd4559;
  --color-orange: #db831d;
  --color-yellow: #f8e23d;
  --color-bg: #eff6fe;
  --color-bg2: #eef5ff;
  --color-bg3: #d7eaff;
  --color-contact: #1098c1;
  --color-request: #e2cc27;
  --color-header: #144fa7;
}

html {
  font-size: calc(13px + 0.8vw);
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 30px;
}

@media print,
screen and (min-width: 1050px) {
  html {
    font-size: 16px;
    scroll-padding-top: 60px;
  }
}

body {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: var(--color-black);
}

.contents {
  overflow: hidden;
}

._pc {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  ._pc {
    display: block;
  }
}

._sp {
  display: block;
}

@media print,
screen and (min-width: 1050px) {
  ._sp {
    display: none;
  }
}

.column-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.171875rem;
  margin-inline: auto;
}

@media print,
screen and (min-width: 1050px) {
  .column-row {
    flex-direction: row;
    gap: 4%;
  }
}

.column-row+p {
  margin-top: 0.9375rem;
}

.format-button a {
  display: block;
  width: fit-content;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  border-radius: 40px;
  background-color: #0693e3;
  color: #fff;
  font-size: 1.125em;
}

.format-button._center a {
  margin-inline: auto;
}

.single__body div+div,
.single__body div+p {
  margin-top: 1.40625rem;
}

.single__body p._medium {
  font-size: 20px;
}

.single__body p._large {
  font-size: 24px;
}

/*--------------------------------------------
header
---------------------------------------------*/
.header {
  position: relative;
  background-color: var(--color-header);
  z-index: 999;
}

.header.fixed {
  position: fixed;
  top: 0;
  width: 100%;
}

.header__nav-area {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9;
  max-height: 100vh;
  width: 100%;
  max-width: 18.75rem;
  visibility: hidden;
  padding-top: 50px;
  padding-bottom: 50px;
}

.header__nav-area.-active {
  right: 0;
  background-color: var(--color-blue);
  visibility: visible;
}

.footer {
  padding-top: 5.484375rem;
  background-color: #2c2c2c;
}

.footer__head {
  display: flex;
  justify-content: center;
  background: url("/wp-content/themes/jsol/assets/img/footer/bg.svg") no-repeat bottom center/contain;
}

.footer__body {
  padding-bottom: 4.03125rem;
}

.footer__button {
  margin-top: 1.734375rem;
}

.footer__logo img {
  height: 2.90625rem;
}

.footer__pic {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.9375rem;
}

@media print,
screen and (min-width: 1050px) {
  .footer__pic {
    flex-direction: row;
    gap: 1.96875rem;
  }
}

.footer__menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 2.34375rem;
  color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .footer__menu {
    margin-top: 1.40625rem;
  }
}

.footer__menu a {
  color: var(--color-white);
  text-decoration: underline;
}

.footer__menu a:hover {
  text-decoration: none;
}

.footer__menu a svg {
  width: 1.40625rem;
  vertical-align: bottom;
  fill: var(--color-white);
}

.footer__copyright {
  padding-top: 0.984375rem;
  padding-bottom: 1.265625rem;
  background-color: #3c3c3c;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--color-white);
  text-align: center;
  letter-spacing: 0.03em;
}

/*--------------------------------------------
humberger
---------------------------------------------*/
.humberger {
  position: fixed;
  top: 0.609375rem;
  right: 0.9375rem;
  width: 1.40625rem;
  height: 1.40625rem;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.34375rem;
  height: 2.34375rem;
  background-color: #144fa7;
}

.humberger.-active .humberger__line {
  background-color: transparent;
}

.humberger.-active .humberger__line::before {
  top: 0;
  transform: rotate(45deg);
}

.humberger.-active .humberger__line::after {
  top: 0;
  transform: rotate(-45deg);
}

.humberger.-active .humberger__text::before {
  content: "閉じる";
}

.humberger__line {
  position: relative;
  display: block;
  height: 2px;
  width: 24px;
  background-color: var(--color-white);
  transition: 0.4s;
}

.humberger__line:before,
.humberger__line:after {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  width: 100%;
  background-color: var(--color-white);
  transition: inherit;
}

.humberger__line:before {
  top: -6px;
}

.humberger__line:after {
  top: 6px;
}

/*--------------------------------------------
global-navigation
---------------------------------------------*/
.global-navigation {
  display: none;
}

.-active .global-navigation {
  display: flex;
  justify-content: center;
  width: 100%;
}

@media print,
screen and (min-width: 1050px) {
  .-active .global-navigation {
    display: flex;
  }
}

._news .-active .global-navigation {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  ._news .-active .global-navigation {
    display: flex;
  }
}

.global-navigation__list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  font-size: 1.03125rem;
  text-align: center;
  letter-spacing: 0.07em;
}

.global-navigation__list>li.current-menu-item {
  display: none;
}

.global-navigation__list a {
  display: block;
  padding-top: 0.609375rem;
  padding-bottom: 0.703125rem;
  font-weight: 900;
  color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .global-navigation__list a {
    padding-top: 1.078125rem;
    padding-bottom: 1.171875rem;
  }
}

.global-navigation__list a:hover {
  text-decoration: underline;
  text-decoration-thickness: 0.140625rem;
  text-underline-offset: 0.234375rem;
}

.pc-menu ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  font-size: 1.03125rem;
  text-align: center;
  letter-spacing: 0.07em;
}

@media print,
screen and (min-width: 1050px) {
  .pc-menu ul {
    flex-direction: row;
    gap: 2.15625rem;
  }
}

.pc-menu a {
  display: block;
  padding-top: 0.5625rem;
  padding-bottom: 0.703125rem;
  font-weight: 900;
  color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .pc-menu a {
    padding-top: 1.078125rem;
    padding-bottom: 1.171875rem;
  }
}

.pc-menu a:hover {
  text-decoration: underline;
  text-decoration-thickness: 0.140625rem;
  text-underline-offset: 0.234375rem;
}

.inner {
  max-width: 67.5rem;
  margin-right: auto;
  margin-left: auto;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.inner.short {
  max-width: 62.8125rem;
}

.inner.long {
  max-width: 73.125rem;
}

.pic-sp {
  overflow-x: scroll;
}

@media print,
screen and (min-width: 1050px) {
  .pic-sp {
    overflow: auto;
  }
}

.pic-sp img {
  min-width: 56.25rem;
}

.heading {
  font-size: 1.59375rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.06em;
}

@media print,
screen and (min-width: 1050px) {
  .heading {
    font-size: 1.875rem;
    line-height: 1.5;
  }
}

.heading strong {
  font-weight: 900;
}

.heading._maker strong {
  background: linear-gradient(transparent 62%, var(--color-yellow) 62%);
  font-size: 1.21875rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@media print,
screen and (min-width: 768px) {
  .heading._maker strong {
    padding-left: 0.46875rem;
    padding-right: 0.46875rem;
  }
}

@media print,
screen and (min-width: 1050px) {
  .heading._maker strong {
    font-size: 1.875rem;
  }
}

.heading span {
  font-size: 1.5rem;
  color: var(--color-green);
}

@media print,
screen and (min-width: 1050px) {
  .heading span {
    font-size: 2.34375rem;
  }
}

.heading-en {
  position: relative;
}

.heading-en__heading {
  position: absolute;
  top: 90%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  z-index: 1;
  font-size: 1.21875rem;
  font-weight: 900;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .heading-en__heading {
    top: 50%;
  }
}

.heading-en__en {
  text-align: center;
}

.heading-en__heading+.heading-en__en {
  margin-top: 2.625rem;
}

@media print,
screen and (min-width: 1050px) {
  .heading-en__heading+.heading-en__en {
    margin-top: 4.03125rem;
  }
}

.heading-en__en img {
  width: 100%;
  max-height: 2.578125rem;
  opacity: 0.8;
}

@media print,
screen and (min-width: 1050px) {
  .heading-en__en img {
    max-width: 100%;
    max-height: 4.875rem;
  }
}

.check-list {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  padding: 0.46875rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
}

@media print,
screen and (min-width: 1050px) {
  .check-list {
    font-size: 1.078125rem;
  }
}

.check-list__item {
  position: relative;
  padding-top: 0.84375rem;
  padding-bottom: 0.84375rem;
  padding-left: 1.40625rem;
  padding-right: 0rem;
}

@media print,
screen and (min-width: 1050px) {
  .check-list__item {
    padding-left: 1.875rem;
  }
}

.check-list__item::before {
  content: "";
  position: absolute;
  top: 1.125rem;
  left: 0;
  display: block;
  width: 1.21875rem;
  height: 1.21875rem;
  border-radius: 50%;
  background: url("/wp-content/themes/jsol/assets/img/common/icon_check.svg") no-repeat center/50% var(--color-orange);
}

@media print,
screen and (min-width: 1050px) {
  .check-list__item::before {
    width: 1.40625rem;
    height: 1.40625rem;
    top: 0.9375rem;
  }
}

.check-list__item+li {
  border-top: 1px dashed var(--color-gray);
}

.check-list__item strong {
  color: var(--color-blue);
  font-weight: 900;
}

.cv-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.9375rem;
}

@media print,
screen and (min-width: 1050px) {
  .cv-button {
    flex-direction: row;
    gap: 2.34375rem;
  }
}

.cv-button__button {
  width: 100%;
  max-width: 22.5rem;
  justify-content: center;
}

@media print,
screen and (min-width: 1050px) {
  .cv-button__button {
    max-width: 29.0625rem;
  }
}

.cv-button__button img {
  max-width: 1.59375rem;
  max-height: 1.59375rem;
}

@media print,
screen and (min-width: 1050px) {
  .cv-button__button img {
    max-width: 2.296875rem;
    max-height: 2.296875rem;
  }
}

.cv-button__button._contact a {
  background-color: var(--color-contact);
}

.cv-button__button._contact a:hover {
  background-color: #0f7797;
}

.cv-button__button._request a {
  background-color: var(--color-request);
}

.cv-button__button._request a:hover {
  background-color: #af9f23;
}

.cv-button a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65625rem;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-radius: 2.8125rem;
  font-size: 1.21875rem;
  font-weight: 900;
  color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .cv-button a {
    gap: 1.5rem;
    padding-top: 1.21875rem;
    padding-bottom: 1.21875rem;
    font-size: 1.40625rem;
  }
}

.fv {
  padding: 6.1875rem 0rem 6.5625rem;
  background: url("/wp-content/themes/jsol/assets/img/fv/bg_sp.jpg") no-repeat center top/cover;
}

@media print,
screen and (min-width: 1050px) {
  .fv {
    padding: 6.5625rem 0.75rem 6.9375rem;
    background: url("/wp-content/themes/jsol/assets/img/fv/bg.jpg") no-repeat center/cover;
  }
}

.fv._index {
  margin-left: -0.703125rem;
  margin-right: -0.703125rem;
}

@media print,
screen and (min-width: 1050px) {
  .fv._index {
    margin-left: 0;
    margin-right: 0;
  }
}

.fv__inner {
  position: relative;
  max-width: 81.5625rem;
  background-color: transparent;
}

@media print,
screen and (min-width: 1050px) {
  .fv__inner {
    padding-top: min(7.5vw, 7.546875rem);
    padding-bottom: 8.109375rem;
  }
}

.fv__body {
  max-width: 56.53125rem;
  margin-left: auto;
  margin-right: auto;
}

.fv__head {
  position: relative;
}

.fv__heading {
  font-size: 1.125rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.02em;
}

@media print,
screen and (min-width: 1050px) {
  .fv__heading {
    font-size: 3rem;
    line-height: 1.3;
  }
}

._index .fv__heading {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  ._index .fv__heading {
    display: block;
  }
}

.fv__heading strong {
  color: var(--color-red);
  font-weight: 900;
}

.fv__title {
  text-align: center;
}

._index .fv__title {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  ._index .fv__title {
    display: block;
  }
}

.fv__title img {
  max-width: 34.5rem;
  margin-top: 2.34375rem;
}

.fv__text {
  margin-top: 1.96875rem;
  font-size: 0.84375rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

@media print,
screen and (min-width: 1050px) {
  .fv__text {
    font-size: 1.078125rem;
  }
}

._index .fv__text {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  ._index .fv__text {
    display: block;
  }
}

.fv__subtitle {
  margin-top: 2.34375rem;
  text-align: center;
}

._index .fv__subtitle {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  ._index .fv__subtitle {
    display: block;
  }
}

.fv__subtitle img {
  max-width: 24.75rem;
}

.fv__pic {
  max-width: 28.125rem;
  margin-inline: auto;
}

@media print,
screen and (min-width: 1050px) {
  .fv__pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
  }
}

.fv__button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.8125rem;
}

.fv__note {
  margin-top: 1.265625rem;
  font-size: 0.703125rem;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

.banner-link {
  padding-top: 70px;
  padding-bottom: 70px;
  background-color: #f3f5fa;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

.banner-link__inner {
  max-width: 1240px;
  padding-left: 20px;
  padding-right: 20px;
  margin-inline: auto;
}

.banner-link__inner>div {
  display: flex;
  flex-direction: column;
  gap: 1.40625rem;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__inner>div {
    flex-direction: row;
    gap: 3%;
  }
}

.banner-link__container {
  flex: 1;
  width: 100%;
  max-width: 32.8125rem;
  margin-inline: auto;
  padding: 1.875rem 0.703125rem;
  border: 3px solid #144fa7;
  border-radius: 20px;
  background-color: #fff;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__container {
    max-width: 100%;
    padding: 46px 0.9375rem 45px;
  }
}

.banner-link__title {
  width: fit-content;
  margin-inline: auto;
  padding: 1px 20px;
  color: #264fa0;
  border: 2px solid #264fa0;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.02em;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__title {
    font-size: 24px;
  }
}

.banner-link__heading {
  margin-top: 5px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__heading {
    font-size: 24px;
    letter-spacing: 0.05em;
  }
}

.banner-link__heading strong {
  background: linear-gradient(transparent 62%, var(--color-yellow) 62%);
  font-size: 22px;
  font-weight: 900;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__heading strong {
    font-size: 34px;
  }
}

.banner-link__logo {
  max-width: 200px;
  margin-top: 30px;
  margin-inline: auto;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__logo {
    max-width: 256px;
  }
}

._container2 .banner-link__logo {
  max-width: 200px;
}

@media print,
screen and (min-width: 1050px) {
  ._container2 .banner-link__logo {
    max-width: 226px;
  }
}

.banner-link__button {
  margin-top: 30px;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__button {
    margin-top: 48px;
  }
}

._container2 .banner-link__button {
  margin-top: 40px;
}

.banner-link__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 330px;
  min-height: 60px;
  margin-inline: auto;
  border-radius: 50px;
  background-color: #144fa7;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__button a {
    max-width: 410px;
    min-height: 90px;
    font-size: 24px;
  }
}

.banner-link__button a:hover {
  background-color: #374e9e;
}

.banner-link__link {
  margin-top: 10px;
}

.banner-link__link a {
  display: block;
  margin-inline: auto;
  color: #264fa0;
  font-size: 16px;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .banner-link__link a {
    font-size: 20px;
  }
}

.info {
  padding-top: 4.21875rem;
  padding-left: 1.40625rem;
  padding-right: 1.40625rem;
  padding-bottom: 3.28125rem;
}

@media print,
screen and (min-width: 1050px) {
  .info {
    padding-top: 6.09375rem;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 7.03125rem;
  }
}

.info__head {
  position: relative;
}

.info__body {
  margin-top: 0.890625rem;
}

.info__heading {
  padding-bottom: 0.9375rem;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  line-height: 2.5;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .info__heading {
    padding-bottom: 1.875rem;
    font-size: 1.875rem;
  }
}

.info__more {
  position: absolute;
  top: 40%;
  right: 0;
}

@media print,
screen and (min-width: 1050px) {
  .info__more {
    top: auto;
    bottom: 0.46875rem;
  }
}

.news-list {
  border-top: 1px solid var(--color-gray);
  font-size: 0.84375rem;
  line-height: 1.2;
}

@media print,
screen and (min-width: 1050px) {
  .news-list {
    font-size: 0.9375rem;
  }
}

.news-list li {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  border-bottom: 1px solid var(--color-gray);
  font-weight: 500;
  line-height: 1.4;
}

@media print,
screen and (min-width: 1050px) {
  .news-list li {
    flex-direction: row-reverse;
  }
}

.news-list li:hover {
  background-color: var(--color-bg);
}

.news-list time {
  display: block;
  margin-bottom: 0.46875rem;
  font-size: 0.9375rem;
  flex-shrink: 0;
  font-weight: 900;
}

@media print,
screen and (min-width: 1050px) {
  .news-list time {
    margin-bottom: 0;
    margin-right: 2.671875rem;
    padding-left: 0.46875rem;
  }
}

.news-list a {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 0.796875rem;
  padding-bottom: 0.796875rem;
  font-weight: bold;
  color: var(--color-black);
}

@media print,
screen and (min-width: 1050px) {
  .news-list a {
    flex-direction: row;
    padding-top: 0.796875rem;
    padding-bottom: 0.796875rem;
  }
}

.more__button {
  display: flex;
  align-items: center;
  gap: 0.46875rem;
  margin-left: auto;
  font-size: 0.890625rem;
  font-weight: 700;
}

@media print,
screen and (min-width: 1050px) {
  .more__button {
    margin-left: 0;
  }
}

.more__button svg {
  margin-top: 0.75rem;
  margin-right: 0.46875rem;
  vertical-align: sub;
}

.more__button span {
  color: var(--color-black);
}

.more__button._pc {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  .more__button._pc {
    display: block;
  }
}

.more__button._sp {
  display: block;
}

@media print,
screen and (min-width: 1050px) {
  .more__button._sp {
    display: none;
  }
}

.pagetop {
  position: fixed;
  right: 0.9375rem;
  bottom: 0.9375rem;
}

@media print,
screen and (min-width: 768px) {
  .pagetop {
    right: 1.875rem;
    bottom: 1.875rem;
  }
}

.pagetop a {
  display: block;
  width: 3.28125rem;
  height: 3.28125rem;
  border-radius: 50%;
  background-color: var(--color-white);
  box-shadow: 1px 1px 5px #d9d9d9;
}

.pagetop svg {
  transform: rotate(270deg);
}

.page__head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 14.0625rem;
  padding: 0.9375rem;
  background: url("/wp-content/themes/jsol/assets/img/common/head_bg.jpg") no-repeat center bottom/cover;
}

.page__heading {
  font-size: 1.78125rem;
  color: var(--color-white);
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .page__heading {
    font-size: 2.25rem;
  }
}

.page__body {
  padding-top: 4.6875rem;
  padding-bottom: 4.6875rem;
  line-height: 2;
}

.page__body p+p,
.page__body p+ul,
.page__body p+ol {
  margin-top: 1.40625rem;
}

.page__body p+h2 {
  margin-top: 3.28125rem;
}

.page__body h2 {
  padding-bottom: 0.46875rem;
  border-bottom: 5px solid var(--color-blue);
  font-size: 1.125rem;
  font-weight: 900;
}

@media print,
screen and (min-width: 1050px) {
  .page__body h2 {
    font-size: 1.59375rem;
  }
}

.page__body h2+p,
.page__body h2+ul,
.page__body h2+ol {
  margin-top: 1.40625rem;
}

.page__body ol {
  padding-left: 1.125rem;
  list-style-type: decimal;
}

.page__body ol+p,
.page__body ol+ul {
  margin-top: 1.40625rem;
}

.page__body ol+h2 {
  margin-top: 3.28125rem;
}

.page__body ol li {
  list-style-type: decimal;
}

.page__body ol li+li {
  margin-top: 0.9375rem;
}

.page__body a {
  color: var(--color-black);
  text-decoration: underline;
}

.site-policy {
  max-width: 46.875rem;
  word-break: break-word;
}

.archive {
  padding-bottom: 8.4375rem;
}

.archive__head {
  margin-top: 1.546875rem;
}

.archive__body {
  margin-top: 3.28125rem;
}

.archive__title {
  font-size: 1.21875rem;
  font-weight: 900;
}

@media print,
screen and (min-width: 1050px) {
  .archive__title {
    font-size: 1.78125rem;
  }
}

.archive__index {
  margin-top: 2em;
}

@media print,
screen and (min-width: 1050px) {
  .archive__index {
    margin-top: 2.015625rem;
  }
}

.archive__tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.46875rem;
  margin-top: auto;
  padding-top: 0.515625rem;
  font-size: 0.609375rem;
  color: var(--color-white);
}

.archive__tag li {
  padding: 0.234375rem 1.59375rem 0.28125rem;
  border-radius: 20px;
  background-color: #649ADB;
}

.archive__time {
  margin-top: 0.234375rem;
  display: flex;
  font-size: 0.75rem;
  font-weight: bold;
  color: #000;
}

.archive__time img {
  width: 10px;
  height: 10px;
  margin-right: 0.5em;
}

.archive-link {
  display: flex;
  flex-wrap: wrap;
  gap: 0.234375rem;
  font-size: 0.65625rem;
  font-weight: 900;
}

@media print,
screen and (min-width: 1050px) {
  .archive-link {
    gap: 1.40625rem 2.34375rem;
    font-size: 1.21875rem;
  }
}

.archive-link__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(50% - 0.140625rem);
  min-width: auto;
  text-align: center;
  cursor: pointer;
}

@media print,
screen and (min-width: 1050px) {
  .archive-link__item {
    width: calc(25% - 1.875rem);
  }
}

.archive-link__item:first-child {
  width: 100%;
  font-size: 0.75rem;
}

@media print,
screen and (min-width: 1050px) {
  .archive-link__item:first-child {
    width: calc(25% - 1.875rem);
    background-color: transparent;
    font-size: 1.21875rem;
  }
}

.archive-link__item:first-child a {
  background-color: #5E9BE5;
  color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .archive-link__item:first-child a {
    background-color: transparent;
    color: #000;
  }
}

.archive-link__item:first-child a::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.936%22%20height%3D%2214.936%22%20viewBox%3D%220%200%2014.936%2014.936%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_9524%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%209524%22%20transform%3D%22translate(-155%20-196)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_27591%22%20data-name%3D%22%E3%83%91%E3%82%B9%2027591%22%20d%3D%22M7.468%2C0A7.468%2C7.468%2C0%2C1%2C1%2C0%2C7.468%2C7.468%2C7.468%2C0%2C0%2C1%2C7.468%2C0Z%22%20transform%3D%22translate(155%20196)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_27592%22%20data-name%3D%22%E3%83%91%E3%82%B9%2027592%22%20d%3D%22M3.075%2C0%2C6.15%2C5H0Z%22%20transform%3D%22translate(165.422%20200.393)%20rotate(90)%22%20fill%3D%22%235e9be5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}

@media print,
screen and (min-width: 1050px) {
  .archive-link__item:first-child a::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_9517%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%209517%22%20transform%3D%22translate(-895.351%20-1561.351)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_27591%22%20data-name%3D%22%E3%83%91%E3%82%B9%2027591%22%20d%3D%22M13%2C0A13%2C13%2C0%2C1%2C1%2C0%2C13%2C13%2C13%2C0%2C0%2C1%2C13%2C0Z%22%20transform%3D%22translate(895.351%201561.351)%22%20fill%3D%22%235e9be5%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_27592%22%20data-name%3D%22%E3%83%91%E3%82%B9%2027592%22%20d%3D%22M4.24%2C0%2C8.48%2C7.066H0Z%22%20transform%3D%22translate(913.076%201569.844)%20rotate(90)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  }
}

.archive-link__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.234375rem;
  width: 100%;
  padding-top: 0.703125rem;
  padding-bottom: 0.703125rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  background-color: #DAEAF7;
  color: var(--color-black);
}

@media print,
screen and (min-width: 1050px) {
  .archive-link__item a {
    gap: 0.46875rem;
    padding-top: 0;
    padding-bottom: 0.375rem;
    border-bottom: 0.46875rem solid #BEC0C4;
    background-color: transparent;
  }
}

.archive-link__item a::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 0.703125rem;
  height: 0.703125rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_9517%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%209517%22%20transform%3D%22translate(-895.351%20-1561.351)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_27591%22%20data-name%3D%22%E3%83%91%E3%82%B9%2027591%22%20d%3D%22M13%2C0A13%2C13%2C0%2C1%2C1%2C0%2C13%2C13%2C13%2C0%2C0%2C1%2C13%2C0Z%22%20transform%3D%22translate(895.351%201561.351)%22%20fill%3D%22%235e9be5%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_27592%22%20data-name%3D%22%E3%83%91%E3%82%B9%2027592%22%20d%3D%22M4.24%2C0%2C8.48%2C7.066H0Z%22%20transform%3D%22translate(913.076%201569.844)%20rotate(90)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media print,
screen and (min-width: 1050px) {
  .archive-link__item a::before {
    width: 1.21875rem;
    height: 1.21875rem;
  }
}

.archive-link__item a:hover {
  border-color: #5E9BE5;
}

.archive-link__item.current-cat a {
  border-color: #5E9BE5;
}

.archive-pickup {
  margin-top: 0.9375rem;
  margin-bottom: 3.28125rem;
  background-color: #fff;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup {
    margin-bottom: 6.09375rem;
    background-color: #DAEAF7;
  }
}

._case .archive-pickup {
  background-color: #EBECED;
}

.archive-pickup+.post-list {
  margin-top: 1.45em;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup+.post-list {
    margin-top: 2.75em;
  }
}

.archive-pickup-card {
  position: relative;
}

.archive-pickup-card>a {
  display: flex;
  flex-direction: column;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup-card>a {
    flex-direction: row;
  }
}

.archive-pickup-card__detail {
  display: flex;
  flex-direction: column;
}

.archive-pickup-card__term {
  margin-top: 0.46875rem;
  font-size: 0.65625rem;
  font-weight: bold;
  color: #fff;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup-card__term {
    position: relative;
    margin-top: 0;
    font-size: 1.125em;
  }
}

.archive-pickup-card__term span {
  display: inline-block;
  padding: 0.28125rem 1.171875rem 0.328125rem;
  font-size: 0.65625rem;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup-card__term span {
    padding: 0.28125rem 2.109375rem 0.28125rem;
    font-size: 0.796875rem;
  }
}

.archive-pickup-card__category {
  background-color: #000;
}

.archive-pickup-card__pickup {
  background-color: #5CC2CF;
}

.archive-pickup-card__box {
  display: flex;
  flex-direction: column;
  padding: 0.9375rem 0.75rem 0.9375rem 0.9375rem;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup-card__box {
    display: block;
    padding: 0.9375rem 1.21875rem 0 2.0625rem;
  }
}

@media print,
screen and (min-width: 1050px) {
  ._case .archive-pickup-card__box {
    padding-top: 1.875rem;
  }
}

.archive-pickup-card__time {
  margin-top: 0.6em;
  font-size: 0.85em;
  font-weight: 900;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup-card__time {
    margin-top: 0.75rem;
  }
}

.archive-pickup-card__time img {
  width: 10px;
  height: 10px;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup-card__time img {
    width: 15px;
    height: 15px;
  }
}

.archive-pickup__title {
  font-size: 1.03125rem;
  font-weight: 900;
  line-height: 1.3;
  color: #000;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup__title {
    font-size: 1.59375rem;
  }
}

.archive-pickup__title:hover {
  text-decoration: underline;
}

.archive-pickup__img {
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup__img {
    width: 50%;
  }
}

.archive-pickup__img img {
  width: 100%;
  height: 100%;
  transition: 0.5s;
  object-fit: cover;
}

.archive-pickup__img img:hover {
  transform: scale(1.1);
}

.archive-pickup__link {
  display: none;
  width: 100%;
  max-width: 10.3125rem;
  margin-top: 1.265625rem;
  margin-left: 2.0625rem;
  padding: 0.703125rem 1.03125rem;
  border-radius: 1.875rem;
  background-color: #2E76DC;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

@media print,
screen and (min-width: 1050px) {
  .archive-pickup__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
  }
}

.archive-pickup__link:hover {
  background-color: #649ADB;
}

.archive-pickup-tag {
  font-size: 0.8em;
}

.archive-pickup-tag li {
  padding: 0.234375rem 0.9375rem 0.28125rem;
}

.archive-post {
  display: flex;
}

.archive-post__img {
  position: relative;
  overflow: hidden;
}

.archive-post__img img {
  transition: 0.5s;
  width: 100%;
  object-fit: cover;
}

.archive-post__img img:hover {
  transform: scale(1.1);
}

.archive-post__term {
  width: fit-content;
  margin-top: 0.75rem;
  padding: 0.328125rem 0.75rem 0.328125rem;
  background-color: #000;
  font-size: 0.65625rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .archive-post__term {
    min-width: 7.96875rem;
  }
}

.archive-post__title {
  margin-top: 0.46875rem;
  font-size: 0.75rem;
  font-weight: 900;
  line-height: 1.4;
  color: #000;
}

@media print,
screen and (min-width: 1050px) {
  .archive-post__title {
    margin-top: 0.9375rem;
    font-size: 1.078125rem;
  }
}

.archive-post a {
  display: flex;
  flex-direction: column;
}

.archive-post__detail {
  display: flex;
  flex-direction: column;
  height: calc(100% - 230px);
}

.archive-post__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 8.4375rem;
  margin-top: 0.65625rem;
  padding: 0.703125rem 1.03125rem;
  border-radius: 1.875rem;
  background-color: #2E76DC;
  font-size: 0.65625rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

@media print,
screen and (min-width: 1050px) {
  .archive-post__link {
    gap: 0.375rem;
  }
}

.archive-post__link:hover {
  background-color: #649ADB;
}

.archive-post__link svg {
  margin-left: 0.46875rem;
}

@media print,
screen and (min-width: 1050px) {
  .archive-post__link svg {
    margin-left: 0.234375rem;
  }
}

.case {
  margin-top: 3.28125rem;
}

.case__bg {
  padding: 1.78125rem 0.9375rem;
  background-color: #EDEDED;
  text-align: center;
}

.case__logo {
  text-align: center;
}

.case__logo img {
  width: auto;
  max-width: 19.6875rem;
  max-height: 7.03125rem;
}

.case__company {
  font-size: 1.03125rem;
  letter-spacing: 0.02em;
  line-height: 2.7;
}

.case__detail {
  font-weight: 500;
  font-size: 0.796875rem;
  line-height: 1.6;
}

.case__human {
  margin-top: 1.96875rem;
  text-align: center;
}

.case__contents {
  margin-top: 3.09375rem;
}

.case__photo img {
  width: 6.5625rem;
  height: 6.5625rem;
  border-radius: 50%;
}

.case__position {
  margin-top: 0.9375rem;
  font-size: 0.84375rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.case__name {
  font-size: 1.03125rem;
}

.case__heading {
  display: flex;
  align-items: center;
  padding: 0.984375rem 1.3125rem;
  background-color: #DEDEDE;
  font-size: 1.078125rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

@media print,
screen and (min-width: 1050px) {
  .case__heading {
    font-size: 1.546875rem;
  }
}

.case__heading::before {
  content: "";
  display: inline-block;
  width: 0.46875rem;
  height: 1.875rem;
  margin-right: 0.9375rem;
  background-color: #313131;
  color: #000;
}

@media print,
screen and (min-width: 1050px) {
  .case__heading::before {
    height: 2.34375rem;
  }
}

.case__heading._color1 {
  background-color: #C8DFF0;
  color: #1D6BA3;
}

.case__heading._color1::before {
  background-color: #1D6BA3;
}

.case__heading._color2 {
  background-color: #F4DCC2;
  color: #CE7214;
}

.case__heading._color2::before {
  background-color: #DB7915;
}

.case__text+.case__heading {
  margin-top: 2.578125rem;
}

.case__text {
  margin-top: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.7;
}

.category {
  padding-bottom: 3em;
}

@media print,
screen and (min-width: 1050px) {
  .category {
    padding-bottom: 2em;
  }
}

.category__head {
  text-align: center;
  margin-top: 4.75em;
}

@media print,
screen and (min-width: 1050px) {
  .category__head {
    margin-top: 6.5em;
  }
}

.category__tit {
  display: inline-block;
  font-size: 2.1em;
  font-weight: bold;
}

.category__tit::after {
  content: "";
  display: block;
  height: 5px;
  margin-top: 6px;
  background-color: #F4B351;
}

.post-list {
  display: grid;
  gap: 2.15625rem 0.9375rem;
  grid-template-columns: 1fr 1fr;
}

@media print,
screen and (min-width: 1050px) {
  .post-list {
    gap: 3.28125rem 4.6875rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.post-list._more {
  display: none;
}

.post-list__link {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4em;
}

.post-list+.post-list {
  margin-top: 2.75em;
}

.breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.75rem;
}

.breadcrumb-list__item {
  max-width: 12.1875rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media print,
screen and (min-width: 1050px) {
  .breadcrumb-list__item {
    max-width: 18.75rem;
  }
}

.breadcrumb-list__item+.breadcrumb-list__item::before {
  content: "＞";
}

.breadcrumb-list__item a {
  color: #000;
}

.pagination {
  margin-top: 4.6875rem;
  font-size: 0.75rem;
}

@media print,
screen and (min-width: 1050px) {
  .pagination {
    font-size: 0.84375rem;
  }
}

.pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.703125rem;
}

.pagination .page-numbers {
  padding: 0.5em 0.75em;
  background-color: #ccc;
  color: var(--color-white);
}

.pagination .page-numbers.current {
  background-color: #2A74CE;
}

.single {
  padding-bottom: 8.4375rem;
}

.single__head {
  margin-top: 1.078125rem;
}

.single__meta {
  margin-top: 2.34375rem;
  margin-left: auto;
  margin-right: auto;
}

.single__category {
  display: block;
  width: fit-content;
  padding: 0.28125rem 0.46875rem;
  background-color: #000;
  font-size: 0.796875rem;
  font-weight: bold;
  color: var(--color-white);
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .single__category {
    min-width: 8.90625rem;
  }
}

.single__heading {
  margin-top: 0.9375rem;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 1.40625rem;
  font-weight: 900;
  line-height: 1.2;
}

@media print,
screen and (min-width: 1050px) {
  .single__heading {
    font-size: 1.78125rem;
  }
}

.single__time {
  margin-top: 0.65625rem;
}

.single__pic {
  width: 100%;
  max-width: 50.625rem;
  margin-top: 2.203125rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.single__pic img {
  width: auto;
  max-width: 100%;
}

.single__body {
  margin-top: 2.8125rem;
}

@media print,
screen and (min-width: 1050px) {
  .single__body {
    margin-top: 5.15625rem;
  }
}

.single__body h2 {
  display: flex;
  align-items: center;
  padding: 0.9375rem 0.9375rem 0.9375rem 1.3125rem;
  background-color: #daeaf7;
  font-size: 1.03125rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media print,
screen and (min-width: 1050px) {
  .single__body h2 {
    font-size: 1.40625rem;
  }
}

.single__body h2::before {
  content: "";
  display: inline-block;
  width: 0.5625rem;
  height: 100%;
  min-height: 2.34375rem;
  margin-right: 0.9375rem;
  flex-shrink: 0;
  background-color: #2a74ce;
}

.single__body h2+* {
  margin-top: 1.5rem;
}

.single__body._case h2 {
  padding-left: 0;
  background-color: transparent;
}

.single__body h3 {
  padding-bottom: 0.46875rem;
  border-bottom: 3px solid #2a74ce;
  font-size: 0.84375rem;
}

@media print,
screen and (min-width: 1050px) {
  .single__body h3 {
    font-size: 1.125rem;
  }
}

.single__body h3+* {
  margin-top: 1.5rem;
}

.single__body._case h3 {
  display: flex;
  align-items: center;
  padding: 0.9375rem 0.9375rem 0.9375rem 1.3125rem;
  border: 1px solid #727272;
  background-color: #ededed;
  font-size: 1.03125rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media print,
screen and (min-width: 1050px) {
  .single__body._case h3 {
    font-size: 1.21875rem;
  }
}

.single__body._case h3::before {
  content: "";
  display: inline-block;
  width: 0.5625rem;
  height: 100%;
  min-height: 1.875rem;
  margin-right: 0.9375rem;
  flex-shrink: 0;
  background-color: #171717;
}

.single__body p {
  font-size: 0.84375rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.01em;
}

@media print,
screen and (min-width: 1050px) {
  .single__body p {
    font-size: 1.03125rem;
  }
}

.single__body p+* {
  margin-top: 1.5rem;
}

.single__body p+h2 {
  margin-top: 3.75rem;
}

@media print,
screen and (min-width: 1050px) {
  .single__body p+h2 {
    margin-top: 5.625rem;
  }
}

.single__body p+h3 {
  margin-top: 1.875rem;
}

@media print,
screen and (min-width: 1050px) {
  .single__body p+h3 {
    margin-top: 3.75rem;
  }
}

.single__body p strong {
  font-weight: 900;
}

.single__body figure+* {
  margin-top: 1.5rem;
}

.single__body #ez-toc-container {
  padding: 0.9375rem 0.9375rem;
}

@media print,
screen and (min-width: 1050px) {
  .single__body #ez-toc-container {
    padding: 0.9375rem 1.875rem;
  }
}

.single__body #ez-toc-container.ez-toc-transparent {
  width: 100%;
}

.single__body #ez-toc-container li+li,
.single__body #ez-toc-container ul+li,
.single__body #ez-toc-container ul li+li,
.single__body div.ez-toc-widget-container+li,
.single__body div.ez-toc-widget-container li+li {
  margin-top: 0.9375rem;
}

.single__body div#ez-toc-container ul li {
  font-size: 0.9375rem;
}

@media print,
screen and (min-width: 768px) {
  .single__body div#ez-toc-container ul li {
    font-size: 1.03125rem;
  }
}

.single__body div#ez-toc-container nav ul ul li {
  font-size: 0.84375rem;
}

@media print,
screen and (min-width: 768px) {
  .single__body div#ez-toc-container nav ul ul li {
    font-size: 0.9375rem;
  }
}

.single__body #ez-toc-container a:hover {
  color: #2a74ce;
}

.single__body div#ez-toc-container>ul>li+li {
  margin-top: 0.9375rem;
}

.single__body #ez-toc-container ul ul,
.single__body .ez-toc div.ez-toc-widget-container ul ul {
  margin-top: 0.703125rem;
}

.single__foot {
  margin-top: 5.8125rem;
}

.single__button {
  margin-top: 2.8125rem;
}

.tag ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65625rem;
  font-size: 0.65625rem;
  color: var(--color-white);
}

.tag ul li {
  padding: 0.234375rem 1.59375rem 0.28125rem;
  border-radius: 0.9375rem;
  background-color: #649ADB;
}

.tag__heading {
  position: relative;
  top: 0.796875rem;
  left: 50%;
  width: fit-content;
  padding: 0.375rem 1.40625rem;
  background-color: #343A41;
  font-size: 0.75rem;
  font-weight: 900;
  color: var(--color-white);
  letter-spacing: 0.04em;
  transform: translateX(-50%);
}

.tag__box {
  padding: 2.25rem 2.4375rem 1.875rem;
  background-color: #EBECED;
}

.news {
  width: 100%;
}

.news>div {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 15px;
  font-size: 1em;
}

@media print,
screen and (min-width: 1050px) {
  .news>div {
    flex-direction: row;
    align-items: flex-start;
    margin-top: 0;
    font-size: 0.925em;
    flex: 1;
  }
}

.news__list {
  width: 100%;
  border-top: 1px solid #E3E3E3;
  border-bottom: 1px solid #E3E3E3;
}

.news__list a {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.5em 2.5em 1em 0.5em;
  line-height: 1.5;
  color: var(--color-font);
}

@media print,
screen and (min-width: 1050px) {
  .news__list a {
    flex-direction: row;
    padding: 0.5em 0 0.45em 0.125em;
  }
}

.news__list a:hover {
  background: var(--color-bg);
}

.news__list .news__item+.news__item {
  border-top: 1px solid #E3E3E3;
}

.news__list .news__item time {
  font-weight: bold;
}

.news__list .news__link {
  display: block;
  margin-top: 0.9375rem;
  font-size: 0.9em;
  font-weight: 500;
}

@media print,
screen and (min-width: 1050px) {
  .news__list .news__link {
    margin-top: 0rem;
    margin-left: 2em;
    font-size: 1em;
  }
}

.news__list .news__item a::after {
  content: "";
  display: block;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 1px solid var(--color-blue);
  border-right: 1px solid var(--color-blue);
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
}

@media print,
screen and (min-width: 1050px) {
  .news__list .news__item a::after {
    display: none;
  }
}

.archive-news__head {
  margin-top: 2.8125rem;
  text-align: center;
}

.archive-news__body {
  margin-top: 1.875rem;
}

.sec01 {
  padding-top: 0.9375rem;
  padding-bottom: 5.15625rem;
  background: url("/wp-content/themes/jsol/assets/img/sec01/bg_sp.png") no-repeat center bottom/cover #EBEBEB;
}

@media print,
screen and (min-width: 1050px) {
  .sec01 {
    padding-top: 3.375rem;
    padding-bottom: 7.03125rem;
    background: url("/wp-content/themes/jsol/assets/img/sec01/bg.png") no-repeat center/100% #EBEBEB;
  }
}

.sec01__body {
  margin-top: 3.75rem;
}

.sec01__box>div {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.8125rem 1.40625rem;
  border-radius: 0.9375rem;
  background-color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .sec01__box>div {
    padding: 2.8125rem 2.578125rem 2.8125rem 2.671875rem;
  }
}

.sec01__list {
  margin-left: 0;
}

.sec01__heading strong {
  font-weight: 900;
  color: var(--color-red);
}

.sec01__pic {
  margin-top: 1.6875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec01__pic {
    margin-top: 2.34375rem;
  }
}

.sec02 {
  position: relative;
  padding-top: 5.15625rem;
  padding-bottom: 5.625rem;
  background-image: url("/wp-content/themes/jsol/assets/img/sec02/bg_sp.png");
  background-color: var(--color-bg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top 1.40625rem center;
}

@media print,
screen and (min-width: 1050px) {
  .sec02 {
    padding-top: 7.03125rem;
    padding-bottom: 7.03125rem;
    background-image: url("/wp-content/themes/jsol/assets/img/sec02/bg.png");
    background-position: center;
  }
}

.sec02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  margin-left: auto;
  margin-right: auto;
  border-style: solid;
  border-width: 2.34375rem 6.09375rem 0 6.09375rem;
  border-color: #EBEBEB transparent transparent transparent;
  transform: translateX(-50%);
}

@media print,
screen and (min-width: 1050px) {
  .sec02::before {
    border-width: 2.34375rem 4.6875rem 0 4.6875rem;
  }
}

.sec02__inner {
  max-width: 56.25rem;
}

.sec02__body {
  margin-top: 6rem;
}

.sec02__heading {
  font-size: 1.3125rem;
  letter-spacing: 0;
}

@media print,
screen and (min-width: 1050px) {
  .sec02__heading {
    font-size: 1.40625rem;
  }
}

.sec02__heading strong {
  display: block;
  margin-top: 0.46875rem;
  font-size: 1.6875rem;
  color: var(--color-green);
}

@media print,
screen and (min-width: 1050px) {
  .sec02__heading strong {
    display: inline;
    font-size: 1.875rem;
  }
}

.sec02__heading strong ._maker {
  background: linear-gradient(transparent 62%, var(--color-yellow) 62%);
  font-size: 1.6875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec02__heading strong ._maker {
    font-size: 1.875rem;
  }
}

.sec02-list {
  padding-left: 1.40625rem;
  padding-right: 1.40625rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec02-list {
    padding-left: 0;
    padding-right: 0;
  }
}

.sec02-list>div {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.9375rem;
  margin-top: 1.875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec02-list>div {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 3.75rem 2.578125rem;
    margin-top: 2.34375rem;
  }
}

.sec02-list__item {
  width: 100%;
}

@media print,
screen and (min-width: 1050px) {
  .sec02-list__item {
    max-width: 15.9375rem;
  }
}

.sec02-list__item>div {
  display: flex;
}

@media print,
screen and (min-width: 1050px) {
  .sec02-list__item>div {
    display: block;
  }
}

.sec02-list__item:nth-child(2)>div {
  flex-direction: row-reverse;
}

.sec02-list__heading {
  position: relative;
  width: 100%;
  max-width: 14.0625rem;
  height: min-content;
  margin-top: auto;
  margin-bottom: auto;
  padding: 0.5625rem 0.46875rem;
  background-color: var(--color-black);
  font-weight: 900;
  font-size: 0.75rem;
  color: var(--color-white);
  text-align: center;
  line-height: 1.5;
}

@media print,
screen and (min-width: 1050px) {
  .sec02-list__heading {
    max-width: 80%;
    margin-top: -0.9375rem;
    margin-bottom: 0;
    margin-inline: auto;
    padding-top: 0.5625rem;
    padding-bottom: 0.5625rem;
    font-size: 0.984375rem;
  }
}

.sec02-list__pic {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 10.3125rem;
  margin-right: -1.21875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec02-list__pic {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.sec03 {
  position: relative;
  padding-top: 4.6875rem;
  padding-bottom: 4.6875rem;
  background-image: url("/wp-content/themes/jsol/assets/img/sec03/bg_sp.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media print,
screen and (min-width: 1050px) {
  .sec03 {
    padding-top: 7.03125rem;
    padding-bottom: 7.03125rem;
    background-image: url("/wp-content/themes/jsol/assets/img/sec03/bg.png");
  }
}

.sec03::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  margin-left: auto;
  margin-right: auto;
  border-style: solid;
  border-width: 2.34375rem 6.09375rem 0 6.09375rem;
  border-color: #EFF6FE transparent transparent transparent;
  transform: translateX(-50%);
}

@media print,
screen and (min-width: 1050px) {
  .sec03::before {
    border-width: 2.34375rem 4.6875rem 0 4.6875rem;
  }
}

.sec03__heading {
  font-size: 1.40625rem;
  letter-spacing: 0;
}

.sec03__heading ._maker {
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(transparent 62%, var(--color-yellow) 62%);
  font-size: 1.6875rem;
  color: var(--color-black);
}

@media print,
screen and (min-width: 1050px) {
  .sec03__heading ._maker {
    font-size: 1.875rem;
  }
}

.sec03__heading::first-line {
  line-height: 2;
}

.sec03__body {
  margin-top: 1.875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec03__body {
    margin-top: 2.34375rem;
  }
}

.sec03__text {
  max-width: 18.75rem;
  margin-top: 1.875rem;
  margin-inline: auto;
}

@media print,
screen and (min-width: 1050px) {
  .sec03__text {
    max-width: 46.40625rem;
    margin-top: 0;
  }
}

.sec03__box {
  max-width: 54.375rem;
  margin-left: auto;
  margin-right: auto;
}

.sec03__foot {
  margin-top: 1.875rem;
  margin-inline: auto;
  max-width: 53.4375rem;
}

.sec03-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.6875rem;
  width: 100%;
  font-size: 0.84375rem;
  font-weight: 900;
  line-height: 1.3;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-list {
    flex-direction: row;
    gap: 0.84375rem 2.25rem;
    font-size: 0.984375rem;
    line-height: 1.5;
  }
}

.sec03-list__item {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 0.65625rem;
  width: 100%;
  min-height: 5.34375rem;
  padding-top: 1.875rem;
  padding-bottom: 1.5rem;
  padding-left: 1.21875rem;
  padding-right: 1.21875rem;
  border-radius: 0.65625rem;
  background-color: var(--color-white);
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-list__item {
    flex-direction: row;
    gap: 0.9375rem;
    padding-top: 1.5rem;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    text-align: left;
  }
}

.sec03-list__item::before {
  content: "";
  position: absolute;
  top: -1.171875rem;
  left: 50%;
  display: block;
  flex-shrink: 0;
  width: 2.34375rem;
  height: 2.34375rem;
  border-radius: 50%;
  background: url("/wp-content/themes/jsol/assets/img/common/icon_check.svg") no-repeat center/50% var(--color-red);
  transform: rotate(-3deg) translateX(-50%);
}

@media print,
screen and (min-width: 1050px) {
  .sec03-list__item::before {
    position: relative;
    top: auto;
    left: auto;
    width: 1.6875rem;
    height: 1.6875rem;
    transform: inherit;
  }
}

.sec03-list__item strong {
  font-weight: 900;
  color: var(--color-red);
}

.sec03-list__item img {
  max-width: 5.15625rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-list__item img {
    max-width: 9.375rem;
    margin-left: auto;
  }
}

.sec03-column {
  max-width: 23.4375rem;
  margin-inline: auto;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-column {
    max-width: 100%;
  }
}

.sec03-column>div {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-column>div {
    align-items: flex-start;
    flex-direction: row;
  }
}

.sec03-column__button {
  width: 100%;
}

.sec03-column__button .wp-block-button {
  width: 90%;
  text-align: center;
  margin-top: 1.40625rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-column__button .wp-block-button {
    width: 100%;
    max-width: 19.6875rem;
  }
}

.sec03-column__button .wp-block-button__link {
  width: 100%;
  border: 3px solid var(--color-green);
  background-color: var(--color-white);
  font-weight: 900;
  color: var(--color-green);
  transition: 0.3s;
}

.sec03-column__button .wp-block-button__link:hover {
  background-color: var(--color-green);
  color: var(--color-white);
}

:nth-child(3) .sec03-column__button .wp-block-button__link {
  border: 3px solid #435EC4;
  color: #435EC4;
}

:nth-child(3) .sec03-column__button .wp-block-button__link:hover {
  background-color: #435EC4;
  color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {

  .sec03-column__box:nth-child(1),
  .sec03-column__box:nth-child(3) {
    width: 36.4583333333%;
  }
}

.sec03-column__box:nth-child(1) {
  position: relative;
}

.sec03-column__box:nth-child(2) {
  flex-shrink: 0;
  width: 85%;
  margin-top: 0.9375rem;
  margin-left: -28%;
  margin-right: -28%;
}

.sec03-column__box:nth-child(3) {
  margin-top: 1.875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-column__box:nth-child(3) {
    margin-top: 0;
  }
}

.sec03-column__box:nth-child(4) {
  margin-top: 1.875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec03-column__box:nth-child(4) {
    margin: 0;
  }
}

.sec04 {
  position: relative;
  padding-top: 2.34375rem;
  padding-bottom: 2.34375rem;
  overflow: hidden;
}

@media print,
screen and (min-width: 1050px) {
  .sec04 {
    padding-top: 4.6875rem;
    padding-bottom: 2.34375rem;
  }
}

.sec04::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  margin-left: auto;
  margin-right: auto;
  border-style: solid;
  border-width: 2.34375rem 6.09375rem 0 6.09375rem;
  border-color: #D0E3FA transparent transparent transparent;
  transform: translateX(-50%);
}

@media print,
screen and (min-width: 1050px) {
  .sec04::before {
    border-width: 2.34375rem 4.6875rem 0 4.6875rem;
  }
}

.sec04__inner {
  margin-inline: auto;
  padding-top: 3.5625rem;
  background-image: url("/wp-content/themes/jsol/assets/img/sec04/bg_sp.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 95%;
}

@media print,
screen and (min-width: 1050px) {
  .sec04__inner {
    padding-top: 3.9375rem;
    background-image: url("/wp-content/themes/jsol/assets/img/sec04/bg01.png"), url("/wp-content/themes/jsol/assets/img/sec04/bg02.png");
    background-repeat: no-repeat, no-repeat;
    background-position: left top, right top;
    background-size: 14.25rem, 13.78125rem;
  }
}

.sec04__body {
  max-width: 68.90625rem;
  padding-left: 0;
  padding-right: 0;
}

@media print,
screen and (min-width: 1050px) {
  .sec04__body {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

.sec04__heading {
  font-size: 1.3125rem;
  letter-spacing: 0;
}

@media print,
screen and (min-width: 1050px) {
  .sec04__heading {
    font-size: 1.40625rem;
  }
}

.sec04__heading ._maker {
  background: linear-gradient(transparent 62%, var(--color-yellow) 62%);
  font-size: 1.6875rem;
  color: var(--color-black);
}

@media print,
screen and (min-width: 1050px) {
  .sec04__heading ._maker {
    font-size: 1.875rem;
    letter-spacing: 0.07em;
  }
}

.sec04__heading span.sec04__subtitle {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.9375rem;
  padding: 0.703125rem 1.21875rem;
  border-radius: 1.40625rem;
  background-color: #435EC4;
  font-size: 1.265625rem;
  line-height: 0.9;
  color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .sec04__heading span.sec04__subtitle {
    padding: 0.703125rem 1.5rem;
    font-size: 1.171875rem;
  }
}

.sec04__tab {
  margin-top: 2.34375rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec04__tab {
    margin-top: 6.1875rem;
  }
}

.sec04__subject {
  margin-top: 0.9375rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec04__subject {
    margin-top: 5.625rem;
  }
}

.sec04__foot {
  margin-top: 3.28125rem;
}

.sec04-tab {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.sec04-tab__content-description {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.421875rem;
  max-width: 92%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__content-description {
    max-width: 93%;
    height: auto;
    flex-direction: row;
  }
}

.sec04-tab__content {
  display: grid;
  width: 100%;
  min-height: 23.90625rem;
  margin-top: 4.921875rem;
  padding-bottom: 1.6875rem;
  border: 0.328125rem solid #435EC4;
  border-radius: 0.9375rem;
  background-color: var(--color-white);
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__content {
    display: none;
    margin-top: 0;
    padding-top: 3.5625rem;
    padding-bottom: 3.75rem;
    border: 0.28125rem solid #435EC4;
    border-top-left-radius: 0rem;
    border-top-right-radius: 0rem;
    border-bottom-left-radius: 0.703125rem;
    border-bottom-right-radius: 0.703125rem;
    overflow: hidden;
  }
}

.sec04-tab__content::before {
  content: "";
  position: relative;
  top: -3.515625rem;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 1.875rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2232%22%20viewBox%3D%220%200%2040%2032%22%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_80%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%2080%22%20d%3D%22M20%2C0%2C40%2C32H0Z%22%20transform%3D%22translate(40%2032)%20rotate(180)%22%20fill%3D%22%23435ec4%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.5;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__content::before {
    display: none;
    top: -90%;
  }
}

.sec04-tab__item {
  display: none;
  margin-bottom: -0.234375rem;
  border-top-left-radius: 0.703125rem;
  border-top-right-radius: 0.703125rem;
  border: 0.28125rem solid rgba(67, 94, 196, 0);
  background-color: rgba(67, 94, 196, 0.2);
  color: rgba(67, 94, 196, 0.5);
  cursor: pointer;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__item {
    display: block;
    width: calc(33.3333333333% - 0.2578125rem);
    padding-top: 0.28125rem;
    padding-bottom: 1.875rem;
    font-size: 1.40625rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.2;
  }
}

.sec04-tab__item:hover {
  border: 0.28125rem solid #435EC4;
}

.sec04-tab__item~.sec04-tab__item {
  margin-left: 0.375rem;
}

.sec04-tab__item::after {
  content: "";
  position: absolute;
  bottom: -0.328125rem;
  display: block;
  width: 100%;
  height: 0.375rem;
  background-color: var(--color-white);
}

.sec04-tab__item::before {
  content: "";
  position: relative;
  top: -90%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 1.875rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2232%22%20viewBox%3D%220%200%2040%2032%22%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_80%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%2080%22%20d%3D%22M20%2C0%2C40%2C32H0Z%22%20transform%3D%22translate(40%2032)%20rotate(180)%22%20fill%3D%22%23435ec4%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.5;
}

.sec04-tab__item:last-child {
  margin-left: auto;
}

.sec04-tab__heading {
  margin-top: 1.40625rem;
  font-size: 1.59375rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__heading {
    margin-top: 0;
    font-size: 1.875rem;
    line-height: 1.4;
  }
}

.sec04-tab__pic {
  margin-top: 1.5rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__pic {
    margin-top: 1.875rem;
  }
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__pic a {
    cursor: default;
  }
}

.sec04-tab__pic figcaption {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  text-align: right;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__pic figcaption {
    display: none;
  }
}

.sec04-tab__box {
  display: grid;
  align-content: center;
}

.sec04-tab__title {
  font-size: 1.265625rem;
  font-weight: 900;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__title {
    font-size: 1.40625rem;
  }
}

.sec04-tab__lead {
  font-size: 1.3125rem;
  font-weight: 900;
  color: #435EC4;
  text-align: center;
}

.sec04-tab__text {
  margin-top: 1.875rem;
  font-size: 0.75rem;
  line-height: 1.3;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__text {
    margin-top: 2.8125rem;
    font-size: 0.984375rem;
    line-height: 1.5;
  }
}

.sec04-tab__text ul {
  margin-top: 1.40625rem;
}

.sec04-tab__text li {
  letter-spacing: -0.01em;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__text li {
    text-indent: -1rem;
    padding-left: 1rem;
  }
}

.sec04-tab__text li+li {
  margin-top: 0.9375rem;
}

.sec04-tab input {
  display: none;
}

.sec04-tab__detail {
  display: flex;
  flex-direction: column;
}

.sec04-tab__group {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 1.40625rem;
  font-weight: 900;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__group {
    flex-direction: row;
    margin-top: 1.875rem;
  }
}

.sec04-tab__group dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.65625rem 0.9375rem 0.5625rem;
  background-color: #3F5DCE;
  font-size: 1.265625rem;
  text-align: center;
  color: var(--color-white);
  line-height: 1.4;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__group dt {
    max-width: 18.609375rem;
    padding: 1.734375rem 0.9375rem;
    font-size: 1.40625rem;
    line-height: 1.2;
  }
}

.sec04-tab__group dd {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.46875rem 0.46875rem;
  border: 2px solid #3F5DCE;
  font-size: 0.75rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__group dd {
    padding: 1.40625rem 1.546875rem;
    border: 4px solid #3F5DCE;
    font-size: 0.984375rem;
  }
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__group dd ul li {
    padding-left: 1em;
    text-indent: -1em;
  }
}

.sec04-tab__group+.sec04-tab__group {
  margin-top: 0.75rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec04-tab__group+.sec04-tab__group {
    margin-top: 0.9375rem;
  }
}

/*-----tab-----*/
input[name=charm__item],
input[name=tab__item] {
  display: none;
}

@media print,
screen and (min-width: 1050px) {
  #tab01:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab01:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab01:checked~#tab01__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab02:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab02:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab02:checked~#tab02__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab03:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab03:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab03:checked~#tab03__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab04:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab04:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab04:checked~#tab04__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab05:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab05:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab05:checked~#tab05__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab06:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab06:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab06:checked~#tab06__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab07:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab07:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab07:checked~#tab07__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab08:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab08:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab08:checked~#tab08__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab09:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab09:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab09:checked~#tab09__content {
    display: grid;
    align-items: center;
  }
}

@media print,
screen and (min-width: 1050px) {
  #tab10:checked+.sec04-tab__item {
    position: relative;
    border: 0.28125rem solid #435EC4;
    background-color: var(--color-white);
    color: #435EC4;
  }

  #tab10:checked+.sec04-tab__item::before {
    opacity: 1;
  }

  #tab10:checked~#tab10__content {
    display: grid;
    align-items: center;
  }
}

.subject__inner>div {
  display: flex;
  justify-content: center;
  gap: 2.953125rem;
}

.subject__box {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 3.75rem;
  border-radius: 0.65625rem;
  background-color: #F2F2F2;
}

@media print,
screen and (min-width: 1050px) {
  .subject__box {
    max-width: 19.6875rem;
    margin-top: 0;
    border: 4px solid var(--color-white);
    cursor: pointer;
  }
}

.subject__box>div {
  padding: 2.625rem 1.40625rem 1.875rem;
}

@media print,
screen and (min-width: 1050px) {

  .subject__box._active,
  .subject__box:hover {
    border: 4px solid var(--color-black);
  }
}

.subject__title {
  position: absolute;
  top: -1.21875rem;
  left: 50%;
  width: fit-content;
  min-width: 9.375rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0.375rem 0.9375rem 0.46875rem;
  border-radius: 1.40625rem;
  background-color: black;
  font-size: 1.21875rem;
  color: var(--color-white);
  text-align: center;
  transform: translateX(-50%);
}

@media print,
screen and (min-width: 1050px) {
  .subject__title {
    min-width: auto;
    top: -1.875rem;
    padding: 0.5625rem 1.875rem 0.703125rem;
    font-size: 1.125rem;
  }
}

.subject__title img {
  width: 1.21875rem;
  margin-left: 0.75rem;
}

.subject__heading {
  font-size: 1.265625rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.4;
}

@media print,
screen and (min-width: 1050px) {
  .subject__heading {
    font-size: 1.171875rem;
  }
}

.sec05 {
  padding-bottom: 4.6875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec05 {
    padding-bottom: 7.03125rem;
  }
}

.sec05__heading {
  font-size: 1.3125rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__heading {
    font-size: 1.40625rem;
    text-align: left;
  }
}

.sec05 .heading-en__heading {
  font-size: 1.6875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec05 .heading-en__heading {
    font-size: 1.875rem;
  }
}

.sec05__title {
  margin-top: 0.65625rem;
  font-size: 1.03125rem;
  line-height: 1.5;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__title {
    margin-top: 0.46875rem;
    font-size: 0.984375rem;
    text-align: left;
  }
}

.sec05__body {
  position: relative;
  margin-top: 4.21875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__body {
    margin-top: 4.6875rem;
  }
}

.sec05__inner {
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__inner {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

.sec05__container {
  position: relative;
  padding: 2.25rem 1.640625rem;
  border-radius: 0.328125rem;
  background-color: #DAEBFF;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__container {
    padding: 3.984375rem 3.515625rem;
    border-radius: 0.9375rem;
  }
}

.sec05__container>div {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.40625rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__container>div {
    flex-direction: row;
    gap: 2.578125rem;
  }
}

.sec05__container::before {
  content: "";
  position: absolute;
  top: -1.21875rem;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 2.625rem;
  height: 2.625rem;
  border-radius: 50%;
  background-image: url("/wp-content/themes/jsol/assets/img/common/01_w.svg");
  background-repeat: no-repeat;
  background-position: top 52% center;
  background-size: 32%;
  background-color: #435EC4;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__container::before {
    top: -2.203125rem;
    width: 4.40625rem;
    height: 4.40625rem;
  }
}

.sec05__container+.sec05__container {
  margin-top: 2.8125rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__container+.sec05__container {
    margin-top: 4.6875rem;
  }
}

.sec05__pic {
  flex-shrink: 0;
  width: 100%;
  max-width: 25.3125rem;
}

.sec05__text {
  margin-top: 0.9375rem;
  font-size: 0.703125rem;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec05__text {
    margin-top: 1.40625rem;
    font-size: 0.75rem;
    text-align: left;
  }
}

.sec06 {
  padding-top: 5.15625rem;
  padding-bottom: 5.15625rem;
  background-color: rgba(218, 235, 255, 0.46);
}

@media print,
screen and (min-width: 1050px) {
  .sec06 {
    padding-top: 7.03125rem;
    padding-bottom: 7.03125rem;
  }
}

.sec06__heading {
  display: flex;
  align-items: end;
  justify-content: center;
  font-size: 1.265625rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec06__heading {
    font-size: 1.875rem;
  }
}

.sec06__heading::before {
  content: "＼";
  display: block;
}

@media print,
screen and (min-width: 1050px) {
  .sec06__heading::before {
    display: inline;
  }
}

.sec06__heading::after {
  content: "／";
  display: block;
}

@media print,
screen and (min-width: 1050px) {
  .sec06__heading::after {
    display: inline;
  }
}

.sec06__button {
  margin-top: 1.40625rem;
}

.sec07 {
  padding-top: 4.6875rem;
  padding-bottom: 5.15625rem;
  background-image: url("/wp-content/themes/jsol/assets/img/sec07/bg.png");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

@media print,
screen and (min-width: 1050px) {
  .sec07 {
    padding-top: 6.09375rem;
    padding-bottom: 5.625rem;
  }
}

.sec07__title {
  margin-top: 1.40625rem;
  font-size: 0.75rem;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec07__title {
    margin-top: 1.78125rem;
    font-size: 0.984375rem;
  }
}

.sec07__heading {
  margin-top: 0.46875rem;
  font-size: 1.59375rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.07em;
  text-align: center;
}

@media print,
screen and (min-width: 1050px) {
  .sec07__heading {
    font-size: 1.78125rem;
    line-height: 1.7;
    letter-spacing: 0em;
  }
}

.sec07__text {
  margin-top: 0.46875rem;
  font-size: 1.21875rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.4;
}

@media print,
screen and (min-width: 1050px) {
  .sec07__text {
    font-size: 1.40625rem;
    line-height: 1.2;
  }
}

.sec07__button {
  max-width: 19.6875rem;
}

.sec07__button a {
  font-size: 1.21875rem;
  transition: 0.3s;
}

@media print,
screen and (min-width: 1050px) {
  .sec07__button a {
    font-size: 1.03125rem;
  }
}

.sec07__container {
  margin-top: 2.8125rem;
}

@media print,
screen and (min-width: 1050px) {
  .sec07__container {
    margin-top: 3.5625rem;
  }
}

.sec07__container>div {
  display: flex;
  flex-direction: column;
  gap: 7.2916666667vw;
}

@media print,
screen and (min-width: 1050px) {
  .sec07__container>div {
    flex-direction: row;
  }
}

.sec07__box:nth-child(2) .sec07__button a {
  background-color: #435EC4;
}

.sec07__box:nth-child(2) .sec07__button a:hover {
  background-color: #374e9e;
}

.sec07__button {
  margin-top: 1.40625rem;
  margin-left: auto;
  margin-right: auto;
}

.page-partner__sec {
  margin-top: 2.8125rem;
  padding-top: 2.8125rem;
  padding-bottom: 2.8125rem;
  background-color: var(--color-bg);
  box-shadow: 0px 0px 5px #eee;
}

.page-partner__list {
  margin-top: 1.875rem;
}

.page-partner__list>div {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.page-partner__list+h2 {
  margin-top: 4.6875rem;
}

.page-partner__item {
  width: calc(50% - 5px);
  padding: 0.703125rem;
  background-color: var(--color-white);
  font-size: 0.75rem;
}

@media print,
screen and (min-width: 768px) {
  .page-partner__item {
    width: calc(33.3333333333% - 7.5px);
    padding: 0.9375rem;
    font-size: 0.84375rem;
  }
}

.page-partner__item>div {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.page-partner__item>div p {
  margin-top: auto;
}

.page-partner__item figure {
  display: flex;
  align-items: center;
  height: 100%;
}
