@charset "UTF-8";
*,
*::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: inherit;
  font-size: inherit;
  vertical-align: baseline;
}

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

ol,
ul {
  list-style: none;
}

img {
  border: none;
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

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;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  background: #fff;
  min-height: 100vh;
  overflow-wrap: break-word;
  overflow-x: hidden;
}

.c-accordion__item {
  border-bottom: 1px solid #ddd;
  padding: 13px 0;
}
@media screen and (min-width: 768px) {
  .c-accordion__item {
    padding: 31px 0;
  }
}

.c-accordion__title {
  font-size: 16px;
  font-weight: bold;
  padding-right: 65px;
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media screen and (min-width: 768px) {
  .c-accordion__title {
    font-size: 20px;
    line-height: 1.45;
  }
}
.c-accordion__title:hover {
  cursor: pointer;
}
.c-accordion__title::before {
  background: #1a1a1a;
  content: "";
  height: 2px;
  position: absolute;
  right: 8px;
  top: 13px;
  -webkit-transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, transform 0.3s;
  transition: background-color 0.3s, transform 0.3s, -webkit-transform 0.3s;
  width: 21px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  .c-accordion__title::before {
    right: 11px;
    top: 15px;
  }
}
.c-accordion__title::after {
  background: #1a1a1a;
  content: "";
  height: 2px;
  position: absolute;
  right: 8px;
  top: 13px;
  -webkit-transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, transform 0.3s;
  transition: background-color 0.3s, transform 0.3s, -webkit-transform 0.3s;
  width: 21px;
}
@media screen and (min-width: 768px) {
  .c-accordion__title::after {
    right: 11px;
    top: 15px;
  }
}

.c-accordion__title.is-open {
  color: #e61264;
}
.c-accordion__title.is-open::before {
  background: #e61264;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-accordion__title.is-open::after {
  background: #e61264;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-accordion__content {
  display: none;
  padding-top: 16px;
}
@media screen and (min-width: 768px) {
  .c-accordion__content {
    padding: 30px 60px 0 40px;
  }
}

.c-breadcrumbs {
  font-size: 12px;
  margin-top: 12px;
}
.c-breadcrumbs .home {
  color: #888;
}

.c-breadcrumbs__chevron-right {
  margin: 0 6px;
}

.c-mv-lower {
  position: relative;
}
.c-mv-lower::after {
  background: rgba(26, 26, 26, 0.2);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.c-mv-lower__img, .c-mv-lower__img--service, .c-mv-lower__img--contact, .c-mv-lower__img--download, .c-mv-lower__img--news, .c-mv-lower__img--company {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 250px;
  position: relative;
  width: 100%;
}
.c-mv-lower__img::before, .c-mv-lower__img--service::before, .c-mv-lower__img--contact::before, .c-mv-lower__img--download::before, .c-mv-lower__img--news::before, .c-mv-lower__img--company::before {
  background: url(../img/common/lower-mv-decoration_sp.png) center/cover no-repeat;
  bottom: 0;
  content: "";
  height: 250px;
  left: 0;
  position: absolute;
  top: 0;
  width: 165px;
}
@media screen and (min-width: 768px) {
  .c-mv-lower__img::before, .c-mv-lower__img--service::before, .c-mv-lower__img--contact::before, .c-mv-lower__img--download::before, .c-mv-lower__img--news::before, .c-mv-lower__img--company::before {
    background-image: url(../img/common/lower-mv-decoration_pc.png);
    width: 365px;
  }
}

.c-mv-lower__img--company {
  background-image: url(../img/company/mv-company_sp.jpg);
}
@media screen and (min-width: 768px) {
  .c-mv-lower__img--company {
    background-image: url(../img/company/mv-company_pc.jpg);
  }
}

.c-mv-lower__img--news {
  background-image: url(../img/news/mv-news_sp.jpg);
}
@media screen and (min-width: 768px) {
  .c-mv-lower__img--news {
    background-image: url(../img/news/mv-news_pc.jpg);
  }
}

.c-mv-lower__img--download {
  background-image: url(../img/download/mv-download_sp.jpg);
}
@media screen and (min-width: 768px) {
  .c-mv-lower__img--download {
    background-image: url(../img/download/mv-download_pc.jpg);
  }
}

.c-mv-lower__img--contact {
  background-image: url(../img/contact/mv-contact_sp.jpg);
}
@media screen and (min-width: 768px) {
  .c-mv-lower__img--contact {
    background-image: url(../img/contact/mv-contact_pc.jpg);
  }
}

.c-mv-lower__img--service {
  background-image: url(../img/service/mv-service_sp.jpg);
}
@media screen and (min-width: 768px) {
  .c-mv-lower__img--service {
    background-image: url(../img/service/mv-service_pc.jpg);
  }
}

.c-mv-lower__main {
  left: 20px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-mv-lower__main {
    left: 17%;
  }
}

.c-mv-lower__en {
  background: #fff;
  color: #023E78;
  display: inline-block;
  font-size: 32px;
  line-height: 1;
  padding: 3px 0;
}
@media screen and (min-width: 768px) {
  .c-mv-lower__en {
    font-size: 60px;
    padding: 6px 0;
  }
}

.c-mv-lower__jp {
  background: #fff;
  color: #023E78;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  margin-top: 8px;
  padding: 4px 0;
}
@media screen and (min-width: 768px) {
  .c-mv-lower__jp {
    font-size: 20px;
  }
}

.c-button, .c-button--tertiary, .c-button--secondary, .c-button--primary {
  line-height: 1;
  text-align: center;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  cursor: pointer;
}

.c-button--primary {
  background: #fff;
  border: 1px solid #023E78;
  color: #023E78;
}
.c-button--primary:hover {
  background: #023E78;
  color: #fff;
}

.c-button--primary.c-button--icon-arrow {
  position: relative;
}
.c-button--primary.c-button--icon-arrow::after {
  background: url(../img/icon/icon-arrow-right04.svg) center/cover no-repeat;
}

.c-button--secondary {
  background: #023E78;
  border: 1px solid #023E78;
  color: #fff;
}
.c-button--secondary:hover {
  background: #002a52;
}

.c-button--tertiary {
  border: 2px solid #fff400;
  color: #fff400;
}
@media screen and (min-width: 768px) {
  .c-button--tertiary {
    border-width: 3px;
  }
}
.c-button--tertiary:hover {
  background: #fff400;
  color: #1a1a1a;
}

.c-button--tertiary.c-button--icon-arrow {
  position: relative;
}
.c-button--tertiary.c-button--icon-arrow::after {
  background: url(../img/icon/icon-arrow-right01.svg) center/cover no-repeat;
}

.c-button--icon-arrow {
  position: relative;
}
.c-button--icon-arrow.p-service-detail__button:after {
  right: 12px;
}
@media screen and (min-width: 768px) {
  .c-button--icon-arrow.p-service-detail__button:after {
    right: 19px;
  }
}
.c-button--icon-arrow.p-cases__button:after {
  right: 12px;
}
@media screen and (min-width: 768px) {
  .c-button--icon-arrow.p-cases__button:after {
    right: 24px;
  }
}
.c-button--icon-arrow::after {
  content: "";
  height: 12px;
  padding-left: 0;
  position: absolute;
  right: 19px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-image 0.3s, right 0.3s;
  transition: background-image 0.3s, right 0.3s;
  width: 18px;
}
@media screen and (min-width: 768px) {
  .c-button--icon-arrow::after {
    height: 13px;
    right: 28px;
    width: 20px;
  }
}

@media screen and (hover: hover) and (min-width: 768px) {
  .c-button--icon-arrow:hover::after {
    right: 13px;
  }
  .c-button--primary.c-button--icon-arrow:hover::after {
    background-image: url(../img/icon/icon-arrow-right05.svg);
  }
  .c-button--tertiary.c-button--icon-arrow:hover::after {
    background-image: url(../img/icon/icon-arrow-right02.svg);
  }
}
@media screen and (min-width: 1280px) {
  .c-drawer {
    display: none;
  }
}

.c-drawer__icon-area {
  height: 60px;
  text-align: center;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  width: 60px;
}

.c-drawer__checkbox {
  display: none;
}

.c-drawer__inner {
  padding: 0 40px;
}

.c-drawer__nav {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}

.c-drawer__content {
  background: #023E78;
  display: none;
  height: calc(100vh - 60px);
  left: 0;
  overflow: auto;
  position: fixed;
  top: 0;
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
  width: 100%;
  z-index: 40;
}

.c-drawer__lists {
  width: 100%;
}

.c-drawer__list {
  position: relative;
}

.c-drawer__link {
  color: #fff;
  display: block;
  font-size: 16px;
  line-height: 1.5;
  padding: 20px;
  text-align: center;
}

.c-drawer__buttons {
  margin-top: 20px;
}

.c-drawer__button, .c-drawer__button--contact, .c-drawer__button--download {
  border: 1px solid #fff;
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin: 0 auto;
  max-width: 320px;
  padding: 19px 15px;
  text-align: center;
  width: 100%;
}
.c-drawer__button:last-child, .c-drawer__button--contact:last-child, .c-drawer__button--download:last-child {
  margin-top: 32px;
}

.c-drawer__button--download {
  color: #fff;
}

.c-drawer__button--contact {
  background: #fff;
  color: #023E78;
}

.c-drawer__icon {
  cursor: pointer;
  display: inline-block;
  height: 50px;
  position: relative;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 50px;
  z-index: 40;
}
@media screen and (max-width: 767px) {
  .c-drawer__icon {
    height: 23px;
    width: 35px;
  }
}

.c-drawer__bar {
  background: #023E78;
  border-radius: 6px;
  content: "";
  cursor: pointer;
  display: block;
  height: 2px;
  left: 0%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 27px;
}
.c-drawer__bar::before, .c-drawer__bar::after {
  background: #023E78;
  border-radius: 6px;
  content: "";
  cursor: pointer;
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 27px;
}
.c-drawer__bar::before {
  top: -6px;
}
.c-drawer__bar::after {
  top: 8px;
}

.c-drawer__checkbox:checked ~ .c-drawer__icon .c-drawer__bar {
  background: rgba(51, 51, 51, 0);
}

.c-drawer__checkbox:checked ~ .c-drawer__icon .c-drawer__bar::before,
.c-drawer__checkbox:checked ~ .c-drawer__icon .c-drawer__bar::after {
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

.c-drawer__checkbox:checked ~ .c-drawer__icon .c-drawer__bar::before {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.c-drawer__checkbox:checked ~ .c-drawer__icon .c-drawer__bar::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.c-global-nav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.c-global-nav__lists {
  display: none;
}
@media screen and (min-width: 1280px) {
  .c-global-nav__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-global-nav__list {
  position: relative;
}
.c-global-nav__list:not(:first-child) {
  margin-left: 46px;
}
.c-global-nav__list:not(:first-child)::before {
  content: "／";
  position: absolute;
  left: -30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-global-nav__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 32px;
}

.c-global-nav__button {
  display: none;
}
.c-global-nav__button:last-child {
  margin-left: 10px;
}
@media screen and (min-width: 1280px) {
  .c-global-nav__button {
    display: block;
    font-size: 14px;
    padding: 26px 15px;
    width: 176px;
  }
}

.c-form__label {
  display: block;
  font-size: 14px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-form__label {
    font-size: 18px;
    line-height: 1.56;
  }
}

.c-form__required, .c-form__required--contact {
  background: #e61264;
  color: #fff;
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  margin-left: 8px;
  padding: 4px 8px;
  vertical-align: middle;
}
.c-form__required--contact {
  margin-left: 12px;
  padding: 5px 10px;
}
@media screen and (min-width: 768px) {
  .c-form__required, .c-form__required--contact {
    font-size: 12px;
  }
  .c-form__required--contact {
    margin-left: 11px;
    padding: 5px 8px;
  }
}

.c-form__input, .c-form__textarea {
  border: 1px solid #ddd;
  border-radius: 5px;
  display: inline-block;
  font-size: 16px;
  margin: 6px 0 17px;
  padding: 8px 14px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-form__input, .c-form__textarea {
    margin: 12px 0 29px;
    padding: 9px 16px;
  }
}
.c-form__input::-webkit-input-placeholder, .c-form__textarea::-webkit-input-placeholder {
  color: #ccc;
  font-size: 14px;
}
.c-form__input::-moz-placeholder, .c-form__textarea::-moz-placeholder {
  color: #ccc;
  font-size: 14px;
}
.c-form__input:-ms-input-placeholder, .c-form__textarea:-ms-input-placeholder {
  color: #ccc;
  font-size: 14px;
}
.c-form__input::-ms-input-placeholder, .c-form__textarea::-ms-input-placeholder {
  color: #ccc;
  font-size: 14px;
}
.c-form__input::placeholder, .c-form__textarea::placeholder {
  color: #ccc;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .c-form__input::-webkit-input-placeholder, .c-form__textarea::-webkit-input-placeholder {
    font-size: 16px;
  }
  .c-form__input::-moz-placeholder, .c-form__textarea::-moz-placeholder {
    font-size: 16px;
  }
  .c-form__input:-ms-input-placeholder, .c-form__textarea:-ms-input-placeholder {
    font-size: 16px;
  }
  .c-form__input::-ms-input-placeholder, .c-form__textarea::-ms-input-placeholder {
    font-size: 16px;
  }
  .c-form__input::placeholder, .c-form__textarea::placeholder {
    font-size: 16px;
  }
}

.c-form__textarea {
  height: 140px;
}
@media screen and (min-width: 768px) {
  .c-form__textarea {
    height: 240px;
  }
}

.c-form__link {
  color: #023E78;
  text-decoration: underline;
}

.c-form__link-to-privacy {
  font-size: 14px;
  font-weight: bold;
  margin: 0 6px 0 8px;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .c-form__link-to-privacy {
    display: inline-block;
    font-size: 16px;
    margin: 0 10px;
  }
}

.c-form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: url("../img/icon/icon-select-arrow.svg") no-repeat right 14px center;
  background-size: 12px auto;
  padding-right: 40px;
}
.c-form__select.is-empty {
  color: #ccc;
}

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

.c-meta__cats {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-meta__cat {
  border: 1px solid #e61264;
  color: #e61264;
  font-size: 12px;
  line-height: 1;
  padding: 6px 11px;
  white-space: nowrap;
}
.c-meta__cat.p-single {
  padding: 10px 11px;
}
@media screen and (min-width: 768px) {
  .c-meta__cat.p-single {
    padding: 10px 23px;
  }
}
@media screen and (min-width: 768px) {
  .c-meta__cat {
    font-size: 14px;
    padding: 10px 23px;
  }
}

.c-meta__new {
  color: #e61264;
  font-size: 14px;
  margin-left: 8px;
}
@media screen and (min-width: 768px) {
  .c-meta__new {
    font-size: 16px;
    margin-left: 12px;
  }
}

.c-meta__time {
  color: #888;
  font-size: 14px;
  margin-left: 12px;
}
@media screen and (min-width: 768px) {
  .c-meta__time {
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .c-footer-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-footer-links__item, .c-footer-links__item--contact, .c-footer-links__item--download {
  padding: 45px 40px 26px;
  position: relative;
}
.c-footer-links__item::before, .c-footer-links__item--contact::before, .c-footer-links__item--download::before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .c-footer-links__item, .c-footer-links__item--contact, .c-footer-links__item--download {
    padding: 56px 40px 50px;
    width: 50%;
  }
}

.c-footer-links__item--download {
  background: url(../img/footer-links/img-download.jpg) center/cover no-repeat;
}
.c-footer-links__item--download::before {
  background: rgba(0, 87, 172, 0.8);
}

.c-footer-links__item--contact {
  background: url(../img/footer-links/img-contact.jpg) center/cover no-repeat;
}
.c-footer-links__item--contact::before {
  background: rgba(2, 62, 120, 0.8);
}

.c-footer-links__main {
  color: #fff;
  position: relative;
  text-align: center;
  z-index: 1;
}

.c-footer-links__en {
  font-size: 40px;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .c-footer-links__en {
    font-size: 4.6875vw;
  }
}
@media screen and (min-width: 992px) {
  .c-footer-links__en {
    font-size: 60px;
  }
}

.c-footer-links__jp {
  font-size: 16px;
  font-weight: bold;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .c-footer-links__jp {
    margin-top: 0;
  }
}

.c-footer-links__button {
  display: block;
  font-size: 16px;
  margin: 38px auto 0;
  max-width: 295px;
  padding: 28px 10px;
}
@media screen and (min-width: 768px) {
  .c-footer-links__button {
    font-size: 24px;
    max-width: 315px;
    padding: 34px 15px;
  }
}

.c-heading {
  color: #023E78;
}
@media screen and (min-width: 768px) {
  .c-heading {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.c-heading__en {
  margin-left: 2px;
  font-size: 52px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-heading__en {
    font-size: 7.8125vw;
  }
}
@media screen and (min-width: 992px) {
  .c-heading__en {
    font-size: 100px;
  }
}

.c-heading__jp {
  font-size: 16px;
  font-weight: bold;
  margin-top: 6px;
  margin-left: 2px;
}
@media screen and (min-width: 768px) {
  .c-heading__jp {
    font-size: 1.875vw;
  }
}
@media screen and (min-width: 992px) {
  .c-heading__jp {
    font-size: 24px;
  }
}

.c-heading__link {
  display: block;
  position: relative;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .c-heading__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 0;
  }
  .c-heading__link:hover .c-heading__link-arrow,
  .c-heading__link:hover .c-heading__link-arrow--color-white,
  .c-heading__link:hover .c-heading__link-arrow--color-black,
  .c-heading__link:hover .c-heading__link-arrow--color-blue {
    height: 2px;
    right: -15.2%;
    width: 142px;
  }
}

.c-heading__link-text {
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .c-heading__link-text {
    display: block;
    font-size: 32px;
    margin-top: -6px;
    padding-right: 140px;
  }
}

.c-heading__link-arrow, .c-heading__link-arrow--color-blue, .c-heading__link-arrow--color-black, .c-heading__link-arrow--color-white {
  display: inline-block;
  height: 2px;
  margin: 0 21px 0 8px;
  position: relative;
  -webkit-transition: width 0.3s, right 0.3s;
  transition: width 0.3s, right 0.3s;
  vertical-align: middle;
  width: 17.2vw;
  z-index: 1;
}
.c-heading__link-arrow::before, .c-heading__link-arrow--color-blue::before, .c-heading__link-arrow--color-black::before, .c-heading__link-arrow--color-white::before {
  bottom: -2px;
  content: "";
  display: inline-block;
  height: 14px;
  position: absolute;
  right: 4px;
  -webkit-transform: rotate(-55deg);
          transform: rotate(-55deg);
  width: 2px;
}
@media screen and (min-width: 768px) {
  .c-heading__link-arrow, .c-heading__link-arrow--color-blue, .c-heading__link-arrow--color-black, .c-heading__link-arrow--color-white {
    height: 2px;
    position: absolute;
    right: 1%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 95px;
  }
  .c-heading__link-arrow::before, .c-heading__link-arrow--color-blue::before, .c-heading__link-arrow--color-black::before, .c-heading__link-arrow--color-white::before {
    bottom: -3px;
    height: 18px;
    right: 6px;
  }
}

.c-heading__link-arrow--color-white {
  background: #fff;
}
.c-heading__link-arrow--color-white::before {
  background: #fff;
}

.c-heading__link-arrow--color-black {
  background: #1a1a1a;
}
.c-heading__link-arrow--color-black::before {
  background: #1a1a1a;
}

.c-heading__link-arrow--color-blue {
  background: #023E78;
}
.c-heading__link-arrow--color-blue::before {
  background: #023E78;
}

.c-heading__link-circle, .c-heading__link-circle--fill, .c-heading__link-circle--border {
  border-radius: 50%;
  border-style: solid;
  border-width: 2px;
  height: 40px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 40px;
}
@media screen and (min-width: 768px) {
  .c-heading__link-circle, .c-heading__link-circle--fill, .c-heading__link-circle--border {
    height: 51px;
    top: 40%;
    width: 51px;
  }
}

.c-heading__link-circle--border {
  border-color: #fff400;
}

.c-heading__link-circle--fill {
  background: #fff400;
  border-color: #fff400;
}

.c-sidebar-cats {
  padding-top: 56px;
}
@media screen and (min-width: 768px) {
  .c-sidebar-cats {
    padding-top: 70px;
  }
}

.c-sidebar-cats__lists {
  margin-top: 12px;
}

.c-sidebar-cats__list {
  border-top: 1px solid #ddd;
  padding: 14.5px 40px;
  position: relative;
}
.c-sidebar-cats__list:last-child {
  border-bottom: 1px solid #ddd;
}
.c-sidebar-cats__list::before {
  background: url("../img/icon/icon-chevron-right02.svg") center/cover no-repeat;
  content: "";
  height: 16.026px;
  left: 20px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 9.424px;
}

.c-sidebar-cats__link {
  font-size: 16px;
  font-weight: bold;
}

.c-sidebar-new {
  padding-top: 100px;
}
@media screen and (min-width: 768px) {
  .c-sidebar-new {
    padding-top: 0;
  }
}

.c-sidebar-new__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 19px;
}
@media screen and (min-width: 768px) {
  .c-sidebar-new__item {
    margin-top: 16px;
  }
}
.c-sidebar-new__item:first-of-type {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .c-sidebar-new__item:first-of-type {
    margin-top: 18px;
  }
}

.c-sidebar-new__thumbnail {
  width: calc(37.61% - 6px);
}
@media screen and (min-width: 768px) {
  .c-sidebar-new__thumbnail {
    width: calc(35% - 5px);
  }
}
.c-sidebar-new__thumbnail > img {
  -o-object-fit: cover;
  height: 24vw;
  font-family: "object-fit:cover";
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .c-sidebar-new__thumbnail > img {
    height: 7.8125vw;
    max-height: 100px;
  }
}

.c-sidebar-new__body {
  width: calc(62.39% - 6px);
}
@media screen and (min-width: 768px) {
  .c-sidebar-new__body {
    width: calc(65% - 5px);
  }
}

.c-sidebar-new__meta {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-sidebar-new__cats {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-sidebar-new__cat {
  border: 1px solid #e61264;
  color: #e61264;
  font-size: 12px;
  line-height: 1;
  padding: 6px 11px;
  white-space: nowrap;
}

.c-sidebar-new__new {
  color: #e61264;
  font-size: 14px;
  margin-left: 8px;
}

.c-sidebar-new__time {
  color: #888;
  font-size: 14px;
  margin-left: 12px;
}

.c-sidebar-new__title {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.43;
  margin-top: 6px;
}
@media screen and (min-width: 768px) {
  .c-sidebar-new__title {
    margin-top: 8px;
  }
}

.c-sidebar__title {
  font-size: 20px;
  font-weight: bold;
}

.l-header {
  background: #fff;
  -webkit-transition: position 0.3s;
  transition: position 0.3s;
}

.l-header.is-fixed {
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 40;
}

.l-header__spacing.is-fixed {
  padding-top: 60px;
}

.l-header__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-left: 20px;
}
@media screen and (min-width: 1280px) {
  .l-header__inner {
    height: 100px;
    padding: 0 16px;
  }
}

.l-header__logo {
  display: block;
}
@media screen and (min-width: 1280px) {
  .l-header__logo {
    padding-left: 0;
    width: auto;
  }
}

.l-header__title {
  font-size: 10px;
  font-weight: bold;
  max-width: 200px;
}
@media screen and (min-width: 1280px) {
  .l-header__title {
    max-width: 283px;
  }
}

.l-footer {
  background: #1a1a1a;
  padding: 70px 0 12px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding: 123px 0 20px;
  }
}

.l-footer__logo {
  display: block;
  margin: 0 auto;
  max-width: 291px;
}
@media screen and (min-width: 768px) {
  .l-footer__logo {
    max-width: 375px;
  }
}

.l-footer__info {
  text-align: center;
}

.l-footer__info-text {
  color: #fff;
  display: inline-block;
  margin-top: 30px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .l-footer__info-text {
    margin-top: 30px;
  }
}

.l-footer__copyright {
  color: #fff;
  font-size: 12px;
  margin-top: 38px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__copyright {
    font-size: 14px;
    margin-top: 77px;
  }
}

.l-footer__page-top {
  bottom: 20px;
  position: absolute;
  right: 10px;
  width: 40px;
}
.l-footer__page-top:hover {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .l-footer__page-top {
    bottom: 45px;
    right: 20px;
  }
}

.l-section {
  padding: 65px 0 23px 0;
}
@media screen and (min-width: 768px) {
  .l-section {
    padding: 120px 0 130px 0;
  }
}
.l-section.p-service {
  padding: 65px 0 70px 0;
}
@media screen and (min-width: 768px) {
  .l-section.p-service {
    padding: 65px 0 115px 0;
  }
}
.l-section.p-case {
  padding: 65px 0 58px 0;
}
@media screen and (min-width: 768px) {
  .l-section.p-case {
    padding: 98px 0 121px 0;
  }
}
.l-section.p-news {
  padding: 65px 0 72px 0;
}
@media screen and (min-width: 768px) {
  .l-section.p-news {
    padding: 65px 0 138px 0;
  }
}
.l-section.p-company-directors {
  padding: 59px 0 104px 0;
}
@media screen and (min-width: 768px) {
  .l-section.p-company-directors {
    padding: 116px 0 158px 0;
  }
}
.l-section.p-service-flow {
  padding: 60px 0 59px 0;
}
@media screen and (min-width: 768px) {
  .l-section.p-service-flow {
    padding: 81px 0 119px 0;
  }
}

.l-section--only-above {
  padding-top: 120px;
}

.l-section--only-bottom {
  padding-bottom: 60px;
}

.l-section--lower-fv {
  padding: 58px 0 100px;
}
.l-section--lower-fv.p-contact {
  padding: 58px 0 98px;
}
@media screen and (min-width: 768px) {
  .l-section--lower-fv {
    padding: 80px 0 165px;
  }
  .l-section--lower-fv.p-case-study {
    padding: 80px 0 157px;
  }
  .l-section--lower-fv.p-archive-news {
    padding: 74px 0 160px;
  }
  .l-section--lower-fv.p-download {
    padding: 80px 0 120px;
  }
  .l-section--lower-fv.p-download-thanks {
    padding: 80px 0 232px;
  }
  .l-section--lower-fv.p-contact {
    padding: 80px 0 157px;
  }
  .l-section--lower-fv.p-single {
    padding: 80px 0 175px;
  }
}

.l-inner--base, .l-inner--wide, .l-inner--narrow, .l-inner {
  height: inherit;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-inner--base, .l-inner--wide, .l-inner--narrow, .l-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1180px;
  }
}

@media screen and (min-width: 768px) {
  .l-inner--narrow {
    max-width: 848px;
  }
}

@media screen and (min-width: 768px) {
  .l-inner--wide {
    max-width: 1180px;
  }
}

@media screen and (min-width: 768px) {
  .l-contents__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-contents__main {
    width: calc(70.91% - 20px);
  }
  .l-contents__side {
    width: calc(29.09% - 20px);
  }
}
.l-skew {
  -webkit-transform: skewY(10deg);
          transform: skewY(10deg);
}

.l-skew > * {
  -webkit-transform: skewY(-10deg);
          transform: skewY(-10deg);
}

.p-company-directors {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(45%, transparent), color-stop(46%, #edf3f8));
  background: linear-gradient(transparent 45%, #edf3f8 46%);
  margin-bottom: 52px;
}
@media screen and (min-width: 768px) {
  .p-company-directors {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(61%, transparent), color-stop(62%, #edf3f8));
    background: linear-gradient(transparent 61%, #edf3f8 62%);
    margin-bottom: 30px;
  }
}

.p-company-directors__title {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.p-company-directors__items {
  margin-top: 39px;
}
@media screen and (min-width: 768px) {
  .p-company-directors__items {
    margin: 54px auto 0;
    max-width: 688px;
  }
}

.p-company-directors__item:not(:first-child) {
  margin-top: 66px;
}
@media screen and (min-width: 768px) {
  .p-company-directors__item:not(:first-child) {
    margin-top: 60px;
  }
}
@media screen and (min-width: 768px) {
  .p-company-directors__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-company-directors__img {
  margin: 0 48px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-company-directors__img {
    margin: 0;
    width: 34.885%;
  }
}

.p-company-directors__main {
  margin-top: 18px;
}
@media screen and (min-width: 768px) {
  .p-company-directors__main {
    margin-top: 0;
    width: 59.305%;
  }
}

.p-company-directors__profile {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-company-directors__job-title {
  font-size: 14px;
  font-weight: bold;
}

.p-company-directors__name {
  font-size: 20px;
  font-weight: bold;
  margin-left: 20px;
}

.p-company-directors__biography {
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .p-company-directors__biography {
    margin-top: 28px;
  }
}

.p-company-directors__sns-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 17px;
}
@media screen and (min-width: 768px) {
  .p-company-directors__sns-icons {
    margin-top: 32px;
  }
}

.p-company-directors__sns-icon:not(:first-child) {
  margin-left: 24px;
}

.p-company-message {
  padding: 60px 0;
}
@media screen and (min-width: 768px) {
  .p-company-message {
    padding: 80px 0 120px;
  }
}

.p-company-message__inner {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .p-company-message__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.p-company-message__item:last-child {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-company-message__item:last-child {
    margin-top: 120px;
  }
}

.p-company-message__bg, .p-company-message__bg--bg02, .p-company-message__bg--bg01 {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  height: 280px;
  margin: 0 calc(50% - 50vw);
  padding: 20px 20px 0;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .p-company-message__bg, .p-company-message__bg--bg02, .p-company-message__bg--bg01 {
    height: 353px;
    margin: 0;
    width: 100%;
  }
}

.p-company-message__bg--bg01 {
  background-image: url(../img/company/img-company01_sp.jpg);
}
@media screen and (min-width: 768px) {
  .p-company-message__bg--bg01 {
    background-image: url(../img/company/img-company01_pc.jpg);
  }
}

.p-company-message__bg--bg02 {
  background-image: url(../img/company/img-company02_sp.jpg);
}
@media screen and (min-width: 768px) {
  .p-company-message__bg--bg02 {
    background-image: url(../img/company/img-company02_pc.jpg);
  }
}

.p-company-message__bg-en {
  font-size: 52px;
  line-height: 1.21;
}
@media screen and (min-width: 768px) {
  .p-company-message__bg-en {
    font-size: 100px;
    line-height: 1.19;
  }
}

.p-company-message__bg-jp {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-company-message__bg-jp {
    font-size: 24px;
  }
}

.p-company-message__box {
  background: #fff;
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
  margin-top: -40px;
  padding: 20px 20px 18px;
}
@media screen and (min-width: 768px) {
  .p-company-message__box {
    margin: -60px auto 0;
    max-width: 688px;
    padding: 30px 40px;
  }
}

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

.p-company-message__box-text {
  margin-top: 18px;
}
@media screen and (min-width: 768px) {
  .p-company-message__box-text {
    margin-top: 32px;
  }
}

.p-company-profile {
  background: url(../img/top/bg-case.jpg) center/cover no-repeat;
  height: auto;
  padding: 60px 0;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-company-profile {
    padding: 80px 0;
  }
}

.p-company-profile__box {
  background: #fff;
  padding: 40px 20px;
}
@media screen and (min-width: 768px) {
  .p-company-profile__box {
    padding: 60px 40px 80px;
  }
}

.p-company-profile__title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.p-company-profile__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-company-profile__dl {
    margin-top: 60px;
  }
}

.p-company-profile__dt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #023E78;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.43;
  padding: 16px 0;
  width: 33.9%;
}
.p-company-profile__dt:last-of-type {
  border-bottom: 1px solid #023E78;
}
@media screen and (min-width: 768px) {
  .p-company-profile__dt {
    font-size: 16px;
    line-height: 1.5;
    padding: 24px 0;
    padding-left: 32px;
    width: 29.07%;
  }
}

.p-company-profile__dd {
  border-top: 1px solid #e8eaec;
  line-height: 1.43;
  padding: 16px 0;
  padding-left: 24px;
  width: 66.1%;
}
.p-company-profile__dd:last-of-type {
  border-bottom: 1px solid #e8eaec;
}
@media screen and (min-width: 768px) {
  .p-company-profile__dd {
    font-size: 16px;
    line-height: 1.5;
    padding: 24px 0;
    padding-left: 36px;
    width: 70.93%;
  }
}

.p-company-profile__dd-list {
  padding-left: 14px;
  position: relative;
}
.p-company-profile__dd-list::before {
  content: "・";
  left: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-company-profile__dd-list {
    padding-left: 16px;
  }
}

@media screen and (max-width: 767px) {
  .p-service-detail {
    padding-bottom: 58px;
  }
}

.p-service-detail__inner {
  margin: 0 auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-service-detail__inner {
    max-width: 1260px;
    padding: 0 40px;
  }
}

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

.p-service-detail__img {
  width: 50vw;
}
@media screen and (min-width: 768px) {
  .p-service-detail__img {
    margin: 60px 0 0;
    max-width: 560px;
    width: 47.46%;
  }
}

.p-service-detail__main {
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
  margin: 0 20px;
  margin-top: -43vw;
  padding: 42px 20px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-service-detail__main {
    margin: 0;
    max-width: 590px;
    padding: 80px 30px 60px;
    width: 70%;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
}
@media screen and (min-width: 992px) {
  .p-service-detail__main {
    padding-left: 40px;
    padding-right: 40px;
    -webkit-transform: translateX(60px);
            transform: translateX(60px);
  }
}

.p-service-detail__number {
  color: #023E78;
  font-size: 70px;
  line-height: 1;
  position: absolute;
  top: -36px;
}
@media screen and (min-width: 768px) {
  .p-service-detail__number {
    font-size: 100px;
    top: -44px;
  }
}

.p-service-detail__jp {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.28;
}
@media screen and (min-width: 768px) {
  .p-service-detail__jp {
    font-size: 40px;
    line-height: 1.5;
  }
}

.p-service-detail__en {
  color: #023E78;
  font-size: 14px;
  line-height: 1.21;
  margin-top: 9px;
}
@media screen and (min-width: 768px) {
  .p-service-detail__en {
    font-size: 16px;
    margin-top: 0;
  }
}

.p-service-detail__text {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-service-detail__text {
    margin-top: 60px;
  }
}

.p-service-detail__dl-wrapper {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-service-detail__dl-wrapper {
    margin-top: 60px;
  }
}

.p-service-detail__dl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 18px 0;
}
@media screen and (min-width: 768px) {
  .p-service-detail__dl {
    padding: 28px 0;
  }
}

.p-service-detail__dl:last-child {
  border-bottom: 1px solid #ccc;
}

.p-service-detail__dt {
  font-size: 14px;
  font-weight: bold;
  white-space: nowrap;
}

.p-service-detail__dd {
  margin-left: 52px;
}

.p-service-detail__button {
  display: block;
  font-size: 14px;
  margin: 33px auto 0;
  max-width: 295px;
  padding: 28px 10px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-service-detail__button {
    font-size: 16px;
    margin-top: 60px;
    max-width: 304px;
    padding: 27px 15px;
  }
}

.p-service-detail__items:nth-of-type(odd) {
  margin-top: 60px;
}
.p-service-detail__items:nth-of-type(odd) .p-service-detail__number {
  left: 20px;
}
@media screen and (min-width: 768px) {
  .p-service-detail__items:nth-of-type(odd) .p-service-detail__number {
    left: 58px;
  }
}
.p-service-detail__items:nth-of-type(odd) .p-service-detail__img {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-service-detail__items:nth-of-type(odd) .p-service-detail__img {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-service-detail__items:nth-of-type(odd) .p-service-detail__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p-service-detail__items:nth-of-type(odd) .p-service-detail__main {
    transform: translateX(30px);
    -webkit-transform: translateX(30px);
  }
}
@media screen and (min-width: 992px) {
  .p-service-detail__items:nth-of-type(odd) .p-service-detail__main {
    transform: translateX(60px);
    -webkit-transform: translateX(60px);
  }
}
.p-service-detail__items:nth-of-type(2) {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #edf3f8));
  background: linear-gradient(transparent 0%, #edf3f8 0%);
  margin: 69px 0 80px;
  padding-top: 12px;
}
.p-service-detail__items:nth-of-type(2) .p-service-detail__number {
  right: 20px;
}
.p-service-detail__items:nth-of-type(2) .p-service-detail__img {
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-service-detail__items:nth-of-type(2) {
    margin: 195px 0 187px;
    padding: 68px 0 79px;
  }
  .p-service-detail__items:nth-of-type(2) .p-service-detail__number {
    right: 44px;
    top: -52px;
  }
  .p-service-detail__items:nth-of-type(2) .p-service-detail__img {
    margin-right: 0;
  }
  .p-service-detail__items:nth-of-type(2) .p-service-detail__main {
    transform: translateX(-30px);
    -webkit-transform: translateX(-30px);
  }
}
@media screen and (min-width: 992px) {
  .p-service-detail__items:nth-of-type(2) .p-service-detail__main {
    transform: translateX(-60px);
    -webkit-transform: translateX(-60px);
  }
}
@media screen and (min-width: 768px) {
  .p-service-detail__items:first-of-type {
    margin-top: 138px;
  }
}
@media screen and (min-width: 768px) {
  .p-service-detail__items:last-of-type {
    margin-top: 150px;
  }
}

@media screen and (min-width: 768px) {
  .p-service-detail__item {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-service-detail__anchor {
  margin-top: -62px;
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-service-detail__anchor {
    margin-top: -64px;
  }
}

.p-service-faq {
  padding: 60px 0 95px;
}
@media screen and (min-width: 768px) {
  .p-service-faq {
    padding: 160px 0 164px 0;
  }
}

.p-service-faq__title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.p-service-faq__items {
  margin-top: 41px;
}
@media screen and (min-width: 768px) {
  .p-service-faq__items {
    margin: 60px auto 0;
    max-width: 688px;
  }
}

.p-service-flow {
  background: url(../img/service/bg-service-flow.jpg) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-service-flow {
    padding-top: 80px;
  }
}

.p-service-flow__title {
  color: #fff;
  font-size: 24px;
  line-height: 1.5;
  text-align: center;
}

.p-service-flow__items {
  margin-top: 38px;
}
@media screen and (min-width: 768px) {
  .p-service-flow__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 107px;
  }
}

.p-service-flow__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 25%;
  }
}

@media screen and (min-width: 768px) {
  .p-service-flow__item--item01 {
    background: #edf3f8;
  }
}

@media screen and (min-width: 768px) {
  .p-service-flow__item--item02 {
    background: #dde8f0;
  }
}

@media screen and (min-width: 768px) {
  .p-service-flow__item--item03 {
    background: #c7dbe9;
  }
}

@media screen and (min-width: 768px) {
  .p-service-flow__item--item04 {
    background: #b0d0e5;
  }
}

.p-service-flow__steps {
  color: #fff400;
  line-height: 1;
  white-space: nowrap;
  width: 43px;
}
@media screen and (min-width: 768px) {
  .p-service-flow__steps {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    left: 0;
    position: absolute;
    top: -25px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    width: 100%;
  }
}

.p-service-flow__step {
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .p-service-flow__step {
    font-size: 1.5625vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__step {
    font-size: 20px;
  }
}

.p-service-flow__step-number {
  font-size: 40px;
  line-height: 1;
  margin-top: 3px;
}
@media screen and (min-width: 768px) {
  .p-service-flow__step-number {
    font-size: 3.125vw;
    margin-left: 8px;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__step-number {
    font-size: 40px;
  }
}

.p-service-flow__main {
  margin-left: 18px;
  max-width: 480px;
  padding: 20px 20px;
  position: relative;
  width: 73.33333vw;
}
.p-service-flow__main::after {
  border-color: currentColor transparent transparent transparent;
  border-style: solid;
  border-width: 26px 36.66667vw 0 36.66667vw;
  bottom: -26px;
  content: "";
  height: 0;
  left: 0;
  position: absolute;
  right: 0;
  width: 0;
  z-index: 1;
}
@media only screen and (min-width: 650px) {
  .p-service-flow__main::after {
    border-width: 26px 240px 0 240px;
  }
}
@media screen and (min-width: 768px) {
  .p-service-flow__main::after {
    border-color: transparent transparent transparent currentColor;
    border-width: 8.16406vw 0 8.16406vw 20px;
    left: auto;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__main::after {
    border-width: 104.5px 0 104.5px 20px;
  }
}
@media screen and (min-width: 768px) {
  .p-service-flow__main {
    margin-left: 0;
    padding: 3.4375vw 1.95312vw 1.64062vw 3.35938vw;
    width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__main {
    padding: 44px 25px 21px 43px;
  }
}

.p-service-flow__main--main01 {
  background: #edf3f8;
  color: #edf3f8;
}

.p-service-flow__main--main02 {
  background: #dde8f0;
  color: #dde8f0;
}

.p-service-flow__main--main03 {
  background: #c7dbe9;
  color: #c7dbe9;
}

.p-service-flow__main--main04 {
  background: #b0d0e5;
  color: transparent;
}
@media screen and (min-width: 768px) {
  .p-service-flow__main--main04::after {
    display: none;
  }
}

.p-service-flow__item:not(:first-child) .p-service-flow__main {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item:not(:first-child) .p-service-flow__main {
    padding-left: 3.90625vw;
    padding-top: 3.4375vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__item:not(:first-child) .p-service-flow__main {
    padding-left: 50px;
    padding-top: 44px;
  }
}

.p-service-flow__item-title {
  color: #023E78;
  font-size: 18px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item-title {
    font-size: 1.5625vw;
    text-align: left;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__item-title {
    font-size: 20px;
  }
}

.p-service-flow__item-text {
  color: #1a1a1a;
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item-text {
    font-size: 1.09375vw;
    margin-top: 1.17188vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__item-text {
    font-size: 14px;
    margin-top: 15px;
  }
}

.p-service-flow__item-apdx {
  color: #e61264;
}
@media screen and (min-width: 768px) {
  .p-service-flow__item-apdx {
    font-size: 1.09375vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-service-flow__item-apdx {
    font-size: 14px;
  }
}

.p-case-study__nav {
  margin: 0 20px;
}
@media screen and (min-width: 768px) {
  .p-case-study__nav {
    margin: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-case-study__nav-lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-case-study__nav-list:not(:first-child) {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-case-study__nav-list:not(:first-child) {
    margin-left: 16px;
    margin-top: 0;
  }
}

.p-case-study__nav-link {
  background: #eee;
  border-radius: 4px;
  display: block;
  font-weight: bold;
  padding: 10px;
  text-align: center;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media (hover: hover) {
  .p-case-study__nav-link:hover {
    background: #ccc;
  }
}
@media screen and (min-width: 768px) {
  .p-case-study__nav-link {
    width: 208px;
  }
}

.p-cases {
  padding-top: 59px;
}
@media screen and (min-width: 992px) {
  .p-cases {
    padding-top: 79px;
  }
}

.p-cases__title {
  border-left: 8px solid #023E78;
  font-size: 24px;
  font-weight: bold;
  padding-left: 10px;
}
@media screen and (min-width: 992px) {
  .p-cases__title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 28px;
    line-height: 1.43;
  }
}

.p-cases__title--en {
  color: #023E78;
  display: block;
  font-size: 14px;
  line-height: 1;
}
@media screen and (min-width: 992px) {
  .p-cases__title--en {
    font-size: 16px;
    margin-left: 20px;
  }
}

.p-cases__items {
  margin-top: 24px;
}
@media screen and (min-width: 992px) {
  .p-cases__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 0;
  }
}

.p-cases__item {
  background: #fff;
  border-radius: 12px;
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
}
.p-cases__item:not(:first-child) {
  margin-top: 51px;
}
@media screen and (min-width: 992px) {
  .p-cases__item:not(:first-child) {
    margin-top: 62px;
  }
}
@media screen and (min-width: 992px) {
  .p-cases__item {
    margin-top: 66px;
    width: calc(50% - 40px);
  }
}

.p-cases__item-head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #023E78;
  border-radius: 12px 12px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 9px 20px 5px 20px;
}
@media screen and (min-width: 992px) {
  .p-cases__item-head {
    padding: 20px 40px;
    position: relative;
  }
}

.p-cases__item-heading {
  color: #fff;
  font-weight: bold;
}

.p-cases__business {
  font-size: 12px;
}
@media screen and (min-width: 992px) {
  .p-cases__business {
    font-size: 14px;
  }
}

.p-cases__name {
  font-size: 16px;
}
@media screen and (min-width: 992px) {
  .p-cases__name {
    font-size: 24px;
    line-height: 1.17;
    margin-top: 8px;
  }
}

.p-cases__compellation {
  display: inline-block;
  font-size: 14px;
  margin-left: 12px;
}
@media screen and (min-width: 992px) {
  .p-cases__compellation {
    font-size: 16px;
    margin-left: 16px;
  }
}

.p-cases__item-logo {
  border-radius: 5px;
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  width: 90px;
}
@media screen and (min-width: 992px) {
  .p-cases__item-logo {
    max-width: 160px;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 10vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-cases__item-logo {
    width: 160px;
  }
}

.p-cases__item-body {
  padding: 20px;
}
@media screen and (min-width: 992px) {
  .p-cases__item-body {
    padding: 40px;
  }
}

.p-cases__item-title {
  border-bottom: 1px solid #ddd;
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p-cases__item-title {
    padding-bottom: 7px;
  }
}

.p-cases__item-title--course-name {
  margin-left: 8px;
}
@media screen and (min-width: 768px) {
  .p-cases__item-title--course-name {
    margin-left: 9px;
  }
}

.p-cases__lists {
  margin-top: 17px;
}
@media screen and (min-width: 992px) {
  .p-cases__lists {
    margin-top: 30px;
  }
}

.p-cases__list:not(:first-child) {
  margin-top: 28px;
}
@media screen and (min-width: 768px) {
  .p-cases__list:not(:first-child) {
    margin-top: 27px;
  }
}

.p-cases__list-title {
  font-size: 16px;
  font-weight: bold;
  padding-left: 25px;
  position: relative;
}
.p-cases__list-title::before {
  background: url(../img/icon/icon-check.svg) center/cover no-repeat;
  content: "";
  height: 15px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 15px;
}
@media screen and (min-width: 992px) {
  .p-cases__list-title::before {
    height: 20px;
    width: 20px;
  }
}
@media screen and (min-width: 992px) {
  .p-cases__list-title {
    font-size: 18px;
    padding-left: 30px;
  }
}

.p-cases__list-text {
  margin-top: 5px;
}
@media screen and (min-width: 992px) {
  .p-cases__list-text {
    margin-top: 6px;
  }
}

.p-cases__button-wrapper {
  text-align: center;
}

.p-cases__button {
  display: block;
  font-size: 14px;
  margin: 40px auto 0;
  max-width: 295px;
  padding: 28px 10px;
}
@media screen and (min-width: 992px) {
  .p-cases__button {
    display: inline-block;
    font-size: 16px;
    margin-top: 60px;
    max-width: 100%;
    padding: 27px 80px;
  }
}

.p-archive-news__cat-name {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-archive-news__cat-name {
    font-size: 32px;
  }
}

.p-archive-news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 18px;
}
.p-archive-news__item:first-of-type {
  margin-top: 14px;
}
@media screen and (min-width: 768px) {
  .p-archive-news__item {
    margin-top: 40px;
  }
  .p-archive-news__item:first-of-type {
    margin-top: 16px;
  }
}

.p-archive-news__thumbnail {
  width: calc(37.61% - 6px);
}
@media screen and (min-width: 768px) {
  .p-archive-news__thumbnail {
    width: calc(34.21% - 10px);
  }
}
.p-archive-news__thumbnail > img {
  -o-object-fit: cover;
  height: 24vw;
  font-family: "object-fit:cover";
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-archive-news__thumbnail > img {
    height: 12.1875vw;
    max-height: 156px;
  }
}

.p-archive-news__body {
  width: calc(62.39% - 6px);
}
@media screen and (min-width: 768px) {
  .p-archive-news__body {
    margin-top: 12px;
    width: calc(65.79% - 10px);
  }
}

.p-archive-news__title {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.43;
  margin-top: 6px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-archive-news__title {
    font-size: 16px;
    margin-top: 16px;
  }
}

.p-archive-news__pagination {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-archive-news__pagination {
    margin-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  .p-download__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .p-download__document {
    width: calc(50% - 40px);
  }
}

.p-download__document-title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .p-download__document-title {
    font-size: 28px;
    line-height: 1.429;
  }
}

.p-download__document-img {
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
  margin: 40px 30px 0;
}
@media screen and (min-width: 768px) {
  .p-download__document-img {
    margin-left: auto;
    margin-right: auto;
    max-width: 275px;
  }
}

.p-download__document-text {
  margin-top: 40px;
}

.p-download__form {
  background: #edf3f8;
  border-radius: 12px;
  margin-top: 60px;
  padding: 40px 20px 10px;
}
@media screen and (min-width: 768px) {
  .p-download__form {
    margin-top: 0;
    padding: 34px 40px 12px 40px;
    width: 50%;
  }
}
.p-download__form.p-download-thanks {
  padding-bottom: 36px;
}
@media screen and (min-width: 768px) {
  .p-download__form.p-download-thanks {
    min-height: calc(100% + 112px);
    margin-bottom: -112px;
  }
}

.p-download__form-items {
  margin-top: 33px;
}
@media screen and (min-width: 768px) {
  .p-download__form-items {
    margin-top: 35px;
  }
}

.p-download__form-title {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-download__form-title {
    font-size: 32px;
  }
  .p-download__form-title.p-download-thanks {
    line-height: 1.6;
  }
}

.p-download__acceptance {
  margin-top: 26px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-download__acceptance {
    font-size: 16px;
    margin-top: 15px;
  }
}

.p-download__arrow {
  position: relative;
}
.p-download__arrow::after {
  -webkit-transform: translateY(-50%);
  background: url(../img/icon/icon-arrow-right04.svg) center/cover no-repeat;
  content: "";
  height: 13px;
  padding-left: 0;
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transition: background-image 0.3s, right 0.3s;
  transition: background-image 0.3s, right 0.3s;
  width: 20px;
}

.p-download__submit {
  display: block;
  font-size: 14px;
  margin: 40px auto 0;
  max-width: 332px;
  padding: 28px 10px;
  text-align: center;
  width: 100%;
}
@media (hover: hover) {
  .p-download__submit:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-download__submit {
    font-size: 16px;
    padding: 27px 15px;
  }
}

.p-download__form-p:nth-child(n+2) {
  margin-top: 34px;
  line-height: 2;
}

.p-download__acceptance .wpcf7-acceptance input[type=checkbox] {
  display: none;
}
.p-download__acceptance .wpcf7-acceptance .wpcf7-list-item-label {
  cursor: pointer;
  display: inline-block;
  margin: 0 16px 0 0;
  padding: 0 0 0 30px;
  position: relative;
  -webkit-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}
.p-download__acceptance .wpcf7-acceptance .wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #3e3e3e;
  border-radius: 2px;
  content: "";
  display: block;
  height: 28px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28px;
}
.p-download__acceptance .wpcf7-acceptance .wpcf7-list-item-label::after {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}
.p-download__acceptance .wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  border-bottom: 4px solid #1a1a1a;
  border-left: 4px solid #1a1a1a;
  content: "";
  display: block;
  height: 16.8px;
  left: 0;
  margin-top: -0.2em;
  opacity: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  width: 28px;
}

.p-contact__item {
  margin: 0 auto;
  max-width: 688px;
}

.p-contact__intro-link {
  color: #023E78;
  text-decoration: underline;
}

.p-contact__form {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .p-contact__form {
    margin-top: 78px;
  }
}

.p-contact__form-title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.p-contact__form-items {
  margin-top: 37px;
}
@media screen and (min-width: 768px) {
  .p-contact__form-items {
    margin-top: 58px;
  }
}

.p-contact__acceptance {
  margin-top: 29px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-contact__acceptance {
    font-size: 16px;
    margin-top: 15px;
  }
}

.p-contact__submit {
  display: block;
  margin: 40px auto 0;
  max-width: 295px;
  padding: 27px 10px;
  width: 100%;
}
@media (hover: hover) {
  .p-contact__submit:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-contact__submit {
    max-width: 208px;
  }
}

.p-contact__acceptance .wpcf7-acceptance input[type=checkbox] {
  display: none;
}
.p-contact__acceptance .wpcf7-acceptance .wpcf7-list-item-label {
  cursor: pointer;
  display: inline-block;
  margin: 0 16px 0 0;
  padding: 0 0 0 30px;
  position: relative;
  -webkit-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}
.p-contact__acceptance .wpcf7-acceptance .wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #3e3e3e;
  border-radius: 2px;
  content: "";
  display: block;
  height: 28px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28px;
}
.p-contact__acceptance .wpcf7-acceptance .wpcf7-list-item-label::after {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}
.p-contact__acceptance .wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  border-bottom: 4px solid #1a1a1a;
  border-left: 4px solid #1a1a1a;
  content: "";
  display: block;
  height: 16.8px;
  left: 0;
  margin-top: -0.2em;
  opacity: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  width: 28px;
}

.p-single__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .p-single__title {
    font-size: 24px;
    line-height: 1.38;
    margin-top: 20px;
  }
}

.p-single__thumbnail {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .p-single__thumbnail {
    margin-top: 40px;
  }
}
.p-single__thumbnail > img {
  -o-object-fit: cover;
  height: 55.73333vw;
  font-family: "object-fit:cover";
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-single__thumbnail > img {
    height: 37.10938vw;
    max-height: 475px;
  }
}

.p-single__content h2,
.p-single__content h3,
.p-single__content h4 {
  color: #023E78;
  font-weight: bold;
  margin-top: 36px;
}
.p-single__content h2 {
  background: #f8f8f8;
  border-left: 6px solid #023E78;
  font-size: 20px;
  padding: 6px 10px 6px 20px;
}
.p-single__content h3 {
  border-bottom: 1px solid #023E78;
  font-size: 18px;
  padding-bottom: 4px;
}
.p-single__content h4 {
  font-size: 16px;
}
.p-single__content ul {
  margin-top: 36px;
}
@media screen and (min-width: 768px) {
  .p-single__content ul {
    margin-left: 40px;
    margin-top: 32px;
  }
}
.p-single__content li::before {
  content: "・";
}
.p-single__content li:not(:first-child) {
  margin-top: 17px;
}
@media screen and (min-width: 768px) {
  .p-single__content li:not(:first-child) {
    margin-top: 13px;
  }
}
.p-single__content p {
  margin-top: 20px;
}
.p-single__content .wp-block-quote {
  background: #f8f8f8;
  border-left: 4px solid #023E78;
  margin: 53px 0 0 0;
  padding: 32px 28px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-single__content .wp-block-quote {
    margin: 36px 75px 0 40px;
    padding: 35px 30px 33px 30px;
  }
}
.p-single__content .wp-block-quote::before {
  background: url(../../../img/icon/icon-quote.svg) center/cover no-repeat;
  content: "";
  height: 45px;
  left: 25px;
  position: absolute;
  top: 25px;
  width: 60px;
}
.p-single__content .wp-block-quote > p {
  margin-top: 0;
  position: relative;
  z-index: 1;
}

.p-single__post-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 39px;
}

.p-single__post-link > a {
  border: 1px solid #023E78;
  border-radius: 4px;
  color: #023E78;
  display: block;
  padding: 5px 15px;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .p-single__post-link > a:hover {
    background: #023E78;
    color: #fff;
  }
}

.p-case {
  margin-top: 90px;
  background: url(../img/top/bg-case.jpg) center/cover no-repeat;
  height: auto;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-case {
    margin-top: 0;
  }
}

.p-case__heading .c-heading {
  color: #fff;
}

.p-case__items {
  margin-top: 38px;
}
@media screen and (min-width: 768px) {
  .p-case__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 10px;
  }
}

.p-case__item {
  display: block;
}
.p-case__item:not(:first-child) {
  margin-top: 53px;
}
@media screen and (min-width: 768px) {
  .p-case__item:not(:first-child) {
    margin-top: 70px;
  }
}
@media screen and (min-width: 768px) {
  .p-case__item {
    margin-top: 70px;
    width: 29.0896666667%;
  }
}
.p-case__item.is-hover .p-case__item-link > svg {
  fill: #fff400;
  margin-right: 0;
}

.p-case__item-img {
  text-align: center;
}
.p-case__item-img > img {
  -o-object-fit: cover;
  height: 66.93333vw;
  font-family: "object-fit:cover";
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-case__item-img > img {
    height: 18.75vw;
    max-height: 240px;
  }
}

.p-case__item-company {
  color: #fff;
  font-size: 16px;
  margin-top: 12px;
}
@media screen and (min-width: 768px) {
  .p-case__item-company {
    margin-top: 14px;
  }
}

.p-case__item-links {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .p-case__item-links {
    margin-top: 10px;
  }
}

.p-case__item-cat {
  border: 1px solid #fff;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  padding: 8px 15px;
}

.p-case__item-link > svg {
  fill: #fff;
  display: block;
  height: 29.5px;
  -webkit-transition: margin 0.3s, -webkit-transform 0.3s;
  transition: margin 0.3s, -webkit-transform 0.3s;
  transition: margin 0.3s, transform 0.3s;
  transition: margin 0.3s, transform 0.3s, -webkit-transform 0.3s;
  width: 29.5px;
}
@media screen and (min-width: 768px) {
  .p-case__item-link > svg {
    margin-right: 8px;
  }
}

.p-case__view-more-link {
  margin-top: 60px;
}

.p-company {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, transparent), color-stop(19%, #edf3f8));
  background: linear-gradient(transparent 20%, #edf3f8 19%);
}
@media screen and (min-width: 768px) {
  .p-company {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(40.5%, transparent), color-stop(40.5%, #edf3f8));
    background: linear-gradient(transparent 40.5%, #edf3f8 40.5%);
    margin-top: 28px;
  }
}

@media screen and (min-width: 768px) {
  .p-company__content {
    padding-top: 115px;
    position: relative;
  }
}

.p-company__bg {
  background: url(../img/company/bg-company.jpg) center/cover no-repeat;
  bottom: 0;
  position: absolute;
  top: 0;
  z-index: -1;
}

.p-company__content-bg {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-company__content-bg {
    display: block;
    height: 70.3125vw;
    max-height: 800px;
    right: 0;
    width: 43%;
  }
}
@media screen and (min-width: 992px) {
  .p-company__content-bg {
    width: 39%;
  }
}

.p-company__img {
  margin: 0;
}

.p-company__img-bg {
  height: 96.53333vw;
  right: -20px;
  width: 78.66667vw;
}
@media screen and (min-width: 768px) {
  .p-company__img-bg {
    display: none;
  }
}

.p-company__items {
  margin-top: 58px;
}
@media screen and (min-width: 768px) {
  .p-company__items {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .p-company__text {
    width: calc(36.27% - 20px);
  }
}

.p-company__img-wrapper {
  margin-top: 30px;
  padding: 10.66667vw 0 32vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-company__img-wrapper {
    margin-top: 0;
    padding: 0;
    width: calc(63.73% - 20px);
  }
}

.p-company__view-more-link {
  margin-top: 38px;
}

.p-mv-slider {
  margin-left: 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-mv-slider {
    margin-left: 50px;
  }
}
.p-mv-slider img {
  /* ワイドスクリーン対応 */
  max-width: initial;
  width: 100%;
}

.p-mv-slider__main {
  bottom: 18px;
  left: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-mv-slider__main {
    bottom: 60px;
  }
}

.p-mv-slider__items {
  margin-left: 20px;
}
@media screen and (min-width: 768px) {
  .p-mv-slider__items {
    margin-left: 40px;
  }
}

.p-mv-slider__title-wrapper {
  width: 74.66667vw;
}
@media screen and (min-width: 768px) {
  .p-mv-slider__title-wrapper {
    width: 46.875vw;
  }
}

.p-mv-slider__title-above {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-mv-slider__title-above {
    background: #fff;
    display: inline-block;
    line-height: 1;
    margin-bottom: 16px;
  }
}

.p-mv-slider__title {
  background: #fff;
  color: #023E78;
  display: inline-block;
  font-family: "Fira Sans", sans-serif;
  font-size: 10.66667vw;
  font-style: italic;
  font-weight: bold;
  line-height: 1;
  margin-top: 8px;
  padding: 4px 0;
}
@media screen and (min-width: 768px) {
  .p-mv-slider__title {
    font-size: 4.6875vw;
    margin-top: 0;
    padding: 6px 0;
  }
}

@media screen and (min-width: 768px) {
  .p-mv-slider__title--spacing {
    padding-left: 10px;
  }
}

.p-mv-slider__text {
  background: #023E78;
  color: #fff;
  display: inline-block;
  font-size: 4.26667vw;
  font-weight: bold;
  line-height: 1;
  margin-top: 15px;
  padding: 4px 0;
}
@media screen and (min-width: 768px) {
  .p-mv-slider__text {
    font-size: 1.5625vw;
    margin-top: 16px;
    padding: 5px 0;
  }
}

.p-news {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(27%, transparent), color-stop(25%, #edf3f8));
  background: linear-gradient(transparent 27%, #edf3f8 25%);
  margin: 0 0 133px;
}
@media screen and (min-width: 768px) {
  .p-news {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(57%, #edf3f8));
    background: linear-gradient(transparent 55%, #edf3f8 57%);
    margin: 111px 0 22px;
  }
}

.p-news__items {
  background: #fff;
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
  margin-top: 57px;
  padding: 40px 20px;
}
@media screen and (min-width: 768px) {
  .p-news__items {
    margin-top: 80px;
    padding: 60px 40px 40px;
  }
}

.p-news__item {
  border-bottom: 1px solid #ddd;
  display: block;
  padding-bottom: 30px;
}
.p-news__item:not(:last-child) {
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .p-news__item:not(:last-child) {
    margin-bottom: 20px;
  }
}

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

.p-news__info-cat {
  border: 1px solid #e61264;
  color: #e61264;
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  padding: 8px 19px;
}
@media screen and (min-width: 768px) {
  .p-news__info-cat {
    font-size: 14px;
    padding: 10px 23px;
  }
}

.p-news__info-time {
  color: #888;
}

.p-news__title {
  font-size: 14px;
  font-weight: bold;
  margin-top: 14px;
}
@media screen and (min-width: 768px) {
  .p-news__title {
    font-size: 16px;
  }
}

.p-news__view-more-link {
  margin-top: 30px;
}

.p-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-pagination .page-numbers {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f8f8f8;
  color: #888;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  height: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  -webkit-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
  width: 40px;
}
.p-pagination .page-numbers:hover {
  background: #023E78;
  color: #fff;
}
.p-pagination .page-numbers:not(:first-child) {
  margin-left: 6px;
}
@media screen and (min-width: 768px) {
  .p-pagination .page-numbers:not(:first-child) {
    margin-left: 8px;
  }
}
@media screen and (min-width: 768px) {
  .p-pagination .page-numbers {
    height: 50px;
    width: 50px;
  }
}

.p-pagination .current {
  background: #023E78;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-pagination .next {
    margin-left: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .p-pagination .prev {
    margin-right: 20px !important;
  }
}

.p-pagination__next {
  background: url(../img/icon/icon-chevron-right.svg) center/cover no-repeat;
  height: 14px;
  width: 8px;
}
.page-numbers:hover .p-pagination__next {
  background-image: url(../img/icon/icon-chevron-right03.svg);
}

.p-pagination__previous {
  background: url(../img/icon/icon-chevron-left.svg) center/cover no-repeat;
  height: 14px;
  width: 8px;
}
.page-numbers:hover .p-pagination__previous {
  background-image: url(../img/icon/icon-chevron-left02.svg);
}

.p-service {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(45%, transparent), color-stop(50%, #edf3f8));
  background: linear-gradient(transparent 45%, #edf3f8 50%);
  margin-top: 31px;
}
@media screen and (min-width: 768px) {
  .p-service {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(52%, transparent), color-stop(53%, #edf3f8));
    background: linear-gradient(transparent 52%, #edf3f8 53%);
    margin-top: 179px;
  }
}

.p-service__items {
  margin-top: 64px;
}
@media screen and (min-width: 768px) {
  .p-service__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 85px;
  }
}

.p-service__item {
  margin-left: 15px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-service__item {
    margin: 0;
    width: 29.093%;
  }
}

.p-service__item:nth-child(2) {
  margin-top: 73px;
}
@media screen and (min-width: 768px) {
  .p-service__item:nth-child(2) {
    margin-top: 60px;
  }
}

.p-service__item:last-child {
  margin-top: 75px;
}
@media screen and (min-width: 768px) {
  .p-service__item:last-child {
    margin-top: 120px;
  }
}

.p-service__item-img {
  position: relative;
  text-align: center;
}

.p-service__item-number {
  position: absolute;
  right: -2px;
  top: -31px;
  width: 110px;
}

.p-service__item-title {
  bottom: 33px;
  left: -15px;
  position: absolute;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-service__item-title {
    left: -32px;
  }
}

.p-service__item-title--inside {
  background: #fff;
  color: #023E78;
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  padding: 6px 0;
}
@media screen and (min-width: 768px) {
  .p-service__item-title--inside {
    font-size: 2.82258vw;
    white-space: nowrap;
  }
}
@media screen and (min-width: 992px) {
  .p-service__item-title--inside {
    font-size: 28px;
  }
}

.p-service__item-title--inside:not(:first-child) {
  margin-top: 8px;
}

.p-service__item-text {
  margin-top: 15px;
}

.p-service__view-more-link {
  margin-top: 36px;
}

.p-widget {
  margin-bottom: 46px;
}
.p-widget:last-child {
  margin-bottom: 0;
}
.p-widget ul {
  font-size: 16px;
  padding: 0 8px;
}
.p-widget li {
  font-size: inherit;
  margin-bottom: 12px;
}
.p-widget li a {
  display: inline-block;
  font-size: inherit;
  text-decoration: none;
}
.p-widget li a:hover {
  opacity: 0.7;
}
.p-widget li ul {
  font-size: 0.85em;
  margin-top: 12px;
}

.p-widget__title {
  background: transparent;
  border-bottom: 1px solid #666;
  color: #1a1a1a;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  padding: 8px 6px;
}

.p-not-found {
  padding: 60px 0;
}
@media screen and (min-width: 768px) {
  .p-not-found {
    padding: 80px 0;
  }
}

.p-not-found__content {
  text-align: center;
}

.p-not-found__title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-not-found__title {
    font-size: 32px;
    margin-bottom: 30px;
  }
}

.p-not-found__text {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 70px;
}
@media screen and (min-width: 768px) {
  .p-not-found__text {
    font-size: 16px;
    margin-bottom: 70px;
  }
}

.p-not-found__button .c-button--primary {
  cursor: pointer;
  font-size: 14px;
  padding: 26px 15px;
  width: 176px;
}

.u-color-white {
  color: #fff;
}

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

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

.u-font-italic {
  font-family: "Fira Sans", sans-serif;
  font-style: italic;
  font-weight: 500;
}

.u-hidden-sp {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
  .u-hidden-sp {
    display: block;
  }
}
@media (min-width: 768px) and (max-width: 1099px) {
  .u-hidden-tab {
    display: none;
  }
}