@charset "UTF-8";
/*======================================
    media query
======================================*/
/*======================================
    Font / Color
======================================*/
@font-face {
  font-family: "Alterbate Gothic No3 D";
  src: url("../fonts/alternate_gothic_no3_d.ttf");
}
/*======================================
    common
======================================*/
html {
  font-size: 10px;
  font-family: "Noto Sans JP", sans-serif;
  color: #3C3C3C;
}

body {
  background-color: #fff;
}

img {
  width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  cursor: pointer;
}
.news-cat.-release {
	color:#FF7F97;
}
.news-cat.-award {
	color:#FFAA72;
}


@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
.is-nowrap {
  white-space: nowrap;
}

@media screen and (max-width: 600px) {
  br.is-pc {
    display: none;
  }
}

br.is-sp {
  display: none;
}
@media screen and (max-width: 600px) {
  br.is-sp {
    display: block;
  }
}

.uppercase {
  text-transform: uppercase;
}

/*======================================
    inner
======================================*/
.inner {
  max-width: 1154px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .inner {
    width: 87.7%;
  }
}

.bg {
  background-color: #EDF8FE;
}

/*======================================
    box container
======================================*/
.left-box {
  background-image: linear-gradient(to right, #fff 0%, #fff 96%, rgba(255, 255, 255, 0) 96%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (min-width: 1600px) {
  .left-box {
    background-image: linear-gradient(to right, #fff 0%, #fff 90%, rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 0) 100%);
  }
}
@media screen and (max-width: 600px) {
  .left-box {
    background-image: unset;
  }
}

.left-box__inner {
  width: 84%;
  max-width: 1154px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .left-box__inner {
    width: 87.7%;
    background-color: #fff;
  }
}

.right-box {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 7.5%, #fff 7.5%, #fff 100%);
}

.right-box__inner {
  width: 74.1%;
  max-width: 1154px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .right-box__inner {
    width: 87.7%;
    background-color: #fff;
  }
}

/*======================================
    category service
======================================*/
.cat.-web_creation {
  color: #FF7F97;
}
.cat.-recruitment_consulting {
  color: #FFAA72;
}
.cat.-consulting {
  color: #FFDB69;
}
.cat.-sns_consulting {
  color: #8EEAA6;
}
.cat.-graphic_design {
  color: #84C8FC;
}
.cat.-movie_creation {
  color: #C29BF7;
}

.cat-box {
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.7142857143;
  padding: 0 1.43em;
  color: #fff !important;
  border-radius: 0.36em;
  min-width: 10.71em;
  text-align: center;
}
.cat-box.-web_creation {
  background-color: #FB8198;
}
.cat-box.-recruitment_consulting {
  background-color: #FCAA77;
}
.cat-box.-consulting {
  background-color: #FED972;
}
.cat-box.-sns_consulting {
  background-color: #8EEAA6;
}
.cat-box.-graphic_design {
  background-color: #87C9FA;
}
.cat-box.-movie_creation {
  background-color: #C09FF4;
}

/*======================================
    tag
======================================*/
.tags {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
  row-gap: 0.5em;
}
@media screen and (max-width: 600px) {
  .tags {
    column-gap: 1.2em;
  }
}

.tag {
  padding-left: 0.5em;
  position: relative;
}
.tag::before {
  content: "#";
  position: absolute;
  top: 0;
  left: 0;
}

/*======================================
    text
======================================*/
/*======================================
    title
======================================*/
.ttl30.-center,
.ttl35.-center {
  text-align: center;
}
.ttl30.-right,
.ttl35.-right {
  text-align: right;
}

.ttl30 {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .ttl30 {
    font-size: min(2.196193265vw, 3rem);
  }
}
@media screen and (max-width: 600px) {
  .ttl30 {
    font-size: min(7.6923076923vw, 3rem);
  }
}
.ttl35 {
  font-size: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .ttl35 {
    font-size: min(2.5622254758vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .ttl35 {
    font-size: min(8.9743589744vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .ttl35 {
    font-size: 2rem;
    line-height: 1.75;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .ttl35 {
    font-size: min(1.4641288433vw, 2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .ttl35 {
    font-size: min(5.1282051282vw, 2rem);
  }
}

.section-ttl1__container {
  font-size: 2.4rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl1__container {
    font-size: min(1.756954612vw, 2.4rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl1__container {
    font-size: min(6.1538461538vw, 2.4rem);
  }
}
.section-ttl1__container.-lg {
  font-size: 3.5rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl1__container.-lg {
    font-size: min(2.5622254758vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl1__container.-lg {
    font-size: min(8.9743589744vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl1__container.-lg {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl1__container.-lg {
    font-size: min(1.6105417277vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .section-ttl1__container.-lg {
    font-size: min(5.641025641vw, 2.2rem);
  }
}
.section-ttl1__container.-lg .ttl-en {
  font-size: 1.2rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl1__container.-lg .ttl-en {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl1__container.-lg .ttl-en {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl1__container {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl1__container {
    font-size: min(1.6105417277vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .section-ttl1__container {
    font-size: min(5.641025641vw, 2.2rem);
  }
}

.ttl-en {
  font-weight: 500;
  font-size: 0.5em;
  letter-spacing: 0.08em;
  color: #122A88;
}
@media screen and (max-width: 600px) {
  .ttl-en {
    font-size: 0.55em;
  }
}

.section-ttl1__lead {
  font-weight: 500;
  font-size: 0.71em;
  letter-spacing: 0.05em;
  line-height: 1.7647058824;
  padding-bottom: 0.4em;
  display: inline-block;
  border-bottom: 1px solid #707070;
  margin-top: 0.2em;
}
@media screen and (max-width: 600px) {
  .section-ttl1__lead {
    font-size: 0.73em;
    margin-top: 0.3em;
  }
}

.section-ttl1 {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.25;
  margin-top: 0.3em;
}
.section-ttl1.-border {
  border-bottom: 1px solid #707070;
  padding-bottom: 0.6em;
  display: inline-block;
}
@media screen and (max-width: 600px) {
  .section-ttl1 {
    margin-top: 0.5em;
  }
}

.section-ttl1__text {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7857142857;
  margin-top: 0.5em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl1__text {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl1__text {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.section-ttl2__container {
  text-align: center;
  font-size: 3.5rem;
  color: #122A88;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl2__container {
    font-size: min(2.5622254758vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl2__container {
    font-size: min(8.9743589744vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .section-ttl2__container {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .section-ttl2__container {
    font-size: min(1.6105417277vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .section-ttl2__container {
    font-size: min(5.641025641vw, 2.2rem);
  }
}

.section-ttl2_en {
  font-size: 0.34em;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .section-ttl2_en {
    font-size: 0.55em;
  }
}

.section-ttl2 {
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
  font-weight: 700;
  padding-bottom: 0.5em;
  margin-top: 0.1em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .section-ttl2 {
    margin-top: 0.25em;
    padding-bottom: 0.4em;
  }
}
.section-ttl2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4.26em;
  height: 1px;
  background-color: #122A88;
}
@media screen and (max-width: 600px) {
  .section-ttl2::before {
    width: 6.77em;
  }
}

/*======================================
    card
======================================*/
.works-cards {
  font-size: 1.4rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  column-gap: 2.43em;
  row-gap: 2em;
  max-width: 1154px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .works-cards {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .works-cards {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .works-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .works-cards {
    grid-template-columns: 1fr;
    row-gap: 2.43em;
  }
}

.works-card {
  font-size: 1.4rem;
  height: 100%;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .works-card {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .works-card {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.works-card__link {
  padding: 1.14em 1.14em 1.43em;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 0.36em;
  box-shadow: 0 0 1.07em rgba(0, 0, 0, 0.08);
  background-color: #fff;
  transition: box-shadow 0.3s ease, opacity 0.3s ease;
  overflow: hidden;
  position: relative;
}
.works-card__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E0E0E0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .works-card__link {
    padding: 1.14em 0.86em 1.7em;
  }
}
.works-card__link .cat-box {
  align-self: start;
}
.works-card__link:hover {
  box-shadow: none;
}
.works-card__link:hover::before {
  opacity: 0.36;
  visibility: visible;
}
.works-card__link:hover .works-card__img img {
  transform: scale(1.05);
}

.works-card__img {
  position: relative;
  border-radius: 0.36em;
  overflow: hidden;
  margin-bottom: 0.71em;
}
@media screen and (max-width: 600px) {
  .works-card__img {
    margin-bottom: 1.1em;
  }
}
.works-card__img::before {
  content: "";
  display: block;
  padding-top: 57.4468085106%;
  background-color: lightgray;
}
@media screen and (max-width: 600px) {
  .works-card__img::before {
    padding-top: 57.5471698113%;
  }
}
.works-card__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.works-card__tags {
  color: #122A88;
  letter-spacing: 0.08em;
  font-size: 0.86em;
  row-gap: 0.75em;
  margin-top: 0.67em;
}

.works-card__ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7857142857;
  margin-top: 0.9em;
  margin-bottom: 0.9em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.works-card__company {
  margin-top: auto;
  font-size: 0.86em;
  letter-spacing: 0.08em;
  color: #818181;
}

.blog-card {
  display: block;
}

.blog-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.3em 1.71em 1.64em 1.21em;
  box-shadow: 0 0 1.07em rgba(0, 0, 0, 0.08);
  transition: opacity 0.3s ease;
}
.blog-card__link:hover {
  opacity: 0.7;
}

.blog-card__img {
  position: relative;
  overflow: hidden;
  border-radius: 0.36em;
}
.blog-card__img::before {
  content: "";
  display: block;
  padding-top: 60.8333333333%;
  background-color: lightgray;
}
.blog-card__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card__date {
  color: #AFAFAF;
  letter-spacing: 0.08em;
  font-weight: 500;
  font-size: 0.86em;
  margin-top: 1.7em;
}

.blog-card__ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 0.5em;
}

.blog-card__tags {
  font-size: 0.86em;
  color: #44B1C5;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
  row-gap: 0.5em;
  margin-top: 1em;
  margin-bottom: 1.3em;
}

.blog-card__tag {
  letter-spacing: 0.08em;
}

.blog-card__like {
  margin-top: auto;
  width: 3.14em;
  height: 1.29em;
  background-color: lightgray;
}

/* 240203_縺薙％縺九ｉ */
.event__list.-row {
  width: 364px;
  box-shadow: 0 0px 15px rgba(0, 0, 0, 0.08);
  padding: 20px 16px 25px;
  border-radius: 5px;
  margin-bottom: 40px;
  background-color: #ffffff;
}

.event__list--thumb img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
}

.event__list--thumb {
  position: relative;
  padding-top: calc(187 / 332 * 100%);
  margin-bottom: 16px;
}

.event__list--date {
  font-size: 12px;
  font-weight: 500;
  color: #AFAFAF;
  padding-bottom: 5.8px;
}

.event__list--ttl {
  font-size: 14px;
  line-height: 24px;
  padding-bottom: 9.2px;
  font-weight: 700;
}

.event__list-cats {
  font-size: 12px;
  line-height: 17px;
  color: #44B1C5;
}
/* 240203_縺薙％縺ｾ縺ｧ */

.news__lists {
  max-width: 789px;
}
@media screen and (max-width: 600px) {
  .news__lists {
    margin-top: 0.79em;
  }
}

.news__list {
  border-bottom: 1px solid #CECECE;
}
.news__list.-row .news__list--link {
  display: flex;
  align-items: center;
  column-gap: 1em;
  padding-bottom: 1.5em;
}
@media screen and (max-width: 600px) {
  .news__list.-row .news__list--link {
    flex-wrap: wrap;
    padding-bottom: 1em;
  }
  .news__list.-row .news__list--link .news__list--ttl {
    margin-top: 0.2em;
    line-height: 1.7857142857;
    width: 100%;
  }
}
.news__list.-column .news__list--ttl {
  margin-top: 0.71em;
  padding-bottom: 1.86em;
}
@media screen and (max-width: 600px) {
  .news__list.-column .news__list--ttl {
    margin-top: 0.25em;
    padding-bottom: 0.9em;
  }
}
.news__list.-column .news__list--meta {
  column-gap: 1.25em;
}
@media screen and (max-width: 600px) {
  .news__list.-column .news__list--meta {
    column-gap: 0.5em;
  }
}

.news__list--link {
  padding-top: 2em;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 600px) {
  .news__list--link {
    padding-top: 1em;
  }
}
.news__list--link:hover {
  opacity: 0.7;
}

.news__list--meta {
  display: flex;
  align-items: center;
  column-gap: 0.5em;
}

.news__list--date {
  color: #AFAFAF;
  font-size: 0.86em;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.news-cat {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.71em;
  width: 5.43em;
  letter-spacing: 0.08em;
  border-radius: 0.36em;
  border: 1px solid;
}
.news-cat.-news {
  color: #31D1AE;
  border-color: #31D1AE;
}
.news-cat.-event {
  color: #CE64E2;
  border-color: #CE64E2;
}
.news-cat.-seminar {
  color: #FFAA72;
  border-color: #FFAA72;
}

.news__list--ttl {
  letter-spacing: 0.12em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 600px) {
  .news__list--ttl {
    -webkit-line-clamp: 2;
  }
}

.case-cards {
  font-size: 1.4rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .case-cards {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .case-cards {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.case-card:nth-child(n+2) {
  margin-top: 3.67em;
}
@media screen and (max-width: 600px) {
  .case-card:nth-child(n+2) {
    margin-top: 1.5em;
  }
}

.case-card__link {
  background-color: #fff;
  padding: 2.29em 4.85% 3.36em 4.1%;
  display: grid;
  grid-template-columns: 45.48% auto;
  column-gap: 4.6%;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}
.case-card__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E0E0E0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 2;
}
.case-card__link:hover::before {
  opacity: 0.36;
  visibility: visible;
}
.case-card__link:hover .case-card__img img {
  transform: scale(1.05);
}
@media screen and (max-width: 600px) {
  .case-card__link {
    grid-template-columns: 1fr;
    row-gap: 0.86em;
    padding: 1em 1em 1.5em;
  }
}

.case-card__img {
  height: 100%;
  background-color: lightgray;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .case-card__img {
    position: relative;
  }
  .case-card__img::before {
    content: "";
    display: block;
    padding-top: 63.2075471698%;
  }
}
.case-card__img img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 600px) {
  .case-card__img img {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.case-card__head {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.43em;
}
@media screen and (max-width: 600px) {
  .case-card__head {
    row-gap: 1em;
  }
}

.case-card__cats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em;
}

.case-card__cat {
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: 0.35em 1.57em;
  border-radius: 0.36em;
  background-color: #FCAA77;
  color: #fff;
}
.case-card__cat.-web_creation {
  background-color: rgb(251, 129, 152);
}
.case-card__cat.-corporate {
  background-color: rgba(251, 129, 152, 0.8);
}
.case-card__cat.-ec {
  background-color: rgba(251, 129, 152, 0.6);
}
.case-card__cat.-recruitment {
  background-color: rgba(251, 129, 152, 0.4);
}
.case-card__cat.-recruitment_consulting {
  background-color: rgb(252, 170, 119);
}
.case-card__cat.-hr {
  background-color: rgba(252, 170, 119, 0.8);
}
.case-card__cat.-pr {
  background-color: rgba(252, 170, 119, 0.6);
}
.case-card__cat.-strategy {
  background-color: rgba(252, 170, 119, 0.4);
}
.case-card__cat.-consulting {
  background-color: rgb(254, 217, 114);
}
.case-card__cat.-seo {
  background-color: rgba(254, 217, 114, 0.7);
}
.case-card__cat.-web {
  background-color: rgba(254, 217, 114, 0.5);
}
.case-card__cat.-sns_consulting {
  background-color: rgb(142, 234, 166);
}
.case-card__cat.-instagram {
  background-color: rgba(142, 234, 166, 0.7);
}
.case-card__cat.-twitter {
  background-color: rgba(142, 234, 166, 0.5);
}
.case-card__cat.-graphic_design {
  background-color: rgb(135, 201, 250);
}
.case-card__cat.-flyer {
  background-color: rgba(135, 201, 250, 0.8);
}
.case-card__cat.-pamphlet {
  background-color: rgba(135, 201, 250, 0.6);
}
.case-card__cat.-logo {
  background-color: rgba(135, 201, 250, 0.4);
}
.case-card__cat.-card {
  background-color: rgba(135, 201, 250, 0.2);
}
.case-card__cat.-movie_creation {
  background-color: rgb(192, 159, 244);
}
.case-card__cat.-corporate-movie_creation {
  background-color: rgba(192, 159, 244, 0.8);
}
.case-card__cat.-branding {
  background-color: rgba(192, 159, 244, 0.6);
}
.case-card__cat.-product {
  background-color: rgba(192, 159, 244, 0.4);
}

.case-card__tags {
  font-size: 0.857em;
  color: #122A88;
  letter-spacing: 0.08em;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
  line-height: 2;
}

.case-card__ttl {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
  margin-top: 0.75em;
  padding-bottom: 0.71em;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 600px) {
  .case-card__ttl {
    font-size: 1.14em;
    line-height: 1.5625;
    margin-right: -0.5em;
    margin-top: 0.5em;
    padding-bottom: 0.6em;
  }
}

.case-card__client {
  text-align: right;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7857142857;
  margin-top: 0.5em;
}
@media screen and (max-width: 600px) {
  .case-card__client {
    margin-top: 0.25em;
  }
}

.case-card__text {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  margin-top: 0.75em;
}
@media screen and (max-width: 600px) {
  .case-card__text {
    line-height: 1.5714285714;
    letter-spacing: 0.14em;
    margin-top: 1.2em;
    margin-right: -0.5em;
  }
}

/*======================================
    bar
======================================*/
.js-slideToggle.is-active .bars .bars__wrap .bar2 {
  transform: translate(-50%, -50%);
}
.js-slideToggle .bars {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  display: block;
}
.js-slideToggle .bars__wrap {
  position: relative;
  width: 1.5625em;
  height: 1.5625em;
}
.js-slideToggle .bar {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0.1875em;
  transition: transform 0.3s ease;
}
.js-slideToggle .bar2 {
  transform: translate(-50%, -50%) rotate(90deg);
}

/*======================================
    tab
======================================*/
.tab-btn:hover,
.tab-btn2:hover {
  cursor: pointer;
}

.tab-area {
  display: none;
}
.tab-area.show {
  display: block;
  animation: tab 1s ease;
}

@keyframes tab {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*======================================
    page
======================================*/
.p-simple-mv {
  position: relative;
  z-index: 1;
}
.p-simple-mv .inner {
  padding: 5.75em 0 5.875em;
}
@media screen and (max-width: 600px) {
  .p-simple-mv .inner {
    padding: 4em 0 2em;
  }
}

.p-simple-mv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.p-simple-mv__bg img {
  height: 100%;
  object-fit: cover;
  background-color: lightgray;
}

.p-breadcrumb {
  font-size: 1.2rem;
  text-align: right;
  color: #393A43;
  margin-top: 2.167em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .p-breadcrumb {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .p-breadcrumb {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .p-breadcrumb {
    margin-top: 1.25em;
  }
}
.p-breadcrumb .breadcrumb {
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .p-breadcrumb .breadcrumb {
    font-weight: 400;
  }
}

/*======================================
    form
======================================*/
.form {
  font-size: 1.4rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .form {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .form {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.contact__note {
  font-size: 0.86em;
  line-height: 2.0833333333;
  letter-spacing: 0.05em;
}
.contact__note span {
  color: red;
}

.form-lists {
  margin-top: 1.43em;
}

.form-list:nth-child(n+2) {
  margin-top: 2.21em;
}
@media screen and (max-width: 600px) {
  .form-list:nth-child(n+2) {
    margin-top: 1.7em;
  }
}
.form-list:last-child {
  margin-bottom: 1.57em;
}
@media screen and (max-width: 600px) {
  .form-list:last-child {
    margin-bottom: 1em;
  }
}

.form .-row {
  display: grid;
  grid-template-columns: 9.57em auto;
}
@media screen and (max-width: 600px) {
  .form .-row {
    grid-template-columns: 1fr;
    row-gap: 0.75em;
  }
}
.form dt {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.8571428571;
}
@media screen and (max-width: 600px) {
  .form dt {
    line-height: 1;
  }
}
.required {
  display: inline-block;
  position: relative;
}
.required::before {
  content: "*";
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(100%, -2%);
  color: red;
}

.form-input input,
.form-input textarea,
.form-input select {
  box-shadow: none;
  border: 1px solid rgba(27, 34, 76, 0.5);
  background: #F9F9F9;
  padding: 0.475em 1.125em;
  display: flex;
  align-items: center;
  height: 2.5em;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  color: #3C3C3C;
  font-family: inherit;
  font-size: 16px;
  width: 100%;
}
.form-input select {
  background: #F9F9F9 url(../img/common/contact_arrow.svg) no-repeat center right 17px/9px 6px;
  height: 2.5em;
  font-size: 16px;
}
.form-input select.js-select {
  color: #A0A0A0;
  font-size: 12px;
  height: 3.33em;
}
.form-input textarea {
  height: 175px;
  resize: vertical;
}
.form-input input::placeholder,
.form-input textarea::placeholder,
.form-input select::placeholder,
.form-input option {
  color: #A0A0A0;
  font-size: 12px;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

.form-column2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.125em;
}
@media screen and (max-width: 600px) {
  .form-column2 {
    grid-template-columns: 1fr;
    row-gap: 1em;
  }
}

.input__check {
  line-height: 1.7857142857;
  letter-spacing: 0.05em;
}
.input__check input {
  display: none;
}
.input__check input:checked + span.mwform-checkbox-field-text::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(-20%) rotate(-45deg);
}
.input__check span.mwform-checkbox-field-text {
  display: block;
  padding-left: 2.6em;
  margin-left: 0.25em;
  font-weight: 500;
  position: relative;
}
.input__check span.mwform-checkbox-field-text::before {
  content: "";
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 1.21em;
  height: 1.21em;
  border: 1px solid #707070;
}
.input__check span.mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  top: 0.35em;
  left: 0.2em;
  width: 1.5em;
  height: 0.5em;
  border-bottom: 2px solid #122A88;
  border-left: 2px solid #122A88;
  transform: translateY(-20%) rotate(-30deg);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
.input__check span.mwform-checkbox-field-text a {
  display: inline-block;
  color: #3793AF;
  font-weight: 500;
  position: relative;
}
.input__check span.mwform-checkbox-field-text a::before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #3793AF;
}
@media screen and (max-width: 600px) {
  .input__check span.mwform-checkbox-field-text a::before {
    bottom: 3px;
  }
}

.input-submit input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: 17px;
  border: none;
  background: #122A88;
  font-weight: 700;
  color: #fff;
  padding: 1.075em 0;
  width: 100%;
  max-width: 100%;
  letter-spacing: 0.08em;
  display: block;
  border-radius: 5px;
  box-shadow: none;
  transition: opacity 0.3s ease;
}
.input-submit input:hover {
  opacity: 0.7;
}

.back-btn {
  margin-top: 2em;
}
.back-btn button {
  border: none;
  background-color: #fff;
  font-size: 1em;
  color: #A0A0A0;
  letter-spacing: 0.05em;
}

.mw_wp_form_preview .form.-row {
  align-items: center;
}

/*======================================
    thanks
======================================*/
.thanks {
  font-size: 1.6rem;
  padding: 5.6875em 0 7.875em;
  background: url(../img/page/thanks_bg.jpg) no-repeat left top/cover;
  text-align: center;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .thanks {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .thanks {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (min-width: 1366px) {
  .thanks {
    padding: 6.6617862372vw 0 9.224011713vw;
    background: url(../img/page/thanks_bg.jpg) no-repeat left top 40%/cover;
  }
}
@media screen and (max-width: 600px) {
  .thanks {
    font-size: 1.4rem;
    padding: 9em 0 190px;
    background: url(../img/page/thanks_bg_sp.jpg) no-repeat left 8% bottom/cover;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .thanks {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .thanks {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.thanks__ttl {
  font-size: 2.1875em;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
}
@media screen and (max-width: 600px) {
  .thanks__ttl {
    font-size: 1.57em;
    line-height: 1.3636363636;
    letter-spacing: 0.05em;
  }
}

.thanks__text {
  letter-spacing: 0.08em;
  line-height: 2.1875;
  margin-top: 1em;
}
.thanks__text span.mr-1 {
  display: inline-block;
  margin-right: -1em;
}
@media screen and (max-width: 600px) {
  .thanks__text {
    letter-spacing: 0.15em;
    line-height: 2;
    margin-top: 0.25em;
  }
}

.thanks__info--container {
  margin-top: 3em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .thanks__info--container {
    margin-top: 1.85em;
  }
}
.thanks__info--container::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(214%, -53%);
  width: 11.875em;
  height: 15.875em;
  background: url(../img/common/charactor_onepage2.png) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .thanks__info--container::before {
    top: unset;
    bottom: 0;
    transform: translate(50%, 110%);
    z-index: 2;
    width: 10.71em;
    height: 14.29em;
  }
}

.thanks__info--tel {
  font-size: 2.1875em;
  letter-spacing: 0.08em;
  color: #122A88;
}
@media screen and (max-width: 600px) {
  .thanks__info--tel {
    font-size: 2.5em;
  }
}
.thanks__info--tel a {
  display: inline-block;
  font-weight: 700;
  padding-left: 0.74em;
  position: relative;
}
.thanks__info--tel a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0.6em;
  height: 0.89em;
  background: url(../img/icon/icon_tel_blue.svg) no-repeat center/contain;
}

.thanks__info--hours {
  color: #122A88;
  font-size: 0.75em;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.9166666667;
}
@media screen and (max-width: 600px) {
  .thanks__info--hours {
    font-size: 0.86em;
    line-height: 2.5;
  }
}

.thanks__info--btn {
  margin-top: 1.75em;
}
@media screen and (max-width: 600px) {
  .thanks__info--btn {
    margin-top: 1.2em;
  }
}
.thanks__info--btn a {
  font-size: 0.9375em;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #15238A;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 0.33em;
  max-width: 90%;
  width: 22.8em;
  height: 3.067em;
  border: 1px solid #15238A;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 600px) {
  .thanks__info--btn a {
    font-size: 1.07em;
    width: 19em;
  }
}
.thanks__info--btn a:hover {
  background-color: #15238A;
  color: #fff;
}

/*======================================
    404
======================================*/
.page-404 {
  padding: 10.55em 0 9.75em;
  background: url(../img/page/404_bg.jpg) no-repeat center center/cover;
}
@media screen and (max-width: 600px) {
  .page-404 {
    padding-top: 10em;
  }
}

@media screen and (max-width: 600px) {
  .page-404__ttl {
    margin-right: -0.5em;
    margin-left: -0.5em;
  }
}
.page-404__ttl span {
  display: inline-block;
  margin-top: 0.2em;
}
@media screen and (max-width: 600px) {
  .page-404__ttl span {
    font-size: 1.14em;
    margin-top: 0.25em;
    letter-spacing: 0.08em;
  }
}

.page-404__text {
  margin-top: 2.45em;
}
@media screen and (max-width: 600px) {
  .page-404__text {
    margin-top: 1em;
  }
}

.page-404__btn {
  margin-top: 5.2em;
}
@media screen and (max-width: 600px) {
  .page-404__btn {
    margin-top: 2.2em;
  }
}

/*======================================
    archive
======================================*/
.archive-pagination__container {
  font-size: 1.6rem;
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 8.875em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 0.78em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .archive-pagination__container {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .archive-pagination__container {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .archive-pagination__container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1em;
    row-gap: 1.4375em;
    margin-top: 2.25em;
  }
}

.archive-pagination-text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.875em;
  max-width: 19.25em;
  width: 100%;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
  color: #fff;
  border-radius: 0.3125em;
  background-color: #122A88;
}
@media screen and (max-width: 600px) {
  .archive-pagination-text {
    grid-row: 2/3;
  }
  .archive-pagination-text.-prev {
    grid-column: 1/2;
  }
  .archive-pagination-text.-next {
    grid-column: 2/3;
    margin-left: auto;
  }
}
.archive-pagination-text a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.875em;
  max-width: 19.25em;
  width: 100%;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
  color: #fff;
  border-radius: 0.3125em;
  background-color: #122A88;
}
.archive-pagination-text.-inactive {
  background-color: #DBDBDB;
}
.archive-pagination-text.-inactive a {
  background-color: #DBDBDB;
}

.archive-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .archive-pagination {
    grid-row: 1/2;
    grid-column: 1/3;
  }
}
.archive-pagination span,
.archive-pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6875em;
  height: 2.6875em;
  font-weight: 700;
  border-radius: 50%;
  margin: 0 0.78em;
}
@media screen and (max-width: 600px) {
  .archive-pagination span,
  .archive-pagination a {
    width: 2.1875em;
    height: 2.1875em;
    margin: 0 0.5em;
  }
}
.archive-pagination span.current {
  color: #fff;
  background-color: #122A88;
}
.archive-pagination a {
  transition: opacity 0.3s ease;
}
.archive-pagination a:hover {
  opacity: 0.7;
}

/*======================================
    single
======================================*/
.s-breadcrumb {
  padding-top: 2em;
  margin-bottom: 6.17em;
}
.s-breadcrumb .breadcrumb.-color {
  color: #393A43;
}
@media screen and (max-width: 600px) {
  .s-breadcrumb {
    padding-top: 3.2em;
    margin-bottom: 3em;
  }
}

.article-news h1 {
  font-size: 1.71em;
  font-weight: 700;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
  color: #122A88;
  padding-right: 1em;
  border-bottom: 1px solid #AFAFAF;
  padding-bottom: 0.75em;
  margin-top: -0.23em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .article-news h1 {
    font-size: 1.57em;
    padding-right: 0;
    line-height: 1.5909090909;
    letter-spacing: 0.08em;
    padding-bottom: 0.35em;
  }
}
.article-news h1::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 2.92em;
  height: 1px;
  background-color: #122A88;
}
.article-news .article__meta {
  margin-top: 1.36em;
  display: flex;
  align-items: center;
  column-gap: 1em;
  margin-bottom: 2.57em;
}
.article-news .article__meta .date {
  color: #AFAFAF;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .article-news .article__meta .date {
    font-size: 0.86em;
  }
}
@media screen and (max-width: 600px) {
  .article-news .article__meta {
    margin-bottom: 1.5em;
  }
}
.article-news .article__contents {
  display: flex;
  flex-direction: column;
  row-gap: 2em;
}
.article-news .article__contents p {
  line-height: 2.1428571429;
  letter-spacing: 0.1em;
}

.s-news__btn {
  margin-top: 5em;
}
@media screen and (max-width: 600px) {
  .s-news__btn {
    margin-top: 2em;
  }
  .s-news__btn .section-btn {
    margin-left: auto !important;
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .s-news__btn .section-btn {
    width: 19.875em;
    max-width: 95%;
  }
}

.single-eyecatch {
  margin: 3em 0 2em;
}
.single-eyecatch img {
  height: auto;
}

/*======================================
    sidebar
======================================*/
.single-inner {
  max-width: 1200px;
}

.sidebar-wrap {
  display: flex;
  font-size: 1.4rem;
  justify-content: space-between;
  padding-bottom: 9.71em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .sidebar-wrap {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .sidebar-wrap {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .sidebar-wrap {
    flex-direction: column;
    row-gap: 3.43em;
    padding-bottom: 5.71em;
  }
}

.sidebar-contents {
  max-width: 58.36em;
  width: calc(100% - 20em - 5%);
}
@media screen and (max-width: 600px) {
  .sidebar-contents {
    width: 100%;
  }
}

.sidebar {
  width: 20em;
}
@media screen and (max-width: 600px) {
  .sidebar {
    width: 100%;
  }
}

.sidebar__ttl {
  font-size: 1.21em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7647058824;
  color: #122A88;
  padding-bottom: 0.5em;
  position: relative;
}
.sidebar__ttl::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: url(../img/service/line_dot.svg) repeat-x;
}

.sidebar-news__lists {
  margin-top: 1.57em;
  font-size: 1.2rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .sidebar-news__lists {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .sidebar-news__lists {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}
.sidebar-news__lists .news__list {
  border: none;
}
.sidebar-news__lists li:nth-child(n+2) {
  margin-top: 1.5em;
}

.sidebar-news__list:nth-child(n+2) {
  margin-top: 1.71em;
}
.sidebar-news__list a {
  display: block;
  transition: opacity 0.3s ease;
}
.sidebar-news__list a:hover {
  opacity: 0.7;
}
.sidebar-news__list h3 {
  font-weight: 700;
  line-height: 1.7857142857;
  letter-spacing: 0.05em;
}
.sidebar-news__list p {
  color: #AFAFAF;
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.08em;
}

.case__container {
  font-size: 1.4rem;
  padding-bottom: 17.43em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .case__container {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .case__container {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .case__container {
    padding-bottom: 2.86em;
  }
}

.sidebar__document-cards {
  margin-top: 2em;
}
.sidebar__document-cards .document-card:nth-child(n+2) {
  margin-top: 2em;
}
.sidebar__document-cards .document-cat {
  font-size: 0.8em;
}

/*======================================
    page
======================================*/
.page-ttl__container h2 {
  font-size: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4285714286;
  padding-bottom: 0.4em;
  border-bottom: 1px solid #000;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .page-ttl__container h2 {
    font-size: min(2.5622254758vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .page-ttl__container h2 {
    font-size: min(8.9743589744vw, 3.5rem);
  }
}
@media screen and (max-width: 600px) {
  .page-ttl__container h2 {
    font-size: 2.2rem;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin-top: 0.1em;
    padding-bottom: 0.6em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .page-ttl__container h2 {
    font-size: min(1.6105417277vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .page-ttl__container h2 {
    font-size: min(5.641025641vw, 2.2rem);
  }
}
.page-ttl__container p {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.1428571429;
  margin-top: 1.25em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .page-ttl__container p {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .page-ttl__container p {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
.page-ttl__container p.regular {
  font-weight: 400;
}
@media screen and (max-width: 600px) {
  .page-ttl__container p {
    line-height: 1.7857142857;
    margin-top: 1em;
  }
}

.page-ttl__en {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.9166666667;
  color: #15238A;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .page-ttl__en {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .page-ttl__en {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .page-ttl__en {
    line-height: 2;
  }
}

/*======================================
    header
======================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  font-size: min(1.1713030747vw, 1.6rem);
  z-index: 300;
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .header {
    font-size: 1.4rem;
    background-color: #122A88;
  }
}
@media screen and (max-width: 1024px) and (min-width: 601px) and (max-width: 1024px) {
  .header {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 1024px) and (max-width: 600px) {
  .header {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 1024px) {
  .header.is-shadow {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
}
@media screen and (min-width: 1025px) {
  .header.js-hide {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-105%);
  }
}

.h__inner {
  width: 98%;
  max-width: 1324px;
  margin-left: auto;
  margin-right: auto;
  height: 5.375em;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .h__inner {
    width: 94%;
    height: 4.36em;
    padding-right: 4.29em;
  }
}

.h__logo {
  width: 7.875em;
}
@media screen and (max-width: 1024px) {
  .h__logo {
    width: 8.5em;
  }
}
.h__logo a {
  display: block;
}

.h__nav--container {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.h__links {
  display: flex;
  column-gap: 1.875em;
}
@media screen and (max-width: 1024px) {
  .h__links {
    display: none;
  }
}

.h__link a {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5625;
  display: block;
  position: relative;
  padding: 1em 0;
}
.h__link a::before {
  content: "";
  position: absolute;
  bottom: 0.375em;
  left: 0;
  width: 100%;
  height: 0.25em;
  background-color: #15238A;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: width 0.3s ease, transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.h__link.is-show a::before {
  width: 108%;
  transform: scale(1, 1);
}
.h__link:hover a::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.h-sublinks__parent {
  position: relative;
}
.h-sublinks__parent:hover .h-sublinks {
  opacity: 1;
  visibility: visible;
  transform: translateY(100%);
}

.h-sublinks {
  position: absolute;
  bottom: 0;
  left: -1em;
  background-color: #fff;
  transform: translateY(70%);
  padding: 0em 1em 1em;
  width: 12em;
  font-size: 0.875em;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.h-sublink a {
  display: block;
  line-height: 2;
  padding: 0;
  transition: color 0.3s ease, opacity 0.3s ease;
}
.h-sublink a::before {
  display: none;
}
.h-sublink a:hover {
  color: #122A88;
}

.h__contact--wrap {
  text-align: center;
  margin-left: 2em;
}
@media screen and (max-width: 1024px) {
  .h__contact--wrap {
    font-size: 1.14em;
    border-radius: 0.3125em;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 2.215em;
    padding: 0 0.6875em;
    margin-left: 0.5em;
  }
}
.h__contact--wrap p {
  font-size: 0.75em;
  letter-spacing: 0.15em;
  margin-top: 0.4em;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .h__contact--wrap p {
    font-size: 0.5em;
  }
}

.h__tel {
  display: block;
  font-size: 1.25em;
  font-weight: 700;
  font-family: "貂ｸ繧ｴ繧ｷ繝�け菴�", YuGothic, "貂ｸ繧ｴ繧ｷ繝�け Medium", "Yu Gothic Medium", "貂ｸ繧ｴ繧ｷ繝�け", "Yu Gothic", sans-serif;
  letter-spacing: 0.05em;
  padding-left: 1.15em;
  position: relative;
  font-family: "貂ｸ繧ｴ繧ｷ繝�け菴�", YuGothic, "貂ｸ繧ｴ繧ｷ繝�け Medium", "Yu Gothic Medium", "貂ｸ繧ｴ繧ｷ繝�け", "Yu Gothic", sans-serif;
}
@media screen and (max-width: 1024px) {
  .h__tel {
    font-size: 1em;
    white-space: nowrap;
    padding-left: 0.75em;
  }
}
.h__tel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.7em;
  height: 1.05em;
  background: url(../img/icon/icon_tel_gray.svg) no-repeat center/contain;
}
@media screen and (max-width: 1024px) {
  .h__tel::before {
    width: 0.5625em;
    height: 0.8125em;
  }
}

.h-btns__container {
  margin-left: 1.75em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .h-btns__container {
    display: none;
  }
}

.h-contact__count--wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: translateY(100%);
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}
.h-contact__count--wrap.is-show {
  visibility: visible;
  opacity: 1;
}

.h-contact__count {
  display: block;
  color: #fff;
  background-color: #2FB1C8;
  text-align: center;
  font-size: 0.875em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0.57em 0.5em 0.78em;
  border-radius: 0 0 0.36em 0.36em;
}
.h-contact__count span {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.h__btns {
  display: flex;
  column-gap: 0.875em;
}
@media screen and (max-width: 1024px) {
  .h__btns {
    display: none;
  }
}

.h__btn {
  position: relative;
  transition: background-color 0.3s ease;
}
.h__btn.-contact:hover {
  background-color: #2FB1C8;
  border-radius: 0.3125em 0.3125em 0 0;
}
.h__btn a {
  display: flex;
  align-items: center;
  height: 3.125em;
  color: #fff;
  letter-spacing: 0.08em;
  font-weight: 500;
  border-radius: 0.3125em;
  padding: 0 1em;
  transition: opacity 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
.h__btn a.download {
  background-color: #122A88;
}
.h__btn a.download:hover {
  opacity: 0.7;
}
.h__btn a.contact {
  border: 2px solid #2FB1C8;
  background-color: #2FB1C8;
}
.h__btn a.contact:hover {
  background-color: #fff;
  color: #2FB1C8;
}

.d-icon {
  display: none;
}
@media screen and (max-width: 1024px) {
  .d-icon {
    font-size: 1.6rem;
    display: block;
    position: fixed;
    top: 1.25em;
    right: 0.8125em;
    z-index: 400;
  }
}
@media screen and (max-width: 1024px) and (min-width: 601px) and (max-width: 1024px) {
  .d-icon {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 1024px) and (max-width: 600px) {
  .d-icon {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 1024px) {
  .d-icon.is-active .bar1 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .d-icon.is-active .bar2 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .d-icon.is-active .bar3 {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}

.d-icon__bar {
  position: relative;
  width: 2.4375em;
  height: 1.4375em;
}

.bar {
  position: absolute;
  left: 50%;
  width: 100%;
  height: 0.125em;
  background-color: #fff;
  transition: top 0.3s ease, transform 0.3s ease;
}

.bar1 {
  top: 0;
  transform: translateX(-50%);
}

.bar2 {
  top: 50%;
  transform: translate(-50%, -50%);
}

.bar3 {
  top: 100%;
  transform: translate(-50%, -100%);
}

.d-contents {
  display: none;
}
@media screen and (max-width: 1024px) {
  .d-contents {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: scroll;
    background-color: #122A88;
    z-index: 200;
    font-size: 1.4rem;
    padding-top: 6.71em;
    padding-bottom: 3.29em;
    transform: translateX(105%);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
  }
}
@media screen and (max-width: 1024px) and (min-width: 601px) and (max-width: 1024px) {
  .d-contents {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 1024px) and (max-width: 600px) {
  .d-contents {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 1024px) {
  .d-contents.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
}

.d__lists {
  color: #fff;
}

.d__list {
  padding-top: 2.86em;
  padding-bottom: 2em;
  border-bottom: 1px solid #fff;
}
.d__list:nth-child(n+2) {
  padding-top: 3.21em;
  padding-bottom: 1.75em;
}

.d__list--main {
  display: block;
  position: relative;
  font-size: 1.14em;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.d__list--main span {
  position: absolute;
  bottom: 0;
  left: 0;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  z-index: -1;
  opacity: 0.15;
  font-size: 3.75em;
  letter-spacing: 0.01em;
  transform: translate(-2%, 22%);
  line-height: 1;
  white-space: nowrap;
}

.d__links {
  line-height: 2.8571428571;
  letter-spacing: 0.08em;
  margin-top: 0.5em;
}

.d__link a {
  display: block;
}

/*======================================
    footer
======================================*/
.f-contact {
  background: url(../img/common/f-cta_bg.jpg) no-repeat center/cover;
  padding: 6.25em 0;
  position: relative;
  z-index: 1;
  font-size: min(1.1713030747vw, 1.6rem);
  color: #fff;
}
@media screen and (max-width: 600px) {
  .f-contact {
    font-size: 1.4rem;
    padding: 86px 0 64px;
    padding: 3.57em 0 4.57em;
    background: url(../img/common/f-cta_bg_sp.jpg) no-repeat center/cover;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .f-contact {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .f-contact {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
.f-contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.68);
}

.f-contact__container {
  display: grid;
  grid-template-columns: 26.25em auto;
  column-gap: 4.75em;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .f-contact__container {
    display: block;
  }
}

.f-contact__info--lead {
  font-size: 1.3125em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.619047619;
  padding-bottom: 1.3em;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 600px) {
  .f-contact__info--lead {
    text-align: center;
    font-size: 1.14em;
    padding-bottom: 0.75em;
  }
}

@media screen and (max-width: 600px) {
  .f-contact__info--wrap {
    text-align: center;
    border-bottom: 1px solid #fff;
    padding-bottom: 1.14em;
  }
}

.f-contact__info--text {
  margin-top: 1.6em;
  font-size: 1.0625em;
  line-height: 1.4705882353;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 600px) {
  .f-contact__info--text {
    font-size: 1.21em;
    margin-top: 0.8em;
  }
}

.f-contact__info--tel {
  display: block;
  font-size: 3.1875em;
  padding-left: 0.67em;
  font-weight: 700;
  letter-spacing: 0.063em;
  color: #3DB1C6;
  margin-top: 0.05em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .f-contact__info--tel {
    display: inline-block;
    font-size: 3em;
    white-space: nowrap;
    margin-top: 0.1em;
  }
}
.f-contact__info--tel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.53em;
  height: 0.76em;
  background: url(../img/icon/icon_tel.svg) no-repeat center/contain;
}

.f-contact__info--hours {
  font-size: 0.875em;
  letter-spacing: 0.08em;
  margin-top: 1.2em;
}
@media screen and (max-width: 600px) {
  .f-contact__info--hours {
    font-size: 1em;
  }
}

@media screen and (max-width: 600px) {
  .f-contact__lists {
    margin-top: 40px;
  }
}

.f-contact__list:nth-child(n+2) {
  margin-top: 5.5em;
}
@media screen and (max-width: 600px) {
  .f-contact__list:nth-child(n+2) {
    margin-top: 3.75em;
  }
}
.f-contact__list:nth-child(n+2) .f-cta__btn {
  margin-top: 1.5em;
}
.f-contact__list dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 1em;
}
@media screen and (max-width: 600px) {
  .f-contact__list dl {
    flex-direction: column;
  }
}
@media screen and (max-width: 600px) {
  .f-contact__list dl dt, .f-contact__list dl dd {
    text-align: center;
  }
}
.f-contact__list dl dt {
  font-size: 1.5em;
  width: 10.42em;
  margin-right: 0.5em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.25;
  white-space: nowrap;
}
@media screen and (max-width: 600px) {
  .f-contact__list dl dt {
    width: 100%;
    font-size: 1.57em;
  }
}
.f-contact__list dl dd {
  width: 23.625em;
  max-width: 100%;
  letter-spacing: 0.05em;
  line-height: 1.5625;
  margin-top: -0.28125em;
}
@media screen and (max-width: 600px) {
  .f-contact__list dl dd {
    width: 100%;
    margin-top: 0.6em;
    line-height: 1.7857142857;
    margin-top: 0;
  }
}

.f-contact__btn {
  margin-top: 1.5em;
  font-size: 1.125em;
  font-weight: 700;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.33em;
  border-radius: 5px;
  color: #000;
  background-color: #fff;
  position: relative;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 600px) {
  .f-contact__btn {
    width: 290px;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    justify-content: start;
    padding-left: 1.1875em;
    margin-top: 1.1em;
    font-size: 1.14em;
    height: 3.75em;
    font-weight: 500;
  }
}
.f-contact__btn:hover {
  opacity: 0.7;
}
.f-contact__btn:hover::before {
  right: 3em;
}
@media screen and (max-width: 600px) {
  .f-contact__btn:hover::before {
    right: 0.5em;
  }
}
.f-contact__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.22em;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background: url(../img/icon/icon_arrow_lightblue.svg) no-repeat center/contain;
  transition: right 0.3s ease;
}
@media screen and (max-width: 600px) {
  .f-contact__btn::before {
    right: 0.8em;
  }
}

.f-bg {
  background-color: #F5F5F5;
  padding: 5.57em 0 2.71em;
  font-size: min(1.0248901903vw, 1.4rem);
}
@media screen and (max-width: 600px) {
  .f-bg {
    font-size: 1.4rem;
    padding: 2.57em 0 1.43em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .f-bg {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .f-bg {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .f-bg .inner {
    display: flex;
    flex-direction: column;
  }
}

.f__wrap {
  display: flex;
  flex-direction: row-reverse;
  column-gap: 9.45%;
}
@media screen and (max-width: 600px) {
  .f__wrap {
    display: contents;
  }
}

.f__links--container {
  width: calc(100% - 21.43em - 9.45%);
}
@media screen and (max-width: 600px) {
  .f__links--container {
    width: 100%;
    order: 1;
  }
}

.f__list {
  display: grid;
  grid-template-columns: 14em auto;
  border-bottom: 1px solid #A0A0A0;
  padding-bottom: 1.65em;
}
@media screen and (max-width: 600px) {
  .f__list {
    display: block;
    padding-bottom: 1.5em;
  }
}
.f__list:nth-child(n+2) {
  padding-top: 2.4em;
}
@media screen and (max-width: 600px) {
  .f__list:nth-child(n+2) {
    padding-top: 1.4em;
  }
}
.f__list:first-child {
  padding-top: 0.79em;
  padding-bottom: 2.5em;
}
@media screen and (max-width: 600px) {
  .f__list:first-child {
    padding-bottom: 1.75em;
  }
}
.f__list a {
  transition: opacity 0.3s ease;
}
.f__list a:hover {
  opacity: 0.7;
}

.f__list--link {
  display: block;
  font-weight: 700;
  font-size: 1.21em;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media screen and (max-width: 600px) {
  .f__list--link {
    font-size: 1.14em;
  }
}

.f__links {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
  color: #A0A0A0;
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  margin-top: -0.57em;
}
@media screen and (max-width: 600px) {
  .f__links {
    margin-top: 0.6em;
    display: block;
    line-height: 2.8571428571;
  }
}
.f__links.-service {
  margin-right: -1em;
}
@media screen and (max-width: 600px) {
  .f__links.-service {
    margin-right: 0;
  }
}
.f__links.-news {
  max-width: 301px;
}
.f__links.-onepage {
  max-width: 422px;
}

.f__sublinks--container {
  font-size: 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  row-gap: 1em;
  margin-top: 1.875em;
}
@media screen and (max-width: 600px) {
  .f__sublinks--container {
    font-size: 1em;
    justify-content: flex-start;
    margin-top: 1.7em;
  }
}

.f__sublinks {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 600px) {
  .f__sublinks {
    column-gap: 0.875em;
    row-gap: 0.75em;
    justify-content: flex-start;
  }
}

.f__sublink {
  color: #A0A0A0;
}
@media screen and (max-width: 600px) {
  .f__sublink {
    margin-right: 1em;
  }
}
/*
.f__sublink:nth-child(2) {
  margin-left: 2.25em;
}
@media screen and (max-width: 600px) {
  .f__sublink:nth-child(2) {
    margin-left: 0;
  }
}
.f__sublink:nth-child(3) {
  margin-left: 2.25em;
}
@media screen and (max-width: 600px) {
  .f__sublink:nth-child(3) {
    margin-left: 0;
  }
}
.f__sublink:nth-child(4) {
  margin-left: 2.375em;
}
@media screen and (max-width: 600px) {
  .f__sublink:nth-child(4) {
    margin-left: 0;
  }
  }
  */
.f__sublink a {
  font-weight: 500;
  letter-spacing: 0.08em;
  display: block;
  transition: opacity 0.3s ease;
}
.f__sublink a:hover {
  opacity: 0.7;
}

.f__sns--links {
  display: flex;
  align-items: center;
}
.f__sns--links.-pc {
  margin-left: 50px;
}
@media screen and (max-width: 600px) {
  .f__sns--links.-pc {
    display: none;
  }
}
.f__sns--links.-sp {
  display: none;
  font-size: 1em;
}
.f__sns--links.-sp li:nth-child(1) {
  width: 2.14em;
}
.f__sns--links.-sp li:nth-child(2) {
  width: 2.36em;
}
@media screen and (max-width: 600px) {
  .f__sns--links.-sp li:nth-child(2) {
    margin-left: 2.2em;
  }
}
@media screen and (max-width: 600px) {
  .f__sns--links.-sp {
    display: flex;
    margin-top: 1em;
  }
}

.f__sns--link a {
  display: block;
  transition: opacity 0.3s ease;
}
.f__sns--link a:hover {
  opacity: 0.7;
}
.f__sns--link:nth-child(1) {
  width: 1.625em;
}
.f__sns--link:nth-child(2) {
  width: 1.75em;
  margin-left: 2.6875em;
}

.f__info--contaienr {
  width: 21.43em;
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
}
@media screen and (max-width: 600px) {
  .f__info--contaienr {
    width: 100%;
    order: 3;
    margin-top: 1.5em;
  }
}

.f-logo {
  width: 19.71;
}
@media screen and (max-width: 600px) {
  .f-logo {
    width: 16em;
    max-width: 70%;
  }
}

.f__info--name {
  margin-top: 1.35em;
}
@media screen and (max-width: 600px) {
  .f__info--name {
    margin-top: 0.75em;
  }
}

.f__info--address {
  margin-top: 1em;
  margin-bottom: 1em;
}

.f__banner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.4375em;
  row-gap: 1.875em;
  margin-top: 4.375em;
  font-size: 1.14em;
}
@media screen and (max-width: 600px) {
  .f__banner {
    order: 2;
    grid-template-columns: repeat(2, 1fr);
    font-size: 0.86em;
    column-gap: 1.75em;
    row-gap: 1.7em;
    margin-top: 3.375em;
  }
}
.f__banner li a {
  display: block;
  transition: opacity 0.3s ease;
}
.f__banner li a:hover {
  opacity: 0.7;
}

.f__banner--text {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-top: 0.2em;
  color: #A0A0A0;
}
.f__banner--text .icon {
  font-weight: 500;
  display: inline-block;
  position: relative;
}
.f__banner--text .icon::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.5625em;
  transform: translateY(-50%);
  width: 1.125em;
  height: 1em;
  background: url(../img/icon/icon_link.svg) no-repeat center/contain;
}

.copyright {
  text-align: center;
  background-color: #fff;
  padding: 10px 0 32px;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .copyright {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .copyright {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .copyright {
    padding-bottom: 67px;
  }
}

/*======================================
    fixed button
======================================*/
.sp-fixed-btns {
  display: none;
}
@media screen and (max-width: 1024px) {
  .sp-fixed-btns {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 200;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.sp-fixed-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.07em;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .sp-fixed-btn a {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .sp-fixed-btn a {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
.sp-fixed-btn a.download {
  background-color: #E0E0E0;
  color: #15238A;
}
.sp-fixed-btn a.contact {
  background-color: #3DB1C6;
  color: #fff;
}

/*======================================
    cta
======================================*/
.cta-btns {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1em;
  column-gap: 1.3em;
}
@media screen and (max-width: 600px) {
  .cta-btns {
    row-gap: 1em;
  }
}

@media screen and (max-width: 600px) {
  .cta-btn {
    width: 100%;
  }
}
.cta-btn a {
  display: flex;
  align-items: center;
  height: 2.8em;
  border: 1px solid #15238A;
  border-radius: 0.33em;
  font-weight: 500;
  letter-spacing: 0.12em;
  position: relative;
  transition: opacity 0.3s ease;
}
.cta-btn a:hover {
  opacity: 0.5;
}
.cta-btn a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.53em;
  height: 0.73em;
  transition: right 0.3s ease;
}
.cta-btn a.download {
  width: 16em;
  padding-left: 1.067em;
  color: #15238A;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .cta-btn a.download {
    width: 85%;
    padding-left: 0.75em;
  }
}
.cta-btn a.download::before {
  right: 1.47em;
  background: url(../img/service/service_list_arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .cta-btn a.download::before {
    right: 1em;
  }
}
.cta-btn a.download:hover::before {
  right: 1.25em;
}
@media screen and (max-width: 600px) {
  .cta-btn a.download:hover::before {
    right: 0.75em;
  }
}
.cta-btn a.contact {
  width: 11.53em;
  padding-left: 1.3em;
  color: #fff;
  background-color: #15238A;
}
@media screen and (max-width: 600px) {
  .cta-btn a.contact {
    width: 85%;
    padding-left: 1.5em;
  }
}
.cta-btn a.contact::before {
  right: 1.33em;
  background: url(../img/icon/icon_arrow_white.svg) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .cta-btn a.contact::before {
    right: 1em;
  }
}
.cta-btn a.contact:hover::before {
  right: 1.11em;
}
@media screen and (max-width: 600px) {
  .cta-btn a.contact:hover::before {
    right: 0.75em;
  }
}
.cta-btn a.contact span {
  font-weight: 500;
  display: inline-block;
  font-size: 0.933em;
}
@media screen and (max-width: 600px) {
  .cta-btn a.contact span {
    font-size: 1em;
  }
}
@media screen and (max-width: 600px) {
  .cta-btn a {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 3.75em;
  }
}

/*======================================
    section
======================================*/
.section-btn {
  width: 25.4375em;
  max-width: 95%;
  height: 3.75em;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  padding-left: 2.25em;
  padding-right: 3.125em;
  color: #fff;
  background-color: #122A88;
  letter-spacing: 0.08em;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.75;
  border-radius: 0.3125em;
  position: relative;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .section-btn {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .section-btn {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .section-btn {
    width: 18.125em;
    padding-left: 1.1em;
  }
}
.section-btn:hover {
  opacity: 0.7;
}
.section-btn:hover::before {
  right: 2.25em;
}
@media screen and (max-width: 600px) {
  .section-btn:hover::before {
    right: 0.75em;
  }
}
.section-btn.-white {
  background-color: #fff;
  color: #122A88;
  border: 1px solid #122A88;
}
.section-btn.-white::before {
  background: url(../img/service/service_list_arrow.svg) no-repeat center/contain;
}
.section-btn.-left {
  margin-left: 0;
}
.section-btn.-newtab {
  text-align: center;
  justify-content: center;
  width: 30.125em;
  letter-spacing: 0.05em;
}
.section-btn.-newtab span {
  padding-right: 2.25em;
  display: inline-block;
  position: relative;
}
.section-btn.-newtab span::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.125em;
  height: 1em;
  background: url(../img/icon/icon_link_white.svg) no-repeat center/contain;
}
.section-btn.-newtab::before {
  display: none;
}
.section-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.5em;
  transform: translateY(-50%);
  width: 0.625em;
  height: 0.9375em;
  background: url(../img/icon/icon_arrow_white.svg) no-repeat center/contain;
  transition: right 0.3s ease;
}
@media screen and (max-width: 600px) {
  .section-btn::before {
    right: 1em;
  }
}

.btn-animation {
  position: relative;
  z-index: 1;
}
.btn-animation::before, .btn-animation::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2FB1C8;
  border-radius: 0.3125em;
  pointer-events: none;
  -webkit-animation: pulsate 2s linear infinite;
  animation: pulsate 2s linear infinite;
}
.btn-animation::after {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

@-webkit-keyframes pulsate {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    opacity: 0.9;
  }
  100% {
    -webkit-transform: scale(1.2, 1.5);
    transform: scale(1.2, 1.5);
    opacity: 0;
  }
}
@keyframes pulsate {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    opacity: 0.9;
  }
  100% {
    -webkit-transform: scale(1.2, 1.5);
    transform: scale(1.2, 1.5);
    opacity: 0;
  }
}
/*======================================
    page
======================================*/
.p-wrap {
  margin-top: min(6.2957540264vw, 86px);
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .p-wrap {
    margin-top: 4.39238653vw;
  }
}
@media screen and (max-width: 600px) {
  .p-wrap {
    margin-top: min(15.3846153846vw, 6rem);
  }
}

/*======================================
    service
======================================*/
.service-sp__breadcrumb {
  display: none;
}
@media screen and (max-width: 600px) {
  .service-sp__breadcrumb {
    display: block;
    padding-top: 0.6rem;
    color: #3DB1C6;
  }
  .service-sp__breadcrumb .breadcrumb {
    text-align: left !important;
    font-weight: 400;
  }
}

.service__mv--container {
  width: 92.68%;
  margin-left: auto;
  font-size: 1.0980966325vw;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .service__mv--container {
    font-size: 1.4rem;
    width: 100%;
    padding-bottom: 46px;
    padding-top: 1.75em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service__mv--container {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service__mv--container {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.service__mv--inner {
  display: grid;
  grid-template-columns: auto 61.14%;
}
@media screen and (max-width: 600px) {
  .service__mv--inner {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: 87.7%;
  }
}

.service__mv--contents {
  padding-top: 10%;
  padding-bottom: 5%;
}
@media screen and (max-width: 600px) {
  .service__mv--contents {
    display: contents;
  }
}

@media screen and (max-width: 1024px) {
  .service__mv--texts {
    order: 1;
  }
}

.service__mv--text {
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .service__mv--text {
    font-weight: 400;
    letter-spacing: 0.15em;
  }
}

.service__mv--lead {
  margin-top: 0.7em;
  font-size: 1.53em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2608695652;
}
@media screen and (max-width: 600px) {
  .service__mv--lead {
    font-size: 1.3em;
  }
}
.service__mv--lead span.underline {
  display: inline-block;
  font-size: 1.74em;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.375;
  color: #15238A;
  padding-bottom: 0.2em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .service__mv--lead span.underline {
    font-size: 1.67em;
    padding-top: 0.25em;
  }
}
.service__mv--lead span.underline::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.075em;
  background-color: #15238A;
}
@media screen and (max-width: 600px) {
  .service__mv--lead span.underline::before {
    height: 3px;
  }
}
.service__mv--lead span.underline.-second {
  margin-right: 0.5em;
  margin-top: 0.25em;
}

.service__mv--btns {
  margin-top: 2.8em;
}
@media screen and (max-width: 600px) {
  .service__mv--btns {
    order: 3;
    margin-top: 0;
  }
}

@media screen and (max-width: 600px) {
  .service__mv--img {
    order: 2;
    margin: 22px calc(50% - 50vw) 46px;
  }
}

.service-target {
  background-color: #F5F5F5;
  font-size: 1.6rem;
  padding: 4.625em 0 5.625em;
  margin-top: -1px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-target {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service-target {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
.service-target::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 26.75em;
  height: 22.0625em;
  background: url(../img/common/page_bg.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .service-target::before {
    width: 19.6em;
    height: 16.14em;
  }
}
@media screen and (max-width: 600px) {
  .service-target {
    padding-top: 2.71em;
    padding-bottom: 3.2em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-target {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-target {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .service-target .ttl30 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-target .ttl30 {
    font-size: min(1.6105417277vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-target .ttl30 {
    font-size: min(5.641025641vw, 2.2rem);
  }
}

.service-target__lists {
  margin-top: 2.5em;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(21.5625em, 1fr));
  column-gap: 2.1875em;
  row-gap: 1.875em;
  line-height: 1.5625;
}
@media screen and (max-width: 600px) {
  .service-target__lists {
    grid-template-columns: 1fr;
    width: 92.1%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.57em;
    line-height: 1.7857142857;
  }
}
.service-target__lists li {
  background-color: #fff;
  border-radius: 0.6875em;
  box-shadow: 0.1875em 0.1875em 0.375em rgba(106, 106, 106, 0.16);
  padding: 1.15625em 0.5em 1.15625em 3.125em;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 600px) {
  .service-target__lists li {
    border-radius: 0.79em;
    padding: 1.35em 0.5em 1.35em 3.75em;
    min-height: 6.2em;
  }
}
.service-target__lists li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.75em;
  transform: translateY(-50%);
  width: 1.5625em;
  height: 1.25em;
  background: url(../img/icon/icon_checkbox.svg) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .service-target__lists li::before {
    width: 2.25em;
    height: 1.43em;
    left: 0.6em;
    transform: translateY(-60%);
  }
}

.service-about {
  background-image: linear-gradient(to bottom, #F5F5F5 0%, #F5F5F5 10%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 100%);
  position: relative;
}
.service-about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 32px;
  background: url(../img/service/service_arrow.svg) no-repeat center/contain;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .service-about::before {
    transform: translate(-50%, -28%);
  }
}

.service-about__wrap {
  font-size: 1.4rem;
  padding-top: 8.93em;
  padding-bottom: 8.86em;
  text-align: center;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-about__wrap {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .service-about__wrap {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .service-about__wrap {
    width: 93%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2.57em;
    padding-bottom: 4.5em;
  }
  .service-about__wrap .ttl30 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-about__wrap .ttl30 {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-about__wrap .ttl30 {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}

.service-about__text {
  letter-spacing: 0.08em;
  line-height: 2.1428571429;
  margin-top: 1.71em;
  margin-bottom: 2.85em;
}
@media screen and (max-width: 600px) {
  .service-about__text {
    line-height: 2;
    letter-spacing: 0.15em;
    margin-top: 1em;
    margin-bottom: 2em;
  }
}

@media screen and (max-width: 600px) {
  .service-about__lists {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
}

.service-lists {
  max-width: 968px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.2rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  column-gap: 3.33em;
  row-gap: 2.75em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-lists {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .service-lists {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-lists {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .service-lists {
    row-gap: 2.25em;
  }
}

.service-list:nth-child(1) .service-list__link:hover {
  background-color: #FFF0F3;
}
.service-list:nth-child(2) .service-list__link:hover {
  background-color: #FFF5ED;
}
.service-list:nth-child(3) .service-list__link:hover {
  background-color: #FFFDE6;
}
.service-list:nth-child(4) .service-list__link:hover {
  background-color: #EDFFE8;
}
.service-list:nth-child(5) .service-list__link:hover {
  background-color: #E0FAFC;
}
.service-list:nth-child(6) .service-list__link:hover {
  background-color: #F6F0FF;
}

.service-list__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0.17em 0.17em 0.83em rgba(0, 0, 0, 0.16);
  border-radius: 0.42em;
  padding-bottom: 2.5em;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.service-list__link:hover {
  box-shadow: none;
}
.service-list__link:hover .service-list__more::before {
  right: -0.25em;
}

.service-list__icon {
  margin-left: auto;
  margin-right: auto;
  height: 162px;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-list__icon {
    height: 13.5em;
  }
}
.service-list__icon.-web {
  width: 31.08%;
  padding-top: 2em;
  max-width: 92px;
}
.service-list__icon.-recruit {
  width: 27.36%;
  padding-top: 3em;
  transform: translateX(-8%);
  max-width: 81px;
}
@media screen and (max-width: 600px) {
  .service-list__icon.-recruit {
    transform: translateX(0);
  }
}
.service-list__icon.-consulting {
  width: 44.59%;
  padding-top: 3em;
  transform: translateX(-6%);
  max-width: 132px;
}
@media screen and (max-width: 600px) {
  .service-list__icon.-consulting {
    transform: translateX(0);
  }
}
.service-list__icon.-sns {
  width: 34.8%;
  padding-top: 2.25em;
  transform: translateX(4%);
  max-width: 103px;
}
@media screen and (max-width: 600px) {
  .service-list__icon.-sns {
    transform: translateX(0);
  }
}
.service-list__icon.-print {
  width: 42.6%;
  padding-top: 2.67em;
  transform: translateX(4%);
  max-width: 126px;
}
@media screen and (max-width: 600px) {
  .service-list__icon.-print {
    transform: translateX(0);
  }
}
.service-list__icon.-video {
  width: 29.39%;
  padding-top: 1.33em;
  max-width: 87px;
}

.service-list__name {
  font-size: 1.42em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4705882353;
}

.service-list__en {
  font-family: "Alterbate Gothic No3 D", sans-serif;
  letter-spacing: 0.05em;
  margin-top: 0.5em;
}

.service-list__more {
  align-self: center;
  display: inline-block;
  padding-right: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 1.5em;
  position: relative;
}
.service-list__more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 0.58em;
  height: 0.83em;
  background: url(../img/icon/icon_arrow_gray.svg) no-repeat center/contain;
  transition: right 0.3s ease;
}

.service-plan {
  padding-top: 6.0625em;
  padding-bottom: 9.71em;
  font-size: 1.6rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-plan {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service-plan {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service-plan {
    font-size: 1.4rem;
    padding-top: 4em;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-plan {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-plan {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.service-plan__lists {
  margin-top: 2.125em;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  column-gap: 1.4375em;
  row-gap: 2.9375em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-plan__lists {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .service-plan__lists {
    grid-template-columns: 1fr;
    margin-top: 1.57em;
    row-gap: 2.1em;
  }
}

.service-plan__list {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.service-plan__list dl {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.service-plan__list dl dt {
  background-color: #122A88;
  color: #fff;
  padding: 0.875em 1.125em 0.75em;
  position: relative;
}
.service-plan__list dl dt p {
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.7857142857;
  font-size: 0.875em;
  margin-top: 0.2em;
}
@media screen and (max-width: 600px) {
  .service-plan__list dl dt p {
    font-size: 1em;
    letter-spacing: 0.025em;
  }
}
.service-plan__list dl dt .bars {
  display: none;
}
@media screen and (max-width: 600px) {
  .service-plan__list dl dt {
    padding: 1em 3em 1em 0.75em;
  }
  .service-plan__list dl dt:hover {
    cursor: pointer;
  }
  .service-plan__list dl dt.is-active .service-plan__ttl {
    font-size: 1.36em;
  }
  .service-plan__list dl dt .bars {
    right: 1em;
    display: block;
  }
  .service-plan__list dl dt .bars__wrap {
    width: 25px;
    height: 25px;
  }
  .service-plan__list dl dt .bar {
    background-color: #fff;
  }
}
.service-plan__list dl dd {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  padding: 0.5em 1em 2.2em;
}
@media screen and (max-width: 600px) {
  .service-plan__list dl dd {
    display: none;
    padding-top: 0.75em;
    padding-bottom: 1em;
  }
}

.service-plan__ttl {
  font-size: 1.1875em;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3157894737;
}
@media screen and (max-width: 600px) {
  .service-plan__ttl {
    font-size: 1.14em;
    transition: font-size 0.3s ease;
  }
}

.service-plan__details {
  margin-bottom: 1.6em;
}
@media screen and (max-width: 600px) {
  .service-plan__details {
    margin-bottom: 1.7em;
  }
}
.service-plan__details li {
  letter-spacing: 0.08em;
  font-weight: 500;
  color: #7B7A7B;
  line-height: 1.5625;
  padding: 0.875em 0 0.55em 2em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .service-plan__details li {
    line-height: 1.7857142857;
  }
}
.service-plan__details li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0.375em;
  transform: translateY(124%);
  width: 1.125em;
  height: 1em;
  background: url(../img/service/price_checkbox.svg) no-repeat center/contain;
}
.service-plan__details li:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: url(../img/service/line_dot.svg) repeat-x;
}

.service-plan__price--container {
  color: #15238A;
  padding-left: 0.25em;
  margin-top: auto;
}

.service-plan__price--text {
  font-size: 0.75em;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 600px) {
  .service-plan__price--text {
    font-size: 0.86em;
  }
}

.service-plan__price {
  margin-top: 0.25em;
  font-size: 3.625em;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  display: flex;
  letter-spacing: 0.01em;
  padding-left: 0.1em;
}
@media screen and (max-width: 600px) {
  .service-plan__price {
    font-size: 4.14em;
  }
}
.service-plan__price span {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
}
.service-plan__price .yen {
  font-size: 0.55em;
  font-weight: 700;
  letter-spacing: 0.05em;
  align-self: center;
  margin-right: 0.3em;
}
.service-plan__price .deco {
  font-size: 0.36em;
  align-self: center;
  font-weight: 700;
  margin-left: 0.25em;
  transform: translateY(-10%);
}

.service-contact__container {
  margin-top: 3.95em;
  font-size: 2.2rem;
  background: url(../img/service/service_contact.jpg) no-repeat center top/cover;
  padding: 4.77em 0 3.86em;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-contact__container {
    font-size: min(1.6105417277vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) {
  .service-contact__container {
    font-size: min(5.641025641vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) {
  .service-contact__container {
    font-size: 1.4rem;
    background: url(../img/service/service_contact_sp.jpg) no-repeat center top/cover;
    margin-top: 4em;
    padding-top: 3em;
    padding-bottom: 2.25em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-contact__container {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-contact__container {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
.service-contact__container::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(125, 188, 244, 0.41);
  z-index: -1;
}
.service-contact__container::after {
  content: "Contact";
  position: absolute;
  top: 0;
  left: 1.25%;
  font-size: min(10.6149341142vw, 14.5rem);
  font-family: "Alterbate Gothic No3 D", sans-serif;
  color: rgba(255, 255, 255, 0.15);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 600px) {
  .service-contact__container::after {
    left: 6.15%;
    font-size: 5.7em;
  }
}

.service-contact__ttl {
  font-size: 1.41em;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-shadow: 0 0 0.81em rgba(0, 0, 0, 0.49);
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .service-contact__ttl {
    font-size: 1.43em;
    line-height: 1.5;
  }
}

.service-contact__btns {
  margin-top: 1.91em;
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .service-contact__btns {
    margin-top: 1.57em;
  }
}
.service-contact__btns li a.download {
  width: 17.1em;
}
@media screen and (max-width: 600px) {
  .service-contact__btns li a.download {
    width: 100%;
  }
}
.service-contact__btns li a.contact {
  width: 12.36em;
}
@media screen and (max-width: 600px) {
  .service-contact__btns li a.contact {
    width: 100%;
  }
}
.service-contact__btns li a.contact span {
  font-size: 0.95em;
}
@media screen and (max-width: 600px) {
  .service-contact__btns li a.contact span {
    font-size: 1em;
  }
}

@media screen and (max-width: 600px) {
  .service-works {
    background-color: #fff;
  }
}
.service-works .left-box__inner {
  font-size: 1.4rem;
  padding-top: 6.36em;
  padding-bottom: 7.14em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-works .left-box__inner {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .service-works .left-box__inner {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .service-works .left-box__inner {
    padding-top: 4em;
    padding-bottom: 4.7em;
  }
}

.service-works__cards {
  margin-top: 2em;
}

.service-works__btn {
  margin-top: 6.36em;
}
@media screen and (max-width: 600px) {
  .service-works__btn {
    margin-top: 3.8em;
  }
}

.service-faq {
  padding-top: 5em;
  padding-bottom: 6.375em;
  font-size: 1.6rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-faq {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service-faq {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service-faq {
    padding-top: 6em;
    padding-bottom: 4.5em;
  }
}

.service-faq__ttl--container {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .service-faq__ttl--container {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-faq__ttl--container {
    font-size: min(1.6105417277vw, 2.2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-faq__ttl--container {
    font-size: min(5.641025641vw, 2.2rem);
  }
}

@media screen and (max-width: 600px) {
  .service-faq__ttl--en {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-faq__ttl--en {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-faq__ttl--en {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}

.question {
  text-align: center;
  margin-bottom: -0.4em;
  font-size: 5.67em;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  letter-spacing: 0.01em;
  font-weight: 400;
  color: #F0F0F0;
  z-index: -1;
  mix-blend-mode: multiply;
}

.service-faq__ttl {
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .service-faq__ttl {
    letter-spacing: 0.05em;
  }
}

.service-faq__lists {
  max-width: 1123px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3.25em;
}
@media screen and (max-width: 600px) {
  .service-faq__lists {
    margin-top: 2.5em;
  }
}

.service-faq__list {
  border-bottom: 1px solid #1B224C;
  padding: 2em 2.3em 2em 1.3em;
}
@media screen and (max-width: 600px) {
  .service-faq__list {
    padding: 0.75em 2.5em 0.75em 0;
  }
}
.service-faq__list:first-child {
  border-top: 1px solid #1B224C;
}
.service-faq__list dl dt {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5625;
  padding-left: 3em;
}
.service-faq__list dl dt:hover {
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .service-faq__list dl dt {
    padding-left: 2.4em;
  }
}
.service-faq__list dl dt::before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.5em;
  line-height: 1;
  color: #3DB1C6;
}
.service-faq__list dl dt .bars {
  right: 0;
}
@media screen and (max-width: 600px) {
  .service-faq__list dl dt .bars {
    transform: translate(200%, 15%);
    top: 0;
  }
}
@media screen and (max-width: 600px) {
  .service-faq__list dl dt .bars .bars__wrap {
    width: 20px;
    height: 20px;
  }
}
.service-faq__list dl dt .bars .bars__wrap .bar {
  background-color: #1B224C;
}
.service-faq__list dl dd {
  display: none;
  line-height: 2.1875;
  letter-spacing: 0.08em;
  padding-right: 2em;
  margin-top: 1.4em;
  padding-bottom: 1.375em;
}
@media screen and (max-width: 600px) {
  .service-faq__list dl dd {
    font-size: 0.875em;
    margin-top: 0.4em;
    padding-left: 2.75em;
    line-height: 2;
    letter-spacing: 0.15em;
    padding-right: 0;
    padding-bottom: 0;
  }
}

.service-faq__btn {
  margin-top: 3.875em;
}
@media screen and (max-width: 600px) {
  .service-faq__btn {
    margin-top: 2.3em;
  }
}

.service-info {
  font-size: 1.4rem;
  padding-bottom: 9em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-info {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .service-info {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .service-info {
    background-color: #fff;
    padding-bottom: 0;
  }
}
.service-info .right-box__inner {
  padding-top: 3.7em;
  padding-bottom: 6em;
}
@media screen and (max-width: 600px) {
  .service-info .right-box__inner {
    padding-top: 4.5em;
    padding-bottom: 4em;
  }
}
.service-info .section-ttl1__lead {
  letter-spacing: 0.12em;
}
@media screen and (max-width: 600px) {
  .service-info .section-ttl1__lead {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5625;
    padding-bottom: 0.475em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-info .section-ttl1__lead {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-info .section-ttl1__lead {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}

.service-info__lists {
  margin-top: 4.07em;
}
@media screen and (max-width: 600px) {
  .service-info__lists {
    margin-right: auto;
    margin-top: 3em;
  }
}

.service-info__list {
  display: flex;
  column-gap: 5.14em;
}
@media screen and (max-width: 600px) {
  .service-info__list {
    flex-direction: column;
  }
}
.service-info__list:nth-child(n+2) {
  margin-top: 6em;
}
@media screen and (max-width: 600px) {
  .service-info__list:nth-child(n+2) {
    margin-top: 6.3em;
  }
}

.service-info__list--head {
  width: 11.57em;
}
@media screen and (max-width: 600px) {
  .service-info__list--head {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 0.86em;
  }
}
.service-info__list--head h3 {
  font-size: 1.43em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #A0A0A0;
}
@media screen and (max-width: 600px) {
  .service-info__list--head h3 {
    padding-bottom: 0;
    border-bottom: none;
  }
}
.service-info__list--head .more {
  font-size: 0.86em;
  text-align: right;
  margin-top: 1.25em;
  margin-right: 0.25em;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .service-info__list--head .more {
    margin-top: 0;
    margin-bottom: 0.25em;
    margin-right: 0;
  }
}
.service-info__list--head .more a {
  display: inline-block;
  padding-right: 1.5em;
  font-weight: 500;
  position: relative;
  color: #A0A0A0;
}
.service-info__list--head .more a:hover::before {
  right: -0.25em;
}
.service-info__list--head .more a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-30%);
  width: 0.5em;
  height: 0.75em;
  background: url(../img/icon/icon_arrow_gray.svg) no-repeat center/contain;
  transition: right 0.3s ease;
}

.service-info__list--body {
  width: calc(100% - 11.57em - 5.14em);
}
@media screen and (max-width: 600px) {
  .service-info__list--body {
    width: 100%;
  }
}

.news-cat__btns {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2em;
  row-gap: 1em;
  padding-top: 0.7em;
}
@media screen and (max-width: 600px) {
  .news-cat__btns {
    column-gap: 1.9em;
  }
}

.news-cat__btn {
  color: #707070;
  position: relative;
  padding: 0 0.32em 0.5em;
  display: block;
  letter-spacing: 0.08em;
  line-height: 1.4285714286;
}
.news-cat__btn::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 2px;
  background-color: #122A88;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.news-cat__btn.show, .news-cat__btn.current-cat {
  color: #122A88;
  font-weight: 700;
}
.news-cat__btn.show::before, .news-cat__btn.current-cat::before {
  opacity: 1;
}

.blog-swiper__container {
  position: relative;
}

.blog-swiper {
  padding-bottom: 3em;
  padding-top: 1.07em;
  margin-top: -1.07em;
  margin-left: -1.07em;
  padding-left: 1.07em;
}
@media screen and (max-width: 600px) {
  .blog-swiper {
    margin-right: calc(50% - 50vw);
    padding-bottom: 1.7em;
  }
}

.blog-pagination {
  width: auto !important;
  position: static;
  display: flex;
  align-items: center;
}
.blog-pagination .swiper-pagination-bullet {
  background-color: #D6D5D8;
  opacity: 1;
  width: 0.71em;
  height: 0.71em;
  margin: 0 0.71em !important;
}
@media screen and (max-width: 600px) {
  .blog-pagination .swiper-pagination-bullet {
    width: 0.43em;
    height: 0.43em;
    margin: 0 0.43em !important;
  }
}
.blog-pagination .swiper-pagination-bullet:first-child {
  margin-left: 0 !important;
}
.blog-pagination .swiper-pagination-bullet:last-child {
  margin-right: 0 !important;
}
.blog-pagination .swiper-pagination-bullet-active {
  background-color: #122A88;
}

.blog-swiper-wrap {
  position: relative;
  height: 0.71em;
  display: inline-block;
  margin-left: 26.6%;
}
@media screen and (max-width: 600px) {
  .blog-swiper-wrap {
    margin-left: 50%;
    transform: translateX(-50%);
    height: 0.43em;
  }
}

.blog-button-prev,
.blog-button-next {
  bottom: 0;
  width: 0.5em;
  height: 0.86em;
  margin-top: 0;
}
@media screen and (max-width: 600px) {
  .blog-button-prev,
  .blog-button-next {
    width: 0.36em;
    height: 0.57em;
  }
}
.blog-button-prev::after,
.blog-button-next::after {
  display: none;
}

.blog-button-prev {
  left: -1.43em;
  right: unset;
  transform: translate(-100%, -50%);
  background: url(../img/icon/icon_page_prev.svg) no-repeat center/contain;
}

.blog-button-next {
  right: -1.43em;
  left: unset;
  transform: translate(100%, -50%);
  background: url(../img/icon/icon_page_next.svg) no-repeat center/contain;
}

/*======================================
    web
======================================*/
.service__inner {
  max-width: 1088px;
}

.service__head,
.p-simple-mv {
  position: relative;
  font-size: 1.6rem;
  z-index: 1;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service__head,
  .p-simple-mv {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service__head,
  .p-simple-mv {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}

.service__head .service__inner {
  padding: 8.875em 0 3.5em;
}
@media screen and (max-width: 600px) {
  .service__head .service__inner {
    padding: 4em 0 2em;
  }
}

.service__head--bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}

.works__head--img {
  width: 68%;
  margin-left: auto;
  max-height: 617px;
  object-fit: cover;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .works__head--img {
    width: 100%;
  }
}

.service-overview__inner.works-overview__inner {
  padding-bottom: 9em;
}
@media screen and (max-width: 600px) {
  .service-overview__inner.works-overview__inner {
    padding-bottom: 2em;
  }
}

.service__head--img {
  position: relative;
  max-height: 648px;
  object-fit: cover;
  overflow: hidden;
}
.service__head--img::before {
  content: "";
  display: block;
  padding-top: 47.4377745242%;
}
@media screen and (max-width: 600px) {
  .service__head--img::before {
    padding-top: 46.6666666667%;
  }
}
@media screen and (min-width: 601px) {
  .service__head--img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.6;
  }
}
@media screen and (max-width: 600px) {
  .service__head--img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);
  }
}
.service__head--img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service__head--texts,
.p-simple-mv__texts {
  padding-left: 0.75em;
  border-left: 1px solid #000;
  color: #000;
}
.service__head--texts.-white,
.p-simple-mv__texts.-white {
  color: #fff;
  border-color: #fff;
}
.service__head--texts p,
.p-simple-mv__texts p {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 600px) {
  .service__head--texts p,
  .p-simple-mv__texts p {
    margin-bottom: 0.55em;
  }
}
.service__head--texts h1,
.p-simple-mv__texts h1 {
  font-size: 2.1875em;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .service__head--texts h1,
  .p-simple-mv__texts h1 {
    font-size: 1.375em;
  }
}

.service-overview {
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-overview {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service-overview {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
.service-overview .left-box {
  background-image: linear-gradient(to right, #fff 0%, #fff 89.75%, rgba(255, 255, 255, 0) 89.75%, rgba(255, 255, 255, 0) 100%);
}
.service-overview .breadcrumb {
  font-size: 0.75em;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: right;
  padding-right: 1.5em;
  color: #393A43;
  padding-top: 1.5em;
}
@media screen and (max-width: 600px) {
  .service-overview .breadcrumb {
    text-align: left;
    padding-top: 1em;
    padding-right: 0;
  }
}

.service-overview__inner {
  padding: 2.5em 0 5.5625em;
  max-width: 966px;
  width: 92.5%;
}
@media screen and (max-width: 600px) {
  .service-overview__inner {
    width: 96%;
    padding: 1.5em 0 3em;
  }
}

.service-overview__ttl h2 {
  font-size: 2.1875em;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4285714286;
  padding-bottom: 0.8em;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 600px) {
  .service-overview__ttl h2 {
    font-size: 1.25em;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-top: 0.1em;
    padding-bottom: 0.6em;
  }
}
.service-overview__ttl p {
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.1428571429;
  margin-top: 1.25em;
  font-size: 0.875em;
  margin-top: 1.9em;
}
@media screen and (max-width: 600px) {
  .service-overview__ttl p {
    font-size: 0.875em;
    letter-spacing: 0.15em;
    line-height: 2;
    margin-top: 0.5em;
    font-weight: 400;
  }
}
.service-overview__ttl p.lg {
  font-size: 1em;
  letter-spacing: 0.08em;
  line-height: 2.1875;
  margin-top: 1.25em;
}
@media screen and (max-width: 600px) {
  .service-overview__ttl p.lg {
    font-size: 0.875em;
    letter-spacing: 0.15em;
    line-height: 2;
    margin-top: 0.5em;
  }
}

.service-overview__ttl--en {
  font-size: 0.75em;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.9166666667;
  color: #15238A;
}

.web-lists {
  margin-top: 2.6875em;
}
@media screen and (max-width: 600px) {
  .web-lists {
    margin-top: 2.4375em;
  }
}

.web-list:nth-child(n+2) {
  margin-top: 3.75em;
}
@media screen and (max-width: 600px) {
  .web-list:nth-child(n+2) {
    margin-top: 3.9em;
  }
}

.web-list__others {
  display: inline-block;
  font-size: 0.875em;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #122A88;
  line-height: 2.6428571429;
  border-radius: 1.36em;
  border: 1px solid #122A88;
  padding: 0 1.21em;
  margin-bottom: 1.43em;
}
@media screen and (max-width: 600px) {
  .web-list__others {
    display: block;
    text-align: center;
    line-height: 2.5;
  }
}

.web-list__img {
  max-width: 710px;
  margin-left: auto;
  margin-right: auto;
}

.web-list__text {
  margin-top: 2.14em;
  line-height: 2.5;
  font-weight: 500;
  letter-spacing: 0.08em;
  font-size: 0.875em;
}
@media screen and (max-width: 600px) {
  .web-list__text {
    font-size: 0.875em;
    line-height: 2;
    letter-spacing: 0.128em;
    font-weight: 400;
    margin-top: 2.4em;
  }
  .web-list__text span.half {
    display: inline-block;
    width: 0.5em;
  }
}

.web-list__onepage {
  border: 1px solid #FA521E;
  border-radius: 1.71em;
  font-size: 1.0625em;
  margin-bottom: 1.47em;
  display: inline-block;
}
@media screen and (max-width: 600px) {
  .web-list__onepage {
    display: block;
    text-align: center;
    font-size: 1em;
    margin-bottom: 2.1em;
  }
}
.web-list__onepage span {
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 2.6470588235;
  color: #F38B24;
  padding-left: 7.41em;
  padding-right: 1.88em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .web-list__onepage span {
    line-height: 2.375;
    padding-left: 4.625em;
    padding-right: 0;
  }
}
.web-list__onepage span::before {
  content: "";
  position: absolute;
  bottom: 0.24em;
  left: 1.59em;
  width: 4.47em;
  height: 4.47em;
  background: url(../img/service/web/web_star.png) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .web-list__onepage span::before {
    width: 3.625em;
    height: 3.625em;
    left: 0;
  }
}

.service__cta--container {
  font-size: 1.5rem;
  border: 1px solid #15238A;
  padding: 2.8em 1em 3em;
  margin-top: 5em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service__cta--container {
    font-size: min(1.0980966325vw, 1.5rem);
  }
}
@media screen and (max-width: 600px) {
  .service__cta--container {
    font-size: min(3.8461538462vw, 1.5rem);
  }
}
.service__cta--container.-block {
  max-width: 966px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .service__cta--container {
    font-size: 1.4rem;
    margin-top: 2.5em;
    padding: 1.5em 0 2.25em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service__cta--container {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service__cta--container {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
.service__cta--container p {
  font-size: 1.4em;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.619047619;
}
@media screen and (max-width: 600px) {
  .service__cta--container p {
    font-size: 1.14em;
    line-height: 1.5625;
    font-weight: 700;
  }
}

.service__cta--btns {
  justify-content: center;
  margin-top: 1.3em;
}
@media screen and (max-width: 600px) {
  .service__cta--btns {
    margin-top: 1.6em;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.service-details {
  font-size: 1.6rem;
  max-width: 1209px;
  width: 90%;
  margin: 7.0625em auto 0;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .service-details {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .service-details {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
.service-details.-border {
  border: 1px solid #15238A;
}
@media screen and (max-width: 600px) {
  .service-details.-border {
    border: none;
  }
}
@media screen and (max-width: 600px) {
  .service-details {
    font-size: 1.4rem;
    width: 100%;
    margin-top: 4em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .service-details {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .service-details {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.web-btns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.web-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 6.625em;
  color: #9D9D9D;
  background-color: #F6F6F6;
  border-top: 1px solid #15238A;
  border-left: 1px solid #15238A;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (max-width: 600px) {
  .web-btn {
    height: 5.14em;
  }
}
.web-btn:last-child {
  border-right: 1px solid #15238A;
}
.web-btn.show {
  color: #fff;
  background-color: #15238A;
}
.web-btn.show .web-btn__texts {
  border-color: #fff;
}

.web-btn__texts {
  padding-left: 1em;
  border-left: 0.1875em solid #9D9D9D;
  transition: border-color 0.3s ease;
}
@media screen and (max-width: 600px) {
  .web-btn__texts {
    padding-left: 0.43em;
    border-left: 1px solid #9D9D9D;
  }
}
.web-btn__texts .web-btn__text {
  font-size: 0.75em;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 1em;
}
@media screen and (max-width: 600px) {
  .web-btn__texts .web-btn__text {
    font-size: 0.71em;
    line-height: 1.2;
    margin-bottom: 0.25em;
  }
}
.web-btn__texts .web-btn__ttl {
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 0.1em;
}
@media screen and (max-width: 600px) {
  .web-btn__texts .web-btn__ttl {
    font-size: 1em;
    line-height: 1.2142857143;
  }
}

.web-areas {
  border: 1px solid #15238A;
}
@media screen and (max-width: 600px) {
  .web-areas {
    border: none;
    border-top: 1px solid #15238A;
  }
}

.service-area {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-color: #fff;
}
.service-area::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 428px;
  height: 353px;
  background: url(../img/common/page_bg_bottom_left.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .service-area::before {
    width: 274px;
    height: 226px;
  }
}
.service-area::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 428px;
  height: 353px;
  background: url(../img/common/page_bg.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .service-area::after {
    width: 274px;
    height: 226px;
  }
}

.web-area::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 679px;
  background: url(../img/service/web/web-contents_bg.png) no-repeat right bottom/cover;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .web-area::after {
    width: 100%;
    height: 219px;
  }
}

.service-area__inner {
  width: 92%;
  margin-left: auto;
  margin-right: auto;
  padding: 5.375em 0 6.5em;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .service-area__inner {
    width: 87.7%;
    padding-top: 4.2em;
    padding-bottom: 4.75em;
  }
}

.web-area__icon {
  width: 12.25%;
  margin: 0 auto 2.75em;
  transform: translateX(10%);
}
@media screen and (max-width: 600px) {
  .web-area__icon {
    width: 100px;
    transform: translateX(0);
    margin-bottom: 1.75em;
  }
}

.web__lead {
  font-size: 1.5em;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
  margin-top: 1.75em;
}
.web__lead.-ec {
  margin-top: 0.5em;
}
@media screen and (max-width: 600px) {
  .web__lead.-ec {
    margin-top: 1em;
  }
}
@media screen and (max-width: 600px) {
  .web__lead {
    font-size: 1.43em;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin-top: 1.2em;
  }
}

.web-corporate__text {
  font-size: 0.9375em;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  margin-top: 1.4em;
}
@media screen and (max-width: 600px) {
  .web-corporate__text {
    font-size: 1em;
    line-height: 1.5714285714;
    letter-spacing: 0.15em;
    font-weight: 400;
    margin-top: 0.65em;
  }
}

.web-corporate__lists {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 1.29em;
  font-size: 0.875em;
}
@media screen and (max-width: 600px) {
  .web-corporate__lists {
    flex-direction: column;
    flex-wrap: nowrap;
    max-width: 287px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1em;
    margin-top: 1.4em;
  }
}

.web-corporate__list {
  margin-top: 1.71em;
  display: flex;
  align-items: center;
  background-color: #3793AF;
  color: #fff;
  letter-spacing: 0.05em;
  padding: 0.71em 1.71em;
}
@media screen and (max-width: 600px) {
  .web-corporate__list {
    width: 100%;
    justify-content: space-between;
    white-space: nowrap;
    padding: 0.8em 1.71em;
  }
  .web-corporate__list:first-child {
    margin-top: 0;
  }
  .web-corporate__list:nth-child(n+2) {
    margin-top: 1.5em;
  }
}
.web-corporate__list span.en {
  display: inline-block;
  position: relative;
  font-size: 1.5em;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-right: 1.67em;
  margin-right: 0.43em;
}
@media screen and (max-width: 600px) {
  .web-corporate__list span.en {
    width: 100%;
    padding-right: 0;
    z-index: 1;
  }
  .web-corporate__list span.en span {
    background-color: #3793AF;
    display: inline-block;
    padding-right: 0.43em;
  }
}
.web-corporate__list span.en::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.38em;
  height: 1px;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .web-corporate__list span.en::before {
    width: 100%;
    z-index: -1;
  }
}

.web-corporate__text--sub {
  font-size: 1.1875em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5789473684;
  text-align: center;
  margin-top: 1.25em;
}
@media screen and (max-width: 600px) {
  .web-corporate__text--sub {
    font-size: 1.43em;
    margin-top: 0.85em;
    line-height: 1.5;
  }
}

.web-corporate__features {
  margin-top: 5.75em;
  margin-bottom: 0.85em;
}
@media screen and (max-width: 600px) {
  .web-corporate__features {
    margin-top: 3.55em;
    margin-bottom: 0.8em;
  }
}

.features-lists {
  max-width: 1080px;
}
.features-lists.-sm {
  max-width: 1022px;
}
.features-lists.-sm .features-list .features__img {
  width: 38.36%;
}
@media screen and (max-width: 600px) {
  .features-lists.-sm .features-list .features__img {
    width: 100%;
  }
}
.features-lists.-sm .features-list:nth-child(even) .features__contents {
  width: 46.75%;
}
@media screen and (max-width: 600px) {
  .features-lists.-sm .features-list:nth-child(even) .features__contents {
    width: 100%;
  }
}
.features-lists.-sm .features-list .features__contents.-lg {
  width: 58%;
}
@media screen and (max-width: 600px) {
  .features-lists.-sm .features-list .features__contents.-lg {
    width: 100%;
  }
}
@media screen and (min-width: 1366px) {
  .features-lists {
    transform: translateX(1%);
  }
}

.features-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .features-list {
    flex-direction: column;
    align-items: start;
  }
}
.features-list:nth-child(even) {
  flex-direction: row-reverse;
}
.features-list:nth-child(even) .features__img {
  transform: translate(4%, 12%);
}
@media screen and (max-width: 600px) {
  .features-list:nth-child(even) .features__img {
    transform: translate(0, 0);
  }
}
@media screen and (max-width: 600px) {
  .features-list:nth-child(even) {
    flex-direction: column;
  }
}
.features-list.-end {
  align-items: flex-end;
}
@media screen and (max-width: 600px) {
  .features-list.-end {
    align-items: start;
  }
}
.features-list:nth-child(n+2) {
  margin-top: 6.875em;
}
@media screen and (max-width: 600px) {
  .features-list:nth-child(n+2) {
    margin-top: 2.29em;
  }
}

.features__number {
  font-size: 0.75em;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: #122A88;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .features__number {
    font-size: 0.86em;
    margin-bottom: -3.5em;
    order: 1;
  }
}
.features__number span {
  display: inline-block;
  color: #EBEFFD;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  letter-spacing: 0.01em;
  font-size: 10.83em;
  transform: translate(-15%, 8%);
  position: relative;
  z-index: -1;
  position: relative;
}
.features__number span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
}

.features__contents {
  width: 55.6%;
}
@media screen and (max-width: 600px) {
  .features__contents {
    width: 100%;
    display: contents;
  }
}

.features__texts {
  margin-top: 0.5em;
}
@media screen and (max-width: 600px) {
  .features__texts {
    margin-top: 0;
    display: contents;
  }
}

.features__ttl {
  font-weight: 700;
  font-size: 1.5625em;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
.features__ttl.-sm {
  font-size: 1.5em;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 600px) {
  .features__ttl.-sm {
    font-size: 1.29em;
    line-height: 1.3888888889;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 600px) {
  .features__ttl {
    font-size: 1.29em;
    line-height: 1.3888888889;
    letter-spacing: 0.1em;
    order: 2;
  }
}

.features__text {
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.1875;
  margin-top: 1.5em;
}
.features__text span.half {
  display: inline-block;
  width: 0.5em;
}
@media screen and (max-width: 600px) {
  .features__text {
    order: 4;
    line-height: 2;
    letter-spacing: 0.15em;
    font-weight: 400;
    margin-top: 1em;
  }
  .features__text span.half {
    display: inline-block;
    width: 0.75em;
    transform: translateX(-10%);
  }
  .features__text span.half.-center {
    transform: translateX(15%);
  }
  .features__text span.half.-right {
    transform: translateX(-5%);
  }
}

.features__img {
  width: 36.3%;
}
@media screen and (max-width: 600px) {
  .features__img {
    width: 100%;
    order: 3;
    margin-top: 1.4em;
  }
}

.web-corporate__support {
  margin-top: 12.25em;
  max-width: 966px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .web-corporate__support {
    margin-top: 5.25em;
  }
}
.web-corporate__support .service__cta--container {
  margin-top: 3em;
}
@media screen and (max-width: 600px) {
  .web-corporate__support .service__cta--container {
    margin-top: 2.75em;
  }
}

.web-support__lists {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  column-gap: 3.07em;
  row-gap: 2em;
  margin-top: 4.64em;
  margin-bottom: 4em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .web-support__lists {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .web-support__lists {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .web-support__lists {
    flex-direction: column;
    margin-top: 2.85em;
    row-gap: 3.2em;
    margin-bottom: 2em;
  }
}

.web-support__list:nth-child(1) .web-support__list--ttl {
  padding-right: 3.42em;
}
.web-support__list:nth-child(1) .web-support__list--ttl::before {
  right: 0.42em;
  bottom: 0.42em;
  width: 2.167em;
  height: 2.5em;
  background: url(../img/service/web/support_icon1.svg) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .web-support__list:nth-child(1) .web-support__list--ttl::before {
    width: 2.6em;
    height: 3em;
    right: 0;
  }
}
.web-support__list:nth-child(even) .web-support__list--number {
  color: #8AB8E0;
}
.web-support__list:nth-child(even) .web-support__list--ttl {
  border-color: #8AB8E0;
  padding-right: 2.875em;
}
.web-support__list:nth-child(even) .web-support__list--ttl::before {
  bottom: 0.5em;
  width: 2.33em;
  height: 2.5em;
  background: url(../img/service/web/support_icon2.svg) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .web-support__list:nth-child(even) .web-support__list--ttl::before {
    width: 2.8em;
    height: 3em;
  }
}
.web-support__list:nth-child(3) {
  margin-right: -0.5em;
}
.web-support__list:nth-child(3) .web-support__list--ttl {
  padding-right: 4.92em;
}
.web-support__list:nth-child(3) .web-support__list--ttl::before {
  right: 0.25em;
  bottom: 0.33em;
  width: 3.167em;
  height: 2.79em;
  background: url(../img/service/web/support_icon3.svg) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .web-support__list:nth-child(3) .web-support__list--ttl::before {
    width: 3.85em;
    height: 3.35em;
  }
}

.web-support__list--number {
  font-size: 0.86em;
  letter-spacing: 0.05em;
  color: #7972CB;
  margin-bottom: 0.67em;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .web-support__list--number {
    margin-bottom: 0.9em;
  }
}
.web-support__list--number span {
  display: inline-block;
  margin-left: 1.15em;
}

.web-support__list--ttl {
  font-size: 1.71em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4583333333;
  border-bottom: 1px solid #7972CB;
  padding-bottom: 0.46em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .web-support__list--ttl {
    font-size: 1.43em;
    padding-bottom: 0.75em;
  }
}
.web-support__list--ttl::before {
  content: "";
  position: absolute;
  right: 0;
}

.web-support__list--text {
  letter-spacing: 0.08em;
  margin-top: 1.14em;
  text-align: left;
}

.web-corporate__flow {
  margin-top: 7.86em;
}
@media screen and (max-width: 600px) {
  .web-corporate__flow {
    margin-top: 3.9em;
  }
}

.flow-lists {
  font-size: 1.4rem;
  max-width: 905px;
  margin: 5.71em auto 5em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .flow-lists {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .flow-lists {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .flow-lists {
    margin-top: 3.2em;
    margin-bottom: 4.75em;
  }
}
.flow-lists.-ec {
  margin-bottom: 6.07em;
}
.flow-lists.-recruit {
  margin-bottom: 5.71em;
}

.flow-list {
  display: grid;
  grid-template-columns: 8.25em auto;
  column-gap: 1.8125em;
}
@media screen and (max-width: 600px) {
  .flow-list {
    grid-template-columns: 2.57em auto;
    column-gap: 0.79em;
  }
}
.flow-list:nth-child(2) .flow-list__arrow {
  background-color: #82D9DE;
}
.flow-list:nth-child(2) .flow-list__arrow::before {
  border-color: #82D9DE transparent transparent transparent;
}
.flow-list:nth-child(3) .flow-list__arrow {
  background-color: #358CBB;
}
.flow-list:nth-child(3) .flow-list__arrow::before {
  border-color: #358CBB transparent transparent transparent;
}
.flow-list:last-child .flow-list__arrow {
  background-color: #FB7722;
}
.flow-list:last-child .flow-list__arrow::before {
  border-color: #FB7722 transparent transparent transparent;
}
.flow-list:last-child .flow-list__step--number,
.flow-list:last-child .flow-list__step--texts dt {
  color: #FB7722;
}
.flow-list:last-child .flow-list__line {
  background-image: linear-gradient(to right, #FB7722, #FB7722 2px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 4px);
}
.flow-list:last-child .flow-list__line::before {
  background-color: #FB7722;
}
.flow-list:last-child .flow-list__contents {
  padding-bottom: 0;
}
@media screen and (max-width: 600px) {
  .flow-list:last-child .flow-list__contents .flow-list__steps .flow-list__step:last-child {
    padding-bottom: 0;
  }
  .flow-list:last-child .flow-list__contents .flow-list__steps .flow-list__step:last-child::before {
    display: none;
  }
}
.flow-list:nth-child(n+2) .flow-list__contents {
  padding-top: 1.875em;
}

.flow-list__arrow--container {
  position: relative;
}

.flow-list__arrow {
  width: 2.25em;
  background-color: #BAEBEB;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  height: 100%;
  padding-top: 1em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .flow-list__arrow {
    width: 100%;
    padding-top: 1.5em;
  }
}
.flow-list__arrow::before {
  content: "";
  position: absolute;
  bottom: 0;
  transform: translateY(100%);
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.9375em 1.125em 0 1.125em;
  border-color: #BAEBEB transparent transparent transparent;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .flow-list__arrow::before {
    border-width: 1.5em 1.29em 0 1.29em;
  }
}
.flow-list__arrow span.vertical {
  writing-mode: vertical-rl;
  display: inline-block;
  line-height: 1.4705882353;
  letter-spacing: 0.68em;
  font-size: 1.21em;
  color: #15238A;
}
@media screen and (max-width: 600px) {
  .flow-list__arrow span.vertical {
    font-size: 1em;
    line-height: 1.4285714286;
    letter-spacing: 0.4em;
  }
}
.flow-list__arrow span.vertical span {
  font-weight: 500;
}

.flow-list__arrow--text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  border: 1px solid #15238A;
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.82em;
  width: 7.65em;
  font-size: 1.21em;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #15238A;
  border-radius: 0.294em;
}
@media screen and (max-width: 600px) {
  .flow-list__arrow--text {
    display: none;
  }
}

.flow-list__contents {
  padding-top: 1em;
  padding-bottom: 2.125em;
}
@media screen and (max-width: 600px) {
  .flow-list__contents {
    padding-top: 0;
    padding-bottom: 0;
  }
}

.flow-list__step {
  display: grid;
  grid-template-columns: 14em auto;
  column-gap: 1.43em;
  align-items: flex-start;
}
@media screen and (max-width: 600px) {
  .flow-list__step {
    grid-template-columns: 1fr;
    padding-bottom: 2.14em;
    position: relative;
  }
  .flow-list__step::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #DDDDDD 0px, #DDDDDD 6px, rgba(255, 255, 255, 0) 6px, rgba(255, 255, 255, 0) 12px);
    background-size: 12px 1px;
    background-repeat: repeat-x;
  }
}
.flow-list__step:nth-child(n+2) {
  margin-top: 5.43em;
}
@media screen and (max-width: 600px) {
  .flow-list__step:nth-child(n+2) {
    margin-top: 2.2em;
  }
}

.flow-list__term--sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .flow-list__term--sp {
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    height: 5em;
    border: 1px solid #15238A;
    border-radius: 0.36em;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.5714285714;
    color: #15238A;
    margin-bottom: 30px;
  }
}

.flow-list__step--number {
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #15238A;
  display: flex;
  align-items: center;
  transform: translateY(-17%);
}
@media screen and (max-width: 600px) {
  .flow-list__step--number {
    margin-bottom: -0.3em;
  }
}
.flow-list__step--number span {
  display: inline-block;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  font-size: 3.21em;
  letter-spacing: 0.01em;
  transform: translateY(10%);
  margin-left: 0.22em;
}

.flow-list__line {
  margin-left: auto;
  width: 6.4em;
  height: 1px;
  background-image: linear-gradient(to right, #15238A, #15238A 2px, rgba(255, 255, 255, 0) 2px, rgba(255, 255, 255, 0) 4px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  position: relative;
}
@media screen and (max-width: 600px) {
  .flow-list__line {
    display: none;
  }
}
.flow-list__line::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background-color: #15238A;
  border-radius: 50%;
}

.flow-list__step--texts dt {
  font-size: 1.64em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3043478261;
  color: #15238A;
}
@media screen and (max-width: 600px) {
  .flow-list__step--texts dt {
    font-size: 1.43em;
    line-height: 1.5;
  }
}
.flow-list__step--texts dd {
  margin-top: 0.75em;
}
@media screen and (max-width: 600px) {
  .flow-list__step--texts dd {
    margin-top: 0.5em;
  }
}

.flow-list__step--text {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .flow-list__step--text {
    line-height: 2;
    letter-spacing: 0.15em;
  }
}

.flow-list__step--note {
  padding: 0 1.57em;
  border-radius: 0.3125em;
  border: 1px solid #3793AF;
  margin-top: 1.4375em;
  max-width: 388px;
}
@media screen and (max-width: 600px) {
  .flow-list__step--note {
    margin-top: 0.79em;
    padding: 0 0.1em 0 0.8em;
  }
}
.flow-list__step--note dt {
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #44B1C5;
  font-size: 1em;
  padding: 1.21em 0 1.21em 0;
  position: relative;
}
.flow-list__step--note dt::before, .flow-list__step--note dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.29em;
  transform: translateY(-50%);
  width: 0.79em;
  height: 2px;
  background-color: #44B1C5;
  border-radius: 10px;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 600px) {
  .flow-list__step--note dt::before, .flow-list__step--note dt::after {
    right: 0.75em;
  }
}
.flow-list__step--note dt::after {
  transform: translateY(-50%) rotate(90deg);
}
.flow-list__step--note dt.is-active::after {
  transform: translateY(-50%);
}
.flow-list__step--note dd {
  line-height: 1.7857142857;
  letter-spacing: 0.08em;
  padding-bottom: 1.4em;
  margin-top: -2px;
  display: none;
}
@media screen and (max-width: 600px) {
  .flow-list__step--note dd {
    max-width: 240px;
    letter-spacing: 0.1em;
    line-height: 1.5714285714;
    margin-top: -0.8em;
    padding-bottom: 1em;
  }
}

.flow__cta--btns {
  font-size: 1.5rem;
  justify-content: center;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .flow__cta--btns {
    font-size: min(1.0980966325vw, 1.5rem);
  }
}
@media screen and (max-width: 600px) {
  .flow__cta--btns {
    font-size: min(3.8461538462vw, 1.5rem);
  }
}
@media screen and (max-width: 600px) {
  .flow__cta--btns {
    row-gap: 1.25em;
  }
}

.web-corporate__results {
  margin-top: 5.7em;
}
@media screen and (max-width: 600px) {
  .web-corporate__results {
    margin-top: 4.7em;
  }
}

.web-corporate__result--cards {
  margin-top: 3.36em;
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
  column-gap: 1.29em;
}

.service-results__btn {
  margin-top: 3.5em;
}

.to-top {
  font-size: 1.4rem;
  text-align: center;
  padding: 3.5em 0 4em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .to-top {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .to-top {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .to-top {
    padding: 2.75em 0 6em;
  }
}
.to-top a {
  display: inline-block;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: #122A88;
}
.to-top a span {
  display: block;
  width: 3.29em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.64em;
}

.other-service {
  font-size: 1.4rem;
  max-width: 968px;
  margin-left: auto;
  margin-right: auto;
  padding: 7.57em 0 7.14em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .other-service {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .other-service {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .other-service {
    padding: 2.35em 0 6.15em;
  }
}

.other-service__lists {
  text-align: center;
  margin-top: 3em;
}
@media screen and (max-width: 600px) {
  .other-service__lists {
    max-width: 296px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.25em;
  }
}

.sp-swiper {
  margin: -15px;
  padding: 15px;
}
@media screen and (max-width: 600px) {
  .sp-swiper .works-card__link {
    box-shadow: none;
  }
  .sp-swiper .swiper-slide-active .works-card__link {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.08);
  }
}

.sp-swiper__container {
  position: relative;
  margin-top: calc(3.36em - 15px);
  max-width: 1088px;
  margin-left: auto;
  margin-right: auto;
}
.sp-swiper__container.-full {
  max-width: 100%;
}
@media screen and (max-width: 600px) {
  .sp-swiper__container {
    margin-top: calc(3.2em - 15px);
  }
}

@media screen and (min-width: 601px) {
  .sp-swiper .swiper-wrapper {
    column-gap: 1.29em;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    row-gap: 2em;
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .sp-swiper .swiper-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 601px) {
  .sp-swiper.sp-swiper-column4 .swiper-wrapper {
    column-gap: 1.29em;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    row-gap: 2em;
  }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .sp-swiper.sp-swiper-column4 .swiper-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}

.sp-pagination {
  width: auto !important;
  position: static;
}
.sp-pagination .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  margin: 0 3px !important;
  background-color: #D6D5D8;
  opacity: 1;
}
.sp-pagination .swiper-pagination-bullet-active {
  background-color: #122A88;
}

.sp-button-prev,
.sp-button-next {
  width: 35px;
  height: 35px;
}
.sp-button-prev::after,
.sp-button-next::after {
  content: "";
}

.sp-button-prev {
  background: url(../img/icon/sp-pagination_prev.svg) no-repeat center/contain;
  left: 0 !important;
  transform: translate(-224%, 32%);
}

.sp-button-next {
  background: url(../img/icon/sp-pagination_next.svg) no-repeat center/contain;
  right: 0 !important;
  transform: translate(224%, 32%);
}

.sp-swiper-wrap {
  margin-top: 2em;
  position: relative;
  margin-left: 50%;
  transform: translateX(-50%);
  height: 6px;
  display: none;
}
@media screen and (max-width: 600px) {
  .sp-swiper-wrap {
    display: inline-block;
  }
}

.web-ec__lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 437px;
  margin-left: auto;
  margin-right: auto;
  column-gap: 1.375em;
  margin-top: 0.75em;
}
@media screen and (max-width: 600px) {
  .web-ec__lists {
    margin-top: 1em;
  }
}

.web-ec__list {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.79em;
  font-size: 1.5em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  background-color: #3793AF;
}
@media screen and (max-width: 600px) {
  .web-ec__list {
    font-size: 1.14em;
    height: 3.25em;
  }
}

.web-ec__features {
  margin-top: 5.6em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 600px) {
  .web-ec__features {
    margin-top: 3.3em;
    margin-bottom: 1.55em;
  }
}

.web-ec__support {
  margin-top: 14em;
}
@media screen and (max-width: 600px) {
  .web-ec__support {
    margin-top: 5.75em;
  }
}

.web-ec__results {
  margin-top: 4.51em;
}

.web-recruit__features {
  margin-top: 4.34em;
  margin-bottom: 0.85em;
}
@media screen and (max-width: 600px) {
  .web-recruit__features {
    margin-top: 3.1em;
    margin-bottom: 1.85em;
  }
}

.web-recruit__support {
  margin-top: 14em;
}
@media screen and (max-width: 600px) {
  .web-recruit__support {
    margin-top: 5.4em;
  }
}

.web-recruit__flow {
  margin-top: 7.8em;
}
@media screen and (max-width: 600px) {
  .web-recruit__flow {
    margin-top: 4em;
  }
}

.web-recruit__results {
  margin-top: 9.7em;
}
@media screen and (max-width: 600px) {
  .web-recruit__results {
    margin-top: 4.75em;
  }
}

.corporate-feature2 .features__contents {
  max-width: 504px;
}
.corporate-feature2 .features__img {
  width: 39%;
  transform: translate(15%, -5%) !important;
}
@media screen and (max-width: 600px) {
  .corporate-feature2 .features__img {
    width: 100%;
    transform: translate(0) !important;
  }
}

.corporate-feature3 {
  margin-right: calc(50% - 44.5vw);
}
.corporate-feature3 .features__contents {
  max-width: 600px;
}
.corporate-feature3 .features__img {
  position: relative;
}
.corporate-feature3 .features__img img {
  width: 142%;
  height: auto;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateY(-42%);
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .corporate-feature3 .features__img img {
    position: static;
    transform: translate(0);
    width: 100%;
  }
}

.service-recruitment {
  margin-top: 5.375em;
}
@media screen and (max-width: 600px) {
  .service-recruitment {
    margin-top: 4.5em;
  }
}
.service-recruitment .service-area__inner {
  padding-top: 4em;
}
@media screen and (max-width: 600px) {
  .service-recruitment .service-area__inner {
    padding-top: 4.5em;
  }
}

.service-area__recruit-icon {
  width: 7.0625em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.8em;
  transform: translateX(-14%);
}
@media screen and (max-width: 600px) {
  .service-area__recruit-icon {
    width: 6.79em;
    transform: translateX(0);
    margin-bottom: 1.8em;
  }
}

.service-area__lead {
  font-size: 1.3125em;
  letter-spacing: 0.05em;
  line-height: 1.9047619048;
  font-weight: 700;
  text-align: center;
  margin-top: 1.75em;
}
@media screen and (max-width: 600px) {
  .service-area__lead {
    font-size: 1.43em;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin-top: 1.25em;
  }
}

.service-area__text {
  letter-spacing: 0.05em;
  font-size: 0.875em;
  line-height: 2.1428571429;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .service-area__text {
    font-size: 1em;
    line-height: 1.5714285714;
    letter-spacing: 0.15em;
    margin-top: 1em;
  }
}

.service-recruit__cta--btns {
  font-size: 0.9375em;
  margin-top: 2.3em;
}
@media screen and (max-width: 600px) {
  .service-recruit__cta--btns {
    margin-top: 2.9em;
  }
}

.service-recruitment__cta--container {
  margin-top: 8.7em;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  .service-recruitment__cta--container {
    margin-top: 5.7em;
  }
}

.service-recruitment__support {
  max-width: 936px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 17.1em;
}
@media screen and (max-width: 600px) {
  .service-recruitment__support {
    margin-top: 5.5em;
  }
}

.recruit-support__lists {
  font-size: 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 5.5em;
  row-gap: 4.2em;
  margin-top: 4.8em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .recruit-support__lists {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .recruit-support__lists {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .recruit-support__lists {
    grid-template-columns: 1fr;
    margin-top: 4.3em;
  }
  .recruit-support__lists .web-support__list--number {
    margin-bottom: 0.5em;
  }
}
.recruit-support__lists .web-support__list--ttl {
  padding-right: 0;
  font-size: 1.71em;
}
@media screen and (max-width: 600px) {
  .recruit-support__lists .web-support__list--ttl {
    font-size: 1.43em;
    padding-bottom: 0.4em;
  }
}
.recruit-support__lists .web-support__list--ttl::before {
  display: none;
}

.recruit-support__details {
  margin-top: 1em;
}

.recruit-support__detail:nth-child(n+2) {
  margin-top: 1.45em;
}
.recruit-support__detail dl dt {
  font-size: 1.21em;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4705882353;
}
.recruit-support__detail dl dd {
  line-height: 1.7857142857;
  letter-spacing: 0.08em;
  margin-top: 0.29em;
}

.service-recruitment__results {
  margin-top: 7.75em;
}
@media screen and (max-width: 600px) {
  .service-recruitment__results {
    margin-top: 3.85em;
  }
}

@media screen and (max-width: 600px) {
  .service-recruit__contact {
    margin-top: 0;
  }
}

.consulting-btns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.consulting-details {
  margin-top: 5.625em;
}
.consulting-details .service-area__inner {
  padding-top: 7em;
}

.service-consulting__icon {
  width: 12.375em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.25em;
}
@media screen and (max-width: 600px) {
  .service-consulting__icon {
    width: 11.14em;
  }
}

.service-consulting__features {
  margin-top: 7.6em;
  margin-bottom: 0.9em;
}
@media screen and (max-width: 600px) {
  .service-consulting__features {
    margin-top: 5em;
  }
}

.service-consulting__text {
  margin-top: 2em;
}

.service-area__sns-icon {
  width: 8.5em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.4em;
}

.service-area__print-icon {
  width: 11.125em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2em;
}
@media screen and (max-width: 600px) {
  .service-area__print-icon {
    width: 10.5em;
  }
}

.service-print__text {
  font-size: 1em;
  margin-top: 1.2em;
  letter-spacing: 0.08em;
  line-height: 2.1875;
}
@media screen and (max-width: 600px) {
  .service-print__text {
    line-height: 1.5714285714;
    letter-spacing: 0.15em;
    margin-top: 1em;
  }
}

.service-print__img {
  width: 102%;
  margin: 6.6em auto 4.2em;
  transform: translateX(1%);
}
@media screen and (max-width: 600px) {
  .service-print__img {
    width: 100vw;
    margin: 2.75em calc(50% - 50vw);
    transform: translateX(0);
    margin-bottom: 0;
  }
  .service-print__img img {
    width: 115%;
    transform: translateX(-8%);
  }
}

.web-print__features {
  margin-top: 7.7em;
  margin-bottom: 1.55em;
}
@media screen and (max-width: 600px) {
  .web-print__features {
    margin-top: 4.5em;
    margin-bottom: 1em;
  }
}

.service-print__feature2 {
  margin-top: 4.2em !important;
}
@media screen and (max-width: 600px) {
  .service-print__feature2 {
    margin-top: 1.1em !important;
  }
}
.service-print__feature2 .features__text {
  margin-right: -2em !important;
}
@media screen and (max-width: 600px) {
  .service-print__feature2 .features__text {
    margin-right: 0 !important;
  }
}
.service-print__feature2 .features__img {
  transform: translate(10%, 12%) !important;
}
@media screen and (max-width: 600px) {
  .service-print__feature2 .features__img {
    transform: translate(0) !important;
  }
}

.service-area__video-icon {
  width: 7.0625em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.75em;
  transform: translateX(12%);
}
@media screen and (max-width: 600px) {
  .service-area__video-icon {
    width: 7em;
  }
}

.service-video .service-area__inner {
  padding-top: 3em;
}
@media screen and (max-width: 600px) {
  .service-video .service-area__inner {
    padding-top: 2.5em;
  }
}

.service-video__feature2 .features__text {
  margin-right: -1em;
}
@media screen and (max-width: 600px) {
  .service-video__feature2 .features__text {
    margin-right: 0;
  }
}

.p-contact {
  font-size: 1.4rem;
  padding-top: 8.5em;
  padding-bottom: 8.43em;
  overflow: hidden;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .p-contact {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .p-contact {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .p-contact {
    padding-top: 4em;
    padding-bottom: 3.9em;
  }
}

.p-contact__ttl {
  font-size: 2.5em;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #122A88;
  line-height: 1.5;
  position: relative;
}
.p-contact__ttl::before {
  content: "Contact";
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-6%, -48%);
  font-size: 4.14em;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  letter-spacing: 0.01em;
  line-height: 1;
  font-weight: 400;
  color: #F0F0F0;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 600px) {
  .p-contact__ttl {
    font-size: 1.57em;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-contact__text {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  margin-top: 1em;
}
@media screen and (max-width: 600px) {
  .p-contact__text {
    line-height: 2;
    letter-spacing: 0.15em;
    margin-top: 0.5em;
  }
}

.p-contact__wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 3.71em;
}
@media screen and (max-width: 600px) {
  .p-contact__wrap {
    display: block;
    margin-top: 1.5em;
  }
}

.p-contact__contents {
  width: 31.5em;
  max-width: 40%;
}
@media screen and (max-width: 600px) {
  .p-contact__contents {
    width: 100%;
    max-width: 100%;
  }
}

.p-contact__block:nth-child(n+2) {
  margin-top: 3.21em;
}
@media screen and (max-width: 600px) {
  .p-contact__block:nth-child(n+2) {
    margin-top: 1.4em;
  }
}
.p-contact__block h3 {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2.1428571429;
  color: #122A88;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 600px) {
  .p-contact__block h3 {
    font-size: 1.14em;
    letter-spacing: 0.1em;
    line-height: 2.8125;
    padding-bottom: 0.1em;
  }
}

.p-contact__lists {
  line-height: 2.5;
  letter-spacing: 0.08em;
  margin-top: 0.71em;
}
@media screen and (max-width: 600px) {
  .p-contact__lists {
    line-height: 1.4285714286;
    margin-top: 1.5em;
  }
}
.p-contact__lists li {
  padding-left: 1em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .p-contact__lists li:nth-child(n+2) {
    margin-top: 1.5em;
  }
}
.p-contact__lists li::before {
  content: "";
  position: absolute;
  top: 1.25em;
  left: 0.5em;
  transform: translateY(-50%);
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  background-color: #3C3C3C;
}
@media screen and (max-width: 600px) {
  .p-contact__lists li::before {
    top: 0.75em;
  }
}

.p-contact__img {
  margin-top: 1.14em;
}

.p-contact__form {
  width: 41.4em;
  max-width: 55%;
}
@media screen and (max-width: 600px) {
  .p-contact__form {
    width: 93%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.75em;
  }
}

.contact__submit {
  margin-top: 3.36em;
  margin-left: 0.25em;
}
@media screen and (max-width: 600px) {
  .contact__submit {
    margin-left: 0;
    margin-top: 2em;
  }
}

/*======================================
    archive news
======================================*/
.a-news {
  font-size: 1.4rem;
  margin-top: 3.21em;
  padding-bottom: 9.64em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .a-news {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .a-news {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .a-news {
    margin-top: 2.5em;
    padding-bottom: 4.64em;
  }
}
.a-news .inner {
  max-width: 1005px;
}

.a-news-cat__btns {
  font-size: 1.21em;
  margin-top: 2.65em;
}
@media screen and (max-width: 600px) {
  .a-news-cat__btns {
    font-size: 1em;
    margin-top: 2.4em;
  }
}

.a-news__lists {
  margin-top: 4.29em;
  max-width: 100%;
}
@media screen and (max-width: 600px) {
  .a-news__lists {
    margin-top: 1.8em;
  }
}
.a-news__lists li:nth-child(n+2) {
  margin-top: 2.29em;
}
@media screen and (max-width: 600px) {
  .a-news__lists li:nth-child(n+2) {
    margin-top: 1.2em;
  }
}
.a-news__lists .news__list--ttl {
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .a-news__lists .news__list--ttl {
    line-height: 1.7857142857;
    letter-spacing: 0.12em;
  }
}

.a-news-pagination {
  margin-top: 4.875em;
}

/*======================================
    privacy policy / terms
======================================*/
.privacy,
.terms {
  font-size: 1.4rem;
  margin-top: 6.25em;
  padding-bottom: 5.29em;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  color: #000;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .privacy,
  .terms {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .privacy,
  .terms {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .privacy,
  .terms {
    margin-top: 2.5em;
    width: 87%;
  }
}
.privacy p, .privacy ul,
.terms p,
.terms ul {
  margin-bottom: 2.2em;
}
.privacy ul li,
.terms ul li {
  line-height: 2.1428571429;
}

.privacy {
  max-width: 935px;
}
.privacy h2 {
  padding-left: 1em;
  position: relative;
}
.privacy h2::before {
  content: "";
  position: absolute;
  top: 1.07em;
  left: 0.25em;
  transform: translateY(-50%);
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  background-color: #000;
}

.terms {
  max-width: 926px;
}

.terms p.r-box {
  text-align: right;
}
@media screen and (max-width: 600px) {
  .terms {
    padding-bottom: 0;
  }
}
.terms h2 {
  font-weight: 700;
}

.list-disc li {
  letter-spacing: 0.08em;
  line-height: 2.5;
  padding-left: 1.2em;
  position: relative;
}
.list-disc li::before {
  content: "";
  position: absolute;
  top: 1.25em;
  left: 0.5em;
  transform: translateY(-50%);
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  background-color: #3C3C3C;
}

/*======================================
    faq
======================================*/
.faq {
  font-size: 1.4rem;
  max-width: 990px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6.86em;
  padding-bottom: 145px;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .faq {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .faq {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .faq {
    margin-top: 3.86em;
    width: 87%;
  }
}
.faq section:nth-child(n+2) {
  margin-top: 7.57em;
}
@media screen and (max-width: 600px) {
  .faq section:nth-child(n+2) {
    margin-top: 4.57em;
  }
}

.faq__btns {
  display: flex;
  justify-content: space-between;
  column-gap: 2.86em;
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 11.57em;
}
@media screen and (max-width: 600px) {
  .faq__btns {
    justify-content: center;
    column-gap: 2.5em;
    margin-bottom: 0;
  }
}

.faq__btn {
  font-size: 1.29em;
}
@media screen and (max-width: 600px) {
  .faq__btn {
    font-size: 1.14em;
    text-align: center;
    line-height: 1.5625;
  }
}
.faq__btn a {
  display: block;
  letter-spacing: 0.08em;
  font-weight: 700;
  position: relative;
}
.faq__btn a::before {
  content: "";
  position: absolute;
  bottom: -1.5em;
  left: 50%;
  transform: translateX(-50%);
  width: 1.11em;
  height: 1em;
  background: url(../img/icon/icon_arrow_down.svg) no-repeat center/contain;
  transition: bottom 0.3s ease;
}
@media screen and (max-width: 600px) {
  .faq__btn a::before {
    bottom: -1.25em;
  }
}

.faq__ttl {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
  color: #122A88;
  margin-bottom: 1.2em;
}
@media screen and (max-width: 600px) {
  .faq__ttl {
    font-size: 1.43em;
    letter-spacing: 0.05em;
    line-height: 1.5;
    padding-left: 0.25em;
  }
}

.faq-list {
  border-bottom: 1px solid #AFAFAF;
  padding: 1.79em 1.57em 1.93em 0.21em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .faq-list {
    padding-right: 0;
  }
}
.faq-list:first-child {
  border-top: 1px solid #AFAFAF;
}
.faq-list dl dt {
  letter-spacing: 0.12em;
  line-height: 1.7857142857;
  position: relative;
}
.faq-list dl dt::before, .faq-list dl dt::after {
  content: "";
  position: absolute;
  top: 0.89em;
  right: 0;
  transform: translateY(-50%);
  width: 1.57em;
  height: 0.19em;
  background-color: #122A88;
  transition: transform 0.3s ease;
}
.faq-list dl dt::after {
  transform: translateY(-50%) rotate(90deg);
}
.faq-list dl dt.is-active::after {
  transform: translateY(-50%);
}
.faq-list dl dt span {
  display: block;
  font-weight: 700;
  padding-left: 2.86em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .faq-list dl dt span {
    padding-right: 3em;
  }
}
.faq-list dl dt span::before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 0;
  color: #3DB1C6;
  font-size: 1.71em;
  font-weight: 700;
  line-height: 1;
}
.faq-list dl dd {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  background-color: #F8F8F8;
  padding: 2em 3em 3.93em;
  margin-top: 1.86em;
  margin-left: 3.57em;
  margin-right: 4.29em;
  display: none;
}
@media screen and (max-width: 600px) {
  .faq-list dl dd {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.75em;
    padding: 1em 1em 1.2em 0.65em;
  }
}

.faq__top {
  text-align: center;
  margin-top: 2.64em;
}
.faq__top a {
  display: inline-block;
  padding-top: 3.93em;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: #122A88;
  position: relative;
  transition: opacity 0.3s ease;
}
.faq__top a:hover {
  opacity: 0.7;
}
.faq__top a:hover::before {
  top: -0.2em;
}
.faq__top a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 3.29em;
  height: 3.29em;
  background: url(../img/icon/icon_top.svg) no-repeat center/contain;
  transition: top 0.3s ease;
}

/*======================================
    archive works
======================================*/
.pickup-works {
  font-size: 1.4rem;
  margin-top: 5.36em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .pickup-works {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .pickup-works {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .pickup-works {
    margin-top: 2.36em;
  }
}

.pickup-works__ttl {
  font-size: 1.71em;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 600px) {
  .pickup-works__ttl {
    text-align: center;
    font-size: 1.57em;
  }
}

.cases {
  font-size: 1.4rem;
  margin-top: 8.14em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .cases {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .cases {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .cases {
    margin-top: 4em;
  }
}
.cases .section-ttl1 {
  font-size: 1.46em;
  letter-spacing: 0.08em;
  padding-bottom: 0.3em;
}
@media screen and (max-width: 600px) {
  .cases .section-ttl1 {
    font-size: 1em;
    letter-spacing: 0.05em;
    margin-top: 0.25em;
  }
}

@media screen and (max-width: 600px) {
  .cat-ttl__container {
    background-color: #122A88;
    color: #fff;
    padding-top: 2em;
    padding-bottom: 1em;
  }
  .cat-ttl__container .inner {
    position: relative;
  }
  .cat-ttl__container .ttl-en {
    color: #fff;
  }
  .cat-ttl__container .section-ttl1 {
    border-color: #fff;
  }
}

.cat__container {
  font-size: 1.6rem;
  background-color: #122A88;
  padding: 2.5em 0 2.5em;
  margin-top: 2.1875em;
  margin-bottom: 5em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .cat__container {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .cat__container {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .cat__container {
    margin-top: 0;
    padding-top: 0.5em;
    padding-bottom: 1.5em;
  }
  .cat__container.-show {
    display: block;
    padding-top: 1.5em;
    margin-top: 2em;
  }
}

.cat__wrap {
  width: 92%;
  max-width: 1058px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 1.875em;
  position: relative;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .cat__wrap {
    width: 100%;
    padding-right: 0.4em;
  }
}

.search__cats--btn,
.search__sp--btn {
  position: absolute;
  top: 0.25em;
  right: 0;
}
@media screen and (max-width: 600px) {
  .search__cats--btn.-pc,
  .search__sp--btn.-pc {
    display: none;
  }
}
.search__cats--btn.-sp,
.search__sp--btn.-sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .search__cats--btn.-sp,
  .search__sp--btn.-sp {
    display: block;
    right: 0.5em;
    top: 50%;
    transform: translateY(-50%);
  }
}
.search__cats--btn.is-active .search__cats--bars .bar2,
.search__sp--btn.is-active .search__cats--bars .bar2 {
  transform: translate(-50%, -50%);
}
.search__cats--btn .search__cats--bars,
.search__sp--btn .search__cats--bars {
  position: relative;
  width: 1.1875em;
  height: 1.1875em;
}
@media screen and (max-width: 600px) {
  .search__cats--btn .search__cats--bars,
  .search__sp--btn .search__cats--bars {
    width: 1.36em;
    height: 1.36em;
  }
}
.search__cats--btn .search__cats--bars .bar,
.search__sp--btn .search__cats--bars .bar {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.1875em;
  height: 0.1875em;
  background-color: #fff;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 600px) {
  .search__cats--btn .search__cats--bars .bar,
  .search__sp--btn .search__cats--bars .bar {
    width: 1.36em;
    height: 0.21em;
  }
}
.search__cats--btn .search__cats--bars .bar1,
.search__sp--btn .search__cats--bars .bar1 {
  transform: translate(-50%, -50%);
}
.search__cats--btn .search__cats--bars .bar2,
.search__sp--btn .search__cats--bars .bar2 {
  transform: translate(-50%, -50%) rotate(90deg);
}

@media screen and (min-width: 601px) {
  .search__sp--btn {
    display: none;
  }
}

.search__cat--lists {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15em, 1fr));
  row-gap: 1.875em;
  transition: row-gap 0.3s ease;
}
@media screen and (max-width: 600px) {
  .search__cat--lists {
    row-gap: 1.8em;
    grid-template-columns: 1fr;
  }
}
.search__cat--lists.is-active {
  row-gap: 5.625em;
}

.search__cat--list {
  position: relative;
}

.search__cat--type {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5625;
}

.search__cat--sublists {
  padding-top: 1.375em;
}
@media screen and (max-width: 600px) {
  .search__cat--sublists {
    display: none;
  }
}

.search__cat--sublist:nth-child(n+2) {
  margin-top: 2em;
}
.search__cat--sublist input {
  display: none;
}
.search__cat--sublist input:checked + span.search-cat::before {
  background-color: #fff;
}

.search-cat {
  display: block;
  padding-left: 2.5em;
  letter-spacing: 0.08em;
  line-height: 1.5;
  position: relative;
}
.search-cat::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.125em;
  height: 1.125em;
  border: 1px solid #fff;
  transition: background-color 0.3s ease;
}

.archive-woks__results {
  margin-top: 2.5em;
}
@media screen and (max-width: 600px) {
  .archive-woks__results {
    margin-top: 4.5em;
  }
}
.archive-woks__results .case-cards {
  margin-top: 2em;
}
@media screen and (max-width: 600px) {
  .archive-woks__results .case-cards {
    margin-top: 1.25em;
  }
}

.archive__results--number {
  text-align: right;
  font-size: 1.4rem;
}
.archive__results--number p {
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding-bottom: 8px;
  border-bottom: 1px solid #3C3C3C;
}
.archive__results--number p span {
  display: inline-block;
  margin-left: 1em;
  margin-right: 0.25em;
}

.search-form__btns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 890px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5em;
}
@media screen and (max-width: 600px) {
  .search-form__btns {
    padding-top: 3em;
    flex-direction: column-reverse;
    row-gap: 1em;
  }
}

.search-form__btn {
  width: 25em;
  max-width: 40%;
}
@media screen and (max-width: 600px) {
  .search-form__btn {
    max-width: 100%;
    width: 25em;
  }
}
.search-form__btn input {
  font-weight: 500;
  letter-spacing: 0.08em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: inherit;
  border: none;
  color: #122A88;
  width: 100%;
  display: flex;
  height: 3.75em;
  border-radius: 0.3125em;
  padding-left: 2.25em;
  text-align: left;
  box-shadow: none;
  background: #fff url(../img/icon/form_arrow.svg) no-repeat center right 2.125em/0.375em 0.75em;
  transition: opacity 0.3s ease;
}
.search-form__btn input:hover {
  opacity: 0.7;
}
.search-form__btn:first-child input {
  color: #3C3C3C;
  background-color: #DBDBDB;
}

/*======================================
    single works
======================================*/
.s-works {
  position: relative;
  z-index: 1;
  padding-top: 2.29em;
  padding-bottom: 9.43em;
  font-size: 1.4rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .s-works {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .s-works {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .s-works {
    padding-top: 1.29em;
    padding-bottom: 3.43em;
  }
}
.s-works::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 428px;
  height: 353px;
  transform: scale(-1, 1);
  background: url(../img/common/page_bg.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .s-works::before {
    width: 100%;
  }
}

.s-works__bread {
  max-width: 1082px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.29em;
}
@media screen and (max-width: 600px) {
  .s-works__bread {
    margin-bottom: 2.9em;
  }
}

.breadcrumb {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .breadcrumb {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .breadcrumb {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}

.s-works__container {
  margin-left: auto;
  margin-right: auto;
}
.s-works__container .inner {
  max-width: 936px;
}

.s-works__head--container {
  padding-left: 0.5%;
  border-bottom: 1px solid #15238A;
}

.s-works__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 1.43em;
}
@media screen and (max-width: 600px) {
  .s-works__head {
    flex-direction: column;
    align-items: start;
    row-gap: 1.2em;
  }
}

.s-works__cat {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 1.71em;
  border-radius: 0.36em;
  color: #fff;
  letter-spacing: 0.08em;
  font-weight: 500;
  padding: 0 1.57em;
}

.s-works__tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 0.5em;
  column-gap: 1em;
  color: #122A88;
  letter-spacing: 0.08em;
  font-size: 0.86em;
}

.s-works__ttl {
  font-size: 2.5em;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4285714286;
  color: #15238A;
  margin-top: 0.25em;
  padding-bottom: 0.8em;
}
@media screen and (max-width: 600px) {
  .s-works__ttl {
    font-size: 1.57em;
    line-height: 1.5909090909;
    margin-top: 0.7em;
    padding-bottom: 0.5em;
  }
	.s-works__text {
		display: unset !important;
	}
	.s-works__text h2{
		margin-bottom:10px;
	}
	.s-works__texts li:nth-of-type(2) h2 {
		margin-top:20px;
	}
}

.works__genre {
  flex-direction: column;
}

.s-works__img {
  width: 54.1rem;
  margin: 3.125em auto 0.71em;
}
.s-works__img img {
  object-fit: contain;
}

.s-works__texts {
  margin: 3.125em 0 2.5em;
  line-height: 1.75;
  font-size: 1.14em;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
}

.s-works__text {
  display: grid;
  grid-template-columns: 10em auto;
  column-gap: 1em;
}
.s-works__text * {
  font-weight: 500;
  letter-spacing: 0.12em;
}
.s-works__text:nth-child(n+2) {
  margin-top: 2.5em;
}
.s-works__text a {
  text-decoration: underline;
  transition: color 0.3s ease;
}
.s-works__text a:hover {
  color: #122A88;
}
.s-works__text ul {
  margin-bottom: 2em;
}
.s-works__text ul li {
  position: relative;
  padding-left: 0.75em;
}
.s-works__text ul li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 0.3em;
  height: 0.3em;
  border-radius: 50%;
  background-color: #3DB1C6;
}

.s-works__eye {
  width: 90%;
  max-width: 804px;
  margin: 2.43em auto 0;
}
@media screen and (max-width: 600px) {
  .s-works__eye {
    width: 100%;
    margin-top: 1.7em;
  }
  .s-works__img {
    width: 100%;
    margin: 0 auto;
  }

}

.s-works__contents p {
  letter-spacing: 0.08em;
  line-height: 2.5;
}
@media screen and (max-width: 600px) {
  .s-works__contents p {
    line-height: 2;
    letter-spacing: 0.15em;
  }
}
.s-works__contents h2 {
  font-size: 1.79em;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.36;
  color: #122A88;
  padding-bottom: 0.4em;
  border-bottom: 1px solid #15238A;
}
@media screen and (max-width: 600px) {
  .s-works__contents h2 {
    font-size: 1.43em;
    line-height: 1.35;
    padding-bottom: 0.2em;
  }
}
.s-works__contents .center {
  text-align: center;
}
.s-works__contents .s-works__lead {
  font-weight: 600;
  letter-spacing: 0.12em;
  font-size: 1.21em;
  line-height: 2.0588235294;
  color: #4E3925;
  margin-bottom: 0.35em;
  margin-top: 1.53em;
}
@media screen and (max-width: 600px) {
  .s-works__contents .s-works__lead {
    font-size: 1.14em;
    line-height: 1.875;
    margin-top: 1.2em;
    margin-bottom: 0.55em;
  }
}
.s-works__contents .s-works__overview--container {
  max-width: 840px;
  margin: 4.43em auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 8.1%;
}
@media screen and (max-width: 600px) {
  .s-works__contents .s-works__overview--container {
    grid-template-columns: 1fr;
    row-gap: 3.2em;
    margin-top: 2.43em;
  }
}
.s-works__contents .s-works__overview--container .s-works__overview:first-child {
  margin-right: 4.5%;
}
@media screen and (max-width: 600px) {
  .s-works__contents .s-works__overview--container .s-works__overview:first-child {
    margin-right: 0;
  }
}

.member-lists {
  margin-top: 2.43em;
}

.member-list {
  display: grid;
  grid-template-columns: 5.71em auto;
  column-gap: 1.64em;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .member-list {
    align-items: start;
  }
}
.member-list:nth-child(n+2) {
  margin-top: 2.71em;
}
@media screen and (max-width: 600px) {
  .member-list:nth-child(n+2) {
    margin-top: 2.5em;
  }
}

.member-list__img {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
}
.member-list__img::before {
  content: "";
  display: block;
  padding-top: 100%;
  background-color: lightgray;
}
.member-list__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.member-list__position {
  line-height: 1 !important;
}
.member-list__position span {
  display: inline-block;
  font-size: 0.86em;
  letter-spacing: 0.12em;
  font-weight: 500;
  position: relative;
  padding: 0.29em 0.5em 0.29em 1.25em;
  border: 1px solid #15238A;
  border-radius: 0.92em;
  line-height: 1;
  background-color: #fff;
  color: #15238A;
}
.member-list__position span::before {
  content: "#";
  position: absolute;
  top: 0.29em;
  left: 0.5em;
}

.member-list__name {
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.3571428571;
  color: #15238A;
  margin-top: 0.2em;
}
@media screen and (max-width: 600px) {
  .member-list__name {
    margin-top: 0.55em;
  }
}
.member-list__name span {
  display: block;
  font-size: 0.86em;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4166666667;
  color: #AFAFAF;
}

.spec-lists {
  margin-top: 2.43em;
}
@media screen and (max-width: 600px) {
  .spec-lists {
    margin-top: 0.85em;
  }
}

.spec-list:nth-child(n+2) {
  margin-top: 1.71em;
}
@media screen and (max-width: 600px) {
  .spec-list:nth-child(n+2) {
    margin-top: 1em;
  }
}
@media screen and (max-width: 600px) {
  .spec-list {
    position: relative;
    padding-bottom: 1.35em;
  }
  .spec-list::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #DDDDDD 0px, #DDDDDD 6px, rgba(255, 255, 255, 0) 6px, rgba(255, 255, 255, 0) 12px);
    background-size: 12px 1px;
    background-repeat: repeat-x;
  }
}
.spec-list dl {
  display: grid;
  grid-template-columns: 6.7em auto;
  column-gap: 1.93em;
}
@media screen and (max-width: 600px) {
  .spec-list dl {
    grid-template-columns: 1fr;
  }
}
.spec-list dl dt, .spec-list dl dd {
  line-height: 2.1428571429;
  letter-spacing: 0.12em;
}
.spec-list dl dt {
  font-weight: 700;
}
.spec-list dl dd {
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .spec-list dl dd {
    line-height: 1.85;
  }
}
.spec-list dl dd ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
}
@media screen and (max-width: 600px) {
  .spec-list dl dd ul {
    line-height: 2.1428571429;
  }
}
.spec-list dl dd ul li {
  position: relative;
  padding-left: 0.75em;
  font-weight: 500;
}
.spec-list dl dd ul li::before {
  content: "#";
  position: absolute;
  top: 0;
  left: 0;
}

.s-link__btn {
  margin-top: 3.86em;
  margin-bottom: 8em;
}
@media screen and (max-width: 600px) {
  .s-link__btn {
    margin-top: 2.5em;
    margin-bottom: 5.5em;
  }
  .s-link__btn a {
    width: 100% !important;
    max-width: 21.375em;
    text-align: center;
    justify-content: center;
    padding-right: 0;
    padding-left: 0;
  }
}

.s-interview__img {
  width: 93.48%;
  margin: 2.86em auto 0;
  position: relative;
  overflow: hidden;
  border-radius: 0.71em;
}
@media screen and (max-width: 600px) {
  .s-interview__img {
    width: 100%;
    margin-top: 1.5em;
  }
}
.s-interview__img::before {
  content: "";
  display: block;
  padding-top: 46.1714285714%;
}
.s-interview__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s-interview__lead {
  margin-top: 3.75em;
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .s-interview__lead {
    margin-top: 1.4em;
    line-height: 2.5 !important;
  }
}
.s-interview__lead span {
  display: inline-block;
  margin: 0.35em 0;
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #122A88;
}
@media screen and (max-width: 600px) {
  .s-interview__lead span {
    line-height: 1.7;
    margin: 1em 0 0.6em;
  }
}

.s-interview__lists {
  margin-top: 6.86em;
}
@media screen and (max-width: 600px) {
  .s-interview__lists {
    margin-top: 4.2em;
  }
}

.s-interview__list.-column2 {
  display: grid;
  grid-template-columns: auto 44.12%;
  column-gap: 1.5em;
}
@media screen and (max-width: 600px) {
  .s-interview__list.-column2 {
    grid-template-columns: 1fr;
    row-gap: 2.2em;
  }
}
.s-interview__list.-column2 .s-interview__text {
  max-width: 351px;
}
.s-interview__list:nth-child(n+2) {
  margin-top: 8.93em;
}
@media screen and (max-width: 600px) {
  .s-interview__list:nth-child(n+2) {
    margin-top: 4.2em;
  }
}
.s-interview__list h3 {
  color: #3793AF;
  font-weight: 700;
  font-size: 1.5em;
  letter-spacing: 0.12em;
  line-height: 1.3333333333;
  padding-left: 5.86em;
  position: relative;
  margin-bottom: 2.52em;
}
@media screen and (max-width: 600px) {
  .s-interview__list h3 {
    font-size: 1.14em;
    padding-left: 2.375em;
    margin-bottom: 1.25em;
  }
}
.s-interview__list h3::before {
  content: "";
  position: absolute;
  top: 0.67em;
  left: 0;
  transform: translateY(-50%);
  width: 5.14em;
  height: 1px;
  background-color: #3793AF;
}
@media screen and (max-width: 600px) {
  .s-interview__list h3::before {
    width: 1.6875em;
  }
}

.s-interview__contents {
  display: grid;
  grid-template-columns: 5.71em auto;
  column-gap: 2.64em;
  align-items: start;
}
@media screen and (max-width: 600px) {
  .s-interview__contents {
    grid-template-columns: 1fr;
  }
}

.s-interview__list--person {
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .s-interview__list--person {
    width: 5.71em;
    margin-bottom: 1.5em;
  }
}
.s-interview__list--person::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.s-interview__list--person img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s-interview__text {
  margin-top: -0.75em;
}
.s-interview__text p {
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.12em;
}

.s-interview__list--img {
  position: relative;
  border-radius: 0.71em;
  overflow: hidden;
}
.s-interview__list--img::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.s-interview__list--img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-download {
  background: url(../img/page/download_bg.jpg) no-repeat center top/contain;
  padding-top: 14.57em;
  padding-bottom: 8.21em;
  font-size: 1.4rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .c-download {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .c-download {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .c-download {
    background: url(../img/page/download_bg_sp.jpg) no-repeat center/cover;
    padding-top: 10.57em;
    padding-bottom: 3.5em;
  }
}

.c-download__contents {
  width: 90%;
  max-width: 961px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 0.36em;
  padding: 5.43em 5em 0 6.14em;
  display: grid;
  grid-template-columns: auto 35.56%;
  column-gap: 5.36em;
}
@media screen and (max-width: 600px) {
  .c-download__contents {
    display: block;
    position: relative;
    padding: 4.25em 1em 1.85em;
  }
}

.c-download__ttl {
  font-size: 1.71em;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.25;
  color: #15238A;
}
@media screen and (max-width: 600px) {
  .c-download__ttl {
    text-align: center;
    line-height: 1.25;
  }
}

.c-download__text {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-top: 1em;
}
@media screen and (max-width: 600px) {
  .c-download__text {
    text-align: center;
    letter-spacing: 0.15em;
    line-height: 2;
    font-weight: 400;
  }
}

.c-download__btn {
  margin-top: 3.14em;
}
@media screen and (max-width: 600px) {
  .c-download__btn {
    margin-top: 1.5em;
  }
}
.c-download__btn a.section-btn {
  margin-left: 0;
  width: 100%;
  max-width: 444px;
  letter-spacing: 0.08em;
  font-size: 1.21em;
}
@media screen and (max-width: 600px) {
  .c-download__btn a.section-btn {
    text-align: center;
    padding-right: 0;
    padding-left: 0;
    justify-content: center;
  }
}
.c-download__btn a.section-btn::before {
  width: 1em;
  height: 1em;
}

.c-download__charactor {
  transform: translateY(-4%);
}
@media screen and (max-width: 600px) {
  .c-download__charactor {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -70%);
    width: 12.86em;
  }
}

/*======================================
    word
======================================*/
.word {
  font-size: 1.4rem;
  margin-top: 3.86em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .word {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .word {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .word {
    margin-top: 1.6em;
  }
}

.word__container {
  max-width: 754px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3.93em;
  margin-bottom: 13.36em;
}
@media screen and (max-width: 600px) {
  .word__container {
    margin-top: 1.8em;
    margin-bottom: 3.57em;
  }
}

.word-btns {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 1.43em;
  row-gap: 1.29em;
}
@media screen and (max-width: 600px) {
  .word-btns {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1.57em;
    row-gap: 0.93em;
  }
}

.word-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.36em;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #15238A;
  border: 1px solid #15238A;
  height: 2.68em;
}
.word-btn:first-child {
  display: none;
}

.word-areas {
  margin-top: 8.14em;
  margin-bottom: 7.14em;
}
@media screen and (max-width: 600px) {
  .word-areas {
    margin-top: 3.71em;
    margin-bottom: 3.5em;
  }
}

.word-list {
  padding: 4.29em 0;
  border-bottom: 1px solid #AFAFAF;
}
@media screen and (max-width: 600px) {
  .word-list {
    padding: 1.43em 0 1.9em;
  }
}
.word-list:first-child {
  border-top: 1px solid #AFAFAF;
}
.word-list.not-found {
  padding: 0;
  border: none;
}
.word-list h3 {
  font-size: 1.36em;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.75;
  color: #15238A;
}
.word-list p {
  line-height: 1.7857142857;
  letter-spacing: 0.05em;
}
.word-list p span {
  display: inline-block;
  font-weight: 700;
}
.word-list .word-list__ex {
  color: #4A4A4A;
  background-color: #EDEDED;
  padding: 1.2em 1.2em 1em;
  margin-top: 1.5em;
}
@media screen and (max-width: 600px) {
  .word-list .word-list__ex {
    margin-top: 1em;
  }
}

.word__not-found {
  font-size: 1em;
  letter-spacing: 0.08em;
}

/*======================================
    message
======================================*/
.message-bg {
  background: url(../img/page/message_bg.jpg) no-repeat center bottom/cover;
  padding-top: 1.5em;
  padding-bottom: 12.86em;
  font-size: 1.4rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .message-bg {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .message-bg {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .message-bg {
    padding-bottom: 6em;
  }
}

.message {
  text-align: center;
  margin-top: 4.7em;
}
@media screen and (max-width: 600px) {
  .message {
    margin-top: 3em;
  }
}

.message__head--lead {
  font-size: 2.14em;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.6666666667;
  font-family: "Noto Serif JP", serif;
  color: #122A88;
}
@media screen and (max-width: 600px) {
  .message__head--lead {
    font-size: 1.5em;
  }
}

.message__head--text {
  line-height: 2.5;
  letter-spacing: 0.12em;
  margin-top: 1em;
}
@media screen and (min-width: 601px) {
  .message__head--text {
    position: relative;
    z-index: 1;
  }
  .message__head--text::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 59em;
    height: 13.86em;
    max-width: 926px;
    opacity: 0.07;
    background: url(../img/common/logo_blue.png) no-repeat center/contain;
    z-index: -1;
  }
}

.message__head--company {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 2.5;
  margin-top: 2em;
}

.message__head--name {
  font-family: "Noto Serif JP", serif;
  font-size: 1.64em;
  letter-spacing: 0.12em;
  margin-top: 0.25em;
}
.message__head--name span {
  font-size: 0.52em;
  display: inline-block;
  margin-right: 0.5em;
  letter-spacing: 0.12em;
  font-weight: 500;
}

.message-faq {
  font-size: 1.4rem;
  background-color: #F4F4F4;
  padding-bottom: 9.29em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .message-faq {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .message-faq {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .message-faq {
    padding-bottom: 4em;
  }
}

.message-lists {
  transform: translateY(-2.43em);
  max-width: 984px;
  margin-left: auto;
  margin-right: auto;
}

.message-list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 600px) {
  .message-list {
    flex-direction: column;
    row-gap: 2em;
  }
}
.message-list:nth-child(even) {
  flex-direction: row-reverse;
  max-width: 934px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .message-list:nth-child(even) {
    flex-direction: column;
  }
}
.message-list:nth-child(even) .message-list__img {
  width: 45%;
}
@media screen and (max-width: 600px) {
  .message-list:nth-child(even) .message-list__img {
    width: 100%;
  }
}
.message-list:nth-child(even) .message-list__texts {
  width: 46.3%;
}
@media screen and (max-width: 600px) {
  .message-list:nth-child(even) .message-list__texts {
    width: 100%;
  }
}
.message-list:first-child {
  align-items: flex-end;
}
.message-list:last-child {
  margin-top: 5em !important;
  max-width: 100%;
  display: block;
}
.message-list:last-child .message-list__texts {
  width: 100%;
}
.message-list:nth-child(n+2) {
  margin-top: 7.6em;
}
@media screen and (max-width: 600px) {
  .message-list:nth-child(n+2) {
    margin-top: 4em;
  }
}
.message-list h3 {
  font-size: 1.5em;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.08em;
  line-height: 1.6666666667;
  color: #15238A;
}
.message-list dl {
  margin-top: 2em;
}
@media screen and (max-width: 600px) {
  .message-list dl {
    margin-top: 1em;
  }
}
.message-list dl dt, .message-list dl dd {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
}
.message-list dl dt {
  font-weight: 500;
}
.message-list dl dt span {
  display: inline-block;
  margin-right: 0.5em;
}
.message-list dl dd {
  margin-top: 0.8em;
}

.message-list__img {
  width: 42.89%;
}
@media screen and (max-width: 600px) {
  .message-list__img {
    width: 100%;
  }
}

.message-list__texts {
  width: 50.8%;
}
@media screen and (max-width: 600px) {
  .message-list__texts {
    width: 100%;
  }
}

/*======================================
    company
======================================*/
.company {
  font-size: 1.4rem;
  padding-bottom: 8.4em;
  padding-top: 4.75em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .company {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .company {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .company {
    padding-top: 0.5em;
    padding-bottom: 3.8em;
  }
}
.company .inner {
  max-width: 820px;
}

.company-list {
  padding: 1.93em 0 1.75em;
  border-bottom: 1px solid #AFAFAF;
}
@media screen and (max-width: 600px) {
  .company-list {
    padding-bottom: 1.9em;
  }
  .company-list:first-child {
    padding-top: 0;
  }
}

.list-column2 {
  display: grid;
  grid-template-columns: 16.21em auto;
}
@media screen and (max-width: 600px) {
  .list-column2 {
    grid-template-columns: 1fr;
    row-gap: 0.5em;
  }
}
.list-column2 dt, .list-column2 dd {
  line-height: 1.7857142857;
}
@media screen and (max-width: 600px) {
  .list-column2 dt, .list-column2 dd {
    line-height: 1.5714285714;
  }
}
.list-column2 dt {
  list-style: 0.05em;
  font-weight: 700;
  color: #4A4A4A;
}
.list-column2 dd {
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .list-column2 dd {
    margin-right: -0.5em;
  }
}

.company-access__container {
  margin-top: 4.5em;
  display: grid;
  grid-template-columns: 40.24% 56.46%;
  justify-content: space-between;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .company-access__container {
    grid-template-columns: 1fr;
    row-gap: 1.5em;
    margin-top: 1.5em;
  }
}

.access__ttl {
  font-size: 1.14em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.5;
  color: #4A4A4A;
  padding-bottom: 0.6em;
  position: relative;
}
.access__ttl::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background-color: #fff;
  background-image: radial-gradient(#707070 20%, transparent 20%);
  background-size: 6px 6px;
  background-repeat: repeat-x;
}

.access-lists {
  margin-top: 0.8em;
}

.access-list {
  letter-spacing: 0.05em;
  line-height: 1.7857142857;
}
.access-list:nth-child(n+2) {
  margin-top: 3.5em;
}
.access-list h3 {
  font-weight: 700;
  margin-bottom: 0.25em;
}
.access-list p {
  margin-bottom: 1.25em;
}

.company-access__map {
  position: relative;
}
.company-access__map::before {
  content: "";
  display: block;
  padding-top: 84.8812095032%;
}
@media screen and (max-width: 600px) {
  .company-access__map::before {
    padding-top: 84.7953216374%;
  }
}
.company-access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.group {
  font-size: 1.4rem;
  padding: 6.57em 0 5.71em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .group {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .group {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .group {
    padding-top: 2.57em;
    padding-bottom: 3.5em;
  }
}

.company-contents__container {
  display: grid;
  grid-template-columns: 18.36em auto;
}
@media screen and (max-width: 600px) {
  .company-contents__container {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 600px) {
  .company-contents__ttl .section-ttl1 {
    margin-top: 0.25em;
  }
}

.group__container {
  display: grid;
  grid-template-columns: 44.96% 51.3%;
  justify-content: space-between;
  align-items: flex-end;
  width: 101.7%;
}
@media screen and (max-width: 600px) {
  .group__container {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    margin-top: 3.2em;
  }
}

.group__texts {
  padding-bottom: 1em;
  padding-top: 1em;
}
@media screen and (max-width: 600px) {
  .group__texts {
    display: contents;
  }
}

.group__logo {
  width: 64.6%;
  margin-bottom: 3.15em;
}
@media screen and (max-width: 600px) {
  .group__logo {
    width: 77.5%;
    max-width: 265px;
  }
}

.group__text {
  line-height: 2;
  letter-spacing: 0.08em;
}

.group__lead {
  font-weight: 700;
  font-size: 1.21em;
  line-height: 1.7647058824;
  letter-spacing: 0.05em;
  margin: 0.4em 0;
}

.group__link {
  margin-top: 3.2em;
}
@media screen and (max-width: 600px) {
  .group__link {
    order: 3;
    margin-top: 4em;
    margin-left: auto;
    margin-right: auto;
  }
}
.group__link a.section-btn {
  width: 14.875em;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
}
@media screen and (max-width: 600px) {
  .group__link a.section-btn {
    width: 14.875em;
  }
}

@media screen and (max-width: 600px) {
  .group__img {
    width: 78.36%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.25em;
  }
}

.history {
  font-size: 1.4rem;
  padding: 7.86em 0 5.71em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .history {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .history {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .history {
    padding-top: 4.5em;
    padding-bottom: 5.2em;
  }
}

.history-lists {
  font-size: 1.21em;
  position: relative;
  margin-top: 0.94em;
}
@media screen and (max-width: 600px) {
  .history-lists {
    margin-top: 1.5em;
  }
}
.history-lists::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0.35em;
  transform: translateX(-50%);
  width: 1px;
  height: 100%;
  background-color: #15238A;
}
@media screen and (max-width: 600px) {
  .history-lists::before {
    left: 0;
  }
}

.history-list {
  padding: 1.38em 0;
}
@media screen and (max-width: 600px) {
  .history-list {
    padding: 0.8em 0;
  }
}
.history-list:first-child {
  padding-top: 0.88em;
}
@media screen and (max-width: 600px) {
  .history-list:first-child {
    padding-top: 0.6em;
  }
}
.history-list:last-child {
  padding-bottom: 3.76em;
}
@media screen and (max-width: 600px) {
  .history-list:last-child {
    padding-bottom: 0.2em;
  }
}
.history-list dl {
  display: grid;
  grid-template-columns: 8.71em auto;
  column-gap: 2.59em;
}
@media screen and (max-width: 600px) {
  .history-list dl {
    grid-template-columns: 1fr;
    row-gap: 0.75em;
  }

}
.history-list dl dt, .history-list dl dd {
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .history-list dl dt, .history-list dl dd {
    padding-left: 1.65em;
  }
}
.history-list dl dt {
  font-weight: 700;
  color: #1F3A84;
  text-align: right;
  position: relative;
}
@media screen and (max-width: 600px) {
  .history-list dl dt {
    text-align: left;
  }
}
.history-list dl dt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.71em;
  height: 0.71em;
  border-radius: 50%;
  background-color: #15238A;
}
@media screen and (max-width: 600px) {
  .history-list dl dt::before {
    transform: translate(-50%, -50%);
  }
}
.history-list dl dd {
  font-weight: 500;
}

/*======================================
    download
======================================*/
.archive-download {
  font-size: 1.4rem;
  padding-top: 4em;
  padding-bottom: 10em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .archive-download {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .archive-download {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .archive-download {
    padding-top: 2em;
    padding-bottom: 4.78em;
  }
}
.archive-download .section-ttl2__container {
  margin-top: 3.26em;
}
@media screen and (max-width: 600px) {
  .archive-download .section-ttl2__container {
    margin-top: 2.3em;
  }
}
@media screen and (max-width: 600px) {
  .archive-download .page-ttl__container h2 {
    margin-top: 0.25em;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-size: 2rem;
    padding-bottom: 1em;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .archive-download .page-ttl__container h2 {
    font-size: min(1.4641288433vw, 2rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .archive-download .page-ttl__container h2 {
    font-size: min(5.1282051282vw, 2rem);
  }
}
.archive-download .page-ttl__container p {
  letter-spacing: 0.15em;
  padding-right: 1em;
  font-weight: 400;
}
@media screen and (max-width: 600px) {
  .archive-download .page-ttl__container p {
    margin-top: 0.5em;
    line-height: 2;
  }
}

.search-keyword__container {
  margin-top: 3.125em;
  font-size: 1.6rem;
  max-width: 836px;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: 17.25em auto 1.3125em;
  align-items: center;
  border: 1px solid #707070;
  padding: 1em 1.5em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .search-keyword__container {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .search-keyword__container {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .search-keyword__container {
    grid-template-columns: 1fr;
    padding: 0;
    margin-top: 1.8em;
  }
}

.search-keyword__sp--container {
  display: contents;
}
@media screen and (max-width: 600px) {
  .search-keyword__sp--container {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1.09375em 0.75em 1.09375em 1em;
  }
}

.search-keyword__cats {
  border-right: 1px solid #707070;
  padding-right: 2em;
}
@media screen and (max-width: 600px) {
  .search-keyword__cats {
    border-right: none;
    padding-right: 0;
    padding: 1.28125em 1em;
    border-bottom: 1px solid #707070;
  }
}
.search-keyword__cats select {
  box-shadow: none;
  border: none;
  background: #fff;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.6875;
  width: 100%;
  background: #fff url(../img/common/contact_arrow.svg) no-repeat center right 0px/12px 6px;
}
@media screen and (max-width: 600px) {
  .search-keyword__cats select {
    line-height: 1;
    background: #fff url(../img/common/contact_arrow.svg) no-repeat center right 0px/16px 12px;
  }
}
.search-keyword__cats select:focus {
  outline: none;
}

.search-keyword__input {
  padding-left: 2.25em;
}
@media screen and (max-width: 600px) {
  .search-keyword__input {
    padding-left: 0;
    width: calc(100% - 1.3125em);
  }
}
.search-keyword__input input {
  box-shadow: none;
  border: none;
  background: #fff;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  width: 100%;
  line-height: 1.6875;
}
@media screen and (max-width: 600px) {
  .search-keyword__input input {
    line-height: 1;
  }
}
.search-keyword__input input:focus {
  outline: none;
}

.search-keyword__submit input {
  width: 1.3125em;
  height: 1.3125em;
  background: url(../img/icon/icon_search.svg) no-repeat center/contain;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: inherit;
  border: none;
  background-color: #fff;
  padding: 0;
  display: block;
  border-radius: 0;
  box-shadow: none;
}

.download-tab-btns {
  font-size: 1.6rem;
  margin-top: 1.75em;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 0.5625em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .download-tab-btns {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .download-tab-btns {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .download-tab-btns {
    justify-content: flex-start;
    row-gap: 0.75em;
    column-gap: 1.125em;
    margin-top: 2.4em;
  }
}

.download-tab-btn {
  letter-spacing: 0.08em;
  line-height: 2.3125;
  border-radius: 1.25em;
  border: 1px solid #122A88;
  color: #122A88;
  text-align: center;
  padding: 0 1.125em;
  min-width: 4.4375em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.download-tab-btn.show, .download-tab-btn.current-cat {
  background-color: #122A88;
  color: #fff;
  font-weight: 500;
}
.download-tab-btn a {
  display: block;
}

.download-tab-areas {
  font-size: 1.4rem;
  margin-top: 1.8em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .download-tab-areas {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .download-tab-areas {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .download-tab-areas {
    margin-top: 2.75em;
  }
}

.download-tab-area .document-cards {
  margin-top: 2.1em;
  margin-bottom: 7.2em;
}
@media screen and (max-width: 600px) {
  .download-tab-area .document-cards {
    margin-top: 1.1em;
    margin-bottom: 0;
  }
}

.document-cards {
  font-size: 1.4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.43em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .document-cards {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .document-cards {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .document-cards {
    grid-template-columns: 1fr;
    row-gap: 3.5em;
  }
}

.document-card {
  font-size: 1.4rem;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .document-card {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .document-card {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.document-card__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  box-shadow: 0 0 1.07em rgba(0, 0, 0, 0.08);
  padding: 1.14em 1.14em 2em;
  border-radius: 0.36em;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  position: relative;
}
.document-card__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E0E0E0;
  opacity: 0;
  visibility: hidden;
  z-index: 2;
  transition: all 0.3s ease;
}
.document-card__link:hover {
  box-shadow: none;
}
.document-card__link:hover::before {
  opacity: 0.36;
  visibility: visible;
}
.document-card__link:hover .document-card__img img {
  transform: scale(1.05);
}
.document-card__link .document-cat {
  margin-top: 1em;
}
@media screen and (max-width: 600px) {
  .document-card__link .document-cat {
    margin-top: 0.65em;
  }
}

.document-card__img {
  position: relative;
  border-radius: 0.36em;
  overflow: hidden;
  width: 100%;
}
.document-card__img::before {
  content: "";
  display: block;
  padding-top: 57.4468085106%;
  background-color: lightgray;
}
.document-card__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.document-card__date {
  font-size: 0.86em;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: #AFAFAF;
  margin-top: 1.5em;
}
@media screen and (max-width: 600px) {
  .document-card__date {
    font-size: 0.79em;
  }
}

.document-card__ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7857142857;
  margin-top: 0.5em;
}

.document-cat {
  display: inline-block;
  line-height: 1.7142857143;
  border: 1px solid #15238A;
  color: #15238A;
  border-radius: 0.86em;
  padding: 0 1.57em;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .document-cat {
    padding: 0 1em;
    line-height: 1.4285714286;
  }
}

.document-card__tags {
  color: #44B1C5;
  margin-top: 0.9em;
  font-size: 0.86em;
}

.single-download {
  font-size: 1.6rem;
  border: 1px solid #707070;
  margin-top: 6em;
  padding-top: 3em;
  padding-bottom: 4em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .single-download {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .single-download {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .single-download {
    border: none;
    margin-top: 0;
    padding-bottom: 0;
  }
}

.single-download__container {
  max-width: 576px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .single-download__container {
    width: 100%;
  }
}
.single-download__container h2 {
  text-align: center;
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 600px) {
  .single-download__container h2 {
    font-size: 1.375em;
  }
}

.single-download__text {
  text-align: center;
  line-height: 1.5625;
  letter-spacing: 0.05em;
  margin-top: 2.2em;
  margin-bottom: 3.875em;
}
@media screen and (max-width: 600px) {
  .single-download__text {
    margin-top: 1.2em;
    margin-bottom: 0.75em;
  }
}

.article-download h1 {
  color: #3C3C3C;
}

@media screen and (max-width: 600px) {
  .single-download__form .contact__note {
    text-align: center;
  }
  .single-download__form .form-lists {
    margin-top: 1.85em;
  }
  .single-download__form .form-list:nth-child(n+2) {
    margin-top: 2.7em;
  }
  .single-download__form .contact__check {
    margin-top: 1.75em;
  }
  .single-download__form .contact__submit {
    margin-top: 3em;
  }
}

.archive-events .cat__container {
  margin-top: 4em;
}

.archive-events__result {
  margin-top: 2.79em;
  padding-bottom: 7.7em;
}
@media screen and (max-width: 600px) {
  .archive-events__result {
    padding-bottom: 4em;
  }
}

.archive-events__cards {
  margin-top: 2em;
  margin-bottom: 3.7em;
}

.seminar__past--container {
  background: url(../img/page/seminar_bg.jpg) no-repeat center top/contain;
  font-size: 1.4rem;
  padding-top: 9.71em;
  margin-bottom: 7.7em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .seminar__past--container {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .seminar__past--container {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.seminar__past--wrap {
  width: 50.8%;
  padding-top: 3.85em;
  background-color: #fff;
  border-radius: 0.36em;
  padding-right: 1em;
}
@media screen and (max-width: 600px) {
  .seminar__past--wrap {
    width: 100%;
    padding-top: 0;
  }
}

.seminar__past--texts {
  max-width: 560px;
  width: 90%;
  margin-left: auto;
  padding-bottom: 0.75em;
}
@media screen and (max-width: 600px) {
  .seminar__past--texts {
    margin-right: auto;
  }
}
.seminar__past--texts h2 {
  font-size: 1.71em;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.25;
  color: #15238A;
}
@media screen and (max-width: 600px) {
  .seminar__past--texts h2 {
    font-size: 1.5em;
  }
}
.seminar__past--texts p {
  line-height: 2.1428571429;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 1em;
}

.seminar__past--btn {
  margin-top: 2.5em;
}
.seminar__past--btn .section-btn {
  background-color: #fff;
  color: #15238A;
  border: 1px solid #15238A;
  padding-right: 0.75em;
}
@media screen and (max-width: 600px) {
  .seminar__past--btn .section-btn {
    width: 100%;
    max-width: 20em;
  }
}
.seminar__past--btn .section-btn::before {
  background: url(../img/service/service_list_arrow.svg) no-repeat center/contain;
}

.article-events__contents h2 {
  font-size: 1.21em;
  font-weight: 700;
  color: #122A88;
  line-height: 1.5;
  padding-bottom: 1em;
  border-bottom: 1px solid #122A88;
  letter-spacing: 0.08em;
  margin-top: 2em;
}
.article-events__contents ul li {
  line-height: 2.5;
  letter-spacing: 0.08em;
  padding-left: 0.75em;
  position: relative;
}
.article-events__contents ul li::before {
  content: "";
  position: absolute;
  top: 1.25em;
  left: 0;
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  background-color: #3C3C3C;
}

.after-event__container {
  padding: 2.5em 1.5em 2em;
  border: 1px solid #122A88;
  border-radius: 5px;
  margin: 4em 0;
}
.after-event__container h2 {
  text-align: center;
  font-size: 1.21em;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #122A88;
}

.after-event__content {
  line-height: 2.5;
  letter-spacing: 0.08em;
  margin-top: 2.5em;
}

.s-events__cancel {
  font-size: 1.4rem;
  margin-top: 7em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .s-events__cancel {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .s-events__cancel {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
.s-events__cancel .medium {
  font-weight: 500;
}
.s-events__cancel h2 {
  margin-bottom: 1em;
}
.s-events__cancel p {
  line-height: 2.5;
}

.s-events__details {
  border: 1px solid #15238A;
  border-radius: 0.36em;
  font-size: 1.14em;
  padding: 2em 0;
  margin-bottom: 3em;
  margin-top: 2em;
}
.s-events__details ul {
  max-width: 676px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.s-events__details ul li:nth-child(n+2) {
  margin-top: 1.6em;
}

.s-events__details--row {
  display: grid;
  grid-template-columns: 9.5625em auto;
}
@media screen and (max-width: 600px) {
  .s-events__details--row {
    grid-template-columns: 1fr;
    row-gap: 0.5em;
  }
}
.s-events__details--row dt, .s-events__details--row dd {
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.s-events__details--row dt {
  font-weight: 700;
  color: #122A88;
}
/*======================================
    recruitment
======================================*/
.recruit__container {
  position: relative;
  z-index: 1;
  background: url(../img/page/recruit_mv.jpg) no-repeat center center/cover;
  font-size: 3rem;
  padding-bottom: 7.167em;
  overflow: hidden;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .recruit__container {
    font-size: min(2.196193265vw, 3rem);
  }
}
@media screen and (max-width: 600px) {
  .recruit__container {
    font-size: min(7.6923076923vw, 3rem);
  }
}
@media screen and (max-width: 600px) {
  .recruit__container {
    font-size: 2.4rem;
    padding-bottom: 1.55em;
    background: url(../img/page/recruit_mv_sp.jpg) no-repeat center center/cover;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .recruit__container {
    font-size: min(1.756954612vw, 2.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .recruit__container {
    font-size: min(6.1538461538vw, 2.4rem);
  }
}
.recruit__container::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 19.23em;
  height: 19.53em;
  background: url(../img/page/recruit_mv_deco.png) no-repeat center/contain;
  transform: translate(-31%, 18%);
}
@media screen and (max-width: 600px) {
  .recruit__container::before {
    width: 8.18em;
    height: 8.32em;
    transform: translate(-31%, 29%);
  }
}
.recruit__container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #122A88;
  opacity: 0.73;
  z-index: -1;
}
.recruit__container .p-breadcrumb {
  color: #fff;
}

.recruit__container--en {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-47%, -43%);
  width: 78.6%;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .recruit__container--en {
    width: 87.69%;
    transform: translate(-50%, 22%);
  }
}

.recruit__mv--texts {
  text-align: center;
  color: #fff;
  margin-top: 7em;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .recruit__mv--texts {
    margin-top: 2.1em;
  }
}

.recruit__mv--en {
  font-size: 1.2rem;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .recruit__mv--en {
    font-size: min(0.878477306vw, 1.2rem);
  }
}
@media screen and (max-width: 600px) {
  .recruit__mv--en {
    font-size: min(3.0769230769vw, 1.2rem);
  }
}

.recruit__mv--lead {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.7;
  margin-top: 0.6em;
}
@media screen and (max-width: 600px) {
  .recruit__mv--lead {
    line-height: 1.5909090909;
    margin-top: 0.3em;
    transform: translateX(4%);
  }
}

.recruit__mv--text {
  font-family: "Noto Serif JP", serif;
  font-size: 0.6em;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.7222222222;
  margin-top: 1.5em;
}
@media screen and (max-width: 600px) {
  .recruit__mv--text {
    display: none;
  }
}

.scroll {
  position: absolute;
  bottom: 9.167em;
  left: 50%;
  transform: translateX(-30%) rotate(-90deg);
  font-size: 0.4em;
  letter-spacing: 0.05em;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .scroll {
    display: none;
  }
}

.scroll-bar {
  font-size: 0.4em;
  position: absolute;
  bottom: 7.5em;
  left: 50.1%;
  transform: translate(50%, 100%);
  width: 3px;
  height: 5.16em;
}
@media screen and (max-width: 600px) {
  .scroll-bar {
    display: none;
  }
}
.scroll-bar span {
  display: block;
  position: relative;
  width: 3px;
  height: 100%;
  animation: infinite scroll-bar 1.5s ease;
}
.scroll-bar span::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #fff;
}
.scroll-bar span::after {
  content: "";
  position: absolute;
  bottom: 1px;
  right: 0;
  width: 4px;
  height: 1px;
  transform: translateX(10%) rotate(45deg);
  background-color: #fff;
}

@keyframes scroll-bar {
  0% {
    height: 0%;
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  70% {
    height: 100%;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    height: 100%;
  }
}
.recruit__contents {
  background: url(../img/page/map.jpg) no-repeat center center/cover;
}

.recruit__contents--inner {
  background: url(../img/page/recruit_contents_bg.jpg) no-repeat center top/cover;
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  font-size: min(1.0248901903vw, 1.4rem);
  padding-top: 15.43em;
  padding-bottom: 19.43em;
  text-align: center;
  color: #4A4A4A;
}
@media screen and (max-width: 600px) {
  .recruit__contents--inner {
    background: url(../img/page/recruit_contents_bg_sp.jpg) no-repeat center top/cover;
    font-size: 1.4rem;
    padding-top: 9.75em;
    padding-bottom: 9.75em;
    max-width: 390px;
    position: relative;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .recruit__contents--inner {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .recruit__contents--inner {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .recruit__contents--inner::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 8.71em;
    height: 12.36em;
    background: url(../img/page/recruit_wanted.png) no-repeat center/contain;
    transform: translate(-14%, 30%) rotate(13deg);
    z-index: 2;
  }
}

.recruit__lead {
  font-size: 1.64em;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 600px) {
  .recruit__lead {
    font-size: 1.2em;
  }
}
.recruit__lead span {
  display: inline-block;
  font-size: 2.13em;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.6734693878;
  margin: 0.5em 0 0.75em;
  position: relative;
  transform: translateX(-1%);
}
@media screen and (max-width: 600px) {
  .recruit__lead span {
    font-size: 1.5em;
    margin-top: 0.6em;
    margin-bottom: 0.25em;
    transform: translateX(0);
  }
}
.recruit__lead span::before, .recruit__lead span::after {
  position: absolute;
  color: #D3C3B4;
  opacity: 0.4;
  font-weight: 600;
  font-size: 1.63em;
}
.recruit__lead span::before {
  content: "窶�";
  top: 0;
  left: 0;
  transform: translate(-120%, -20%);
}
.recruit__lead span::after {
  content: "窶�";
  bottom: 0;
  right: 0;
  transform: translate(94%, 25%) rotate(180deg);
}

.recruit__text {
  font-size: 1.21em;
  letter-spacing: 0.08em;
  line-height: 2.0588235294;
  margin-top: 3em;
}
@media screen and (max-width: 600px) {
  .recruit__text {
    font-size: 1em;
    line-height: 2.5;
    margin-top: 1.4em;
  }
}

.recruit__img1 {
  width: 74.26%;
  max-width: 857px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4.29em;
  transform: translateX(-4%);
}
@media screen and (max-width: 600px) {
  .recruit__img1 {
    width: 100%;
    transform: translateX(0);
    margin-top: 0.4em;
  }
}

.recruit__video {
  max-width: 904px;
  width: 78.3%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 7em;
}
@media screen and (max-width: 600px) {
  .recruit__video {
    width: 100%;
    margin-top: 3.5em;
  }
}

.video {
  position: relative;
}
.video::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.recruit__column2 {
  max-width: 904px;
  width: 78.3%;
  margin-left: auto;
  margin-right: auto;
  font-size: min(1.2445095168vw, 1.7rem);
  display: grid;
  grid-template-columns: 77.54% auto;
  margin-top: 1.9em;
}
@media screen and (max-width: 600px) {
  .recruit__column2 {
    grid-template-columns: 1fr;
    width: 100%;
    font-size: 1em;
    margin-top: 3.5em;
  }
}

.recruit__site--link a {
  display: block;
  position: relative;
  overflow: hidden;
}
.recruit__site--link a:hover .recruit__site--img {
  transform: scale(1.05);
}

.recruit__site--img {
  position: relative;
  transition: transform 0.3s ease;
}
.recruit__site--img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #9D9D9D;
  mix-blend-mode: multiply;
}

.recruit__site--texts {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
  font-family: "Noto Serif JP", serif;
}

.recruit__site--ttl {
  font-size: 3.06em;
  letter-spacing: 0.12em;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .recruit__site--ttl {
    font-size: 1.79em;
  }
}

.recruit__site--text {
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 1.3em;
}
@media screen and (max-width: 600px) {
  .recruit__site--text {
    font-size: 0.86em;
    margin-top: 0.75em;
  }
}

.recruit__sns--container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-top: 1.35em;
  padding-right: 0.5em;
}
@media screen and (max-width: 600px) {
  .recruit__sns--container {
    align-items: center;
    margin-top: 2.3em;
  }
}

@media screen and (max-width: 600px) {
  .recruit__sns--lists {
    display: flex;
    width: 100%;
  }
}
.recruit__sns--lists li {
  font-family: "Noto Serif JP", serif;
  color: #4E3925;
}
@media screen and (max-width: 600px) {
  .recruit__sns--lists li {
    width: 50%;
  }
  .recruit__sns--lists li:first-child {
    padding-left: 1.25em;
  }
}
.recruit__sns--lists li:nth-child(n+2) {
  margin-top: 3em;
}
@media screen and (max-width: 600px) {
  .recruit__sns--lists li:nth-child(n+2) {
    margin-top: 0;
    transform: translateX(-2%);
  }
}

.recruit__sns--icon {
  width: 3.29em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .recruit__sns--icon {
    width: 3.07em;
  }
}

.recruit__sns--platform {
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-top: 0.6em;
}
@media screen and (max-width: 600px) {
  .recruit__sns--platform {
    margin-top: 1.25em;
  }
}

.recruit__sns--account {
  font-size: 0.71em;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-top: 0.5em;
}
@media screen and (max-width: 600px) {
  .recruit__sns--account {
    font-size: 0.86em;
  }
}

/*======================================
    SDGs
======================================*/
.sdgs__container {
  background: url(../img/page/sdgs_bg.jpg) no-repeat center top/contain;
}
@media screen and (max-width: 600px) {
  .sdgs__container {
    background: url(../img/page/sdgs_bg_sp.jpg) no-repeat center top/contain;
  }
}

.sdgs {
  font-size: 1.4rem;
  padding-top: 2.64em;
  padding-bottom: 11.79em;
  overflow: hidden;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .sdgs {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .sdgs {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .sdgs {
    padding-top: 0.2em;
    padding-bottom: 4.29em;
  }
}

.sdgs__ttl {
  font-size: 1.5em;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  color: #000;
  letter-spacing: 0.18em;
  transform: translateX(2%);
}
@media screen and (max-width: 600px) {
  .sdgs__ttl {
    font-size: 1.29em;
    transform: translateX(0);
  }
}
.sdgs__ttl .md {
  font-size: 1.24em;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 600px) {
  .sdgs__ttl .md {
    font-size: 1.22em;
  }
}
.sdgs__ttl .lg {
  font-size: 2.05em;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 600px) {
  .sdgs__ttl .lg {
    display: block;
    font-size: 1.94em;
    margin-top: 0.25em;
  }
}

.sdgs__lead {
  line-height: 2.1428571429;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-align: center;
  margin-top: 2.2em;
  transform: translateX(2%);
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 600px) {
  .sdgs__lead {
    transform: translateX(-1%);
    margin-right: -0.5em;
    margin-top: 1.5em;
  }
}

.sdgs__logo {
  max-width: 344px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5.7em;
}
@media screen and (max-width: 600px) {
  .sdgs__logo {
    max-width: 282px;
    margin-top: 2.5em;
  }
}

.sdgs__name {
  text-align: center;
  color: #000;
  line-height: 1.7857142857;
  font-weight: 500;
  letter-spacing: 0.18em;
  font-family: "Noto Serif JP", serif;
  margin-top: 3.36em;
  transform: translateX(2%);
}
@media screen and (max-width: 600px) {
  .sdgs__name {
    margin-top: 2.36em;
    transform: translateX(0);
  }
}

.sdgs-lists {
  max-width: 1128px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 8.07em;
}
@media screen and (max-width: 600px) {
  .sdgs-lists {
    margin-top: 5.07em;
  }
}

.sdgs-list {
  padding: 5em 0 4.8em;
}
@media screen and (max-width: 600px) {
  .sdgs-list {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
}
.sdgs-list:nth-child(n+2) {
  margin-top: 2.75em;
}
@media screen and (max-width: 600px) {
  .sdgs-list:nth-child(n+2) {
    margin-top: 4.3em;
  }
}
.sdgs-list:nth-child(1) {
  background: url(../img/page/sdgs_img1.jpg) no-repeat center/cover;
}
@media screen and (max-width: 600px) {
  .sdgs-list:nth-child(1) {
    background: url(../img/page/sdgs_img1_sp.jpg) no-repeat center/cover;
  }
}
.sdgs-list:nth-child(2) {
  background: url(../img/page/sdgs_img2.jpg) no-repeat center/cover;
}
@media screen and (max-width: 600px) {
  .sdgs-list:nth-child(2) {
    background: url(../img/page/sdgs_img2_sp.jpg) no-repeat center/cover;
  }
}
.sdgs-list:nth-child(3) {
  background: url(../img/page/sdgs_img3.jpg) no-repeat center/cover;
}
@media screen and (max-width: 600px) {
  .sdgs-list:nth-child(3) {
    background: url(../img/page/sdgs_img3_sp.jpg) no-repeat center/cover;
  }
}
.sdgs-list:nth-child(4) {
  background: url(../img/page/sdgs_img4.jpg) no-repeat center/cover;
}
@media screen and (max-width: 600px) {
  .sdgs-list:nth-child(4) {
    background: url(../img/page/sdgs_img4_sp.jpg) no-repeat center/cover;
  }
}

.sdgs-list__contents {
  max-width: 1008px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  display: flex;
  flex-direction: row-reverse;
}
@media screen and (max-width: 600px) {
  .sdgs-list__contents {
    flex-direction: column;
    width: 93%;
  }
}

.sdgs__icon--container {
  width: 38.4%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.93em;
  padding-right: 6.5%;
}
@media screen and (max-width: 600px) {
  .sdgs__icon--container {
    width: 76.5%;
    margin-left: auto;
    margin-right: auto;
    padding-right: 0;
    column-gap: 0.8em;
    row-gap: 0.7em;
  }
}

.sdgs-list__texts {
  width: 61.6%;
}
@media screen and (max-width: 600px) {
  .sdgs-list__texts {
    width: 100%;
    margin-top: 2.35em;
  }
}
.sdgs-list__texts h2 {
  color: #fff;
  font-size: 1.79em;
  letter-spacing: 0.12em;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 600px) {
  .sdgs-list__texts h2 {
    font-size: 1.57em;
    padding-left: 0.25em;
  }
}

.sdgs-list__text {
  line-height: 2.1428571429;
  letter-spacing: 0.12em;
  margin-top: 1em;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .sdgs-list__text {
    margin-right: -1.5em;
    padding-left: 0.5em;
  }
}

.sdgs-list__details {
  margin-top: 3em;
  background-color: rgba(255, 255, 255, 0.73);
  border-radius: 0.36em;
  max-width: 385px;
  padding: 1.5em 1.57em 1.25em;
}
@media screen and (max-width: 600px) {
  .sdgs-list__details {
    margin-top: 1em;
    padding: 1.2em 1.2em 1em;
  }
}
.sdgs-list__details h3 {
  color: #1C2A6D;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.12em;
  font-weight: 500;
  font-size: 1.5em;
}
@media screen and (max-width: 600px) {
  .sdgs-list__details h3 {
    font-size: 1.14em;
  }
}

.sdgs-text-lists {
  margin-top: 1em;
}
@media screen and (max-width: 600px) {
  .sdgs-text-lists {
    margin-top: 0.75em;
    margin-left: 0.25em;
  }
}
.sdgs-text-lists li {
  line-height: 1.7857142857;
  letter-spacing: 0.12em;
  padding-left: 0.75em;
  position: relative;
}
.sdgs-text-lists li::before {
  content: "";
  position: absolute;
  top: 0.9em;
  left: 0;
  width: 0.2em;
  height: 0.2em;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #3C3C3C;
}

.to-top__btn {
  margin-top: 4.86em;
}
@media screen and (max-width: 600px) {
  .to-top__btn {
    margin-top: 3.65em;
  }
}

.btn-type01 {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22.8em;
  height: 2.93em;
  border: 1px solid #15238A;
  color: #122A88;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0.33em;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .btn-type01 {
    font-size: min(1.0980966325vw, 1.5rem);
  }
}
@media screen and (max-width: 600px) {
  .btn-type01 {
    font-size: min(3.8461538462vw, 1.5rem);
  }
}
.btn-type01:hover {
  background-color: #15238A;
  color: #fff;
}

/*======================================
    about
======================================*/
.about-fixed__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.about-fixed__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 600px) {
  .about-fixed__bg img {
    object-position: 39% bottom;
  }
}

.about-bg {
  background: linear-gradient(135deg, #122a88 0%, #132a4f 75.37%, #132a31 100%);
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  padding-top: 1.7em;
  padding-bottom: 8.75em;
  overflow: hidden;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .about-bg {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .about-bg {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .about-bg {
    padding-bottom: 3.5em;
  }
}
.about-bg .p-breadcrumb {
  color: #fff;
}
@media screen and (max-width: 600px) {
  .about-bg .p-breadcrumb {
    margin-top: 0;
  }
}

.about__mv--ttl__en {
  letter-spacing: 0.12em;
  font-weight: 500;
  margin-bottom: 1em;
  margin-top: 5.5em;
}
@media screen and (max-width: 600px) {
  .about__mv--ttl__en {
    margin-top: 4em;
    margin-bottom: 0.4em;
    font-size: 0.9em;
  }
}

.about__mv--ttl {
  font-size: 3.57em;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 600px) {
  .about__mv--ttl {
    font-size: 2em;
    line-height: 1.7857142857;
  }
}

.about__mv--swiper {
  position: relative;
  margin: 2.75em calc(50% - 50vw) 0;
  padding-bottom: 3.57em;
}
@media screen and (max-width: 600px) {
  .about__mv--swiper {
    margin: 1.75em auto 0;
    padding-bottom: 2.57em;
  }
}

.about-swiper-pagination {
  bottom: 0 !important;
}
.about-swiper-pagination .swiper-pagination-bullet {
  background-color: #fff;
  margin: 0 3px !important;
  opacity: 0.41;
  width: 0.79em;
  height: 0.79em;
}
.about-swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.about__mv--slide {
  padding: 3.8em 1em 3em;
  background-color: rgba(255, 255, 255, 0.23);
  border-radius: 0.71em;
}
@media screen and (max-width: 600px) {
  .about__mv--slide {
    padding-top: 2em;
  }
}
.about__mv--slide p {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  margin-top: 0.7em;
}

.about__mv--target dt {
  display: inline-block;
  font-size: 1.21em;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0 0.2em 0.5em;
  border-bottom: 1px solid #fff;
}
.about__mv--target dd {
  font-size: 1.64em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.9565217391;
  margin-top: 0.5em;
}

.about-swiper-prev {
  position: absolute;
  top: calc((100% - 3.57em) / 2);
  transform: translate(-100%, -50%);
  width: 1em;
  height: 1.71em;
  background: url(../img/icon/icon_swiper_arrow.svg) no-repeat center/contain;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .about-swiper-prev {
    left: 0 !important;
    transform: translate(-50%, -50%);
    top: calc((100% - 2.57em) / 2);
  }
}

.about-swiper-next {
  position: absolute;
  top: calc((100% - 3.57em) / 2);
  transform: translate(100%, -50%) scale(-1, 1);
  width: 1em;
  height: 1.71em;
  background: url(../img/icon/icon_swiper_arrow.svg) no-repeat center/contain;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .about-swiper-next {
    right: 0 !important;
    transform: translate(50%, -50%) scale(-1, 1);
    top: calc((100% - 2.57em) / 2);
  }
}

.about-swiper-button-prev,
.about-swiper-button-next {
  display: none;
}

.philosophy {
  font-size: 1.4rem;
  text-align: center;
  color: #122A88;
  padding-bottom: 9em;
  padding-top: 4.25em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .philosophy {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .philosophy {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .philosophy {
    padding-top: 2.75em;
    padding-bottom: 4.2em;
  }
  .philosophy .about__mv--ttl {
    margin-left: -0.5em;
    margin-right: -0.5em;
  }
}
.philosophy p {
  font-size: 1.21em;
  letter-spacing: 0.05em;
  line-height: 2.3529411765;
  margin-top: 1.6em;
}
@media screen and (max-width: 600px) {
  .philosophy p {
    font-size: 1em;
    line-height: 2;
    letter-spacing: 0.15em;
    margin-top: 1em;
  }
}

.greetings {
  font-size: 1.4rem;
  padding-top: 10.75em;
  padding-bottom: 6.5em;
  background: url(../img/page/about_message_bg.jpg) no-repeat center/cover;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .greetings {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .greetings {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .greetings {
    padding-top: 3.5em;
    padding-bottom: 3.6em;
    overflow: hidden;
  }
}

.greetings__container {
  background-color: #fff;
  display: flex;
  max-width: 835px;
  margin-left: auto;
  margin-right: auto;
  transform: translateX(3.5%);
}
@media screen and (max-width: 600px) {
  .greetings__container {
    flex-direction: column;
    transform: translateX(0);
    background-color: unset;
  }
}

.greetings__img {
  width: 49%;
  transform: translate(-13.2%, -10%);
}
@media screen and (max-width: 600px) {
  .greetings__img {
    width: 93.86%;
    transform: translate(0);
    margin-left: auto;
    margin-right: auto;
  }
}

.greetings__text {
  width: 51%;
  margin-left: -1%;
  padding-top: 4.15em;
  padding-right: 1em;
}
@media screen and (max-width: 600px) {
  .greetings__text {
    width: 95%;
    margin-left: auto;
    background-color: #fff;
    margin-top: -4.86em;
    padding-top: 6em;
    padding-left: 1.29em;
    padding-bottom: 2.5em;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.greetings__en {
  letter-spacing: 0.12em;
  font-weight: 500;
}

.greetings__ttl {
  font-size: 2.5em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.1428571429;
  margin-top: 0.4em;
}
@media screen and (max-width: 600px) {
  .greetings__ttl {
    font-size: 1.57em;
    line-height: 1.8181818182;
    margin-top: 0;
  }
}

.greetings__lead {
  color: #4E3925;
  font-size: 1.79em;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.6;
  margin-top: 1.75em;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 600px) {
  .greetings__lead {
    font-size: 1.43em;
    line-height: 1.6;
    letter-spacing: 0.07em;
    margin-top: 0.25em;
  }
}

.greetings__name {
  color: #4E3925;
  font-family: "Noto Serif JP", serif;
  font-size: 1.21em;
  margin-top: 1em;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 600px) {
  .greetings__name {
    margin-top: 1.2em;
  }
}
.greetings__name span {
  font-size: 0.71em;
  display: inline-block;
  margin-right: 0.4em;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 600px) {
  .greetings__name span {
    display: block;
    margin-bottom: 0.5em;
  }
}

.greetings__more {
  color: #4E3925;
  font-family: "Noto Serif JP", serif;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11.28em;
  height: 3.14em;
  border: 1px solid #AFAFAF;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 3.9em;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.greetings__more:hover {
  background-color: #4E3925;
  border-color: #4E3925;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .greetings__more {
    margin-left: auto;
    margin-right: auto;
    margin-top: 3.2em;
  }
}

.about-features {
  font-size: 1.4rem;
  padding-top: 15.5em;
  padding-bottom: 14em;
  position: relative;
  background-image: url(../img/page/about_bg.jpg);
  background-size: 1478px 2227px;
  background-position: 50% 99%;
  background-repeat: repeat;
  z-index: 1;
  overflow: hidden;
  margin-bottom: -1px;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .about-features {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .about-features {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .about-features {
    padding-top: 6.85em;
    padding-bottom: 4em;
  }
}
.about-features .inner {
  max-width: 1100px;
}

.about-features__bg {
  max-width: 1310px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  background-image: url(../img/page/about_paper_cut.png);
  background-size: contain;
  background-repeat: repeat-y;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .about-features__bg {
    background-image: url(../img/page/about_paper_cut_sp.png);
  }
  .about-features__bg .inner {
    width: 85%;
  }
}
.about-features__bg::before {
  content: "";
  position: absolute;
  top: -9.5em;
  left: 50%;
  background-image: url(../img/page/about_paper.png);
  transform: translateX(-50%);
  width: 100%;
  height: 40%;
  object-fit: cover;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-features__bg::before {
    background-image: url(../img/page/about_paper_sp.png);
    background-size: contain;
    top: -4em;
    height: 60%;
  }
}
.about-features__bg::after {
  content: "";
  position: absolute;
  bottom: -6.79em;
  left: 50%;
  background-image: url(../img/page/about_paper.png);
  transform: translateX(-50%);
  width: 100%;
  height: 40%;
  background-size: cover;
  object-fit: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-features__bg::after {
    background-size: contain;
    background-image: url(../img/page/about_paper_sp.png);
    bottom: -3em;
    height: 60%;
  }
}

.about-features__btns {
  display: flex;
  align-items: flex-end;
  max-width: 1090px;
  position: relative;
  z-index: 1;
}
.about-features__btns::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 586px;
  height: 595px;
  transform: translate(-54%, -20%);
  background: url(../img/page/about_feature_deco1.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-features__btns::before {
    width: 21.86em;
    height: 22.14em;
    transform: translate(-47%, -21%);
  }
}
@media screen and (max-width: 600px) {
  .about-features__btns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: unset;
  }
}

.about-features__btn {
  width: 24.7%;
  flex-grow: 1;
  text-align: center;
  color: #9D9D9D;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.43em;
  flex-direction: column;
  border-top: 1px solid #4E3925;
  border-left: 1px solid #4E3925;
  border-right: 1px solid #4E3925;
  letter-spacing: 0.12em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-right: auto;
  transition: height 0.3s ease, width 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 600px) {
  .about-features__btn {
    width: 100%;
    height: 3.83em;
    font-size: 0.86em;
  }
  .about-features__btn.show {
    background-color: #4E3925;
    color: #fff;
  }
  .about-features__btn span.text-container {
    display: none;
  }
  .about-features__btn:nth-child(even) {
    margin-left: -1px;
  }
  .about-features__btn:nth-child(n+3) {
    border-bottom: 1px solid #4E3925;
  }
}
@media screen and (min-width: 601px) {
  .about-features__btn:not(:first-child) {
    margin-left: -1px;
  }
  .about-features__btn:nth-child(1).show {
    width: 40%;
  }
  .about-features__btn.show {
    height: 6.57em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
  }
  .about-features__btn.show span.text-container {
    visibility: visible;
    opacity: 1;
    height: 1.25em;
    display: block;
    animation: btn-text 1s ease;
  }
  .about-features__btn.show span.text {
    transform: translateY(0);
  }
  .about-features__btn span.text-container {
    display: block;
    color: #4E3925;
    font-weight: 600;
    letter-spacing: 0.12em;
    font-size: 2em;
    white-space: nowrap;
    margin-bottom: 0.93em;
    transform: translateY(58%);
    font-family: "Noto Serif JP", serif;
    visibility: hidden;
    opacity: 0;
    display: none;
    overflow: hidden;
  }
  .about-features__btn span.text {
    display: block;
    transform: translateY(105%);
    transition: transform 0.5s ease 0.5s;
  }
}

@keyframes btn-text {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
.about-features__area {
  padding-top: 6.43em;
}
@media screen and (max-width: 600px) {
  .about-features__area {
    padding-top: 2.5em;
  }
}

.about-features__ttl {
  text-align: center;
  font-size: 2.5em;
}
@media screen and (max-width: 600px) {
  .about-features__ttl {
    font-size: min(5.641025641vw, 2.2rem);
  }
}

.about-features__ttl--text {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.12em;
  font-weight: 600;
  color: #5A2E2E;
  padding-left: 2.29em;
  padding-bottom: 0.4em;
  position: relative;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text {
    display: inline-block;
    padding-left: 0;
  }
}
.about-features__ttl--text.-policy::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 15.7em;
  height: 1.43em;
  background: url(../img/page/policy_ttl_deco.png) no-repeat center left/contain;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy::before {
    width: 15.54em;
    height: 3.5em;
    background: url(../img/page/feature_ttl_deco_sp.png) no-repeat center left/contain;
    left: 50%;
    transform: translateX(-50%);
  }
}
.about-features__ttl--text.-policy::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-34%, -50%) rotate(351deg);
  width: 10.63em;
  height: 3.91em;
  background: url(../img/page/policy_ttl_text.png) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy::after {
    width: 13.91em;
    height: 5.09em;
    transform: translate(-17%, -83%) rotate(351deg);
  }
}
.about-features__ttl--text.-policy2 {
  margin-top: 4em;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy2 {
    margin-top: 5.75em;
  }
}
.about-features__ttl--text.-policy2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 13.71em;
  height: 1.43em;
  background: url(../img/page/policy_ttl_deco2.png) no-repeat center left/contain;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy2::before {
    width: 15.54em;
    height: 3.5em;
    background: url(../img/page/feature_ttl_deco_sp.png) no-repeat center left/contain;
    left: 50%;
    transform: translateX(-50%);
  }
}
.about-features__ttl--text.-policy3 {
  margin-top: 2.6em;
  padding-bottom: 0.8em;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy3 {
    margin-top: 4.85em;
    padding-bottom: 0.6em;
  }
}
.about-features__ttl--text.-policy3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 11.37em;
  height: 1.43em;
  background: url(../img/page/policy_ttl_deco3.png) no-repeat center left/contain;
  transform: translate(3%, -20%);
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy3::before {
    width: 15.54em;
    height: 3.5em;
    background: url(../img/page/feature_ttl_deco_sp.png) no-repeat center left/contain;
    left: 50%;
    transform: translateX(-50%);
  }
}
.about-features__ttl--text.-policy4 {
  margin-top: 3.6em;
  padding-bottom: 0.8em;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy4 {
    margin-top: 4.4em;
    padding-bottom: 0.6em;
  }
}
.about-features__ttl--text.-policy4::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 10.31em;
  height: 1.43em;
  background: url(../img/page/policy_ttl_deco4.png) no-repeat center left/contain;
  transform: translate(3%, -20%);
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-policy4::before {
    width: 15.54em;
    height: 3.5em;
    background: url(../img/page/feature_ttl_deco_sp.png) no-repeat center left/contain;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-guideline {
    margin-top: 2.1em;
  }
}
.about-features__ttl--text.-guideline::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 8.71em;
  height: 1.43em;
  background: url(../img/page/guidelines_ttl_deco.png) no-repeat center left/contain;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-guideline::before {
    width: 15.54em;
    height: 3.5em;
    background: url(../img/page/feature_ttl_deco_sp.png) no-repeat center left/contain;
    left: 50%;
    transform: translateX(-50%);
  }
}
.about-features__ttl--text.-guideline::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-34%, -50%);
  width: 14.49em;
  height: 6.06em;
  background: url(../img/page/guidelines_ttl_text.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-guideline::after {
    width: 9.86em;
    height: 3.55em;
    transform: translate(-66%, -44%) rotate(351deg);
  }
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-logo {
    margin-top: 2.1em;
  }
}
.about-features__ttl--text.-logo::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 11.57em;
  height: 1.43em;
  background: url(../img/page/logo_ttl_deco.png) no-repeat center left/contain;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-logo::before {
    width: 15.54em;
    height: 3.5em;
    background: url(../img/page/feature_ttl_deco_sp.png) no-repeat center left/contain;
    left: 50%;
    transform: translateX(-50%);
  }
}
.about-features__ttl--text.-logo::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-19%, -53%);
  width: 12.71em;
  height: 6.06em;
  background: url(../img/page/logo_ttl_text.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-logo::after {
    transform: translate(-33%, -53%);
  }
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-contribution {
    margin-top: 2.1em;
  }
}
.about-features__ttl--text.-contribution::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 8.7em;
  height: 1.43em;
  background: url(../img/page/contribution_ttl_deco.png) no-repeat center left/contain;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-contribution::before {
    width: 15.54em;
    height: 3.5em;
    background: url(../img/page/feature_ttl_deco_sp.png) no-repeat center left/contain;
    left: 50%;
    transform: translateX(-50%);
  }
}
.about-features__ttl--text.-contribution::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-19%, -53%);
  width: 18.4em;
  height: 6.06em;
  background: url(../img/page/contribution_ttl_text.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--text.-contribution::after {
    transform: translate(-40%, -56%) scale(0.8);
  }
}

.policy__head--container {
  margin-top: 2.25em;
  display: grid;
  grid-template-columns: auto 34.9%;
  column-gap: 5%;
}
@media screen and (max-width: 600px) {
  .policy__head--container {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 2.2em;
  }
}

.policy__head--text {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  margin-top: 1.2em;
}
@media screen and (max-width: 600px) {
  .policy__head--text {
    margin-top: 1em;
  }
}

.policy__head--lead {
  font-size: 1.64em;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.08em;
  font-weight: 600;
  color: #4E3925;
}
@media screen and (max-width: 600px) {
  .policy__head--lead {
    font-size: 1.43em;
    line-height: 1.45;
  }
}

.frame-lists {
  max-width: 871px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4.9%;
  margin-top: 3em;
}
@media screen and (max-width: 600px) {
  .frame-lists {
    grid-template-columns: 1fr;
    row-gap: 3.25em;
    margin-top: 3.25em;
  }
}

.frame-list {
  text-align: center;
  position: relative;
}
.frame-list::before {
  content: "";
  display: block;
  padding-top: 90.8212560386%;
}

.frame-list__contents {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: url(../img/page/policy_frame.svg) no-repeat center/contain;
}
@media screen and (max-width: 600px) {
  .frame-list__contents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.frame-list__ttl {
  font-size: 1.5em;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.08em;
  line-height: 1.5238095238;
  color: #4A4A4A;
  padding-top: 3.25em;
}
@media screen and (max-width: 600px) {
  .frame-list__ttl {
    font-size: 1.43em;
    line-height: 1.6;
    padding-top: 0;
  }
}

.frame-list__text {
  line-height: 2.1428571429;
  letter-spacing: 0.09em;
  margin-top: 0.8em;
}
@media screen and (max-width: 600px) {
  .frame-list__text {
    line-height: 1.75;
    font-size: 0.9em;
  }
}

.about-features__column2--container {
  margin-top: 2.5em;
}
@media screen and (max-width: 600px) {
  .about-features__column2--container {
    margin-top: 1.5em;
  }
}

.about-features__column2 {
  display: flex;
}
@media screen and (max-width: 600px) {
  .about-features__column2 {
    flex-direction: column;
    row-gap: 2em;
  }
}
.about-features__column2.policy-column1 {
  column-gap: 5.64%;
}
.about-features__column2.policy-column1 .about-features__column2--img {
  width: 43.1%;
}
@media screen and (max-width: 600px) {
  .about-features__column2.policy-column1 .about-features__column2--img {
    width: 100%;
  }
}
.about-features__column2.policy-column2 {
  column-gap: 3.8%;
  align-items: center;
  margin-top: -0.57em;
}
@media screen and (max-width: 600px) {
  .about-features__column2.policy-column2 {
    margin-top: 0;
    row-gap: 2.5em;
  }
}
.about-features__column2.policy-column2 .about-features__column2--img {
  width: 48.55%;
}
@media screen and (max-width: 600px) {
  .about-features__column2.policy-column2 .about-features__column2--img {
    width: 100%;
  }
}
.about-features__column2:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 600px) {
  .about-features__column2:nth-child(even) {
    flex-direction: column;
    margin-top: 2em;
  }
}

.about-features__column2--texts {
  flex: 1;
}

.about-features__border li {
  padding-left: 2.14em;
  border-left: 1px solid #4E3925;
}
@media screen and (max-width: 600px) {
  .about-features__border li {
    padding-left: 1em;
  }
}
.about-features__border li:nth-child(n+2) {
  margin-top: 2.7em;
}
@media screen and (max-width: 600px) {
  .about-features__border li:nth-child(n+2) {
    margin-top: 2em;
  }
}
.about-features__border li h3 {
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.6666666667;
  color: #4A4A4A;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 600px) {
  .about-features__border li h3 {
    font-size: 1.43em;
    line-height: 1.6;
  }
}
.about-features__border li p {
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  margin-top: 0.75em;
}
.about-features__border li p span.is-half {
  display: inline-block;
  width: 0.5em;
}

.policy-group__lists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5em;
}
@media screen and (max-width: 600px) {
  .policy-group__lists {
    grid-template-columns: 1fr;
    margin-top: 2em;
  }
}

.policy-group__list {
  position: relative;
}
.policy-group__list::before {
  content: "";
  display: block;
  padding-top: 100%;
}
@media screen and (max-width: 600px) {
  .policy-group__list {
    width: 100%;
    max-width: 342px;
    margin-left: auto;
    margin-right: auto;
  }
  .policy-group__list:nth-child(n+2) {
    margin-top: -3.2%;
  }
}
@media screen and (min-width: 601px) {
  .policy-group__list:first-child {
    grid-column: 2/4;
    grid-row: 1/2;
  }
  .policy-group__list:nth-child(2) {
    grid-column: 1/3;
    grid-row: 2/3;
    margin-right: -1em;
    margin-left: 1em;
  }
  .policy-group__list:nth-child(3) {
    grid-column: 3/5;
    grid-row: 2/3;
    margin-left: -1em;
    margin-right: 1em;
  }
  .policy-group__list:not(:first-child) {
    margin-top: -5.71em;
  }
}

.policy-group__list--container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid #707070;
  text-align: center;
  padding-top: 7.2em;
}
@media screen and (max-width: 600px) {
  .policy-group__list--container {
    padding-top: 1.1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.policy-group__list--container h3 {
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5238095238;
  font-family: "Noto Serif JP", serif;
}
.policy-group__list--container p {
  line-height: 2.1428571429;
  letter-spacing: 0.08em;
  margin-top: 0.7em;
}

.policy-accounts__lists {
  display: grid;
  grid-template-columns: auto 45%;
  column-gap: 3.36%;
  margin-top: 2.25em;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .policy-accounts__lists {
    grid-template-columns: 1fr;
    row-gap: 3em;
  }
}
.policy-accounts__lists li p {
  margin-top: 0;
}
.policy-accounts__lists li:nth-child(n+2) {
  margin-top: 0;
}
.policy-accounts__lists li:nth-child(n+2) p {
  margin-top: 1em;
}

.about-features__top {
  display: block;
  max-width: 276px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5.75em;
  transform: translateX(5%);
  transition: transform 0.3s ease;
  font-size: 1.6rem;
}
.about-features__top:hover {
  transform: translateX(5%) rotate(2deg) scale(1.05);
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .about-features__top {
    font-size: min(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .about-features__top {
    font-size: min(4.1025641026vw, 1.6rem);
  }
}
.about-features__top img {
  transform: rotate(25deg);
}
@media screen and (max-width: 600px) {
  .about-features__top {
    transform: translateX(2%);
    margin-top: 5em;
    padding-bottom: 2em;
  }
}

.guidelines {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  column-gap: 3.3%;
  row-gap: 2.79em;
  margin-top: 3.5em;
}
@media screen and (max-width: 600px) {
  .guidelines {
    grid-template-columns: 1fr;
    margin-top: 1.75em;
  }
}

.guideline {
  position: relative;
}
.guideline::before {
  content: "";
  display: block;
  padding-top: 82.9875518672%;
}
@media screen and (max-width: 600px) {
  .guideline::before {
    padding-top: 109.649122807%;
  }
}
@media screen and (max-width: 600px) {
  .guideline:nth-child(2)::before {
    padding-top: 121.0526315789%;
  }
  .guideline:nth-child(2) .guideline__contents {
    background: url(../img/page/guideline_bg2.svg) no-repeat center/contain;
  }
  .guideline:nth-child(3)::before {
    padding-top: 114.6198830409%;
  }
  .guideline:nth-child(3) .guideline__contents {
    background: url(../img/page/guideline_bg3.svg) no-repeat center/contain;
  }
  .guideline:nth-child(4)::before {
    padding-top: 111.1111111111%;
  }
  .guideline:nth-child(4) .guideline__contents {
    background: url(../img/page/guideline_bg4.svg) no-repeat center/contain;
  }
  .guideline:nth-child(5)::before {
    padding-top: 114.3274853801%;
  }
  .guideline:nth-child(5) .guideline__contents {
    background: url(../img/page/guideline_bg5.svg) no-repeat center/contain;
  }
  .guideline:nth-child(6)::before {
    padding-top: 111.1111111111%;
  }
  .guideline:nth-child(6) .guideline__contents {
    background: url(../img/page/guideline_bg6.svg) no-repeat center/contain;
  }
  .guideline:nth-child(7)::before {
    padding-top: 122.8070175439%;
  }
  .guideline:nth-child(7) .guideline__contents {
    background: url(../img/page/guideline_bg7.svg) no-repeat center/contain;
  }
  .guideline:nth-child(8)::before {
    padding-top: 111.1111111111%;
  }
  .guideline:nth-child(8) .guideline__contents {
    background: url(../img/page/guideline_bg8.svg) no-repeat center/contain;
  }
  .guideline:not(:first-child) .guideline__lead {
    padding-bottom: 1em;
  }
  .guideline:not(:first-child) .guideline__text {
    margin-top: 0.75em;
  }
}
@media screen and (min-width: 601px) {
  .guideline:nth-child(2) .guideline__contents, .guideline:nth-child(3) .guideline__contents, .guideline:nth-child(6) .guideline__contents, .guideline:nth-child(7) .guideline__contents {
    background: url(../img/page/guidelines_bg_light.svg) no-repeat center/contain;
  }
}

.guideline__contents {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/page/guidelines_bg_dark.svg) no-repeat center/contain;
  text-align: center;
  padding-top: 5.1em;
}
@media screen and (max-width: 600px) {
  .guideline__contents {
    background: url(../img/page/guidelines_bg_dark_sp.svg) no-repeat center/contain;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 0.9em;
    padding-top: 0;
  }
}
.guideline__contents h3 {
  font-size: 1.64em;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5217391304;
  font-family: "Noto Serif JP", serif;
  color: #4A4A4A;
}

.guideline__number {
  font-family: "Brygada 1918", serif;
  font-style: italic;
  font-size: 5.36em;
  color: #F0EDE8;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0.5em;
  left: 0.75em;
}
@media screen and (max-width: 600px) {
  .guideline__number {
    font-size: 4.75em;
    left: 0.5em;
    top: 0.4em;
  }
}

.guideline__lead {
  color: #4A4A4A;
  font-size: 1.21em;
  letter-spacing: 0.08em;
  line-height: 1.4705882353;
  margin-top: 0.5em;
  padding-bottom: 1.5em;
  position: relative;
  max-width: 396px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .guideline__lead {
    font-size: 1.14em;
    max-width: 90%;
    margin-top: 0.75em;
    padding-bottom: 1.75em;
  }
}
.guideline__lead::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background-image: radial-gradient(#707070 20%, transparent 20%);
  background-size: 6px 6px;
  background-repeat: repeat-x;
}

.guideline__text {
  letter-spacing: 0.08em;
  line-height: 1.7857142857;
  margin-top: 1.25em;
}
@media screen and (max-width: 600px) {
  .guideline__text {
    line-height: 2;
  }
}

.logo__ttl {
  font-size: 2.14em;
  font-weight: 600;
  letter-spacing: 0.08em;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  color: #4E3925;
}
@media screen and (max-width: 600px) {
  .logo__ttl {
    font-size: 1.43em;
  }
}
.logo__ttl.-first {
  margin-top: 2.5em;
}
@media screen and (max-width: 600px) {
  .logo__ttl.-first {
    margin-top: 2.2em;
  }
}

.logo__img {
  max-width: 45.07em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3.5em;
}
@media screen and (max-width: 600px) {
  .logo__img {
    max-width: 19.71em;
    margin-top: 0.75em;
  }
}

.logo__text {
  font-size: 1.21em;
  letter-spacing: 0.12em;
  line-height: 2.0588235294;
  text-align: center;
  margin-top: 4.5em;
  margin-bottom: 7.25em;
}
@media screen and (max-width: 600px) {
  .logo__text {
    font-size: 1em;
    line-height: 2;
    letter-spacing: 0.15em;
    margin-top: 1.4em;
    margin-bottom: 4em;
    margin-left: -1em;
    margin-right: -1em;
  }
}

.logo__message {
  text-align: center;
  margin-top: 1.25em;
  letter-spacing: 0.08em;
  line-height: 2.5;
}
@media screen and (max-width: 600px) {
  .logo__message {
    letter-spacing: 0.15em;
    line-height: 2;
    margin-top: 1em;
  }
}

@media screen and (max-width: 600px) {
  .logo-frame-lists {
    margin-top: 1.25em;
    font-size: 0.9em;
  }
}
.logo-frame-lists h4 {
  font-size: 1.5em;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.08em;
}
.logo-frame-lists p {
  line-height: 1.7857142857;
  letter-spacing: 0.08em;
  margin-top: 1em;
}
@media screen and (max-width: 600px) {
  .logo-frame-lists p {
    line-height: 1.6428571429;
  }
}

.logo-frame__number {
  height: 3.36em;
  position: absolute;
  top: 4em;
  left: 3em;
}
@media screen and (max-width: 600px) {
  .logo-frame__number {
    top: 2.5em;
    left: 2.5em;
  }
}
.logo-frame__number img {
  width: auto;
  height: 100%;
}

.logo-frame__img {
  height: 15em;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media screen and (max-width: 600px) {
  .logo-frame__img {
    height: 7em;
  }
}
.logo-frame__img.-img1 {
  width: 15.93em;
  padding-bottom: 2.14em;
}
@media screen and (max-width: 600px) {
  .logo-frame__img.-img1 {
    width: 10.57em;
    padding-bottom: 1.5em;
  }
}
.logo-frame__img.-img2 {
  width: 8.5em;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 600px) {
  .logo-frame__img.-img2 {
    width: 6.21em;
    height: auto;
  }
}

.contribution__text {
  letter-spacing: 0.08em;
  line-height: 2.1428571429;
  margin-top: 1.4em;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .contribution__text {
    margin-top: 0.75em;
    line-height: 2;
  }
}

.contribution__subtext {
  color: rgba(78, 57, 37, 0.52);
  font-size: 0.86em;
  font-weight: 500;
  letter-spacing: 0.15em !important;
  margin-top: 0.5em !important;
  line-height: 1 !important;
}
@media screen and (max-width: 600px) {
  .contribution__subtext {
    margin-top: 0.75em !important;
  }
}

.contribution-lists {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5em;
  transform: translateX(1.8%);
}
@media screen and (max-width: 600px) {
  .contribution-lists {
    transform: translateX(0);
    margin-top: 2.5em;
  }
}

.contribution-list {
  display: flex;
  column-gap: 3.78%;
}
@media screen and (max-width: 600px) {
  .contribution-list {
    flex-direction: column-reverse;
    row-gap: 2em;
    border-left: 1px solid #4E3925;
  }
}
.contribution-list:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 600px) {
  .contribution-list:nth-child(even) {
    flex-direction: column-reverse;
  }
}
.contribution-list:nth-child(n+2) {
  margin-top: 8.75em;
}
@media screen and (max-width: 600px) {
  .contribution-list:nth-child(n+2) {
    margin-top: 3.75em;
  }
}

.contribution-list__texts {
  flex: 1;
}
@media screen and (max-width: 600px) {
  .contribution-list__texts li {
    border-left: none;
  }
}

.contribution__img {
  width: 43.78%;
}
@media screen and (max-width: 600px) {
  .contribution__img {
    width: 100%;
    padding-left: 1em;
  }
}
.contribution__img.-mt {
  margin-top: 3em;
}
@media screen and (max-width: 600px) {
  .contribution__img.-mt {
    margin-top: 2em;
  }
}
.contribution__img .video {
  margin-top: 3em;
}

.about-features__ttl--sp {
  font-size: 1.07em;
  color: #9D9D9D;
  letter-spacing: 0.08em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 7.2em;
}
.about-features__ttl--sp span {
  display: block;
  font-size: 1.86em;
  font-weight: 600;
  letter-spacing: 0.12em;
  font-family: "Noto Serif JP", serif;
  color: #4E3925;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 600px) {
  .about-features__ttl--sp span {
    white-space: nowrap;
    margin-bottom: 0.6em;
  }
}
@media screen and (min-width: 601px) {
  .about-features__ttl--sp {
    display: none;
  }
}

.about-policy2 {
  position: relative;
  z-index: 1;
}
.about-policy2::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(46%, 0%);
  width: 8.31em;
  height: 13.94em;
  background: url(../img/page/about_policy_deco1.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-policy2::before {
    width: 7.18em;
    height: 10.64em;
    transform: translate(24%, -12%);
    background: url(../img/page/about_policy_deco1_sp.png) no-repeat center/contain;
  }
}

.about-policy3 {
  position: relative;
  z-index: 1;
}
.about-policy3::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(61%, -6%);
  width: 33.34em;
  height: 30.8em;
  background: url(../img/page/about_policy_deco2.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-policy3::before {
    width: 16.36em;
    height: 16.09em;
    transform: translate(58%, -9%);
  }
}
.about-policy3::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-5%, 28%);
  width: 9.09em;
  height: 14.74em;
  background: url(../img/page/about_policy_deco3.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-policy3::after {
    width: 6.36em;
    height: 10.27em;
    transform: translate(-12%, 14%);
  }
}

.about-policy3__deco {
  position: relative;
  z-index: 1;
}
.about-policy3__deco::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(65%, 67%);
  width: 26em;
  height: 23.29em;
  background: url(../img/page/about_policy_deco4.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .about-policy3__deco::before {
    width: 16.43em;
    height: 14.71em;
    transform: translate(32%, 33%);
  }
}

.guidelines {
  position: relative;
  z-index: 1;
}
.guidelines::before {
  content: "";
  position: absolute;
  top: 20.5%;
  right: 0;
  transform: translate(50%, 0%);
  width: 20.79em;
  height: 34.86em;
  background: url(../img/page/about_policy_deco1.png) no-repeat center/contain;
  z-index: 2;
  opacity: 0.5;
}
@media screen and (max-width: 600px) {
  .guidelines::before {
    display: none;
  }
}

.logo__text {
  position: relative;
  z-index: 1;
}
.logo__text::before {
  content: "";
  position: absolute;
  top: 4.5%;
  right: 0;
  transform: translate(31%, 0%);
  width: 17.12em;
  height: 29.29em;
  background: url(../img/page/about_policy_deco1.png) no-repeat center/contain;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .logo__text::before {
    display: none;
  }
}
.logo__text::after {
  content: "";
  position: absolute;
  top: 69%;
  left: 0;
  transform: translate(-44%, 0%);
  width: 35.06em;
  height: 30.41em;
  background: url(../img/page/logo_deco.png) no-repeat center/contain;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .logo__text::after {
    display: none;
  }
}

/*======================================
    TOP
======================================*/
.top-works {
  overflow: hidden;
  position: relative;
  font-size: 1.4rem;
  z-index: 1;
  padding-top: 0.8em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .top-works {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-works {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-works {
    padding-top: 6.25em;
  }
}
.top-works::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 27.93em;
  height: 23em;
  background: url(../img/common/page_bg.png) no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .top-works::before {
    width: 19.57em;
    height: 16.14em;
  }
}

.top-works__container {
  display: grid;
  grid-template-columns: 37% auto;
  align-items: center;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 600px) {
  .top-works__container {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    align-items: start;
  }
}

@media screen and (max-width: 600px) {
  .top-works__texts {
    display: contents;
  }
}

.top-section__ttl {
  font-size: 1.79em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  position: relative;
}
.-media {
  
}
.-media_inner {
  width:fit-content;
  margin:0 0 0 auto;
}
@media screen and (max-width: 600px) {
  .top-section__ttl {
    font-size: 1.57em;
    line-height: 1.3636363636;
  }
}
.top-section__ttl span {
  position: absolute;
  display: block;
  font-size: 5.2em;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  letter-spacing: 0.01em;
  color: #F0F0F0;
  mix-blend-mode: multiply;
  white-space: nowrap;
  line-height: 1;
  font-weight: 400;
}
@media screen and (max-width: 600px) {
  .top-section__ttl span {
    font-size: 3.64em;
  }
}
@media screen and (max-width: 600px) {
  .top-section__ttl.-works {
    order: 1;
  }
}
@media screen and (max-width: 600px) {
  .top-section__ttl.-service {
    order: 1;
  }
}
@media screen and (max-width: 600px) {
  .top-section__ttl.-info {
    order: 1;
  }
}
.top-section__ttl.-works span {
  top: 0;
  left: 0;
  transform: translate(-1%, -50%);
}
.top-section__ttl.-service span {
  font-size: 6.8em;
  top: 0;
  left: 0;
  transform: translate(-32%, -60%);
}
@media screen and (max-width: 600px) {
  .top-section__ttl.-service span {
    font-size: 3.64em;
    transform: translate(-1%, -60%);
  }
}
/* 240203_縺薙％縺九ｉ */
.top-section__ttl.-event span {
  font-size: 6.8em;
  top: 0;
  left: 0;
  transform: translate(-1%, -60%);
}
@media screen and (max-width: 600px) {
  .top-section__ttl.-event span {
    font-size: 3.64em;
  }
}
/* 240203_縺薙％縺ｾ縺ｧ */
.top-section__ttl.-info span {
  font-size: 6.8em;
  top: 0;
  left: 0;
  transform: translate(-1%, -60%);
}
.top-section__ttl.-info.-media span {
  font-size: 6.8em;
  top: 0;
  right: 0;
  left:auto;
  transform: translate(-1%, -60%);
}
@media screen and (max-width: 600px) {
  .top-section__ttl.-info span {
    font-size: 3.64em;
  }
}

.top-section__lead {
  font-size: 1.14em;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.5625;
  margin-top: 2em;
}

@media screen and (max-width: 600px) {
  .top-section__lead {
    margin-top: 0.7em;
  }
}

.top-section__text {
  letter-spacing: 0.15em;
  line-height: 2.1428571429;
  margin-top: 1em;
}
@media screen and (max-width: 600px) {
  .top-section__text {
    line-height: 2;
    margin-top: 0.3em;
  }
}

@media screen and (max-width: 600px) {
  .top-works__sp {
    order: 3;
  }
}

.top-section__btn {
  margin-top: 1.5em;
}
@media screen and (max-width: 600px) {
  .top-section__btn {
    order: 4;
    margin-top: 2em;
    width: 100%;
    align-items: center;
  }
  .top-section__btn a {
    margin-left: auto !important;
  }
}

.top-works__img {
  width: 113%;
  transform: translateX(-4%);
  margin-top: -5%;
  max-width: 897px;
}
@media screen and (max-width: 600px) {
  .top-works__img {
    order: 2;
    margin-top: 0;
    transform: translate(-5%);
  }
}

.top-wrap {
  overflow: hidden;
}

.top-service {
  font-size: 1.4rem;
  margin-top: 4em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .top-service {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-service {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-service {
    margin-top: 8.5em;
  }
}
.top-service .top-section__lead {
  line-height: 2.125;
}
@media screen and (max-width: 600px) {
  .top-service .top-section__lead {
    line-height: 1.5625;
    margin-top: 1em;
  }
}
.top-service .top-section__text {
  margin-top: 1.4em;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 600px) {
  .top-service .top-section__text {
    margin-top: 0.5em;
    letter-spacing: 0.15em;
  }
}
.top-service .top-section__btn {
  margin-top: 4em;
}
@media screen and (max-width: 600px) {
  .top-service .top-section__btn {
    margin-top: 2.5em;
  }
}

.top-service__container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  column-gap: 8.49%;
}
@media screen and (max-width: 600px) {
  .top-service__container {
    flex-direction: column;
    align-items: start;
  }
}

@media screen and (max-width: 600px) {
  .top-service__sp {
    order: 3;
  }
}

.top-service__texts {
  width: 39.77%;
  padding-top: 1em;
}
@media screen and (max-width: 600px) {
  .top-service__texts {
    width: 100%;
    display: contents;
  }
}

.top-service__img--container {
  flex: 1;
}
@media screen and (max-width: 600px) {
  .top-service__img--container {
    display: contents;
  }
}

@media screen and (max-width: 600px) {
  .top-service__img {
    display: none;
  }
}

@media screen and (max-width: 600px) {
  .top-service__sp--swiper {
    order: 2;
    width: 100%;
  }
  .top-service__sp--swiper p {
    font-weight: 500;
    letter-spacing: 0.054em;
    text-align: center;
    margin-top: 2.25em;
    margin-bottom: 1.25em;
  }
  .top-service__sp--swiper p span {
    display: block;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-size: 1.43em;
    color: #122A88;
    margin-top: 0.4em;
  }
}
@media screen and (min-width: 601px) {
  .top-service__sp--swiper {
    display: none;
  }
}

.top-sp-swiper {
  padding-bottom: 1.57em;
}

.top-sp-pagination {
  bottom: 0;
}
.top-sp-pagination .swiper-pagination-bullet {
  width: 0.43em;
  height: 0.43em;
  opacity: 1;
  background-color: #BFBFBF;
  margin: 0 0.215em !important;
}
.top-sp-pagination .swiper-pagination-bullet-active {
  background-color: #122A88;
}

.top-sp-button-prev,
.top-sp-button-next {
  width: 2.5em;
  height: 2.5em;
  top: calc((100% - 1.57em) / 2);
}
.top-sp-button-prev::after,
.top-sp-button-next::after {
  content: "";
}

.top-sp-button-prev {
  background: url(../img/icon/sp-pagination_prev.svg) no-repeat center/contain;
  left: 0;
}

.top-sp-button-next {
  background: url(../img/icon/sp-pagination_next.svg) no-repeat center/contain;
  right: 0;
}

.top-service__sp--img {
  width: 75.8%;
  margin-left: auto;
  margin-right: auto;
}

.top-service__contact--container {
  display: flex;
  margin-right: calc(50% - 50vw);
  column-gap: 1.59%;
  margin-top: 7em;
}
@media screen and (min-width: 601px) {
  .top-service__contact--container {
    align-items: flex-end;
  }
}
@media screen and (max-width: 600px) {
  .top-service__contact--container {
    flex-direction: column-reverse;
    margin-right: 0;
    margin-top: 5.5em;
  }
}

.top-service__contact--texts {
  width: 41.67%;
  padding-top: 2em;
}
@media screen and (max-width: 600px) {
  .top-service__contact--texts {
    width: 100%;
    padding-top: 1.75em;
  }
}

.top-service__contact--head {
  display: flex;
  align-items: flex-end;
  column-gap: 0.5em;
}
@media screen and (max-width: 600px) {
  .top-service__contact--head {
    flex-direction: column;
    align-items: center;
    row-gap: 2em;
  }
}
.top-service__contact--head p {
  font-size: 1.43em;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.counter-item .counter {
  font-size: 2.29em;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #15238A;
}
@media screen and (max-width: 600px) {
  .counter-item .counter {
    font-size: 1.79em;
  }
}
.counter-item .counter .number {
  font-size: 2.96875em;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-family: "Alterbate Gothic No3 D", sans-serif;
  line-height: 0.3157894737;
  margin-right: 0.1em;
  display: inline-block;
}
@media screen and (max-width: 600px) {
  .counter-item .counter .number {
    font-size: 2.8em;
  }
}

.top-service__contact--img {
  flex: 1;
}
@media screen and (max-width: 600px) {
  .top-service__contact--img {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}

.top-service__contact--lists {
  margin-top: 2.2em;
}

.top-service__contact--list {
  display: grid;
  grid-template-columns: 5.8em auto;
  align-items: center;
  column-gap: 1em;
}
@media screen and (max-width: 600px) {
  .top-service__contact--list {
    align-items: start;
  }
}
.top-service__contact--list:nth-child(n+2) {
  margin-top: 1.5em;
}
.top-service__contact--list .date {
  font-size: 0.86em;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #AFAFAF;
}
@media screen and (max-width: 600px) {
  .top-service__contact--list .date {
    line-height: 1.8333333333;
  }
}
.top-service__contact--list .ttl {
  letter-spacing: 0.12em;
  line-height: 1.5714285714;
}

.top-service__contact--note {
  font-size: 0.86em;
  letter-spacing: 0.05em;
  line-height: 2.0833333333;
  margin-top: 3em;
}
@media screen and (max-width: 600px) {
  .top-service__contact--note {
    text-align: right;
    line-height: 1.6666666667;
  }
}

.top-service__contact--btn {
  margin-top: 3.7em;
}
.top-service__contact--btn a {
  font-weight: 600;
}
@media screen and (max-width: 600px) {
  .top-service__contact--btn {
    margin-top: 2em;
  }
}
@media screen and (max-width: 600px) {
  .top-service__contact--btn a {
    margin-left: auto !important;
  }
}

/* 240203_縺薙％縺九ｉ */
.top-event {
  overflow: hidden;
  position: relative;
  font-size: 1.4rem;
  z-index: 1;
  padding-top: 15.43em;
  padding-bottom: 8em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .top-event {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-event {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-event {
    margin-top: 5.7em;
    padding-top: 7em;
    padding-bottom: 4em;
  }
}
.top-event .top-section__ttl {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 600px) {
  .top-event .top-section__ttl {
    letter-spacing: 0.05em;
  }
}
.top-event .top-section__lead {
  margin-top: 0.8em;
  letter-spacing: 0.1em;
  margin-bottom: 1.5em;
}
.top-event-js-meta {
  display: flex;
  justify-content: center;
  align-items: center;
}

.top-event-js-meta .top-event-js-pagination {
  position: unset;
  width: auto;
  display: flex;
  justify-content: center;
}

.top-event-js-meta .top-event-js-pagination span {
  width: 10px;
  height: 10px;
  margin: 0 10px !important;
}

.top-event-js-meta .top-event-js-button-prev {
  position: unset;
  height: 12px;
  margin: 0;
}

.top-event-js-meta .top-event-js-button-prev::after {
  font-size: 12px;
  color: #707070;
}

.top-event-js-meta .top-event-js-button-next {
  position: unset;
  height: 12px;
  margin: 0;
}

.top-event-js-meta .top-event-js-button-next::after {
  font-size: 12px;
  color: #707070;
}
/* 240203_縺薙％縺ｾ縺ｧ */

.top-information {
  overflow: hidden;
  position: relative;
  font-size: 1.4rem;
  z-index: 1;
  padding-top: 9.43em;
  padding-bottom: 8em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .top-information {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-information {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-information {
    margin-top: 0.7em;
    padding-top: 7em;
    padding-bottom: 4em;
  }
}
/* .top-information::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 27.93em;
  height: 23em;
  background: url(../img/common/page_bg.png) no-repeat center/contain;
  z-index: -1;
} */
.top-information .top-section__ttl {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 600px) {
  .top-information .top-section__ttl {
    letter-spacing: 0.05em;
  }
}
.top-information .top-section__lead {
  margin-top: 0.8em;
  letter-spacing: 0.1em;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 600px) {
  .top-information .top-sp-swiper {
    margin: -15px;
    padding: 15px;
    padding-bottom: calc(15px + 1.57em);
  }
  .top-information .top-sp-swiper .top-sp-button-prev {
    left: 15px;
  }
  .top-information .top-sp-swiper .top-sp-button-next {
    right: 15px;
  }
  .top-information .blog-card {
    width: 82.16%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 601px) {
  .top-sp-swiper {
    margin: -15px;
    padding: 15px;
  }
  .top-sp-swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 0.71em;
    row-gap: 0.79em;
  }
}

@media screen and (min-width: 601px) {
  .top-sp-button-prev,
  .top-sp-button-next {
    display: none;
  }
}

.top-info__btn {
  margin-top: 2.5em;
}

.top-news {
  font-size: 1.4rem;
  padding-top: 4em;
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .top-news {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-news {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) {
  .top-news {
    padding-top: 1.2em;
  }
}
.top-news .tab-areas {
  margin-top: 0.5em;
}
.top-news .news__lists {
  max-width: 100%;
}

.top-news__container {
  display: grid;
  grid-template-columns: 10em auto;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .top-news__container {
    grid-template-columns: 1fr;
    row-gap: 1.25em;
  }
}

.top-news__ttl {
  font-size: 1.43em;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.top-news__btn {
  margin-top: 2.8em;
}

.top-mv {
  overflow: hidden;
  font-size: 1.0248901903vw;
  position: relative;
}
@media screen and (max-width: 600px) {
  .top-mv {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .top-mv {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .top-mv {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.top-mv__header {
  background-color: #122A88;
  font-size: min(1.0248901903vw, 1.4rem);
}
@media screen and (max-width: 1024px) {
  .top-mv__header {
    display: none;
  }
}

.top-mv__header--inner {
  display: flex;
  align-items: center;
  height: 4.36em;
  width: 98%;
  max-width: 1326px;
  margin-left: auto;
  margin-right: auto;
}

.top-mv__header--logo {
  width: 11.78em;
}

.top-mv__header--texts {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.top-mv__header--text {
  color: #fff;
  font-size: 0.86em;
  letter-spacing: 0.4em;
}

.top-mv__header--contact {
  background-color: #fff;
  color: #3C3C3C;
  display: flex;
  align-items: center;
  column-gap: 0.71em;
  height: 2.71em;
  border-radius: 0.36em;
  padding: 0 2em;
  margin-left: 1em;
}
.top-mv__header--contact a {
  font-size: 1.43em;
  white-space: nowrap;
  letter-spacing: 0.05em;
}
.top-mv__header--contact p {
  margin-top: 0;
  font-size: 1em;
  white-space: nowrap;
  letter-spacing: 0.08em;
}

.header-mv__links {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 4.43em;
  background-color: #fff;
  font-size: min(1.0248901903vw, 1.4rem);
}
@media screen and (max-width: 600px) {
  .header-mv__links {
    display: none;
  }
}
.header-mv__links .h__nav--container {
  max-width: 1298px;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  justify-content: flex-end;
}
.header-mv__links .h__nav--container .h__links {
  column-gap: 3.86em;
}
.header-mv__links .h__nav--container .h__btns {
  margin-left: 5.36em;
}
.header-mv__links .h__nav--container .h__btns a.download {
  background-color: #fff;
  border: 1px solid #15238A;
  color: #15238A;
  width: 16.36em;
  text-align: center;
  justify-content: center;
}
.header-mv__links .h__nav--container .h__btns a.contact {
  width: 16.36em;
  justify-content: center;
  text-align: center;
}
.header-mv__links .h__nav--container .top-header__cta a {
  letter-spacing: 0.24em;
  height: 2.71em;
  border-radius: 0.36em;
}
.header-mv__links .h__nav--container .top-header__cta a.contact:hover {
  opacity: 1;
}
.header-mv__links .h__nav--container .mv-h__btn--wrap {
  position: relative;
  transition: all 0.3s ease;
}
.header-mv__links .h__nav--container .mv-h__btn--wrap:hover {
  border-radius: 0.36em 0.36em 0 0;
  background-color: #44B1C5;
  opacity: 1;
}
.header-mv__links .h__nav--container .mv-h__btn--wrap:hover .mv-h__btn--text {
  opacity: 1;
  visibility: visible;
}
.header-mv__links .h__nav--container .mv-h__btn--wrap .mv-h__btn--text {
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-weight: 500;
  transform: translateY(100%);
  background-color: #44B1C5;
  z-index: 2;
  letter-spacing: 0.05em;
  padding: 0.25em 0.5em 0.64em;
  border-radius: 0 0 0.36em 0.36em;
  line-height: 1.4285714286;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.header-mv__links .h__nav--container .mv-h__btn--wrap .mv-h__btn--text span {
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.top-mv__sp--text {
  display: none;
}
@media screen and (max-width: 600px) {
  .top-mv__sp--text {
    display: block;
    margin-top: 4.36em;
    padding: 1em 0;
    background-color: #EDF8FE;
  }
  .top-mv__sp--text p {
    font-size: min(3.0769230769vw, 1.2rem);
    letter-spacing: 0.4em;
    line-height: 2;
  }
}

.top-mv__inner {
  width: 91.9%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: auto 60%;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 600px) {
  .top-mv__inner {
    display: flex;
    flex-direction: column;
    width: 87.69%;
    margin-right: auto;
  }
}

.top-mv__texts {
  padding-top: 16%;
}
@media screen and (max-width: 600px) {
  .top-mv__texts {
    padding-top: 0;
    display: contents;
  }
}

@media screen and (max-width: 600px) {
  .top-mv__ttl {
    order: 1;
  }
}
.top-mv__ttl {
  letter-spacing: 0.06em;
  line-height: 1.38;
  color: #15238A;
}
.top-mv__ttl .h2-small {
  font-size: 1.75em;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 600px) {
  .top-mv__ttl .h2-small {
    margin-top: 30px;
    font-size: 1.5em;
  }
}
.top-mv__ttl .h2-large {
  font-size: 2.75em;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 600px) {
  .top-mv__ttl .h2-large {
    font-size: 1.95em;
  }
}
@media screen and (max-width: 600px) {
  .top-mv__ttl .lg {
    font-size: 2.5em;
    line-height: 1.4285714286;
    margin-top: 0.75em;
  }
}
.top-mv__ttl .sm {
  color: #AFAFAF;
  font-size: 0.86em;
  line-height: 2.9166666667;
  letter-spacing: 0.15em;
  margin-top: 0.5em;
}
@media screen and (max-width: 600px) {
  .top-mv__ttl .sm {
    line-height: 1.6666666667;
    margin-top: 0.3em;
  }
}

.top-mv__contents {
  margin-top: 1.2em;
}
@media screen and (max-width: 600px) {
  .top-mv__contents {
    order: 3;
    margin-top: 1.5em;
  }
}
.top-mv__contents p {
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .top-mv__contents p {
    letter-spacing: 0.002em;
  }
}

.top-mv__btns {
  margin-top: 2.25em;
  font-size: 1.07em;
}
@media screen and (max-width: 600px) {
  .top-mv__btns {
    margin-top: 1em;
  }
}

.top-mv__animation--container {
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .top-mv__animation--container {
    margin-top: -1px;
  }
}
@media screen and (max-width: 600px) {
  .top-mv__animation--container {
    order: 2;
    margin-right: calc(50% - 50vw);
    margin-top: 1.5em;
  }
}
.top-mv__animation--container::before {
  content: "";
  display: block;
  padding-top: 77.4834437086%;
}
@media screen and (max-width: 600px) {
  .top-mv__animation--container::before {
    padding-top: 89.3442622951%;
  }
}
.top-mv__animation--container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
}

.top-mv__animation--wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.top-mv__animation {
  display: flex;
  transform: translateY(-50%) rotate(15deg);
}
@media screen and (max-width: 600px) {
  .top-mv__animation {
    transform: translateY(-60%) rotate(15deg);
  }
}
.top-mv__animation:nth-child(n+2) {
  margin-top: 15px;
}
.top-mv__animation.left .top-mv__animation--imgs {
  animation: slideLoopLeft 30s infinite linear 0.5s both;
}
.top-mv__animation.right .top-mv__animation--imgs {
  animation: slideLoopRight 30s infinite linear 0.5s both;
}

.top-mv__animation--imgs {
  display: flex;
}

.top-mv__animation--img {
  margin-left: 15px;
  width: 22.3279648609vw;
}
@media screen and (max-width: 600px) {
  .top-mv__animation--img {
    width: 43.5897435897vw;
  }
}

@keyframes slideLoopLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes slideLoopRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
.top-scroll {
  font-size: 0.86em;
  letter-spacing: 0.05em;
  transform: rotate(-90deg);
  position: absolute;
  bottom: 6.2em;
  left: 2.25em;
}
@media screen and (max-width: 600px) {
  .top-scroll {
    display: none;
  }
}

.top-scroll-bar {
  position: absolute;
  bottom: 1.14em;
  left: 3em;
  width: 3px;
  height: 3.14em;
}
.top-scroll-bar span {
  display: block;
  position: relative;
  width: 3px;
  height: 100%;
  animation: infinite scroll-bar 1.5s ease;
}
.top-scroll-bar span::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #707070;
}
.top-scroll-bar span::after {
  content: "";
  position: absolute;
  bottom: 1px;
  right: 0;
  width: 4px;
  height: 1px;
  transform: translateX(10%) rotate(45deg);
  background-color: #707070;
}
@media screen and (max-width: 600px) {
  .top-scroll-bar {
    display: none;
  }
}

.top-logos {
  font-size: 1.1713030747vw;
}
@media screen and (max-width: 600px) {
  .top-logos {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) and (min-width: 601px) and (max-width: 1024px) {
  .top-logos {
    font-size: min(1.0248901903vw, 1.4rem);
  }
}
@media screen and (max-width: 600px) and (max-width: 600px) {
  .top-logos {
    font-size: min(3.5897435897vw, 1.4rem);
  }
}

.top-mv__logos--wrap {
  overflow: hidden;
  display: grid;
  grid-template-columns: 9.5em auto;
  align-items: center;
  height: 3.75em;
}
@media screen and (max-width: 600px) {
  .top-mv__logos--wrap {
    grid-template-columns: 1fr;
    height: auto;
    margin-top: 2.14em;
  }
}

.top-mv__logo--ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  background-color: #15238A;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.22em;
}
@media screen and (max-width: 600px) {
  .top-mv__logo--ttl {
    height: 2.79em;
  }
}

.top-mv__logos--container {
  display: flex;
  align-items: center;
  height: 100%;
  background-color: #FAFAFA;
  overflow: hidden;
}
.top-mv__logos--container.-second {
  height: 3.75em;
}
.top-mv__logos--container.-second .top-mv__logo {
  font-size: 1em;
}
@media screen and (max-width: 600px) {
  .top-mv__logos--container.-second {
    height: 4.29em;
  }
}
@media screen and (max-width: 600px) {
  .top-mv__logos--container {
    height: 4.29em;
  }
}

.top-mv__logos {
  display: flex;
  align-items: center;
  height: 100%;
  animation: slideLoopLeft 40s infinite linear 0.5s both;
}
.top-mv__logos.-second {
  animation: slideLoopRight 40s infinite linear 0.5s both;
}
.top-mv__logos.-second .top-mv__logo:nth-child(1) {
  width: 5em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(2) {
  width: 6.625em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(3) {
  width: 9.0625em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(4) {
  width: 7.5em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(5) {
  width: 6.125em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(6) {
  width: 7.75em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(7) {
  width: 8.3125em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(8) {
  width: 10.625em;
}
.top-mv__logos.-second .top-mv__logo:nth-child(9) {
  width: 6.3125em;
}

.top-mv__logo {
  margin-left: 2.5em;
  font-size: 1.14em;
}
.top-mv__logo:nth-child(1) {
  width: 2.625em;
}
.top-mv__logo:nth-child(2) {
  width: 10.9375em;
}
.top-mv__logo:nth-child(3) {
  width: 5.5em;
}
.top-mv__logo:nth-child(4) {
  width: 7.5em;
}
.top-mv__logo:nth-child(5) {
  width: 3.9375em;
}
.top-mv__logo:nth-child(6) {
  width: 3.9375em;
}
.top-mv__logo:nth-child(7) {
  width: 6.5625em;
}
.top-mv__logo:nth-child(8) {
  width: 6.875em;
}
.top-mv__logo:nth-child(9) {
  width: 11.1875em;
}

.top-free__btn {
  position: absolute;
  bottom: 2.95em;
  right: 4em;
  display: flex;
  flex-direction: column;
  text-align: center;
  color: #fff;
  width: 13.43em;
  height: 13.43em;
  border-radius: 50%;
  background-color: #15238A;
  border: 4px solid #fff;
  z-index: 2;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 600px) {
  .top-free__btn {
    width: 7.57em;
    height: 7.57em;
    bottom: 1em;
    right: 1em;
    border: 2px solid #fff;
  }
}
.top-free__btn .text {
  font-size: 1.79em;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.28;
  padding-top: 1.4em;
}
@media screen and (max-width: 600px) {
  .top-free__btn .text {
    font-size: 1em;
  }
}
.top-free__btn .sm {
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-top: 0.25em;
}
@media screen and (max-width: 600px) {
  .top-free__btn .sm {
    font-size: 0.71em;
    margin-top: 0;
  }
}
.top-free__btn .sm span {
  display: inline-block;
  font-size: 2.35em;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 600px) {
  .top-free__btn .sm span {
    font-size: 1.75em;
    margin-top: 2px;
  }
}
