/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4
}

*,
::after,
::before {
  background-repeat: no-repeat;
  box-sizing: inherit
}

::after,
::before {
  text-decoration: inherit;
  vertical-align: inherit
}

* {
  margin: 0;
  padding: 0
}

hr {
  height: 0;
  overflow: visible
}

details,
main {
  display: block
}

summary {
  display: list-item
}

small {
  font-size: 80%
}

[hidden] {
  display: none
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

a {
  background-color: rgba(0, 0, 0, 0);
  color: inherit;
  text-decoration: none
}

a:active,
a:hover {
  outline-width: 0
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace
}

pre {
  font-size: 1em
}

b,
strong {
  font-weight: bolder
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

input {
  border-radius: 0
}

[disabled] {
  cursor: default
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

textarea {
  overflow: auto;
  resize: vertical
}

button,
input,
optgroup,
select,
textarea {
  font: inherit
}

optgroup {
  font-weight: 700
}

button {
  overflow: visible
}

button,
select {
  text-transform: none
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  color: inherit;
  cursor: pointer
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button
}

button,
input,
select,
textarea {
  background-color: rgba(0, 0, 0, 0);
  border-style: none
}

select {
  background-color: #fff;
  border: #707070 solid 1px;
  border-radius: 3px;
  display: inline-block;
  outline: 0;
  padding: .2em .5em;
  width: 100%
}

select::-ms-expand {
  display: none
}

select::-ms-value {
  color: currentColor
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  max-width: 100%;
  white-space: normal
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit
}

img {
  border-style: none
}

img[src$="now_printing.svg"] {
  border: 1px solid #ccc;
  max-width: 200px;
  width: 100%
}

progress {
  vertical-align: baseline
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled] {
  cursor: default
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  background: rgba(0, 0, 0, 0);
  border: 0;
  font-size: 100%;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline
}

*,
::after,
::before {
  box-sizing: border-box
}

html {
  font-size: 100%;
  overflow: auto !important
}

body,
html {
  margin: 0;
  overflow: hidden;
  padding: 0
}

body {
  color: #303030;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: auto;
  overflow-wrap: break-word;
  overflow-x: hidden
}

li {
  list-style: none
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom
}

em {
  font-style: initial
}

address {
  font-style: normal
}

strong {
  font-weight: 700
}

sup {
  top: 0
}

span svg {
  height: auto;
  line-height: 1;
  vertical-align: middle
}

main {
  background: #f8f8f8;
  padding-bottom: 10.2564102564vw;
  padding-top: 17.9487179487vw
}

.inner {
  margin-left: auto;
  margin-right: auto;
  width: 87.1794871795%
}

.inner .inner {
  padding: 0 !important
}

.s-inner {
  margin-left: auto;
  margin-right: auto;
  width: 87.1794871795%
}

.section {
  padding: 20.5128205128vw 0
}

.section.bg-white.bg-white--border+.section.bg-white.bg-white--border {
  padding-top: 0 !important
}

.s-section {
  padding-top: 20.5128205128vw
}

.xs-section {
  padding-top: 10.5128205128vw
}

.s-section:last-of-type {
  padding-bottom: 20.5128205128vw
}

.intro {
  padding-top: 20.5128205128vw
}

.intro+.s-section {
  padding-top: 12.8205128205vw
}

.bg-white {
  background: #fff
}

.bg-white--border {
  border-radius: 6.1538461538vw
}

.bg-gray {
  background: #f8f8f8
}

.bg-gray--border {
  border-radius: 6.1538461538vw
}

.l-column2 aside {
  margin-bottom: 15.3846153846vw;
  margin-left: auto;
  margin-right: auto;
  width: 87.1794871795%
}

.news .l-column2 aside {
  margin-bottom: 0
}

.l-column2.is__tf .l-column2__main {
  max-width: 962px
}

.l-column2.is__tf .sidebar__block {
  border: solid 1px #d5d5d5;
  padding: 30px
}

.l-column2__main {
  margin: 0 auto;
  max-width: 1098px;
  width: 100%
}

.news .l-column2 {
  display: flex;
  flex-direction: column-reverse
}

.l-column-left {
  flex-grow: 1;
  flex-shrink: 0
}

.news-section .l-column-left {
  flex: none
}

.news-section .l-column-right {
  flex: 1
}

.header {
  background-color: #fff;
  display: flex;
  height: 17.9487179487vw;
  position: fixed;
  top: 0;
  width: 100%;
  width: 100vw;
  z-index: 10000;
}

.header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 4.358974359vw;
  padding-top: 4.358974359vw;
  width: 87.1794871795%;
}

.header__logo {
  height: auto;
  width: 33.3333333333vw;
}

.header-nav {
  display: none;
}

.header-nav__list {
  align-items: center;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  gap: 2px;
  justify-content: space-between;
  letter-spacing: 1.4px;
}

.header-nav__item {
  padding: 8px 12px;
}

.header-nav__item:has(.is-current) {
  background-color: #E5E9F1;
  border-radius: 100px;
}

.header-nav__link {
  transition: 0.4s;
}

.header-nav__link:focus-visible {
  color: #2C5FAC;
}

.header-nav__link:focus-visible {
  outline: none;
}

.header-nav__link:focus-visible+.megamenu {
  opacity: 1 !important;
  visibility: visible !important;
}

.header-nav__link.is-current {
  color: #2C5FAC;
}

.header-nav__buttons {
  align-items: center;
  display: flex;
  gap: 10px;
}

.header-search {
  align-items: center;
  border-radius: 25px;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 7px;
  height: 40px;
}

.header-search--all {
  background-color: #fff;
  border: 1px solid #2C5FAC;
  color: #303030;
  padding: 10px 35px 10px 23px;
  transition: 0.4s;
}

.header-search--all:focus-visible {
  background-color: #2C5FAC;
  color: #fff;
}

.header-search--all:focus-visible svg path {
  stroke: #fff !important;
}

.header-search--all.active {
  background-color: #2C5FAC;
  color: #fff;
}

.header-search--all.active svg path {
  stroke: #fff !important;
}

.header-search--book {
  background-color: #2C5FAC;
  color: #fff;
  padding: 10px 27px 10px 23px;
  transition: 0.4s;
}

.header-search--book:focus-visible {
  opacity: 0.7;
}

.footer {
  position: relative
}

.footer__logo {
  width: 168px
}

.footer-top {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 32px 0 30px
}

.footer-top__list {
  align-items: center;
  display: flex;
  font-size: .9375rem;
  gap: 40px
}

.footer-main {
  padding: 40px 0 60px
}

.footer-main__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 5.55vw;
  justify-content: space-between
}

.footer-main__nav__item ul {
  display: flex;
  flex-direction: column;
  font-size: .75rem;
  gap: 20px
}

.footer-main__nav__item li a {
  transition: .4s
}

.footer-main__nav__item li a:focus-visible {
  color: #2c5fac
}

.footer-textlink {
  color: #303030;
  display: inline-block;
  position: relative
}

.footer-textlink::after {
  background-color: #303030;
  bottom: -3px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease-in-out;
  width: 100%
}

.footer-textlink:hover::after {
  transform: scaleX(1)
}

.footer-upper {
  font-size: .9375rem;
  font-weight: 700;
  margin-bottom: 28px
}

.footer-bottom {
  padding: 27px 0 20px;
  position: relative
}

.footer-bottom__policies {
  display: flex;
  font-size: .75rem;
  gap: 40px;
  justify-content: center;
  margin-bottom: 27px
}

.footer-bottom__copy {
  font-size: .625rem;
  text-align: center
}

.footer-sp__top {
  padding: 12.5641025641vw 0 9.7435897436vw;
  position: relative
}

.footer-sp__main {
  background: #f8f8f8;
  padding: 10.2564102564vw 0
}

.footer-sp__bottom {
  padding-bottom: 12.8205128205vw;
  padding-top: 7.6923076923vw
}

.footer-sp__bottom__links {
  color: #000;
  display: flex;
  font-size: 3.3333333333vw;
  font-weight: 700;
  gap: 34.8717948718vw
}

.footer-sp__bottom__links div {
  display: flex;
  flex-direction: column;
  gap: 5.1282051282vw
}

.footer-sp__policies {
  display: flex;
  flex-wrap: wrap;
  font-size: 3.0769230769vw;
  gap: 5.1282051282vw;
  line-height: 1;
  margin-top: 10.2564102564vw
}

.footer-sp__copy {
  font-size: 2.5641025641vw;
  letter-spacing: 0;
  margin-top: 8.2051282051vw;
  text-align: center
}

.link-line {
  background-color: #2c5fac;
  display: inline-block;
  height: 1px;
  margin-right: 3px;
  vertical-align: middle;
  width: 10px
}

.to-top {
  border: .2564102564vw solid #2c5fac;
  border-radius: 50%;
  cursor: pointer;
  height: 12.8205128205vw;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: .4s;
  width: 12.8205128205vw
}

.to-top span {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center
}

.to-top svg {
  display: block;
  scale: 1.1;
  transition: .4s
}

.to-top:focus-visible {
  background-color: #2c5fac
}

.to-top:focus-visible svg {
  translate: 0 -5px
}

.to-top:focus-visible svg path {
  stroke: #fff !important
}

@keyframes scroll-hint-appear {
  0% {
    opacity: 0;
    transform: translateX(40px)
  }

  10% {
    opacity: 1
  }

  100%,
  50% {
    opacity: 0;
    transform: translateX(-40px)
  }
}

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}

.scroll-hint-icon {
  background: rgba(0, 0, 0, .7);
  border-radius: 5px;
  box-sizing: border-box;
  height: auto;
  left: calc(50% - 60px);
  opacity: 0;
  padding: 20px 10px 10px 10px;
  position: absolute;
  text-align: center;
  top: calc(50% - 25px);
  transition: opacity .3s;
  width: 120px
}

.scroll-hint--top210 .scroll-hint-icon {
  top: calc(50svh - 100px)
}

.scroll-hint-icon-wrap {
  height: 100%;
  left: 0;
  max-height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%
}

.scroll-hint-text {
  color: #fff;
  font-size: 10px;
  margin-top: 5px
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8
}

.scroll-hint-icon:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #fff;
  content: "";
  display: inline-block;
  height: 40px;
  text-align: center;
  vertical-align: middle;
  width: 40px
}

.scroll-hint-icon:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  background-repeat: no-repeat;
  content: "";
  display: block;
  height: 14px;
  left: 50%;
  margin-left: -20px;
  opacity: 0;
  position: absolute;
  top: 10px;
  transition-delay: 2.4s;
  width: 34px
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2
}

.scroll-hint-icon-white {
  background-color: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4)
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=)
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==)
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000
}

.accordion__btn {
  cursor: pointer;
  position: relative
}

.accordion__btn::after {
  background-image: url(/images/org/common/accordion_open.svg);
  background-size: contain;
  content: "";
  height: 7.1794871795vw;
  position: absolute;
  right: 0;
  top: 55%;
  transform: translateY(-50%);
  width: 7.1794871795vw
}

.accordion__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .8s cubic-bezier(.37, .935, .305, 1)
}

.accordion.is-active .accordion__btn::after {
  background-image: url(/images/org/common/accordion_close.svg);
  background-size: contain
}

.sub-line {
  background-color: #2c5fac;
  display: inline-block;
  height: .2564102564vw;
  margin-right: 1.2820512821vw;
  vertical-align: middle;
  width: 2.5641025641vw
}

.select-accordion {
  padding-left: 20px;
  width: 100%
}

.select-accordion a {
  display: block
}

.select-accordion__btn {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-weight: 600;
  height: -moz-max-content;
  height: max-content;
  padding: 0;
  position: relative;
  text-align: left;
  width: -moz-max-content;
  width: max-content
}

.select-accordion__btn::before {
  background-image: url(/images/org/common/accordion_open.svg);
  background-size: contain;
  content: "";
  height: 5.1282051282vw;
  left: -7.1794871795vw;
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  width: 5.1282051282vw
}

.select-accordion__btn.is-active::before {
  background-image: url(/images/org/common/accordion_close.svg)
}

.select-accordion__content {
  height: 0;
  max-height: -moz-max-content;
  max-height: max-content;
  overflow: hidden;
  padding-left: 7.1794871795vw;
  transition: height .5s ease-out;
  width: 100%
}

.is-active+.select-accordion__content {
  height: 100%
}

.select-accordion__content a {
  font-weight: 400
}

.select-accordion__text {
  margin-top: 2.5641025641vw
}

.desc-box__heading {
  font-size: 5.1282051282vw;
  font-weight: 700;
  margin-bottom: 2.5641025641vw
}

.desc-box+.desc-box {
  margin-top: 7.6923076923vw
}

.desc-box__subheading {
  font-size: 4.1025641026vw;
  font-weight: 700;
  margin-bottom: 2.5641025641vw;
  margin-top: 5.1282051282vw
}

.cta-wrapper {
  padding-bottom: 0 !important
}

.cta-wrapper .cta {
  border-radius: 5.1282051282vw;
  padding: 15.3846153846vw 5.1282051282vw
}

.cta-wrapper .cta__title {
  border-bottom: none !important;
  margin-bottom: 5.1282051282vw;
  padding-bottom: 0 !important
}

.select-box {
  border-radius: 2.5641025641vw;
  margin-left: auto;
  margin-right: auto;
  padding: 10.2564102564vw 5.1282051282vw;
  width: 87.1794871795vw
}

.select-box.keyword {
  background-image: url(/images/org/common/page-head-bg-sp.svg);
  background-position: left 5.1282051282vw;
  background-repeat: no-repeat;
  background-size: 76.9230769231vw
}

.select-box.keyword.bg-gray {
  background-image: url(/images/org/common/page-head-bg-sp_white.svg)
}

.select-box.tags {
  padding: 0
}

.select-box+.select-box {
  margin-top: 6.1538461538vw
}

.select-box span {
  display: block;
  width: -moz-max-content;
  width: max-content
}

.select-box__column {
  width: 100%
}

.select-keyword__box {
  margin-top: 5.1282051282vw;
  width: 100%
}

.select-keyword__box .site-search-form__query {
  width: calc(100% - 12.8205128205vw)
}

.select-box__tags {
  margin-left: auto;
  margin-top: 7.1794871795vw
}

.select-box__tag_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.3076923077vw;
  margin-top: 3.5897435897vw;
  width: 100%
}

.select-box__tag_list li {
  width: -moz-max-content;
  width: max-content
}

.select-box__tag_list li a {
  border: 1px solid #2c5fac;
  border-radius: 2em;
  color: #2c5fac;
  display: block;
  font-weight: 500;
  padding: 0 20px 1px;
  width: 100%
}

.select-box__accordion {
  margin-top: 10.2564102564vw;
  width: 100%
}

.select-box__detail_wrap {
  border-top: 1px solid #d5d5d5;
  margin-top: 3.0769230769vw;
  padding-bottom: 2px;
  width: 100%
}

.select-box__detail_wrap input[type=email],
.select-box__detail_wrap input[type=tel],
.select-box__detail_wrap input[type=text],
.select-box__detail_wrap input[type=url],
.select-box__detail_wrap select,
.select-box__detail_wrap textarea {
  border: 1px solid #d5d5d5;
  border-radius: 1.0256410256vw;
  padding-left: 1em
}

.select-box__accordion_content {
  margin-left: auto;
  margin-right: auto;
  padding-top: 6.1538461538vw
}

.select-box__detail_list {
  width: 100%
}

.select-box__detail_list+.select-box__detail_list {
  margin-top: 5.1282051282vw
}

.select-box__detail_title {
  font-size: 4.1025641026vw;
  font-weight: 700
}

.select-box__detail_input:has(.select-box__detail_checkbox) {
  margin-top: 3.5897435897vw
}

.select-box__detail_input input[type=email],
.select-box__detail_input input[type=tel],
.select-box__detail_input input[type=text],
.select-box__detail_input input[type=url],
.select-box__detail_input select,
.select-box__detail_input textarea {
  background-color: #fff;
  font-size: 3.5897435897vw;
  height: 12.3076923077vw;
  width: 100%
}

.select-box__detail_input select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(/images/org/icons/arrow-down.svg);
  background-position: center;
  background-position: right 3.0769230769vw center;
  background-repeat: no-repeat;
  background-size: contain;
  background-size: 1em;
  position: relative
}

.select-box__detail_input input[type=checkbox] {
  opacity: 0
}

.select-box__detail_input input[type=checkbox]+label {
  cursor: pointer;
  padding-bottom: 2px;
  padding-left: 6.9230769231vw;
  position: relative
}

.select-box__detail_input input[type=checkbox]+label::after,
.select-box__detail_input input[type=checkbox]+label::before {
  bottom: 0;
  content: "";
  display: block;
  height: 6.9230769231vw;
  left: -4.358974359vw;
  margin: auto;
  position: absolute;
  top: 0;
  width: 6.9230769231vw
}

.select-box__detail_input input[type=checkbox]+label::before {
  background-color: #fff;
  border: 2px solid #d5d5d5;
  border-radius: 2px
}

.select-box__detail_input input[type=checkbox]+label::after {
  background-image: url(/images/org/icons/check.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 70%;
  opacity: 0;
  transition: opacity .2s ease-out
}

.select-box__detail_input input[type=checkbox]:checked+label::after {
  opacity: 1
}

.select-box__detail_text {
  background-color: #fff
}

.select-box .select-btn .btn {
  transition: 0s
}

.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1vw 0;
  padding: 2.5641025641vw 0
}

.breadcrumbs li {
  padding-right: 2em;
  position: relative
}

.breadcrumbs li:not(:last-of-type)::after {
  background: url(/images/org/icons/arrow-right.svg) no-repeat;
  background-size: contain;
  content: "";
  height: 1em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1em
}

.breadcrumbs li:last-of-type a {
  font-weight: 400 !important;
  pointer-events: none;
  text-decoration: none
}

.breadcrumbs a {
  font-weight: 700;
  -webkit-text-decoration: underline 1px;
  text-decoration: underline 1px;
  text-underline-offset: 4px
}

.btn {
  align-items: center;
  background-color: #fff;
  border: 1px solid #2c5fac;
  border-radius: 1000px;
  display: flex;
  flex-wrap: wrap;
  font-size: 3.5897435897vw;
  font-weight: 700;
  height: auto;
  justify-content: center;
  min-height: 15.3846153846vw;
  padding: 2.5641025641vw 5.641025641vw;
  position: relative;
  text-align: center;
  transition: .4s;
  width: 76.9230769231vw
}

.btn--blue {
  background-color: #2c5fac;
  color: #fff !important;
  min-height: 12.8205128205vw
}

.btn--blue path,
.btn--blue svg {
  stroke: #fff !important
}

.btn .link-card__arrow {
  right: .8em;
  top: 50%;
  transform: translateY(-50%)
}

.btn svg path {
  transition: .7s cubic-bezier(.075, .82, .165, 1)
}

.btn:focus-visible {
  color: #2c5fac
}

.btn:focus-visible #Vector {
  translate: 5px -5px
}

.btn:focus-visible #Vector_2 {
  translate: 3px -3px
}

.btn:focus-visible #down1 {
  translate: 0 3px
}

.btn:focus-visible #down2 {
  translate: 0 3px
}

.btn--wrapper {
  border-radius: 2.5641025641vw
}

.category-btn {
  align-items: center;
  background-color: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 1000px;
  display: flex;
  flex-wrap: wrap;
  font-size: 3.0769230769vw;
  font-weight: 500;
  height: 15.3846153846vw;
  padding: 2.5641025641vw 7.1794871795vw 2.5641025641vw 5.641025641vw;
  position: relative;
  transition: .4s
}

.category-btn__main {
  align-self: center
}

.category-btn__sub {
  align-self: center;
  background-color: #e5e9f1;
  border-radius: 1000px;
  font-size: .8125em;
  margin-left: 10px;
  padding: 3px 8px
}

.category-btn__pdf::after {
  content: "";
  height: 6.4102564103vw;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 5.641025641vw;
  -webkit-mask: url(/images/org/icons/icon_pdf.svg) no-repeat center;
  mask: url(/images/org/icons/icon_pdf.svg) no-repeat center;
  -webkit-mask-size: contain;
  background-color: #2c5fac;
  mask-size: contain
}

.category-btn__pdf:focus-visible::after {
  animation: link-scale .5s ease-in-out forwards;
  scale: 1.1;
  transition: .4s
}

.category-btn__out::after {
  content: "";
  height: 6.4102564103vw;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 5.641025641vw;
  -webkit-mask: url(/images/org/icons/icon-out.svg) no-repeat center;
  mask: url(/images/org/icons/icon-out.svg) no-repeat center;
  -webkit-mask-size: contain;
  background-color: #2c5fac;
  mask-size: contain
}

.category-btn__out:focus-visible::after {
  animation: link-scale .5s ease-in-out forwards;
  scale: 1.1;
  transition: .4s
}

.category-btn .link-card__arrow {
  right: .8em;
  top: 50%;
  transform: translateY(-50%)
}

.category-btn svg path {
  transition: .7s cubic-bezier(.075, .82, .165, 1)
}

.category-btn:focus-visible {
  color: #2c5fac
}

.category-btn:focus-visible #Vector {
  translate: 5px -5px
}

.category-btn:focus-visible #Vector_2 {
  translate: 3px -3px
}

.category-btn:focus-visible #down1 {
  translate: 0 3px
}

.category-btn:focus-visible #down2 {
  translate: 0 3px
}

.category-btn--anchor::after {
  transform: translateY(-50%) rotate(135deg)
}

.btn-list {
  display: grid;
  gap: 2.5641025641vw;
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.btn-list--col2 {
  gap: 10.2564102564vw;
  grid-template-columns: repeat(1, minmax(0, 1fr))
}

.btn-list--qa {
  margin-bottom: 15.3846153846vw
}

.select-btn {
  margin-left: auto;
  margin-right: auto;
  margin-top: 10.2564102564vw;
  width: -moz-max-content;
  width: max-content
}

.link-card {
  display: grid;
  gap: 5.1282051282vw;
  grid-template-columns: 1fr 1fr
}

.link-card__item {
  align-items: center;
  background: #fff;
  border-radius: 2.0512820513vw;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  height: 33.3333333333vw;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transition: .4s;
  width: 41.0256410256vw
}

.link-card__item svg path {
  transition: .7s cubic-bezier(.075, .82, .165, 1)
}

.link-card__item:focus-visible {
  color: #2c5fac
}

.link-card__item:focus-visible #Vector {
  translate: 5px -5px
}

.link-card__item:focus-visible #Vector_2 {
  translate: 3px -3px
}

.link-card__arrow {
  bottom: 3.8461538462vw;
  height: 3.5897435897vw;
  position: absolute;
  right: 1.7948717949vw;
  width: 3.5897435897vw
}

.link-card__arrow svg {
  display: block
}

.link-card__link {
  display: flex;
  flex-direction: column;
  font-size: 3.5897435897vw;
  height: 100%;
  justify-content: space-between;
  padding: 0 0 2.5641025641vw;
  text-align: center
}

.link-card__link img {
  padding: 0
}

.link-card__row2--img {
  transform: translateY(-1.2820512821vw)
}

.link-card__row2--text {
  line-height: 1.3;
  transform: translateY(-1.5384615385vw)
}

.cource-cards {
  display: grid;
  gap: 5.1282051282vw;
  grid-template-columns: repeat(1, minmax(0, 1fr))
}

.cource-card {
  border: 1px solid #d5d5d5;
  border-radius: 2.5641025641vw;
  padding: 6.4102564103vw 5.1282051282vw
}

.cource-card__title {
  align-items: center;
  display: flex;
  font-size: 4.6153846154vw;
  font-weight: 700
}

.cource-card__title .icon {
  flex-shrink: 0;
  height: 12.8205128205vw;
  margin-right: 2.5641025641vw;
  width: 12.8205128205vw
}

.cource-card__title .icon img {
  height: 100%;
  width: 100%
}

.cource-card__title .icon svg {
  width: 100%
}

.cource-card__text {
  font-size: 3.5897435897vw;
  margin-top: 1em
}

.cource-card__icons {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5641025641vw;
  margin-bottom: 5.1282051282vw;
  margin-top: 2.5641025641vw
}

.cource-card__link-wrapper {
  text-align: right
}

.cource-card .arrow-link {
  margin-left: auto
}

.cource-card__price {
  color: #2c5fac;
  font-size: 4.6153846154vw;
  font-weight: 700;
  margin-bottom: 5.1282051282vw
}

.link-card {
  margin-top: 10.2564102564vw
}

.contact .container {
  border: 0;
  max-width: 100%
}

.contact .message-block {
  font-size: 4.1025641026vw
}

.contact .content-confirmation {
  font-size: 4.1025641026vw
}

.contact .help-block {
  font-size: .75em
}

.contact .button-confirm {
  background-color: #2c5fac;
  border-radius: 100px;
  color: #fff;
  max-width: 61.5384615385vw;
  position: relative;
  width: 100%
}

.contact .button-confirm:before {
  background-image: url(/images/org/icons/link-arrow-white.svg);
  background-size: cover;
  bottom: 50%;
  content: "";
  display: block;
  height: 3.5897435897vw;
  position: absolute;
  right: 5.1282051282vw;
  top: 50%;
  transform: translateY(-50%);
  width: 3.5897435897vw
}

.contact .form-column:not(.hidden) {
  margin-bottom: 25px;
  padding-bottom: 25px
}

.contact .label {
  display: block;
  font-size: 4.1025641026vw;
  font-weight: 700;
  margin-bottom: 5px;
  max-width: 100%
}

.contact button,
.contact input,
.contact select,
.contact textarea {
  border: none;
  border-radius: 0;
  color: #6e6e6e;
  font-size: 1em;
  font-size: 4.1025641026vw;
  margin: 0;
  margin-top: 5.1282051282vw;
  padding: 0 24px
}

.contact input[type=radio] {
  border: 1px solid #ccc;
  border-radius: 40px
}

.contact input[type=date] {
  border: 1px solid #6a767d
}

.contact input,
.contact textarea {
  border-radius: 4px;
  font-size: 3.5897435897vw
}

.contact select {
  position: relative;
  display: inline-block;
  width: calc(100% - 16px);
  height: 44px;
  background-color: var(--light_gray);
  border: 1px solid #dcdcdc;
  padding-left: 16px;
  -webkit-appearance: none;
  appearance: none;
  background-image: url(/images/org/icons/contact/arrow_select.png);
  background-repeat: no-repeat;
  background-size: 24px auto;
  background-position: right 12px center;
  border-radius: 0
}

.contact .form-column-heading h2 {
  font-size: 1.5em;
  font-weight: 700;
  margin: 0
}

.contact label h3 {
  display: inline-block;
  font-size: 1em;
  font-weight: 700;
  margin: 0 0 .5em
}

.contact .badge {
  border-radius: 100px;
  color: #fff;
  display: inline-block;
  font-size: 3.0769230769vw;
  line-height: 1em;
  margin-left: .8em;
  padding: 7px 13px;
  position: relative;
  top: -2px;
  width: auto
}

.contact .badge-required {
  background-color: #2c5fac
}

.contact .badge-optional {
  background-color: #6e6e6e;
  display: inline-block;
  visibility: visible
}

.contact .description-block {
  color: #151514;
  margin-top: .5em
}

.contact input[type=email],
.contact input[type=tel],
.contact input[type=text],
.contact input[type=url],
.contact textarea {
  background-color: #f8f8f8;
  border: 1px solid #d5d5d5;
  display: block;
  height: 60px;
  line-height: 1.7;
  max-width: 100%;
  padding: 0 24px;
  transition: all .3s;
  width: 100%
}

.contact textarea {
  height: 10em;
  padding: 12px 24px;
  width: 100%
}

.contact input[type=file] {
  display: block;
  line-height: 1.75
}

.contact input[type=password] {
  border: 1px solid #d5d5d5;
  height: 1.75em;
  transition: all .3s;
  width: 100%
}

.contact input[readonly],
.contact textarea[readonly] {
  border-color: transparent;
  padding-left: 0;
  padding-right: 0
}

.contact .form-column-date .input-group select {
  display: inline-block;
  width: auto
}

.contact .form-column-calendar input {
  width: auto
}

.contact .form-column-zip-code-jp .input-group input {
  display: inline-block;
  min-width: 62.0512820513vw;
  width: auto
}

.contact .form-column-zip-code-autofill.form-column {
  border-bottom: 0;
  margin-bottom: 0
}

.contact .form-column-checkbox label,
.contact .form-column-radio label {
  margin-right: 1em
}

.contact select {
  background-color: #f8f8f8;
  border: 1px solid #d5d5d5;
  display: block;
  height: 60px;
  width: auto
}

.contact .form-column-prefecture-jp select {
  width: min(350px, 41.0256410256vw)
}

.contact .message-block-closed,
.contact .message-block-complete {
  padding: 20px;
  text-align: center
}

.contact .button-group {
  text-align: center
}

.contact .attention-block {
  font-size: 3.5897435897vw;
  margin-bottom: 7.6923076923vw;
  text-align: left
}

.contact button {
  background-color: #fff;
  border-radius: 100px;
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  height: 15.3846153846vw;
  margin: 0 auto;
  padding: .5em 1em;
  position: relative;
  text-align: center;
  width: 61.5384615385vw
}

.contact button.button-submit {
  background-color: #666;
  border: 1px solid #666;
  color: #fff
}

.contact button.button-submit .icon {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 0;
  height: auto;
  width: auto
}

.contact button.button-back {
  border: .2564102564vw solid #2c5fac;
  color: #2c5fac;
  max-width: 61.5384615385vw;
  position: relative
}

.contact button.button-back::before {
  background-image: url(/images/org/icons/prev-arrow.svg);
  background-size: cover;
  bottom: 50%;
  content: "";
  display: block;
  height: 3.8461538462vw;
  left: 6.1538461538vw;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.8461538462vw
}

.contact button.button-submit span.fa {
  margin-right: 4px
}

.contact .form-column-recaptcha {
  display: flex;
  justify-content: center
}

.contact .form-field-2column {
  position: relative;
  display: flex;
  gap: 20px
}

.contact .error-text {
  position: absolute;
  bottom: calc(100% - 1.5em);
  color: #ff0000
}

.contact .preview-block {
  margin-bottom: 0;
  padding-bottom: 7px;
  padding-top: 7px
}

.contact .thanks-text {
  font-size: 3.5897435897vw
}

body.is-toggle-open {
  overflow: hidden;
  touch-action: none;
  width: 100%
}

.gnav {
  background-color: #F8F8F8;
  height: 0;
  overflow-y: scroll;
  position: fixed;
  visibility: hidden;
  width: 100%;
  z-index: 10001;
}

.gnav__top {
  align-items: center;
  background-color: #F8F8F8;
  display: flex;
  height: 17.9487179487vw;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 10000;
}

.gnav__logo {
  display: block;
  width: 33.3333333333vw;
}

.gnav__content {
  background-color: #fff;
  border-radius: 6.1538461538vw;
  margin-bottom: 5.1282051282vw;
  margin-top: 17.9487179487vw;
  padding-bottom: 11.0256410256vw;
  padding-top: 5.8974358974vw;
}

.is-toggle-open .gnav {
  height: 100dvh;
  visibility: visible;
}

.gnav .accordion__btn {
  align-items: center;
  display: flex;
  position: relative;
}

.gnav__list {
  position: relative;
}

.gnav__list::after {
  background-color: #D5D5D5;
  content: "";
  display: block;
  height: 0.2564102564vw;
  width: 100%;
}

.gnav__item {
  font-weight: 700;
  padding-bottom: 4.1025641026vw;
  position: relative;
}

.gnav__item::before {
  background-color: #D5D5D5;
  content: "";
  display: block;
  height: 0.2564102564vw;
  margin-bottom: 4.1025641026vw;
  width: 100%;
}

.gnav__sublink {
  display: block;
  line-height: 1;
  margin-bottom: 5.1282051282vw;
}

.gnav__sublist {
  padding-top: 7.1794871795vw;
}

.gnav__buttons {
  margin-bottom: 9.7435897436vw;
  margin-top: 8.2051282051vw;
}

.gnav__buttons .inner {
  align-items: center;
  display: flex;
  gap: 8.2051282051vw;
  justify-content: center;
}

.gnav .gnav-search {
  align-items: center;
  border-radius: 6.4102564103vw;
  display: inline-flex;
  gap: 1.7948717949vw;
  height: 12.8205128205vw;
  justify-content: center;
  position: relative;
}

.gnav .gnav-search--all {
  background-color: #fff;
  border: 0.2564102564vw solid #2C5FAC;
  color: #303030;
  padding: 4.1025641026vw 11.5384615385vw 4.1025641026vw 8.9743589744vw;
  width: 35.8974358974vw;
}

.gnav .gnav-search--book {
  background-color: #2C5FAC;
  color: #fff;
  width: 71.7948717949vw;
}

.gnav .gnav-search img {
  display: flex;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate(100%, -50%);
  width: 6.4102564103vw;
}

.gnav .kyouzai .gnav__sublist {
  padding-top: 4.6153846154vw;
}

.gnav .kyouzai .gnav__subitem__btn {
  background-color: #E5E9F1;
  display: flex;
  margin-bottom: 0;
}

.gnav .kyouzai .gnav__subitem__btn .gnav__sublink {
  margin-bottom: 0;
  padding: 3.8461538462vw 2.5641025641vw;
}

.gnav .kyouzai .gnav__subitem__btn::after {
  background-image: url(/images/org/icons/icon_plus.svg);
  background-size: contain;
  content: "";
  height: 4.358974359vw;
  position: absolute;
  right: 3.5897435897vw;
  top: 50%;
  transform: translateY(-50%);
  width: 4.358974359vw;
}

.gnav .kyouzai .gnav__subitem+.gnav__subitem {
  margin-top: 1.0256410256vw;
}

.gnav .kyouzai .gnav__subitem.is-active .accordion__btn::after {
  background-image: url(/images/org/icons/icon_minus.svg);
  background-size: contain;
  height: 0.7692307692vw;
  width: 4.358974359vw;
}

.heading {
  border-bottom: .5128205128vw solid #2c5fac;
  display: inline-block;
  font-size: 6.1538461538vw;
  font-weight: 700;
  margin-bottom: 10.7692307692vw;
  padding-bottom: 2.5641025641vw
}

.heading+.block-accordion {
  margin-top: 0 !important
}

.second-h1 {
  font-size: 8.2051282051vw;
  font-weight: 700;
  margin-bottom: 5.1282051282vw;
  margin-top: 10.2564102564vw;
  position: relative;
  text-align: center;
  z-index: 0
}

.second-h1::after {
  background: url(/images/org/icons/h1-deco_sp.svg) no-repeat;
  background-size: cover;
  bottom: 2.5641025641vw;
  content: "";
  display: block;
  height: 1.5384615385vw;
  left: 50%;
  margin-top: 4.1025641026vw;
  position: relative;
  transform: translateX(-50%);
  width: 14.8717948718vw
}

.second-h2 {
  font-size: 6.1538461538vw;
  font-weight: 700;
  -webkit-text-decoration: underline #2c5fac .5128205128vw;
  margin-bottom: 10.2564102564vw;
  text-decoration: underline #2c5fac .5128205128vw;
  text-underline-offset: 2.5641025641vw
}

.second-subtitle {
  font-size: 4.1025641026vw;
  font-weight: 700
}

.sub-heading {
  font-size: 5.1282051282vw;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 6.6666666667vw
}

.sub-heading:not(:first-of-type) {
  margin-top: 14.358974359vw
}

.sub-heading .icon {
  margin-right: 10px
}

.sub-heading .icon svg {
  stroke: #00f
}

.sub-heading--pen {
  padding-left: 2em;
  position: relative
}

.sub-heading--pen::before {
  background-image: url(/images/org/icons/icon-pen-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 1em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1em
}

.sub-heading--guide {
  padding-left: 2em;
  position: relative
}

.sub-heading--guide::before {
  background-image: url(/images/org/icons/icon-guide-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 1em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1em
}

.sub-heading-s {
  font-size: 4.6153846154vw;
  font-weight: 700
}

.select-heading {
  font-size: 5.1282051282vw;
  font-weight: 700;
  -webkit-text-decoration: underline #2c5fac .5128205128vw;
  margin-bottom: 8.2051282051vw;
  text-decoration: underline #2c5fac .5128205128vw;
  text-underline-offset: 2.5641025641vw
}

.select-title {
  font-size: 3.5897435897vw;
  font-weight: 700
}

.select-keyword__heading {
  font-size: 5.1282051282vw;
  font-weight: 700;
  padding-right: 10.2564102564vw;
  width: -moz-max-content;
  width: max-content
}

.icon-link {
  display: flex
}

.icon-link--l {
  align-items: center;
  background: #fff;
  border: 1px solid #2c5fac;
  border-radius: 50%;
  display: flex;
  flex-shrink: 0;
  height: 10.2564102564vw;
  justify-content: center;
  padding-bottom: .5128205128vw;
  padding-left: 1.0256410256vw;
  transition: .4s;
  width: 10.2564102564vw
}

.icon-link--l svg {
  flex-shrink: 0;
  height: 4.6153846154vw;
  width: 4.6153846154vw
}

.icon-link--l svg path {
  transition: .4s;
  stroke-width: 2px;
  stroke-linecap: butt
}

.arrow-link .icon {
  background-color: #fff;
  border: .2564102564vw solid #2c5fac;
  border-radius: 50%;
  display: inline-block;
  height: 10.2564102564vw;
  position: relative;
  width: 10.2564102564vw
}

.arrow-link .icon__linkout::after {
  content: "";
  height: 4.1025641026vw;
  left: 53%;
  position: absolute;
  top: 45%;
  translate: -50% -50%;
  width: 4.1025641026vw;
  -webkit-mask: url(/images/org/icons/icon_linkout.svg) no-repeat center;
  mask: url(/images/org/icons/icon_linkout.svg) no-repeat center;
  -webkit-mask-size: contain;
  background-color: #2c5fac;
  mask-size: contain
}

.arrow-link .icon__pdf::after {
  content: "";
  height: 5.8974358974vw;
  left: 50%;
  position: absolute;
  top: 49%;
  translate: -50% -50%;
  width: 5.1282051282vw;
  -webkit-mask: url(/images/org/icons/icon_pdf.svg) no-repeat center;
  mask: url(/images/org/icons/icon_pdf.svg) no-repeat center;
  -webkit-mask-size: contain;
  background-color: #2c5fac;
  mask-size: contain
}

.discount {
  background-color: #e92121;
  border-radius: 1000px;
  color: #fff;
  font-family: REM, sans-serif;
  font-size: 3.3333333333vw;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1;
  padding: .7692307692vw 3.0769230769vw
}

.textlink {
  position: relative
}

.textlink::after {
  background-color: #303030;
  bottom: -3px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform .3s ease-in-out;
  width: 100%
}

.textlink:focus-visible::after {
  animation: link-line .5s ease-in-out forwards
}

.link-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end
}

.arrow-link {
  align-items: center;
  display: inline-flex;
  font-size: 3.5897435897vw;
  font-weight: 700;
  gap: 2.5641025641vw;
  justify-content: flex-end;
  position: relative
}

.arrow-link:not(.row-reverse):focus-visible .a-line {
  animation: a-line .5s ease-in-out forwards
}

.arrow-link:not(.row-reverse):focus-visible .a-tip {
  animation: a-tip .5s ease-in-out forwards
}

.arrow-link:not(.row-reverse):focus-visible .icon-link--l {
  animation: scale .5s ease-in-out forwards;
  background-color: #2c5fac
}

.arrow-link:not(.row-reverse):focus-visible .arrow-link__text::after {
  animation: link-line .5s ease-in-out forwards
}

.arrow-link:not(.row-reverse):focus-visible .icon {
  animation: scale .5s ease-in-out forwards;
  background-color: #2c5fac;
  border-color: #fff;
  transition: .4s
}

.arrow-link:not(.row-reverse):focus-visible .icon__pdf::after {
  animation: link-scale .5s ease-in-out forwards;
  background-color: #fff;
  scale: 1.03;
  transition: .4s
}

.arrow-link.row-reverse .icon-link--l {
  padding-left: 0;
  padding-right: 1.0256410256vw
}

.arrow-link.row-reverse:focus-visible .a-line {
  animation: a-line-rev .5s ease-in-out forwards
}

.arrow-link.row-reverse:focus-visible .a-tip {
  animation: a-tip-rev .5s ease-in-out forwards
}

.arrow-link.row-reverse:focus-visible .icon-link--l {
  animation: scale .5s ease-in-out forwards;
  background-color: #2c5fac
}

.arrow-link.row-reverse:focus-visible .arrow-link__text::after {
  animation: link-line .5s ease-in-out forwards
}

.arrow-link.row-reverse:focus-visible .icon {
  animation: scale .5s ease-in-out forwards;
  background-color: #2c5fac;
  border-color: #fff;
  transition: .4s
}

.arrow-link.row-reverse:focus-visible .icon__pdf::after {
  animation: link-scale .5s ease-in-out forwards;
  background-color: #fff;
  scale: 1.03;
  transition: .4s
}

.arrow-link .arrow-link__text {
  position: relative
}

.arrow-link .arrow-link__text::after {
  background-color: #303030;
  bottom: -3px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform .3s ease-in-out;
  width: 100%
}

.out-link {
  align-items: center;
  display: inline-flex;
  font-size: 3.5897435897vw;
  font-weight: 700;
  gap: 2.5641025641vw;
  justify-content: flex-end;
  position: relative
}

.out-link .icon-link--l {
  padding: 0 !important
}

.out-link:focus-visible .a-line {
  animation: a-line .5s ease-in-out forwards
}

.out-link:focus-visible .a-tip {
  animation: a-tip .5s ease-in-out forwards
}

.out-link:focus-visible .icon-link--l {
  animation: scale .5s ease-in-out forwards;
  background-color: #2c5fac
}

.out-link:focus-visible .out-link__text::after {
  animation: link-line .5s ease-in-out forwards
}

.out-link .out-link__text {
  position: relative
}

.out-link .out-link__text::after {
  background-color: #303030;
  bottom: -3px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(1);
  transform-origin: right;
  transition: transform .3s ease-in-out;
  width: 100%
}

@keyframes link-arrow {
  0% {
    transform: translate(0, 0)
  }

  35% {
    transform: translate(2px, -2px)
  }

  100% {
    transform: translate(0, 0)
  }
}

@keyframes link-line {
  0% {
    transform: scaleX(1)
  }

  25% {
    transform: scaleX(0);
    transform-origin: right
  }

  74% {
    transform: scaleX(0);
    transform-origin: right
  }

  75% {
    transform: scaleX(0);
    transform-origin: left
  }

  100% {
    transform: scaleX(1);
    transform-origin: left
  }
}

@keyframes a-line {
  0% {
    stroke: #296eb3
  }

  25% {
    translate: 7px -7px
  }

  50% {
    stroke: #fff
  }

  100% {
    translate: 0 0;
    stroke: #fff
  }
}

@keyframes a-tip {
  0% {
    stroke: #296eb3
  }

  25% {
    translate: 3px -3px
  }

  50% {
    stroke: #fff
  }

  100% {
    translate: 0 0;
    stroke: #fff
  }
}

@keyframes a-line-rev {
  0% {
    stroke: #296eb3
  }

  25% {
    translate: -7px -7px
  }

  50% {
    stroke: #fff
  }

  100% {
    translate: 0 0;
    stroke: #fff
  }
}

@keyframes a-tip-rev {
  0% {
    stroke: #296eb3
  }

  25% {
    translate: -3px -3px
  }

  50% {
    stroke: #fff
  }

  100% {
    translate: 0 0;
    stroke: #fff
  }
}

@keyframes scale {
  0% {
    scale: 1
  }

  50% {
    scale: 1.15
  }

  100% {
    scale: 1
  }
}

@keyframes link-scale {
  0% {
    scale: 1
  }

  50% {
    scale: 1.03
  }

  100% {
    scale: 1
  }
}

.no-link {
  cursor: pointer;
  opacity: 0.6;
  pointer-events: none;
}

.select-link {
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 170%;
  width: -moz-max-content;
  width: max-content
}

.num-list {
  counter-reset: item
}

.num-list>li {
  padding-left: 3em;
  position: relative
}

.num-list>li::before {
  content: "（" counter(item) "）";
  counter-increment: item;
  left: 0;
  position: absolute
}

.num-list>li:not(:first-of-type) {
  margin-top: 1em
}

.num-list+p {
  margin-top: 5.1282051282vw
}

.dot-list li {
  padding-left: .875em;
  position: relative
}

.dot-list li::before {
  content: "・";
  font-size: 1em;
  font-weight: 700;
  left: 0;
  position: absolute;
  top: 0
}

.dot-list+.dot-list {
  margin-top: 5.1282051282vw
}

.step-list {
  counter-reset: step-number 0
}

.step {
  counter-increment: step-number 1;
  position: relative
}

.step:nth-of-type(1) .step__title::before {
  background-image: url(/images/org/icons/step/step1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: counter(step-number);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16.4102564103vw
}

.step:nth-of-type(2) .step__title::before {
  background-image: url(/images/org/icons/step/step2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: counter(step-number);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16.4102564103vw
}

.step:nth-of-type(3) .step__title::before {
  background-image: url(/images/org/icons/step/step3.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: counter(step-number);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16.4102564103vw
}

.step:nth-of-type(4) .step__title::before {
  background-image: url(/images/org/icons/step/step4.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: counter(step-number);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16.4102564103vw
}

.step:nth-of-type(5) .step__title::before {
  background-image: url(/images/org/icons/step/step5.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: counter(step-number);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16.4102564103vw
}

.step:not(:last-of-type) {
  padding-bottom: 12.3076923077vw
}

.step:not(:last-of-type)::before {
  background-color: #2c5fac;
  content: "";
  height: 100%;
  left: 8.2051282051vw;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: .5128205128vw
}

.step:first-of-type::before {
  top: 1.5em
}

.step__body {
  padding-left: 19.4871794872vw
}

.step__title {
  font-size: 6.1538461538vw;
  font-weight: 700;
  line-height: 1.3333333333;
  margin-bottom: 7.6923076923vw;
  padding-left: 19.4871794872vw;
  position: relative
}

.step__sub-title {
  font-size: 5.1282051282vw;
  font-weight: 700;
  margin-top: 10.2564102564vw;
  padding-bottom: 3.0769230769vw
}

.point-list {
  counter-reset: point-number 0;
  display: grid;
  gap: 5.1282051282vw;
  grid-template-columns: repeat(1, minmax(0, 1fr))
}

.point-list .point {
  counter-increment: point-number 1;
  padding-left: 5.1282051282vw;
  padding-top: 5.1282051282vw;
  position: relative
}

.point-list .point:nth-of-type(1)::before {
  background-image: url(/images/org/icons/point/point1.svg);
  background-repeat: no-repeat;
  background-size: cover;
  content: counter(point-number-1);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 16.4102564103vw
}

.point-list .point:nth-of-type(2)::before {
  background-image: url(/images/org/icons/point/point2.svg);
  background-repeat: no-repeat;
  background-size: cover;
  content: counter(point-number-1);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 16.4102564103vw
}

.point-list .point:nth-of-type(3)::before {
  background-image: url(/images/org/icons/point/point3.svg);
  background-repeat: no-repeat;
  background-size: cover;
  content: counter(point-number-1);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 16.4102564103vw
}

.point-list .point:nth-of-type(4)::before {
  background-image: url(/images/org/icons/point/point4.svg);
  background-repeat: no-repeat;
  background-size: cover;
  content: counter(point-number-1);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 16.4102564103vw
}

.point-list .point:nth-of-type(5)::before {
  background-image: url(/images/org/icons/point/point5.svg);
  background-repeat: no-repeat;
  background-size: cover;
  content: counter(point-number-1);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 16.4102564103vw
}

.point-list .point:nth-of-type(6)::before {
  background-image: url(/images/org/icons/point/point6.svg);
  background-repeat: no-repeat;
  background-size: cover;
  content: counter(point-number-1);
  font-size: 0;
  height: 16.4102564103vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 16.4102564103vw
}

.point-list .point__img {
  border-radius: 2.5641025641vw
}

.point-list .point__title {
  color: #2c5fac;
  font-size: 5.1282051282vw;
  font-weight: 700;
  margin-top: 2.5641025641vw
}

.digital-list {
  display: grid;
  gap: 5.1282051282vw;
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.digital-list .digital__title {
  font-size: 3.5897435897vw;
  font-weight: 700;
  margin-top: 2.5641025641vw
}

.select-list__wrap {
  display: block;
  width: 100%
}

.media {
  display: flex;
  flex-direction: column;
  gap: 7.6923076923vw
}

.media--reverse {
  flex-direction: column
}

.media__body {
  flex: 1
}

.media+.media {
  margin-top: 17.9487179487vw
}

.overlay {
  background-color: #fff;
  left: 0;
  overflow-y: scroll;
  padding-top: 17.9487179487vw;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: -1
}

.overlay.search-modal {
  height: 100dvh
}

.overlay__line {
  display: none
}

.overlay__bg {
  background-color: rgba(0, 0, 0, .5);
  height: 100vh;
  height: 100dvh;
  position: fixed;
  width: 100%
}

.header-nav__item[data-subnav-has] .header-nav__link {
  padding: 50px 0 50px
}

.header-nav__item:focus .megamenu,
.header-nav__item:focus-within .megamenu {
  opacity: 1 !important;
  visibility: visible !important
}

.megamenu {
  background-color: rgba(255, 255, 255, .9);
  left: 0;
  opacity: 0;
  pointer-events: none;
  top: 0;
  width: 100%
}

.megamenu:focus,
.megamenu:focus-within {
  opacity: 1 !important;
  visibility: visible !important
}

.megamenu.is-active {
  pointer-events: all
}

.megamenu .arrow-link:focus,
.megamenu .arrow-link:focus-within {
  opacity: 1 !important;
  visibility: visible !important
}

.megamenu__content {
  display: flex
}

.megamenu__head {
  border-right: 1px solid #d5d5d5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 246px
}

.megamenu__body {
  display: flex;
  gap: 75px
}

.megamenu__list li a {
  font-size: 14px
}

.megamenu__list li a:focus-visible {
  color: #2c5fac
}

.sp-tool {
  align-items: center;
  display: flex;
  gap: 6.4102564103vw;
  position: fixed;
  right: 6.4102564103vw;
  top: 2.8205128205vw;
  z-index: 20000
}

.sp-tool__search svg {
  height: auto;
  width: 6.4102564103vw
}

.sp-tool__book svg {
  height: auto;
  width: 7.6923076923vw
}

.gnav-toggle {
  align-items: center;
  background-color: #2c5fac;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 12.3076923077vw;
  justify-content: center;
  transition: .4s;
  width: 12.3076923077vw
}

.gnav-toggle:focus-visible {
  scale: 1.1
}

.gnav-toggle__lines {
  height: 2.5641025641vw;
  position: relative;
  width: 5.1282051282vw
}

.gnav-toggle__line {
  background-color: #fff;
  border-radius: 10px;
  display: inline-block;
  height: .2564102564vw;
  left: 0;
  position: absolute;
  transition: .4s
}

.gnav-toggle__line:nth-of-type(1) {
  top: 0;
  width: 100%
}

.gnav-toggle__line:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  width: 100%
}

.gnav-toggle__line:nth-of-type(3) {
  bottom: 0;
  width: 100%
}

.gnav-toggle.active span:nth-of-type(1) {
  top: 50%;
  transform: rotate(-45deg)
}

.gnav-toggle.active span:nth-of-type(2) {
  display: none
}

.gnav-toggle.active span:nth-of-type(3) {
  top: 50%;
  transform: rotate(45deg)
}

.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%
}

.news-item {
  border-bottom: 1px solid #d5d5d5;
  padding-top: 5.1282051282vw
}

.news-item:first-child {
  border-top: 1px solid #d5d5d5
}

.news-item a {
  display: block;
  padding: 2.5641025641vw 0 5.1282051282vw
}

.news-info {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 1.0256410256vw 0;
  margin-bottom: 1.5384615385vw
}

.news-date {
  color: #6e6e6e;
  font-family: REM, sans-serif;
  font-size: 3.0769230769vw
}

.news-category {
  background-color: #e5e9f1;
  border-radius: 12.8205128205vw;
  color: #303030;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.0769230769vw;
  line-height: 1;
  padding: 1.5384615385vw 5.1282051282vw
}

.news-category.is__blue {
  background-color: #134b9e;
  color: #fff
}

.news-category.is__violet {
  background-color: #7c7ace;
  color: #fff
}

.news-category.is__orange {
  background-color: #f4901a;
  color: #fff
}

.news-text {
  font-size: 3.5897435897vw;
  line-height: 1.7;
  transition: .4s
}

.news-text span {
  background-image: linear-gradient(#222, #222);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size .7s cubic-bezier(.33, 1, .68, 1)
}

.news-text:focus-visible span {
  background-position: 0 100%;
  background-size: 100% 1px
}

.news-inner {
  display: flex;
  gap: 15px
}

.news-thumbnail {
  width: 18vw;
  min-width: 18vw
}

.news-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain
}

.search-modal {
  visibility: hidden;
  z-index: 1000
}

.search-modal.is-toggle-open {
  display: block;
  visibility: visible
}

.search-modal .inner {
  padding-bottom: 15.3846153846vw;
  padding-top: 10.2564102564vw
}

.search-modal-trigger {
  position: relative;
  z-index: 1
}

.sp-tool .search-modal-trigger::before {
  background: #e5e9f1;
  border-radius: 50%;
  content: "";
  display: none;
  height: 12.3076923077vw;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12.3076923077vw;
  z-index: -1
}

.sp-tool .search-modal-trigger.active::before {
  display: block
}

.site-search-form {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto
}

.site-search-form__query {
  background-color: #fff;
  border: 1px solid #2c5fac;
  border-radius: 1.0256410256vw 0 0 1.0256410256vw;
  border-right: none;
  color: #6e6e6e;
  font-size: 3.5897435897vw;
  height: 12.8205128205vw;
  margin-top: 0;
  padding: 4.1025641026vw 2.5641025641vw;
  width: 74.358974359vw
}

.site-search-form__query:focus-visible {
  border: 2px solid #2c5fac;
  border-radius: 4px 0 0 4px;
  outline: 0
}

.site-search-form__button {
  background: #2c5fac;
  border-radius: 0 1.0256410256vw 1.0256410256vw 0;
  color: #fff;
  display: block;
  font-size: 0;
  height: 12.8205128205vw;
  margin: 0 !important;
  position: relative;
  transition: none;
  width: 12.8205128205vw
}

.site-search-form__button::before {
  content: none
}

.site-search-form__button::after {
  background-image: url(/images/org/icons/icon-search-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 4.6153846154vw;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 4.6153846154vw
}

.site-search-form__select_wrap {
  width: 100%
}

.mt-site-search-result__message {
  margin-bottom: 7.6923076923vw
}

.site-search-form__button {
  margin-left: .5em
}

.mt-site-search-result-item:not(:first-child) {
  margin-top: 10.2564102564vw
}

.mt-site-search-result-item__label {
  display: inline-block;
  font-size: 4.1025641026vw;
  font-weight: 700;
  text-decoration: none !important
}

.mt-site-search__pagination {
  margin-top: 10.2564102564vw;
  text-align: center
}

.mt-site-search__pagination ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0
}

.mt-site-search-result-item__link {
  font-size: 3.5897435897vw;
  line-height: 1.7;
  transition: .4s
}

.mt-site-search-result-item__link .mt-site-search-result-item__label {
  background-image: linear-gradient(#222, #222);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size .7s cubic-bezier(.33, 1, .68, 1)
}

.mt-site-search-result-item__link:focus-visible .mt-site-search-result-item__label {
  background-position: 0 100%;
  background-size: 100% 1px;
  color: #2c5fac
}

.mt-site-search-pagination-item {
  display: block;
  font-family: REM, sans-serif;
  font-size: 3.5897435897vw;
  font-weight: 500;
  list-style: none;
  padding: 0 3.0769230769vw
}

.mt-site-search-result-item__url {
  display: block
}

.mt-site-search-result-item__url cite {
  color: #303030;
  font-size: 3.0769230769vw;
  font-style: normal;
  text-decoration: underline
}

.mt-site-search-result-item__excerpt {
  font-size: 3.5897435897vw;
  line-height: 1.6428571429
}

.mt-site-search-pagination-item__link:focus-visible {
  color: #2c5fac
}

.mt-site-search-pagination-item__link:focus-visible::before {
  color: #2c5fac
}

.mt-site-search-pagination-item--next .mt-site-search-pagination-item__link,
.mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link {
  display: block;
  position: relative
}

.mt-site-search-pagination-item--next .mt-site-search-pagination-item__link::before,
.mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link::before {
  color: #303030;
  content: "";
  display: inline-block;
  font-size: 3.5897435897vw;
  font-weight: 700;
  position: absolute;
  top: 0
}

.mt-site-search-pagination-item--next .mt-site-search-pagination-item__link span,
.mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link span {
  font-size: 0 !important
}

.mt-site-search-pagination-item--next .mt-site-search-pagination-item__link::before {
  content: ">>"
}

.mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link::before {
  content: "<<"
}

.sidebar .service-nav--pc__link:focus-visible {
  opacity: 1
}

.sidebar__block {
  margin-top: 10.2564102564vw
}

.news .sidebar__block {
  margin-top: 0
}

.sidebar ul li {
  font-size: 4.1025641026vw
}

.sidebar ul:not(.category-list) li:not(:first-child) {
  margin-top: 3.5897435897vw
}

.sidebar ul li ul {
  padding-left: 10px
}

.news .sidebar ul li ul {
  padding-left: 0
}

.sidebar ul.category-list {
  display: flex;
  flex-direction: column
}

.sidebar ul.category-list:not(.order-list) li:last-child {
  order: -1;
  margin-top: 0;
  margin-bottom: 28px
}

.sidebar ul.category-list li+li {
  margin-top: 28px
}

.sidebar__label {
  background-color: #f8f8f8;
  font-weight: 700;
  margin-bottom: 5.1282051282vw;
  margin-left: -6.1538461538vw;
  padding: 4.1025641026vw 4.1025641026vw;
  width: calc(100% + 12.3076923077vw)
}

.sidebar__label:not(:first-child) {
  margin-top: 8.2051282051vw
}

.sidebar .block-accordion__btn {
  border: none;
  font-weight: 500
}

.sidebar .accordion__inner {
  margin-bottom: 5.1282051282vw;
  margin-top: 5.1282051282vw
}

.sidebar .tab {
  align-items: center;
  display: inline-flex;
  font-size: 3.5897435897vw;
  gap: 1.7948717949vw;
  width: 100%
}

.sidebar .tab:focus-visible .tab-icon {
  translate: 5px 0
}

.sidebar .tab .tab-icon {
  transition: .4s;
  transition-timing-function: cubic-bezier(.075, .82, .165, 1)
}

.sidebar .tab.is_active .tab-icon path {
  stroke: #2c5fac !important
}

.sidebar .tab.is_active .tab-text {
  color: #2c5fac
}

.splide__arrow {
  background: #fff;
  border: 1px solid #2c5fac;
  border-radius: 50%;
  height: 10.2564102564vw;
  opacity: 1;
  transition: .4s;
  width: 10.2564102564vw
}

.splide__arrow:focus-visible {
  background: #2c5fac
}

.splide__arrow:disabled {
  display: none;
  opacity: 0
}

.splide__arrow svg {
  height: 4.6153846154vw;
  width: 4.6153846154vw;
  fill: none
}

.splide__arrow--next svg {
  translate: .2564102564vw 0
}

.splide__arrow--next:focus-visible {
  opacity: 1 !important
}

.splide__arrow--next:focus-visible svg {
  animation: next-arrow .7s cubic-bezier(.075, .82, .165, 1) forwards
}

.splide__arrow--next:focus-visible svg path {
  stroke: #fff !important
}

.splide__arrow--prev svg {
  translate: -.2564102564vw 0
}

.splide__arrow--prev:focus-visible {
  opacity: 1 !important
}

.splide__arrow--prev:focus-visible svg {
  animation: prev-arrow .7s cubic-bezier(.075, .82, .165, 1) forwards
}

.splide__arrow--prev:focus-visible svg path {
  stroke: #fff !important
}

.three-slider .splide__track {
  padding-top: 5.1282051282vw
}

.slider-static {
  padding: 5.1282051282vw
}

.simple-slider .slider-static {
  margin: 0 auto;
  max-width: 1180px;
  padding-left: 40px;
  padding-right: 40px
}

.slider-static .splide__arrows {
  display: none;
  visibility: hidden
}

.slider-static .splide__list {
  display: flex;
  gap: 16px;
  justify-content: center
}

.slider-static .splide__slide {
  flex-shrink: 1
}

.topics-slider {
  margin-top: 13.3333333333vw;
  padding-left: 6.4102564103vw !important
}

.topics-slider__slide {
  width: 61.5384615385vw !important
}

.topics-slider__slide p {
  color: #303030;
  font-size: 4.1025641026vw;
  font-weight: 700;
  margin-top: 4.1025641026vw
}

.topics-slider__progress {
  background: #d5d5d5;
  margin-top: 7.6923076923vw
}

.topics-slider__progress--bar {
  background: #2c5fac;
  height: .5128205128vw;
  transition: width .4s ease;
  width: 0
}

.topics-slider__arrow--next {
  right: 0
}

.topics-slider__arrow--next:focus-visible {
  opacity: 1 !important
}

.topics-slider__arrow--prev {
  left: 0
}

.topics-slider__arrow--prev:focus-visible {
  opacity: 1 !important
}

.sns-shares {
  display: flex;
  gap: 2.0512820513vw
}

.sns-shares li img {
  width: 40px
}

.table table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%
}

.table td,
.table th {
  border-top: 1px solid #d5d5d5;
  padding-bottom: 5.1282051282vw;
  padding-top: 5.1282051282vw;
  vertical-align: middle
}

.table tr:last-child {
  border-bottom: 1px solid #d5d5d5
}

.table th {
  font-size: 4.1025641026vw;
  font-weight: 700;
  padding-right: 1.2820512821vw;
  text-align: left;
  width: 30%
}

.table th.sp-small {
  font-size: 3.5897435897vw
}

.table td {
  font-size: 3.5897435897vw;
  width: 70%
}

.table.is__information td,
.table.is__information th {
  font-size: 3.5897435897vw;
  padding-bottom: 2.5641025641vw;
  padding-top: 2.5641025641vw;
  width: 100%
}

.table.is__information th {
  background-color: #e5e9f1
}

.table.is__information td {
  padding-left: 3.5897435897vw;
  padding-right: 3.5897435897vw
}

.table.is__information td p+p {
  margin-top: 0.5em
}

.table .format-table {
  margin-top: 20px
}

.table .format-table thead th,
.table .format-table thead td {
  padding-top: 18px;
  padding-bottom: 18px
}

.table .format-table tbody th {
  background-color: transparent
}

.text+.text {
  margin-top: 7.6923076923vw
}

.toc li {
  margin: 0 !important
}

.toc li a {
  border-top: 1px dashed #d5d5d5;
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 700;
  padding: 1.2em 0
}

.toc li a .icon {
  display: block;
  padding-right: 1.2em;
  position: relative
}

.toc li a .icon::after {
  background-image: url(/images/org/icons/icon-down.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 1.4615384615em;
  position: absolute;
  right: 0;
  top: .4em;
  width: 1.4615384615em
}

.toc li:last-of-type a {
  border-bottom: 1px dashed #d5d5d5
}

.block-accordion {
  background: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 10px;
  display: block;
  position: relative;
  width: 100%
}

.news .block-accordion {
  border: none
}

.block-accordion+.block-accordion {
  margin-top: 5.1282051282vw
}

.block-accordion+.js-anchor-heading {
  margin-top: 18.4615384615vw !important
}

.block-accordion__icon {
  border: 2px solid #2c5fac;
  border-radius: 50%;
  height: 7.1794871795vw;
  position: absolute;
  right: 5.1282051282vw;
  top: 50%;
  transform: translateY(-50%);
  width: 7.1794871795vw
}

.news .block-accordion__icon {
  border: 1px solid #2c5fac
}

.block-accordion__icon::after,
.block-accordion__icon::before {
  background-color: #2c5fac;
  content: "";
  height: 3.0769230769vw;
  position: absolute;
  right: 2.8205128205vw;
  top: 50%;
  transform: translateY(-50%) rotate(var(--rotate));
  transition: rotate .3s;
  transition: .4s;
  width: 2px
}

.block-accordion__icon::before {
  --rotate: 0deg
}

.block-accordion__icon::after {
  --rotate: 90deg
}

.block-accordion__icon.is_active::before {
  --rotate: -90deg
}

.news .block-accordion__icon {
  height: 5.641025641vw;
  right: 5.1282051282vw;
  width: 5.641025641vw
}

.news .block-accordion__icon::after,
.news .block-accordion__icon::before {
  height: 2.8205128205vw;
  right: 50%;
  transform: translate(50%, -50%) rotate(var(--rotate));
  width: 1px
}

.block-accordion__btn {
  cursor: pointer;
  font-size: 5.1282051282vw;
  font-weight: 700;
  padding: 4.358974359vw 15.3846153846vw 4.358974359vw 0;
  position: relative;
  text-align: left;
  width: 100%
}

.block-accordion__btn.is_active .block-accordion__icon::before {
  --rotate: -90deg
}

.news .block-accordion__btn {
  font-size: 3.5897435897vw;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0;
  width: 40vw
}

.block-accordion__title {
  border-left: 3px solid #2c5fac;
  display: block;
  padding-left: 20px
}

.block-accordion__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: .4s;
  transition: .4s grid-template-rows ease
}

.block-accordion__content {
  overflow: hidden;
  padding: 0 5.1282051282vw;
  text-align: left
}

.block-accordion__inner {
  padding: 7.6923076923vw 0;
  position: relative
}

.block-accordion__inner:after {
  border-top: 1px solid #d5d5d5;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.block-accordion__inner>:not(:first-child) {
  margin-top: 5.1282051282vw
}

.block-accordion__heading {
  background-color: #f8f8f8;
  border-left: 3px solid #2c5fac;
  font-size: 4.6153846154vw;
  font-weight: 700;
  margin-bottom: 7.6923076923vw;
  margin-top: 12.8205128205vw;
  padding: 2.5641025641vw 4.6153846154vw
}

.block-accordion__heading:first-child {
  margin-top: 0
}

.block-accordion__sub-heading {
  font-size: 4.1025641026vw;
  font-weight: 700;
  margin-bottom: 5.1282051282vw;
  margin-top: 7.6923076923vw
}

.block-accordion__sub-heading:first-child {
  margin-top: 0
}

.block-accordion__sub-heading+* {
  margin-top: 0 !important
}

.block-accordion p+p {
  margin-top: 5.1282051282vw
}

.block-accordion .is_open {
  grid-template-rows: 1fr
}

.qa__btn {
  padding-bottom: 5.1282051282vw;
  padding-left: 5.1282051282vw;
  padding-top: 5.1282051282vw
}

.qa__icon {
  top: 5.1282051282vw;
  transform: translateY(0)
}

.qa__inner {
  padding-bottom: 5.1282051282vw;
  padding-top: 5.1282051282vw
}

.qa__answer,
.qa__question {
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 400;
  padding-left: 10.2564102564vw;
  position: relative
}

.qa__answer::before,
.qa__question::before {
  align-items: center;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-family: REM, sans-serif;
  font-size: 4.1025641026vw;
  font-weight: 600;
  height: 7.1794871795vw;
  justify-content: center;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 0;
  width: 7.1794871795vw
}

.qa__question {
  cursor: pointer
}

.qa__question::before {
  background-color: #2c5fac;
  content: "Q"
}

.qa__answer::before {
  background-color: #6e6e6e;
  content: "A"
}

.qa__answer__title {
  font-weight: 700
}

.qa__answer .mt-be-column>:not(:first-child) {
  margin-top: 5.1282051282vw
}

.qa__answer p+p {
  margin-top: 5.1282051282vw
}

.js-anchor-heading .heading {
  margin-bottom: 0
}

.block-editor .btn-flex p .arrow-link .arrow-link__text {
  flex: 1
}

.block-editor .btn-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 5.1282051282vw;
  justify-content: space-between;
  margin-bottom: 10.2564102564vw;
  margin-top: 7.6923076923vw
}

.block-editor .btn-flex p {
  margin-top: 0 !important
}

.block-editor>:not(:first-child) {
  margin-top: 5.1282051282vw
}

.block-editor .sidebar__block {
  border: solid 1px #d5d5d5
}

.block-editor .heading,
.block-editor h2 {
  font-size: 6.1538461538vw;
  margin-bottom: 50px
}

.block-editor .heading.is__h3,
.block-editor h3 {
  font-size: 5.1282051282vw;
  margin-bottom: 40px;
  margin-top: 80px
}

.block-editor .heading.is__h4,
.block-editor h4 {
  font-size: 4.6153846154vw;
  margin-bottom: 30px;
  margin-top: 53px
}

.block-editor .heading.is__h3,
.block-editor h3,
.block-editor .heading.is__h4,
.block-editor h4 {
  border-bottom: none;
  padding-bottom: 0;
  text-decoration: none
}

.block-editor p+p {
  margin-top: 1.5rem !important
}

.block-editor figure {
  margin-top: 50px !important
}

.block-editor figure figcaption {
  color: #6e6e6e;
  font-size: 3.5897435897vw;
  margin-top: 16px
}

.block-editor img {
  height: auto !important;
}

.block-editor iframe {
  max-width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain
}

.free-layout .block-editor>:not(:first-child) {
  margin-top: 0
}

.block-editor+.block-editor {
  margin-top: 20px
}

.block-editor .heading+*,
.block-editor h2+* {
  margin-top: 0 !important
}

.block-editor .link {
  display: block
}

.block-editor .link--underline {
  text-decoration: underline
}

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

.block-editor .table td,
.block-editor .table th,
.block-editor table td,
.block-editor table th {
  border: 1px solid #d5d5d5;
  padding: 1.5384615385vw 3.5897435897vw
}

.block-editor .table th,
.block-editor table th {
  font-weight: 700;
  text-align: center
}

.block-editor .table th.center,
.block-editor table th.center {
  vertical-align: middle
}

.block-editor .table th.left,
.block-editor table th.left {
  text-align: left
}

.block-editor .table thead th,
.block-editor table thead th {
  background-color: #e5e9f1
}

.block-editor .table caption {
  margin-bottom: 5.1282051282vw;
  text-align: left
}

.block-editor .table+.table,
.block-editor table+.table {
  margin-top: 12.8205128205vw
}

.block-editor .table+*,
.block-editor table+* {
  margin-top: 12.8205128205vw
}

.block-editor .table--column37 th {
  width: 37%
}

.block-editor .table--column37 td {
  width: 63%
}

.block-editor .table--column2 td,
.block-editor .table--column2 th {
  width: 50%
}

.block-editor .table--column3 td,
.block-editor .table--column3 th {
  width: 33.3333333333%
}

.block-editor .pop .links {
  columns: 2;
  margin: 30px 0
}

.block-editor .pop {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto
}

.block-editor .pop section {
  margin: 0 0 30px;
  overflow: hidden
}

.block-editor .pop section h2 {
  margin: 0 0 30px;
  padding: 0 0 5px;
  border-bottom: 2px solid #333;
  color: #333;
  font-size: 20px;
  font-weight: bold
}

.block-editor .pop .files {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -20px -20px 0
}

.block-editor .pop .files .item {
  width: calc(50% - 20px);
  margin: 0 20px 20px 0;
  text-align: center
}

.block-editor .pop .files .item .image img {
  max-width: 100%;
  vertical-align: bottom
}

.block-editor .explain {
  font-size: small
}

.media.is__author {
  gap: 66px;
  margin: auto;
  max-width: 976px
}

.media.is__author .media__img-wrapper img {
  width: 100%
}

.authorworks-slider {
  margin: auto;
  padding-left: 6.4102564103vw !important
}

.authorworks-slider__slide {
  display: flex;
  flex-direction: column;
  width: 200px !important
}

.authorworks-slider__slide .inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1
}

.authorworks-slider__slide a .title_wrp {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between
}

.authorworks-slider__slide .img_wrp {
  margin-bottom: 26px
}

.authorworks-slider__slide .book_title {
  font-size: 3.5897435897vw;
  font-weight: 700;
  margin-bottom: 10px
}

.authorworks-slider__slide .sub_text {
  color: #6e6e6e;
  display: block;
  font-size: 3.3333333333vw;
  font-weight: 700;
  margin-top: auto
}

.authorworks-slider__slide .format_name {
  font-size: 85%
}

.contct_flow_graph {
  display: flex;
  font-size: 3.5897435897vw;
  font-weight: 700;
  gap: 2.5641025641vw;
  justify-content: center;
  margin-bottom: 12.8205128205vw;
  position: relative;
  text-align: center
}

.contct_flow_graph li {
  color: #6e6e6e;
  position: relative;
  width: 23.9435897436vw
}

.contct_flow_graph li::before {
  background-color: #fff;
  border: .5128205128vw solid #d5d5d5;
  border-radius: 100%;
  bottom: 10.2564102564vw;
  content: "";
  height: 6.4102564103vw;
  left: 50%;
  position: absolute;
  right: 50%;
  transform: translateX(-50%);
  width: 6.4102564103vw;
  z-index: 2
}

.contct_flow_graph li::after {
  background-color: #d5d5d5;
  content: "";
  height: .5128205128vw;
  left: -50%;
  position: absolute;
  top: -7.6923076923vw;
  width: 21.7948717949vw;
  z-index: 1
}

.contct_flow_graph li:first-of-type::after {
  content: none
}

.contct_flow_graph li.is__done {
  color: #2c5fac
}

.contct_flow_graph li.is__done::before {
  background-color: #2c5fac;
  border: 2px solid #2c5fac
}

.contct_flow_graph li.is__done::after {
  background-color: #2c5fac
}

.contact-intro-text {
  font-size: 4.1025641026vw;
  margin-bottom: 60px
}

.contact__type .category-btn {
  margin-bottom: 5.1282051282vw
}

.contact__faq .btn-list {
  display: flex;
  flex-direction: column;
  gap: 5.1282051282vw
}

.main.error .page-head {
  display: none;
  visibility: hidden;
  opacity: 0;
  pointer-events: none
}

.page-head {
  background: #f8f8f8;
  padding: 2.5641025641vw 0 15.3846153846vw;
  position: relative
}

.page-head .inner,
.page-head .s-inner {
  position: relative;
  z-index: 1
}

.page-head__heading {
  font-size: 8.2051282051vw;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 8.2051282051vw;
  position: relative;
  text-align: center
}

.page-head__heading.is__article {
  font-size: 6.1538461538vw
}

.page-head__heading::before {
  background: url(/images/org/common/page-head-bg-sp.svg) no-repeat left center;
  background-position: left bottom;
  background-size: 100% auto;
  content: "";
  height: 100%;
  left: 0;
  margin: 0 calc(50% - 50vw) -25.641025641vw;
  position: absolute;
  top: 5.1282051282vw;
  width: 100%;
  z-index: -1
}

.page-head__text {
  margin-top: 2em
}

.page-head__header {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 14.8717948718vw
}

.page-head .news-info {
  margin: 0
}

.page-head:has(.is__article) .breadcrumbs {
  margin-bottom: 6.4102564103vw
}

.page-head__sub-heading {
  font-size: 3.5897435897vw;
  font-weight: 700;
  margin-bottom: 5.1282051282vw;
  text-align: center
}

.page-head.is__books {
  padding: 0 0 15.3846153846vw
}

.page-head .sub-name {
  font-size: 4.1025641026vw;
  margin-top: 4.1025641026vw
}

.pagination {
  text-align: center
}

.pagination ul {
  display: inline-flex;
  margin: 0 auto
}

.pagination li a {
  border: 1px solid #2c5fac;
  border-radius: 1000px;
  padding: .2em 1em
}

.pagination li span {
  position: relative
}

.pagination__prev span {
  padding-left: 1.2em
}

.pagination__prev span::before {
  background: url(/images/org/icons/prev-arrow.svg) no-repeat;
  background-size: contain;
  content: "";
  height: 1em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1em
}

.pagination__next span {
  padding-right: 1.2em
}

.pagination__next span::after {
  background: url(/images/org/icons/next-arrow.svg) no-repeat;
  background-size: contain;
  content: "";
  height: 1em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1em
}

.page-navigation {
  margin-top: 20.5128205128vw;
  position: relative;
  text-align: center
}

.page-navigation__index {
  border-bottom: 1px solid #d5d5d5;
  border-top: 1px solid #d5d5d5
}

.page-navigation__index a {
  display: inline-block;
  position: relative;
  z-index: 1;
  -webkit-text-decoration: underline 1px;
  font-size: 3.5897435897vw;
  padding: 3.0769230769vw 5.1282051282vw;
  text-decoration: underline 1px;
  text-underline-offset: 2px;
  transition: .7s cubic-bezier(.075, .82, .165, 1)
}

.page-navigation__index a:focus-visible {
  color: #2c5fac
}

.page-navigation__list {
  border-bottom: 1px solid #d5d5d5;
  display: flex;
  justify-content: space-between;
  padding: 3.0769230769vw 0
}

.page-navigation__list li {
  line-height: 1
}

.page-navigation__list li a {
  font-size: 3.5897435897vw;
  -webkit-text-decoration: underline 1px;
  text-decoration: underline 1px;
  text-underline-offset: 2px
}

.page-navigation__prev .icon {
  display: inline-block;
  margin-right: 10px
}

.page-navigation__next .icon {
  display: inline-block;
  margin-left: 10px
}

.page-navigation__button {
  align-items: center;
  display: flex;
  gap: 0 5.1282051282vw
}

.page-navigation__button.--prev.non-clickable,
.page-navigation__button.--next.non-clickable {
  pointer-events: none
}

.page-navigation__button.--prev {
  --left: 47%
}

.page-navigation__button.--next {
  --left: 53%
}

.page-navigation__button:focus-visible .txt {
  color: #2c5fac
}

.page-navigation__button:focus-visible .arrow {
  background-color: #2c5fac
}

.nolink .page-navigation__button:focus-visible .arrow {
  background-color: rgba(0, 0, 0, 0)
}

.page-navigation__button:focus-visible .arrow svg path {
  stroke: #fff !important
}

.nolink .page-navigation__button:focus-visible .arrow svg path {
  stroke: #6e6e6e !important
}

.page-navigation__button .txt {
  transition: .7s cubic-bezier(.075, .82, .165, 1)
}

.nolink .page-navigation__button .txt {
  color: #6e6e6e
}

.page-navigation__button .arrow {
  border: 1px solid #2c5fac;
  border-radius: 50%;
  height: 10.2564102564vw;
  position: relative;
  transition: .7s cubic-bezier(.075, .82, .165, 1);
  width: 10.2564102564vw
}

.nolink .page-navigation__button .arrow {
  border: 1px solid #6e6e6e
}

.page-navigation__button .arrow svg {
  left: var(--left);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%)
}

.page-navigation__button .arrow svg path {
  transition: .7s cubic-bezier(.075, .82, .165, 1)
}

.nolink .page-navigation__button .arrow svg path {
  stroke: #6e6e6e !important
}

.page-navigation__button--wrapper ul {
  display: flex;
  gap: 0 12.8205128205vw;
  justify-content: center;
  margin-bottom: 10.2564102564vw;
  margin-top: 6.1538461538vw
}

.page-navigation__button--wrapper .back {
  display: flex;
  justify-content: flex-end;
  margin-top: 5.1282051282vw
}

.page-navigation__button--wrapper.is__pager ul {
  align-items: center;
  color: #6e6e6e;
  font-family: REM, sans-serif;
  font-size: 3.0769230769vw;
  font-weight: 700;
  gap: 4.1025641026vw;
  letter-spacing: .05em
}

.page-navigation__button--wrapper.is__pager ul .is__current {
  color: #303030
}

.news-container {
  padding-bottom: 7.6923076923vw
}

.site-search-form.is__news {
  flex-wrap: nowrap;
  justify-content: left
}

.search .section:has(.search-sidebar) {
  position: relative
}

.search-summary {
  margin-bottom: 20.5128205128vw
}

.search-summary__thumbnail .other_thumbnail {
  display: flex;
  gap: 2.0512820513vw;
  justify-content: center;
  margin-top: 4.1025641026vw
}

.search-summary__thumbnail .other_thumbnail li img {
  cursor: pointer;
  display: block;
  width: 17.9487179487vw
}

.search-summary__thumbnail .btn {
  color: #2c5fac;
  font-size: 3.5897435897vw;
  font-weight: 500;
  line-height: 1;
  margin: 4.1025641026vw auto 0;
  max-width: 56.4102564103vw;
  min-height: inherit;
  padding: 3.8461538462vw
}

.search-summary__detail .headline {
  font-size: 5.1282051282vw;
  margin-bottom: 7.6923076923vw
}

.search-summary__detail .table {
  line-height: 1
}

.search-summary__detail .contact_link {
  display: block;
  margin: 7.6923076923vw 0 0 auto;
  text-decoration: underline;
  width: -moz-fit-content;
  width: fit-content
}

.search-section {
  display: flex;
  justify-content: space-between
}

.search-sidebar {
  margin-bottom: 20.5128205128vw;
  max-width: 87.1794871795vw;
  overflow-y: auto
}

.search-sidebar__box {
  border: 1px solid #d5d5d5;
  border-radius: 2.5641025641vw;
  width: 100%
}

.search-sidebar__box+* {
  margin-top: 5.1282051282vw
}

.search-sidebar__title {
  background-color: #e5e9f1;
  border-radius: 2.5641025641vw 2.5641025641vw 0 0;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 5.1282051282vw;
  padding-top: 5.1282051282vw;
  text-align: center;
  width: 100%
}

.search-sidebar__text {
  font-size: 3.5897435897vw
}

.search-sidebar__text span {
  font-size: 4.6153846154vw
}

.search-sidebar.pc-only {
  border-right: none;
  display: block;
  margin-bottom: 0;
  max-width: 240px
}

.search-sidebar .price-text {
  font-size: 3.5897435897vw;
  line-height: 1;
  margin-bottom: 4.1025641026vw;
  text-align: center
}

.search-sidebar .price {
  display: block;
  font-size: 4.1025641026vw;
  margin: .5em 0
}

.search-sidebar .order_wrp {
  font-size: 3.5897435897vw;
  font-weight: 700;
  padding: 7.6923076923vw 5.1282051282vw;
  text-align: center
}

.search-sidebar .order_wrp p {
  line-height: 1
}

.search-sidebar .order_wrp p+.btn-blue.is__cart {
  margin-top: 5.1282051282vw
}

.search-sidebar .btn-blue {
  background-color: #2c5fac;
  background-image: url(/images/org/icons/icon-cart-white.svg);
  background-position: left 11.2820512821vw center;
  background-size: 5.1282051282vw 5.1282051282vw;
  border-radius: 20.5128205128vw;
  color: #fff;
  display: block;
  font-size: 3.5897435897vw;
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
  max-width: 61.5384615385vw;
  padding: 3.5897435897vw 3.5897435897vw 3.5897435897vw 7.6923076923vw;
  text-align: center;
  transition: .4s;
  width: 100%
}

.search-sidebar .btn-blue:focus-visible {
  opacity: .8
}

.search-sidebar .btn-blue.is__cart {
  background-image: url(/images/org/icons/icon-cart-white.svg)
}

.search-sidebar .btn-blue.is__store {
  background-image: url(/images/org/icons/icon-search-white.svg)
}

.search-sidebar ul {
  border-bottom: 1px solid #d5d5d5;
  border-left: 1px solid #d5d5d5;
  display: grid;
  gap: 0;
  grid-template-columns: 1fr 1fr
}

.search-sidebar ul li {
  border-right: 1px solid #d5d5d5;
  border-top: 1px solid #d5d5d5
}

.search-sidebar ul li a {
  opacity: 1;
  transition: .4s
}

.search-sidebar ul li a:hover {
  opacity: .8;
  transition: .4s
}

.search-sidebar ul li:not(:first-child) {
  margin-top: inherit !important
}

.search__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 15.3846153846vw 10.2564102564vw;
  width: 100%
}

.search__list {
  display: block;
  position: relative;
  width: calc(50% - 5.1282051282vw)
}

.search__list::before {
  align-items: center;
  border-radius: 2.8205128205vw;
  color: #fff;
  display: flex;
  font-size: 3.0769230769vw;
  font-weight: 700;
  height: -moz-max-content;
  height: max-content;
  justify-content: center;
  line-height: 1;
  margin: auto;
  min-height: 5.641025641vw;
  min-width: 17.4358974359vw;
  position: absolute;
  right: -2.0512820513vw;
  top: -3.3333333333vw;
  width: -moz-max-content;
  width: max-content
}

.search__list.search-new::before {
  background-color: #2c5fac;
  content: "NEW"
}

.search__list.search-recommend::before {
  background-color: #f4901a;
  content: "おすすめ"
}

.search__list.search-soon::before {
  background-color: #7c7ace;
  content: "近日発売"
}

.search__inner {
  display: block;
  height: 100%;
  width: 100%
}

.search__img {
  margin-bottom: 4.1025641026vw;
  margin-left: auto;
  margin-right: auto;
  width: 31.0256410256vw
}

.search__text {
  display: block
}

.search__text+.search__text {
  margin-top: 1.5384615385vw
}

.search__text.search-date {
  color: #6e6e6e;
  font-size: 3.0769230769vw;
  line-height: 120%
}

.search__text.search-title {
  font-size: 3.5897435897vw;
  font-weight: 700;
  line-height: 150%
}

.search__text.search-author,
.search__text.search-price {
  color: #6e6e6e;
  font-size: 3.0769230769vw;
  font-weight: 700;
  line-height: 140%
}

.service .others-block {
  display: flex;
  flex-direction: column;
  gap: 4.6153846154vw 0;
  margin-top: 23.0769230769vw
}

.service .others-block:first-child {
  margin-top: 0
}

.service .others-block__content {
  display: contents
}

.service .others-block__title {
  font-size: 5.1282051282vw;
  font-weight: 700;
  order: 1;
  text-align: center
}

.service .others-block__text {
  font-size: 3.5897435897vw;
  line-height: 2;
  margin-bottom: 2.5641025641vw;
  order: 3;
  text-align: left
}

.service .others-block__arrow {
  order: 4
}

.service .others-block .arrow-link {
  float: right
}

.service .others-block__img {
  border: 1px solid #d5d5d5;
  border-radius: 2.5641025641vw;
  height: 100%;
  order: 2;
  overflow: hidden
}

.service .others-block__img img {
  border-radius: 2.5641025641vw;
  transform: scale(1.04)
}

.cds-heading {
  text-align: center
}

.cds-about__txt {
  margin-top: 5.1282051282vw
}

.cds-about__txt>p {
  line-height: 2
}

.cds-about__arrow {
  margin-top: 2.5641025641vw;
  text-align: right
}

.cds-intro {
  text-align: center
}

.cds-intro__heading {
  font-size: 4.6153846154vw;
  margin-bottom: 0;
  margin-left: -3.5897435897vw;
  margin-top: 4.1025641026vw
}

.cds-intro__wrapper {
  display: flex;
  flex-direction: column;
  gap: 10.2564102564vw 0
}

.cds-intro__item a {
  display: inline-block;
  transition: .4s
}

.cds-intro__item a:focus-visible {
  opacity: .5
}

.cds-class__wrapper {
  display: flex;
  flex-direction: column;
  gap: 30.7692307692vw 0
}

.cds-class__item {
  display: flex;
  flex-direction: column;
  gap: 3.5897435897vw 0;
  position: relative
}

.cds-class__item:not(:first-child)::before {
  background-color: rgba(44, 95, 172, .2);
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: -13.8461538462vw;
  width: 100%
}

.cds-class__details {
  display: contents
}

.cds-class__details .sub-heading {
  align-items: center;
  display: flex;
  gap: 0 5.1282051282vw;
  margin-bottom: 1.0256410256vw;
  order: 1
}

.cds-class__details .icon-copelplus {
  display: flex;
  gap: 0 1.5384615385vw
}

.cds-class__details .icon-copelplus img {
  height: 11.2820512821vw;
  width: 11.2820512821vw
}

.cds-class__details dl {
  order: 2
}

.cds-class__details dt {
  font-size: 4.1025641026vw;
  font-weight: 700;
  margin-bottom: 1.0256410256vw
}

.cds-class__details dt:not(:first-child) {
  margin-top: 5.1282051282vw
}

.cds-class__details .clearfix {
  margin-bottom: 2.5641025641vw
}

.cds-class__details .clearfix:last-child {
  margin-bottom: 0
}

.cds-class__arrow {
  margin-bottom: 2.5641025641vw;
  order: 3;
  text-align: right
}

.cds-class__map {
  aspect-ratio: 600/488;
  height: 100%;
  order: 4;
  width: 100%
}

.cds-class__map iframe {
  height: 100%;
  width: 100%
}

.cds-recruit__bg {
  background-color: #f8f8f8;
  border-radius: 2.5641025641vw;
  padding: 12.8205128205vw 4.8717948718vw
}

.cds-recruit__wrapper {
  display: flex;
  flex-direction: column;
  gap: 5.1282051282vw 0
}

.cds-recruit__txt {
  text-align: left
}

.cds-recruit__btn {
  margin: 0 auto
}

.top {
  background-color: #fff !important;
  padding-bottom: 0
}

@keyframes next-arrow {
  20% {
    translate: 5px 0
  }

  100% {
    translate: 2px 0
  }
}

@keyframes prev-arrow {
  20% {
    translate: -5px 0
  }

  100% {
    translate: -2px 0
  }
}

.top .slider-arrow-icon {
  align-items: center;
  display: flex;
  justify-content: center
}

.top .kv {
  position: relative
}

.top .kv__arrow--next {
  right: 0
}

.top .kv__arrow--next:focus-visible {
  opacity: 1 !important
}

.top .kv__arrow--prev {
  left: 0
}

.top .kv__arrow--prev:focus-visible {
  opacity: 1 !important
}

.top .kv__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
  margin-top: 2.5641025641vw;
  width: -moz-max-content;
  width: max-content
}

.top .kv__controls .splide__toggle {
  height: -moz-max-content;
  height: max-content;
  margin: 0;
  padding: 0;
  width: -moz-max-content;
  width: max-content
}

.top .kv__pagination {
  bottom: 0;
  gap: 1.2820512821vw;
  position: relative
}

.top .kv__pagination__page {
  align-items: center;
  background: rgba(0, 0, 0, 0);
  border-radius: 50%;
  color: #6e6e6e;
  display: flex;
  font-family: REM, sans-serif;
  font-size: 2.8205128205vw;
  font-weight: 700;
  height: 6.1538461538vw;
  justify-content: center;
  letter-spacing: .1rem;
  position: relative;
  transition: all .3s ease;
  width: 6.1538461538vw
}

.top .kv__pagination__page.is-active {
  background: rgba(0, 0, 0, 0);
  color: #303030
}

.top .kv .progress-ring {
  height: 6.1538461538vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 6.1538461538vw
}

.top .kv .progress-ring__circle {
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: .1s stroke-dashoffset;
  stroke: #2c5fac
}

.top .kv__slide {
  border-radius: 2.0512820513vw;
  height: auto;
  overflow: hidden;
  width: 87.1794871795vw !important
}

.top .kv__link {
  border-radius: 2.0512820513vw;
  height: auto;
  transition: .4s;
  width: 87.1794871795vw
}

.top .kv__toggle img {
  height: 6.4102564103vw;
  width: 6.4102564103vw
}

.top .kv .kv__toggle.is-active .kv__toggle__play,
.top .kv .kv__toggle__pause {
  display: none
}

.top .kv .kv__toggle.is-active .kv__toggle__pause,
.top .kv .kv__toggle__play {
  display: flex
}

.top .topics {
  padding: 10.2564102564vw 0 30.7692307692vw
}

.top .topics .arrow-link {
  margin-top: 7.6923076923vw
}

.top .section {
  margin-top: -15.3846153846vw;
  padding: 20.7692307692vw 0
}

.top .topics .inner {
  margin-left: auto;
  margin-right: auto;
  width: 87.1794871795%
}

.top .h2-heading {
  align-items: center;
  color: #303030;
  display: flex;
  flex-direction: column;
  margin-bottom: 10.5128205128vw;
  width: -moz-fit-content;
  width: fit-content
}

.top .h2-heading__jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 6.1538461538vw;
  font-weight: 700
}

.top .h2-heading__icon svg {
  width: 14.8717948718vw
}

.top .newbooks {
  padding: 20.5128205128vw 0 30.7692307692vw
}

.top .newbooks .link-container {
  margin-top: 10.2564102564vw
}

.top .book-slider .splide__list {
  align-items: baseline
}

.top .book-slider .splide__slide {
  line-height: 1.5
}

.top .book-slider .splide__slide img {
  scale: .9;
  transform-origin: bottom;
  transition: .4s;
  width: 100%
}

.top .book-slider .splide__slide p {
  color: #303030;
  font-size: 4.1025641026vw;
  font-weight: 700;
  margin-top: 4.1025641026vw
}

.top .book-slider .splide__slide.is-active img {
  scale: 1;
  transform-origin: bottom
}

.top .book-slider .splide__slide .format_name {
  font-size: 85%
}

.top .book-slider__arrow {
  top: 37vw
}

.top .book-slider__arrow--prev {
  left: 10.2564102564vw
}

.top .book-slider__arrow--next {
  right: 10.2564102564vw
}

.top .book-slide__label {
  color: #6e6e6e;
  display: block;
  font-size: 3.3333333333vw;
  font-weight: 700;
  margin-top: 9.7435897436vw
}

.top .news {
  padding: 20.5128205128vw 0 30.7692307692vw
}

.top .news-container {
  padding-bottom: 7.6923076923vw
}

.top .tabs-container {
  overflow-x: auto;
  padding: 0 1.2820512821vw 5.1282051282vw 0;
  white-space: nowrap;
  width: 100%;
  -ms-overflow-style: none;
  scrollbar-width: none
}

.top .tabs-container::-webkit-scrollbar {
  display: none
}

.top .service {
  padding: 20.5128205128vw 0 25.641025641vw;
  position: relative
}

.top .service-pc .service-nav--pc {
  flex-shrink: 0
}

.top .service-nav--sp__list {
  display: flex;
  gap: 1.2820512821vw;
  margin-bottom: 7.6923076923vw
}

.top .service-nav--sp__item {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  font-size: 3.0769230769vw;
  justify-content: center;
  padding: 4.6153846154vw 0;
  text-align: center;
  width: 100%
}

.top .service-nav--sp__item:first-child {
  border-radius: 2.0512820513vw 0 0 2.0512820513vw
}

.top .service-nav--sp__item:last-child {
  border-radius: 0 2.0512820513vw 2.0512820513vw 0
}

.top .service-nav--sp__link {
  align-items: center;
  color: #6e6e6e;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  gap: 1.2820512821vw;
  justify-content: center
}

.top .service-nav--sp__link svg {
  display: block;
  scale: 1.1
}

.top .service-nav--pc {
  background: #fff;
  border-radius: 0 20px 20px 0;
  height: -moz-fit-content;
  height: fit-content;
  padding: 2.7vw 3.47vw;
  position: absolute;
  top: 90px
}

.top .service-nav--pc__list {
  display: flex;
  flex-direction: column;
  gap: 25px
}

.top .service-nav--pc__item {
  cursor: pointer
}

.top .service-nav--pc__link {
  color: #6e6e6e;
  transition: .4s
}

.top .service-nav--pc__link:focus-visible {
  color: #303030
}

.top .service-nav--pc__link:focus-visible svg path {
  stroke: #2c5fac !important
}

.top .service-nav--pc__link.active {
  color: #303030
}

.top .service-nav--pc__link.active svg path {
  stroke: #2c5fac !important
}

.top .service-nav--pc__icon--1 {
  margin-right: 10px
}

.top .service-nav--pc__icon--2 {
  margin-right: 16px
}

.top .service-nav--pc__icon--3 {
  margin-right: 12px
}

.top .service-block__content {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 12.8205128205vw;
  position: relative
}

.top .service-block__content--reverse {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 12.8205128205vw;
  margin-top: 20.5128205128vw
}

.top .service-block__text {
  font-size: 5.1282051282vw;
  margin-bottom: 2.5641025641vw
}

.top .service-block .arrow-link {
  float: right;
  margin-top: 7.6923076923vw
}

.flex {
  display: flex
}

.flex-1 {
  flex: 1
}

.flex-wrap {
  flex-wrap: wrap
}

.flex-w480 {
  flex: 0 1 43.6363636364%
}

.flex-w400 {
  flex: 0 1 36.3636363636%
}

.flex-w300 {
  flex: 0 1 27.2727272727%
}

.flex-w300--inner {
  padding-left: 7.6923076923vw;
  padding-right: 7.6923076923vw
}

.gap-0 {
  gap: 0
}

.gap-10 {
  gap: 2.5641025641vw
}

.gap-20 {
  gap: 5.1282051282vw
}

.gap-30 {
  gap: 7.6923076923vw
}

.gap-40 {
  gap: 10.2564102564vw
}

.gap-50 {
  gap: 12.8205128205vw
}

.gap-60 {
  gap: 15.3846153846vw
}

.gap-70 {
  gap: 17.9487179487vw
}

.gap-80 {
  gap: 20.5128205128vw
}

.gap-90 {
  gap: 23.0769230769vw
}

.gap-100 {
  gap: 25.641025641vw
}

.gap-110 {
  gap: 28.2051282051vw
}

.gap-120 {
  gap: 30.7692307692vw
}

.gap-130 {
  gap: 33.3333333333vw
}

.gap-140 {
  gap: 35.8974358974vw
}

.gap-150 {
  gap: 38.4615384615vw
}

.gap-160 {
  gap: 41.0256410256vw
}

.flex-row {
  flex-direction: row
}

.flex-row-reverse {
  flex-direction: row-reverse
}

.flex-col {
  flex-direction: column
}

.flex-col-reverse {
  flex-direction: column-reverse
}

.flex-wrap {
  flex-wrap: wrap
}

.flex-nowrap {
  flex-wrap: nowrap
}

.flex-center {
  justify-content: center
}

.flex-start {
  justify-content: flex-start !important
}

.flex-column {
  flex-direction: column
}

.shrink-0 {
  flex-shrink: 0
}

.align-center {
  align-items: center
}

.align-end {
  align-items: flex-end
}

.sp-justify-end {
  display: flex;
  justify-content: flex-end;
  width: 100%
}

.row-reverse {
  flex-direction: row-reverse
}

.justify-center {
  justify-content: center
}

.justify-start {
  justify-content: flex-start
}

.font-normal {
  font-weight: 400 !important
}

.font-bold {
  font-weight: 700 !important
}

.grid {
  display: grid;
  gap: 7.6923076923vw
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr))
}

.gap-0 {
  gap: 0
}

.gap-x-0x {
  -moz-column-gap: 0;
  column-gap: 0
}

.gap-5 {
  gap: 1.2820512821vw
}

.gap-x-5x {
  -moz-column-gap: 1.2820512821vw;
  column-gap: 1.2820512821vw
}

.gap-10 {
  gap: 2.5641025641vw
}

.gap-x-10x {
  -moz-column-gap: 2.5641025641vw;
  column-gap: 2.5641025641vw
}

.gap-15 {
  gap: 3.8461538462vw
}

.gap-x-15x {
  -moz-column-gap: 3.8461538462vw;
  column-gap: 3.8461538462vw
}

.gap-20 {
  gap: 5.1282051282vw
}

.gap-x-20x {
  -moz-column-gap: 5.1282051282vw;
  column-gap: 5.1282051282vw
}

.gap-25 {
  gap: 6.4102564103vw
}

.gap-x-25x {
  -moz-column-gap: 6.4102564103vw;
  column-gap: 6.4102564103vw
}

.gap-30 {
  gap: 7.6923076923vw
}

.gap-x-30x {
  -moz-column-gap: 7.6923076923vw;
  column-gap: 7.6923076923vw
}

.gap-35 {
  gap: 8.9743589744vw
}

.gap-x-35x {
  -moz-column-gap: 8.9743589744vw;
  column-gap: 8.9743589744vw
}

.gap-40 {
  gap: 10.2564102564vw
}

.gap-x-40x {
  -moz-column-gap: 10.2564102564vw;
  column-gap: 10.2564102564vw
}

.gap-45 {
  gap: 11.5384615385vw
}

.gap-x-45x {
  -moz-column-gap: 11.5384615385vw;
  column-gap: 11.5384615385vw
}

.gap-50 {
  gap: 12.8205128205vw
}

.gap-x-50x {
  -moz-column-gap: 12.8205128205vw;
  column-gap: 12.8205128205vw
}

.gap-55 {
  gap: 14.1025641026vw
}

.gap-x-55x {
  -moz-column-gap: 14.1025641026vw;
  column-gap: 14.1025641026vw
}

.gap-60 {
  gap: 15.3846153846vw
}

.gap-x-60x {
  -moz-column-gap: 15.3846153846vw;
  column-gap: 15.3846153846vw
}

.none {
  display: none !important
}

.block {
  display: block !important
}

.inline {
  display: inline !important
}

.inline-block {
  display: inline-block !important
}

.table {
  display: table !important
}

.flex {
  display: flex !important
}

.hidden {
  display: none
}

.content-none::after,
.content-none::before {
  content: none !important
}

.w-0p {
  width: 0% !important
}

.w-5p {
  width: 5% !important
}

.w-10p {
  width: 10% !important
}

.w-15p {
  width: 15% !important
}

.w-20p {
  width: 20% !important
}

.w-25p {
  width: 25% !important
}

.w-30p {
  width: 30% !important
}

.w-35p {
  width: 35% !important
}

.w-40p {
  width: 40% !important
}

.w-45p {
  width: 45% !important
}

.w-50p {
  width: 50% !important
}

.w-55p {
  width: 55% !important
}

.w-60p {
  width: 60% !important
}

.w-65p {
  width: 65% !important
}

.w-70p {
  width: 70% !important
}

.w-75p {
  width: 75% !important
}

.w-80p {
  width: 80% !important
}

.w-85p {
  width: 85% !important
}

.w-90p {
  width: 90% !important
}

.w-95p {
  width: 95% !important
}

.w-100p {
  width: 100% !important
}

.w-max {
  width: 100%
}

.w-full {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%)
}

.w-auto {
  width: auto
}

.centering {
  margin-left: auto;
  margin-right: auto
}

.text-left {
  text-align: left !important
}

.text-center {
  text-align: center !important
}

.text-right {
  text-align: right !important
}

.text-justify {
  text-align: justify !important
}

.uppearcase {
  text-transform: uppercase
}

.nowrap {
  white-space: nowrap
}

.text-indent {
  padding-left: 1.5em;
  text-indent: -1.5em
}

.text-underline {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px
}

.text-small {
  font-size: 3.0769230769vw
}

.color-blue {
  color: #2c5fac
}

.color-red {
  color: #e92121
}

.bg-white {
  background-color: #fff !important
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important
}

.m-0 {
  margin: 0 !important
}

.mt-0 {
  margin-top: 0 !important
}

.mb-0 {
  margin-bottom: 0 !important
}

.p-0 {
  padding: 0 !important
}

.pt-0 {
  padding-top: 0 !important
}

.pb-0 {
  padding-bottom: 0 !important
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important
}

.pl-0 {
  padding-left: 0 !important
}

.pr-0 {
  padding-right: 0 !important
}

.m-10 {
  margin: 2.5641025641vw !important
}

.mt-10 {
  margin-top: 2.5641025641vw !important
}

.mb-10 {
  margin-bottom: 2.5641025641vw !important
}

.p-10 {
  padding: 2.5641025641vw !important
}

.pt-10 {
  padding-top: 2.5641025641vw !important
}

.pb-10 {
  padding-bottom: 2.5641025641vw !important
}

.px-10 {
  padding-left: 2.5641025641vw !important;
  padding-right: 2.5641025641vw !important
}

.pl-10 {
  padding-left: 2.5641025641vw !important
}

.pr-10 {
  padding-right: 2.5641025641vw !important
}

.m-20 {
  margin: 5.1282051282vw !important
}

.mt-20 {
  margin-top: 5.1282051282vw !important
}

.mb-20 {
  margin-bottom: 5.1282051282vw !important
}

.p-20 {
  padding: 5.1282051282vw !important
}

.pt-20 {
  padding-top: 5.1282051282vw !important
}

.pb-20 {
  padding-bottom: 5.1282051282vw !important
}

.px-20 {
  padding-left: 5.1282051282vw !important;
  padding-right: 5.1282051282vw !important
}

.pl-20 {
  padding-left: 5.1282051282vw !important
}

.pr-20 {
  padding-right: 5.1282051282vw !important
}

.m-30 {
  margin: 7.6923076923vw !important
}

.mt-30 {
  margin-top: 7.6923076923vw !important
}

.mb-30 {
  margin-bottom: 7.6923076923vw !important
}

.p-30 {
  padding: 7.6923076923vw !important
}

.pt-30 {
  padding-top: 7.6923076923vw !important
}

.pb-30 {
  padding-bottom: 7.6923076923vw !important
}

.px-30 {
  padding-left: 7.6923076923vw !important;
  padding-right: 7.6923076923vw !important
}

.pl-30 {
  padding-left: 7.6923076923vw !important
}

.pr-30 {
  padding-right: 7.6923076923vw !important
}

.m-40 {
  margin: 10.2564102564vw !important
}

.mt-40 {
  margin-top: 10.2564102564vw !important
}

.mb-40 {
  margin-bottom: 10.2564102564vw !important
}

.p-40 {
  padding: 10.2564102564vw !important
}

.pt-40 {
  padding-top: 10.2564102564vw !important
}

.pb-40 {
  padding-bottom: 10.2564102564vw !important
}

.px-40 {
  padding-left: 10.2564102564vw !important;
  padding-right: 10.2564102564vw !important
}

.pl-40 {
  padding-left: 10.2564102564vw !important
}

.pr-40 {
  padding-right: 10.2564102564vw !important
}

.m-50 {
  margin: 12.8205128205vw !important
}

.mt-50 {
  margin-top: 12.8205128205vw !important
}

.mb-50 {
  margin-bottom: 12.8205128205vw !important
}

.p-50 {
  padding: 12.8205128205vw !important
}

.pt-50 {
  padding-top: 12.8205128205vw !important
}

.pb-50 {
  padding-bottom: 12.8205128205vw !important
}

.px-50 {
  padding-left: 12.8205128205vw !important;
  padding-right: 12.8205128205vw !important
}

.pl-50 {
  padding-left: 12.8205128205vw !important
}

.pr-50 {
  padding-right: 12.8205128205vw !important
}

.m-60 {
  margin: 15.3846153846vw !important
}

.mt-60 {
  margin-top: 15.3846153846vw !important
}

.mb-60 {
  margin-bottom: 15.3846153846vw !important
}

.p-60 {
  padding: 15.3846153846vw !important
}

.pt-60 {
  padding-top: 15.3846153846vw !important
}

.pb-60 {
  padding-bottom: 15.3846153846vw !important
}

.px-60 {
  padding-left: 15.3846153846vw !important;
  padding-right: 15.3846153846vw !important
}

.pl-60 {
  padding-left: 15.3846153846vw !important
}

.pr-60 {
  padding-right: 15.3846153846vw !important
}

.m-70 {
  margin: 17.9487179487vw !important
}

.mt-70 {
  margin-top: 17.9487179487vw !important
}

.mb-70 {
  margin-bottom: 17.9487179487vw !important
}

.p-70 {
  padding: 17.9487179487vw !important
}

.pt-70 {
  padding-top: 17.9487179487vw !important
}

.pb-70 {
  padding-bottom: 17.9487179487vw !important
}

.px-70 {
  padding-left: 17.9487179487vw !important;
  padding-right: 17.9487179487vw !important
}

.pl-70 {
  padding-left: 17.9487179487vw !important
}

.pr-70 {
  padding-right: 17.9487179487vw !important
}

.m-80 {
  margin: 20.5128205128vw !important
}

.mt-80 {
  margin-top: 20.5128205128vw !important
}

.mb-80 {
  margin-bottom: 20.5128205128vw !important
}

.p-80 {
  padding: 20.5128205128vw !important
}

.pt-80 {
  padding-top: 20.5128205128vw !important
}

.pb-80 {
  padding-bottom: 20.5128205128vw !important
}

.px-80 {
  padding-left: 20.5128205128vw !important;
  padding-right: 20.5128205128vw !important
}

.pl-80 {
  padding-left: 20.5128205128vw !important
}

.pr-80 {
  padding-right: 20.5128205128vw !important
}

.m-90 {
  margin: 23.0769230769vw !important
}

.mt-90 {
  margin-top: 23.0769230769vw !important
}

.mb-90 {
  margin-bottom: 23.0769230769vw !important
}

.p-90 {
  padding: 23.0769230769vw !important
}

.pt-90 {
  padding-top: 23.0769230769vw !important
}

.pb-90 {
  padding-bottom: 23.0769230769vw !important
}

.px-90 {
  padding-left: 23.0769230769vw !important;
  padding-right: 23.0769230769vw !important
}

.pl-90 {
  padding-left: 23.0769230769vw !important
}

.pr-90 {
  padding-right: 23.0769230769vw !important
}

.m-100 {
  margin: 25.641025641vw !important
}

.mt-100 {
  margin-top: 25.641025641vw !important
}

.mb-100 {
  margin-bottom: 25.641025641vw !important
}

.p-100 {
  padding: 25.641025641vw !important
}

.pt-100 {
  padding-top: 25.641025641vw !important
}

.pb-100 {
  padding-bottom: 25.641025641vw !important
}

.px-100 {
  padding-left: 25.641025641vw !important;
  padding-right: 25.641025641vw !important
}

.pl-100 {
  padding-left: 25.641025641vw !important
}

.pr-100 {
  padding-right: 25.641025641vw !important
}

.m-110 {
  margin: 28.2051282051vw !important
}

.mt-110 {
  margin-top: 28.2051282051vw !important
}

.mb-110 {
  margin-bottom: 28.2051282051vw !important
}

.p-110 {
  padding: 28.2051282051vw !important
}

.pt-110 {
  padding-top: 28.2051282051vw !important
}

.pb-110 {
  padding-bottom: 28.2051282051vw !important
}

.px-110 {
  padding-left: 28.2051282051vw !important;
  padding-right: 28.2051282051vw !important
}

.pl-110 {
  padding-left: 28.2051282051vw !important
}

.pr-110 {
  padding-right: 28.2051282051vw !important
}

.m-120 {
  margin: 30.7692307692vw !important
}

.mt-120 {
  margin-top: 30.7692307692vw !important
}

.mb-120 {
  margin-bottom: 30.7692307692vw !important
}

.p-120 {
  padding: 30.7692307692vw !important
}

.pt-120 {
  padding-top: 30.7692307692vw !important
}

.pb-120 {
  padding-bottom: 30.7692307692vw !important
}

.px-120 {
  padding-left: 30.7692307692vw !important;
  padding-right: 30.7692307692vw !important
}

.pl-120 {
  padding-left: 30.7692307692vw !important
}

.pr-120 {
  padding-right: 30.7692307692vw !important
}

.m-130 {
  margin: 33.3333333333vw !important
}

.mt-130 {
  margin-top: 33.3333333333vw !important
}

.mb-130 {
  margin-bottom: 33.3333333333vw !important
}

.p-130 {
  padding: 33.3333333333vw !important
}

.pt-130 {
  padding-top: 33.3333333333vw !important
}

.pb-130 {
  padding-bottom: 33.3333333333vw !important
}

.px-130 {
  padding-left: 33.3333333333vw !important;
  padding-right: 33.3333333333vw !important
}

.pl-130 {
  padding-left: 33.3333333333vw !important
}

.pr-130 {
  padding-right: 33.3333333333vw !important
}

.m-140 {
  margin: 35.8974358974vw !important
}

.mt-140 {
  margin-top: 35.8974358974vw !important
}

.mb-140 {
  margin-bottom: 35.8974358974vw !important
}

.p-140 {
  padding: 35.8974358974vw !important
}

.pt-140 {
  padding-top: 35.8974358974vw !important
}

.pb-140 {
  padding-bottom: 35.8974358974vw !important
}

.px-140 {
  padding-left: 35.8974358974vw !important;
  padding-right: 35.8974358974vw !important
}

.pl-140 {
  padding-left: 35.8974358974vw !important
}

.pr-140 {
  padding-right: 35.8974358974vw !important
}

.m-150 {
  margin: 38.4615384615vw !important
}

.mt-150 {
  margin-top: 38.4615384615vw !important
}

.mb-150 {
  margin-bottom: 38.4615384615vw !important
}

.p-150 {
  padding: 38.4615384615vw !important
}

.pt-150 {
  padding-top: 38.4615384615vw !important
}

.pb-150 {
  padding-bottom: 38.4615384615vw !important
}

.px-150 {
  padding-left: 38.4615384615vw !important;
  padding-right: 38.4615384615vw !important
}

.pl-150 {
  padding-left: 38.4615384615vw !important
}

.pr-150 {
  padding-right: 38.4615384615vw !important
}

.m-160 {
  margin: 41.0256410256vw !important
}

.mt-160 {
  margin-top: 41.0256410256vw !important
}

.mb-160 {
  margin-bottom: 41.0256410256vw !important
}

.p-160 {
  padding: 41.0256410256vw !important
}

.pt-160 {
  padding-top: 41.0256410256vw !important
}

.pb-160 {
  padding-bottom: 41.0256410256vw !important
}

.px-160 {
  padding-left: 41.0256410256vw !important;
  padding-right: 41.0256410256vw !important
}

.pl-160 {
  padding-left: 41.0256410256vw !important
}

.pr-160 {
  padding-right: 41.0256410256vw !important
}

.mt-1em {
  margin-top: 1em
}

.mb-1em {
  margin-bottom: 1em
}

.pt-1em {
  padding-top: 1em !important
}

.pb-1em {
  padding-bottom: 1em !important
}

.mt-2em {
  margin-top: 2em
}

.mb-2em {
  margin-bottom: 2em
}

.pt-2em {
  padding-top: 2em !important
}

.pb-2em {
  padding-bottom: 2em !important
}

.mt-3em {
  margin-top: 3em
}

.mb-3em {
  margin-bottom: 3em
}

.pt-3em {
  padding-top: 3em !important
}

.pb-3em {
  padding-bottom: 3em !important
}

.mt-4em {
  margin-top: 4em
}

.mb-4em {
  margin-bottom: 4em
}

.pt-4em {
  padding-top: 4em !important
}

.pb-4em {
  padding-bottom: 4em !important
}

.mt-5em {
  margin-top: 5em
}

.mb-5em {
  margin-bottom: 5em
}

.pt-5em {
  padding-top: 5em !important
}

.pb-5em {
  padding-bottom: 5em !important
}

.mt-6em {
  margin-top: 6em
}

.mb-6em {
  margin-bottom: 6em
}

.pt-6em {
  padding-top: 6em !important
}

.pb-6em {
  padding-bottom: 6em !important
}

.mt-7em {
  margin-top: 7em
}

.mb-7em {
  margin-bottom: 7em
}

.pt-7em {
  padding-top: 7em !important
}

.pb-7em {
  padding-bottom: 7em !important
}

.mt-8em {
  margin-top: 8em
}

.mb-8em {
  margin-bottom: 8em
}

.pt-8em {
  padding-top: 8em !important
}

.pb-8em {
  padding-bottom: 8em !important
}

.mt-9em {
  margin-top: 9em
}

.mb-9em {
  margin-bottom: 9em
}

.pt-9em {
  padding-top: 9em !important
}

.pb-9em {
  padding-bottom: 9em !important
}

.mt-10em {
  margin-top: 10em
}

.mb-10em {
  margin-bottom: 10em
}

.pt-10em {
  padding-top: 10em !important
}

.pb-10em {
  padding-bottom: 10em !important
}

.spacer-s {
  margin-top: 7.6923076923vw !important
}

.spacer {
  margin-top: 15.3846153846vw !important
}

.spacer-l {
  padding-top: 25.641025641vw !important
}

.aspect-auto {
  aspect-ratio: auto
}

.aspect-video {
  aspect-ratio: 16/9
}

.visually-hidden {
  border: none !important;
  display: block !important;
  height: 4px !important;
  left: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: fixed !important;
  top: 0 !important;
  visibility: visible !important;
  width: 4px !important
}

.clearfix::after {
  clear: both;
  content: "";
  display: block
}

.extend-x {
  margin: 0 -6%
}

.sp-scroll {
  overflow: auto
}

.pointer-none {
  pointer-events: none
}

.right-through {
  margin-right: calc(50% - 50vw)
}

@media (min-width:768px) {
  html {
    font-size: 87.5%
  }

  body:has(.main.news),
  html:has(.main.news) {
    overflow: initial
  }

  body {
    font-size: 1rem
  }

  main {
    padding-bottom: 40px;
    padding-top: 80px
  }

  .inner {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%
  }

  .s-inner {
    max-width: 880px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%
  }

  .section {
    padding: 120px 0
  }

  .s-section {
    padding-top: 120px
  }

  .xs-section {
    padding-top: 60px
  }

  .s-section:last-of-type {
    padding-bottom: 120px
  }

  .intro {
    padding-top: 120px
  }

  .intro+.s-section {
    padding-top: 80px
  }

  .bg-white--border {
    border-radius: 50px
  }

  .bg-gray--border {
    border-radius: 50px 50px 0 0
  }

  .l-column2 {
    display: flex
  }

  .l-column2 aside {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%
  }

  .l-column2 aside {
    display: block;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    max-width: 250px !important;
    min-width: 250px;
    padding: 0;
    width: 100%;
    width: 20%
  }

  .news .l-column2 aside {
    margin-right: 30px;
    position: sticky;
    top: 100px
  }

  .l-column2__main.has-sidebar {
    margin-left: 30.7692307692vw
  }

  .news .l-column2 {
    align-items: flex-start;
    flex-direction: row
  }

  .header {
    height: 80px;
  }

  .header__inner {
    max-width: 1440px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%;
  }

  .header__inner {
    max-width: none;
    padding-bottom: 8px;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 8px;
  }

  .header__logo {
    margin-right: 6px;
    padding: 10px;
    width: 180px;
  }

  .footer-top.inner {
    max-width: 2180px;
    padding-left: 10px;
    padding-right: 10px;
    width: 92%
  }

  .footer-main__nav {
    gap: 80px min(4vw, 60px)
  }

  .to-top {
    border-width: 1px;
    height: 50px;
    right: 60px;
    width: 50px
  }

  .to-top svg {
    scale: 1
  }

  .accordion__btn::after {
    height: 28px;
    width: 28px
  }

  .sub-line {
    height: 1px;
    margin-right: 5px;
    width: 10px
  }

  .select-accordion__btn::before {
    height: 20px;
    left: -28px;
    width: 20px
  }

  .select-accordion__content {
    padding-left: 28px
  }

  .select-accordion__text {
    margin-top: 5px
  }

  .desc-box__heading {
    font-size: 1.5rem
  }

  .desc-box__heading {
    margin-bottom: 10px
  }

  .desc-box+.desc-box {
    margin-top: 40px
  }

  .desc-box__subheading {
    font-size: 1.25rem
  }

  .desc-box__subheading {
    margin-bottom: 10px;
    margin-top: 20px
  }

  .cta-wrapper .cta {
    border-radius: 30px;
    padding: 60px 30px
  }

  .cta-wrapper .cta__title {
    margin-bottom: 30px
  }

  .select-box {
    border-radius: 10px;
    max-width: 1100px;
    padding: 60px 60px 66px
  }

  .select-box.keyword {
    background-image: url(/images/org/common/page-head-bg.svg);
    background-position: left 10px;
    background-size: 760px
  }

  .select-box.keyword.bg-gray {
    background-image: url(/images/org/common/page-head-bg_white.svg)
  }

  .select-box+.select-box {
    margin-top: 40px
  }

  .select-box__column {
    align-items: center;
    display: flex
  }

  .select-box__column .select-keyword__heading {
    text-align: left;
    width: 250px
  }

  .select-keyword__box {
    margin-top: 0;
    width: calc(100% - 250px)
  }

  .select-keyword__box .site-search-form__query {
    width: calc(100% - 60px)
  }

  .select-box__tags {
    margin-top: 30px;
    width: calc(100% - 250px)
  }

  .select-box__tag_list {
    gap: 10px;
    margin-top: 14px
  }

  .select-box__accordion {
    margin-top: 40px
  }

  .select-box__detail_wrap {
    margin-top: 12px
  }

  .select-box__detail_wrap input[type=email],
  .select-box__detail_wrap input[type=tel],
  .select-box__detail_wrap input[type=text],
  .select-box__detail_wrap input[type=url],
  .select-box__detail_wrap select,
  .select-box__detail_wrap textarea {
    border-radius: 4px
  }

  .select-box__accordion_content {
    padding-top: 29px;
    width: 700px
  }

  .select-box__detail_list {
    align-items: center;
    display: flex
  }

  .select-box__detail_list+.select-box__detail_list {
    margin-top: 16px
  }

  .select-box__detail_title {
    font-size: 1rem
  }

  .select-box__detail_title {
    width: 110px
  }

  .select-box__detail_input {
    width: 590px
  }

  .select-box__detail_input:has(.select-box__detail_checkbox) {
    margin-top: 14px
  }

  .select-box__detail_input input[type=email],
  .select-box__detail_input input[type=tel],
  .select-box__detail_input input[type=text],
  .select-box__detail_input input[type=url],
  .select-box__detail_input select,
  .select-box__detail_input textarea {
    font-size: 1rem
  }

  .select-box__detail_input input[type=email],
  .select-box__detail_input input[type=tel],
  .select-box__detail_input input[type=text],
  .select-box__detail_input input[type=url],
  .select-box__detail_input select,
  .select-box__detail_input textarea {
    border-radius: 4px;
    height: 52px
  }

  .select-box__detail_input select {
    background-position: right 24px center;
    background-size: 18px
  }

  .select-box__detail_input input[type=checkbox]+label {
    padding-left: 28px
  }

  .select-box__detail_input input[type=checkbox]+label::after,
  .select-box__detail_input input[type=checkbox]+label::before {
    height: 28px;
    left: -17px;
    width: 28px
  }

  .breadcrumbs ul {
    display: block;
    padding: 16px 0
  }

  .breadcrumbs li {
    display: inline
  }

  .btn {
    font-size: 1rem
  }

  .btn {
    max-width: 100%;
    min-height: 80px;
    min-width: 0;
    padding: 12px 40px;
    width: 340px
  }

  .btn--blue {
    min-height: 60px;
    width: 300px
  }

  .btn .link-card__arrow {
    right: 1.5em
  }

  .btn--wrapper {
    border-radius: 10px
  }

  .category-btn {
    font-size: 1rem
  }

  .category-btn {
    align-items: center;
    display: flex;
    height: 60px;
    max-width: 100%;
    min-width: 0;
    padding: 0 min(40px, 20%);
    width: 340px
  }

  .category-btn__pdf {
    padding: 12px 17px
  }

  .category-btn__pdf::after {
    height: 27px;
    right: 1em;
    width: 24px
  }

  .category-btn__out {
    padding: 12px 17px
  }

  .category-btn__out::after {
    height: 27px;
    right: 1em;
    width: 24px
  }

  .category-btn .link-card__arrow {
    right: 1.5em
  }

  .btn-list {
    gap: 0 40px;
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .btn-list--col3 {
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .btn-list--col4 {
    gap: 20px;
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .btn-list--col5 {
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .btn-list--col3 {
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .btn-list--col2 {
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .btn-list--qa {
    margin-bottom: 80px
  }

  .select-btn {
    margin-top: 40px
  }

  .link-card {
    gap: 15px
  }

  .link-card__item {
    border-radius: 10px;
    height: 100%;
    width: 100%
  }

  .link-card__arrow {
    bottom: 16px;
    height: 14px;
    right: 15px;
    width: 14px
  }

  .link-card__link {
    font-size: .9375rem
  }

  .link-card__link {
    gap: 10px;
    padding: 0 0 11px
  }

  .link-card__link img {
    padding: 0
  }

  .link-card__row2--img {
    transform: none
  }

  .link-card__row2--text {
    line-height: 1.7;
    transform: none
  }

  .cource-cards {
    gap: 40px;
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .cource-card {
    border-radius: 10px;
    padding: 30px 20px
  }

  .cource-card__title {
    font-size: 1.25rem
  }

  .cource-card__title .icon {
    height: 60px;
    margin-right: 10px;
    width: 60px
  }

  .cource-card__text {
    font-size: 1rem
  }

  .cource-card__icons {
    gap: 10px;
    margin-bottom: 20px;
    margin-top: 15px
  }

  .cource-card__price {
    font-size: 1.25rem
  }

  .cource-card__price {
    margin-bottom: 20px
  }

  .link-card {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-top: 20px
  }

  .top .link-card {
    grid-template-columns: 1fr 1fr
  }

  .contact .message-block {
    font-size: 1.25rem
  }

  .contact .content-confirmation {
    font-size: 1.25rem
  }

  .contact .button-confirm {
    max-width: 300px
  }

  .contact .button-confirm:before {
    height: 15px;
    right: 22px;
    width: 15px
  }

  .contact .label {
    font-size: 1.25rem
  }

  .contact button,
  .contact input,
  .contact select,
  .contact textarea {
    font-size: 1.25rem
  }

  .contact button,
  .contact input,
  .contact select,
  .contact textarea {
    margin-top: 0
  }

  .contact input,
  .contact textarea {
    font-size: 1rem
  }

  .contact .badge {
    font-size: 1rem
  }

  .contact .form-column-email,
  .contact .form-column-name,
  .contact .form-column-prefecture-jp,
  .contact .form-column-tel,
  .contact .form-column-text,
  .contact .form-column-textarea,
  .contact .form-column-zip-code-jp {
    align-items: baseline;
    display: grid;
    gap: 70px;
    grid-template-columns: min(340px, 27vw) 1fr;
    justify-content: space-between
  }

  .contact .form-column-zip-code-jp .input-group input {
    min-width: 306px
  }

  .contact .button-group button+button {
    margin-left: 30px
  }

  .contact .attention-block {
    font-size: 1rem
  }

  .contact .attention-block {
    margin-bottom: 55px;
    text-align: center
  }

  .contact .error-text {
    bottom: 100%
  }

  .contact button {
    height: 60px;
    transition: .4s;
    width: 300px
  }

  .contact button:focus-visible {
    opacity: .7
  }

  .contact button.button-back {
    border: 1px solid #2c5fac;
    max-width: 260px
  }

  .contact button.button-back::before {
    height: 20px;
    left: inherit;
    right: 20px;
    width: 20px
  }

  .contact .thanks-text {
    font-size: 1rem
  }

  .gnav__top {
    height: 80px;
  }

  .gnav__logo {
    width: 180px
  }

  .gnav__content {
    border-radius: 24px;
    margin-top: 80px;
    padding-bottom: 43px;
    padding-top: 23px;
  }

  .gnav__list::after {
    height: 1px
  }

  .gnav__item {
    padding-bottom: 16px
  }

  .gnav__item::before {
    height: 1px;
    margin-bottom: 16px
  }

  .gnav__sublink {
    margin-bottom: 20px
  }

  .gnav__sublist {
    padding-top: 28px
  }

  .gnav__buttons {
    margin-bottom: 0;
    margin-top: 38px
  }

  .gnav__buttons .inner {
    gap: 19px
  }

  .gnav .gnav-search {
    border-radius: 25px;
    gap: 7px;
    height: 50px
  }

  .gnav .gnav-search--all {
    border: 1px solid #2c5fac;
    padding: 0;
    padding-right: 10px;
    width: 140px
  }

  .gnav .gnav-search--book {
    width: 180px
  }

  .gnav .gnav-search img {
    width: 25px
  }

  .heading {
    font-size: 2rem
  }

  .heading {
    border-bottom: 3px solid #2c5fac;
    margin-bottom: 64px;
    padding-bottom: 10px
  }

  .second-h1 {
    font-size: 2.75rem
  }

  .second-h1 {
    margin-bottom: 50px;
    margin-top: 65px
  }

  .second-h1::after {
    background: url(/images/org/icons/h1-deco.svg) no-repeat;
    background-size: 100% 10px;
    bottom: 0;
    height: 10px;
    margin-top: 5px;
    width: 100%
  }

  .second-h2 {
    font-size: 2rem
  }

  .second-h2 {
    margin-bottom: 72px;
    -webkit-text-decoration: underline #2c5fac 3px;
    text-decoration: underline #2c5fac 3px;
    text-underline-offset: 24px
  }

  .second-subtitle {
    font-size: 1.25rem
  }

  .sub-heading {
    font-size: 1.5rem
  }

  .sub-heading {
    margin-bottom: 32px
  }

  .sub-heading:not(:first-of-type) {
    margin-top: 95px
  }

  .sub-heading-s {
    font-size: 1.25rem
  }

  .select-heading {
    font-size: 1.5rem
  }

  .select-heading {
    margin-bottom: 40px;
    -webkit-text-decoration: underline #2c5fac 3px;
    text-decoration: underline #2c5fac 3px;
    text-underline-offset: 24px
  }

  .select-title {
    font-size: 1rem
  }

  .select-title {
    line-height: 1
  }

  .select-keyword__heading {
    font-size: 1.5rem
  }

  .select-keyword__heading {
    padding-right: 40px
  }

  .icon-link--l {
    padding-bottom: 2px
  }

  .icon-link--l svg {
    height: 16px;
    scale: 1.2;
    width: 16px
  }

  .icon-link--l svg path {
    stroke-width: 1.4px
  }

  .icon-link--l {
    height: 40px;
    padding-left: 5px;
    width: 40px
  }

  .arrow-link .icon {
    border-width: 1px;
    height: 50px;
    width: 50px
  }

  .arrow-link .icon__linkout::after {
    height: 20px;
    width: 20px
  }

  .arrow-link .icon__pdf::after {
    height: 27px;
    width: 24px
  }

  .discount {
    font-size: .875rem
  }

  .discount {
    padding: 2px 12px
  }

  .link-container {
    flex-direction: row
  }

  .arrow-link {
    font-size: 1rem
  }

  .arrow-link {
    gap: 10px
  }

  .arrow-link.row-reverse .icon-link--l {
    padding-left: 0;
    padding-right: 5px
  }

  .out-link {
    font-size: 1rem
  }

  .out-link {
    gap: 10px
  }

  .select-link {
    font-size: 1rem
  }

  .select-link {
    text-decoration: underline
  }

  .select-link:focus-visible {
    text-decoration: none
  }

  .num-list+p {
    margin-top: 10px
  }

  .dot-list+.dot-list {
    margin-top: 10px
  }

  .step:nth-of-type(1) .step__title::before {
    height: 72px;
    width: 72px
  }

  .step:nth-of-type(2) .step__title::before {
    height: 72px;
    width: 72px
  }

  .step:nth-of-type(3) .step__title::before {
    height: 72px;
    width: 72px
  }

  .step:nth-of-type(4) .step__title::before {
    height: 72px;
    width: 72px
  }

  .step:nth-of-type(5) .step__title::before {
    height: 72px;
    width: 72px
  }

  .step:not(:last-of-type) {
    padding-bottom: 56px
  }

  .step:not(:last-of-type)::before {
    left: 38px;
    width: 2px
  }

  .step__body {
    padding-left: 100px
  }

  .step__title {
    font-size: 2rem
  }

  .step__title {
    margin-bottom: 32px;
    padding-left: 100px
  }

  .step__sub-title {
    font-size: 1.5rem
  }

  .step__sub-title {
    margin-top: 40px;
    padding-bottom: 12px
  }

  .point-list {
    gap: 30px;
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .point-list .point {
    padding-left: 20px;
    padding-top: 20px
  }

  .point-list .point:nth-of-type(1)::before {
    height: 72px;
    width: 72px
  }

  .point-list .point:nth-of-type(2)::before {
    height: 72px;
    width: 72px
  }

  .point-list .point:nth-of-type(3)::before {
    height: 72px;
    width: 72px
  }

  .point-list .point:nth-of-type(4)::before {
    height: 72px;
    width: 72px
  }

  .point-list .point:nth-of-type(5)::before {
    height: 72px;
    width: 72px
  }

  .point-list .point:nth-of-type(6)::before {
    height: 72px;
    width: 72px
  }

  .point-list .point__img {
    border-radius: 10px
  }

  .point-list .point__title {
    font-size: 1.5rem
  }

  .point-list .point__title {
    margin-bottom: 16px;
    margin-top: 24px
  }

  .digital-list {
    gap: 30px;
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .digital-list .digital__title {
    font-size: 1.25rem
  }

  .digital-list .digital__title {
    margin-top: 16px
  }

  .select-list__wrap {
    display: grid;
    gap: 10px 40px;
    grid-template-columns: repeat(3, auto);
    justify-content: flex-start
  }

  .media {
    flex-direction: row;
    gap: 60px
  }

  .media--reverse {
    flex-direction: row-reverse
  }

  .media+.media {
    margin-top: 70px
  }

  .overlay {
    background-color: rgba(255, 255, 255, .9);
    overflow-y: auto;
    padding-top: 80px
  }

  .overlay.search-modal {
    height: 100%
  }

  .overlay .inner {
    padding-bottom: 20px;
    padding-top: 26px
  }

  .overlay__line {
    border-top: 1px solid #d5d5d5;
    display: block
  }

  .megamenu__head {
    padding-right: 72px
  }

  .megamenu__body {
    padding: 20px 0;
    padding-left: 62px
  }

  .megamenu__list li:not(:first-child) {
    margin-top: 26px
  }

  .sp-tool {
    gap: 25px;
    right: 25px;
    top: 18px
  }

  .sp-tool__search svg {
    width: 25px
  }

  .sp-tool__book svg {
    width: 30px
  }

  .gnav-toggle {
    height: 48px;
    width: 48px
  }

  .gnav-toggle__lines {
    height: 10px;
    width: 20px
  }

  .gnav-toggle__line {
    height: 1px
  }

  .news-item {
    padding-top: 25px
  }

  .news-item a {
    padding: 0 0 30px
  }

  .news-info {
    align-items: center;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 16px;
    margin-bottom: 6px
  }

  .news-date {
    font-size: .75rem
  }

  .news-category {
    font-size: .75rem
  }

  .news-category {
    border-radius: 11px;
    padding: 6px 20px
  }

  .news-text {
    font-size: 1rem
  }

  .news-thumbnail {
    width: 120px;
    min-width: 120px
  }

  .news-thumbnail img {
    height: 100px
  }

  .search-modal .inner {
    padding-top: 68px
  }

  .search-modal .inner {
    padding-bottom: 116px
  }

  .sp-tool .search-modal-trigger::before {
    display: none;
    height: 48px;
    width: 48px
  }

  .site-search-form__query {
    font-size: 1rem
  }

  .site-search-form__query {
    border-radius: 4px 0 0 4px;
    height: 60px;
    padding: 12px 24px;
    width: 440px
  }

  .site-search-form__button {
    border-radius: 0 10px 10px 0;
    height: auto;
    width: 60px
  }

  .site-search-form__button::after {
    height: 18px;
    width: 18px
  }

  .site-search-form__select_wrap {
    display: flex;
    gap: 30px
  }

  .mt-site-search-result__message {
    margin-bottom: 70px
  }

  .mt-site-search-result-item:not(:first-child) {
    margin-top: 50px
  }

  .mt-site-search-result-item__label {
    font-size: 1.125rem
  }

  .mt-site-search__pagination {
    margin-top: 80px
  }

  .mt-site-search-result-item__link {
    font-size: 1rem
  }

  .mt-site-search-pagination-item {
    font-size: .75rem
  }

  .mt-site-search-pagination-item {
    padding: 0 12px
  }

  .mt-site-search-result-item__url cite {
    font-size: .875rem
  }

  .mt-site-search-result-item__excerpt {
    font-size: 1rem
  }

  .mt-site-search-pagination-item--next .mt-site-search-pagination-item__link::before,
  .mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link::before {
    font-size: .75rem
  }

  .sidebar {
    position: absolute
  }

  .sidebar.fixed {
    left: 0;
    position: fixed;
    top: 160px
  }

  .sidebar .service-nav--pc__link {
    opacity: .5
  }

  .sidebar .service-nav--pc__link.active {
    opacity: 1
  }

  .sidebar__block {
    border: solid 1px #f8f8f8;
    border-left: none;
    border-radius: 0 20px 20px 0;
    margin-bottom: 20px;
    margin-top: 0;
    max-height: 72vh;
    overflow: auto;
    padding: 30px 48px 30px 40px
  }

  .news .sidebar__block {
    border: none;
    margin-top: 26px;
    padding: 0 10px 10px 10px
  }

  .sidebar__past-years {
    padding-left: 10px
  }

  .sidebar ul li {
    font-size: .875rem
  }

  .sidebar ul:not(.category-list) li:not(:first-child) {
    margin-top: 28px
  }

  .sidebar__label {
    margin-bottom: 0;
    margin-left: 0;
    padding: 14px 1em;
    width: 210px
  }

  .sidebar__label:not(:first-child) {
    margin-top: 40px
  }

  .sidebar .accordion__inner {
    margin-bottom: 20px;
    margin-top: 20px
  }

  .sidebar .tab {
    font-size: .875rem
  }

  .sidebar .tab {
    gap: 7px
  }

  .splide__arrow {
    height: 50px;
    width: 50px
  }

  .splide__arrow svg {
    height: 23px;
    width: 23px
  }

  .splide__arrow--next svg {
    translate: 2px 0
  }

  .splide__arrow--prev svg {
    translate: -2px 0
  }

  .three-slider {
    margin: 0 -20px
  }

  .three-slider .splide__track {
    padding-top: 20px
  }

  .slider-static {
    gap: 20px
  }

  .topics-slider {
    margin-top: 63px;
    padding-left: 11.8vw !important
  }

  .topics-slider__slide {
    max-width: 224px !important
  }

  .topics-slider__slide p {
    font-size: 1.125rem
  }

  .topics-slider__slide p {
    margin-top: 16px
  }

  .topics-slider__progress {
    margin-top: 40px
  }

  .topics-slider__progress--bar {
    height: 2px
  }

  .topics-slider__arrow--next {
    right: 16px
  }

  .topics-slider__arrow--prev {
    left: 16px
  }

  .progress-bar-container {
    padding-right: 11.8vw
  }

  .sns-shares {
    gap: 8px
  }

  .table td,
  .table th {
    padding-bottom: 30px;
    padding-top: 30px
  }

  .table th {
    font-size: 1.125rem
  }

  .table th {
    padding-right: 5px
  }

  .table th.sp-small {
    font-size: 1.125rem
  }

  .table td {
    font-size: 1rem
  }

  .table.is__information td,
  .table.is__information th {
    font-size: 1rem
  }

  .table.is__information td,
  .table.is__information th {
    padding-bottom: 18px;
    padding-top: 18px
  }

  .table.is__information th {
    padding: 0 16px;
    width: 152px
  }

  .table.is__information td {
    padding-left: 14px;
    padding-right: inherit
  }

  .text+.text {
    margin-top: 40px
  }

  .toc li a {
    font-size: .8125rem
  }

  .toc li a {
    padding: .8em 0
  }

  .block-accordion+.block-accordion {
    margin-top: 20px
  }

  .block-accordion+.js-anchor-heading {
    margin-top: 120px !important
  }

  .block-accordion__icon {
    height: 30px;
    right: 20px;
    width: 30px
  }

  .block-accordion__icon::after,
  .block-accordion__icon::before {
    height: 16px;
    right: 12px
  }

  .news .block-accordion__icon {
    height: 22px;
    right: 20px;
    width: 22px
  }

  .news .block-accordion__icon::after,
  .news .block-accordion__icon::before {
    height: 11px
  }

  .block-accordion__btn {
    font-size: 1.5rem
  }

  .block-accordion__btn {
    padding: 15px 60px 15px 0
  }

  .news .block-accordion__btn {
    font-size: .875rem
  }

  .news .block-accordion__btn {
    width: 140px
  }

  .block-accordion__content {
    padding: 0 20px
  }

  .block-accordion__inner {
    padding: 30px 0
  }

  .block-accordion__inner>:not(:first-child) {
    margin-top: 30px
  }

  .block-accordion__heading {
    font-size: 1.25rem
  }

  .block-accordion__heading {
    margin-bottom: 30px;
    margin-top: 50px;
    padding: 8px 20px
  }

  .block-accordion__sub-heading {
    font-size: 1.125rem
  }

  .block-accordion__sub-heading {
    margin-bottom: 20px;
    margin-top: 30px
  }

  .block-accordion p+p {
    margin-top: 10px
  }

  .qa__btn {
    padding-bottom: 20px;
    padding-left: 20px;
    padding-top: 20px
  }

  .qa__icon {
    top: 20px
  }

  .qa__inner {
    padding-bottom: 20px;
    padding-top: 20px
  }

  .qa__answer,
  .qa__question {
    font-size: 1rem
  }

  .qa__answer,
  .qa__question {
    padding-left: 50px;
    padding-right: 50px
  }

  .qa__answer::before,
  .qa__question::before {
    font-size: 1.25rem
  }

  .qa__answer::before,
  .qa__question::before {
    height: 36px;
    transform: translateY(-10%);
    width: 36px
  }

  .qa__answer .mt-be-column>:not(:first-child) {
    margin-top: 10px
  }

  .qa__answer p+p {
    margin-top: 10px
  }

  .block-editor .btn-flex {
    gap: 20px;
    justify-content: flex-end;
    margin-bottom: 40px;
    margin-top: 50px
  }

  .block-editor>:not(:first-child) {
    margin-top: 30px
  }

  .block-editor .heading,
  .block-editor h2 {
    font-size: 2rem
  }

  .block-editor .heading.is__h3,
  .block-editor h3 {
    font-size: 1.5rem
  }

  .block-editor .heading.is__h4,
  .block-editor h4 {
    font-size: 1.25rem
  }

  .block-editor figure figcaption {
    font-size: .875rem
  }

  .block-editor .table td,
  .block-editor .table th {
    padding: 11px 14px
  }

  .block-editor .table caption,
  .block-editor table caption {
    margin-bottom: 10px
  }

  .block-editor .table+.table,
  .block-editor table+.table {
    margin-top: 50px
  }

  .block-editor .table+*,
  .block-editor table+* {
    margin-top: 50px
  }

  .authorworks-slider {
    max-width: 1180px;
    padding-left: 40px !important;
    padding-right: 40px;
    width: 100%
  }

  .authorworks-slider__slide .book_title {
    font-size: 1rem
  }

  .authorworks-slider__slide .sub_text {
    font-size: .875rem
  }

  .contct_flow_graph {
    font-size: 1rem
  }

  .contct_flow_graph {
    gap: 30px;
    margin-bottom: 80px
  }

  .contct_flow_graph li {
    width: 94px
  }

  .contct_flow_graph li::before {
    border: 2px solid #d5d5d5;
    bottom: 2.813em;
    height: 25px;
    width: 25px
  }

  .contct_flow_graph li::after {
    height: 2px;
    left: -70%;
    top: -1.875em;
    width: 110px
  }

  .contact-intro-text {
    font-size: 1.25rem
  }

  .contact__type .category-btn {
    margin-bottom: 0
  }

  .contact__faq .btn-list {
    display: grid;
    gap: 20px
  }

  .page-head {
    padding: 16px 0 68px
  }

  .page-head::before {
    background: url(/images/org/common/page-head-bg.svg) no-repeat left center;
    background-position: left bottom;
    background-size: 93.5897435897% auto;
    background-size: 75% auto;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
  }

  .page-head__heading {
    font-size: 2.5rem
  }

  .page-head__heading.is__article {
    font-size: 2rem
  }

  .page-head__heading {
    padding-top: 0
  }

  .page-head__heading::before {
    content: none
  }

  .page-head__heading.is__search span:not(:last-child)::after {
    content: '、';
    display: inline-block
  }

  .page-head__text {
    text-align: center
  }

  .page-head__header {
    align-items: baseline;
    margin-bottom: 36px
  }

  .page-head .breadcrumbs {
    margin-bottom: 64px
  }

  .page-head:has(.is__article) .breadcrumbs {
    margin-bottom: 40px
  }

  .page-head__sub-heading {
    font-size: 1.125rem
  }

  .page-head__sub-heading {
    margin-bottom: 20px
  }

  .page-head.is__books {
    padding: 0 0 90px
  }

  .page-head.is__books .breadcrumbs {
    margin-bottom: 54px
  }

  .page-head .sub-name {
    font-size: 1.125rem;
    margin-top: 10px
  }

  .pagination {
    margin-top: 30px
  }

  .pagination ul {
    gap: 18px
  }

  .page-navigation {
    margin-top: 100px
  }

  .page-navigation__index a {
    font-size: .875rem
  }

  .page-navigation__index a {
    padding: 40px 20px
  }

  .page-navigation__list {
    border: none;
    left: 50%;
    padding: 8px 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%
  }

  .page-navigation__list li a {
    font-size: 1rem
  }

  .page-navigation__prev .icon {
    margin-right: 10px
  }

  .page-navigation__button {
    gap: 0 20px;
    padding: 1em
  }

  .page-navigation__button .arrow {
    height: 50px;
    width: 50px
  }

  .page-navigation__button--wrapper ul {
    gap: 0 80px;
    margin-bottom: 0;
    margin-top: 60px
  }

  .page-navigation__button--wrapper .back {
    margin-top: 40px
  }

  .page-navigation__button--wrapper.is__pager ul {
    font-size: .75rem
  }

  .page-navigation__button--wrapper.is__pager ul {
    font-size: 12px;
    gap: 16px
  }

  .news-container {
    display: flex;
    margin: 0
  }

  .search-summary {
    gap: 40px;
    margin-bottom: 80px
  }

  .search-summary__thumbnail .other_thumbnail {
    gap: 8px;
    margin-top: 16px
  }

  .search-summary__thumbnail .other_thumbnail li img {
    width: 44px;
    height: auto;
    object-fit: contain;
    object-position: top;
  }

  .search-summary__thumbnail .btn {
    font-size: 1rem
  }

  .search-summary__thumbnail .btn {
    margin: 16px auto 0;
    max-width: 220px;
    padding: 14px
  }

  .search-summary__detail {
    max-width: 540px
  }

  .search-summary__detail .headline {
    font-size: 1.125rem
  }

  .search-summary__detail .headline {
    margin-bottom: 18px
  }

  .search-summary__detail .contact_link {
    margin: 12px 0 0 auto
  }

  .search-sidebar {
    max-width: 100%;
    order: 1;
    position: relative;
    width: 100%
  }

  .search-sidebar__box {
    border-radius: 10px
  }

  .search-sidebar__box+* {
    margin-top: 20px
  }

  .search-sidebar__title {
    border-radius: 10px 10px 0 0;
    padding-bottom: 15px;
    padding-top: 15px
  }

  .search-sidebar__text {
    font-size: .875rem
  }

  .search-sidebar__text span {
    font-size: 1.25rem
  }

  .search-sidebar .price-text {
    font-size: .875rem
  }

  .search-sidebar .price-text {
    margin-bottom: 16px
  }

  .search-sidebar .price {
    font-size: 1.25rem
  }

  .search-sidebar .price {
    display: inline
  }

  .search-sidebar .order_wrp {
    font-size: .875rem
  }

  .search-sidebar .order_wrp {
    padding: 25px
  }

  .search-sidebar .order_wrp p+.btn-blue.is__cart {
    margin-top: 20px
  }

  .search-sidebar .btn-blue {
    font-size: 1rem
  }

  .search-sidebar .btn-blue {
    background-position: left 15px center;
    background-size: 20px 20px;
    border-radius: 80px;
    padding: 10px 10px 10px 30px
  }

  .search-sidebar .btn-blue.is__store {
    max-width: 220px
  }

  .search-sidebar ul {
    border: none;
    gap: 3px;
    grid-template-columns: 1fr
  }

  .search-sidebar ul li {
    border: 1px solid #d5d5d5
  }

  .search__wrap {
    gap: 80px 40px
  }

  .search__list {
    width: calc(25% - 30px)
  }

  .search__list::before {
    font-size: .8125rem
  }

  .search__list::before {
    border-radius: 16px;
    min-height: 32px;
    min-width: 80px;
    padding: 8px 11px 9px;
    right: -17px;
    top: -16px
  }

  .search__img {
    margin-bottom: 16px;
    width: 193px
  }

  .search__text+.search__text {
    margin-top: 7px
  }

  .search__text.search-date {
    font-size: .875rem
  }

  .search__text.search-title {
    font-size: 1rem
  }

  .search__text.search-author,
  .search__text.search-price {
    font-size: .875rem
  }

  .search__text.search-author a {
    display: inline-block
  }

  .service .others-block {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
    margin-top: 100px
  }

  .service .others-block__content {
    display: block;
    width: 50%
  }

  .service .others-block__title {
    font-size: 1.5rem
  }

  .service .others-block__title {
    margin-bottom: 20px
  }

  .service .others-block__text {
    font-size: 1rem
  }

  .service .others-block__text {
    margin-bottom: 20px
  }

  .service .others-block__img {
    border-radius: 10px;
    order: initial;
    width: 44%
  }

  .service .others-block__img img {
    border-radius: 10px
  }

  .cds-about__wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between
  }

  .cds-about__banner {
    width: 48%
  }

  .cds-about__banner img {
    max-width: 525px;
    width: 100%
  }

  .cds-about__txt {
    margin-top: 0;
    width: 48%
  }

  .cds-about__arrow {
    margin-top: 20px
  }

  .cds-intro__heading {
    font-size: 1.5rem;
    margin-bottom: 0;
    margin-left: 0;
    margin-top: 20px
  }

  .cds-intro__wrapper {
    display: flex;
    flex-direction: row;
    gap: 0;
    justify-content: space-between
  }

  .cds-intro__item {
    width: 48%
  }

  .cds-intro__item img {
    max-width: 525px;
    width: 100%
  }

  .cds-class__wrapper {
    gap: 120px 0
  }

  .cds-class__item {
    flex-direction: row;
    gap: 0;
    justify-content: space-between
  }

  .cds-class__item:not(:first-child)::before {
    content: none
  }

  .cds-class__details {
    display: block;
    width: 44%
  }

  .cds-class__details .sub-heading {
    gap: 0 30px;
    margin-bottom: 20px;
    margin-top: 10px
  }

  .cds-class__details .icon-copelplus {
    gap: 0 12px
  }

  .cds-class__details .icon-copelplus img {
    height: 64px;
    width: 64px
  }

  .cds-class__details dt {
    font-size: 1.25rem
  }

  .cds-class__details dt {
    float: left;
    margin-bottom: 4px
  }

  .cds-class__details dt:not(:first-child) {
    margin-top: 0
  }

  .cds-class__details dd {
    margin-left: 70px
  }

  .cds-class__details dd:nth-of-type(1) {
    padding-top: 4px
  }

  .cds-class__details .clearfix {
    margin-bottom: 10px
  }

  .cds-class__details .clearfix:after {
    clear: both;
    content: " ";
    display: block
  }

  .cds-class__arrow {
    margin-bottom: 0;
    margin-top: 20px
  }

  .cds-class__map {
    aspect-ratio: 525/372;
    height: 100%;
    max-width: 525px;
    width: 51%
  }

  .cds-recruit__bg {
    border-radius: 30px;
    padding: 60px 70px
  }

  .cds-recruit__wrapper {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 10px
  }

  .cds-recruit__txt {
    text-align: center
  }

  .top .inner {
    /* max-width: none; */
    /* padding-left: 11.8vw */
  }

  .top .kv {
    padding-top: 20px
  }

  .top .kv__arrow--next {
    right: 16px
  }

  .top .kv__arrow--prev {
    left: 16px
  }

  .top .kv__controls {
    margin-top: 20px;
    padding-right: 30px
  }

  .top .kv__pagination {
    gap: 16px
  }

  .top .kv__pagination__page {
    font-size: .6875rem
  }

  .top .kv__pagination__page {
    height: 1.5625rem;
    letter-spacing: .6px;
    line-height: 1.2;
    width: 1.5625rem
  }

  .top .kv .progress-ring {
    height: 1.5625rem;
    width: 1.5625rem
  }

  .top .kv__slide {
    border-radius: 10px;
    height: auto;
    width: min(60vw, 940px) !important
  }

  .top .kv__link {
    border-radius: 10px;
    height: auto;
    width: min(60vw, 1008px)
  }

  .top .kv__link img {
    transition: .4s
  }

  .top .kv__link:focus-visible img {
    scale: 1.05
  }

  .top .kv__toggle img {
    height: 24px;
    width: 24px
  }

  .top .topics {
    padding: 60px 0 120px
  }

  .top .topics .arrow-link {
    margin-bottom: 63px;
    margin-top: 0
  }

  .top .category-btn.site-search-form {
    align-items: center;
    display: flex;
    height: 100%;
    overflow: hidden;
    padding-left: 0;
    padding-right: 12px;
    width: 100%;
    justify-content: center
  }

  .top .category-btn .site-search-form__query {
    border: 0 solid transparent;
    height: 100%;
    padding-bottom: 0;
    padding-right: 0px;
    padding-top: 0;
    width: 85%
  }

  .top .category-btn .site-search-form__button {
    background-color: rgba(0, 0, 0, 0);
    height: 100%;
    width: 15%;
    max-width: 50px
  }

  .top .category-btn .site-search-form__button::after {
    background-image: url(/images/org/icons/icon-search.svg)
  }

  .top .section {
    margin-top: -40px;
    padding: 140px 0
  }

  .top .topics .inner {
    max-width: 1340px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%
  }

  .top .topics .inner {
    max-width: none;
    padding-left: 8.26vw;
    padding-right: 11.8vw
  }

  .top .h2-heading {
    margin-bottom: 10px
  }

  .top .h2-heading__jp {
    font-size: 2rem
  }

  .top .h2-heading__jp {
    margin-bottom: 10px
  }

  .top .h2-heading__icon svg {
    width: 81px
  }

  .top .newbooks {
    padding: 100px 0 180px
  }

  .top .newbooks .link-container {
    margin-bottom: 56px;
    margin-top: 0
  }

  .top .newbooks .inner {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
    padding-left: 10.97vw
  }

  .top .book-slider {
    max-height: none;
    padding: 0 40px
  }

  .top .book-slider .splide__slide img {
    scale: .8;
    width: 100%
  }

  .top .book-slider .splide__slide p {
    font-size: 1.125rem
  }

  .top .book-slider .splide__slide p {
    margin-top: 16px
  }

  .top .book-slider__arrow {
    top: 40%
  }

  .top .book-slider__arrow--prev {
    left: calc(50% - 12.2vw)
  }

  .top .book-slider__arrow--next {
    right: calc(50% - 10.7vw);
    transform: translate(50%, -50%)
  }

  .top .book-slide__label {
    font-size: .9375rem
  }

  .top .book-slide__label {
    margin-top: 10px
  }

  .top .news {
    padding: 120px 0 160px
  }

  .top .news .inner {
    padding-left: 9.79vw;
    padding-right: 4%
  }

  .top .news .h2-heading {
    margin-bottom: 79px
  }

  .top .news-container {
    display: flex;
    gap: 9vw;
    margin: 0;
    padding-bottom: 0
  }

  .top .tabs-container {
    flex-shrink: 0;
    overflow-x: hidden;
    padding: 0;
    width: auto
  }

  .top .service {
    padding: 140px 0 140px
  }

  .top .service-pc {
    display: flex;
    position: relative
  }

  .top .service .inner {
    padding-left: 6.66vw
  }

  .top .service-block {
    padding-left: 30.7vw;
    padding-right: 4%
  }

  .top .service-block__item:first-of-type {
    padding-top: 70px
  }

  .top .service-block__item:not(:first-of-type) {
    padding-top: 150px
  }

  .top .service-block__content {
    align-items: flex-start;
    flex-direction: row;
    gap: 6.25vw;
    margin-bottom: 90px;
    margin-top: 0;
    padding-top: 1.5vw
  }

  .top .service-block__content--reverse {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    gap: 6.25vw;
    justify-content: flex-end;
    margin-bottom: 90px;
    margin-top: 0
  }

  .top .service-block__content--text {
    max-width: 29vw
  }

  .top .service-block__content--image {
    max-width: 31.25vw
  }

  .top .service-block__text {
    font-size: 1.25rem
  }

  .top .service-block__text {
    margin-bottom: 40px
  }

  .top .service-block .arrow-link {
    float: left;
    margin-top: 30px
  }

  .flex-pc {
    display: flex
  }

  .flex-w300--inner {
    padding-left: 30px;
    padding-right: 30px
  }

  .gap-0 {
    gap: 0
  }

  .gap-10 {
    gap: 10px
  }

  .gap-20 {
    gap: 20px
  }

  .gap-30 {
    gap: 30px
  }

  .gap-40 {
    gap: 40px
  }

  .gap-50 {
    gap: 50px
  }

  .gap-60 {
    gap: 60px
  }

  .gap-70 {
    gap: 70px
  }

  .gap-80 {
    gap: 80px
  }

  .gap-90 {
    gap: 90px
  }

  .gap-100 {
    gap: 100px
  }

  .gap-110 {
    gap: 110px
  }

  .gap-120 {
    gap: 120px
  }

  .gap-130 {
    gap: 130px
  }

  .gap-140 {
    gap: 140px
  }

  .gap-150 {
    gap: 150px
  }

  .gap-160 {
    gap: 160px
  }

  .pc-flex-row {
    flex-direction: row
  }

  .pc-flex-row-reverse {
    flex-direction: row-reverse
  }

  .pc-flex-col {
    flex-direction: column
  }

  .pc-flex-col-reverse {
    flex-direction: column-reverse
  }

  .pc-flex-wrap {
    flex-wrap: wrap
  }

  .pc-flex-nowrap {
    flex-wrap: nowrap
  }

  .pc-flex-center {
    justify-content: center
  }

  .sp-justify-end {
    display: block;
    width: auto
  }

  .grid {
    gap: 30px
  }

  .pc-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .pc-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important
  }

  .gap-0 {
    gap: 0
  }

  .pc-gap-0 {
    gap: 0 !important
  }

  .gap-x-0x {
    -moz-column-gap: 0;
    column-gap: 0
  }

  .pc-gap-x-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important
  }

  .gap-5 {
    gap: 5px
  }

  .pc-gap-5 {
    gap: 5px !important
  }

  .gap-x-5x {
    -moz-column-gap: 5px;
    column-gap: 5px
  }

  .pc-gap-x-5 {
    -moz-column-gap: 5px !important;
    column-gap: 5px !important
  }

  .gap-10 {
    gap: 10px
  }

  .pc-gap-10 {
    gap: 10px !important
  }

  .gap-x-10x {
    -moz-column-gap: 10px;
    column-gap: 10px
  }

  .pc-gap-x-10 {
    -moz-column-gap: 10px !important;
    column-gap: 10px !important
  }

  .gap-15 {
    gap: 15px
  }

  .pc-gap-15 {
    gap: 15px !important
  }

  .gap-x-15x {
    -moz-column-gap: 15px;
    column-gap: 15px
  }

  .pc-gap-x-15 {
    -moz-column-gap: 15px !important;
    column-gap: 15px !important
  }

  .gap-20 {
    gap: 20px
  }

  .pc-gap-20 {
    gap: 20px !important
  }

  .gap-x-20x {
    -moz-column-gap: 20px;
    column-gap: 20px
  }

  .pc-gap-x-20 {
    -moz-column-gap: 20px !important;
    column-gap: 20px !important
  }

  .gap-25 {
    gap: 25px
  }

  .pc-gap-25 {
    gap: 25px !important
  }

  .gap-x-25x {
    -moz-column-gap: 25px;
    column-gap: 25px
  }

  .pc-gap-x-25 {
    -moz-column-gap: 25px !important;
    column-gap: 25px !important
  }

  .gap-30 {
    gap: 30px
  }

  .pc-gap-30 {
    gap: 30px !important
  }

  .gap-x-30x {
    -moz-column-gap: 30px;
    column-gap: 30px
  }

  .pc-gap-x-30 {
    -moz-column-gap: 30px !important;
    column-gap: 30px !important
  }

  .gap-35 {
    gap: 35px
  }

  .pc-gap-35 {
    gap: 35px !important
  }

  .gap-x-35x {
    -moz-column-gap: 35px;
    column-gap: 35px
  }

  .pc-gap-x-35 {
    -moz-column-gap: 35px !important;
    column-gap: 35px !important
  }

  .gap-40 {
    gap: 40px
  }

  .pc-gap-40 {
    gap: 40px !important
  }

  .gap-x-40x {
    -moz-column-gap: 40px;
    column-gap: 40px
  }

  .pc-gap-x-40 {
    -moz-column-gap: 40px !important;
    column-gap: 40px !important
  }

  .gap-45 {
    gap: 45px
  }

  .pc-gap-45 {
    gap: 45px !important
  }

  .gap-x-45x {
    -moz-column-gap: 45px;
    column-gap: 45px
  }

  .pc-gap-x-45 {
    -moz-column-gap: 45px !important;
    column-gap: 45px !important
  }

  .gap-50 {
    gap: 50px
  }

  .pc-gap-50 {
    gap: 50px !important
  }

  .gap-x-50x {
    -moz-column-gap: 50px;
    column-gap: 50px
  }

  .pc-gap-x-50 {
    -moz-column-gap: 50px !important;
    column-gap: 50px !important
  }

  .gap-55 {
    gap: 55px
  }

  .pc-gap-55 {
    gap: 55px !important
  }

  .gap-x-55x {
    -moz-column-gap: 55px;
    column-gap: 55px
  }

  .pc-gap-x-55 {
    -moz-column-gap: 55px !important;
    column-gap: 55px !important
  }

  .gap-60 {
    gap: 60px
  }

  .pc-gap-60 {
    gap: 60px !important
  }

  .gap-x-60x {
    -moz-column-gap: 60px;
    column-gap: 60px
  }

  .pc-gap-x-60 {
    -moz-column-gap: 60px !important;
    column-gap: 60px !important
  }

  .pc-block {
    display: block !important
  }

  .pc-text-center {
    text-align: center !important
  }

  .text-small {
    font-size: 14px
  }

  .sp-only {
    display: none !important
  }

  .m-0 {
    margin: 0 !important
  }

  .mt-0 {
    margin-top: 0 !important
  }

  .mb-0 {
    margin-bottom: 0 !important
  }

  .pc-mt-0 {
    margin-top: 0 !important
  }

  .pc-mb-0 {
    margin-bottom: 0 !important
  }

  .p-0 {
    padding: 0 !important
  }

  .pt-0 {
    padding-top: 0 !important
  }

  .pb-0 {
    padding-bottom: 0 !important
  }

  .px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important
  }

  .pl-0 {
    padding-left: 0 !important
  }

  .pr-0 {
    padding-right: 0 !important
  }

  .pc-pt-0 {
    padding-top: 0 !important
  }

  .pc-pb-0 {
    padding-bottom: 0 !important
  }

  .pc-px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important
  }

  .pc-pl-0 {
    padding-left: 0 !important
  }

  .pc-pr-0 {
    padding-right: 0 !important
  }

  .m-10 {
    margin: 10px !important
  }

  .mt-10 {
    margin-top: 10px !important
  }

  .mb-10 {
    margin-bottom: 10px !important
  }

  .pc-mt-10 {
    margin-top: 10px !important
  }

  .pc-mb-10 {
    margin-bottom: 10px !important
  }

  .p-10 {
    padding: 10px !important
  }

  .pt-10 {
    padding-top: 10px !important
  }

  .pb-10 {
    padding-bottom: 10px !important
  }

  .px-10 {
    padding-left: 10px !important;
    padding-right: 10px !important
  }

  .pl-10 {
    padding-left: 10px !important
  }

  .pr-10 {
    padding-right: 10px !important
  }

  .pc-pt-10 {
    padding-top: 10px !important
  }

  .pc-pb-10 {
    padding-bottom: 10px !important
  }

  .pc-px-10 {
    padding-left: 10px !important;
    padding-right: 10px !important
  }

  .pc-pl-10 {
    padding-left: 10px !important
  }

  .pc-pr-10 {
    padding-right: 10px !important
  }

  .m-20 {
    margin: 20px !important
  }

  .mt-20 {
    margin-top: 20px !important
  }

  .mb-20 {
    margin-bottom: 20px !important
  }

  .pc-mt-20 {
    margin-top: 20px !important
  }

  .pc-mb-20 {
    margin-bottom: 20px !important
  }

  .p-20 {
    padding: 20px !important
  }

  .pt-20 {
    padding-top: 20px !important
  }

  .pb-20 {
    padding-bottom: 20px !important
  }

  .px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important
  }

  .pl-20 {
    padding-left: 20px !important
  }

  .pr-20 {
    padding-right: 20px !important
  }

  .pc-pt-20 {
    padding-top: 20px !important
  }

  .pc-pb-20 {
    padding-bottom: 20px !important
  }

  .pc-px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important
  }

  .pc-pl-20 {
    padding-left: 20px !important
  }

  .pc-pr-20 {
    padding-right: 20px !important
  }

  .m-30 {
    margin: 30px !important
  }

  .mt-30 {
    margin-top: 30px !important
  }

  .mb-30 {
    margin-bottom: 30px !important
  }

  .pc-mt-30 {
    margin-top: 30px !important
  }

  .pc-mb-30 {
    margin-bottom: 30px !important
  }

  .p-30 {
    padding: 30px !important
  }

  .pt-30 {
    padding-top: 30px !important
  }

  .pb-30 {
    padding-bottom: 30px !important
  }

  .px-30 {
    padding-left: 30px !important;
    padding-right: 30px !important
  }

  .pl-30 {
    padding-left: 30px !important
  }

  .pr-30 {
    padding-right: 30px !important
  }

  .pc-pt-30 {
    padding-top: 30px !important
  }

  .pc-pb-30 {
    padding-bottom: 30px !important
  }

  .pc-px-30 {
    padding-left: 30px !important;
    padding-right: 30px !important
  }

  .pc-pl-30 {
    padding-left: 30px !important
  }

  .pc-pr-30 {
    padding-right: 30px !important
  }

  .m-40 {
    margin: 40px !important
  }

  .mt-40 {
    margin-top: 40px !important
  }

  .mb-40 {
    margin-bottom: 40px !important
  }

  .pc-mt-40 {
    margin-top: 40px !important
  }

  .pc-mb-40 {
    margin-bottom: 40px !important
  }

  .p-40 {
    padding: 40px !important
  }

  .pt-40 {
    padding-top: 40px !important
  }

  .pb-40 {
    padding-bottom: 40px !important
  }

  .px-40 {
    padding-left: 40px !important;
    padding-right: 40px !important
  }

  .pl-40 {
    padding-left: 40px !important
  }

  .pr-40 {
    padding-right: 40px !important
  }

  .pc-pt-40 {
    padding-top: 40px !important
  }

  .pc-pb-40 {
    padding-bottom: 40px !important
  }

  .pc-px-40 {
    padding-left: 40px !important;
    padding-right: 40px !important
  }

  .pc-pl-40 {
    padding-left: 40px !important
  }

  .pc-pr-40 {
    padding-right: 40px !important
  }

  .m-50 {
    margin: 50px !important
  }

  .mt-50 {
    margin-top: 50px !important
  }

  .mb-50 {
    margin-bottom: 50px !important
  }

  .pc-mt-50 {
    margin-top: 50px !important
  }

  .pc-mb-50 {
    margin-bottom: 50px !important
  }

  .p-50 {
    padding: 50px !important
  }

  .pt-50 {
    padding-top: 50px !important
  }

  .pb-50 {
    padding-bottom: 50px !important
  }

  .px-50 {
    padding-left: 50px !important;
    padding-right: 50px !important
  }

  .pl-50 {
    padding-left: 50px !important
  }

  .pr-50 {
    padding-right: 50px !important
  }

  .pc-pt-50 {
    padding-top: 50px !important
  }

  .pc-pb-50 {
    padding-bottom: 50px !important
  }

  .pc-px-50 {
    padding-left: 50px !important;
    padding-right: 50px !important
  }

  .pc-pl-50 {
    padding-left: 50px !important
  }

  .pc-pr-50 {
    padding-right: 50px !important
  }

  .m-60 {
    margin: 60px !important
  }

  .mt-60 {
    margin-top: 60px !important
  }

  .mb-60 {
    margin-bottom: 60px !important
  }

  .pc-mt-60 {
    margin-top: 60px !important
  }

  .pc-mb-60 {
    margin-bottom: 60px !important
  }

  .p-60 {
    padding: 60px !important
  }

  .pt-60 {
    padding-top: 60px !important
  }

  .pb-60 {
    padding-bottom: 60px !important
  }

  .px-60 {
    padding-left: 60px !important;
    padding-right: 60px !important
  }

  .pl-60 {
    padding-left: 60px !important
  }

  .pr-60 {
    padding-right: 60px !important
  }

  .pc-pt-60 {
    padding-top: 60px !important
  }

  .pc-pb-60 {
    padding-bottom: 60px !important
  }

  .pc-px-60 {
    padding-left: 60px !important;
    padding-right: 60px !important
  }

  .pc-pl-60 {
    padding-left: 60px !important
  }

  .pc-pr-60 {
    padding-right: 60px !important
  }

  .m-70 {
    margin: 70px !important
  }

  .mt-70 {
    margin-top: 70px !important
  }

  .mb-70 {
    margin-bottom: 70px !important
  }

  .pc-mt-70 {
    margin-top: 70px !important
  }

  .pc-mb-70 {
    margin-bottom: 70px !important
  }

  .p-70 {
    padding: 70px !important
  }

  .pt-70 {
    padding-top: 70px !important
  }

  .pb-70 {
    padding-bottom: 70px !important
  }

  .px-70 {
    padding-left: 70px !important;
    padding-right: 70px !important
  }

  .pl-70 {
    padding-left: 70px !important
  }

  .pr-70 {
    padding-right: 70px !important
  }

  .pc-pt-70 {
    padding-top: 70px !important
  }

  .pc-pb-70 {
    padding-bottom: 70px !important
  }

  .pc-px-70 {
    padding-left: 70px !important;
    padding-right: 70px !important
  }

  .pc-pl-70 {
    padding-left: 70px !important
  }

  .pc-pr-70 {
    padding-right: 70px !important
  }

  .m-80 {
    margin: 80px !important
  }

  .mt-80 {
    margin-top: 80px !important
  }

  .mb-80 {
    margin-bottom: 80px !important
  }

  .pc-mt-80 {
    margin-top: 80px !important
  }

  .pc-mb-80 {
    margin-bottom: 80px !important
  }

  .p-80 {
    padding: 80px !important
  }

  .pt-80 {
    padding-top: 80px !important
  }

  .pb-80 {
    padding-bottom: 80px !important
  }

  .px-80 {
    padding-left: 80px !important;
    padding-right: 80px !important
  }

  .pl-80 {
    padding-left: 80px !important
  }

  .pr-80 {
    padding-right: 80px !important
  }

  .pc-pt-80 {
    padding-top: 80px !important
  }

  .pc-pb-80 {
    padding-bottom: 80px !important
  }

  .pc-px-80 {
    padding-left: 80px !important;
    padding-right: 80px !important
  }

  .pc-pl-80 {
    padding-left: 80px !important
  }

  .pc-pr-80 {
    padding-right: 80px !important
  }

  .m-90 {
    margin: 90px !important
  }

  .mt-90 {
    margin-top: 90px !important
  }

  .mb-90 {
    margin-bottom: 90px !important
  }

  .pc-mt-90 {
    margin-top: 90px !important
  }

  .pc-mb-90 {
    margin-bottom: 90px !important
  }

  .p-90 {
    padding: 90px !important
  }

  .pt-90 {
    padding-top: 90px !important
  }

  .pb-90 {
    padding-bottom: 90px !important
  }

  .px-90 {
    padding-left: 90px !important;
    padding-right: 90px !important
  }

  .pl-90 {
    padding-left: 90px !important
  }

  .pr-90 {
    padding-right: 90px !important
  }

  .pc-pt-90 {
    padding-top: 90px !important
  }

  .pc-pb-90 {
    padding-bottom: 90px !important
  }

  .pc-px-90 {
    padding-left: 90px !important;
    padding-right: 90px !important
  }

  .pc-pl-90 {
    padding-left: 90px !important
  }

  .pc-pr-90 {
    padding-right: 90px !important
  }

  .m-100 {
    margin: 100px !important
  }

  .mt-100 {
    margin-top: 100px !important
  }

  .mb-100 {
    margin-bottom: 100px !important
  }

  .pc-mt-100 {
    margin-top: 100px !important
  }

  .pc-mb-100 {
    margin-bottom: 100px !important
  }

  .p-100 {
    padding: 100px !important
  }

  .pt-100 {
    padding-top: 100px !important
  }

  .pb-100 {
    padding-bottom: 100px !important
  }

  .px-100 {
    padding-left: 100px !important;
    padding-right: 100px !important
  }

  .pl-100 {
    padding-left: 100px !important
  }

  .pr-100 {
    padding-right: 100px !important
  }

  .pc-pt-100 {
    padding-top: 100px !important
  }

  .pc-pb-100 {
    padding-bottom: 100px !important
  }

  .pc-px-100 {
    padding-left: 100px !important;
    padding-right: 100px !important
  }

  .pc-pl-100 {
    padding-left: 100px !important
  }

  .pc-pr-100 {
    padding-right: 100px !important
  }

  .m-110 {
    margin: 110px !important
  }

  .mt-110 {
    margin-top: 110px !important
  }

  .mb-110 {
    margin-bottom: 110px !important
  }

  .pc-mt-110 {
    margin-top: 110px !important
  }

  .pc-mb-110 {
    margin-bottom: 110px !important
  }

  .p-110 {
    padding: 110px !important
  }

  .pt-110 {
    padding-top: 110px !important
  }

  .pb-110 {
    padding-bottom: 110px !important
  }

  .px-110 {
    padding-left: 110px !important;
    padding-right: 110px !important
  }

  .pl-110 {
    padding-left: 110px !important
  }

  .pr-110 {
    padding-right: 110px !important
  }

  .pc-pt-110 {
    padding-top: 110px !important
  }

  .pc-pb-110 {
    padding-bottom: 110px !important
  }

  .pc-px-110 {
    padding-left: 110px !important;
    padding-right: 110px !important
  }

  .pc-pl-110 {
    padding-left: 110px !important
  }

  .pc-pr-110 {
    padding-right: 110px !important
  }

  .m-120 {
    margin: 120px !important
  }

  .mt-120 {
    margin-top: 120px !important
  }

  .mb-120 {
    margin-bottom: 120px !important
  }

  .pc-mt-120 {
    margin-top: 120px !important
  }

  .pc-mb-120 {
    margin-bottom: 120px !important
  }

  .p-120 {
    padding: 120px !important
  }

  .pt-120 {
    padding-top: 120px !important
  }

  .pb-120 {
    padding-bottom: 120px !important
  }

  .px-120 {
    padding-left: 120px !important;
    padding-right: 120px !important
  }

  .pl-120 {
    padding-left: 120px !important
  }

  .pr-120 {
    padding-right: 120px !important
  }

  .pc-pt-120 {
    padding-top: 120px !important
  }

  .pc-pb-120 {
    padding-bottom: 120px !important
  }

  .pc-px-120 {
    padding-left: 120px !important;
    padding-right: 120px !important
  }

  .pc-pl-120 {
    padding-left: 120px !important
  }

  .pc-pr-120 {
    padding-right: 120px !important
  }

  .m-130 {
    margin: 130px !important
  }

  .mt-130 {
    margin-top: 130px !important
  }

  .mb-130 {
    margin-bottom: 130px !important
  }

  .pc-mt-130 {
    margin-top: 130px !important
  }

  .pc-mb-130 {
    margin-bottom: 130px !important
  }

  .p-130 {
    padding: 130px !important
  }

  .pt-130 {
    padding-top: 130px !important
  }

  .pb-130 {
    padding-bottom: 130px !important
  }

  .px-130 {
    padding-left: 130px !important;
    padding-right: 130px !important
  }

  .pl-130 {
    padding-left: 130px !important
  }

  .pr-130 {
    padding-right: 130px !important
  }

  .pc-pt-130 {
    padding-top: 130px !important
  }

  .pc-pb-130 {
    padding-bottom: 130px !important
  }

  .pc-px-130 {
    padding-left: 130px !important;
    padding-right: 130px !important
  }

  .pc-pl-130 {
    padding-left: 130px !important
  }

  .pc-pr-130 {
    padding-right: 130px !important
  }

  .m-140 {
    margin: 140px !important
  }

  .mt-140 {
    margin-top: 140px !important
  }

  .mb-140 {
    margin-bottom: 140px !important
  }

  .pc-mt-140 {
    margin-top: 140px !important
  }

  .pc-mb-140 {
    margin-bottom: 140px !important
  }

  .p-140 {
    padding: 140px !important
  }

  .pt-140 {
    padding-top: 140px !important
  }

  .pb-140 {
    padding-bottom: 140px !important
  }

  .px-140 {
    padding-left: 140px !important;
    padding-right: 140px !important
  }

  .pl-140 {
    padding-left: 140px !important
  }

  .pr-140 {
    padding-right: 140px !important
  }

  .pc-pt-140 {
    padding-top: 140px !important
  }

  .pc-pb-140 {
    padding-bottom: 140px !important
  }

  .pc-px-140 {
    padding-left: 140px !important;
    padding-right: 140px !important
  }

  .pc-pl-140 {
    padding-left: 140px !important
  }

  .pc-pr-140 {
    padding-right: 140px !important
  }

  .m-150 {
    margin: 150px !important
  }

  .mt-150 {
    margin-top: 150px !important
  }

  .mb-150 {
    margin-bottom: 150px !important
  }

  .pc-mt-150 {
    margin-top: 150px !important
  }

  .pc-mb-150 {
    margin-bottom: 150px !important
  }

  .p-150 {
    padding: 150px !important
  }

  .pt-150 {
    padding-top: 150px !important
  }

  .pb-150 {
    padding-bottom: 150px !important
  }

  .px-150 {
    padding-left: 150px !important;
    padding-right: 150px !important
  }

  .pl-150 {
    padding-left: 150px !important
  }

  .pr-150 {
    padding-right: 150px !important
  }

  .pc-pt-150 {
    padding-top: 150px !important
  }

  .pc-pb-150 {
    padding-bottom: 150px !important
  }

  .pc-px-150 {
    padding-left: 150px !important;
    padding-right: 150px !important
  }

  .pc-pl-150 {
    padding-left: 150px !important
  }

  .pc-pr-150 {
    padding-right: 150px !important
  }

  .m-160 {
    margin: 160px !important
  }

  .mt-160 {
    margin-top: 160px !important
  }

  .mb-160 {
    margin-bottom: 160px !important
  }

  .pc-mt-160 {
    margin-top: 160px !important
  }

  .pc-mb-160 {
    margin-bottom: 160px !important
  }

  .p-160 {
    padding: 160px !important
  }

  .pt-160 {
    padding-top: 160px !important
  }

  .pb-160 {
    padding-bottom: 160px !important
  }

  .px-160 {
    padding-left: 160px !important;
    padding-right: 160px !important
  }

  .pl-160 {
    padding-left: 160px !important
  }

  .pr-160 {
    padding-right: 160px !important
  }

  .pc-pt-160 {
    padding-top: 160px !important
  }

  .pc-pb-160 {
    padding-bottom: 160px !important
  }

  .pc-px-160 {
    padding-left: 160px !important;
    padding-right: 160px !important
  }

  .pc-pl-160 {
    padding-left: 160px !important
  }

  .pc-pr-160 {
    padding-right: 160px !important
  }

  .pc-pt-16 {
    padding-top: 16px !important
  }

  .pc-mt-1em {
    margin-top: 1em !important
  }

  .pc-mb-1em {
    margin-bottom: 1em !important
  }

  .pc-pt-1em {
    padding-top: 1em !important
  }

  .pc-pb-1em {
    padding-bottom: 1em !important
  }

  .pc-mt-2em {
    margin-top: 2em !important
  }

  .pc-mb-2em {
    margin-bottom: 2em !important
  }

  .pc-pt-2em {
    padding-top: 2em !important
  }

  .pc-pb-2em {
    padding-bottom: 2em !important
  }

  .pc-mt-3em {
    margin-top: 3em !important
  }

  .pc-mb-3em {
    margin-bottom: 3em !important
  }

  .pc-pt-3em {
    padding-top: 3em !important
  }

  .pc-pb-3em {
    padding-bottom: 3em !important
  }

  .pc-mt-4em {
    margin-top: 4em !important
  }

  .pc-mb-4em {
    margin-bottom: 4em !important
  }

  .pc-pt-4em {
    padding-top: 4em !important
  }

  .pc-pb-4em {
    padding-bottom: 4em !important
  }

  .pc-mt-5em {
    margin-top: 5em !important
  }

  .pc-mb-5em {
    margin-bottom: 5em !important
  }

  .pc-pt-5em {
    padding-top: 5em !important
  }

  .pc-pb-5em {
    padding-bottom: 5em !important
  }

  .pc-mt-6em {
    margin-top: 6em !important
  }

  .pc-mb-6em {
    margin-bottom: 6em !important
  }

  .pc-pt-6em {
    padding-top: 6em !important
  }

  .pc-pb-6em {
    padding-bottom: 6em !important
  }

  .pc-mt-7em {
    margin-top: 7em !important
  }

  .pc-mb-7em {
    margin-bottom: 7em !important
  }

  .pc-pt-7em {
    padding-top: 7em !important
  }

  .pc-pb-7em {
    padding-bottom: 7em !important
  }

  .pc-mt-8em {
    margin-top: 8em !important
  }

  .pc-mb-8em {
    margin-bottom: 8em !important
  }

  .pc-pt-8em {
    padding-top: 8em !important
  }

  .pc-pb-8em {
    padding-bottom: 8em !important
  }

  .pc-mt-9em {
    margin-top: 9em !important
  }

  .pc-mb-9em {
    margin-bottom: 9em !important
  }

  .pc-pt-9em {
    padding-top: 9em !important
  }

  .pc-pb-9em {
    padding-bottom: 9em !important
  }

  .pc-mt-10em {
    margin-top: 10em !important
  }

  .pc-mb-10em {
    margin-bottom: 10em !important
  }

  .pc-pt-10em {
    padding-top: 10em !important
  }

  .pc-pb-10em {
    padding-bottom: 10em !important
  }

  .spacer-s {
    margin-top: 30px !important
  }

  .spacer {
    margin-top: 60px !important
  }

  .spacer-l {
    padding-top: 100px !important
  }
}

@media (min-width:768px)and (hover:hover) {
  .contact button:hover {
    opacity: .7
  }

  .select-link:hover {
    text-decoration: none
  }

  .top .kv__link:hover img {
    scale: 1.05
  }
}

@media (min-width:768px)and (hover:none) {
  .contact button:active {
    opacity: .7
  }

  .select-link:active {
    text-decoration: none
  }

  .top .kv__link:active img {
    scale: 1.05
  }
}

@media (min-width:1000px) {
  .l-column2__main.has-sidebar {
    margin-left: 23.0769230769vw
  }

  .btn-list--col4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .btn-list--col5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }

  .btn-list--col3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .top .link-card {
    grid-template-columns: 1fr 1fr 1fr
  }

  .overlay__bg {
    display: none
  }

  .topics-slider__slide {
    max-width: 280px !important
  }

  .service .others-block__content {
    width: 48%
  }

  .service .others-block__title {
    margin-bottom: 40px
  }

  .service .others-block__text {
    margin-bottom: 35px
  }

  .cds-class__details .sub-heading {
    margin-bottom: 40px
  }

  .cds-class__details dd {
    margin-left: 100px
  }

  .cds-class__details .clearfix {
    margin-bottom: 20px
  }

  .cds-class__map {
    width: 48%
  }

  .top .service-block {
    padding-left: 25.7vw
  }
}

@media (min-width:1280px) {
  html {
    font-size: 100%
  }

  .footer-main__nav {
    flex-wrap: nowrap
  }

  .link-card {
    grid-template-columns: 1fr 1fr 1fr
  }

  .top .news .inner {
    padding-right: 11.8vw
  }

  .top .service-block {
    padding-right: 11.8vw
  }

  .top .service-block {
    padding-left: 20.7vw
  }
}

@media screen and (min-width:1310px) {
  .search-sidebar {
    display: none
  }
}

@media screen and (min-width:1330px) {
  .header-nav {
    display: flex;
    justify-content: space-between
  }

  .gnav {
    display: none
  }

  .sp-tool {
    display: none
  }
}

@media (min-width:1500px) {
  .header-nav__buttons {
    margin-left: 93px
  }

  .top .book-slider__arrow {
    top: 45%
  }
}

@media (max-width:767.98px) {
  .inner-sp {
    margin-left: auto;
    margin-right: auto;
    width: 87.1794871795%
  }

  .select-box__detail_input input[type=email],
  .select-box__detail_input input[type=tel],
  .select-box__detail_input input[type=text],
  .select-box__detail_input input[type=url],
  .select-box__detail_input select,
  .select-box__detail_input textarea {
    margin-top: 3.5897435897vw
  }

  .breadcrumbs li {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
  }

  .contact .button-group {
    display: flex;
    flex-direction: column-reverse;
    gap: 5.1282051282vw
  }

  .contact button.button-submit {
    margin-top: 5.1282051282vw
  }

  .three-slider {
    margin: 0 calc(50% - 50vw);
    width: 100vw
  }

  .table.is__information table {
    border: 1px solid #d5d5d5
  }

  .table.is__information tr {
    display: flex;
    flex-direction: column;
    width: 100%
  }

  .table.is__information tr:first-child th {
    border-top: none
  }

  .table.is__information tr:last-child {
    border-bottom: none
  }

  .table.is__information th {
    text-align: center
  }

  .table .format-table {
    margin-top: 7.6923076923vw
  }

  .table .format-table tr {
    display: table-row
  }

  .table .format-table thead th,
  .table .format-table thead td {
    padding-top: 2.5641025641vw;
    padding-bottom: 2.5641025641vw
  }

  .table .format-table tbody tr:first-child th,
  .table .format-table thead td {
    border-top: 1px solid #d5d5d5;
  }

  .block-editor .sidebar__block {
    display: none
  }

  .block-editor .heading,
  .block-editor h2 {
    border-bottom: none;
    line-height: 2;
    margin-bottom: 10.2564102564vw;
    padding-bottom: 0;
    text-decoration: underline;
    text-decoration-color: #2e5fac;
    text-decoration-thickness: .5128205128vw;
    text-underline-offset: 2.5641025641vw
  }

  .block-editor .heading.is__h3,
  .block-editor h3 {
    margin-bottom: 7.6923076923vw;
    margin-top: 13.5897435897vw
  }

  .block-editor .heading.is__h4,
  .block-editor h4 {
    margin-bottom: 5.1282051282vw;
    margin-top: 11.5384615385vw
  }

  .block-editor figure {
    margin-top: 12.8205128205vw !important
  }

  .block-editor figure figcaption {
    margin-top: 4.1025641026vw
  }

  .block-editor figure+figure {
    margin-top: 5.641025641vw !important
  }

  .block-editor iframe {
    width: 100%;
  }

  .author.s-section {
    padding-top: 15.3846153846vw
  }

  .media.is__author {
    align-items: center;
    gap: 8.2051282051vw
  }

  .media.is__author .media__img-wrapper img {
    height: 82.0512820513vw;
    width: auto
  }

  .authorworks-slider__slide {
    width: 35.8974358974vw !important
  }

  .authorworks-slider__slide .img_wrp {
    background-color: #f8f8f8;
    display: flex;
    height: 35.8974358974vw;
    width: 35.8974358974vw
  }

  .authorworks-slider__slide .img_wrp img {
    height: 35.8974358974vw;
    margin: auto
  }

  .authorworks-slider__slide .book_title {
    margin-bottom: 3.8461538462vw
  }

  .page-head__heading.is__article {
    padding-top: 7.6923076923vw
  }

  .page-head:has(.is__article) .page-head__header {
    margin-bottom: 0
  }

  .search-summary {
    flex-direction: column !important
  }

  .search-summary__thumbnail {
    margin: 0 auto;
    text-align: center;
    width: 76.9230769231vw;
    margin-bottom: 10.2564102564vw
  }

  .search-section {
    width: 100%
  }

  .top .kv__controls {
    margin-left: auto;
    margin-right: auto;
    width: 87.1794871795%
  }

  .top .topics .site-search-form {
    margin-bottom: 5.1282051282vw
  }

  .top .topics .btn-list--col5 {
    display: grid;
    grid-template-columns: 50% 50%
  }

  .top .topics .btn-list--col5 li:nth-child(1) {
    grid-column: 1;
    grid-row: 1
  }

  .top .topics .btn-list--col5 li:nth-child(2) {
    grid-column: 1;
    grid-row: 2
  }

  .top .topics .btn-list--col5 li:nth-child(3) {
    grid-column: 1;
    grid-row: 3
  }

  .top .topics .btn-list--col5 li:nth-child(4) {
    grid-column: 1;
    grid-row: 4
  }

  .top .topics .btn-list--col5 li:nth-child(5) {
    grid-column: 1;
    grid-row: 5
  }

  .top .topics .btn-list--col5 li:nth-child(6) {
    grid-column: 2;
    grid-row: 1
  }

  .top .topics .btn-list--col5 li:nth-child(7) {
    grid-column: 2;
    grid-row: 2
  }

  .top .topics .btn-list--col5 li:nth-child(8) {
    grid-column: 2;
    grid-row: 3
  }

  .top .topics .btn-list--col5 li:nth-child(9) {
    grid-column: 2;
    grid-row: 4
  }

  .top .topics .btn-list--col5 li:nth-child(10) {
    grid-column: 2;
    grid-row: 5
  }

  .news .sidebar.news-sidebar {
    margin-top: 10.2564102564vw;
  }

  .news .sidebar__block {
    margin-top: 0;
    max-height: 13rem;
    overflow: auto
  }

  .sp-flex-row {
    flex-direction: row
  }

  .sp-flex-row-reverse {
    flex-direction: row-reverse
  }

  .sp-flex-col {
    flex-direction: column
  }

  .sp-flex-col-reverse {
    flex-direction: column-reverse
  }

  .sp-flex-wrap {
    flex-wrap: wrap
  }

  .sp-flex-nowrap {
    flex-wrap: nowrap
  }

  .sp-flex-center {
    justify-content: center
  }

  .sp-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important
  }

  .sp-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .sp-gap-0 {
    gap: 0 !important
  }

  .sp-gap-x-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important
  }

  .sp-gap-5 {
    gap: 1.2820512821vw !important
  }

  .sp-gap-x-5 {
    -moz-column-gap: 1.2820512821vw !important;
    column-gap: 1.2820512821vw !important
  }

  .sp-gap-10 {
    gap: 2.5641025641vw !important
  }

  .sp-gap-x-10 {
    -moz-column-gap: 2.5641025641vw !important;
    column-gap: 2.5641025641vw !important
  }

  .sp-gap-15 {
    gap: 3.8461538462vw !important
  }

  .sp-gap-x-15 {
    -moz-column-gap: 3.8461538462vw !important;
    column-gap: 3.8461538462vw !important
  }

  .sp-gap-20 {
    gap: 5.1282051282vw !important
  }

  .sp-gap-x-20 {
    -moz-column-gap: 5.1282051282vw !important;
    column-gap: 5.1282051282vw !important
  }

  .sp-gap-25 {
    gap: 6.4102564103vw !important
  }

  .sp-gap-x-25 {
    -moz-column-gap: 6.4102564103vw !important;
    column-gap: 6.4102564103vw !important
  }

  .sp-gap-30 {
    gap: 7.6923076923vw !important
  }

  .sp-gap-x-30 {
    -moz-column-gap: 7.6923076923vw !important;
    column-gap: 7.6923076923vw !important
  }

  .sp-gap-35 {
    gap: 8.9743589744vw !important
  }

  .sp-gap-x-35 {
    -moz-column-gap: 8.9743589744vw !important;
    column-gap: 8.9743589744vw !important
  }

  .sp-gap-40 {
    gap: 10.2564102564vw !important
  }

  .sp-gap-x-40 {
    -moz-column-gap: 10.2564102564vw !important;
    column-gap: 10.2564102564vw !important
  }

  .sp-gap-45 {
    gap: 11.5384615385vw !important
  }

  .sp-gap-x-45 {
    -moz-column-gap: 11.5384615385vw !important;
    column-gap: 11.5384615385vw !important
  }

  .sp-gap-50 {
    gap: 12.8205128205vw !important
  }

  .sp-gap-x-50 {
    -moz-column-gap: 12.8205128205vw !important;
    column-gap: 12.8205128205vw !important
  }

  .sp-gap-55 {
    gap: 14.1025641026vw !important
  }

  .sp-gap-x-55 {
    -moz-column-gap: 14.1025641026vw !important;
    column-gap: 14.1025641026vw !important
  }

  .sp-gap-60 {
    gap: 15.3846153846vw !important
  }

  .sp-gap-x-60 {
    -moz-column-gap: 15.3846153846vw !important;
    column-gap: 15.3846153846vw !important
  }

  .sp-block {
    display: block !important
  }

  .sp-w-auto {
    width: auto
  }

  .sp-centering {
    margin-left: auto;
    margin-right: auto
  }

  .sp-text-left {
    text-align: left !important
  }

  .sp-text-center {
    text-align: center !important
  }

  .pc-only {
    display: none !important
  }

  .sp-mt-0 {
    margin-top: 0 !important
  }

  .sp-mb-0 {
    margin-bottom: 0 !important
  }

  .sp-pt-0 {
    padding-top: 0 !important
  }

  .sp-pb-0 {
    padding-bottom: 0 !important
  }

  .sp-px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important
  }

  .sp-pl-0 {
    padding-left: 0 !important
  }

  .sp-pr-0 {
    padding-right: 0 !important
  }

  .sp-mt-10 {
    margin-top: 2.5641025641vw !important
  }

  .sp-mb-10 {
    margin-bottom: 2.5641025641vw !important
  }

  .sp-pt-10 {
    padding-top: 2.5641025641vw !important
  }

  .sp-pb-10 {
    padding-bottom: 2.5641025641vw !important
  }

  .sp-px-10 {
    padding-left: 2.5641025641vw !important;
    padding-right: 2.5641025641vw !important
  }

  .sp-pl-10 {
    padding-left: 2.5641025641vw !important
  }

  .sp-pr-10 {
    padding-right: 2.5641025641vw !important
  }

  .sp-mt-20 {
    margin-top: 5.1282051282vw !important
  }

  .sp-mb-20 {
    margin-bottom: 5.1282051282vw !important
  }

  .sp-pt-20 {
    padding-top: 5.1282051282vw !important
  }

  .sp-pb-20 {
    padding-bottom: 5.1282051282vw !important
  }

  .sp-px-20 {
    padding-left: 5.1282051282vw !important;
    padding-right: 5.1282051282vw !important
  }

  .sp-pl-20 {
    padding-left: 5.1282051282vw !important
  }

  .sp-pr-20 {
    padding-right: 5.1282051282vw !important
  }

  .sp-mt-30 {
    margin-top: 7.6923076923vw !important
  }

  .sp-mb-30 {
    margin-bottom: 7.6923076923vw !important
  }

  .sp-pt-30 {
    padding-top: 7.6923076923vw !important
  }

  .sp-pb-30 {
    padding-bottom: 7.6923076923vw !important
  }

  .sp-px-30 {
    padding-left: 7.6923076923vw !important;
    padding-right: 7.6923076923vw !important
  }

  .sp-pl-30 {
    padding-left: 7.6923076923vw !important
  }

  .sp-pr-30 {
    padding-right: 7.6923076923vw !important
  }

  .sp-mt-40 {
    margin-top: 10.2564102564vw !important
  }

  .sp-mb-40 {
    margin-bottom: 10.2564102564vw !important
  }

  .sp-pt-40 {
    padding-top: 10.2564102564vw !important
  }

  .sp-pb-40 {
    padding-bottom: 10.2564102564vw !important
  }

  .sp-px-40 {
    padding-left: 10.2564102564vw !important;
    padding-right: 10.2564102564vw !important
  }

  .sp-pl-40 {
    padding-left: 10.2564102564vw !important
  }

  .sp-pr-40 {
    padding-right: 10.2564102564vw !important
  }

  .sp-mt-50 {
    margin-top: 12.8205128205vw !important
  }

  .sp-mb-50 {
    margin-bottom: 12.8205128205vw !important
  }

  .sp-pt-50 {
    padding-top: 12.8205128205vw !important
  }

  .sp-pb-50 {
    padding-bottom: 12.8205128205vw !important
  }

  .sp-px-50 {
    padding-left: 12.8205128205vw !important;
    padding-right: 12.8205128205vw !important
  }

  .sp-pl-50 {
    padding-left: 12.8205128205vw !important
  }

  .sp-pr-50 {
    padding-right: 12.8205128205vw !important
  }

  .sp-mt-60 {
    margin-top: 15.3846153846vw !important
  }

  .sp-mb-60 {
    margin-bottom: 15.3846153846vw !important
  }

  .sp-pt-60 {
    padding-top: 15.3846153846vw !important
  }

  .sp-pb-60 {
    padding-bottom: 15.3846153846vw !important
  }

  .sp-px-60 {
    padding-left: 15.3846153846vw !important;
    padding-right: 15.3846153846vw !important
  }

  .sp-pl-60 {
    padding-left: 15.3846153846vw !important
  }

  .sp-pr-60 {
    padding-right: 15.3846153846vw !important
  }

  .sp-mt-70 {
    margin-top: 17.9487179487vw !important
  }

  .sp-mb-70 {
    margin-bottom: 17.9487179487vw !important
  }

  .sp-pt-70 {
    padding-top: 17.9487179487vw !important
  }

  .sp-pb-70 {
    padding-bottom: 17.9487179487vw !important
  }

  .sp-px-70 {
    padding-left: 17.9487179487vw !important;
    padding-right: 17.9487179487vw !important
  }

  .sp-pl-70 {
    padding-left: 17.9487179487vw !important
  }

  .sp-pr-70 {
    padding-right: 17.9487179487vw !important
  }

  .sp-mt-80 {
    margin-top: 20.5128205128vw !important
  }

  .sp-mb-80 {
    margin-bottom: 20.5128205128vw !important
  }

  .sp-pt-80 {
    padding-top: 20.5128205128vw !important
  }

  .sp-pb-80 {
    padding-bottom: 20.5128205128vw !important
  }

  .sp-px-80 {
    padding-left: 20.5128205128vw !important;
    padding-right: 20.5128205128vw !important
  }

  .sp-pl-80 {
    padding-left: 20.5128205128vw !important
  }

  .sp-pr-80 {
    padding-right: 20.5128205128vw !important
  }

  .sp-mt-90 {
    margin-top: 23.0769230769vw !important
  }

  .sp-mb-90 {
    margin-bottom: 23.0769230769vw !important
  }

  .sp-pt-90 {
    padding-top: 23.0769230769vw !important
  }

  .sp-pb-90 {
    padding-bottom: 23.0769230769vw !important
  }

  .sp-px-90 {
    padding-left: 23.0769230769vw !important;
    padding-right: 23.0769230769vw !important
  }

  .sp-pl-90 {
    padding-left: 23.0769230769vw !important
  }

  .sp-pr-90 {
    padding-right: 23.0769230769vw !important
  }

  .sp-mt-100 {
    margin-top: 25.641025641vw !important
  }

  .sp-mb-100 {
    margin-bottom: 25.641025641vw !important
  }

  .sp-pt-100 {
    padding-top: 25.641025641vw !important
  }

  .sp-pb-100 {
    padding-bottom: 25.641025641vw !important
  }

  .sp-px-100 {
    padding-left: 25.641025641vw !important;
    padding-right: 25.641025641vw !important
  }

  .sp-pl-100 {
    padding-left: 25.641025641vw !important
  }

  .sp-pr-100 {
    padding-right: 25.641025641vw !important
  }

  .sp-mt-110 {
    margin-top: 28.2051282051vw !important
  }

  .sp-mb-110 {
    margin-bottom: 28.2051282051vw !important
  }

  .sp-pt-110 {
    padding-top: 28.2051282051vw !important
  }

  .sp-pb-110 {
    padding-bottom: 28.2051282051vw !important
  }

  .sp-px-110 {
    padding-left: 28.2051282051vw !important;
    padding-right: 28.2051282051vw !important
  }

  .sp-pl-110 {
    padding-left: 28.2051282051vw !important
  }

  .sp-pr-110 {
    padding-right: 28.2051282051vw !important
  }

  .sp-mt-120 {
    margin-top: 30.7692307692vw !important
  }

  .sp-mb-120 {
    margin-bottom: 30.7692307692vw !important
  }

  .sp-pt-120 {
    padding-top: 30.7692307692vw !important
  }

  .sp-pb-120 {
    padding-bottom: 30.7692307692vw !important
  }

  .sp-px-120 {
    padding-left: 30.7692307692vw !important;
    padding-right: 30.7692307692vw !important
  }

  .sp-pl-120 {
    padding-left: 30.7692307692vw !important
  }

  .sp-pr-120 {
    padding-right: 30.7692307692vw !important
  }

  .sp-mt-130 {
    margin-top: 33.3333333333vw !important
  }

  .sp-mb-130 {
    margin-bottom: 33.3333333333vw !important
  }

  .sp-pt-130 {
    padding-top: 33.3333333333vw !important
  }

  .sp-pb-130 {
    padding-bottom: 33.3333333333vw !important
  }

  .sp-px-130 {
    padding-left: 33.3333333333vw !important;
    padding-right: 33.3333333333vw !important
  }

  .sp-pl-130 {
    padding-left: 33.3333333333vw !important
  }

  .sp-pr-130 {
    padding-right: 33.3333333333vw !important
  }

  .sp-mt-140 {
    margin-top: 35.8974358974vw !important
  }

  .sp-mb-140 {
    margin-bottom: 35.8974358974vw !important
  }

  .sp-pt-140 {
    padding-top: 35.8974358974vw !important
  }

  .sp-pb-140 {
    padding-bottom: 35.8974358974vw !important
  }

  .sp-px-140 {
    padding-left: 35.8974358974vw !important;
    padding-right: 35.8974358974vw !important
  }

  .sp-pl-140 {
    padding-left: 35.8974358974vw !important
  }

  .sp-pr-140 {
    padding-right: 35.8974358974vw !important
  }

  .sp-mt-150 {
    margin-top: 38.4615384615vw !important
  }

  .sp-mb-150 {
    margin-bottom: 38.4615384615vw !important
  }

  .sp-pt-150 {
    padding-top: 38.4615384615vw !important
  }

  .sp-pb-150 {
    padding-bottom: 38.4615384615vw !important
  }

  .sp-px-150 {
    padding-left: 38.4615384615vw !important;
    padding-right: 38.4615384615vw !important
  }

  .sp-pl-150 {
    padding-left: 38.4615384615vw !important
  }

  .sp-pr-150 {
    padding-right: 38.4615384615vw !important
  }

  .sp-mt-160 {
    margin-top: 41.0256410256vw !important
  }

  .sp-mb-160 {
    margin-bottom: 41.0256410256vw !important
  }

  .sp-pt-160 {
    padding-top: 41.0256410256vw !important
  }

  .sp-pb-160 {
    padding-bottom: 41.0256410256vw !important
  }

  .sp-px-160 {
    padding-left: 41.0256410256vw !important;
    padding-right: 41.0256410256vw !important
  }

  .sp-pl-160 {
    padding-left: 41.0256410256vw !important
  }

  .sp-pr-160 {
    padding-right: 41.0256410256vw !important
  }

  .sp-mt-1em {
    margin-top: .2564102564vw !important
  }

  .sp-mb-1em {
    margin-bottom: .2564102564vw !important
  }

  .sp-pt-1em {
    padding-top: 1em !important
  }

  .sp-pb-1em {
    padding-bottom: 1em !important
  }

  .sp-mt-2em {
    margin-top: .5128205128vw !important
  }

  .sp-mb-2em {
    margin-bottom: .5128205128vw !important
  }

  .sp-pt-2em {
    padding-top: 2em !important
  }

  .sp-pb-2em {
    padding-bottom: 2em !important
  }

  .sp-mt-3em {
    margin-top: .7692307692vw !important
  }

  .sp-mb-3em {
    margin-bottom: .7692307692vw !important
  }

  .sp-pt-3em {
    padding-top: 3em !important
  }

  .sp-pb-3em {
    padding-bottom: 3em !important
  }

  .sp-mt-4em {
    margin-top: 1.0256410256vw !important
  }

  .sp-mb-4em {
    margin-bottom: 1.0256410256vw !important
  }

  .sp-pt-4em {
    padding-top: 4em !important
  }

  .sp-pb-4em {
    padding-bottom: 4em !important
  }

  .sp-mt-5em {
    margin-top: 1.2820512821vw !important
  }

  .sp-mb-5em {
    margin-bottom: 1.2820512821vw !important
  }

  .sp-pt-5em {
    padding-top: 5em !important
  }

  .sp-pb-5em {
    padding-bottom: 5em !important
  }

  .sp-mt-6em {
    margin-top: 1.5384615385vw !important
  }

  .sp-mb-6em {
    margin-bottom: 1.5384615385vw !important
  }

  .sp-pt-6em {
    padding-top: 6em !important
  }

  .sp-pb-6em {
    padding-bottom: 6em !important
  }

  .sp-mt-7em {
    margin-top: 1.7948717949vw !important
  }

  .sp-mb-7em {
    margin-bottom: 1.7948717949vw !important
  }

  .sp-pt-7em {
    padding-top: 7em !important
  }

  .sp-pb-7em {
    padding-bottom: 7em !important
  }

  .sp-mt-8em {
    margin-top: 2.0512820513vw !important
  }

  .sp-mb-8em {
    margin-bottom: 2.0512820513vw !important
  }

  .sp-pt-8em {
    padding-top: 8em !important
  }

  .sp-pb-8em {
    padding-bottom: 8em !important
  }

  .sp-mt-9em {
    margin-top: 2.3076923077vw !important
  }

  .sp-mb-9em {
    margin-bottom: 2.3076923077vw !important
  }

  .sp-pt-9em {
    padding-top: 9em !important
  }

  .sp-pb-9em {
    padding-bottom: 9em !important
  }

  .sp-mt-10em {
    margin-top: 2.5641025641vw !important
  }

  .sp-mb-10em {
    margin-bottom: 2.5641025641vw !important
  }

  .sp-pt-10em {
    padding-top: 10em !important
  }

  .sp-pb-10em {
    padding-bottom: 10em !important
  }

  .sp-scroll {
    margin-right: calc(50% - 50vw)
  }

  .sp-scroll img {
    margin-right: calc(50% - 50vw);
    max-width: none;
    width: 205.1282051282vw
  }

  .sp-scroll-inner {
    margin-right: calc(58% - 50vw);
    overflow: auto
  }

  .sp-scroll-inner img {
    margin-right: calc(50% - 50vw);
    max-width: none;
    width: 205.1282051282vw
  }
}

@media (max-width:767.98px)and (min-width:768px) {
  .inner-sp {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%
  }

  .top .kv__controls {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%
  }
}

@media screen and (min-width:767.98px) {
  .search-summary__thumbnail {
    max-width: 220px
  }
}

@media screen and (min-width:767.98px) {
  .search-sidebar {
    margin-bottom: 0
  }
}

@media screen and (max-width:1310px)and (min-width:767.98px) {
  .search-summary {
    flex-wrap: wrap;
    justify-content: center
  }

  .search-sidebar.pc-only {
    display: none
  }

  .search-sidebar .btn-blue {
    max-width: 400px
  }

  .search-sidebar ul {
    grid-template-columns: repeat(4, 1fr)
  }
}

@media (max-width:767.98px) {
  .sidebar .order_wrp ul:not(.category-list) li:nth-child(odd):last-child {
    position: relative
  }

  .sidebar .order_wrp ul:not(.category-list) li:nth-child(odd):last-child::after {
    content: "";
    position: absolute;
    display: block;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    top: -1px;
    right: calc(-100% - 2px);
    border-right: 1px solid #d5d5d5;
    border-top: 1px solid #d5d5d5
  }
}

@media print,
screen and (min-width: 768px) {
  .gnav .kyouzai .gnav__subitem__btn::after {
    height: 17px;
    right: 14px;
    width: 17px
  }

  .gnav .kyouzai .gnav__subitem.is-active .accordion__btn::after {
    height: 3px;
    width: 17px
  }
}

@media screen {
  [hidden~=screen] {
    display: inherit
  }

  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important
  }
}

@media (hover:hover) {
  .header-nav__link:hover {
    color: #2c5fac
  }

  .header-search--all:hover {
    background-color: #2c5fac;
    color: #fff
  }

  .header-search--all:hover svg path {
    stroke: #fff !important
  }

  .header-search--book:hover {
    opacity: .7
  }

  .footer-main__nav__item li a:hover {
    color: #2c5fac
  }

  .to-top:hover {
    background-color: #2c5fac
  }

  .to-top:hover svg {
    translate: 0 -5px
  }

  .to-top:hover svg path {
    stroke: #fff !important
  }

  .btn:hover {
    color: #2c5fac
  }

  .btn:hover #Vector {
    translate: 5px -5px
  }

  .btn:hover #Vector_2 {
    translate: 3px -3px
  }

  .btn:hover #down1 {
    translate: 0 3px
  }

  .btn:hover #down2 {
    translate: 0 3px
  }

  .category-btn__pdf:hover::after {
    animation: link-scale .5s ease-in-out forwards;
    scale: 1.1;
    transition: .4s
  }

  .category-btn__out:hover::after {
    animation: link-scale .5s ease-in-out forwards;
    scale: 1.1;
    transition: .4s
  }

  .category-btn:hover {
    color: #2c5fac
  }

  .category-btn:hover #Vector {
    translate: 5px -5px
  }

  .category-btn:hover #Vector_2 {
    translate: 3px -3px
  }

  .category-btn:hover #down1 {
    translate: 0 3px
  }

  .category-btn:hover #down2 {
    translate: 0 3px
  }

  .link-card__item:hover {
    color: #2c5fac
  }

  .link-card__item:hover #Vector {
    translate: 5px -5px
  }

  .link-card__item:hover #Vector_2 {
    translate: 3px -3px
  }

  .textlink:hover::after {
    animation: link-line .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):hover .a-line {
    animation: a-line .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):hover .a-tip {
    animation: a-tip .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):hover .icon-link--l {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac
  }

  .arrow-link:not(.row-reverse):hover .arrow-link__text::after {
    animation: link-line .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):hover .icon {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac;
    border-color: #fff;
    transition: .4s
  }

  .arrow-link:not(.row-reverse):hover .icon__pdf::after {
    animation: link-scale .5s ease-in-out forwards;
    background-color: #fff;
    scale: 1.03;
    transition: .4s
  }

  .arrow-link.row-reverse:hover .a-line {
    animation: a-line-rev .5s ease-in-out forwards
  }

  .arrow-link.row-reverse:hover .a-tip {
    animation: a-tip-rev .5s ease-in-out forwards
  }

  .arrow-link.row-reverse:hover .icon-link--l {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac
  }

  .arrow-link.row-reverse:hover .arrow-link__text::after {
    animation: link-line .5s ease-in-out forwards
  }

  .arrow-link.row-reverse:hover .icon {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac;
    border-color: #fff;
    transition: .4s
  }

  .arrow-link.row-reverse:hover .icon__pdf::after {
    animation: link-scale .5s ease-in-out forwards;
    background-color: #fff;
    scale: 1.03;
    transition: .4s
  }

  .out-link:hover .a-line {
    animation: a-line .5s ease-in-out forwards
  }

  .out-link:hover .a-tip {
    animation: a-tip .5s ease-in-out forwards
  }

  .out-link:hover .icon-link--l {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac
  }

  .out-link:hover .out-link__text::after {
    animation: link-line .5s ease-in-out forwards
  }

  .megamenu__list li a:hover {
    color: #2c5fac
  }

  .gnav-toggle:hover {
    scale: 1.1
  }

  .news-text:hover span {
    background-position: 0 100%;
    background-size: 100% 1px
  }

  .mt-site-search-result-item__link:hover .mt-site-search-result-item__label {
    background-position: 0 100%;
    background-size: 100% 1px;
    color: #2c5fac
  }

  .mt-site-search-pagination-item__link:hover {
    color: #2c5fac
  }

  .mt-site-search-pagination-item__link:hover::before {
    color: #2c5fac
  }

  .sidebar .service-nav--pc__link:hover {
    opacity: 1
  }

  .sidebar .tab:hover .tab-icon {
    translate: 5px 0
  }

  .splide__arrow:hover {
    background: #2c5fac
  }

  .splide__arrow--next:hover {
    opacity: 1 !important
  }

  .splide__arrow--next:hover svg {
    animation: next-arrow .7s cubic-bezier(.075, .82, .165, 1) forwards
  }

  .splide__arrow--next:hover svg path {
    stroke: #fff !important
  }

  .splide__arrow--prev:hover {
    opacity: 1 !important
  }

  .splide__arrow--prev:hover svg {
    animation: prev-arrow .7s cubic-bezier(.075, .82, .165, 1) forwards
  }

  .splide__arrow--prev:hover svg path {
    stroke: #fff !important
  }

  .topics-slider__arrow--next:hover {
    opacity: 1 !important
  }

  .topics-slider__arrow--prev:hover {
    opacity: 1 !important
  }

  .page-navigation__index a:hover {
    color: #2c5fac
  }

  .page-navigation__button:hover .txt {
    color: #2c5fac
  }

  .page-navigation__button:hover .arrow {
    background-color: #2c5fac
  }

  .nolink .page-navigation__button:hover .arrow {
    background-color: rgba(0, 0, 0, 0)
  }

  .page-navigation__button:hover .arrow svg path {
    stroke: #fff !important
  }

  .nolink .page-navigation__button:hover .arrow svg path {
    stroke: #6e6e6e !important
  }

  .search-sidebar .btn-blue:hover {
    opacity: .8
  }

  .cds-intro__item a:hover {
    opacity: .5
  }

  .top .kv__arrow--next:hover {
    opacity: 1 !important
  }

  .top .kv__arrow--prev:hover {
    opacity: 1 !important
  }

  .top .service-nav--pc__link:hover {
    color: #303030
  }

  .top .service-nav--pc__link:hover svg path {
    stroke: #2c5fac !important
  }
}

@media (hover:none) {
  .header-nav__link:active {
    color: #2c5fac
  }

  .header-search--all:active {
    background-color: #2c5fac;
    color: #fff
  }

  .header-search--all:active svg path {
    stroke: #fff !important
  }

  .header-search--book:active {
    opacity: .7
  }

  .footer-main__nav__item li a:active {
    color: #2c5fac
  }

  .to-top:active {
    background-color: #2c5fac
  }

  .to-top:active svg {
    translate: 0 -5px
  }

  .to-top:active svg path {
    stroke: #fff !important
  }

  .btn:active {
    color: #2c5fac
  }

  .btn:active #Vector {
    translate: 5px -5px
  }

  .btn:active #Vector_2 {
    translate: 3px -3px
  }

  .btn:active #down1 {
    translate: 0 3px
  }

  .btn:active #down2 {
    translate: 0 3px
  }

  .category-btn__pdf:active::after {
    animation: link-scale .5s ease-in-out forwards;
    scale: 1.1;
    transition: .4s
  }

  .category-btn__out:active::after {
    animation: link-scale .5s ease-in-out forwards;
    scale: 1.1;
    transition: .4s
  }

  .category-btn:active {
    color: #2c5fac
  }

  .category-btn:active #Vector {
    translate: 5px -5px
  }

  .category-btn:active #Vector_2 {
    translate: 3px -3px
  }

  .category-btn:active #down1 {
    translate: 0 3px
  }

  .category-btn:active #down2 {
    translate: 0 3px
  }

  .link-card__item:active {
    color: #2c5fac
  }

  .link-card__item:active #Vector {
    translate: 5px -5px
  }

  .link-card__item:active #Vector_2 {
    translate: 3px -3px
  }

  .textlink:active::after {
    animation: link-line .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):active .a-line {
    animation: a-line .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):active .a-tip {
    animation: a-tip .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):active .icon-link--l {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac
  }

  .arrow-link:not(.row-reverse):active .arrow-link__text::after {
    animation: link-line .5s ease-in-out forwards
  }

  .arrow-link:not(.row-reverse):active .icon {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac;
    border-color: #fff;
    transition: .4s
  }

  .arrow-link:not(.row-reverse):active .icon__pdf::after {
    animation: link-scale .5s ease-in-out forwards;
    background-color: #fff;
    scale: 1.03;
    transition: .4s
  }

  .arrow-link.row-reverse:active .a-line {
    animation: a-line-rev .5s ease-in-out forwards
  }

  .arrow-link.row-reverse:active .a-tip {
    animation: a-tip-rev .5s ease-in-out forwards
  }

  .arrow-link.row-reverse:active .icon-link--l {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac
  }

  .arrow-link.row-reverse:active .arrow-link__text::after {
    animation: link-line .5s ease-in-out forwards
  }

  .arrow-link.row-reverse:active .icon {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac;
    border-color: #fff;
    transition: .4s
  }

  .arrow-link.row-reverse:active .icon__pdf::after {
    animation: link-scale .5s ease-in-out forwards;
    background-color: #fff;
    scale: 1.03;
    transition: .4s
  }

  .out-link:active .a-line {
    animation: a-line .5s ease-in-out forwards
  }

  .out-link:active .a-tip {
    animation: a-tip .5s ease-in-out forwards
  }

  .out-link:active .icon-link--l {
    animation: scale .5s ease-in-out forwards;
    background-color: #2c5fac
  }

  .out-link:active .out-link__text::after {
    animation: link-line .5s ease-in-out forwards
  }

  .megamenu__list li a:active {
    color: #2c5fac
  }

  .gnav-toggle:active {
    scale: 1.1
  }

  .news-text:active span {
    background-position: 0 100%;
    background-size: 100% 1px
  }

  .mt-site-search-result-item__link:active .mt-site-search-result-item__label {
    background-position: 0 100%;
    background-size: 100% 1px;
    color: #2c5fac
  }

  .mt-site-search-pagination-item__link:active {
    color: #2c5fac
  }

  .mt-site-search-pagination-item__link:active::before {
    color: #2c5fac
  }

  .sidebar .service-nav--pc__link:active {
    opacity: 1
  }

  .sidebar .tab:active .tab-icon {
    translate: 5px 0
  }

  .splide__arrow:active {
    background: #2c5fac
  }

  .splide__arrow--next:active {
    opacity: 1 !important
  }

  .splide__arrow--next:active svg {
    animation: next-arrow .7s cubic-bezier(.075, .82, .165, 1) forwards
  }

  .splide__arrow--next:active svg path {
    stroke: #fff !important
  }

  .splide__arrow--prev:active {
    opacity: 1 !important
  }

  .splide__arrow--prev:active svg {
    animation: prev-arrow .7s cubic-bezier(.075, .82, .165, 1) forwards
  }

  .splide__arrow--prev:active svg path {
    stroke: #fff !important
  }

  .topics-slider__arrow--next:active {
    opacity: 1 !important
  }

  .topics-slider__arrow--prev:active {
    opacity: 1 !important
  }

  .page-navigation__index a:active {
    color: #2c5fac
  }

  .page-navigation__button:active .txt {
    color: #2c5fac
  }

  .page-navigation__button:active .arrow {
    background-color: #2c5fac
  }

  .nolink .page-navigation__button:active .arrow {
    background-color: rgba(0, 0, 0, 0)
  }

  .page-navigation__button:active .arrow svg path {
    stroke: #fff !important
  }

  .nolink .page-navigation__button:active .arrow svg path {
    stroke: #6e6e6e !important
  }

  .search-sidebar .btn-blue:active {
    opacity: .8
  }

  .cds-intro__item a:active {
    opacity: .5
  }

  .top .kv__arrow--next:active {
    opacity: 1 !important
  }

  .top .kv__arrow--prev:active {
    opacity: 1 !important
  }

  .top .service-nav--pc__link:active {
    color: #303030
  }

  .top .service-nav--pc__link:active svg path {
    stroke: #2c5fac !important
  }
}

/*# sourceMappingURL=style.css.map */
