@charset "UTF-8";
/*(breakpoints)
***************************************************************/
/* (フォント変数)
***************************************************************/
/* (幅・余白変数)
***************************************************************/
/* (カラー変数テキスト)
***************************************************************/
/* (カラー変数)
***************************************************************/
/* (カラー変数背景)
***************************************************************/
/* (共通変数)
***************************************************************/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

ol,
ul {
  list-style: none;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
  vertical-align: top;
}

/* (ボタン)
***************************************************************/
.header__btn,
.drawer-content__btn {
  display: inline-block;
  text-align: center;
  font-weight: 500;
  line-height: normal;
  font-size: 14px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.btn--white {
  background: #FFFFFF;
  border: 1px solid #023E78;
  color: #023E78;
}
.btn--white:hover {
  background: #023E78;
  color: #FFFFFF;
}

.btn--dark {
  background: #023E78;
  border: 1px solid #023E78;
  color: #FFFFFF;
}
.btn--dark:hover {
  background: #002A52;
  color: #FFFFFF;
}

.btn--white-clear {
  background: #023E78;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
}
.btn--white-clear:hover {
  background: #FFFFFF;
  color: #023E78;
}

/* (submit__btn)
***************************************************************/
.submit__btn {
  display: inline-block;
  text-align: center;
  font-weight: 500;
  line-height: normal;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  padding: 25px 20px 25px 20px;
  width: 295px;
  max-width: 100%;
}
@media screen and (min-width:900px) {
  .submit__btn {
    font-size: 16px;
    padding: 23px 20px 24px 20px;
    width: 336px;
  }
}

@media screen and (min-width:900px) {
  .submit__btn--contact {
    width: 208px;
    line-height: 1.5;
  }
}

div.wpcf7 .wpcf7-spinner {
  display: none !important;
}

/* (フロントページ 矢印ボタン)
***************************************************************/
.link-top__wrap {
  text-align: right;
}
@media screen and (min-width:900px) {
  .link-top__wrap {
    text-align: right;
    margin-right: 26px;
  }
}

.link-top__more {
  font-family: "Fira Sans", sans-serif;
  font-size: 20px;
  line-height: normal;
  display: inline-block;
  position: relative;
  text-align: center;
  padding: 10px 97px 6px 0;
}
@media screen and (min-width:900px) {
  .link-top__more {
    font-size: 32px;
    padding: 8px 115px 5px 0;
  }

}
.link-top__more:hover .single-alow--black,
.link-top__more:hover .single-alow--blue,
.link-top__more:hover .single-alow--white {
  width: 96px;
}
@media screen and (min-width:900px) {
  .link-top__more:hover .single-alow--black,
  .link-top__more:hover .single-alow--blue,
  .link-top__more:hover .single-alow--white {
    width: 144px;
  }
}

.link-top__more--case-only {
  padding: 10px 96px 6px 0;
}

@media screen and (min-width:900px) {
  .link-top__more--case-only {
    padding: 7px 115px 5px 0;
  }
}

.link-top__more--news-only {
  padding: 7px 97px 8px 0;
}

.single-alow--black,
.single-alow--blue,
.single-alow--white {
  display: inline-block;
  width: 64px;
  height: 2px;
  position: absolute;
  top: 25px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
  margin: 0 21px 0 13px;
  z-index: 5;
}
@media screen and (min-width:900px) {
  .single-alow--black,
  .single-alow--blue,
  .single-alow--white {
    width: 95px;
    margin: 0 25px 0 19px;
    top: 30px;
  }

  .single-alow--black--news-only{
    top: 33px;
  }
}
.single-alow--black::after,
.single-alow--blue::after,
.single-alow--white::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 17px;
  border-right: 2.5px solid;
  -webkit-transform: rotate(-55deg);
          transform: rotate(-55deg);
  top: -8px;
  right: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 4;
}

.single-alow--black {
  background: #1a1a1a;
}
.single-alow--black::after {
  border-right: 2px solid #1a1a1a;
}

.single-alow--blue {
  background: #023E78;
}
.single-alow--blue::after {
  border-right: 2px solid #023E78;
}

.single-alow--white {
  background: #FFFFFF;
}
.single-alow--white::after {
  border-right: 2px solid #FFFFFF;
}

.single-alow--case-only {
  top: 23px;
}

.circle {
  display: inline-block;
  position: absolute;
  width: 42px;
  height: 42px;
  aspect-ratio: 1;
  border: 2px solid #FEF251;
  border-radius: 50%;
  top: -2px;
  right: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 3;
}
@media screen and (min-width:900px) {
  .circle {
    width: 53px;
    height: 53px;
    right: -27px;
  }
  .circle--news-only{
    top: 1px;
  }
}

.circle--fill {
  background: #FFF400;
}

.circle--clear {
  background: transparent;
}

/* (footerボタン)
***************************************************************/
.footer-cta__link--btn {
  display: inline-block;
  position: relative;
  color: #FFF400;
  font-family: "Fira Sans", sans-serif;
  font-size: 16px;
  line-height: normal;
  border: 2px solid #FFF400;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding: 27px 109px 27px 108px;
}
@media screen and (min-width:768px) {
  .footer-cta__link--btn {
    font-size: 24px;
    padding: 32px 99px 33px 101px;
  }
}
.footer-cta__link--btn:hover {
  background: #FFF400;
  color: #1a1a1a;
}
.footer-cta__link--btn:hover .footer-cta__link--alow {
  right: 10px;
}
.footer-cta__link--btn:hover .footer-cta__link--alow svg {
  fill: #1a1a1a;
}

.footer-cta__link--alow {
  position: absolute;
  top: 49%;
  right: 18px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width:768px) {
  .footer-cta__link--alow {
    right: 30px;
  }
}
.footer-cta__link--alow svg {
  fill: #FFF400;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* (lower cta__btn)
***************************************************************/
.cta__btn {
  display: inline-block;
  position: relative;
  color: #023E78;
  border: 1px solid #023E78;
  background: #FFFFFF;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
  width: 295px;
  padding-top: 23px;
  padding-bottom: 23px;
}
@media screen and (min-width:768px) {
  .cta__btn {
    font-size: 16px;
    line-height: 1.5;
    width: 304px;
    max-width: 100%;
  }
}
@media screen and (min-width:900px) {
  .case-study__cta .cta__btn {
    width: auto;
    padding-right: 80px;
    padding-left: 80px;
  }
}
.cta__btn:hover {
  background: #023E78;
  color: #FFFFFF;
}
.cta__btn:hover .cta__btn--alow {
  right: 5px;
}
.cta__btn:hover .cta__btn--alow svg {
  fill: #FFFFFF;
}
@media screen and (min-width:900px) {
  .cta__btn:hover .cta__btn--alow {
    right: 10px;
  }
}

.cta__btn--alow {
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width:768px) {
  .cta__btn--alow {
    right: 20px;
  }
}
.cta__btn--alow svg {
  fill: #023E78;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width:900px) {
  .case-study__cta .cta__btn--alow {
    right: 6.8452380952%;
  }
}

/* (全体)
***************************************************************/


body {
  line-height: 1.71429;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  color: #1a1a1a;
}
@media screen and (min-width:900px) {
  body {
    font-size: 14px;
  }
}
body.drawer-active {
  overflow: hidden;
}
body.modal-active {
  overflow: hidden;
}

.sp {
  display: block;
}
@media screen and (min-width:900px) {
  .sp {
    display: none;
  }
}

.pc {
  display: none;
}
@media screen and (min-width:900px) {
  .pc {
    display: block;
  }
}

.inline-block {
  display: inline-block;
  font-weight: inherit;
}

.link:hover {
  opacity: 0.7;
}

/* (共通レイアウト)
***************************************************************/
.inner {
  padding-left: 20px;
  padding-right: 20px;
  margin-inline: auto;
  width: 450px;
  max-width: 100%;
}
@media screen and (min-width:768px) {
  .inner {
    padding-left: 40px;
    padding-right: 40px;
    width: 600px;
  }
}
@media screen and (min-width:900px) {
  .inner {
    padding-left: 40px;
    padding-right: 40px;
    width: 1180px;
  }
}

.bg-skew {
  position: relative;
}
.bg-skew::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transform: skewY(10deg);
          transform: skewY(10deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  z-index: -1;
  width: 100%;
  background: #EDF3F8;
}

.bg-filter {
  position: relative;
}
.bg-filter::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(26, 26, 26, 0.2);
}


/* (テキスト装飾)
***************************************************************/
.text-bold {
  font-weight: bold;
}

.text--white {
  color: #FFFFFF;
}

.text--blue {
  color: #023E78;
}

.text--black {
  color: #1a1a1a;
}

@media screen and (min-width:900px) {
  .line-height-normal-pc {
    line-height: normal;
  }
}

/* (トップページタイトル)
***************************************************************/
.section__title {
  font-family: "Fira Sans", sans-serif;
  font-size: 52px;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .section__title {
    font-size: 100px;
  }
}

.section__sub-title {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .section__sub-title {
    font-size: 24px;
  }

  .section__sub-title--case{
    margin-top: -1px;
  }
}

.section__head {
  display: block;
}
@media screen and (min-width:900px) {
  .section__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/* (下層ページmv)
***************************************************************/
.mv-lower {
  margin-top: 60px;
  height: 250px;
  position: relative;
}
@media screen and (min-width:1240px) {
  .mv-lower {
    margin-top: 100px;
    height: 250px;
  }
}
.mv-lower::after {
  content: "";
  position: absolute;
  background: url(../img/mv-lower-decoration_sp.png) no-repeat center;
  width: 165.654px;
  height: 250px;
  top: 0;
  left: 0;
}
@media screen and (min-width:768px) {
  .mv-lower::after {
    background: url(../img/mv-lower-decoration_pc.png) no-repeat center;
    width: 365.654px;
    height: 250px;
  }
}

.mv-lower__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 5.3333333333%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width:768px) {
  .mv-lower__title-wrap {
    left: 17.1875%;
  }
}

.mv-lower__title {
  color: #023E78;
  font-family: "Fira Sans", sans-serif;
  font-size: 32px;
  line-height: normal;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #FFFFFF;
}
.service-lower__mv-img .mv-lower__title, .case-lower__mv-img .mv-lower__title, .contact__mv-img .mv-lower__title {
  padding-right: 2px;
}
@media screen and (min-width:900px) {
  .mv-lower__title {
    font-size: 60px;
    padding-left: 1px;
  }
  .service-lower__mv-img .mv-lower__title, .case-lower__mv-img .mv-lower__title {
    padding-right: 1px;
    margin-left: 3px;
  }
  .news-lower__mv-img .mv-lower__title {
    margin-left: 2px;
  }
}

.mv-lower__sub-title {
  color: #023E78;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #FFFFFF;
}
@media screen and (min-width:900px) {
  .mv-lower__sub-title {
    font-size: 20px;
  }
}

/* (パンくずリスト)
***************************************************************/
.breadcrumb {
  font-size: 12px;
  font-weight: 500;
  line-height: normal;
  margin-top: 13px;
}

.home,
.breadcrumb-prev {
  color: #888;
}

.breadcrumb span {
  font-size: 12px;
  line-height: normal;
}

.breadcrumb-alow{
  margin-left: 8px;
  margin-right: 8px;
}


/* (ページネーション)
***************************************************************/
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination a {
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  font-size: 16px;
  line-height: normal;
  text-align: center;
}
.pagination a:hover {
  opacity: 0.6;
}
@media screen and (min-width:900px) {
  .pagination {
    gap: 8px;
  }
}

.page-numbers {
  background: #F8F8F8;
  color: #888;
  width: 40px;
  height: 40px;
  font-size: 16px;
  line-height: normal;
  text-align: center;
  padding-top: 8px;
  padding-bottom: 9px;
}
.page-numbers.current {
  background: #023E78;
  color: #FFFFFF;
}
@media screen and (min-width:900px) {
  .page-numbers {
    width: 50px;
    height: 50px;
    padding-top: 14px;
    padding-bottom: 13px;
  }
}

.page-numbers.next {
  background: url(../img/icon-next.svg) no-repeat center center;
  background-size: 7.481px 12.722px;
  background-color: #F8F8F8;
}
@media screen and (min-width:900px) {
  .page-numbers.next {
    background-size: 9.424px 16.026px;
    margin-left: 12px !important;
  }
}

.page-numbers.prev {
  background: url(../img/icon-prev.svg) no-repeat center center;
  background-size: 7.481px 12.722px;
  background-color: #F8F8F8;
}
@media screen and (min-width:900px) {
  .page-numbers.prev {
    background-size: 9.424px 16.026px;
    margin-right: 12px !important;
  }
}

/* (header)
***************************************************************/
.header {
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  background: #FFFFFF;
  z-index: 999;
  width: 100%;
}
@media screen and (min-width:1240px) {
  .header {
    height: 100px;
  }
}

.header__inner {
  padding-left: 20px;
  padding-right: 20px;
  width: 1100px;
  max-width: 100%;
  height: inherit;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width:1240px) {
  .header__inner {
    width: 1280px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

.header__logo {
  width: 198px;
  padding-bottom: 6px;
}
@media screen and (min-width:1240px) {
  .header__logo {
    width: 280px;
    max-width: 100%;
    padding-bottom: 0;
  }
}

.header__menu {
  display: none;
}
@media screen and (min-width:1240px) {
  .header__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 32px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.header__nav a:hover {
  opacity: 0.7;
}
@media screen and (min-width:1240px) {
  .header__nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 46px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 4px;
  }
}
@media screen and (min-width:1240px) {
  .header__nav ul li {
    position: relative;
  }
  .header__nav ul li:not(:last-child)::after {
    content: "／";
    position: absolute;
    width: 14px;
    height: 24px;
    top: 50%;
    left: calc(100% + 23px);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

@media screen and (min-width:1240px) {
  .header__cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
  }
}

.header__btn {
  width: 176px;
  padding-top: 24px;
  padding-bottom: 24px;
}

.drawer-icon {
  width: 27px;
  height: 18px;
  position: relative;
  z-index: 998;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(1) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 8px;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(2) {
  display: none;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(3) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 8px;
}
@media screen and (min-width:1240px) {
  .drawer-icon {
    display: none;
  }
}

.drawer-icon__bar {
  position: absolute;
  width: 27px;
  height: 3px;
  background: url(../img/drawer-icon__bar.svg) no-repeat center center/cover;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
.drawer-icon__bar:nth-of-type(1) {
  top: 0px;
  left: 0;
}
.drawer-icon__bar:nth-of-type(2) {
  top: 6.5px;
  right: 0;
}
.drawer-icon__bar:nth-of-type(3) {
  top: 14px;
  left: 0;
}

/* (ヘッダードロワー内)
***************************************************************/
.drawer-content {
  position: fixed;
  top: 60px;
  left: 0;
  width: 100%;
  height: calc(100vh - 60px);
  padding-top: 60px;
  padding-bottom: 60px;
  background: #023E78;
  z-index: 20;
  display: none;
}
.drawer-content.is-checked {
  display: block;
}

.drawer-content__menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.drawer-content__menu ul li {
  text-decoration: none;
  color: #FFFFFF;
  font-size: 16px;
  line-height: normal;
}

.drawer-content__cta {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 31px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.drawer-content__btn {
  width: 295px;
  max-width: 100%;
  padding-top: 21px;
  padding-bottom: 21px;
  font-size: 16px;
  line-height: normal;
}

/* (mv)
***************************************************************/
.mv-top {
  margin-top: 60px;
  padding-bottom: 60px;
}
@media screen and (min-width:900px) {
  .mv-top {
    padding-bottom: 150px;
  }
}
@media screen and (min-width:1240px) {
  .mv-top {
    margin-top: 100px;
  }
}

.mv-top__inner {
  margin-left: 40px;
  position: relative;
}
@media screen and (min-width:768px) {
  .mv-top__inner {
    margin-left: 90px;
  }
}

.swiper-container {
  position: relative;
  width: 100%;
}

.swiper {
  position: relative;
}

.swiper-wrapper {
  position: relative;
}

.mv-top__title-wrapper {
  position: absolute;
  top: 63.7561779242%;
  left: -20px;
  z-index: 1;
}
@media screen and (min-width:768px) {
  .mv-top__title-wrapper {
    top: 62.1428571429%;
    left: -40px;
  }
}

.mv-top__title-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media screen and (min-width:768px) {
  .mv-top__title-head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}

.mv-top__title-bottom {
  margin-top: 8px;
}
@media screen and (min-width:768px) {
  .mv-top__title-bottom {
    margin-top: 16px;
  }
}

.mv-top__title {
  color: #023E78;
  font-family: "Fira Sans", sans-serif;
  font-size: 10.67vw;
  line-height: normal;
  background: #FFFFFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width:768px) {
  .mv-top__title {
    font-size: 4.69vw;
  }
}

@media screen and (min-width:768px) {
  .mv-top__title--space {
    padding-left: 1.09vw;
  }
}

.mv-top__sub-title {
  margin-top: 16px;
  color: #FFFFFF;
  font-size: 4.27vw;
  font-weight: 700;
  line-height: normal;
  background: #023E78;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width:768px) {
  .mv-top__sub-title {
    font-size: 1.56vw;
  }
}

/* (about-top)
***************************************************************/
.about-top__inner {
  padding-bottom: 135px;
  position: relative;
}
@media screen and (min-width:900px) {
  .about-top__inner {
    padding-top: 104px;
    padding-bottom: 243px;
  }
}

.about-top__section__title {
  padding-left: 2px;
}
@media screen and (min-width:900px) {
  .about-top__section__title {
    padding-left: 0;
  }
}

.about-top__section__sub-title {
  margin-top: 2px;
  padding-left: 2px;
}
@media screen and (min-width:900px) {
  .about-top__section__sub-title {
    padding-left: 0;
    margin-top: 0;
  }
}

.about-top__link {
  margin-top: 32px;
}
@media screen and (min-width:900px) {
  .about-top__link {
    margin-top: 0;
  }
}

.about-top__container {
  margin-top: 58px;
}
@media screen and (min-width:900px) {
  .about-top__container {
    margin-top: 22px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.about-top__bg-skew::before {
  height: 82%;
}
@media screen and (min-width:900px) {
  .about-top__bg-skew::before {
    height: 60.5%;
  }
}

@media screen and (min-width:900px) {
  .about-top__text {
    width: 34.4545454545%;
    margin-top: -14px;
  }
}

.about-top__img-wrap {
  margin-top: 30px;
  padding-top: 40px;
  padding-bottom: 40px;
  position: relative;
  text-align: center;
}
@media screen and (min-width:900px) {
  .about-top__img-wrap {
    width: 61.9090909091%;
    margin-top: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
  }
}

.about-top__img {
  width: 600px;
  width: 100%;
}
@media screen and (min-width:900px) {
  .about-top__img {
    width: 100%;
  }
}

.about-top__img-bg {
  position: absolute;
  top: 0;
  right: -20px;
  background: url(../img/about_bg.jpg) no-repeat center center/cover;
  z-index: -1;
  width: 88.0597014925%;
  height: 100%;
}
@media screen and (min-width:900px) {
  .about-top__img-bg {
    top: 0;
    right: 0;
    width: 39.0625%;
    max-height: 800px;
  }
}

/* (Service)
***************************************************************/
.service-top__bg-skew::before {
  height: 50.5%;
}
@media screen and (min-width:900px) {
  .service-top__bg-skew::before {
    height: 46.3%;
    bottom: -120px;
  }
}

.service-top__inner {
  position: relative;
  padding-top: 58px;
  padding-bottom: 101px;
}

@media screen and (min-width:900px) {
  .service-top__inner {
    padding-top: 119px;
    padding-bottom: 104px;
  }
}

.service-top__cards {
  margin-top: 67px;
  padding-left: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 73px;
}
@media screen and (min-width:900px) {
  .service-top__cards {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 6.3636363636%;
    margin-top: 87px;
    padding-left: 0px;
  }
}

@media screen and (min-width:900px) {
  .service-top-card {
    width: 29.0909090909%;
  }
  .service-top-card:nth-child(2) {
    margin-top: 60px;
  }
  .service-top-card:nth-child(3) {
    margin-top: 120px;
  }
}

.service-top-card__img-wrap {
  position: relative;
  width: 400px;
  max-width: 100%;
  margin-inline:auto;
}

.service-top-card__number {
  width: 106px;
  position: absolute;
  top: -53px;
  right: 2px;
}

.service-top-card__number--02 {
  width: 106px;
  position: absolute;
  top: -55px;
  right: 2px;
}

@media screen and (min-width:900px){
  .service-top-card__number {
    top: -55px;
  }
}

.service-top-card__number--01 {
  width: 99px;
}

.service-top-card__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  position: absolute;
  left: -15px;
  bottom: 33px;
}
@media screen and (min-width:900px) {
  .service-top-card__title-wrap {
    left: -32px;
  }
}

.service-top-card__title {
  color: #023E78;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #FFFFFF;
}

.service-top-card__text {
  margin-top: 14px;
}

.service-top__link {
  margin-top: 30px;
}
@media screen and (min-width:900px) {
  .service-top__link {
    margin-top: 0px;
  }
}

/* (case-study)
***************************************************************/
.case-top {
  margin-top: 60px;
}
@media screen and (min-width:900px) {
  .case-top {
    margin-top: 0;
  }
}

.case-top__img-bg {
  background: url(../img/bg-company.jpg) no-repeat center center/cover;
  z-index: -1;
  width: 100%;
  height: auto;
}

.case-top__inner {
  padding-top: 60px;
  padding-bottom: 58px;
}
@media screen and (min-width:900px) {
  .case-top__inner {
    padding-top: 100px;
    padding-bottom: 118px;
  }
}

.case-top__link {
  margin-top: 51px;
}
@media screen and (min-width:900px) {
  .case-top__link {
    margin-top: 0;
  }
}

.case-top__cards {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 49px;
  margin-top: 40px;
}

@media screen and (min-width:767px) {
  .case-top__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 67px 6.3636363636%;
    margin-top: 80px;
  }
}

@media screen and (min-width:900px) {
  .case-top__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 67px 6.3636363636%;
    margin-top: 80px;
  }
}

.case-top-item:hover .case-top-item__link {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
}
.case-top-item:hover .case-top-item__link svg {
  fill: #FFF400;
}

.case-top-item__company-name {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  margin-top: 13px;
}

@media screen and (min-width:900px) {
  .case-top-item__company-name {
    margin-top: 14px;
  }
}

.case-top-item__link-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 8px;
  gap: 10px;
}

.case-top-item__category {
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.2;
  border: 1px solid #FFF;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 7px 15px 6px 16px;
}

.case-top-item__link {
  margin-top: 2px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.case-top-item__link svg {
  fill: #FFFFFF;
}
@media screen and (min-width:900px) {
  .case-top-item__link {
    padding-right: 8px;
    margin-top: 4px;
  }
}

/* (news-top)
***************************************************************/
.news-top {
  margin-bottom: 100px;
}
@media screen and (min-width:768px) {
  .news-top {
    margin-bottom: 0;
  }
}

.news-top__bg-skew::before {
  height: 71%;
}
@media screen and (min-width:900px) {
  .news-top__bg-skew::before {
    height: 40.5%;
    bottom: -90px;
  }
}

.news-top__inner {
  padding-top: 60px;
  padding-bottom: 103px;
}
@media screen and (min-width:900px) {
  .news-top__inner {
    padding-top: 165px;
    padding-bottom: 160px;
  }
}

.news-top__link {
  margin-top: 32px;
}
@media screen and (min-width:900px) {
  .news-top__link {
    margin-top: 0;
  }
}

.news-top__contents {
  padding: 40px 20px 40px 20px;
  background: #FFF;
  -webkit-box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
  margin-inline: auto;
  margin-top: 61px;
}
@media screen and (min-width:900px) {
  .news-top__contents {
    width: 768px;
    max-width: 100%;
    padding: 60px 40px 40px 40px;
    margin-top: 80px;
  }
}

.news-top__list {
  padding-bottom: 33px;
  border-bottom: 1px solid #DDD;
}
.news-top__list:not(:first-child) {
  margin-top: 16px;
}
@media screen and (min-width:900px) {
  .news-top__list:not(:first-child) {
    margin-top: 20px;
  }
}

.news-top-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.news-top-item__category {
  color: #E61264;
  border: 1px solid #E61264;
  font-size: 12px;
  line-height: 1.2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 6px 19px 7px 20px;
}
@media screen and (min-width:900px) {
  .news-top-item__category {
    font-size: 14px;
    padding: 8px 23px 8px 24px;
  }
}

.news-top-item__date {
  color: #888;
  line-height: normal;
}

.news-top-item__title {
  font-weight: 700;
  line-height: normal;
  margin-top: 16px;
}
@media screen and (min-width:900px) {
  .news-top-item__title {
    font-size: 16px;
  }
}

/* (footer-cta)
***************************************************************/
.footer-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  position: relative;
}
@media screen and (min-width:768px) {
  .footer-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.footer-cta__contents {
  text-align: center;
  padding: 46px 20px 24px 20px;
}
@media screen and (min-width:768px) {
  .footer-cta__contents {
    padding: 55px 20px 49px 20px;
    width: 50%;
  }
}

.download-bg {
  background: url(../img/download-bg.jpg) no-repeat center center/cover;
}

.contact-bg {
  background: url(../img/contact-bg.jpg) no-repeat center center/cover;
}

.footer-cta__title {
  color: #FFFFFF;
  font-family: "Fira Sans", sans-serif;
  font-size: 40px;
  line-height: normal;
  text-transform: uppercase;
}
@media screen and (min-width:768px) {
  .footer-cta__title {
    font-size: 50px;
  }
}
@media screen and (min-width:900px) {
  .footer-cta__title {
    font-size: 60px;
  }
}

.footer-cta__sub-title {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  margin-top: 6px;
}
@media screen and (min-width:768px) {
  .footer-cta__sub-title {
    margin-top: 2px;
  }
}

.footer-cta__link {
  margin-top: 40px;
  text-align: center;
}

/* (footer)
***************************************************************/
.footer {
  background: #1a1a1a;
  color: #FFFFFF;
  position: relative;
}

.footer__inner {
  padding-top: 76px;
  padding-bottom: 13px;
  text-align: center;
}
@media screen and (min-width:768px) {
  .footer__inner {
    padding-top: 130px;
    padding-bottom: 17px;
  }
}

.footer__logo {
padding-left: 2px;
}
.footer__logo img {
  width: 280px;
  max-width: 100%;
}
@media screen and (min-width:768px) {
  .footer__logo {
    padding-left: 0px;
    }

  .footer__logo img {
    width: 363px;
  }
}

.footer__body {
  margin-top: 31px;
  width:235px;
  margin-inline: auto;
  text-align: left;
}
@media screen and (min-width:768px) {
  .footer__body {
    margin-top: 34px;
  }
}

.footer__copy {
  display: block;
  margin-top: 38px;
  font-weight: 500;
  line-height: normal;
  font-size:12px;
}

@media screen and (min-width:768px) {
  .footer__copy {
    font-size: 14px;
    margin-top: 76px;
    line-height: 1.71429;
  }
}

.page-top {
  position: absolute;
  bottom: 20px;
  right: 10px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.page-top img {
  width: 40px;
}
.page-top:hover {
  opacity: 0.7;
}
@media screen and (min-width:768px) {
  .page-top {
    bottom: 40px;
    right: 20px;
  }
}

@media screen and (max-width:350px) {
  .page-top {
    bottom: 40px;
  }
}




/* (lower-company mv)
***************************************************************/
.company-lower__mv-img {
  background: url(../img/mv-lower--company_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:768px) {
  .company-lower__mv-img {
    background: url(../img/mv-lower--company_pc.jpg) no-repeat center center/cover;
  }
}

/* (lower-company company-message)
***************************************************************/
.mission {
  margin-top: 60px;
}
@media screen and (min-width:900px) {
  .mission {
    margin-top: 80px;
  }
}

.company-message {
  padding-bottom: 60px;
}
@media screen and (min-width:900px) {
  .company-message {
    width: 1100px;
    max-width: 100%;
    margin-inline: auto;
    padding-bottom: 120px;
  }
}

.company-message__bg {
  padding: 20px 20px 174px 20px;
}
@media screen and (min-width:900px) {
  .company-message__bg {
    padding: 20px 20px 178px 20px;
  }
}

.bg--mission {
  background: url(../img/lower-company1_sp.jpg) no-repeat center/cover;
}
@media screen and (min-width:768px) {
  .bg--mission {
    background: url(../img/lower-company1_pc.jpg) no-repeat center/cover;
  }
}

.bg--vision {
  background: url(../img/lower-company2_sp.jpg) no-repeat center/cover;
}
@media screen and (min-width:768px) {
  .bg--vision {
    background: url(../img/lower-company2_pc.jpg) no-repeat center/cover;
  }
}

.company-message__head {
  color: #FFFFFF;
  line-height: normal;
}

.company-message__title {
  font-family: "Fira Sans", sans-serif;
  font-size: 52px;
}
@media screen and (min-width:768px) {
  .company-message__title {
    font-size: 100px;
  }
}

.company-message__sub-title {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:768px) {
  .company-message__sub-title {
    font-size: 22px;
  }
}

.company-message__box {
  width: 89.3333333333%;
  background: #FFFFFF;
  -webkit-box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
  margin-inline: auto;
  margin-top: -40px;
  padding: 20px 20px 18px 20px;
}
@media screen and (min-width:768px) {
  .company-message__box {
    width: 688px;
    max-width: 100%;
    margin-top: -61px;
    padding: 32px 40px 30px 40px;
  }
}

.company-message__box-title {
  color: #023E78;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:768px) {
  .company-message__box-title {
    font-size: 24px;
  }
}

.company-message__box-text {
  font-weight: 500;
  margin-top: 18px;
}
@media screen and (min-width:768px) {
  .company-message__box-text {
    margin-top: 31px;
  }
}

/* (lower-company company-profile)
***************************************************************/
.company-profile {
  background: url(../img/bg-company.jpg) no-repeat center center/cover;
}

.company-profile_inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (min-width:768px) {
  .company-profile_inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.company-profile__box {
  background: #FFFFFF;
  padding: 40px 20px 39px 20px;
}
@media screen and (min-width:768px) {
  .company-profile__box {
    max-width: 768px;
    margin-inline: auto;
    padding: 60px 40px 80px 40px;
  }
}

.company-profile__title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}

.company-profile__contents {
  font-weight: 500;
  line-height: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px;
}
@media screen and (min-width:768px) {
  .company-profile__contents {
    font-size: 16px;
    margin-top: 60px;
  }
}

.company-profile__item {
  width: 33.8983050847%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-top: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #023E78;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.company-profile__item:nth-of-type(1) {
  border-top: 1px solid #023E78;
}
@media screen and (min-width:768px) {
  .company-profile__item {
    width: 29.0697674419%;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 32px;
  }
}

.company-profile__details {
  width: 66.1016949153%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 24px;
  border-bottom: 1px solid #E8EAEC;
  word-break: break-all;
}
.company-profile__details:nth-of-type(1) {
  border-top: 1px solid #E8EAEC;
}
@media screen and (min-width:768px) {
  .company-profile__details {
    width: 70.9302325581%;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 36px;
  }
}

/* (lower-company company-executives)
***************************************************************/
.company-executives {
  position: relative;
}

.company-executives__bg-skew::before {
  height: 53%;
  bottom: 20px;
}
@media screen and (min-width:900px) {
  .company-executives__bg-skew::before {
    height: 39%;
    bottom: -84px;
  }
}

.company-executives__inner {
  padding-top: 60px;
  padding-bottom: 156px;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (min-width:768px) {
  .company-executives__inner {
    padding-top: 120px;
    padding-bottom: 187px;
  }
}
@media screen and (min-width:900px) {
  .company-executives__inner {
    width: 768px;
  }
}

.company-executives__title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}

.company-executives__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 62.17px;
  margin-top: 40px;
}
@media screen and (min-width:768px) {
  .company-executives__lists {
    gap: 60px;
    margin-top: 60px;
  }
}

.company-executives__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
}
@media screen and (min-width:768px) {
  .company-executives__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px;
  }
}

.company-executives__img {
  text-align: center;
}
.company-executives__img img {
  width: 240px;
}
@media screen and (min-width:768px) {
  .company-executives__img {
    width: 240px;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
}

@media screen and (min-width:768px) {
  .company-executives__body {
    width: 408px;
  }
}

.company-executives__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width:768px) {
  .company-executives__profile {
    margin-top: 0;
  }
}

.company-executives__position {
  font-weight: 700;
  line-height: normal;
}

.company-executives__name {
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}

.company-executives__voice {
  font-weight: 500;
  margin-top: 18px;
}
@media screen and (min-width:768px) {
  .company-executives__voice {
    margin-top: 30px;
  }
}

.company-executives__sns {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 28px;
}
@media screen and (min-width:768px) {
  .company-executives__sns {
    margin-top: 32px;
  }
}

.company-executives__sns-icon :hover {
  cursor: pointer;
  opacity: 0.8;
}



/* (lower-service mv)
***************************************************************/
.service-lower__mv-img {
  background: url(../img/mv-lower--service_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:768px) {
  .service-lower__mv-img {
    background: url(../img/mv-lower--service_pc.jpg) no-repeat center center/cover;
  }
}

/* (lower-service service-details)
***************************************************************/
.service-details {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (min-width:900px) {
  .service-details {
    padding-top: 80px;
    padding-bottom: 224px;
  }
}

.service-details__introduction {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width:768px) {
  .service-details__introduction {
    font-size: 28px;
    line-height: 1.42857;
  }
}

.service-details__programs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 80px;
  margin-top: 60px;
}
@media screen and (min-width:900px) {
  .service-details__programs {
    margin-top: 133px;
    gap: 327px;
  }
}

.service-program__bg-skew::before {
  height: 98.2%;
  bottom: -5px;
}
@media screen and (min-width:900px) {
  .service-program__bg-skew::before {
    height: 123%;
    bottom: -251px;
  }
}

@media screen and (min-width:900px) {
  .service-program__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .service-program--02 .service-program__contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.service-program__inner {
  width: 650px;
  max-width: 100%;
  margin-inline: auto;
}

@media screen and (min-width:900px) {
  .service-program__inner {
    width: 1260px;
    padding-left: 40px;
    padding-right: 40px;
  }
}

.service-program__img {
  width: 50.1333333333%;
  max-width: 400px;
  position: relative;
  margin-left: auto;
}
.service-program__img img {
  width: 100%;
}
.service-program--02 .service-program__img {
  margin-left: 0;
  margin-right: auto;
}
@media screen and (min-width:900px) {
  .service-program__img {
    width: 560px;
    max-width: 100%;
    position: relative;
    top: 63px;
    right: 0;
  }
  .service-program--02 .service-program__img {
    right: 0;
    left: 0px;
    top: 58px;
  }
}

@media screen and (min-width:900px) {
  .service-program--03 {
    margin-top: -10px;
  }
}

.service-program__box {
  position: relative;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
  padding: 39.5px 20px 40px 20px;
  width: 89.3333333333%;
  max-width: 600px;
  margin-top: -40vw;
  margin-inline: auto;
}
.service-program--02 .service-program__box {
  padding: 42px 20px 40px 20px;
}
.service-program--03 .service-program__box {
  padding: 42px 20px 40px 20px;
}
@media screen and (min-width:900px) {
  .service-program__box {
    width: 590px;
    max-width: 100%;
    z-index: 1;
    -webkit-transform: translateX(80px);
            transform: translateX(80px);
    padding: 82px 40px 60px 40px;
    margin-top: 0;
  }
  .service-program--02 .service-program__box {
    -webkit-transform: translateX(-80px);
            transform: translateX(-80px);
    padding: 71px 40px 60px 40px;
  }
  .service-program--03 .service-program__box {
    padding: 77px 40px 60px 40px;
  }
}

.service-program__number {
  color: #023E78;
  font-family: "Fira Sans", sans-serif;
  font-size: 68px;
  line-height: normal;
  position: absolute;
  left: 20px;
  top: -43.5px;
}
.service-program--02 .service-program__number {
  left: auto;
  right: 22px;
  top: -40.5px;
}
.service-program--03 .service-program__number {
  left: 20px;
  top: -40.5px;
}

@media screen and (min-width:900px) {
  .service-program__number {
    font-size: 100px;
    left: 58px;
    top: -53px;
  }
}
@media screen and (min-width:900px) and (min-width:900px) {
  .service-program--02 .service-program__number {
    right: 44px;
    top: -64.5px;
  }
}
@media screen and (min-width:900px) and (min-width:900px) {
  .service-program--03 .service-program__number {
    left: 58px;
    top: -60px;
  }
}

.service-program__title {
  font-size: 28px;
  font-weight: 700;
  line-height: normal;
}
.service-program--02 .service-program__title,
.service-program--03 .service-program__title {
  line-height: 1.28571;
}

@media screen and (min-width:900px) {
  .service-program__title {
    font-size: 40px;
  }
  .service-program--02 .service-program__title {
    line-height: 1.5;
  }
  .service-program--03 .service-program__title {
    margin-top: 2px;
  }
}

.service-program__sub-title {
  color: #023E78;
  font-family: "Fira Sans", sans-serif;
  line-height: normal;
  margin-top: 4px;
}

.service-program--02 .service-program__sub-title,
.service-program--03 .service-program__sub-title {
  margin-top: 8px;
}


@media screen and (min-width:900px) {
  .service-program__sub-title {
    font-size: 16px;
    margin-top: 0;
  }
  .service-program--02 .service-program__sub-title {
    margin-top: -1px;
  }
  .service-program--03 .service-program__sub-title {
    margin-top: 6px;
  }
}

.service-program__text {
  font-weight: 500;
  margin-top: 31px;
}
.service-program--02 .service-program__text, .service-program--03 .service-program__text {
  margin-top: 30px;
}
@media screen and (min-width:900px) {
  .service-program__text {
    margin-top: 59px;
  }
  .service-program--02 .service-program__text, .service-program--03 .service-program__text {
    margin-top: 59px;
  }
}

.service-program__requirement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid #CCC;
}
.service-program__requirement:first-of-type {
  margin-top: 30px;
  border-top: 1px solid #CCC;
}
@media screen and (min-width:900px) {
  .service-program__requirement:first-of-type {
    margin-top: 58px;
  }
}
@media screen and (min-width:900px) {
  .service-program__requirement {
    padding: 30px 0;
  }
}

.service-program__requirement-dt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 20px;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .service-program__requirement-dt {
    padding-right: 10.1960784314%;
  }
}

.service-program__requirement-dd {
  width: 72.8813559322%;
}
@media screen and (min-width:900px) {
  .service-program__requirement-dd {
    width: 84.3137254902%;
  }
}

.service-program__cta {
  text-align: center;
  margin-top: 32px;
}
@media screen and (min-width:900px) {
  .service-program__cta {
    margin-top: 60px;
  }
}

/* (lower-service service-flow)
***************************************************************/
.service-flow {
  background: url(../img/bg-service-flow_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:900px) {
  .service-flow {
    background: url(../img/bg-service-flow.jpg) no-repeat center center/cover;
  }
}

.service-flow__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (min-width:900px) {
  .service-flow__inner {
    padding-top: 80px;
    padding-bottom: 117px;
  }
}

.service-flow__title {
  color: #FFFFFF;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}

.service-flow__items {
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .service-flow__items {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
}

.service-flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width:900px) {
  .service-flow__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}

.service-flow__step-wrap {
  width: 60px;
  color: #FFF400;
  font-family: "Fira Sans", sans-serif;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .service-flow__step-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 7px;
  }
}

.service-flow__step {
  font-size: 20px;
  padding-left: 1px;
  padding-top: 2px;
}
.service-flow__item--item02 .service-flow__step {
  padding-top: 5px;
}

.service-flow__step-number {
  font-size: 40px;
  padding-left: 2px;
  line-height: normal;
}

.service-flow__body {
  position: relative;
  width: 82.0895522388%;
  max-width: 450px;
  background: currentColor;
}
@media screen and (min-width:900px) {
  .service-flow__body {
    width: 100%;
    height: 100%;
  }
}
.service-flow__body::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -29px;
  width: 100%; /* クリップパスの幅を親要素に合わせる */
  height: 29px;
  -webkit-clip-path: polygon(50% 29px, 0% 0%, 100% 0%);
          clip-path: polygon(50% 29px, 0% 0%, 100% 0%); /* 幅を100%に */
  background: currentColor;
}
@media screen and (min-width:900px) {
  .service-flow__body::after {
    right: -23px;
    top: 0;
    width: 23px;
    height: 100%; /* クリップパスの高さを親要素に合わせる */
    -webkit-clip-path: polygon(23px 50%, 0% 0%, 0% 100%);
            clip-path: polygon(23px 50%, 0% 0%, 0% 100%); /* 高さを100%に */
  }
}
.service-flow__item--item01 .service-flow__body {
  z-index: 4;
  color: #EDF3F8;
  padding: 22px 20px 16px 20px;
}
@media screen and (min-width:900px) {
  .service-flow__item--item01 .service-flow__body {
    padding: 46px 32px 21px 43px;
  }
}
.service-flow__item--item02 .service-flow__body {
  z-index: 3;
  color: #DDE8F0;
  padding: 45px 20px 19px 20px;
}
@media screen and (min-width:900px) {
  .service-flow__item--item02 .service-flow__body {
    padding: 46px 25px 21px 50px;
  }
}
.service-flow__item--item03 .service-flow__body {
  z-index: 2;
  color: #C7DBE9;
  padding: 41px 20px 18px 20px;
}
@media screen and (min-width:900px) {
  .service-flow__item--item03 .service-flow__body {
    padding: 46px 25px 21px 50px;
  }
}
.service-flow__item--item04 .service-flow__body {
  z-index: 1;
  color: #B0D0E5;
  padding: 42px 20px 20px 20px;
}
@media screen and (min-width:900px) {
  .service-flow__item--item04 .service-flow__body {
    padding: 46px 24px 21px 51px;
  }
}
.service-flow__item--item04 .service-flow__body::after {
  background: transparent;
  border-right: none;
}

.service-flow__item-title {
  color: #023E78;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .service-flow__item-title {
    text-align: left;
    font-size: 20px;
  }
}

.service-flow__item-text {
  font-weight: 500;
  margin-top: 7px;
  color: #1a1a1a;
}
@media screen and (min-width:900px) {
  .service-flow__item-text {
    margin-top: 18px;
  }
}

.service-flow__item-text--attention {
  color: #E61264;
}

/* (lower-service service-faq)
***************************************************************/
.service-faq__inner {
  padding-top: 60px;
  padding-bottom: 99px;
}
@media screen and (min-width:900px) {
  .service-faq__inner {
    padding-top: 160px;
    padding-bottom: 160px;
  }
}

.service-faq__title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}

.service-faq__boxes {
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .service-faq__boxes {
    margin-top: 60px;
    width: 688px;
    max-width: 100%;
    margin-inline: auto;
  }
}

.faq-box {
  border-bottom: 1px solid #DDD;
  padding-top: 15px;
  padding-bottom: 15px;
}

.faq-box:nth-of-type(4),
.faq-box:nth-of-type(6) {
  padding-top: 16px;
  padding-bottom: 16px;
}

@media screen and (min-width:900px) {
  .faq-box {
    padding-top: 31px;
    padding-bottom: 32px;
  }
  .faq-box:nth-of-type(4),
.faq-box:nth-of-type(6) {
  padding-top: 31px;
  padding-bottom: 32px;
}
}


.faq-box__head {
  cursor: pointer;
}

.faq-box__title {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-right: 73px;
}
@media screen and (min-width:900px) {
  .faq-box__title {
    font-size: 20px;
  }
}
.faq-box__title::before {
  content: "";
  position: absolute;
  top: 0;
  right: 18px;
  width: 2px;
  height: 21px;
  background: currentColor;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width:900px) {
  .faq-box__title::before {
    top: 5px;
    right: 21px;
  }
}
.faq-box__title::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 8px;
  width: 21px;
  height: 2px;
  background: currentColor;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width:900px) {
  .faq-box__title::after {
    top: 14px;
    right: 12px;
  }
}

.is-open .faq-box__title {
  color: #E61264;
}
.is-open .faq-box__title::before {
  top: 6px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.is-open .faq-box__title::after {
  top: 16px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.faq-box__body {
  margin-top: 19px;
  display: none;
}
@media screen and (min-width:900px) {
  .faq-box__body {
    margin-top: 29px;
    padding-left: 40px;
    padding-right: 60px;
  }
}

.faq-box__a-text {
  font-weight: 500;
}

/* (lower-news mv)
***************************************************************/
.news-lower__mv-img {
  background: url(../img/mv-lower--news_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:768px) {
  .news-lower__mv-img {
    background: url(../img/mv-lower--news_pc.jpg) no-repeat center center/cover;
  }
}

/* (lower-news)
***************************************************************/
.news-archives__inner {
  padding-top: 60px;
  padding-bottom: 100px;
}
@media screen and (min-width:900px) {
  .news-archives__inner {
    padding-top: 80px;
    padding-bottom: 160px;
  }
}

.news-archives__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width:900px) {
  .news-archives__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}

@media screen and (min-width:900px) {
  .news-archive {
    width: 69.0909090909%;
  }
}

.news-archive__category-name {
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .news-archive__category-name {
    font-size: 32px;
    line-height: 1.25;
  }
}

.news-archive__lists {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  padding-bottom: 40px;
}
@media screen and (min-width:900px) {
  .news-archive__lists {
    margin-top: 27px;
    gap: 40px;
    padding-bottom: 60px;
  }
}

.news-archive__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}

@media screen and (min-width:900px) {
  .news-archive__link {
    gap: 20px;
  }
}

.news-archive__link:hover {
  cursor: pointer;
}

.news-archive__link:hover .news-archive__thumbnail img {
  transform: scale(1.2);
}

.news-archive__thumbnail {
  width: 35.8208955224%;
  height: 24vw;
  max-height: 120px;
  overflow: hidden;
}
@media screen and (min-width:768px) {
  .news-archive__thumbnail {
    max-height: 150px;
  }
}

@media screen and (min-width:900px) {
  .news-archive__thumbnail {
    width: 32.8947368421%;
    height: 12.1875vw;
    max-width: 250px;
    max-height: 156px;
  }
}
.news-archive__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 画像を親要素に合わせて拡大縮小 */
  -o-object-position: center center;
     object-position: center center; /* 画像を中央から上に配置 */
     transition: all 0.5s ease-in-out;
}

.news-archive__body {
  width: 60.5970149254%;
}
@media screen and (min-width:900px) {
  .news-archive__body {
    width: 64.4736842105%;
    margin-top: 12px;
  }
}

.news-archive__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news-archive__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width:900px) {
  .news-archive__label {
    gap: 12px;
  }
}

.news-archive__label-name {
  color: #E61264;
  font-size: 12px;
  line-height: normal;
  border: 1px solid currentColor;
  padding: 3px 11px 4px 11px;
}
@media screen and (min-width:900px) {
  .news-archive__label-name {
    font-size: 14px;
    padding: 7px 23px 7px 23px;
  }
}

.news-archive__label-new {
  color: #E61264;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .news-archive__label-new {
    font-size: 16px;
  }
}

.news-archive__post-date {
  color: #888;
  line-height: normal;
  padding-right: 3px;
}
@media screen and (min-width:900px) {
  .news-archive__post-date {
    padding-right: 0;
  }
}

.news-archive__post-title {
  font-weight: 700;
  line-height: 1.42857;
  margin-top: 3px;
}
@media screen and (min-width:900px) {
  .news-archive__post-title {
    margin-top: 14px;
    font-size: 16px;
    line-height: 1.75;
  }
}

/* (lower-news-single mv)
***************************************************************/
.news-lower__mv-img {
  background: url(../img/mv-lower--news_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:768px) {
  .news-lower__mv-img {
    background: url(../img/mv-lower--news_pc.jpg) no-repeat center center/cover;
  }
}

/* (lower--single)
***************************************************************/
.news-single__inner {
  padding-top: 60px;
  padding-bottom: 100px;
}
@media screen and (min-width:900px) {
  .news-single__inner {
    padding-top: 81px;
    padding-bottom: 175px;
  }
}

.news-single__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width:900px) {
  .news-single__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}

@media screen and (min-width:900px) {
  .news-single__main {
    width: 69.0909090909%;
  }
}

.news-single__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news-single__label-name {
  color: #E61264;
  font-size: 12px;
  line-height: normal;
  border: 1px solid currentColor;
  padding: 7px 11px 8px 11px;
}
@media screen and (min-width:900px) {
  .news-single__label-name {
    font-size: 14px;
    padding: 7px 23px 7px 23px;
  }
}

.news-single__post-date {
  color: #888;
  line-height: normal;
  margin-top: -10px;
}
@media screen and (min-width:900px) {
  .news-single__post-date {
    margin-top: 0;
    padding-right: 10px;
  }
}

.news-single__post-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width:900px) {
  .news-single__post-title {
    font-size: 24px;
    line-height: 1.33333;
    margin-top: 23px;
  }
}

.news-single__thumbnail img{
  width: 100%;
}

.news-single__body h2 + p,
.news-single__body h3 + p,
.news-single__body h4 + p,
.news-single__body h5 + p,
.news-single__body h6 + p {
  margin-top: 0;
}
.news-single__body a {
  text-decoration: underline;
  color: #1c46a1;
  cursor: pointer;
}

.news-single__body {
  padding-top: 24px;
  padding-bottom: 40px;
}
@media screen and (min-width:900px) {
  .news-single__body {
    padding-top: 41px;
    padding-bottom: 40px;
  }
}
.news-single__body h2 {
  color: #023E78;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  padding: 7px 20px 8px 20px;
  border-left: 6px solid currentColor;
  background: #F8F8F8;
  margin-top: 40px;
  margin-bottom: 18px;
}
.news-single__body h3 {
  color: #023E78;
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
  margin-top: 40px;
  border-bottom: 1px solid currentColor;
  padding-bottom: 6px;
  margin-bottom: 18px;
}
.news-single__body h4 {
  color: #023E78;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  margin-top: 38px;
  margin-bottom: 15px;
}

.news-single__body ul {
  margin-top: 38px;

}

@media screen and (min-width:900px) {
  .news-single__body ul {
    padding-left: 40px;
  }
}
.news-single__body ul li {
  line-height: normal;
  position: relative;
  padding-left: 13px;
}

.news-single__body ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.news-single__body ul li:not(:first-child) {
  margin-top: 20px;
}
@media screen and (min-width:900px) {
  .news-single__body ul li:not(:first-child) {
    margin-top: 16px;
  }
}
.news-single__body blockquote {
  background: #F8F8F8;
  border-left: 4px solid #023E78;
  margin: 57px 0 0 0;
  padding: 30px 32px 30px 28px;
  position: relative;
}
@media screen and (min-width:900px) {
  .news-single__body blockquote {
    max-width: 646px;
    margin: 40px 40px 0 40px;
    padding: 33px 35px 33px 31px;
  }
}
.news-single__body blockquote p {
  position: relative;
  margin-top: 0;
  z-index: 2;
}
.news-single__body blockquote::before {
  content: "";
  position: absolute;
  width: 50px;
  height: auto;
  aspect-ratio: 1;
  background: url(../img/quote.svg) no-repeat center center/cover;
  top: 14px;
  left: 23px;
  z-index: 1;
}

/* (single-page ページネーション)
***************************************************************/
.single-page__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.single-page__link {
  color: #023E78;
  line-height: normal;
  padding: 7px 15px;
  text-align: center;
  display: inline-block;
  border-radius: 4px;
  border: 1px solid currentColor;
}

.single-page__link:nth-of-type(2){
  padding: 7px 14px;
}

/* (news-sidebar)
***************************************************************/
.news-sidebar {
  margin-top: 100px;
}
@media screen and (min-width:900px) {
  .news-sidebar {
    margin-top: 0;
    width: 300px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.news-sidebar__title {
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .news-sidebar__title {
    font-size: 20px;
  }
}

.news-sidebar__lists {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (min-width:900px) {
  .news-sidebar__lists {
    margin-top: 16px;
    gap: 16px;
  }
}

.news-sidebar__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
@media screen and (min-width:900px) {
  .news-sidebar__link {
    gap: 10px;
  }
}

.news-sidebar__link :hover {
  opacity: 0.8;
}

.news-sidebar__thumbnail {
  width: 35.8208955224%;
  height: 24vw;
  max-height: 120px;
}
@media screen and (min-width:768px) {
  .news-sidebar__thumbnail {
    max-height: 150px;
  }
}
@media screen and (min-width:900px) {
  .news-sidebar__thumbnail {
    width: 100px;
    height: 100px;
  }
}
.news-sidebar__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 画像を親要素に合わせて拡大縮小 */
  -o-object-position: center center;
     object-position: center center; /* 画像を中央から上に配置 */
}

.news-sidebar__body {
  width: 60.5970149254%;
}
@media screen and (min-width:900px) {
  .news-sidebar__body {
    width: 63.3333333333%;
    margin-top: 3px;
  }
}

.news-sidebar__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width:900px) {
  .news-sidebar__meta {
    gap: 5px;
  }
}

.news-sidebar__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news-sidebar__label-name {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #E61264;
  font-size: 12px;
  line-height: normal;
  border: 1px solid currentColor;
  padding: 3px 11px 4px 11px;
}

.news-sidebar__label-new {
  color: #E61264;
  line-height: normal;
}

.news-sidebar__post-date {
  color: #888;
  line-height: normal;
  padding-right: 3px;
}

.news-sidebar__post-title {
  font-weight: 700;
  line-height: 1.42857;
  margin-top: 4px;
}
@media screen and (min-width:900px) {
  .news-sidebar__post-title {
    margin-top: 8px;
  }
}

/* (category-sidebar)
***************************************************************/
.category-sidebar {
  margin-top: 60px;
}
@media screen and (min-width:900px) {
  .category-sidebar {
    margin-top: 80px;
  }
}

.category-sidebar__title {
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}

.category-sidebar__lists {
  margin-top: 16px;
}

.category-sidebar__item {
  padding-left: 39px;
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
}

.category-sidebar__link {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  position: relative;
}
.category-sidebar__link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 9.424px;
  height: 16.026px;
  background: url(../img/sideber_category_icon.svg);
}

/* (case-lower mv)
***************************************************************/
.case-lower__mv-img {
  background: url(../img/mv-lower--company_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:768px) {
  .case-lower__mv-img {
    background: url(../img/mv-lower--company_pc.jpg) no-repeat center center/cover;
  }
}

/* (case-lower)
***************************************************************/
.case-lower__inner {
  padding-top: 60px;
  padding-bottom: 99px;
}
@media screen and (min-width:900px) {
  .case-lower__inner {
    padding-top: 80px;
    padding-bottom: 159px;
  }
}

.case-study__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  text-align: center;
}
@media screen and (min-width:900px) {
  .case-study__nav-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
  }
}

.case-study__nav-link a {
  text-align: center;
  font-weight: 700;
  line-height: normal;
  padding-top: 12px;
  padding-bottom: 12px;
  width: 87.7611940299%;
  max-width: 403px;
  margin-inline: auto;
  border-radius: 4px;
  background: #EEE;
  display: inline-block;
}

@media screen and (min-width:900px) {
  .case-study__nav-link a {
    width: 208px;
    margin-inline: 0;
  }
}

/* (lowercase-study)
***************************************************************/
.case-study {
  margin-top: 60px;
}
@media screen and (min-width:900px) {
  .case-study {
    margin-top: 80px;
  }
}

.case-study__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1px;
  border-left: 8px solid #023E78;
  padding: 2px 10px 0px 10px;
}
@media screen and (min-width:900px) {
  .case-study__heading {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 10px 0 10px;
  }
}

.case-study__title {
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .case-study__title {
    font-size: 28px;
  }
}

.case-study__sub-title {
  color: #023E78;
  font-family: "Fira Sans", sans-serif;
  line-height: normal;
}
#business-english .case-study__sub-title {
  padding-left: 3px;
}

@media screen and (min-width:900px) {
  .case-study__sub-title {
    font-size: 16px;
  }
  #business-english .case-study__sub-title {
    padding-left: 0;
  }
}

.case-study__container {
  margin-top: 25px;
}
@media screen and (min-width:900px) {
  .case-study__container {
    margin-top: 68px;
  }
}

.case-study__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 54px;
}
@media screen and (min-width:900px) {
  .case-study__lists {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 66px 7.2727272727%;
  }
}

.case-study__item{
  padding-top: 60px;
  margin-top: -60px;
}

@media screen and (min-width:900px) {
  .case-study__item{
    padding-top: 100px;
    margin-top: -100px;
  }
}

.case-item {
  border-radius: 12px;
  background: #FFF;
  -webkit-box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
}

.case-item__head {
  border-radius: 12px 12px 0px 0px;
  background: #023E78;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6px 20px 7px 20px;
}
@media screen and (min-width:900px) {
  .case-item__head {
    padding: 18px 40px 19px 40px;
    position: relative;
  }
}

.case-item__company-business {
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  margin-top: -2px;
}

@media screen and (min-width:900px) {
  .case-item__company-business {
    font-size: 14px;
    line-height: normal;
    margin-top: 0;
  }
}

.case-item__company-name {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  position: relative;
  margin-top: 3px;
}
@media screen and (min-width:900px) {
  .case-item__company-name {
    font-size: 24px;
    margin-top: 8px;
  }
}

.company-honorific {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  margin-left: 12px;
}
@media screen and (min-width:900px) {
  .company-honorific {
    font-size: 16px;
    margin-left: 16px;
  }
}

.case-item__img {
  width: 90px;
  height: 68px;
  border-radius: 4px;
  overflow: hidden;
  -webkit-box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
}
.case-item__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 画像を親要素に合わせて拡大縮小 */
  -o-object-position: center center;
     object-position: center center; /* 画像を中央から上に配置 */
}
@media screen and (min-width:900px) {
  .case-item__img {
    position: absolute;
    top: -6px;
    right: 20px;
    width: 160px;
    height: 112px;
    border-radius: 12px;
  }
}

.case-item__body {
  padding: 21px 20px 17px 20px;
}
@media screen and (min-width:900px) {
  .case-item__body {
    padding: 41px 40px 38px 40px;
  }
}

.case-item__course {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  padding-bottom: 9px;
  border-bottom: 1px solid #DDD;
}

.case-item__course-name {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  margin-left: 6px;
}
@media screen and (min-width:900px) {
  .case-item__course-name {
    margin-left: 9px;
  }
}

.case-item__course-lists {
  margin-top: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media screen and (min-width:900px) {
  .case-item__course-lists {
    margin-top: 33px;
    gap: 31px;
  }
}

.case-item__course-title {
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  padding-left: 25px;
  position: relative;
}
.case-item__course-title::after {
  content: "";
  position: absolute;
  width: 15.516px;
  height: auto;
  aspect-ratio: 1;
  background: url(../img/case-check-icon.svg) no-repeat center center/cover;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media screen and (min-width:900px) {
  .case-item__course-title {
    font-size: 18px;
    padding-left: 30px;
  }
  .case-item__course-title::after {
    width: 20px;
  }
}

.case-item__course-text {
  margin-top: 6px;
}

.case-study__cta {
  text-align: center;
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .case-study__cta {
    margin-top: 60px;
  }
}

/* フォーム)
***************************************************************/
.form-field__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width:900px) {
  .form-field__head {
    gap: 9px;
  }
}
.contact .form-field__head {
  gap: 12px;
}

.form-field__label {
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .form-field__label {
    font-size: 18px;
  }
}

.form-field__tag {
  padding: 2px 8px 1px 8px;
  background: #E61264;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .form-field__tag {
    padding: 1px 8px 2px 8px;
    font-size: 12px;
    margin-top: 4px;
  }
}
.contact .form-field__tag {
  padding: 2px 8px 2px 8px;
  font-size: 12px;
}
@media screen and (min-width:900px) {
  .contact .form-field__tag {
    margin-top: 0;
  }
}

.form-field__item {
  margin-top: 8px;
}
@media screen and (min-width:900px) {
  .form-field__item {
    margin-top: 13px;
  }
}
@media screen and (min-width:900px) {
  .contact .form-field__item {
    margin-top: 12px;
  }
}


.form-text {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: inherit;
  color: inherit;
  vertical-align: top;
  width: 100%;
  border-radius: 5px;
  border: 1px solid #DDD;
  background: #FFFFFF;
  padding: 11px 13px 11px 13px;
  line-height: normal;
}
.form-text::-webkit-input-placeholder {
  color: #ccc;
}
.form-text::-moz-placeholder {
  color: #ccc;
}
.form-text:-ms-input-placeholder {
  color: #ccc;
}
.form-text::-ms-input-placeholder {
  color: #ccc;
}
.form-text::placeholder {
  color: #ccc;
}
.form-text.is-error {
  border: 1px solid #E61264;
  background: #FFF0F7;
}
@media screen and (min-width:900px) {
  .form-text {
    padding: 10px 15px 9px 15px;
    line-height: 1.71429;
  }
  .form-text::-webkit-input-placeholder {
    font-size: 16px;
  }
  .form-text::-moz-placeholder {
    font-size: 16px;
  }
  .form-text:-ms-input-placeholder {
    font-size: 16px;
  }
  .form-text::-ms-input-placeholder {
    font-size: 16px;
  }
  .form-text::placeholder {
    font-size: 16px;
  }
  .contact .form-text {
    line-height: normal;
  }
}
.contact .form-text {
  padding: 11px 15px 11px 15px;
}

.form-field__item--select {
  position: relative;
}
.form-field__item--select::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 15px;
  background: url(../img/select-arrow.svg) no-repeat center center/cover;
  width: 11px;
  height: 7px;
  pointer-events: none;
}

.form-select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border-radius: 5px;
  border: 1px solid #DDD;
  background: #FFFFFF;
  padding: 11px 15px 11px 15px;
  line-height: normal;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}

select.is-empty{
  color: #ccc;
}

.form-select:focus, .form-select:hover {
  cursor: pointer;
  background: #FFFFFF;
}
@media screen and (min-width:900px) {
  .form-select {
    font-size: 16px;
    padding: 9px 15px 10px 15px;
  }
}

.form-checkbox {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.form-checkbox__input {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

.form-checkbox__input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-list-item-label {
  position: relative;
  padding-left: 38px;
  font-weight: 500;
  line-height: normal;
}

.wpcf7-list-item-label a {
  font-weight: 700;
  line-height: normal;
  text-decoration-line: underline;
  padding-right: 6px;
}

@media screen and (min-width:900px) {
  .wpcf7-list-item-label {
    padding-left: 42px;
    font-size: 16px;
  }
  .wpcf7-list-item-label a {
    font-size: 16px;
    padding-right: 10px;
  }
}
.contact .wpcf7-list-item-label {
  padding-left: 40px;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact .wpcf7-list-item-label::before,
.contact .wpcf7-list-item-label::after {
  top: calc(50% - 2px);
}
@media screen and (min-width:900px) {
  .contact .wpcf7-list-item-label::before,
  .contact .wpcf7-list-item-label::after {
    top: 50%;
  }
}

.wpcf7-list-item-label::before {
  width: 28px;
  height: 28px;
  border: 1px solid #3E3E3E;
  background: #FFFFFF;
  left: 0;
}
@media screen and (min-width:900px) {
  .wpcf7-list-item-label::before {
    width: 32px;
    height: 32px;
  }
}
.contact .wpcf7-list-item-label::before {
  left: 2px;
}
@media screen and (min-width:900px) {
  .contact .wpcf7-list-item-label::before {
    left: 0;
  }
}

.wpcf7-list-item-label::after {
  width: 15px;
  height: 10px;
  left: 7.5px;
  background: url(../img/check_icon.svg) no-repeat center center/contain;
  opacity: 0;
}
@media screen and (min-width:900px) {
  .wpcf7-list-item-label::after {
    left: 9.5px;
  }
}
.contact .wpcf7-list-item-label::after {
  left: 9px;
}
@media screen and (min-width:900px) {
  .contact .wpcf7-list-item-label::after {
    left: 9.5px;
  }
}

.form-textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: top;
  border-radius: 4px;
  border: 1px solid #DDD;
  background: #FFF;
  width: 100%;
  height: 140px;
  line-height: normal;
  padding: 11px 15px;
  resize: vertical;
}
.form-textarea::-webkit-input-placeholder {
  color: #ccc;
}
.form-textarea::-moz-placeholder {
  color: #ccc;
}
.form-textarea:-ms-input-placeholder {
  color: #ccc;
}
.form-textarea::-ms-input-placeholder {
  color: #ccc;
}
.form-textarea::placeholder {
  color: #ccc;
}
.form-textarea.is-error {
  border: 1px solid #E61264;
  background: #FFF0F7;
}
@media screen and (min-width:900px) {
  .form-textarea {
    height: 240px;
    font-size: 16px;
    padding: 9px 15px;
  }
}

.submit__btn[disabled] {
  background-color: #EDEDED;
  border: 1px solid #818181;
  color: #858585;
  cursor: not-allowed; /* カーソルが禁止アイコンになる */
}

/* (download mv)
***************************************************************/
.download__mv-img {
  background: url(../img/mv-download_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:768px) {
  .download__mv-img {
    background: url(../img/mv-download_pc.jpg) no-repeat center center/cover;
  }
}

/* (download main)
***************************************************************/
.download__inner {
  padding-top: 60px;
  padding-bottom: 100px;
}
@media screen and (min-width:900px) {
  .download__inner {
    padding-top: 80px;
    padding-bottom: 118px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
}

@media screen and (min-width:900px) {
  .download__introduction {
    width: 46.3636363636%;
  }
}

.download__heading {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width:900px) {
  .download__heading {
    font-size: 28px;
    line-height: 1.42857;
  }
}

.download__img {
  text-align: center;
  margin-top: 40px;
}
.download__img img {
  width: 275px;
  max-width: 100%;
  -webkit-box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
}
@media screen and (min-width:900px) {
  .download__img {
    margin-top: 41px;
  }
}

.download__message {
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .download__message {
    margin-top: 38px;
  }
}

.download__form-container {
  border-radius: 12px;
  background: #EDF3F8;
  padding: 40px 20px 40px 20px;
  width: 100%;
  margin-inline: auto;
  margin-top: 59px;
}
@media screen and (min-width:900px) {
  .download__form-container {
    max-width: 50%;
    margin-top: 0;
    padding: 40px;
  }
}

.download__title {
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
}
@media screen and (min-width:900px) {
  .download__title {
    font-size: 32px;
  }
}

.download-form__fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .download-form__fields {
    gap: 31px;
  }
}

.download-form__privacy {
  margin-top: 43px;
  text-align: center;
}
@media screen and (min-width:900px) {
  .download-form__privacy {
    margin-top: 42px;
  }
}

.download__btn {
  text-align: center;
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .download__btn {
    margin-top: 43px;
  }
}

/* (download thanks)
***************************************************************/
@media screen and (min-width:900px) {
  .download__introduction {
    width: 46.3636363636%;
    padding-bottom: 10.4545454545%;
  }
}

.download-thanks__container {
  border-radius: 12px;
  background: #EDF3F8;
  padding: 37px 20px 36px 20px;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  margin-top: 61px;
}
@media screen and (min-width:900px) {
  .download-thanks__container {
    max-width: 50%;
    margin-top: 0;
    padding: 39px 40px;
  }
}

.download-thanks__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.66667;
}
@media screen and (min-width:900px) {
  .download-thanks__title {
    font-size: 32px;
    line-height: 1.5;
  }
}

.download-thanks__guidance {
  margin-top: 36px;
}
@media screen and (min-width:900px) {
  .download-thanks__guidance {
    line-height: normal;
    margin-top: 40px;
  }
}

.download-thanks__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 12px;
}

.download-link {
  color: #023E78;
  line-height: normal;
  text-decoration-line: underline;
}

.download-link:hover {
  opacity: 0.8;
}

.download-thanks__arrow {
  line-height: normal;
}
@media screen and (min-width:900px) {
  .download-thanks__arrow {
    line-height: 1.71429;
  }
}

.download-thanks__message {
  line-height: 2;
  margin-top: 35px;
}

/* (contact__mv)
***************************************************************/
.contact__mv-img {
  background: url(../img/mv-contact_sp.jpg) no-repeat center center/cover;
}
@media screen and (min-width:768px) {
  .contact__mv-img {
    background: url(../img/mv-contact_pc.jpg) no-repeat center center/cover;
  }
}

/* (contact)
***************************************************************/
.contact__inner {
  padding-top: 60px;
  padding-bottom: 100px;
}
@media screen and (min-width:900px) {
  .contact__inner {
    padding-top: 80px;
    padding-bottom: 160px;
  }
}

.contact__introduction {
  width: 688px;
  max-width: 100%;
  margin-inline: auto;
}

.contact__form-container {
  margin-top: 60px;
}
@media screen and (min-width:900px) {
  .contact__form-container {
    width: 688px;
    max-width: 100%;
    margin-inline: auto;
    margin-top: 80px;
  }
}

.contact__title {
  font-size: 24px;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}
@media screen and (min-width:900px) {
  .contact__title {
    font-size: 24px;
  }
}

.contact-form__fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 19px;
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .contact-form__fields {
    gap: 32px;
    margin-top: 60px;
  }
}

.contact-form__privacy {
  margin-top: 44px;
  text-align: center;
}
@media screen and (min-width:900px) {
  .contact-form__privacy {
    margin-top: 43px;
  }
}

.contact__btn {
  text-align: center;
  margin-top: 40px;
}
@media screen and (min-width:900px) {
  .contact__btn {
    margin-top: 43px;
    padding-left: 6px;
  }
}

/* (contact-thanks)
***************************************************************/
.contact-thanks__inner {
  padding-top: 59px;
  padding-bottom: 98px;
  width: 767px;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (min-width:900px) {
  .contact-thanks__inner {
    padding-top: 80px;
    padding-bottom: 157px;
  }
}

.contact-thanks__link {
  margin-top: 12px;
}
@media screen and (min-width:900px) {
  .contact-thanks__link {
    margin-top: 13px;
  }
}

.contact-thanks__arrow {
  line-height: normal;
}

.contact-thanks__link-home {
  color: #023E78;
  line-height: normal;
  text-decoration-line: underline;
  margin-left: 8px;
}