@charset "UTF-8";
/* ------------------------------
* foundation
------------------------------ */
/* ------------------------------
* headerHeight
------------------------------ */
/* ------------------------------
* font-family
------------------------------ */
/* ------------------------------
* font-weight
------------------------------ */
/* ------------------------------
* font-size
------------------------------ */
/* ------------------------------
* color
------------------------------ */
/* ------------------------------
* メディアクエリ
------------------------------ */
/* ------------------------------
* A Modern CSS Reset
------------------------------ */
*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

blockquote,
body,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
p {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ol,
ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

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

button,
input,
select,
textarea {
  vertical-align: middle;
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: inherit;
}

table {
  border-spacing: 0;
}

img,
picture {
  max-width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

iframe {
  max-width: 100%;
}

/* ------------------------------
* html
------------------------------ */
html {
  font-size: 62.5%;
  visibility: hidden;
}
@media screen and (max-width: 1024px) {
  html {
    font-size: 0.9765625vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 0.9765625vw;
  }
}
@media screen and (max-width: 479px) {
  html {
    font-size: 3.125vw;
  }
}
html.wf-active {
  visibility: visible;
}

/* ------------------------------
* body
------------------------------ */
body {
  width: 100%;
  overflow-x: hidden;
  color: #353535;
  font-family: source-han-sans-japanese, "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

/* ------------------------------
* layout
------------------------------ */
/* ------------------------------
* l-header
------------------------------ */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 10rem;
  padding: 0 0 0 5%;
  z-index: 1;
}
@media screen and (max-width: 479px) {
  .l-header {
    height: 4rem;
  }
}
.js-sticky .l-header {
  background-color: #fff;
}
.l-header__logo img {
  width: 4.9rem;
}
@media screen and (max-width: 479px) {
  .l-header__logo img {
    width: 2.7rem;
  }
}
.l-header__nav {
  margin-left: auto;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.l-header__item a {
  display: inline-block;
  color: #1e1e1e;
  font-size: 1.4rem;
  font-weight: 300;
  background: -webkit-gradient(linear, left top, right top, from(rgba(235, 106, 26, 0.3)), color-stop(50%, rgba(235, 106, 26, 0.3)), color-stop(50%, transparent)) no-repeat;
  background: linear-gradient(to right, rgba(235, 106, 26, 0.3), rgba(235, 106, 26, 0.3) 50%, transparent 50%) no-repeat;
  background-size: 200% 0.4rem;
  background-position: 101% 84%;
  -webkit-transition: 0.5s background ease;
  transition: 0.5s background ease;
}
.l-header__item a:not(.l-header__item--contact):hover {
  background-position: 0% 84%;
}
.l-header__item a span {
  display: inline-block;
}
.l-header__item a span:first-child {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.l-header__item:not(.l-header__item--contact) a:hover span:first-child {
  -webkit-transform: scale(1.7) translate(-23%, -9%);
          transform: scale(1.7) translate(-23%, -9%);
  color: #ff9d00;
}

.l-header__item + .l-header__item {
  margin-left: 3rem;
}
.l-header__item--contact {
  height: 100%;
}
.l-header__item--contact a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 10rem;
  height: 10rem;
  padding-top: 3.5rem;
  background: #070e29 no-repeat;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s -webkit-filter ease;
  transition: 0.5s -webkit-filter ease;
  transition: 0.5s filter ease;
  transition: 0.5s filter ease, 0.5s -webkit-filter ease;
}
.l-header__item--contact a:hover {
  -webkit-filter: brightness(1.7);
          filter: brightness(1.7);
}
.l-header__item--contact a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/header_item_contact.svg) no-repeat;
  background-size: 3rem auto;
  background-position: 50% 31%;
  content: "";
  z-index: 1;
  pointer-events: none;
}
.l-header__item--contact a:hover:before {
  -webkit-animation: plane 0.8s alternate infinite;
          animation: plane 0.8s alternate infinite;
}

@-webkit-keyframes plane {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(7%, -7%);
            transform: translate(7%, -7%);
  }
}

@keyframes plane {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(7%, -7%);
            transform: translate(7%, -7%);
  }
}
/* ------------------------------
* l-main
------------------------------ */
.l-main {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  z-index: 0;
  overflow: hidden;
}
.l-main__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 479px) {
  .l-main__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-main__outer {
  width: 94%;
  max-width: 110rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .l-main__outer {
    width: 86%;
  }
}
@media screen and (max-width: 479px) {
  .l-main__outer {
    width: 84%;
  }
}
.l-main__container {
  width: 86%;
  max-width: 100rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 479px) {
  .l-main__container {
    width: 84%;
  }
}
.l-main__outer .l-main__container {
  width: 96%;
}
.l-main__inner {
  width: 75%;
  max-width: 90rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 479px) {
  .l-main__inner {
    width: 84%;
  }
}
.l-main__outer .l-main__inner, .l-main__container .l-main__inner {
  width: 96%;
}

/* ------------------------------
* l-footer
------------------------------ */
.l-footer {
  background: url(../img/footer_bg.svg) #070e29 no-repeat;
  background-size: auto 86%;
  background-position: 3.7% 0%;
  padding-top: 4.3rem;
}
@media screen and (max-width: 479px) {
  .l-footer {
    background-size: auto 91%;
    padding-top: 3.2rem;
  }
}
.l-footer__logo {
  margin-bottom: 2rem;
}
.l-footer__logo img {
  width: 18.7rem;
  margin: 0 auto;
}
@media screen and (max-width: 479px) {
  .l-footer__logo img {
    width: 16.4rem;
  }
}
.l-footer__nav {
  margin-bottom: 2.1rem;
}
.l-footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 479px) {
  .l-footer__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-footer__item + .l-footer__item {
  margin-left: 3.1rem;
}
@media screen and (max-width: 479px) {
  .l-footer__item + .l-footer__item {
    margin-top: 1.4rem;
    margin-left: 0;
  }
}
.l-footer__item a {
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .l-footer__item a {
    font-size: 1.1rem;
  }
}
.l-footer__item a:hover {
  opacity: 0.7;
}
.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.4rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.l-footer__snsButton {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.l-footer__snsButton:hover {
  opacity: 0.7;
}
.l-footer__snsButton + .l-footer__snsButton {
  margin-left: 2.3rem;
}
.l-footer__snsButton img {
  width: 2.2rem;
}
.l-footer__copy {
  background-color: #010616;
  padding: 0.4rem 0;
  color: #fff;
  font-family: source-serif-pro, serif;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .l-footer__copy {
    font-size: 1rem;
  }
}

/* ------------------------------
* component
------------------------------ */
/*--- c-sns ---*/
.c-sns {
  display: none;
  position: fixed;
  top: 13.5rem;
  right: 3.1%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-sns {
    display: none;
  }
}
.c-sns__btn {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.c-sns__btn:hover {
  opacity: 0.7;
}
.c-sns__btn + .c-sns__btn {
  margin-top: 1.9rem;
}
@media screen and (max-width: 479px) {
  .c-sns__btn + .c-sns__btn {
    margin-top: 1.2rem;
  }
}
.c-sns__btn img {
  width: 2rem;
}
@media screen and (max-width: 479px) {
  .c-sns__btn img {
    width: 1.2rem;
  }
}

/* ------------------------------
* c-btn
------------------------------ */
.c-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-btn a {
  position: relative;
  display: block;
  padding-right: 2.8rem;
  color: #070e29;
  font-size: 1.6rem;
  font-family: source-serif-pro, serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .c-btn a {
    font-size: 1.2rem;
  }
}
.c-btn a:hover {
  color: #fff;
}
.c-btn a:before {
  position: absolute;
  top: calc(50% - 0.85rem);
  right: 0;
  width: 1.7rem;
  height: 1.7rem;
  background: url(../img/c_btn.svg) #070e29 no-repeat;
  background-size: 0.9rem auto;
  background-position: 50% 50%;
  content: "";
  z-index: 1;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.c-btn a:hover:before {
  background-color: #ff9d00;
}

.c-btn a:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #ff9d00;
  content: "View more";
  z-index: 0;
  -webkit-clip-path: inset(0% 0% 100% 0%);
          clip-path: inset(0% 0% 100% 0%);
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.c-btn a:hover:after {
  -webkit-clip-path: inset(0% 0% 0% 0%);
          clip-path: inset(0% 0% 0% 0%);
}

.c-btn__square {
  position: absolute;
  top: calc(50% - 0.85rem);
  right: 0;
  width: 1.7rem;
  height: 1.7rem;
  z-index: 0;
}
.c-btn__square:before, .c-btn__square:after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  opacity: 0.3;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-btn__square:before {
  width: 100%;
  height: 100%;
  background-color: #ff9d00;
  -webkit-transition-delay: 0.13s;
          transition-delay: 0.13s;
}
.c-btn a:hover .c-btn__square:before {
  -webkit-transform: translate(-170%, -170%);
          transform: translate(-170%, -170%);
}
.c-btn__square:after {
  width: 60%;
  height: 60%;
  background-color: #f4bb19;
}
.c-btn a:hover .c-btn__square:after {
  -webkit-transform: translate(120%, 120%);
          transform: translate(120%, 120%);
}

/* ------------------------------
* c-contents
------------------------------ */
.c-contents {
  position: relative;
  z-index: 1;
}
.c-contents:before {
  position: absolute;
  top: -6.9rem;
  width: 25rem;
  height: 25rem;
  content: "";
  z-index: 0;
}
@media screen and (max-width: 479px) {
  .c-contents:before {
    top: -1.7rem;
    width: 7rem;
    height: 7rem;
  }
}
.c-contents--service:before {
  left: 0;
  top: 6.6rem;
  background-color: #f4bb19;
}
.c-contents--works:before {
  right: 0;
  background-color: #f19117;
}
.c-contents--news:before {
  left: 0;
  background-color: #ec6a1a;
}
.c-contents--reason:before {
  left: 0;
  background-color: #f4bb19;
}
.c-contents--training:before {
  right: 0;
  background-color: #f19117;
}
.c-contents--flow:before {
  left: 0;
  background-color: #ec6a1a;
}
.c-contents--achievements:before {
  top: 0;
  left: 0;
  background-color: #ec6a1a;
}
.c-contents--adoptionRate:before {
  right: 0;
  background-color: #f19117;
}
.c-contents--buisinessModel:before {
  left: 0;
  background-color: #f4bb19;
}
.c-contents__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  color: #f2f2f2;
  font-size: 9.5rem;
  font-family: source-serif-pro, serif;
  font-weight: 600;
  letter-spacing: 0.17em;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  z-index: 1;
  white-space: nowrap;
}
@media screen and (max-width: 479px) {
  .c-contents__title {
    font-size: 1.7rem;
  }
}
.c-contents__title--movie {
  top: -2.2rem;
  left: -3.3rem;
}
@media screen and (max-width: 479px) {
  .c-contents__title--movie {
    top: 0rem;
    left: -0.3rem;
  }
}
.c-contents__title--service {
  top: -4.3rem;
  left: -4rem;
}
@media screen and (max-width: 479px) {
  .c-contents__title--service {
    top: 5.5rem;
    left: -0.3rem;
  }
}
.c-contents__title--works {
  top: -46rem;
  right: 0;
}
@media screen and (max-width: 479px) {
  .c-contents__title--works {
    top: -12.5rem;
    right: 0;
  }
}
.c-contents__title--news {
  top: -18.3rem;
  left: -3.3rem;
}
@media screen and (max-width: 479px) {
  .c-contents__title--news {
    top: -3rem;
    left: -0.3rem;
  }
}
.c-contents__title--reason {
  top: -18.3rem;
  left: -4rem;
  color: #fff;
}
@media screen and (max-width: 479px) {
  .c-contents__title--reason {
    top: -3rem;
    left: -0.3rem;
  }
}
.c-contents__title--training {
  top: -18.3rem;
  right: -53rem;
  color: #f6f6f6;
}
@media screen and (max-width: 479px) {
  .c-contents__title--training {
    top: -3rem;
    right: -13.5rem;
  }
}
.c-contents__title--flow {
  top: -18.3rem;
  left: -4rem;
  color: #f6f6f6;
}
@media screen and (max-width: 479px) {
  .c-contents__title--flow {
    top: -3rem;
    left: -0.3rem;
  }
}
.c-contents__title--achievements {
  top: -11.4rem;
  left: -4rem;
  color: #f6f6f6;
}
@media screen and (max-width: 479px) {
  .c-contents__title--achievements {
    top: -1rem;
    left: -0.3rem;
  }
}
.c-contents__title--adoptionRate {
  top: -18.3rem;
  right: -83rem;
  color: #fff;
}
@media screen and (max-width: 479px) {
  .c-contents__title--adoptionRate {
    top: -3rem;
    right: -19.5rem;
  }
}
.c-contents__title--buisinessModel {
  top: -18.3rem;
  left: -4rem;
  color: #f6f6f6;
}
@media screen and (max-width: 479px) {
  .c-contents__title--buisinessModel {
    top: -3rem;
    left: -0.3rem;
  }
}
.c-contents__title--modenaization {
  top: -3.5rem;
  left: -1.6rem;
  font-size: 5rem;
  letter-spacing: 0.17em;
}
@media screen and (max-width: 479px) {
  .c-contents__title--modenaization {
    top: 0rem;
    left: -0.2rem;
    font-size: 1.5rem;
  }
}
.c-contents__title--line {
  width: 14.2rem;
  height: 0.4rem;
  margin-left: 2rem;
  background: url(../img/contents__title_line.svg) no-repeat;
  background-size: 100% auto;
  background-position: 50% 50%;
}
@media screen and (max-width: 479px) {
  .c-contents__title--line {
    width: 7.1rem;
    margin-left: 1rem;
    height: 1px;
  }
}
.c-contents__lead {
  margin-bottom: 1.1rem;
}
@media screen and (max-width: 479px) {
  .c-contents__lead {
    margin-bottom: 1.4rem;
  }
}
.c-contents__lead--left {
  text-align: left;
}
.c-contents__lead--center {
  text-align: center;
}
.c-contents__lead > span {
  position: relative;
  display: inline-block;
  padding-bottom: 0.5rem;
  color: #070e29;
  font-size: 2.8rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 479px) {
  .c-contents__lead > span {
    padding-bottom: 0.3rem;
    font-size: 1.5rem;
  }
}
.c-contents__lead > span.c-contents__lead--contact {
  font-family: source-serif-pro, serif;
  font-weight: 400;
  font-size: 3.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .c-contents__lead > span.c-contents__lead--contact {
    font-size: 1.8rem;
  }
}
.c-contents__lead > span:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 7%;
  min-width: 2.2rem;
  height: 1px;
  background-color: #070e29;
  content: "";
}
.c-contents__lead--sub {
  display: block;
  padding-bottom: 0.6rem;
  margin-top: -0.3rem;
  color: #353535;
  font-family: source-han-sans-japanese, "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.2rem;
  font-weight: 200;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .c-contents__lead--sub {
    padding-bottom: 0.3rem;
    margin-top: -0.4rem;
    font-size: 1rem;
  }
}
.c-contents__sub {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .c-contents__sub {
    font-size: 1.1rem;
  }
}
.c-contents__sub--center {
  text-align: center;
  font-size: 1.6rem;
}
@media screen and (max-width: 479px) {
  .c-contents__sub--center {
    font-size: 1.2rem;
  }
}
.c-contents__text {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 479px) {
  .c-contents__text {
    font-size: 1.1rem;
  }
}
.c-contents__text--mb {
  margin-bottom: 2.6rem;
}
@media screen and (max-width: 479px) {
  .c-contents__text--mb {
    margin-bottom: 1.4rem;
  }
}
.c-contents__text--center {
  text-align: center;
}
.c-contents__text--yellow {
  color: #f19117;
}
.c-contents__text--large {
  font-size: 2rem;
  font-weight: 500;
}
.c-contents__text--extra {
  font-size: 2.7rem;
}
.c-contents__bg {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 24%;
  max-width: 24rem;
  z-index: 0;
  pointer-events: none;
}
.c-contents__bg--topRight {
  top: 0%;
  right: 0;
}
.c-contents__bg--topLeft {
  top: 0%;
  left: 0;
}
.c-contents__bg--bottomRight {
  bottom: 0%;
  right: 0;
}
.c-contents__bg--bottomLeft {
  bottom: 0%;
  left: 0;
}
.c-contents__square {
  width: 14.2857142857%;
  padding-bottom: 14.2857142857%;
  opacity: 0.56;
}
.c-contents__bg--topRight .c-contents__square--1, .c-contents__bg--topRight .c-contents__square--5, .c-contents__bg--topRight .c-contents__square--11, .c-contents__bg--topRight .c-contents__square--14, .c-contents__bg--topRight .c-contents__square--19, .c-contents__bg--topRight .c-contents__square--25, .c-contents__bg--topRight .c-contents__square--27, .c-contents__bg--topRight .c-contents__square--30, .c-contents__bg--topRight .c-contents__square--33, .c-contents__bg--topRight .c-contents__square--40, .c-contents__bg--topRight .c-contents__square--48, .c-contents__bg--topRight .c-contents__square--52 {
  background-color: #ffa300;
}
.c-contents__bg--topRight .c-contents__square--3, .c-contents__bg--topRight .c-contents__square--16, .c-contents__bg--topRight .c-contents__square--18, .c-contents__bg--topRight .c-contents__square--31, .c-contents__bg--topRight .c-contents__square--42 {
  background-color: #ffae2c;
}
.c-contents__bg--topRight .c-contents__square--4, .c-contents__bg--topRight .c-contents__square--10, .c-contents__bg--topRight .c-contents__square--13, .c-contents__bg--topRight .c-contents__square--21, .c-contents__bg--topRight .c-contents__square--26, .c-contents__bg--topRight .c-contents__square--31 {
  background-color: #ffc25f;
}
.c-contents__bg--topRight .c-contents__square--6, .c-contents__bg--topRight .c-contents__square--17, .c-contents__bg--topRight .c-contents__square--20, .c-contents__bg--topRight .c-contents__square--32, .c-contents__bg--topRight .c-contents__square--34 {
  background-color: #ffb600;
}
.c-contents__bg--topRight .c-contents__square--7, .c-contents__bg--topRight .c-contents__square--9, .c-contents__bg--topRight .c-contents__square--24, .c-contents__bg--topRight .c-contents__square--35, .c-contents__bg--topRight .c-contents__square--37, .c-contents__bg--topRight .c-contents__square--39 {
  background-color: #ff9100;
}
.c-contents__bg--topLeft .c-contents__square--3, .c-contents__bg--topLeft .c-contents__square--9, .c-contents__bg--topLeft .c-contents__square--11, .c-contents__bg--topLeft .c-contents__square--17, .c-contents__bg--topLeft .c-contents__square--20, .c-contents__bg--topLeft .c-contents__square--23, .c-contents__bg--topLeft .c-contents__square--31, .c-contents__bg--topLeft .c-contents__square--34, .c-contents__bg--topLeft .c-contents__square--38 {
  background-color: #ffa300;
}
.c-contents__bg--topLeft .c-contents__square--5, .c-contents__bg--topLeft .c-contents__square--8, .c-contents__bg--topLeft .c-contents__square--12, .c-contents__bg--topLeft .c-contents__square--16, .c-contents__bg--topLeft .c-contents__square--19, .c-contents__bg--topLeft .c-contents__square--30, .c-contents__bg--topLeft .c-contents__square--32 {
  background-color: #ffae2c;
}
.c-contents__bg--topLeft .c-contents__square--2, .c-contents__bg--topLeft .c-contents__square--4, .c-contents__bg--topLeft .c-contents__square--13, .c-contents__bg--topLeft .c-contents__square--15, .c-contents__bg--topLeft .c-contents__square--18, .c-contents__bg--topLeft .c-contents__square--24, .c-contents__bg--topLeft .c-contents__square--33, .c-contents__bg--topLeft .c-contents__square--36 {
  background-color: #ffc25f;
}
.c-contents__bg--topLeft .c-contents__square--7, .c-contents__bg--topLeft .c-contents__square--17, .c-contents__bg--topLeft .c-contents__square--20, .c-contents__bg--topLeft .c-contents__square--32, .c-contents__bg--topLeft .c-contents__square--34 {
  background-color: #ffb600;
}
.c-contents__bg--topLeft .c-contents__square--1, .c-contents__bg--topLeft .c-contents__square--26, .c-contents__bg--topLeft .c-contents__square--28, .c-contents__bg--topLeft .c-contents__square--29, .c-contents__bg--topLeft .c-contents__square--39, .c-contents__bg--topLeft .c-contents__square--43 {
  background-color: #ff9100;
}
.c-contents__bg--bottomRight .c-contents__square--13, .c-contents__bg--bottomRight .c-contents__square--25, .c-contents__bg--bottomRight .c-contents__square--27, .c-contents__bg--bottomRight .c-contents__square--37, .c-contents__bg--bottomRight .c-contents__square--40, .c-contents__bg--bottomRight .c-contents__square--49, .c-contents__bg--bottomRight .c-contents__square--50, .c-contents__bg--bottomRight .c-contents__square--54 {
  background-color: #ffa300;
}
.c-contents__bg--bottomRight .c-contents__square--19, .c-contents__bg--bottomRight .c-contents__square--26, .c-contents__bg--bottomRight .c-contents__square--33, .c-contents__bg--bottomRight .c-contents__square--38, .c-contents__bg--bottomRight .c-contents__square--42, .c-contents__bg--bottomRight .c-contents__square--52 {
  background-color: #ffae2c;
}
.c-contents__bg--bottomRight .c-contents__square--18, .c-contents__bg--bottomRight .c-contents__square--21, .c-contents__bg--bottomRight .c-contents__square--31, .c-contents__bg--bottomRight .c-contents__square--34, .c-contents__bg--bottomRight .c-contents__square--39, .c-contents__bg--bottomRight .c-contents__square--42, .c-contents__bg--bottomRight .c-contents__square--45, .c-contents__bg--bottomRight .c-contents__square--48, .c-contents__bg--bottomRight .c-contents__square--53 {
  background-color: #ffc25f;
}
.c-contents__bg--bottomRight .c-contents__square--16, .c-contents__bg--bottomRight .c-contents__square--24, .c-contents__bg--bottomRight .c-contents__square--27, .c-contents__bg--bottomRight .c-contents__square--41 {
  background-color: #ffb600;
}
.c-contents__bg--bottomRight .c-contents__square--28, .c-contents__bg--bottomRight .c-contents__square--32, .c-contents__bg--bottomRight .c-contents__square--44, .c-contents__bg--bottomRight .c-contents__square--46, .c-contents__bg--bottomRight .c-contents__square--56 {
  background-color: #ff9100;
}
.c-contents__bg--bottomLeft .c-contents__square--1, .c-contents__bg--bottomLeft .c-contents__square--5, .c-contents__bg--bottomLeft .c-contents__square--11, .c-contents__bg--bottomLeft .c-contents__square--14, .c-contents__bg--bottomLeft .c-contents__square--19, .c-contents__bg--bottomLeft .c-contents__square--25, .c-contents__bg--bottomLeft .c-contents__square--27, .c-contents__bg--bottomLeft .c-contents__square--30, .c-contents__bg--bottomLeft .c-contents__square--33, .c-contents__bg--bottomLeft .c-contents__square--40, .c-contents__bg--bottomLeft .c-contents__square--48, .c-contents__bg--bottomLeft .c-contents__square--52 {
  background-color: #ffa300;
}
.c-contents__bg--bottomLeft .c-contents__square--3, .c-contents__bg--bottomLeft .c-contents__square--16, .c-contents__bg--bottomLeft .c-contents__square--18, .c-contents__bg--bottomLeft .c-contents__square--31, .c-contents__bg--bottomLeft .c-contents__square--42 {
  background-color: #ffae2c;
}
.c-contents__bg--bottomLeft .c-contents__square--4, .c-contents__bg--bottomLeft .c-contents__square--10, .c-contents__bg--bottomLeft .c-contents__square--13, .c-contents__bg--bottomLeft .c-contents__square--21, .c-contents__bg--bottomLeft .c-contents__square--26, .c-contents__bg--bottomLeft .c-contents__square--31 {
  background-color: #ffc25f;
}
.c-contents__bg--bottomLeft .c-contents__square--6, .c-contents__bg--bottomLeft .c-contents__square--17, .c-contents__bg--bottomLeft .c-contents__square--20, .c-contents__bg--bottomLeft .c-contents__square--32, .c-contents__bg--bottomLeft .c-contents__square--34 {
  background-color: #ffb600;
}
.c-contents__bg--bottomLeft .c-contents__square--7, .c-contents__bg--bottomLeft .c-contents__square--9, .c-contents__bg--bottomLeft .c-contents__square--24, .c-contents__bg--bottomLeft .c-contents__square--35, .c-contents__bg--bottomLeft .c-contents__square--37, .c-contents__bg--bottomLeft .c-contents__square--39 {
  background-color: #ff9100;
}
.c-contents__blocks {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0.25;
  pointer-events: none;
}
.c-contents__block {
  position: absolute;
}
.c-contents__blocks--about .c-contents__block--1 {
  left: 0%;
  top: 17%;
  background-color: #c9c9c9;
  width: 1.6rem;
  height: 1.6rem;
}
.c-contents__blocks--about .c-contents__block--2 {
  left: 2.5%;
  top: 76%;
  background-color: #f19117;
  width: 2.7rem;
  height: 2.7rem;
}
.c-contents__blocks--about .c-contents__block--3 {
  left: 7.5%;
  top: 83%;
  background-color: #f4bb19;
  width: 1.6rem;
  height: 1.6rem;
}
.c-contents__blocks--about .c-contents__block--4 {
  left: 20.2%;
  top: 9%;
  background-color: #f19117;
  width: 0.8rem;
  height: 0.8rem;
}
.c-contents__blocks--about .c-contents__block--5 {
  left: 34.2%;
  top: 0%;
  background-color: #f19117;
  width: 2rem;
  height: 2rem;
}
.c-contents__blocks--about .c-contents__block--6 {
  left: 29.9%;
  top: 95%;
  background-color: #f4bb19;
  width: 0.9rem;
  height: 0.9rem;
}
.c-contents__blocks--about .c-contents__block--7 {
  left: 57%;
  top: 6%;
  background-color: #c9c9c9;
  width: 1.6rem;
  height: 1.6rem;
}
.c-contents__blocks--about .c-contents__block--8 {
  left: 60.5%;
  top: 94%;
  background-color: #c9c9c9;
  width: 1.8rem;
  height: 1.8rem;
}
.c-contents__blocks--about .c-contents__block--9 {
  left: 70.5%;
  top: 1%;
  background-color: #f4bb19;
  width: 1.4rem;
  height: 1.4rem;
}
.c-contents__blocks--about .c-contents__block--10 {
  left: 70%;
  top: 78%;
  background-color: #ffa300;
  width: 0.9rem;
  height: 0.9rem;
}
.c-contents__blocks--about .c-contents__block--11 {
  left: 97.5%;
  top: 97%;
  background-color: #ffa300;
  width: 0.8rem;
  height: 0.8rem;
}
.c-contents__blocks--works .c-contents__block--1 {
  left: 1.2%;
  top: 54%;
  background-color: #c9c9c9;
  width: 3rem;
  height: 3rem;
}
.c-contents__blocks--works .c-contents__block--2 {
  left: 23.5%;
  top: 9%;
  background-color: #f4bb19;
  width: 1.8rem;
  height: 1.8rem;
}
.c-contents__blocks--works .c-contents__block--3 {
  left: 23%;
  top: 92%;
  background-color: #f19117;
  width: 1.6rem;
  height: 1.6rem;
}
.c-contents__blocks--works .c-contents__block--4 {
  left: 28.2%;
  top: 4%;
  background-color: #f19117;
  width: 0.8rem;
  height: 0.8rem;
}
.c-contents__blocks--works .c-contents__block--5 {
  left: 32.7%;
  top: 24%;
  background-color: #f19117;
  width: 1.8rem;
  height: 1.8rem;
}
.c-contents__blocks--works .c-contents__block--6 {
  left: 30.5%;
  top: 96%;
  background-color: #f19117;
  width: 0.6rem;
  height: 0.6rem;
}
.c-contents__blocks--works .c-contents__block--7 {
  left: 56.5%;
  top: 89%;
  background-color: #f4bb19;
  width: 1.8rem;
  height: 1.8rem;
}
.c-contents__blocks--works .c-contents__block--8 {
  left: 70%;
  top: 3%;
  background-color: #f19117;
  width: 1.8rem;
  height: 1.8rem;
}
.c-contents__blocks--works .c-contents__block--9 {
  left: 89.5%;
  top: 56%;
  background-color: #f19117;
  width: 1.8rem;
  height: 1.8rem;
}
.c-contents__blocks--contact .c-contents__block--1 {
  left: 2%;
  top: 12%;
  background-color: #c9c9c9;
  width: 1.2rem;
  height: 1.2rem;
}
.c-contents__blocks--contact .c-contents__block--2 {
  left: 11.5%;
  top: 52%;
  background-color: #f19117;
  width: 1.6rem;
  height: 1.6rem;
}
.c-contents__blocks--contact .c-contents__block--3 {
  left: 28.2%;
  top: 88%;
  background-color: #f4bb19;
  width: 2.2rem;
  height: 2.2rem;
}
.c-contents__blocks--contact .c-contents__block--4 {
  left: 68.5%;
  top: 7%;
  background-color: #f4bb19;
  width: 1.3rem;
  height: 1.3rem;
}
.c-contents__blocks--contact .c-contents__block--5 {
  left: 75.2%;
  top: 60%;
  background-color: #c9c9c9;
  width: 3rem;
  height: 3rem;
}
.c-contents__blocks--contact .c-contents__block--6 {
  left: 79.9%;
  top: 18%;
  background-color: #ec6a1a;
  width: 1.5rem;
  height: 1.5rem;
}

/* ------------------------------
* c-loading
------------------------------ */
.c-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  z-index: 9999;
  pointer-events: none;
}
@media screen and (max-width: 479px) {
  .c-loading {
    height: calc(var(--vh) * 100);
  }
}
.c-loading:before, .c-loading:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}
.c-loading:before {
  background-color: #ffa300;
  z-index: 1;
  -webkit-clip-path: circle(0% at 50% 50%);
          clip-path: circle(0% at 50% 50%);
}
.c-loading:after {
  background-color: #fff;
  z-index: 2;
  -webkit-clip-path: circle(0% at 50% 50%);
          clip-path: circle(0% at 50% 50%);
}
.c-loading__inner {
  position: relative;
  z-index: 0;
}
.c-loading__logo {
  width: 6rem;
}
@media screen and (max-width: 479px) {
  .c-loading__logo {
    width: 3rem;
  }
}
.c-loading__logo img {
  width: 100%;
}
.c-loading__circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 250%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-loading__circle img {
  width: 100%;
}

/* ------------------------------
* c-breadcrumb
------------------------------ */
.c-breadcrumb {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    display: none;
  }
}
.c-breadcrumb__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  color: #757575;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
.c-breadcrumb__inner > span {
  color: #070e29;
  margin-right: 0.3rem;
  font-size: 1.4rem;
}
.c-breadcrumb__inner > span + span {
  margin-left: 0.3rem;
}
.c-breadcrumb__inner > span + span a {
  color: #070e29;
}
.c-breadcrumb__inner > span a {
  color: #757575;
}

/* ------------------------------
* c-hamburger
------------------------------ */
.c-hamburger {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 9.8rem;
  height: 9.8rem;
  padding: 0;
  background-color: #ff9d00;
  z-index: 9998;
  cursor: pointer;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    display: block;
  }
}
@media screen and (max-width: 479px) {
  .c-hamburger {
    width: 4rem;
    height: 4rem;
  }
}
.c-hamburger:focus {
  outline: none;
}
.c-hamburger span {
  display: block;
  position: absolute;
  top: calc(50% - 1px);
  left: 15%;
  width: 70%;
  height: 2px;
  background-color: #fff;
}
.js-open .c-hamburger span {
  background-color: transparent;
}
.c-hamburger span:before, .c-hamburger span:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  content: "";
}
.c-hamburger span:before {
  top: -0.8rem;
}
.js-open .c-hamburger span:before {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.c-hamburger span:after {
  top: 0.8rem;
}
.js-open .c-hamburger span:after {
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/* ------------------------------
* c-modal
------------------------------ */
.c-modal {
  position: fixed;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh) * 100);
  background-color: #fff;
  padding: 15rem 0;
  z-index: 9996;
  overflow-y: auto;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .c-modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-modal:before, .c-modal:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}
.c-modal:before {
  background-color: #ffa300;
  z-index: -2;
  -webkit-clip-path: circle(0% at 50% 50%);
          clip-path: circle(0% at 50% 50%);
}
.c-modal:after {
  background-color: #fff;
  z-index: -1;
  -webkit-clip-path: circle(0% at 50% 50%);
          clip-path: circle(0% at 50% 50%);
}
.c-modal__nav {
  position: relative;
  width: 84%;
  z-index: 3;
}
.c-modal__item {
  position: relative;
  z-index: 0;
  opacity: 0;
}
.c-modal__item + .c-modal__item {
  margin-top: 1.4rem;
}
.c-modal__item:before {
  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;
  position: absolute;
  top: calc(50% - 0.8rem);
  right: 8%;
  width: 1.8rem;
  height: 1.8rem;
  background-color: #070e29;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  content: "→";
  pointer-events: none;
}
.c-modal__item a {
  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;
  width: 100%;
  height: 4.8rem;
  background-color: #f4f4f4;
  color: #2d2d2d;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .c-modal__item a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 479px) {
  .c-modal__item a {
    height: 4rem;
    font-size: 1.1rem;
  }
}
.c-modal__item a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: 1;
}

/* ------------------------------
* c-postNav
------------------------------ */
.c-postNav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 90rem;
  padding-top: 2.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 479px) {
  .c-postNav {
    padding-top: 0.7rem;
  }
}
.c-postNav__btn {
  position: relative;
  max-width: 36%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 479px) {
  .c-postNav__btn {
    max-width: 48%;
  }
}
.c-postNav__btn a {
  display: block;
  color: #848484;
  padding-bottom: 0.9rem;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.c-postNav__btn a:hover {
  color: #ff9d00;
}
@media screen and (max-width: 479px) {
  .c-postNav__btn a {
    padding-bottom: 1.1rem;
    font-size: 1rem;
  }
}
.c-postNav__btn a:before {
  position: absolute;
  top: 100%;
  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;
  width: 1.7rem;
  height: 1.7rem;
  background-color: #070e29;
  color: #fff;
  font-size: 1.1rem;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  z-index: 1;
}
.c-postNav a:hover:before {
  background-color: #ff9d00;
}

@media screen and (max-width: 479px) {
  .c-postNav__btn a:before {
    top: 90%;
    font-size: 1rem;
  }
}
.c-postNav__btn--prev a:before {
  left: 0;
  content: "←";
}

.c-postNav__btn--next a:before {
  right: 0;
  content: "→";
}

.c-postNav__btn a:after {
  position: absolute;
  top: 100%;
  color: #070e29;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.c-postNav a:hover:after {
  color: #ff9d00;
}

@media screen and (max-width: 479px) {
  .c-postNav__btn a:after {
    font-size: 1rem;
  }
}
.c-postNav__btn--prev a:after {
  left: 3rem;
  content: "Prev";
}

.c-postNav__btn--next a:after {
  right: 3rem;
  content: "Next";
}

.c-postNav__btn--prev {
  padding-right: 1em;
  margin-right: auto;
}
.c-postNav__btn--next {
  padding-left: 1em;
  margin-left: auto;
  text-align: right;
}
.c-postNav__all {
  margin-top: 2rem;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .c-postNav__all {
    position: absolute;
    margin: 0;
    top: 93%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.c-postNav__all a {
  background-color: #070e29;
  color: #fff;
  padding: 0.3rem 3.3rem;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}
@media screen and (max-width: 479px) {
  .c-postNav__all a {
    padding: 0.2rem 1.4rem 0.3rem;
    font-size: 1rem;
  }
}
.c-postNav__square {
  position: absolute;
  top: 100%;
  width: 1.7rem;
  height: 1.7rem;
  z-index: 0;
}
@media screen and (max-width: 479px) {
  .c-postNav__square {
    top: 92%;
  }
}
.c-postNav__btn--prev .c-postNav__square {
  left: 0;
}
.c-postNav__btn--next .c-postNav__square {
  right: 0;
}
.c-postNav__square:before, .c-postNav__square:after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  opacity: 0.3;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-postNav__square:before {
  width: 100%;
  height: 100%;
  background-color: #ff9d00;
  -webkit-transition-delay: 0.13s;
          transition-delay: 0.13s;
}
.c-postNav__btn--prev a:hover .c-postNav__square:before {
  -webkit-transform: translate(-170%, -170%);
          transform: translate(-170%, -170%);
}
.c-postNav__btn--next a:hover .c-postNav__square:before {
  -webkit-transform: translate(70%, -170%);
          transform: translate(70%, -170%);
}
.c-postNav__square:after {
  width: 60%;
  height: 60%;
  background-color: #f4bb19;
}
.c-postNav__btn--prev a:hover .c-postNav__square:after {
  -webkit-transform: translate(120%, 120%);
          transform: translate(120%, 120%);
}
.c-postNav__btn--next a:hover .c-postNav__square:after {
  -webkit-transform: translate(-210%, 120%);
          transform: translate(-210%, 120%);
}

/* ------------------------------
* wp-pagenavi
------------------------------ */
.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
.p-news__wrapper .wp-pagenavi {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 479px) {
  .wp-pagenavi {
    margin-top: 2.2rem;
  }
}
.wp-pagenavi .current,
.wp-pagenavi .larger,
.wp-pagenavi .smaller,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  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;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid #070e29;
  color: #070e29;
  margin: 0 0.8rem;
  line-height: 1rem;
  text-align: center;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .wp-pagenavi .current,
  .wp-pagenavi .larger,
  .wp-pagenavi .smaller,
  .wp-pagenavi .nextpostslink,
  .wp-pagenavi .previouspostslink {
    width: 2.6rem;
    height: 2.6rem;
    font-size: 1.2rem;
  }
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  font-size: 1.1rem;
}
.wp-pagenavi .current,
.wp-pagenavi .larger,
.wp-pagenavi .smaller {
  font-size: 1.4rem;
}
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .larger:hover,
.wp-pagenavi .smaller:hover {
  background-color: #283872;
  color: #fff;
}
.wp-pagenavi .current {
  background-color: #070e29;
  color: #fff;
}

/* ------------------------------
* grecaptcha
------------------------------ */
.grecaptcha-badge {
  visibility: hidden;
}

/* ------------------------------
* c-primary
------------------------------ */
.c-primary__head {
  position: relative;
  padding: 13.2rem 0 6.3rem;
}
@media screen and (max-width: 479px) {
  .c-primary__head {
    padding: 5.4rem 0 2.2rem;
  }
}
.c-primary__head--large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
  padding: 0;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 479px) {
  .c-primary__head--large {
    height: calc(var(--vh) * 100);
    margin-bottom: 1rem;
  }
}
.c-primary__title {
  margin-bottom: 1rem;
  color: #070e29;
  font-family: source-serif-pro, serif;
  font-size: 5rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (max-width: 479px) {
  .c-primary__title {
    margin-bottom: 0.3rem;
    font-size: 2.7rem;
  }
}
.c-primary__title--text {
  display: inline-block;
}
.c-primary__title--lowercase {
  font-weight: 500;
  text-transform: lowercase;
}
@media screen and (max-width: 479px) {
  .c-primary__title--lowercase {
    margin-bottom: 1.8rem;
    font-size: 2rem;
  }
}
.c-primary__sub {
  color: #898989;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .c-primary__sub {
    font-size: 1.2rem;
  }
}
.c-primary__sub--black {
  color: #000;
}
.c-primary__catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 479px) {
  .c-primary__catch {
    margin-bottom: 2.2rem;
  }
}
.c-primary__catch--en {
  display: block;
  margin-bottom: 0.5rem;
  color: #efefef;
  font-family: source-serif-pro, serif;
  font-size: 7.6rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .c-primary__catch--en {
    font-size: 3rem;
  }
}
.c-primary__catch--jp {
  position: relative;
  display: block;
  padding-bottom: 2rem;
  color: #070e29;
  font-size: 2.8rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .c-primary__catch--jp {
    padding-bottom: 0.6rem;
    font-size: 1.6rem;
  }
}
.c-primary__catch--jp:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 7%;
  min-width: 2.2rem;
  height: 0.2rem;
  background-color: #070e29;
  content: "";
}
@media screen and (max-width: 479px) {
  .c-primary__catch--jp:before {
    height: 1px;
  }
}
.c-primary__lead {
  margin-bottom: 3rem;
  color: #070e29;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .c-primary__lead {
    margin-bottom: 1.4rem;
    font-size: 1.8rem;
  }
}
.c-primary__lead--center {
  text-align: center;
}
.c-primary__description {
  font-size: 1.6rem;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .c-primary__description {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 479px) {
  .c-primary__description--small {
    font-size: 1.1rem;
    line-height: 1.95;
  }
}
.c-primary__text {
  font-size: 1.4rem;
  line-height: 1.95;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .c-primary__text {
    font-size: 1.1rem;
  }
}
.c-primary__text--mb {
  margin-bottom: 2.7rem;
}
@media screen and (max-width: 479px) {
  .c-primary__text--mb {
    margin-bottom: 1.4rem;
  }
}
.c-primary__text--center {
  text-align: center;
}
.c-primary__text--yellow {
  color: #f19117;
}
.c-primary__bgBox {
  position: absolute;
}
.c-primary__bgBox--1 {
  top: -14%;
  left: 3%;
  width: 7rem;
  height: 7rem;
  opacity: 0.3;
  z-index: 1;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--1 {
    top: -2.6%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--2 {
  top: 16%;
  left: 86%;
  width: 8rem;
  height: 8rem;
  opacity: 0.15;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--2 {
    top: 22%;
    left: 82%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--3 {
  top: 18%;
  left: 90.6%;
  width: 7rem;
  height: 7rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--3 {
    top: 8.3%;
    left: 86.3%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--4 {
  bottom: -6%;
  left: 4%;
  width: 7.7rem;
  height: 7.7rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--4 {
    bottom: -2%;
    left: 3%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--5 {
  top: 17%;
  left: 89.3%;
  width: 9.1rem;
  height: 9.1rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--5 {
    top: 7.3%;
    left: 86.3%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--6 {
  bottom: -2%;
  left: 1.8%;
  width: 9.1rem;
  height: 9.1rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--6 {
    bottom: -2%;
    left: 3%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--7 {
  top: -2%;
  left: 90.6%;
  width: 7rem;
  height: 7rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--7 {
    top: 8.3%;
    left: 86.3%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--8 {
  top: 10%;
  left: 90.6%;
  width: 7rem;
  height: 7rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--8 {
    top: 8.3%;
    left: 86.3%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--9 {
  top: 79%;
  left: 90.6%;
  width: 7rem;
  height: 7rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--9 {
    top: 65.6%;
    left: 86.3%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--10 {
  top: 48%;
  left: 8%;
  width: 7rem;
  height: 7rem;
  opacity: 0.3;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--10 {
    top: 48%;
    left: 8%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgBox--11 {
  top: -5%;
  left: 3%;
  width: 7rem;
  height: 7rem;
  opacity: 0.3;
  z-index: 1;
}
@media screen and (max-width: 479px) {
  .c-primary__bgBox--11 {
    top: -2.6%;
    width: 3rem;
    height: 3rem;
  }
}
.c-primary__bgItem {
  display: block;
  position: absolute;
  border-width: 0.2rem;
  border-style: solid;
}
.c-primary__bgItem--orange {
  border-color: #ec6a1a;
}
.c-primary__bgItem--dark {
  border-color: #ff8e06;
}
.c-primary__bgItem--yellow {
  border-color: #f4bb19;
}
.c-primary__bgItem--main {
  position: relative;
  width: 100%;
  height: 100%;
}
.c-primary__bgItem--1 {
  width: 65.8%;
  height: 65.8%;
  top: 67%;
  left: 67%;
}
.c-primary__bgItem--2 {
  width: 38.6%;
  height: 38.6%;
  top: -46%;
  left: 114%;
}
.c-primary__bgItem--3 {
  width: 75%;
  height: 75%;
  top: -44%;
  left: 75%;
}
.c-primary__bgItem--4 {
  width: 37.5%;
  height: 37.5%;
  top: 118%;
  left: 118%;
}
.c-primary__bgItem--5 {
  width: 65.8%;
  height: 65.8%;
  top: 66%;
  left: 66%;
}
.c-primary__bgItem--6 {
  width: 38.6%;
  height: 38.6%;
  top: -45%;
  left: 111%;
}
.c-primary__bgItem--7 {
  width: 61%;
  height: 61%;
  top: -28%;
  left: -28%;
}
.c-primary__bgItem--8 {
  width: 51.7%;
  height: 51.7%;
  top: 69%;
  left: 69%;
}
.c-primary__bgItem--9 {
  width: 66%;
  height: 66%;
  top: 57%;
  left: 57%;
}
.c-primary__bgItem--10 {
  width: 29.7%;
  height: 29.7%;
  top: 12%;
  left: 117%;
}
.c-primary__bgItem--11 {
  width: 37.5%;
  height: 37.5%;
  top: 118%;
  left: -56%;
}

/* ------------------------------
* project
------------------------------ */
/* ------------------------------
* p-about
------------------------------ */
.p-about {
  margin-bottom: 12.4rem;
}
@media screen and (max-width: 479px) {
  .p-about {
    margin-bottom: 4rem;
  }
}
.p-about__container {
  margin-bottom: 4.6rem;
}
@media screen and (max-width: 479px) {
  .p-about__container {
    margin-bottom: 4rem;
  }
}
.p-about__title {
  color: #000;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-about__title {
    margin-bottom: 0.7rem;
    font-size: 1.8rem;
  }
}
.p-about__sub {
  color: #000;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-about__sub {
    font-size: 1.2rem;
  }
}
.p-about__sub--yellow {
  color: #ff9d00;
}
.p-about__block {
  position: relative;
  padding: 5rem 0 4.8rem;
}
@media screen and (max-width: 479px) {
  .p-about__block {
    padding: 4rem 0 4rem;
  }
}
.p-about__block--first {
  background-color: #d8d8d8;
}
.p-about__block--second {
  background-color: #eaeaea;
  padding: 0;
}
@media screen and (max-width: 479px) {
  .p-about__block--second {
    padding: 0;
    overflow: hidden;
  }
}
.p-about__label {
  display: inline-block;
  background-color: #070e29;
  padding: 1.7rem 3.4rem;
  margin-left: 50%;
  margin-bottom: 2.9rem;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 479px) {
  .p-about__label {
    width: 100%;
    padding: 1.2rem 1rem;
    margin-bottom: 2.2rem;
    font-size: 1.4rem;
    text-align: center;
  }
}
.p-about__description {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-about__description {
    font-size: 1.2rem;
  }
}
.p-about__description--yellow {
  color: #ff9d00;
  font-weight: 400;
}
.p-about__left {
  position: relative;
  width: 60rem;
  z-index: 1;
}
@media screen and (max-width: 479px) {
  .p-about__left {
    width: 100%;
  }
}
.p-about__box {
  max-width: 45.6rem;
  background-color: #fff;
  padding: 3.6rem 2rem 2.4rem 9.5%;
  margin-top: 0.8rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 479px) {
  .p-about__box {
    padding: 2.2rem 5%;
    margin-top: 0;
    margin-bottom: 1.4rem;
  }
}
.p-about__point {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 479px) {
  .p-about__point {
    margin-bottom: 1rem;
  }
}
.p-about__parts {
  position: relative;
  padding-left: 1.3rem;
  font-size: 1.4rem;
}
@media screen and (max-width: 479px) {
  .p-about__parts {
    padding-left: 1.1rem;
    font-size: 1.1rem;
    line-height: 1.8;
  }
}
.p-about__parts + .p-about__parts {
  margin-top: 0.4rem;
}
.p-about__parts:before {
  position: absolute;
  top: 1rem;
  left: 0;
  width: 0.4rem;
  height: 0.4rem;
  background-color: #000;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-about__parts:before {
    top: 0.9rem;
    width: 0.3rem;
    height: 0.3rem;
  }
}
.p-about__before {
  margin-bottom: 2rem;
  font-size: 1.4rem;
}
@media screen and (max-width: 479px) {
  .p-about__before {
    margin-bottom: 1.4rem;
    font-size: 1.1rem;
    line-height: 1.8;
  }
}
.p-about__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 12%;
  margin-bottom: 2.2rem;
  counter-reset: number;
}
@media screen and (max-width: 479px) {
  .p-about__group {
    padding-right: 0%;
    margin-bottom: 1.4rem;
  }
}
.p-about__summary {
  padding: 0 2rem 5rem;
  color: #ff9d00;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  background-repeat: no-repeat;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-about__summary {
    width: 33.3333333333%;
    padding: 0 1rem 4.5rem;
    font-size: 1.1rem;
    text-align: center;
  }
}
.p-about__summary--1 {
  background-image: url(../img/about_summary_1.svg);
  background-size: 5.7rem auto;
  background-position: 50% 3.3rem;
}
@media screen and (max-width: 479px) {
  .p-about__summary--1 {
    background-size: 3.4rem auto;
    background-position: 50% 3.2rem;
  }
}
.p-about__summary--2 {
  background-image: url(../img/about_summary_2.svg);
  background-size: 3.9rem auto;
  background-position: 50% 3.3rem;
}
@media screen and (max-width: 479px) {
  .p-about__summary--2 {
    background-size: 2.2rem auto;
    background-position: 50% 3.1rem;
  }
}
.p-about__summary--3 {
  background-image: url(../img/about_summary_3.svg);
  background-size: 6.3rem auto;
  background-position: 50% 3.4rem;
}
@media screen and (max-width: 479px) {
  .p-about__summary--3 {
    background-size: 3.8rem auto;
    background-position: 50% 3.3rem;
  }
}
.p-about__summary:before {
  counter-increment: number;
  content: counter(number) ".";
}
.p-about__after {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-about__after {
    font-size: 1.1rem;
    line-height: 1.8;
  }
}
.p-about__after--yellow {
  color: #ff9d00;
  font-weight: 400;
}
.p-about__text {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-about__text {
    font-size: 1.2rem;
  }
}
.p-about__text + .p-about__text {
  margin-top: 3rem;
}
@media screen and (max-width: 479px) {
  .p-about__text + .p-about__text {
    margin-top: 1.4rem;
  }
}
.p-about__text--yellow {
  color: #ff9d00;
  font-weight: 400;
}
.p-about__note {
  display: inline-block;
  background-color: #ff9d00;
  padding: 1.3rem 2.8rem;
  margin: 5.5rem 0 2rem;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 479px) {
  .p-about__note {
    display: block;
    padding: 0.7rem 0;
    margin: 2.2rem 0;
    font-size: 1.6rem;
    line-height: 2;
    white-space: nowrap;
    text-align: center;
  }
}
.p-about__note span {
  display: inline-block;
  position: relative;
}
.p-about__note span:before {
  position: absolute;
  top: -0.7rem;
  left: calc(50% - 0.2rem);
  width: 0.4rem;
  height: 0.4rem;
  background-color: #fff;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-about__note span:before {
    top: -0.1rem;
    width: 0.3rem;
    height: 0.3rem;
  }
}
.p-about__blockInner {
  position: relative;
  background-color: #eaeaea;
  padding: 5rem 0 6.8rem;
}
@media screen and (max-width: 479px) {
  .p-about__blockInner {
    padding: 4rem 0;
    padding-bottom: 22.8rem;
  }
}
.p-about__bg {
  position: absolute;
  bottom: 0;
  left: calc(50% + 4rem);
  left: 52.8%;
  width: 56.2rem;
  width: 56.2%;
  z-index: 0;
}
@media screen and (max-width: 479px) {
  .p-about__bg {
    bottom: -3.6rem;
    left: 40%;
    width: 70%;
  }
}
.p-about__bgBox {
  position: absolute;
  bottom: 87%;
  left: 11.6%;
  width: 77%;
  overflow: hidden;
  z-index: 1;
}
.p-about__bgItem {
  position: absolute;
}
.p-about__bgItem img {
  width: 100%;
}
.p-about__bgItem--item1 {
  position: relative;
  width: 100%;
  z-index: 2;
}
.p-about__bgItem--item2 {
  top: 48%;
  left: -4%;
  width: 28.4%;
  z-index: 2;
}
.p-about__bgItem--item3 {
  top: 68.5%;
  left: 1%;
  width: 36.28%;
  z-index: 2;
}
.p-about__bgItem--item4 {
  top: 44%;
  left: 72.9%;
  width: 30.04%;
  z-index: 1;
}
.p-about__bgItem--item5 {
  top: 33%;
  left: 52.7%;
  width: 13.86%;
  z-index: 2;
}
.p-about__bgItem--item6 {
  top: 39%;
  left: 20.7%;
  width: 4.85%;
  z-index: 2;
}
.p-about__bgItem--item7 {
  top: 46%;
  left: 31%;
  width: 11.79%;
  z-index: 2;
}
.p-about__bgItem--item8 {
  top: 48%;
  left: 56.7%;
  width: 11.33%;
  z-index: 2;
}
.p-about__bgItem--item9 {
  top: 56%;
  left: 46.3%;
  width: 6.48%;
  z-index: 2;
}
.p-about__bgItem--item10 {
  position: relative;
  width: 100%;
}
.p-about__bgItem--item11 {
  top: 70%;
  left: 71%;
  width: 17.8%;
  z-index: 2;
}
.p-about__bgItem--item12 {
  top: 39%;
  left: 25%;
  width: 59.6%;
  z-index: 1;
}
.p-about__wrapper {
  position: relative;
  padding-top: 11.2rem;
}
@media screen and (max-width: 479px) {
  .p-about__wrapper {
    padding-top: 4rem;
  }
}
.p-about__catch {
  color: #000;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-about__catch {
    font-size: 1.8rem;
  }
}
.p-about__list {
  padding-top: 10.9rem;
}
@media screen and (max-width: 479px) {
  .p-about__list {
    padding-top: 2.2rem;
  }
}
.p-about__item {
  position: relative;
}
.p-about__item + .p-about__item {
  margin-top: 10rem;
}
@media screen and (max-width: 479px) {
  .p-about__item + .p-about__item {
    margin-top: 3.1rem;
  }
}
.p-about__itemBox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 7.2rem;
  border-bottom: 1px solid #e5e5e5;
}
@media screen and (max-width: 479px) {
  .p-about__itemBox {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    padding-bottom: 2.2rem;
  }
}
.p-about__item:nth-child(2n+1) .p-about__itemBox {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-about__item:last-child .p-about__itemBox {
  padding-bottom: 2.2rem;
  border: none;
}
@media screen and (max-width: 479px) {
  .p-about__item:last-child .p-about__itemBox {
    padding-bottom: 1.4rem;
  }
}
.p-about__itemBox:before, .p-about__itemBox:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #e5e5e5;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-about__itemBox:before, .p-about__itemBox:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-about__item:last-child .p-about__itemBox:before, .p-about__item:last-child .p-about__itemBox:after {
  display: none;
}
.p-about__itemBox:before {
  left: -0.3rem;
}
.p-about__itemBox:after {
  right: -0.3rem;
}
.p-about__itemBg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.p-about__item:nth-child(1) .p-about__itemBg {
  left: -5%;
  background: url(../img/about_bg_01.svg) no-repeat;
  background-size: 26.6rem auto;
  background-position: 0% 95%;
}
@media screen and (max-width: 479px) {
  .p-about__item:nth-child(1) .p-about__itemBg {
    background-position: 0% 99%;
    background-size: 13rem auto;
  }
}
.p-about__item:nth-child(2) .p-about__itemBg {
  left: 5%;
  background: url(../img/about_bg_02.svg) no-repeat;
  background-size: 17.1rem auto;
  background-position: 100% 73%;
}
@media screen and (max-width: 479px) {
  .p-about__item:nth-child(2) .p-about__itemBg {
    background-size: 8.6rem auto;
  }
}
.p-about__item:nth-child(3) .p-about__itemBg {
  left: -5%;
  background: url(../img/about_bg_03.svg) no-repeat;
  background-size: 28.2rem auto;
  background-position: 0% 100%;
}
@media screen and (max-width: 479px) {
  .p-about__item:nth-child(3) .p-about__itemBg {
    background-size: 14rem auto;
  }
}
.p-about__thumb {
  width: 40%;
}
@media screen and (max-width: 479px) {
  .p-about__thumb {
    width: 100%;
    margin-bottom: 1.4rem;
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.p-about__item:nth-child(2n+1) .p-about__thumb {
  -webkit-transform: translateX(5rem);
          transform: translateX(5rem);
}
@media screen and (max-width: 1024px) {
  .p-about__item:nth-child(2n+1) .p-about__thumb {
    -webkit-transform: translateX(2rem);
            transform: translateX(2rem);
  }
}
.p-about__item:nth-child(2) .p-about__thumb {
  -webkit-transform: translateX(-5rem);
          transform: translateX(-5rem);
}
@media screen and (max-width: 1024px) {
  .p-about__item:nth-child(2) .p-about__thumb {
    -webkit-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
}
.p-about__area {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 479px) {
  .p-about__area {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.p-about__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: -0.5rem;
  margin-bottom: 3.3rem;
}
@media screen and (max-width: 479px) {
  .p-about__flex {
    margin-top: 0;
    margin-bottom: 1.4rem;
  }
}
.p-about__icon {
  width: 7rem;
  margin-right: 2rem;
}
@media screen and (max-width: 479px) {
  .p-about__icon {
    width: 3.5rem;
    margin-right: 1rem;
  }
}
.p-about__icon img {
  width: 100%;
}
.p-about__head {
  margin-top: -0.4rem;
}
.p-about__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 0.7rem;
}
@media screen and (max-width: 479px) {
  .p-about__heading {
    margin-bottom: 0.4rem;
  }
}
.p-about__modenaization {
  margin-right: 1rem;
  color: #777;
  font-family: source-serif-pro, serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 479px) {
  .p-about__modenaization {
    margin-right: 0.4rem;
    font-size: 1.1rem;
  }
}
.p-about__number {
  color: #777;
  font-family: source-serif-pro, serif;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 479px) {
  .p-about__number {
    font-size: 1.6rem;
  }
}
.p-about__item:nth-child(1) .p-about__number--yellow {
  color: #f4bb19;
}
.p-about__item:nth-child(2) .p-about__number--yellow {
  color: #f19117;
}
.p-about__item:nth-child(3) .p-about__number--yellow {
  color: #ec6a1a;
}
.p-about__name {
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-about__name {
    font-size: 1.6rem;
  }
}
.p-about__inner {
  position: relative;
  margin-top: 5rem;
}
@media screen and (max-width: 479px) {
  .p-about__inner {
    margin-top: 3rem;
  }
}
.p-about__inner--first {
  background-color: #eaeaea;
}
.p-about__inner--first:before {
  position: absolute;
  bottom: -9.2rem;
  left: calc(50% - 4.6rem);
  border: 4.6rem solid transparent;
  border-top: 4.6rem solid #f4f4f4;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-about__inner--first:before {
    bottom: -4.5rem;
    left: calc(50% - 2.3rem);
    border: 2.3rem solid transparent;
    border-top: 2.3rem solid #f4f4f4;
  }
}
.p-about__innerBlock {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 7rem;
  padding-bottom: 4.4rem;
}
@media screen and (max-width: 479px) {
  .p-about__innerBlock {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 4rem;
    padding-bottom: 13.4rem;
  }
}
@media screen and (max-width: 479px) {
  .p-about__inner--second .p-about__innerBlock {
    padding-top: 0;
    padding-bottom: 1.4rem;
  }
}
.p-about__video {
  position: absolute;
  top: 0;
  right: -5.2%;
  width: 26.3rem;
  height: 100%;
}
@media screen and (max-width: 479px) {
  .p-about__video {
    right: -14.2%;
    width: 11rem;
  }
}
.p-about__video--main {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.p-about__video--bg {
  position: absolute;
  right: 84.4%;
  top: 0%;
  width: auto;
  height: 100%;
  max-width: none;
}
@media screen and (max-width: 479px) {
  .p-about__video--bg {
    top: auto;
    bottom: 0;
    right: 85.9%;
    width: 252vw;
    height: auto;
  }
}
.p-about__picture {
  width: 24.6rem;
}
@media screen and (max-width: 479px) {
  .p-about__picture {
    width: 11rem;
    margin-bottom: 2rem;
  }
}
.p-about__picture img {
  width: 100%;
}
.p-about__details {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 65rem;
  width: calc(100% - 31rem);
  z-index: 1;
}
@media screen and (max-width: 479px) {
  .p-about__details {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.p-about__inner--second .p-about__details {
  margin-left: 5%;
}
@media screen and (max-width: 479px) {
  .p-about__inner--second .p-about__details {
    margin-left: 0;
  }
}
.p-about__lead {
  display: inline-block;
  padding: 0.6rem 1.3rem;
  margin: 1.4rem 0 1.7rem;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-about__lead {
    display: block;
    padding: 0.6rem 0.8rem;
    margin: 2.2rem 0;
    font-size: 1.3rem;
    text-align: center;
  }
}
.p-about__lead--first {
  background-color: #fff;
}
.p-about__lead--second {
  background-color: #f4f4f4;
}
.p-about__lead--yellow {
  color: #ff9d00;
}
.p-about__last {
  background-color: #ff9d00;
  padding: 1rem 1rem;
  margin-top: -2.8rem;
  margin-right: auto;
  margin-left: auto;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-about__last {
    padding: 1rem 0.5rem 1.2rem;
    margin-top: -0.6rem;
    font-size: 1.3rem;
  }
}

/* ------------------------------
* p-company
------------------------------ */
.p-company {
  padding-top: 1rem;
  margin-bottom: 12.5rem;
}
@media screen and (max-width: 479px) {
  .p-company {
    padding-top: 0;
    margin-bottom: 4rem;
  }
}
.p-company__block {
  position: relative;
  margin-bottom: 9.1rem;
}
@media screen and (max-width: 479px) {
  .p-company__block {
    margin-bottom: 4rem;
  }
}
.p-company__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #fcfcfc;
  padding: 4.2rem 4.5% 3.3rem;
  margin-top: 4.4rem;
}
@media screen and (max-width: 479px) {
  .p-company__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.2rem 5%;
    margin-top: 0;
  }
}
.p-company__thumb {
  position: relative;
  width: 31.7rem;
  margin-right: 5.8rem;
}
@media screen and (max-width: 479px) {
  .p-company__thumb {
    width: 55%;
    margin: 0 auto 2.1rem;
  }
}
.p-company__thumb:before {
  position: absolute;
  top: 1.7rem;
  left: 4.9%;
  width: 100%;
  height: 100%;
  border: 0.2rem solid #efefef;
  content: "";
  z-index: 0;
}
@media screen and (max-width: 479px) {
  .p-company__thumb:before {
    top: 1rem;
    left: 1rem;
    border-width: 1px;
  }
}
.p-company__thumb img {
  position: relative;
  width: 100%;
  z-index: 1;
}
.p-company__box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 479px) {
  .p-company__box {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.p-company__sub {
  margin-bottom: 0.6rem;
  color: #2d2d2d;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-company__sub {
    font-size: 1.2rem;
    text-align: center;
  }
}
.p-company__label {
  display: inline-block;
  background-color: #070e29;
  padding: 0.6rem 1rem;
  margin-bottom: 0.2rem;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 479px) {
  .p-company__label {
    padding: 0.3rem 1rem 0.4rem;
    margin-left: 50%;
    font-size: 1.2rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    white-space: nowrap;
  }
}
.p-company__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1024px) {
  .p-company__name {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 479px) {
  .p-company__name {
    margin-bottom: 2.2rem;
  }
}
.p-company__name--jp {
  display: inline-block;
  margin-right: 1.3rem;
  color: #2d2d2d;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2.6rem;
  font-weight: 300;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 479px) {
  .p-company__name--jp {
    margin-right: 0;
    font-size: 1.8rem;
  }
}
.p-company__name--en {
  color: #c9c9c9;
  font-family: source-serif-pro, serif;
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0.29em;
}
@media screen and (max-width: 479px) {
  .p-company__name--en {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1024px) {
  .p-company__name--en {
    margin-top: -0.4rem;
  }
}
.p-company__table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 90rem;
  padding-top: 0.6rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 479px) {
  .p-company__table {
    padding-top: 0;
  }
}
.p-company__dt {
  width: 43%;
  border-bottom: 1px solid #e8e8e8;
  padding: 3.7rem 5% 0.6rem 14.4%;
  color: #2d2d2d;
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 479px) {
  .p-company__dt {
    width: 100%;
    border-bottom: none;
    padding: 0;
    margin-bottom: 0.3rem;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 479px) {
  .p-company__dd + .p-company__dt {
    margin-top: 1.2rem;
  }
}
.p-company__dd {
  width: 57%;
  border-bottom: 1px solid #e8e8e8;
  padding: 3.7rem 5% 0.6rem 0.9%;
  color: #2d2d2d;
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-company__dd {
    width: 100%;
    padding: 0 0 1rem;
    font-size: 1.1rem;
  }
}

/* ------------------------------
* p-contact
------------------------------ */
.p-contact__container {
  background-color: #fcfcfc;
  padding: 5.2rem 3% 3rem;
  margin-top: 3rem;
  margin-bottom: 12.5rem;
}
@media screen and (max-width: 479px) {
  .p-contact__container {
    padding: 2.2rem 5%;
    margin-top: 2rem;
    margin-bottom: 4rem;
  }
}
.p-contact__sub {
  margin-bottom: 5rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-contact__sub {
    margin-bottom: 2.3rem;
    font-size: 1.2rem;
  }
}
.p-contact__wrapper {
  max-width: 60rem;
  margin-right: auto;
  margin-left: auto;
}
.p-contact__table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 5.3rem;
}
@media screen and (max-width: 479px) {
  .p-contact__table {
    margin-bottom: 2.2rem;
  }
}
.p-contact__dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-item-align: center;
      align-self: center;
  width: 41.5%;
  padding: 1.8rem 0;
  font-size: 1.5rem;
  font-weight: 300;
}
@media screen and (max-width: 479px) {
  .p-contact__dt {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    padding: 0;
    margin-bottom: 0.7rem;
    font-size: 1.1rem;
  }
}
.p-contact__dt:last-of-type {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media screen and (max-width: 479px) {
  .p-contact__dd + .p-contact__dt {
    margin-top: 1.2rem;
  }
}
.p-contact__name {
  letter-spacing: 0.1em;
}
.p-contact__dd {
  width: 58.5%;
  padding: 1.8rem 0;
  font-size: 1.5rem;
  font-weight: 300;
}
@media screen and (max-width: 479px) {
  .p-contact__dd {
    width: 100%;
    padding: 0 0 1rem;
    font-size: 1.1rem;
  }
}
.p-contact__dd input,
.p-contact__dd textarea {
  width: 100%;
  padding: 0.7rem 1rem;
  background-color: #efefef;
  font-size: 1.5rem;
}
.p-contact__dd input {
  max-width: 29rem;
}
.p-contact__dd textarea {
  height: 13rem;
}
.p-contact__dd .your-select {
  position: relative;
  display: block;
  max-width: 19rem;
}
@media screen and (max-width: 479px) {
  .p-contact__dd .your-select {
    max-width: 100%;
  }
}
.p-contact__dd .your-select:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/select.svg) no-repeat;
  background-size: 1.7rem auto;
  background-position: 92% 50%;
  content: "";
  z-index: 1;
  pointer-events: none;
}
.p-contact__dd select {
  width: 100%;
  border: 1px solid #777777;
  padding: 0.3rem 1rem;
  font-size: 1.5rem;
}
@media screen and (max-width: 479px) {
  .p-contact__dd select {
    padding: 0.6rem 1rem;
  }
}
.p-contact__required {
  background-color: #070e29;
  color: #fff;
  margin-top: 0.4rem;
  margin-right: 24%;
  padding: 0.2rem 0.9rem;
  font-size: 1rem;
  line-height: 1;
}
@media screen and (max-width: 479px) {
  .p-contact__required {
    padding: 0.2rem 0.9rem 0.3rem;
    margin-top: 0.2rem;
    margin-right: 0;
    margin-left: 1rem;
  }
}
.p-contact__btn {
  margin-bottom: 3rem;
}
@media screen and (max-width: 479px) {
  .p-contact__btn {
    margin-bottom: 2.2rem;
  }
}
.p-contact__btn--text {
  display: block;
  position: relative;
  max-width: 25rem;
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.p-contact__btn--text:hover {
  opacity: 0.75;
}
.p-contact__btn--text:before {
  position: absolute;
  top: calc(50% - 1.2rem);
  right: 5.5%;
  width: 2.7rem;
  height: 2.7rem;
  background: url(../img/contact_btn.svg) no-repeat #fff;
  background-size: 1.3rem auto;
  background-position: 50% 50%;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-contact__btn--text:before {
    top: calc(50% - 0.9rem);
    width: 2rem;
    height: 2rem;
    background-size: 1rem auto;
  }
}
.p-contact__btn--text input {
  display: block;
  width: 100%;
  padding: 0.7rem 1rem;
  background-color: #ff9d00;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  cursor: pointer;
}
@media screen and (max-width: 479px) {
  .p-contact__btn--text input {
    padding: 0.7rem 1rem;
    font-size: 1.3rem;
  }
}
.p-contact__recaptcha {
  font-size: 1rem;
  text-align: right;
}
@media screen and (max-width: 479px) {
  .p-contact__recaptcha {
    -webkit-transform: scale(0.8) translateX(10%);
            transform: scale(0.8) translateX(10%);
  }
}

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

/* ------------------------------
* screen-reader-response
------------------------------ */
.screen-reader-response {
  display: none !important;
}

/* ------------------------------
* wpcf7-not-valid-tip
------------------------------ */
.wpcf7-not-valid-tip {
  display: block;
  color: #d40d3a !important;
  margin: 0.7rem 0;
  font-size: 1.4rem !important;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .wpcf7-not-valid-tip {
    font-size: 1rem !important;
  }
}

/* ------------------------------
* wpcf7-response-output
------------------------------ */
.wpcf7-response-output {
  display: block;
  border: none !important;
  color: #d40d3a;
  margin: 1.5rem 0;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .wpcf7-response-output {
    font-size: 1rem;
  }
}

/* ------------------------------
* .wpcf7 .ajax-loader
------------------------------ */
.wpcf7 .ajax-loader {
  display: none !important;
}

/* ------------------------------
* p-assessment
------------------------------ */
.p-assessment__container {
  background-color: #fcfcfc;
  padding: 5.2rem 3% 3rem;
  margin-top: 3rem;
  margin-bottom: 12.5rem;
}
@media screen and (max-width: 479px) {
  .p-assessment__container {
    padding: 2.2rem 5%;
    margin-top: 2rem;
    margin-bottom: 4rem;
  }
}
.p-assessment__sub {
  margin-bottom: 5rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-assessment__sub {
    margin-bottom: 2.3rem;
    font-size: 1.2rem;
  }
}
.p-assessment__txt {
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 3rem;
}
.p-assessment__wrapper {
  width: 56%;
  max-width: 65rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 479px) {
  .p-assessment__wrapper {
    width: 100%;
  }
}
.p-assessment__table {
  width: 100%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 5.3rem;
}
@media screen and (max-width: 479px) {
  .p-assessment__table {
    margin-bottom: 2.2rem;
  }
}
.p-assessment__dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 1.2rem 0;
  font-size: 1.5rem;
  font-weight: 300;
}
@media screen and (max-width: 479px) {
  .p-assessment__dt {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    padding: 0;
    margin-bottom: 2rem;
    font-size: 1.1rem;
  }
}
.p-assessment__dt:last-of-type {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media screen and (max-width: 479px) {
  .p-assessment__dd + .p-assessment__dt {
    margin-top: 1.2rem;
  }
}
.p-assessment__name {
  letter-spacing: 0.1em;
}
.p-assessment__name:has(+ .p-assessment__required) {
  width: 85%;
}
@media screen and (max-width: 479px) {
  .p-assessment__name {
    margin-right: 0;
  }
  .p-assessment__name:has(+ .p-assessment__required) {
    width: 78%;
  }
}
.p-assessment__dd {
  width: 100%;
  padding: 1.2rem 0;
  margin-bottom: 2.3rem;
  font-size: 1.5rem;
  font-weight: 300;
}
@media screen and (max-width: 479px) {
  .p-assessment__dd {
    width: 100%;
    padding: 0 0 1rem;
    font-size: 1.1rem;
  }
}
.p-assessment__dd input,
.p-assessment__dd textarea {
  width: 100%;
  padding: 0.7rem 1rem;
  background-color: #efefef;
  font-size: 1.5rem;
}
.p-assessment__dd input {
  width: 100%;
}
.p-assessment__dd textarea {
  height: 13rem;
}
.p-assessment__dd .your-select {
  position: relative;
  display: block;
  max-width: 19rem;
}
@media screen and (max-width: 479px) {
  .p-assessment__dd .your-select {
    max-width: 100%;
  }
}
.p-assessment__dd .your-select:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/select.svg) no-repeat;
  background-size: 1.7rem auto;
  background-position: 92% 50%;
  content: "";
  z-index: 1;
  pointer-events: none;
}
.p-assessment__dd select {
  width: 100%;
  max-width: 50rem;
  border: 1px solid #777777;
  padding: 0.3rem 1rem;
  font-size: 1.5rem;
}
@media screen and (max-width: 479px) {
  .p-assessment__dd select {
    padding: 0.6rem 1rem;
  }
}
.p-assessment__required {
  background-color: #070e29;
  color: #fff;
  margin-top: 0.7rem;
  padding: 0.2rem 0.9rem;
  font-size: 1rem;
  line-height: 1;
}
@media screen and (max-width: 479px) {
  .p-assessment__required {
    padding: 0.2rem 0.9rem 0.3rem;
    margin-top: 0.2rem;
    margin-right: 0;
    margin-left: 1rem;
  }
}
.p-assessment__btn {
  margin-bottom: 3rem;
}
@media screen and (max-width: 479px) {
  .p-assessment__btn {
    margin-bottom: 2.2rem;
  }
}
.p-assessment__btn--text {
  display: block;
  position: relative;
  max-width: 25rem;
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.p-assessment__btn--text:hover {
  opacity: 0.75;
}
.p-assessment__btn--text:before {
  position: absolute;
  top: calc(50% - 1.2rem);
  right: 5.5%;
  width: 2.7rem;
  height: 2.7rem;
  background: url(../img/contact_btn.svg) no-repeat #fff;
  background-size: 1.3rem auto;
  background-position: 50% 50%;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-assessment__btn--text:before {
    top: calc(50% - 0.9rem);
    width: 2rem;
    height: 2rem;
    background-size: 1rem auto;
  }
}
.p-assessment__btn--text input {
  display: block;
  width: 100%;
  padding: 0.7rem 1rem;
  background-color: #ff9d00;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  cursor: pointer;
}
@media screen and (max-width: 479px) {
  .p-assessment__btn--text input {
    padding: 0.7rem 1rem;
    font-size: 1.3rem;
  }
}
.p-assessment__recaptcha {
  font-size: 1rem;
  text-align: right;
}
@media screen and (max-width: 479px) {
  .p-assessment__recaptcha {
    -webkit-transform: scale(0.8) translateX(10%);
            transform: scale(0.8) translateX(10%);
  }
}

.wpcf7-list-item {
  display: block;
  margin-bottom: 2rem;
}

.wpcf7-list-item-label {
  position: relative;
  display: block;
  margin-left: 15px;
  padding-left: 10px;
}
.wpcf7-free-text {
  margin-top: 1rem;
}

/* ------------------------------
* p-assessment checkbox
------------------------------ */
input[type=checkbox] {
  cursor: pointer;
  position: absolute;
  z-index: 2;
  opacity: 0;
  width: 50rem;
  height: 15px;
}

input[type=checkbox] + .wpcf7-list-item-label::before {
  position: absolute;
  left: -15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  content: "";
  border: 1px solid #cfcfcf;
  background-color: #efefef;
  height: 15px;
  width: 15px;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  position: absolute;
  left: -15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  content: "";
  background: url("../img/select2.png") no-repeat center;
  background-size: contain;
  height: 15px;
  width: 15px;
}

/* ------------------------------
* p-assessment radio-button
------------------------------ */
input[type=radio] {
  cursor: pointer;
  opacity: 0;
  position: absolute;
  z-index: 2;
  width: 10rem;
  height: 15px;
}

input[type=radio] + .wpcf7-list-item-label::before {
  position: absolute;
  left: -15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  content: "";
  border-radius: 50%;
  border: 1px solid #cfcfcf;
  background-color: #efefef;
  height: 15px;
  width: 15px;
}

input[type=radio] + .wpcf7-list-item-label::after {
  position: absolute;
  left: -11px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: none;
  content: "";
  border-radius: 50%;
  background-color: #ec6a1a;
  height: 7px;
  width: 7px;
}

input[type=radio]:checked + .wpcf7-list-item-label::after {
  display: block;
}

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

/* ------------------------------
* screen-reader-response
------------------------------ */
.screen-reader-response {
  display: none !important;
}

/* ------------------------------
* wpcf7-not-valid-tip
------------------------------ */
.wpcf7-not-valid-tip {
  display: block;
  color: #d40d3a !important;
  margin: 0.7rem 0;
  font-size: 1.4rem !important;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .wpcf7-not-valid-tip {
    font-size: 1rem !important;
  }
}

/* ------------------------------
* wpcf7-response-output
------------------------------ */
.wpcf7-response-output {
  display: block;
  border: none !important;
  color: #d40d3a;
  margin: 1.5rem 0;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .wpcf7-response-output {
    font-size: 1rem;
  }
}

/* ------------------------------
* .wpcf7 .ajax-loader
------------------------------ */
.wpcf7 .ajax-loader {
  display: none !important;
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotateZ(0deg) translate3d(0, 1.5%, 0) rotateZ(0deg);
            transform: rotateZ(0deg) translate3d(0, 1.5%, 0) rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(360deg) translate3d(0, 1.5%, 0) rotateZ(-360deg);
            transform: rotateZ(360deg) translate3d(0, 1.5%, 0) rotateZ(-360deg);
  }
}

@keyframes rotate {
  0% {
    -webkit-transform: rotateZ(0deg) translate3d(0, 1.5%, 0) rotateZ(0deg);
            transform: rotateZ(0deg) translate3d(0, 1.5%, 0) rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(360deg) translate3d(0, 1.5%, 0) rotateZ(-360deg);
            transform: rotateZ(360deg) translate3d(0, 1.5%, 0) rotateZ(-360deg);
  }
}
@-webkit-keyframes glitch {
  0% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1571052558;
    left: -5px;
  }
  1% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.0805266345;
    left: -1px;
  }
  2% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.8911512051;
    left: -1px;
  }
  3% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.811187127;
    left: 0px;
  }
  4% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.254071592;
    left: 1px;
  }
  5% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.7622583295;
    left: -4px;
  }
  6% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.423535581;
    left: -1px;
  }
  7% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1211375046;
    left: -6px;
  }
  8% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.5305896134;
    left: 1px;
  }
  9% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.39032868;
    left: -1px;
  }
  10% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1772600685;
    left: 0px;
  }
  11% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.8646399305;
    left: -1px;
  }
  12% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.8749960138;
    left: -6px;
  }
  13% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1885104683;
    left: -3px;
  }
  14% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.0890923161;
    left: 3px;
  }
  15% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9353451282;
    left: -6px;
  }
  16% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1936382733;
    left: -1px;
  }
  17% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9479765705;
    left: 3px;
  }
  18% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3229651692;
    left: -7px;
  }
  19% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.3364673133;
    left: 4px;
  }
  20% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7010246514;
    left: -3px;
  }
  21% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.6119675921;
    left: 4px;
  }
  22% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.4974553059;
    left: -2px;
  }
  23% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.4906453639;
    left: 2px;
  }
  24% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.598818677;
    left: 0px;
  }
  25% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.1873077136;
    left: -6px;
  }
  26% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7519232057;
    left: 3px;
  }
  27% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.4166197078;
    left: 1px;
  }
  28% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.442732025;
    left: 1px;
  }
  29% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1285398775;
    left: 0px;
  }
  30% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.7701788356;
    left: -6px;
  }
  31% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.4176701849;
    left: -6px;
  }
  32% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.176756197;
    left: 4px;
  }
  33% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0945149144;
    left: -5px;
  }
  34% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.2601540287;
    left: 1px;
  }
  35% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.3104935752;
    left: -5px;
  }
  36% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0090253351;
    left: -7px;
  }
  37% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.726148245;
    left: 2px;
  }
  38% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9615798647;
    left: 1px;
  }
  39% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.8834958086;
    left: 1px;
  }
  40% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.5739941828;
    left: 1px;
  }
  41% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1167686681;
    left: -2px;
  }
  42% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.7452475819;
    left: 4px;
  }
  43% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.5386098581;
    left: 1px;
  }
  44% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3381565522;
    left: -4px;
  }
  45% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2251348373;
    left: -4px;
  }
  46% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2560488461;
    left: -5px;
  }
  47% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.5786310743;
    left: 2px;
  }
  48% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.9369527887;
    left: -5px;
  }
  49% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1427586116;
    left: 4px;
  }
  50% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9973902993;
    left: 4px;
  }
  51% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.3358837675;
    left: -7px;
  }
  52% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.4480514261;
    left: -6px;
  }
  53% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.7271227439;
    left: -1px;
  }
  54% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.2840984236;
    left: -7px;
  }
  55% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1077803005;
    left: -2px;
  }
  56% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.3603664642;
    left: 3px;
  }
  57% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.0898760128;
    left: -1px;
  }
  58% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.8948672078;
    left: -4px;
  }
  59% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7915430875;
    left: 3px;
  }
  60% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0750343578;
    left: 1px;
  }
  61% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.6366167657;
    left: 2px;
  }
  62% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9270618998;
    left: -1px;
  }
  63% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9587486833;
    left: -2px;
  }
  64% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.597746141;
    left: 3px;
  }
  65% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.2551980175;
    left: 4px;
  }
  66% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.5498253032;
    left: -1px;
  }
  67% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0387375119;
    left: 2px;
  }
  68% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.4702682635;
    left: 1px;
  }
  69% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.6593611553;
    left: -3px;
  }
  70% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.3403291275;
    left: 0px;
  }
  71% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.9852842106;
    left: 0px;
  }
  72% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.9757188466;
    left: -4px;
  }
  73% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.8731072302;
    left: 0px;
  }
  74% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.0716801868;
    left: -5px;
  }
  75% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.6223078813;
    left: -4px;
  }
  76% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9892951297;
    left: -2px;
  }
  77% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.5921115665;
    left: -6px;
  }
  78% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.612497324;
    left: -3px;
  }
  79% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.736666704;
    left: -6px;
  }
  80% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3349499021;
    left: 2px;
  }
  81% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2751901301;
    left: -1px;
  }
  82% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9515048597;
    left: -6px;
  }
  83% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1976587872;
    left: -4px;
  }
  84% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.8242822329;
    left: -1px;
  }
  85% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.771168964;
    left: -7px;
  }
  86% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.8276226766;
    left: -2px;
  }
  87% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.7856467601;
    left: 2px;
  }
  88% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.9738735147;
    left: 3px;
  }
  89% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.6350492306;
    left: 2px;
  }
  90% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3389196346;
    left: 0px;
  }
  91% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.2039638243;
    left: -4px;
  }
  92% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2215973719;
    left: 4px;
  }
  93% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9179714775;
    left: 2px;
  }
  94% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.2560670125;
    left: -1px;
  }
  95% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.0939875011;
    left: 4px;
  }
  96% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7213376081;
    left: -5px;
  }
  97% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.7016569888;
    left: 1px;
  }
  98% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.1423271673;
    left: 1px;
  }
  99% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.5030203212;
    left: -6px;
  }
  100% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0983597911;
    left: -4px;
  }
}
@keyframes glitch {
  0% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1571052558;
    left: -5px;
  }
  1% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.0805266345;
    left: -1px;
  }
  2% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.8911512051;
    left: -1px;
  }
  3% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.811187127;
    left: 0px;
  }
  4% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.254071592;
    left: 1px;
  }
  5% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.7622583295;
    left: -4px;
  }
  6% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.423535581;
    left: -1px;
  }
  7% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1211375046;
    left: -6px;
  }
  8% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.5305896134;
    left: 1px;
  }
  9% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.39032868;
    left: -1px;
  }
  10% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1772600685;
    left: 0px;
  }
  11% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.8646399305;
    left: -1px;
  }
  12% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.8749960138;
    left: -6px;
  }
  13% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1885104683;
    left: -3px;
  }
  14% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.0890923161;
    left: 3px;
  }
  15% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9353451282;
    left: -6px;
  }
  16% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1936382733;
    left: -1px;
  }
  17% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9479765705;
    left: 3px;
  }
  18% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3229651692;
    left: -7px;
  }
  19% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.3364673133;
    left: 4px;
  }
  20% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7010246514;
    left: -3px;
  }
  21% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.6119675921;
    left: 4px;
  }
  22% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.4974553059;
    left: -2px;
  }
  23% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.4906453639;
    left: 2px;
  }
  24% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.598818677;
    left: 0px;
  }
  25% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.1873077136;
    left: -6px;
  }
  26% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7519232057;
    left: 3px;
  }
  27% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.4166197078;
    left: 1px;
  }
  28% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.442732025;
    left: 1px;
  }
  29% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1285398775;
    left: 0px;
  }
  30% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.7701788356;
    left: -6px;
  }
  31% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.4176701849;
    left: -6px;
  }
  32% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.176756197;
    left: 4px;
  }
  33% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0945149144;
    left: -5px;
  }
  34% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.2601540287;
    left: 1px;
  }
  35% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.3104935752;
    left: -5px;
  }
  36% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0090253351;
    left: -7px;
  }
  37% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.726148245;
    left: 2px;
  }
  38% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9615798647;
    left: 1px;
  }
  39% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.8834958086;
    left: 1px;
  }
  40% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.5739941828;
    left: 1px;
  }
  41% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.1167686681;
    left: -2px;
  }
  42% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.7452475819;
    left: 4px;
  }
  43% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.5386098581;
    left: 1px;
  }
  44% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3381565522;
    left: -4px;
  }
  45% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2251348373;
    left: -4px;
  }
  46% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2560488461;
    left: -5px;
  }
  47% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.5786310743;
    left: 2px;
  }
  48% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.9369527887;
    left: -5px;
  }
  49% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1427586116;
    left: 4px;
  }
  50% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9973902993;
    left: 4px;
  }
  51% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.3358837675;
    left: -7px;
  }
  52% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.4480514261;
    left: -6px;
  }
  53% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.7271227439;
    left: -1px;
  }
  54% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.2840984236;
    left: -7px;
  }
  55% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1077803005;
    left: -2px;
  }
  56% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.3603664642;
    left: 3px;
  }
  57% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.0898760128;
    left: -1px;
  }
  58% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.8948672078;
    left: -4px;
  }
  59% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7915430875;
    left: 3px;
  }
  60% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0750343578;
    left: 1px;
  }
  61% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.6366167657;
    left: 2px;
  }
  62% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9270618998;
    left: -1px;
  }
  63% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9587486833;
    left: -2px;
  }
  64% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.597746141;
    left: 3px;
  }
  65% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.2551980175;
    left: 4px;
  }
  66% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.5498253032;
    left: -1px;
  }
  67% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0387375119;
    left: 2px;
  }
  68% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.4702682635;
    left: 1px;
  }
  69% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.6593611553;
    left: -3px;
  }
  70% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.3403291275;
    left: 0px;
  }
  71% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.9852842106;
    left: 0px;
  }
  72% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.9757188466;
    left: -4px;
  }
  73% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.8731072302;
    left: 0px;
  }
  74% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.0716801868;
    left: -5px;
  }
  75% {
    text-shadow: 0rem 0px 0px rgb(201, 201, 201);
    opacity: 0.6223078813;
    left: -4px;
  }
  76% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9892951297;
    left: -2px;
  }
  77% {
    text-shadow: 1rem 0px 0px rgb(236, 106, 26);
    opacity: 0.5921115665;
    left: -6px;
  }
  78% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.612497324;
    left: -3px;
  }
  79% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.736666704;
    left: -6px;
  }
  80% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3349499021;
    left: 2px;
  }
  81% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2751901301;
    left: -1px;
  }
  82% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.9515048597;
    left: -6px;
  }
  83% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.1976587872;
    left: -4px;
  }
  84% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.8242822329;
    left: -1px;
  }
  85% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.771168964;
    left: -7px;
  }
  86% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.8276226766;
    left: -2px;
  }
  87% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.7856467601;
    left: 2px;
  }
  88% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.9738735147;
    left: 3px;
  }
  89% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.6350492306;
    left: 2px;
  }
  90% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.3389196346;
    left: 0px;
  }
  91% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.2039638243;
    left: -4px;
  }
  92% {
    text-shadow: 0rem 0px 0px rgb(241, 145, 23);
    opacity: 0.2215973719;
    left: 4px;
  }
  93% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.9179714775;
    left: 2px;
  }
  94% {
    text-shadow: 0rem 0px 0px rgb(244, 187, 25);
    opacity: 0.2560670125;
    left: -1px;
  }
  95% {
    text-shadow: 1rem 0px 0px rgb(244, 187, 25);
    opacity: 0.0939875011;
    left: 4px;
  }
  96% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.7213376081;
    left: -5px;
  }
  97% {
    text-shadow: 0rem 0px 0px rgb(236, 106, 26);
    opacity: 0.7016569888;
    left: 1px;
  }
  98% {
    text-shadow: 1rem 0px 0px rgb(201, 201, 201);
    opacity: 0.1423271673;
    left: 1px;
  }
  99% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.5030203212;
    left: -6px;
  }
  100% {
    text-shadow: 1rem 0px 0px rgb(241, 145, 23);
    opacity: 0.0983597911;
    left: -4px;
  }
}
/* ------------------------------
* p-homeHero
------------------------------ */
.p-homeHero {
  position: relative;
  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;
  height: 100vh;
  overflow: hidden;
  background: url(../img/homeHero_bg.png) repeat-y;
  background-size: 100% auto;
  background-position: 0 0;
}
@media screen and (max-width: 479px) {
  .p-homeHero {
    height: calc(var(--vh) * 100);
  }
}
.p-homeHero #parallax,
.p-homeHero .layer,
.p-homeHero .some-space {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.p-homeHero #parallax {
  z-index: 2;
}
.p-homeHero .some-space {
  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;
  animation: rotate 18s 0.5s infinite linear reverse;
}
.p-homeHero__wrapper {
  position: relative;
  z-index: 1;
}
.p-homeHero canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  margin: 0 auto;
  opacity: 0.2;
}
.p-homeHero__title {
  position: relative;
}
.p-homeHero__title .glitch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-homeHero__title .glitch.bottom {
  position: absolute;
  top: 0;
  left: 0;
}
.p-homeHero__title.js-active {
  -webkit-animation: glitch 0.2s;
          animation: glitch 0.2s;
}
.p-homeHero__text {
  position: absolute;
  display: block;
  z-index: 2;
}
.p-homeHero__text--1 {
  top: -9.5%;
  left: -22.5%;
  width: 18.25%;
}
.p-homeHero__text--2 {
  top: -16.1%;
  left: -2%;
  width: 18.8%;
}
.p-homeHero__text--3 {
  top: -19.8%;
  left: 20%;
  width: 16.3%;
}
.p-homeHero__text--4 {
  top: 106%;
  left: -9%;
  width: 11.12%;
}
.p-homeHero__text--5 {
  top: -17.7%;
  left: 102%;
  width: 11.12%;
}
.p-homeHero__text--6 {
  top: 90.8%;
  left: 76%;
  width: 15.56%;
}
.p-homeHero__text--7 {
  top: 84.8%;
  left: 94.3%;
  width: 15.83%;
}
.p-homeHero__text--8 {
  top: 78.5%;
  left: 115%;
  width: 14.63%;
}
.p-homeHero__text--9 {
  top: 90.8%;
  left: 133.5%;
  width: 6.1%;
}
.p-homeHero__text--main {
  position: relative;
  width: 24.188vw;
}
@media screen and (max-width: 479px) {
  .p-homeHero__text--main {
    width: 50vw;
  }
}
.p-homeHero__text img {
  width: 100%;
}
.p-homeHero__scroll {
  position: absolute;
  left: 50%;
  bottom: 5.8rem;
  z-index: 2;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 479px) {
  .p-homeHero__scroll {
    bottom: 0.9rem;
  }
}
.p-homeHero__scroll--anchor {
  display: block;
  margin-bottom: 0.5rem;
  color: #070e29;
  font-family: source-serif-pro, serif;
  font-size: 1.3rem;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-homeHero__scroll--anchor {
    margin-bottom: 0.1rem;
    font-size: 1rem;
  }
}
.p-homeHero__scroll--anchor:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  content: "";
}
.p-homeHero__scroll--icon {
  position: relative;
  width: 2rem;
  margin: 0 auto;
}
@media screen and (max-width: 479px) {
  .p-homeHero__scroll--icon {
    width: 1.1rem;
  }
}
.p-homeHero__scroll--icon img {
  width: 100%;
}
.p-homeHero__scroll--icon:before {
  position: absolute;
  top: 2rem;
  left: 50%;
  width: 1px;
  height: 2rem;
  background-color: #000;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-homeHero__scroll--icon:before {
    top: 1rem;
    height: 1.5rem;
  }
}

/* ------------------------------
* p-homeMovie
------------------------------ */
.p-homeMovie {
  position: relative;
  width: 100%;
  z-index: 1;
  background-color: #070e29;
  padding-top: 6.6rem;
  padding-bottom: 5.1rem;
}
@media screen and (max-width: 479px) {
  .p-homeMovie {
    padding: 3rem 0;
  }
}
.p-homeMovie__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  z-index: 1;
}
.p-homeMovie__wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  -webkit-filter: brightness(0.35);
          filter: brightness(0.35);
}
@media screen and (max-width: 479px) {
  .p-homeMovie__wrapper video {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
}
.p-homeMovie__wrapper video.is-playing {
  -webkit-filter: brightness(1);
          filter: brightness(1);
}
.p-homeMovie__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.p-homeMovie__movieButton {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11.5rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  cursor: pointer;
}
@media screen and (max-width: 479px) {
  .p-homeMovie__movieButton {
    width: 3.6rem;
  }
}
.p-homeMovie__movieButton img {
  width: 100%;
}

/* ------------------------------
* p-homeCustomer
------------------------------ */
.p-homeCustomer {
  padding-top: 7.3rem;
  padding-bottom: 7.4rem;
  background-image: url("../img/Rectangle 57.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer {
    padding: 4rem 0;
  }
}
.p-homeCustomer__wrapper {
  width: 45%;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__wrapper {
    width: 90%;
  }
}
.p-homeCustomer__title {
  position: relative;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 600;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  line-height: 1.65;
  text-align: center;
  border-bottom: 1px solid #e5e5e5;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__title {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.3rem;
  }
}
.p-homeCustomer__title:before, .p-homeCustomer__title:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #e5e5e5;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__title:before, .p-homeCustomer__title:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-homeCustomer__title:before {
  left: -0.3rem;
}
.p-homeCustomer__title:after {
  right: -0.3rem;
}
.p-homeCustomer__title span {
  position: relative;
  display: block;
  padding-bottom: 1.2rem;
  margin-bottom: 4rem;
}
.p-homeCustomer__title span:before {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 3%;
  height: 1px;
  background-color: #fff;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__title span:before {
    height: 1px;
  }
}
.p-homeCustomer__box {
  position: relative;
  border-bottom: 1px solid #e5e5e5;
  padding-top: 3.8rem;
  padding-bottom: 3.8rem;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__box {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-homeCustomer__box p {
  margin-bottom: 2.4rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 600;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__box p {
    font-size: 1.2rem;
  }
}
.p-homeCustomer__box:before, .p-homeCustomer__box:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #e5e5e5;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__box:before, .p-homeCustomer__box:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-homeCustomer__box:before {
  left: -0.3rem;
}
.p-homeCustomer__box:after {
  right: -0.3rem;
}
.p-homeCustomer__box p:last-child {
  margin-bottom: 0;
}
.p-homeCustomer__upSell {
  padding-top: 4.8rem;
  padding-bottom: 4.8rem;
  color: #fff;
  font-size: 2.4rem;
}
.p-homeCustomer__upSell p:nth-child(1) {
  margin-bottom: 1.1rem;
  font-weight: 300;
  font-size: 1.6rem;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__upSell p:nth-child(1) {
    font-size: 1.2rem;
  }
}
.p-homeCustomer__upSell p:nth-child(2) {
  margin-bottom: 1.5rem;
  padding: 0.8rem 2rem;
  color: #ec6a1a;
  font-weight: 600;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2rem;
  background-color: #fff;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__upSell p:nth-child(2) {
    font-size: 1.4rem;
  }
}
.p-homeCustomer__upSell p:nth-child(3) {
  font-weight: 300;
  font-size: 1.6rem;
}
@media screen and (max-width: 479px) {
  .p-homeCustomer__upSell p:nth-child(3) {
    font-size: 1.2rem;
  }
}

/* ------------------------------
* p-homeInitialState
------------------------------ */
.p-homeInitialState {
  padding-top: 12.6rem;
  padding-bottom: 9.3rem;
  background-image: url("../img/Rectangle 57.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.p-homeInitialState [data-ruby] {
  position: relative;
}
.p-homeInitialState [data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.5em;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 0.4em;
  font-weight: 200;
}
@media screen and (max-width: 479px) {
  .p-homeInitialState {
    padding: 4rem 0;
  }
}
.p-homeInitialState__title {
  width: 100%;
  margin-bottom: 2.2rem;
  color: #fff;
  font-size: 6.6rem;
  font-family: source-serif-pro, serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-homeInitialState__title {
    font-size: 2.2rem;
  }
}
.p-homeInitialState__lead {
  margin-bottom: 3.7rem;
}
.p-homeInitialState__lead > span {
  margin-bottom: 3.1rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 200;
  line-height: 1.65;
}
@media screen and (max-width: 479px) {
  .p-homeInitialState__lead > span {
    margin-bottom: 1.7rem;
    font-size: 1.3rem;
  }
}
.p-homeInitialState__lead > span:before {
  left: 50%;
  top: 6.4rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4.5rem;
  height: 1px;
  background-color: #fff;
  content: "";
}
.p-homeInitialState__box p.c-contents__text {
  color: #fff;
  font-weight: 200;
}
.p-homeInitialState__box p.c-btn a {
  margin: 0 auto;
  color: #fff;
}
.p-homeInitialState__box p.c-btn a::before {
  background: url(../img/c_btn2.svg) #070e29 no-repeat;
  background-size: auto;
  background-position: 50% 50%;
}

/* ------------------------------
* p-homeAbout
------------------------------ */
.p-homeAbout {
  padding-top: 12.6rem;
  padding-bottom: 9.3rem;
}
@media screen and (max-width: 479px) {
  .p-homeAbout {
    padding: 4rem 0;
  }
}
.p-homeAbout__title {
  width: 100%;
  margin-bottom: 2.2rem;
  color: #070e29;
  font-size: 6.4rem;
  font-family: source-serif-pro, serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-homeAbout__title {
    font-size: 2.2rem;
  }
}
.p-homeAbout__lead {
  margin-bottom: 3.1rem;
  color: #070e29;
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.65;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-homeAbout__lead {
    margin-bottom: 1.7rem;
    font-size: 1.3rem;
  }
}
.p-homeAbout__lead--yellow {
  color: #f19117;
}
.p-homeAbout__lead--yellow span {
  position: relative;
  display: inline-block;
}
.p-homeAbout__lead--yellow span:before {
  position: absolute;
  top: -2rem;
  left: 0%;
  content: "・";
  color: #f19117;
  font-size: 1em;
}

/* ------------------------------
* p-homeService
------------------------------ */
.p-homeService {
  z-index: 0;
  padding-top: 12rem;
  padding-bottom: 12.4rem;
  background-color: #fcfcfc;
}
@media screen and (max-width: 479px) {
  .p-homeService {
    padding-top: 1.4rem;
    padding-bottom: 4rem;
  }
}
.p-homeService__wrapper {
  position: relative;
}
.p-homeService__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  counter-reset: number;
  padding-top: 4.6rem;
}
@media screen and (max-width: 479px) {
  .p-homeService__list {
    padding-top: 2.2rem;
  }
}
.p-homeService__item {
  width: 32%;
  margin-right: 2%;
  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 (max-width: 1024px) {
  .p-homeService__item {
    width: 48%;
    margin-right: 4%;
  }
}
@media screen and (max-width: 479px) {
  .p-homeService__item {
    width: 100%;
    margin-right: 0;
  }
}
.p-homeService__item:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  .p-homeService__item:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-homeService__item + .p-homeService__item {
    margin-top: 2.2rem;
  }
}
.p-homeService__thumb {
  position: relative;
  padding-bottom: 41%;
  margin-bottom: 1rem;
  overflow: hidden;
}
.p-homeService__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-homeService__name {
  position: relative;
  padding-top: 0.5rem;
  padding-left: 5.2rem;
  color: #383838;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 1.7rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 1024px) {
  .p-homeService__name {
    padding-top: 0.2rem;
    padding-left: 4.4rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 479px) {
  .p-homeService__name {
    padding-left: 3.5rem;
    margin-bottom: 1.2rem;
    font-size: 1.3rem;
  }
}
.p-homeService__name:before {
  position: absolute;
  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;
  top: 0;
  left: 0;
  width: 3.8rem;
  height: 3.8rem;
  background-color: #070e29;
  padding-left: 0.4em;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1;
  counter-increment: number;
  content: counter(number) ".";
}
@media screen and (max-width: 1024px) {
  .p-homeService__name:before {
    width: 3.4rem;
    height: 3.4rem;
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 479px) {
  .p-homeService__name:before {
    width: 2.6rem;
    height: 2.6rem;
    font-size: 1.5rem;
  }
}
.p-homeService__text {
  margin-bottom: 2.6rem;
  font-size: 1.4rem;
  line-height: 1.9;
  -webkit-box-flex: 2.5;
      -ms-flex-positive: 2.5;
          flex-grow: 2.5;
}
@media screen and (max-width: 479px) {
  .p-homeService__text {
    margin-bottom: 1.4rem;
    font-size: 1.1rem;
  }
}
.p-homeService__link a {
  display: block;
  width: 38%;
  height: 4.2rem;
  margin-left: auto;
  margin-right: auto;
  background-color: #000;
  margin-top: 5.5rem;
  padding: 0.5rem 10rem;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-homeService__link a {
    width: 100%;
    margin-top: 3.5rem;
    padding: 0.5rem 5rem;
    font-size: 1.2rem;
    line-height: 2.6;
  }
}
.p-homeService__link a:hover {
  background-color: #070e29;
  -webkit-filter: brightness(1.7);
          filter: brightness(1.7);
  cursor: pointer;
}

/* ------------------------------
* p-homeWorks
------------------------------ */
.p-homeWorks {
  padding-top: 10.6rem;
  padding-bottom: 11.4rem;
  z-index: 0;
}
@media screen and (max-width: 479px) {
  .p-homeWorks {
    padding-top: 1.4rem;
    padding-bottom: 4rem;
  }
}
.p-homeWorks__wrapper {
  max-width: 150rem;
}
.p-homeWorks__title {
  padding-bottom: 28rem;
}
@media screen and (max-width: 479px) {
  .p-homeWorks__title {
    padding-bottom: 10rem;
  }
}
.p-homeWorks__list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 5.9rem;
  margin-bottom: 4.8rem;
  z-index: 1;
}
@media screen and (max-width: 479px) {
  .p-homeWorks__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 1.4rem;
    margin-bottom: 1.4rem;
  }
}
.p-homeWorks__item {
  position: relative;
  width: 30%;
  margin-right: 5%;
}
@media screen and (max-width: 1024px) {
  .p-homeWorks__item {
    width: 48%;
    margin-right: 4%;
  }
}
@media screen and (max-width: 479px) {
  .p-homeWorks__item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 4rem;
  }
}
.p-homeWorks__item:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  .p-homeWorks__item:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-homeWorks__item:nth-child(2n) {
    margin-right: 0 !important;
  }
}
.p-homeWorks__thumb {
  position: relative;
  padding-bottom: 56.25%;
  margin-bottom: 0.8rem;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 479px) {
  .p-homeWorks__thumb {
    margin-bottom: 0.2rem;
  }
}
.p-homeWorks__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.p-homeWorks__item:hover .p-homeWorks__thumb img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-filter: brightness(1);
          filter: brightness(1);
}
.p-homeWorks__flex {
  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-bottom: 1.1rem;
}
@media screen and (max-width: 767px) {
  .p-homeWorks__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (max-width: 479px) {
  .p-homeWorks__flex {
    margin-bottom: 0.4rem;
  }
}
.p-homeWorks__category {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-homeWorks__category {
    margin-right: auto;
  }
}
.p-homeWorks__category a {
  display: block;
  padding: 0.7rem 1.1rem;
  background-color: #03143f;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-homeWorks__category a {
    padding: 0.4rem 0.7rem 0.6rem;
    font-size: 1rem;
    -webkit-transform: scale(0.9) translateX(-4%);
            transform: scale(0.9) translateX(-4%);
  }
}
.p-homeWorks__category a:hover {
  -webkit-filter: brightness(1.7);
          filter: brightness(1.7);
}
.p-homeWorks__date {
  margin-left: auto;
  color: #a5a5a5;
  font-size: 1.4rem;
  letter-spacing: 0.17em;
}
@media screen and (max-width: 1024px) {
  .p-homeWorks__date {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-homeWorks__date {
    margin-right: auto;
    margin-left: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-homeWorks__date {
    margin-bottom: 0.2rem;
    font-size: 1rem;
  }
}
.p-homeWorks__name a {
  color: #353535;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (max-width: 479px) {
  .p-homeWorks__name a {
    font-size: 1rem;
  }
}
.p-homeWorks__name a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  content: "";
}

/* ------------------------------
* p-homeNews
------------------------------ */
.p-homeNews {
  background-color: #fcfcfc;
  padding-top: 6.9rem;
  padding-bottom: 8rem;
  margin-bottom: 9rem;
}
@media screen and (max-width: 479px) {
  .p-homeNews {
    padding-top: 1.4rem;
    padding-bottom: 4rem;
    margin-bottom: 4rem;
  }
}
.p-homeNews__list {
  width: 80%;
  padding: 1.7rem 0.5rem 0;
  margin-bottom: 4.8rem;
  margin-left: auto;
}
@media screen and (max-width: 479px) {
  .p-homeNews__list {
    width: 100%;
    padding: 1.4rem 0 0;
    margin-bottom: 1.4rem;
  }
}
.p-homeNews__item {
  padding: 0 0.5rem 0.7rem;
  border-bottom: 1px solid #999999;
}
@media screen and (max-width: 479px) {
  .p-homeNews__item {
    padding: 0 0.5rem 1rem;
  }
}
.p-homeNews__item + .p-homeNews__item {
  margin-top: 2.4rem;
}
@media screen and (max-width: 479px) {
  .p-homeNews__item + .p-homeNews__item {
    margin-top: 1.2rem;
  }
}
.p-homeNews__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5rem;
}
.p-homeNews__date {
  width: 15.3rem;
  padding-right: 2rem;
  color: #a5a5a5;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 479px) {
  .p-homeNews__date {
    width: 7.4rem;
    padding-right: 0;
    margin-right: 1rem;
    font-size: 1rem;
  }
}
.p-homeNews__category a {
  display: block;
  position: relative;
  padding: 0.5rem 1.2rem;
  color: #fff;
  font-size: 1rem;
  font-family: source-serif-pro, serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.13em;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-homeNews__category a {
    padding: 0.3rem 0.8rem;
  }
}
.p-homeNews__category--news a {
  background-color: #ff9d00;
}

.p-homeNews__category--event a {
  background-color: #f4bb19;
}

.p-homeNews__category a:hover {
  -webkit-filter: brightness(1.15);
          filter: brightness(1.15);
}
.p-homeNews__name a {
  color: #353535;
  font-size: 1.6rem;
  font-weight: 400;
  background: -webkit-gradient(linear, left top, right top, from(rgba(235, 106, 26, 0.3)), color-stop(50%, rgba(235, 106, 26, 0.3)), color-stop(50%, transparent)) no-repeat;
  background: linear-gradient(to right, rgba(235, 106, 26, 0.3), rgba(235, 106, 26, 0.3) 50%, transparent 50%) no-repeat;
  background-size: 200% 0.4rem;
  background-position: 101% 84%;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-homeNews__name a {
    font-size: 1.1rem;
  }
}
.p-homeNews__name a:hover {
  background-position: 0% 84%;
}

/* ------------------------------
* p-homeContact
------------------------------ */
.p-homeContact {
  position: relative;
  background-color: #f4f4f4;
  padding-top: 4.6rem;
  padding-bottom: 6.2rem;
}
@media screen and (max-width: 479px) {
  .p-homeContact {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.p-homeContact__wrapper {
  position: relative;
  z-index: 1;
}
.p-homeContact__text {
  padding-top: 0.8rem;
  margin-bottom: 2rem;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-homeContact__text {
    padding-top: 0;
    margin-bottom: 1.4rem;
    font-size: 1rem;
  }
}
.p-homeContact__button a {
  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;
  width: 90%;
  max-width: 31.2rem;
  height: 4.2rem;
  margin: 0 auto;
  border: 1px solid #000;
  background-color: #fff;
  color: #353535;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s background-color ease, 0.5s color ease;
  transition: 0.5s background-color ease, 0.5s color ease;
}
@media screen and (max-width: 479px) {
  .p-homeContact__button a {
    font-size: 1.2rem;
  }
}
.p-homeContact__button a:hover {
  color: #fff;
  background-color: #070e29;
}

/* ------------------------------
* p-service
------------------------------ */
.p-service__block {
  margin-bottom: 13.7rem;
}
@media screen and (max-width: 479px) {
  .p-service__block {
    margin-bottom: 4rem;
  }
}
.p-service__container {
  background-color: #fcfcfc;
}
.p-service__wrapper {
  position: relative;
  margin-bottom: 12.5rem;
}
@media screen and (max-width: 479px) {
  .p-service__wrapper {
    margin-bottom: 4rem;
  }
}
.p-service__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  counter-reset: number;
  padding: 4.3rem 0 7.5rem;
}
.p-service__list:first-child {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 479px) {
  .p-service__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.2rem 0;
  }
}
.p-service__item {
  position: relative;
  width: 44.2%;
  margin-right: 11.6%;
  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 (max-width: 1024px) {
  .p-service__item {
    width: 47%;
    margin-right: 6%;
  }
}
@media screen and (max-width: 479px) {
  .p-service__item {
    width: 100%;
    margin-right: 0 !important;
  }
}
.p-service__item:nth-child(2n) {
  margin-right: 0;
}
.p-service__item:only-child {
  margin-right: 0;
}
@media screen and (max-width: 479px) {
  .p-service__item + .p-service__item {
    margin-top: 2.2rem;
  }
}
.p-service__name {
  position: relative;
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  padding-left: 6rem;
  margin-bottom: 4.7rem;
  color: #070e29;
  font-size: 2rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .p-service__name {
    padding-top: 0.3rem;
    padding-left: 5.2rem;
    margin-bottom: 3.7rem;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 479px) {
  .p-service__name {
    padding-top: 0.1rem;
    padding-left: 3.5rem;
    margin-bottom: 1.2rem;
    font-size: 1.3rem;
  }
}
.p-service__name:before {
  position: absolute;
  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;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  background-color: #070e29;
  padding-bottom: 0.16em;
  padding-left: 0.4em;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
  counter-increment: number;
  content: counter(number) ".";
}
@media screen and (max-width: 1024px) {
  .p-service__name:before {
    width: 4rem;
    height: 4rem;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 479px) {
  .p-service__name:before {
    width: 2.6rem;
    height: 2.6rem;
    font-size: 1.5rem;
  }
}
.p-service__thumb {
  position: relative;
  padding-bottom: 50%;
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 479px) {
  .p-service__thumb {
    margin-bottom: 1.4rem;
  }
}
.p-service__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-service__thumb:before {
  position: absolute;
  top: 4%;
  left: 2%;
  width: 100%;
  height: 100%;
  border: 0.2rem solid #efefef;
  content: "";
  z-index: 0;
}
.p-service__text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: justify;
}

/* ------------------------------
* p-works
------------------------------ */
.p-works {
  margin-bottom: 12.3rem;
}
@media screen and (max-width: 479px) {
  .p-works {
    margin-bottom: 4rem;
  }
}
.p-works__wrapper {
  border-bottom: 1px solid #d6d6d6;
}
.p-works__termList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 1.7rem;
  margin-bottom: 5.1rem;
}
@media screen and (max-width: 479px) {
  .p-works__termList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 0;
    margin-bottom: 2.2rem;
  }
}
.p-works__termItem {
  margin-right: 2.2rem;
}
@media screen and (max-width: 479px) {
  .p-works__termItem {
    width: 48%;
    margin-right: 4%;
  }
}
@media screen and (max-width: 479px) {
  .p-works__termItem:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-works__termItem:nth-child(n+3) {
    margin-top: 1.4rem;
  }
}
.p-works__termItem a {
  display: block;
  min-width: 11.6rem;
  border: 1px solid #070e29;
  padding: 0.3rem 1.2rem;
  color: #070e29;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-align: center;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-works__termItem a {
    width: 100%;
    padding: 0.3rem 0.5rem;
    font-size: 1rem;
  }
}
.p-works__termItem--current a, .p-works__termItem a:hover {
  background-color: #2d2d2d;
  border-color: #2d2d2d;
  color: #fff;
}

.p-works__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: -2rem;
}
@media screen and (max-width: 479px) {
  .p-works__list {
    margin-bottom: 0;
  }
}
.p-works__item {
  position: relative;
  width: 30%;
  margin-right: 5%;
  margin-bottom: 9.2rem;
}
@media screen and (max-width: 479px) {
  .p-works__item {
    width: 47%;
    margin-right: 6%;
    margin-bottom: 0;
  }
}
.p-works__item:before {
  position: absolute;
  top: -0.8rem;
  left: 2%;
  width: 100%;
  padding-bottom: 67%;
  border: 0.2rem solid #efefef;
  z-index: -1;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-works__item:before {
    top: -0.3rem;
    left: 3%;
    border-width: 1px;
  }
}
.p-works__item:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 479px) {
  .p-works__item:nth-child(3n) {
    margin-right: 4%;
  }
}
@media screen and (max-width: 479px) {
  .p-works__item:nth-child(2n) {
    margin-right: 0 !important;
  }
}
@media screen and (max-width: 479px) {
  .p-works__item:nth-child(n+3) {
    margin-top: 2rem;
  }
}
.p-works__thumb {
  position: relative;
  padding-bottom: 67%;
  margin-bottom: 0.9rem;
  overflow: hidden;
}
@media screen and (max-width: 479px) {
  .p-works__thumb {
    margin-bottom: 0.2rem;
  }
}
.p-works__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-filter: brightness(0.85);
          filter: brightness(0.85);
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.p-works__item:hover .p-works__thumb img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-filter: brightness(1);
          filter: brightness(1);
}
.p-works__flex {
  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-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-works__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (max-width: 479px) {
  .p-works__flex {
    margin-bottom: 0.4rem;
  }
}
.p-works__category {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-works__category {
    margin-right: auto;
  }
}
.p-works__category a {
  display: block;
  padding: 0.7rem 1.1rem;
  background-color: #03143f;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-works__category a {
    padding: 0.4rem 0.7rem 0.6rem;
    font-size: 1rem;
    -webkit-transform: scale(0.9) translateX(-4%);
            transform: scale(0.9) translateX(-4%);
  }
}
.p-works__category a:hover {
  -webkit-filter: brightness(1.7);
          filter: brightness(1.7);
}
.p-works__date {
  margin-left: auto;
  color: #a5a5a5;
  font-size: 1.4rem;
  letter-spacing: 0.19em;
}
@media screen and (max-width: 1024px) {
  .p-works__date {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-works__date {
    margin-right: auto;
    margin-left: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-works__date {
    margin-bottom: 0.2rem;
    font-size: 1rem;
  }
}
.p-works__name a {
  color: #353535;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 479px) {
  .p-works__name a {
    font-size: 1rem;
  }
}
.p-works__image {
  width: 100%;
  margin-bottom: 4.6rem;
}
@media screen and (max-width: 479px) {
  .p-works__image {
    margin-bottom: 2.2rem;
  }
}
.p-works__image img {
  width: 100%;
}
.p-works__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 5.4rem;
}
@media screen and (max-width: 479px) {
  .p-works__area {
    margin-bottom: 2rem;
  }
}
.p-works__block {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 479px) {
  .p-works__block {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.p-works__area .p-works__block:nth-child(2n+1) {
  padding-right: 3rem;
}
@media screen and (max-width: 479px) {
  .p-works__area .p-works__block:nth-child(2n+1) {
    padding-right: 0;
  }
}
.p-works__area .p-works__block:nth-child(2n) {
  padding-left: 3rem;
}
@media screen and (max-width: 479px) {
  .p-works__area .p-works__block:nth-child(2n) {
    padding-left: 0;
  }
}
.p-works__area .p-works__block:nth-child(2n):before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 93%;
  background-color: #f4f4f4;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-works__area .p-works__block:nth-child(2n):before {
    display: none;
  }
}
@media screen and (max-width: 479px) {
  .p-works__area .p-works__block + .p-works__block {
    margin-top: 2.2rem;
  }
}
.p-works__container .p-works__block + .p-works__block {
  margin-top: 4.6rem;
}
@media screen and (max-width: 479px) {
  .p-works__container .p-works__block + .p-works__block {
    margin-top: 2.2rem;
  }
}
.p-works__label {
  display: inline-block;
  padding: 0.5rem 2.2rem 0.2rem;
  margin-bottom: 1.4rem;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-works__label {
    padding: 0.3rem 1.5rem;
    font-size: 1.2rem;
  }
}
.p-works__label--yellow {
  background-color: #f4bb19;
}
.p-works__label--gray {
  background-color: #565656;
}
.p-works__label--orange {
  background-color: #f19117;
}
.p-works__label--vermilion {
  background-color: #ec6a1a;
}
.p-works__description {
  color: #000;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 479px) {
  .p-works__description {
    font-size: 1.1rem;
    line-height: 1.95;
  }
}
.p-works__container {
  background-color: #f4f4f4;
  padding: 5rem 3rem 3.5rem;
  margin-bottom: 8.4rem;
}
@media screen and (max-width: 479px) {
  .p-works__container {
    padding: 2rem 0.7rem 2rem;
    margin-right: -0.7rem;
    margin-bottom: 2rem;
    margin-left: -0.7rem;
  }
}

/* ------------------------------
* p-news
------------------------------ */
.p-news {
  padding-top: 1.1rem;
}
@media screen and (max-width: 479px) {
  .p-news {
    padding-top: 0;
  }
}
.p-news__termBox {
  width: 30rem;
  padding-right: 5%;
}
@media screen and (max-width: 1024px) {
  .p-news__termBox {
    width: 19rem;
  }
}
@media screen and (max-width: 479px) {
  .p-news__termBox {
    width: 100%;
    padding-right: 0;
    margin-bottom: 1.4rem;
  }
}
.p-news__label {
  display: inline-block;
  padding-right: 1rem;
  margin-bottom: 1.9rem;
  color: #070e29;
  font-size: 2.2rem;
  font-family: source-serif-pro, serif;
  font-weight: 400;
  letter-spacing: 0.11em;
  border-bottom: 1px solid #070e29;
}
@media screen and (max-width: 479px) {
  .p-news__label {
    padding-right: 0.7rem;
    margin-bottom: 1.3rem;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 479px) {
  .p-news__termList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-news__termItem {
  position: relative;
  padding-left: 2.3rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 479px) {
  .p-news__termItem {
    width: 33.3333333333%;
    padding-left: 1.3rem;
    margin-bottom: 0.7rem;
  }
}
.p-news__termItem--current:before {
  position: absolute;
  top: 1.5rem;
  left: 0;
  width: 0.9rem;
  height: 0.9rem;
  background-color: #070e29;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-news__termItem--current:before {
    top: 0.8rem;
    width: 0.5rem;
    height: 0.5rem;
  }
}
.p-news__termItem a {
  display: inline-block;
  color: #777777;
  font-family: source-serif-pro, serif;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  text-transform: uppercase;
}
@media screen and (max-width: 479px) {
  .p-news__termItem a {
    font-size: 1.3rem;
  }
}
.p-news__termItem--all a {
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
}
@media screen and (max-width: 479px) {
  .p-news__termItem--all a {
    font-size: 1.2rem;
  }
}

.p-news__termItem--current a, .p-news__termItem a:hover {
  color: #070e29;
}

.p-news__wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding-top: 0.6rem;
  margin-bottom: 12.4rem;
}
@media screen and (max-width: 479px) {
  .p-news__wrapper {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    margin-bottom: 5.7rem;
  }
}
.p-news__list {
  margin-bottom: 6.1rem;
}
@media screen and (max-width: 479px) {
  .p-news__list {
    margin-bottom: 2.2rem;
  }
}
.p-news__item {
  padding: 0 0.5rem 0.7rem;
  border-bottom: 1px solid #d6d6d6;
}
@media screen and (max-width: 479px) {
  .p-news__item {
    padding: 0 0.5rem 1rem;
  }
}
.p-news__item + .p-news__item {
  margin-top: 2.4rem;
}
@media screen and (max-width: 479px) {
  .p-news__item + .p-news__item {
    margin-top: 1.2rem;
  }
}
.p-news__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.4rem;
}
.p-news__date {
  width: 15.3rem;
  padding-right: 2rem;
  color: #a5a5a5;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 479px) {
  .p-news__date {
    width: 5rem;
    padding-right: 0;
    margin-right: 1rem;
    font-size: 1rem;
  }
}
.p-news__date--ml {
  margin-left: 1.7rem;
}
.p-news__date--ml:has(+ .p-case__category) {
  margin-left: 0;
  width: 13rem;
}
@media screen and (max-width: 479px) {
  .p-news__date--ml:has(+ .p-case__category) {
    width: 8rem;
  }
}
.p-news__category a {
  position: relative;
  padding: 0.3rem 1.2rem;
  color: #fff;
  font-family: source-serif-pro, serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-news__category a {
    padding: 0.3rem 0.8rem;
  }
}
.p-news__category--news a {
  background-color: #ff9d00;
}

.p-news__category--event a {
  background-color: #f4bb19;
}

.p-news__category a:hover {
  -webkit-filter: brightness(1.15);
          filter: brightness(1.15);
}
.p-news__name a {
  color: #353535;
  font-size: 1.6rem;
  font-weight: 300;
  background: -webkit-gradient(linear, left top, right top, from(rgba(235, 106, 26, 0.3)), color-stop(50%, rgba(235, 106, 26, 0.3)), color-stop(50%, transparent)) no-repeat;
  background: linear-gradient(to right, rgba(235, 106, 26, 0.3), rgba(235, 106, 26, 0.3) 50%, transparent 50%) no-repeat;
  background-size: 200% 0.4rem;
  background-position: 101% 84%;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-news__name a {
    font-size: 1.1rem;
  }
}
.p-news__name a:hover {
  background-position: 0% 84%;
}

/* ------------------------------
* p-singlePost
------------------------------ */
.p-singlePost__box {
  border-bottom: 1px solid #d6d6d6;
  padding-top: 1.2rem;
  padding-bottom: 1rem;
  margin-bottom: 3.1rem;
}
@media screen and (max-width: 479px) {
  .p-singlePost__box {
    padding-top: 0;
    padding-bottom: 0.7rem;
    margin-bottom: 2.2rem;
  }
}
.p-singlePost__box--pt {
  padding: 0.4rem;
  margin-bottom: 2.5rem;
}
.p-singlePost__title {
  padding-top: 0.2rem;
  color: #2d2d2d;
  font-size: 2.6rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.3;
}
.p-singlePost__title--small {
  font-size: 2.2rem;
}
@media screen and (max-width: 479px) {
  .p-singlePost__title {
    font-size: 1.5rem;
  }
}
.p-singlePost__wrapper {
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 3rem;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.75;
  word-break: break-all;
}
._case .p-singlePost__wrapper {
  padding-top: 5rem;
}
@media screen and (max-width: 479px) {
  ._case .p-singlePost__wrapper {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 479px) {
  .p-singlePost__wrapper {
    font-size: 1.2rem;
    line-height: 2;
  }
}
.p-singlePost__wrapper > *:first-child {
  margin-top: 0 !important;
}
.p-singlePost__wrapper h2 {
  position: relative;
  padding-left: 2em;
  margin: 2em 0 1.5em;
  font-size: 1.28em;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-singlePost__wrapper h2:before {
  position: absolute;
  top: 0.24em;
  left: 0;
  width: 1em;
  height: 1em;
  background-color: #ff9d00;
  content: "";
}
.p-singlePost__wrapper h3 {
  margin: 2em 0 1.5em;
  font-size: 1.15em;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.p-singlePost__wrapper h4 {
  padding: 0 1em;
  margin: 1em 0;
  font-size: 1.02em;
}
.p-singlePost__wrapper p {
  margin: 1.5em 0;
  font-size: 1em;
  letter-spacing: 0.1em;
}
.p-singlePost__wrapper ul {
  margin: 1.5em 0;
}
.p-singlePost__wrapper li {
  font-size: 1em;
  line-height: 2.1;
}
.p-singlePost__wrapper img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 75rem;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.p-singlePost__wrapper table {
  width: 100%;
  padding: 0.1rem 0;
  margin: 1.5em auto 1.5em;
}
.p-singlePost__wrapper table tr:first-child td {
  width: 25.7%;
}
@media screen and (max-width: 479px) {
  .p-singlePost__wrapper table tr:first-child td {
    width: 100%;
  }
}
.p-singlePost__wrapper table th {
  width: 25.7%;
  padding: 1rem;
  font-size: 0.9em;
  text-align: left;
}
@media screen and (max-width: 479px) {
  .p-singlePost__wrapper table th {
    padding: 0.7rem 0.5rem;
    display: block;
    width: 100%;
  }
}
.p-singlePost__wrapper table td {
  padding: 1rem 0.5rem;
  font-size: 0.9em;
}
@media screen and (max-width: 479px) {
  .p-singlePost__wrapper table td {
    padding: 0.7rem 0.5rem;
    display: block;
    width: 100%;
  }
}
.p-singlePost__wrapper a {
  position: relative;
  display: inline-block;
  color: #1348ad;
  font-size: 1em;
  text-decoration: underline;
}
.p-singlePost__wrapper a:hover {
  opacity: 0.7;
}
.p-singlePost-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-singlePost-btn a {
  position: relative;
  border-radius: 0 2rem 0 2rem;
  padding: 0.8rem 3rem 0.8rem 4rem;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-singlePost-btn a {
    border-radius: 0 1rem 0 1rem;
    padding: 0.3rem 1rem 0.4rem;
    font-size: 1.3rem;
  }
}
.p-singlePost-btn a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2rem 0 2rem 0;
  content: "";
  z-index: -2;
}
.p-singlePost-btn a:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2rem 0 2rem 0;
  background-color: rgba(255, 255, 255, 0.62);
  content: "";
  -webkit-transform: scale(0);
          transform: scale(0);
  z-index: -1;
}
.p-singlePost-btn a:hover:after {
  -webkit-transform: scale(0.92, 0.8);
          transform: scale(0.92, 0.8);
}

.p-singlePost .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
}
.p-singlePost .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ------------------------------
* p-privacy
------------------------------ */
@media screen and (max-width: 479px) {
  .p-privacy {
    margin-bottom: 4rem;
  }
}
.p-privacy__list {
  padding-top: 8.6rem;
  margin-bottom: 11.1rem;
  counter-reset: number;
}
@media screen and (max-width: 479px) {
  .p-privacy__list {
    padding-top: 2.2rem;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-privacy__list + .p-privacy__list {
    margin-top: 2.2rem;
  }
}
.p-privacy__item + .p-privacy__item {
  margin-top: 6rem;
}
@media screen and (max-width: 479px) {
  .p-privacy__item + .p-privacy__item {
    margin-top: 2rem;
  }
}
.p-privacy__lead {
  position: relative;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 0.5rem;
  padding-left: 6.7rem;
  margin-bottom: 1.1rem;
  color: #000;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-privacy__lead {
    padding-left: 3.4rem;
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
}
.p-privacy__lead:before {
  position: absolute;
  top: 0.7rem;
  left: 0;
  width: 2.3rem;
  height: 2.3rem;
  background-color: #070e29;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-privacy__lead:before {
    top: 0.5rem;
    width: 1.2rem;
    height: 1.2rem;
  }
}
.p-privacy__lead:after {
  position: absolute;
  top: 0;
  left: 4.3rem;
  counter-increment: number;
  content: counter(number) ".";
}
@media screen and (max-width: 479px) {
  .p-privacy__lead:after {
    left: 2rem;
  }
}
.p-privacy__text {
  font-size: 1.6rem;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-privacy__text {
    font-size: 1rem;
  }
}

/* ------------------------------
* p-programSolution
------------------------------ */
.p-programSolution__wrapper {
  background-color: #f4f4f4;
  padding-bottom: 4.7rem;
  padding-top: 8rem;
}
@media screen and (max-width: 479px) {
  .p-programSolution__wrapper {
    padding-top: 2.2rem;
  }
}
.p-programSolution__container {
  width: 61%;
}
.p-programSolution__list {
  width: 100%;
  margin-bottom: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 479px) {
  .p-programSolution__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-programSolution__item {
  position: relative;
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .p-programSolution__item {
    width: 47%;
    margin-right: 6%;
  }
}
@media screen and (max-width: 767px) {
  .p-programSolution__item {
    width: 43%;
    margin-right: 14%;
  }
}
@media screen and (max-width: 479px) {
  .p-programSolution__item {
    width: 100%;
    margin-right: 0 !important;
  }
}
.p-programSolution__item:nth-child(2n) {
  margin-right: 0;
}
@media screen and (max-width: 479px) {
  .p-programSolution__item + .p-programSolution__item {
    margin-top: 2.2rem;
  }
}
.p-programSolution__item--thumb {
  margin-bottom: 3.6rem;
  width: 62.5%;
}
@media screen and (max-width: 479px) {
  .p-programSolution__item--thumb {
    margin-bottom: 1.4rem;
  }
}
.p-programSolution__item--thumb img {
  width: 100%;
  margin: 0 auto;
}
.p-programSolution__item--name {
  margin: 0 auto;
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-programSolution__item--name {
    font-size: 1.3rem;
  }
}
.p-programSolution__sub {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 600;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  background-color: #fff;
  padding: 1.5rem 5rem;
}
.p-programSolution__sub span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-programSolution__sub {
    width: 100%;
    font-size: 1.3rem;
    padding: 1.5rem 2.5rem;
  }
}

/* ------------------------------
* p-programChange
------------------------------ */
.p-programChange__wrapper {
  padding-top: 8rem;
  position: relative;
  margin-bottom: 0.6rem;
}
.p-programChange__wrapper h2 {
  margin-bottom: 6.4rem;
}
.p-programChange__container {
  border-bottom: 1px solid #e5e5e5;
  position: relative;
  padding-bottom: 7.9rem;
}
.p-programChange__container:before, .p-programChange__container:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #e5e5e5;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-programChange__container:before, .p-programChange__container:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-programChange__container:before {
  left: -0.3rem;
}
.p-programChange__container:after {
  right: -0.3rem;
}
.p-programChange__list {
  padding: 6rem 4.5rem 5.5rem;
  margin: 0 auto 4.4rem auto;
  width: 100%;
  font-size: 1.6rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-weight: 600;
  background-color: #f9f9f8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-programChange__list span {
  color: #ec6a1a;
}
.p-programChange__list span + span {
  color: #000;
}
@media screen and (max-width: 479px) {
  .p-programChange__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem;
    font-size: 1.1rem;
  }
}
.p-programChange__list--term {
  -ms-flex-preferred-size: 33%;
      flex-basis: 33%;
  padding: 20px 0;
}
.p-programChange__list--arrow {
  position: relative;
  -ms-flex-preferred-size: 22%;
      flex-basis: 22%;
  padding: 2rem;
}
.p-programChange__list--arrow::before {
  position: absolute;
  top: 50%;
  width: calc(100% - 4rem);
  height: 0.1rem;
  background-color: #000;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-programChange__list--arrow::before {
    width: 100%;
    left: 0;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.p-programChange__list--arrow::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  content: "";
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
}
@media screen and (max-width: 479px) {
  .p-programChange__list--arrow::after {
    top: calc(75% + 0.25rem);
    -webkit-transform: rotate(135deg) translateY(-75%);
            transform: rotate(135deg) translateY(-75%);
  }
}
.p-programChange__list--desc {
  -ms-flex-preferred-size: 45%;
      flex-basis: 45%;
  padding: 20px 0 20px 20px;
}
.p-programChange__list--italic {
  font-style: italic;
}
.p-programChange__text {
  font-size: 1.6rem;
  text-align: justify;
}
@media screen and (max-width: 479px) {
  .p-programChange__text {
    font-size: 1.1rem;
  }
}

/* ------------------------------
* p-programApproach
------------------------------ */
.p-programApproach__wrapper {
  position: relative;
  padding-top: 8rem;
  margin-bottom: 9rem;
}
.p-programApproach__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  margin-top: 8rem;
  margin-bottom: 6.2rem;
}
@media screen and (max-width: 479px) {
  .p-programApproach__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 4.2rem;
  }
}
.p-programApproach__item {
  width: 46%;
  padding-bottom: 2rem;
  position: relative;
}
@media screen and (max-width: 479px) {
  .p-programApproach__item {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.p-programApproach__item--title {
  font-size: 2rem;
  text-align: center;
  padding: 1.2rem 0;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 479px) {
  .p-programApproach__item--title {
    font-size: 1.3rem;
  }
}
.p-programApproach__item--do {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 5.4rem;
}
.p-programApproach__item--do span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-programApproach__item--do {
    font-size: 1.8rem;
  }
}
.p-programApproach__item--result {
  margin: 0 auto;
  padding: 2.5rem 5.5rem;
  width: 88%;
  font-size: 2rem;
  font-weight: 600;
  background-color: #fff;
  list-style: disc;
  list-style-position: outside;
}
@media screen and (max-width: 479px) {
  .p-programApproach__item--result {
    padding: 1.5rem 2.5rem;
    font-size: 1.3rem;
  }
}
.p-programApproach__item:first-child {
  background-color: #f9f9f8;
}
.p-programApproach__item:first-child p:first-child {
  color: #fff;
  background-color: #606060;
}
.p-programApproach__item:last-child {
  background-color: #f9f6ee;
}
.p-programApproach__item:last-child p:first-child {
  color: #fff;
  background-color: #ec6a1a;
}
.p-programApproach__item::before, .p-programApproach__item::after {
  position: absolute;
  height: 0.9526279442rem;
  width: 3.3rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #000;
  content: "";
}
.p-programApproach__item::before {
  top: 52%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 479px) {
  .p-programApproach__item::before {
    top: 55%;
  }
}
.p-programApproach__item::after {
  top: 55%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 479px) {
  .p-programApproach__item::after {
    top: 58.5%;
  }
}
.p-programApproach__item:first-child::before, .p-programApproach__item:first-child::after {
  background-color: #606060;
}
.p-programApproach__item:last-child::before, .p-programApproach__item:last-child::after {
  background-color: #ec6a1a;
}
.p-programApproach__sub {
  font-size: 2.4rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  text-align: center;
  padding: 1.8rem 6rem;
  background-color: #f9f6ee;
}
.p-programApproach__sub span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-programApproach__sub {
    padding: 1.5rem;
    font-size: 1.3rem;
  }
}

/* ------------------------------
* p-programReason
------------------------------ */
.p-programReason__wrapper {
  padding-top: 12rem;
  background-color: #f9f6ee;
}
.p-programReason__container {
  margin-top: 8rem;
  padding-bottom: 13.3rem;
}
@media screen and (max-width: 479px) {
  .p-programReason__container {
    padding-bottom: 4rem;
  }
}
.p-programReason__list {
  width: 100%;
}
.p-programReason__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 6rem;
}
@media screen and (max-width: 479px) {
  .p-programReason__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-programReason__thumb {
  width: 45%;
  margin-right: 5%;
}
@media screen and (max-width: 479px) {
  .p-programReason__thumb {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }
}
.p-programReason__right {
  width: 50%;
}
@media screen and (max-width: 479px) {
  .p-programReason__right {
    width: 100%;
  }
}
.p-programReason__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 3.2rem;
  margin-bottom: 2.4rem;
  border-bottom: 1px solid #d8d8d8;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
}
@media screen and (max-width: 479px) {
  .p-programReason__sub {
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.p-programReason__sub--ico {
  width: 6.3rem;
  height: 6.3rem;
  margin-right: 1.7rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-programReason__sub--num {
  font-size: 1.6rem;
  color: #969696;
  font-weight: 700;
}
@media screen and (max-width: 479px) {
  .p-programReason__sub--num {
    font-size: 1.1rem;
  }
}
.p-programReason__sub--no {
  font-size: 2.4rem;
  color: #000;
}
.p-programReason__sub--no span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-programReason__sub--no {
    font-size: 1.3rem;
  }
}
.p-programReason__sub--txt {
  font-size: 2rem;
  font-weight: 600;
}
@media screen and (max-width: 479px) {
  .p-programReason__sub--txt {
    font-size: 1.3rem;
  }
}
.p-programReason__text {
  font-size: 1.4rem;
}
@media screen and (max-width: 479px) {
  .p-programReason__text {
    font-size: 1.1rem;
  }
}
.p-programReason__bottom {
  position: relative;
}
.p-programReason__bottom--ico {
  width: 10rem;
  height: 10rem;
  position: absolute;
  top: 0;
  right: 0;
}
.p-programReason__bottom--ico img {
  width: 100%;
  height: 100%;
}

/* ------------------------------
* p-programTraining
------------------------------ */
.p-programTraining__wrapper {
  position: relative;
  padding-top: 8rem;
  padding-bottom: 6.6rem;
}
@media screen and (max-width: 479px) {
  .p-programTraining__wrapper {
    padding-bottom: 3.3rem;
  }
}
.p-programTraining__container {
  margin-top: 4rem;
}
.p-programTraining__sub {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (max-width: 479px) {
  .p-programTraining__sub {
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
  }
}
.p-programTraining__thumb {
  position: relative;
  margin-bottom: 4.8rem;
  width: 100%;
}
@media screen and (max-width: 479px) {
  .p-programTraining__thumb {
    margin-bottom: 2.4rem;
  }
}
.p-programTraining__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-programTraining__thumb:before {
  position: absolute;
  top: 2%;
  left: 1%;
  width: 100%;
  height: 100%;
  border: 0.2rem solid #efefef;
  content: "";
  z-index: -1;
}
.p-programTraining__txt {
  font-size: 2rem;
  text-align: center;
}
.p-programTraining__txt span {
  font-weight: 600;
}
@media screen and (max-width: 479px) {
  .p-programTraining__txt {
    font-size: 1.3rem;
  }
}

/* ------------------------------
* p-programSupport
------------------------------ */
.p-programSupport__wrapper {
  position: relative;
  padding-top: 8.8rem;
  padding-bottom: 8.8rem;
  background-color: #f9f6ee;
}
.p-programSupport__wrapper h2 > p > span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-programSupport__wrapper {
    padding-top: 3rem;
  }
  .p-programSupport__wrapper h2 > p {
    width: 60%;
  }
}
.p-programSupport__wrapper::after {
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
  height: 7.0610225448rem;
  width: 38.8rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #fff;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-programSupport__wrapper::after {
    height: 2.1838214056rem;
    width: 12rem;
  }
}
.p-programSupport__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 5.9rem;
}
@media screen and (max-width: 479px) {
  .p-programSupport__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 3rem;
  }
}
.p-programSupport__item {
  width: 46%;
  height: auto;
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.p-programSupport__item:first-child {
  margin-right: 8%;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item:first-child {
    margin-right: 0;
  }
}
.p-programSupport__item--left {
  height: 25.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-programSupport__item--right {
  height: 25.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item--right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 42rem;
  }
}
.p-programSupport__item--left, .p-programSupport__item--right {
  border-bottom: 1px solid #e5e5e5;
  position: relative;
}
.p-programSupport__item--left:before, .p-programSupport__item--left:after, .p-programSupport__item--right:before, .p-programSupport__item--right:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #e5e5e5;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-programSupport__item--left:before, .p-programSupport__item--left:after, .p-programSupport__item--right:before, .p-programSupport__item--right:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-programSupport__item--left:before, .p-programSupport__item--right:before {
  left: -0.3rem;
}
.p-programSupport__item--left:after, .p-programSupport__item--right:after {
  right: -0.3rem;
}
.p-programSupport__item--thumbL {
  height: 22.5rem;
}
.p-programSupport__item--thumbL img {
  height: 100%;
}
.p-programSupport__item--thumbR {
  width: 70%;
  margin-right: 7.8%;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item--thumbR {
    margin-right: 0;
    margin-bottom: 1rem;
  }
}
.p-programSupport__item--thumbR img {
  width: 100%;
  margin-bottom: 0.5rem;
}
.p-programSupport__item--thumbR figcaption {
  text-align: center;
  font-size: 1.6rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item--thumbR figcaption {
    font-size: 1.1rem;
  }
}
.p-programSupport__item--list {
  font-size: 1.4rem;
  list-style-type: disc;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item--list {
    font-size: 1.1rem;
  }
}
.p-programSupport__item--list li {
  margin-bottom: 1.5rem;
}
.p-programSupport__item--list li:last-child {
  margin-bottom: 0;
}
.p-programSupport__item--list li span {
  font-weight: 600;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item--list li {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}
.p-programSupport__item--toDo {
  position: relative;
  font-size: 2rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-weight: 500;
  width: 100%;
  height: 9.3rem;
}
@media screen and (max-width: 479px) {
  .p-programSupport__item--toDo {
    font-size: 1.3rem;
    height: 6rem;
  }
}
.p-programSupport__item--toDo p {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}
.p-programSupport__item--toDo p span {
  color: #ec6a1a;
}
.p-programSupport__text {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-programSupport__text {
    padding: 2rem;
    font-size: 1.3rem;
  }
}

/* ------------------------------
* p-programFlow
------------------------------ */
.p-programFlow__wrapper {
  padding-top: 8rem;
  padding-bottom: 8.7rem;
}
.p-programFlow__list {
  width: 90%;
  margin-top: 9.5rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-programFlow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #f1f2f2;
  padding: 2rem 2.5rem;
  margin-bottom: 3.8rem;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 479px) {
  .p-programFlow__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-programFlow__item::after {
  top: 99.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
  height: 2.5rem;
  width: 5rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #f1f2f2;
  content: "";
}
.p-programFlow__item:last-child {
  background-color: #f9f6ee;
}
.p-programFlow__item:last-child::after {
  display: none;
}
.p-programFlow__item--left {
  margin-right: 5%;
}
.p-programFlow__item--left img {
  max-width: 141px;
  max-height: 141px;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 479px) {
  .p-programFlow__item--left {
    margin-right: 0;
  }
  .p-programFlow__item--left img {
    margin: 0 auto 2rem auto;
  }
}
.p-programFlow__item--right {
  width: 100%;
}
.p-programFlow__item--right h3 {
  position: relative;
  font-size: 2rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #969696;
}
@media screen and (max-width: 479px) {
  .p-programFlow__item--right h3 {
    font-size: 1.3rem;
    text-align: center;
    padding-bottom: 1rem;
  }
}
.p-programFlow__item--right h3:before, .p-programFlow__item--right h3:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #969696;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-programFlow__item--right h3:before, .p-programFlow__item--right h3:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-programFlow__item--right h3:before {
  left: -0.3rem;
}
.p-programFlow__item--right h3:after {
  right: -0.3rem;
}
.p-programFlow__item--right p {
  font-size: 1.4rem;
  margin-top: 1.6em;
}
@media screen and (max-width: 479px) {
  .p-programFlow__item--right p {
    font-size: 1rem;
    margin: 1.2rem auto 0 auto;
    width: 90%;
  }
}
.p-programFlow__text {
  width: 90%;
  font-size: 1.6rem;
  margin: 0 auto;
  text-align: justify;
}
@media screen and (max-width: 479px) {
  .p-programFlow__text {
    font-size: 1.1rem;
  }
}

/* ------------------------------
* p-freeReal
------------------------------ */
.p-freeReal__wrapper {
  background-color: #f4f4f4;
  padding-top: 4rem;
  padding-bottom: 5.7rem;
}
.p-freeReal__wrapper > h2 > p > span {
  color: #ec6a1a;
}
.p-freeReal__txt, .p-freeReal__text {
  font-size: 1.6rem;
}
@media screen and (max-width: 479px) {
  .p-freeReal__txt, .p-freeReal__text {
    font-size: 1.1rem;
  }
}
.p-freeReal__txt {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 6.6rem;
  width: 60.6%;
}
@media screen and (max-width: 479px) {
  .p-freeReal__txt {
    width: 80%;
    text-align: justify;
  }
}
.p-freeReal__text {
  text-align: center;
  margin-bottom: 2.4rem;
}
.p-freeReal__sub {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 600;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem 4rem;
  width: 45%;
}
@media screen and (max-width: 479px) {
  .p-freeReal__sub {
    font-size: 1.3rem;
    width: 100%;
  }
}
.p-freeReal__sub span {
  color: #ec6a1a;
}
.p-freeReal__thumb {
  margin-bottom: 4rem;
}
.p-freeReal__thumb img {
  margin-left: auto;
  margin-right: auto;
}

/* ------------------------------
* p-freeReason
------------------------------ */
.p-freeReason__wrapper {
  position: relative;
  padding-top: 8rem;
  padding-bottom: 17rem;
}
@media screen and (max-width: 479px) {
  .p-freeReason__wrapper {
    padding-bottom: 8rem;
  }
}
.p-freeReason__container:first-child {
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  border-bottom: 1px solid #969696;
}
.p-freeReason__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4rem;
}
.p-freeReason__icon {
  width: 6.3rem;
  height: 6.3rem;
  margin-right: 2%;
}
.p-freeReason__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-freeReason__right {
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  width: 75%;
}
.p-freeReason__right--num {
  font-size: 1.6rem;
  color: #969696;
  font-weight: 700;
}
@media screen and (max-width: 479px) {
  .p-freeReason__right--num {
    font-size: 1.1rem;
  }
}
.p-freeReason__right--no {
  font-size: 2.4rem;
  color: #000;
}
.p-freeReason__right--no span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-freeReason__right--no {
    font-size: 1.3rem;
  }
}
.p-freeReason__right--txt {
  font-size: 2rem;
  font-weight: 600;
}
@media screen and (max-width: 479px) {
  .p-freeReason__right--txt {
    font-size: 1.3rem;
  }
}
.p-freeReason__txt {
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
.p-freeReason__txt span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-freeReason__txt {
    font-size: 1.1rem;
  }
}
.p-freeReason__txt--2 {
  font-size: 2.4rem;
  font-weight: 600;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  text-align: center;
  margin-bottom: 4rem;
}
.p-freeReason__list--top, .p-freeReason__list--bottom {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 479px) {
  .p-freeReason__list--top, .p-freeReason__list--bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-freeReason__list--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-freeReason__item--top, .p-freeReason__item--bottom {
  width: 32%;
  margin-bottom: 2rem;
}
@media screen and (max-width: 479px) {
  .p-freeReason__item--top, .p-freeReason__item--bottom {
    width: 100%;
    margin-bottom: 4rem;
  }
  .p-freeReason__item--top:last-child, .p-freeReason__item--bottom:last-child {
    margin-bottom: 0;
  }
}
.p-freeReason__item--thumb {
  margin-bottom: 1.3rem;
  width: 100%;
}
.p-freeReason__item--thumb img {
  width: 100%;
}
.p-freeReason__item--sub {
  font-size: 1.6rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-weight: 600;
  margin-bottom: 1.4rem;
}
@media screen and (max-width: 479px) {
  .p-freeReason__item--sub {
    font-size: 1.1rem;
  }
}
.p-freeReason__item--sub span {
  color: #ec6a1a;
}
.p-freeReason__item--txt {
  font-size: 1.4rem;
}
@media screen and (max-width: 479px) {
  .p-freeReason__item--txt {
    font-size: 1.1rem;
  }
}
.p-freeReason__item--2col {
  width: 40%;
}
@media screen and (max-width: 479px) {
  .p-freeReason__item--2col {
    width: 100%;
  }
}
.p-freeReason__item--2col:first-child {
  margin-right: 10%;
}

/* ------------------------------
* p-freeService
------------------------------ */
.p-freeService__wrapper {
  position: relative;
  background-color: #f9f6ee;
}
.p-freeService__container {
  padding-top: 7rem;
  padding-bottom: 6rem;
}
.p-freeService__title {
  width: 77%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 479px) {
  .p-freeService__title {
    width: 100%;
  }
}
.p-freeService__title--txt {
  text-align: center;
  font-size: 2rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  color: #fff;
  background-color: #070e29;
  padding: 0.9rem 3rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 479px) {
  .p-freeService__title--txt {
    font-size: 1.3rem;
  }
}
.p-freeService__title--thumb {
  width: 70%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 479px) {
  .p-freeService__title--thumb {
    width: 100%;
  }
}
.p-freeService__title--thumb img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-freeService__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 479px) {
  .p-freeService__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-freeService__item {
  width: 48.5%;
  padding: 2.4rem 1.5rem;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 479px) {
  .p-freeService__item {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.p-freeService__item--top {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
}
.p-freeService__item--top figure {
  width: 20%;
  margin-right: 3%;
}
.p-freeService__item--top figure img {
  width: 100%;
}
.p-freeService__item--top p {
  width: 80%;
  font-size: 1.8rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-weight: 600;
}
@media screen and (max-width: 1300px) {
  .p-freeService__item--top p {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 479px) {
  .p-freeService__item--top p {
    font-size: 1.2rem;
  }
}
.p-freeService__item--top p span {
  color: #ec6a1a;
}
.p-freeService__item--top:before, .p-freeService__item--top:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #e5e5e5;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-freeService__item--top:before, .p-freeService__item--top:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-freeService__item--top:before {
  left: -0.3rem;
}
.p-freeService__item--top:after {
  right: -0.3rem;
}
.p-freeService__item--italic {
  font-style: italic;
}
.p-freeService__item--bottom {
  font-size: 1.4rem;
}
@media screen and (max-width: 479px) {
  .p-freeService__item--bottom {
    font-size: 1.1rem;
  }
}
.p-freeService__item--ico {
  position: absolute;
  bottom: 2.4rem;
  right: 1.5rem;
  width: 20%;
}
.p-freeService__item--ico img {
  width: 100%;
}

/* ------------------------------
* p-freeFeatures
------------------------------ */
.p-freeFeatures__wrapper {
  position: relative;
  padding-top: 8rem;
}
.p-freeFeatures__container {
  padding-top: 8rem;
  margin-bottom: 8rem;
}
.p-freeFeatures__list {
  width: 100%;
}
.p-freeFeatures__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 6rem;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-freeFeatures__thumb {
  width: 40%;
  margin-right: 5%;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__thumb {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1rem;
  }
}
.p-freeFeatures__right {
  width: 55%;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__right {
    width: 100%;
  }
}
.p-freeFeatures__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 3.2rem;
  margin-bottom: 2.4rem;
  border-bottom: 1px solid #d8d8d8;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__sub {
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.p-freeFeatures__sub--ico {
  width: 6.3rem;
  height: 6.3rem;
  margin-right: 1.7rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-freeFeatures__sub--num {
  font-size: 1.6rem;
  color: #969696;
  font-weight: 700;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__sub--num {
    font-size: 1.1rem;
  }
}
.p-freeFeatures__sub--no {
  font-size: 2.4rem;
  color: #000;
}
.p-freeFeatures__sub--no span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__sub--no {
    font-size: 1.3rem;
  }
}
.p-freeFeatures__sub--txt {
  font-size: 2rem;
  font-weight: 600;
}
.p-freeFeatures__sub--txt span {
  color: #ec6a1a;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__sub--txt {
    font-size: 1.2rem;
  }
}
.p-freeFeatures__text {
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 479px) {
  .p-freeFeatures__text {
    font-size: 1.1rem;
  }
}
.p-freeFeatures__bottom {
  position: relative;
}
.p-freeFeatures__bottom--ico {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 25%;
}
.p-freeFeatures__bottom--ico img {
  width: 100%;
}

/* ------------------------------
* p-freeContact
------------------------------ */
.p-freeContact {
  position: relative;
  background-color: #f4f4f4;
  padding-top: 4.6rem;
  padding-bottom: 6.2rem;
}
@media screen and (max-width: 479px) {
  .p-freeContact {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.p-freeContact__wrapper {
  position: relative;
  z-index: 1;
}
.p-freeContact__text {
  padding-top: 0.8rem;
  margin-bottom: 2rem;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-freeContact__text {
    padding-top: 0;
    margin-bottom: 1.4rem;
    font-size: 1rem;
  }
}
.p-freeContact__button a {
  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;
  width: 90%;
  max-width: 31.2rem;
  height: 4.2rem;
  margin: 0 auto;
  border: 1px solid #000;
  background-color: #fff;
  color: #353535;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s background-color ease, 0.5s color ease;
  transition: 0.5s background-color ease, 0.5s color ease;
}
@media screen and (max-width: 479px) {
  .p-freeContact__button a {
    font-size: 1.2rem;
  }
}
.p-freeContact__button a:hover {
  color: #fff;
  background-color: #070e29;
}

/* ------------------------------
* p-freeAchievements
------------------------------ */
.p-freeAchievements__wrapper {
  padding-top: 8.8rem;
  margin-bottom: 7rem;
}
.p-freeAchievements__wrapper h2 > p > span {
  color: #ec6a1a;
}
.p-freeAchievements__thumb {
  margin-bottom: 4rem;
}
.p-freeAchievements__thumb img {
  margin-left: auto;
  margin-right: auto;
}
.p-freeAchievements__text {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-freeAchievements__text {
    font-size: 1.1rem;
  }
}
.p-freeAchievements__text span {
  color: #ec6a1a;
}

/* ------------------------------
* p-freeAdoption-rate
------------------------------ */
.p-freeAdoption-rate__wrapper {
  padding-top: 8.8rem;
  padding-bottom: 8.5rem;
  margin-bottom: 7rem;
  background-color: #f4f4f4;
}
.p-freeAdoption-rate__wrapper h2 > p > span {
  color: #ec6a1a;
}
.p-freeAdoption-rate__thumb {
  margin-bottom: 4rem;
}
.p-freeAdoption-rate__thumb img {
  margin-left: auto;
  margin-right: auto;
}
.p-freeAdoption-rate__text {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .p-freeAdoption-rate__text {
    font-size: 1.1rem;
  }
}
.p-freeAdoption-rate__text span {
  color: #ec6a1a;
}

/* ------------------------------
* p-freeBuisiness-model
------------------------------ */
.p-freeBuisiness-model__wrapper {
  position: relative;
  padding-top: 8.8rem;
  margin-bottom: 7rem;
}
.p-freeBuisiness-model__wrapper h2 > p > span {
  color: #ec6a1a;
}
.p-freeBuisiness-model__container {
  position: relative;
  padding-bottom: 5rem;
  border-bottom: 1px solid #e5e5e5;
}
.p-freeBuisiness-model__container:before, .p-freeBuisiness-model__container:after {
  position: absolute;
  bottom: -0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #e5e5e5;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-freeBuisiness-model__container:before, .p-freeBuisiness-model__container:after {
    bottom: -0.3rem;
    width: 0.4rem;
    height: 0.4rem;
  }
}
.p-freeBuisiness-model__container:before {
  left: -0.3rem;
}
.p-freeBuisiness-model__container:after {
  right: -0.3rem;
}
.p-freeBuisiness-model__thumb {
  margin-bottom: 4rem;
}
.p-freeBuisiness-model__thumb img {
  margin-left: auto;
  margin-right: auto;
}
.p-freeBuisiness-model__text {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 479px) {
  .p-freeBuisiness-model__text {
    font-size: 1.1rem;
  }
}
.p-freeBuisiness-model__text span {
  color: #ec6a1a;
}

/* ------------------------------
* p-freePrice
------------------------------ */
.p-freePrice__wrapper {
  position: relative;
}
.p-freePrice__container {
  padding-bottom: 8rem;
}
.p-freePrice__list {
  padding: 4rem 4.5rem;
  margin-left: auto;
  margin-right: auto;
  width: 80%;
  font-size: 2rem;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-weight: 600;
  background-color: #f9f6ee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 479px) {
  .p-freePrice__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem;
    font-size: 1.3rem;
  }
}
.p-freePrice__list--term {
  -ms-flex-preferred-size: 37%;
      flex-basis: 37%;
  padding: 2rem 0;
}
@media screen and (max-width: 1300px) {
  .p-freePrice__list--term {
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
  }
}
@media screen and (max-width: 479px) {
  .p-freePrice__list--term {
    padding: 1rem 1rem 0 1rem;
  }
}
.p-freePrice__list--arrow {
  position: relative;
  -ms-flex-preferred-size: 33%;
      flex-basis: 33%;
  padding: 2rem;
}
@media screen and (max-width: 1300px) {
  .p-freePrice__list--arrow {
    -ms-flex-preferred-size: 23%;
        flex-basis: 23%;
  }
}
.p-freePrice__list--arrow::before {
  position: absolute;
  top: 50%;
  width: calc(100% - 4rem);
  border-top: 1px dotted #000;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-freePrice__list--arrow::before {
    width: 50%;
    left: 25%;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.p-freePrice__list--desc {
  -ms-flex-preferred-size: 30%;
      flex-basis: 30%;
  padding: 2rem;
}
@media screen and (max-width: 1300px) {
  .p-freePrice__list--desc {
    -ms-flex-preferred-size: 37%;
        flex-basis: 37%;
  }
}
@media screen and (max-width: 479px) {
  .p-freePrice__list--desc {
    padding: 0 1rem 1rem 1rem;
    margin-bottom: 2rem;
  }
}
.p-freePrice__list--italic {
  font-style: italic;
}

/* ------------------------------
* p-sitemap
------------------------------ */
.p-sitemap__nav {
  max-width: 80rem;
  padding-top: 1.7rem;
  margin-right: auto;
  margin-bottom: 7.3rem;
  margin-left: auto;
}
@media screen and (max-width: 479px) {
  .p-sitemap__nav {
    margin-bottom: 4rem;
  }
}
.p-sitemap__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-sitemap__item {
  position: relative;
  width: 30%;
  margin-right: 5%;
  margin-bottom: 6%;
}
@media screen and (max-width: 1024px) {
  .p-sitemap__item {
    width: 31.333%;
    margin-right: 3%;
  }
}
@media screen and (max-width: 479px) {
  .p-sitemap__item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-sitemap__item + .p-sitemap__item {
    margin-top: 1.4rem;
  }
}
.p-sitemap__item:nth-child(3n) {
  margin-right: 0;
}
.p-sitemap__item:before {
  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;
  position: absolute;
  top: calc(50% - 0.8rem);
  right: 5%;
  width: 1.8rem;
  height: 1.8rem;
  background-color: #070e29;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  content: "→";
  pointer-events: none;
}
.p-sitemap__item a {
  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;
  width: 100%;
  height: 4.8rem;
  background-color: #f4f4f4;
  color: #2d2d2d;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .p-sitemap__item a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 479px) {
  .p-sitemap__item a {
    height: 4rem;
    font-size: 1.1rem;
  }
}
.p-sitemap__item--modenaization a {
  padding-right: 3rem;
}
@media screen and (max-width: 479px) {
  .p-sitemap__item--modenaization a {
    padding-right: 0;
  }
}

.p-sitemap__item a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: 1;
}

/* ------------------------------
* p-notFound
------------------------------ */
.p-notFound {
  margin-bottom: 12.4rem;
}
@media screen and (max-width: 479px) {
  .p-notFound {
    margin-bottom: 4rem;
  }
}

/* ------------------------------
* p-case
------------------------------ */
.p-case {
  margin-bottom: 12.3rem;
  max-width: 150rem;
}
@media screen and (max-width: 479px) {
  .p-case {
    margin-bottom: 4rem;
  }
}
.p-case__wrapper {
  border-bottom: 1px solid #d6d6d6;
}
.p-case__termList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 1.7rem;
  margin-bottom: 5.1rem;
}
@media screen and (max-width: 479px) {
  .p-case__termList {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 0;
    margin-bottom: 2.2rem;
  }
}
.p-case__termItem {
  margin-right: 2.2rem;
}
@media screen and (max-width: 479px) {
  .p-case__termItem {
    width: 48%;
    margin-right: 4%;
  }
}
@media screen and (max-width: 479px) {
  .p-case__termItem:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-case__termItem:nth-child(n+3) {
    margin-top: 1.4rem;
  }
}
.p-case__termItem a {
  display: block;
  min-width: 11.6rem;
  border: 1px solid #070e29;
  padding: 0.3rem 1.2rem;
  color: #070e29;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-align: center;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-case__termItem a {
    width: 100%;
    padding: 0.3rem 0.5rem;
    font-size: 1rem;
  }
}
.p-case__termItem--current a, .p-case__termItem a:hover {
  background-color: #2d2d2d;
  border-color: #2d2d2d;
  color: #fff;
}

.p-case__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: -2rem;
}
@media screen and (max-width: 479px) {
  .p-case__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 0;
  }
}
.p-case__item {
  position: relative;
  width: 30%;
  margin-right: 5%;
  margin-bottom: 9.2rem;
}
@media screen and (max-width: 1024px) {
  .p-case__item {
    width: 48%;
    margin-right: 4%;
  }
}
@media screen and (max-width: 479px) {
  .p-case__item {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.p-case__item:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  .p-case__item:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-case__item:nth-child(2n) {
    margin-right: 0 !important;
  }
}
.p-case__thumb {
  position: relative;
  padding-bottom: 67%;
  margin-bottom: 1rem;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.08);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 479px) {
  .p-case__thumb {
    margin-bottom: 0.2rem;
  }
}
.p-case__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.p-case__item:hover .p-case__thumb img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-filter: brightness(1);
          filter: brightness(1);
}
.p-case__flex {
  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-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-case__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (max-width: 479px) {
  .p-case__flex {
    margin-bottom: 0.4rem;
  }
}
.p-case__category {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-case__category {
    margin-right: auto;
  }
}
.p-case__category a {
  display: block;
  padding: 0.7rem 1.1rem;
  background-color: #03143f;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 479px) {
  .p-case__category a {
    padding: 0.4rem 0.5rem 0.6rem;
    font-size: 1rem;
    -webkit-transform: scale(0.9) translateX(-4%);
            transform: scale(0.9) translateX(-4%);
  }
}
.p-case__category a:hover {
  -webkit-filter: brightness(1.7);
          filter: brightness(1.7);
}
.p-case__date {
  margin-left: auto;
  color: #a5a5a5;
  font-size: 1.4rem;
  letter-spacing: 0.19em;
}
@media screen and (max-width: 1024px) {
  .p-case__date {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-case__date {
    margin-right: auto;
    margin-left: 0;
  }
}
@media screen and (max-width: 479px) {
  .p-case__date {
    margin-bottom: 0.2rem;
    font-size: 1rem;
  }
}
.p-case__name a {
  color: #353535;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 479px) {
  .p-case__name a {
    font-size: 1rem;
  }
}
.p-case__name a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  content: "";
}
.p-case__image {
  width: 100%;
  margin-bottom: 4.6rem;
}
@media screen and (max-width: 479px) {
  .p-case__image {
    margin-bottom: 2.2rem;
  }
}
.p-case__image img {
  width: 100%;
}
.p-case__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 5.4rem;
}
@media screen and (max-width: 479px) {
  .p-case__area {
    margin-bottom: 2rem;
  }
}
.p-case__block {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 479px) {
  .p-case__block {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.p-case__area .p-case__block:nth-child(2n+1) {
  padding-right: 3rem;
}
@media screen and (max-width: 479px) {
  .p-case__area .p-case__block:nth-child(2n+1) {
    padding-right: 0;
  }
}
.p-case__area .p-case__block:nth-child(2n) {
  padding-left: 3rem;
}
@media screen and (max-width: 479px) {
  .p-case__area .p-case__block:nth-child(2n) {
    padding-left: 0;
  }
}
.p-case__area .p-case__block:nth-child(2n):before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 93%;
  background-color: #f4f4f4;
  content: "";
}
@media screen and (max-width: 479px) {
  .p-case__area .p-case__block:nth-child(2n):before {
    display: none;
  }
}
@media screen and (max-width: 479px) {
  .p-case__area .p-case__block + .p-case__block {
    margin-top: 2.2rem;
  }
}
.p-case__container .p-case__block + .p-case__block {
  margin-top: 4.6rem;
}
@media screen and (max-width: 479px) {
  .p-case__container .p-case__block + .p-case__block {
    margin-top: 2.2rem;
  }
}
.p-case__label {
  display: inline-block;
  padding: 0.5rem 2.2rem 0.2rem;
  margin-bottom: 1.4rem;
  color: #fff;
  font-family: source-han-serif-japanese, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "MS PMincho", "ＭＳ Ｐ明朝", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 479px) {
  .p-case__label {
    padding: 0.3rem 1.5rem;
    font-size: 1.2rem;
  }
}
.p-case__label--yellow {
  background-color: #f4bb19;
}
.p-case__label--gray {
  background-color: #565656;
}
.p-case__label--orange {
  background-color: #f19117;
}
.p-case__label--vermilion {
  background-color: #ec6a1a;
}
.p-case__description {
  color: #000;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 479px) {
  .p-case__description {
    font-size: 1.1rem;
    line-height: 1.95;
  }
}
.p-case__container {
  background-color: #f4f4f4;
  padding: 5rem 3rem 3.5rem;
  margin-bottom: 8.4rem;
}
@media screen and (max-width: 479px) {
  .p-case__container {
    padding: 2rem 0.7rem 2rem;
    margin-right: -0.7rem;
    margin-bottom: 2rem;
    margin-left: -0.7rem;
  }
}
.p-case__box {
  border-bottom: none;
}
.p-case__post {
  border-bottom: none;
}
.p-case__post figure {
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.p-case__nav {
  border-bottom: none;
}
.p-case__breadcrumb {
  margin-bottom: 5rem;
}

/* ------------------------------
* utility
------------------------------ */
/* ------------------------------
* u-sp
------------------------------ */
.u-sp__block {
  display: none !important;
}
@media screen and (max-width: 479px) {
  .u-sp__block {
    display: block !important;
  }
}
@media screen and (max-width: 479px) {
  .u-sp__none {
    display: none;
  }
}

/* ------------------------------
* u-tablet
------------------------------ */
.u-tablet__block {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .u-tablet__block {
    display: block !important;
  }
}
.u-tablet__none {
  display: block;
}
@media screen and (max-width: 1024px) {
  .u-tablet__none {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */


/* ------------------------------
* blog_20250424
------------------------------ */
.blog-detail .container{
	max-width:100rem;
	width:86%;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:120px;
}
.blog-detail .container p,li{
	font-size:14px;
} 
.blog-detail .main-content ul{
	background-color:#F5F5F5;
	padding:16px 8px;
	margin-bottom:8px;
}
.blog-detail .main-content li{
list-style-type: square;
  list-style-position: inside;
  padding-left: 0; /* または調整 */
  }
.blog-detail h1{
	font-size:24px;
	padding-bottom:12px;
	border-bottom:1px solid #D6D6D6;
}
.blog-detail h3{
	font-size:20px;
	width:100%;
	position: relative;
  display: inline-block; /* 必要に応じて変更 */
  padding-bottom: 10px; 
	margin-bottom:24px;
}
.blog-detail h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px; /* ラインの太さ */
  background: linear-gradient(to right, #EC6A1A 100px, #d6d6d6 0);
}
.blog-detail .blog-tags{
	background-color:#070E29;
	padding:0px 16px;
	color:#fff;
	font-size:12px;
}
.blog-detail h4 {
	margin-top:12px;
	margin-bottom:4px;
	font-size:16px;
  position: relative;
  padding-left: 16px; /* 8px余白 + 9px四方 + α余白 */
}
.blog-detail h4::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  width: 9px;
  height: 9px;
  background-color: #F4BB19;
}
.blog-detail img, picture{
	margin-top:24px;
	margin-bottom:24px;
	width:100%;
	height:auto;
}
.blog-detail .blog-meta{
	margin-top:8px;
	align-items:center;
	display:flex;
	gap:8px;
}
.sidebar-title{
	margin-bottom:8px;
	width:100%;
	font-size:16px;
	font-weight:300;
	position: relative;
  display: inline-block; /* 必要に応じて変更 */
}
.sidebar-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px; /* ラインの太さ */
  background: linear-gradient(to right, #EC6A1A 60px, #d6d6d6 0);
}
	
.sidebar-category-list li{
	font-size:14px;
	padding:12px 0px;
	border-bottom:1px solid #E2E2E2;
	position: relative;
  padding-left: 16px; 
	}
.sidebar-category-list li::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  width: 9px;
  height: 9px;
  background-color: #070E29;
}
.sidebar-section{
	margin-bottom:40px;
}
.sidebar-recent-posts li{
	border-bottom:1px solid #E2E2E2;
	font-size:14px;
	padding:12px 0px;
}
.sidebar-post-date{
	
	color:#858585;
	font-size:14px;
}
.sidebar-post-category{
		background-color:#070E29;
	padding:3px 10px 1px 10px;
	color:#fff;
	font-size:10px;
}
.sidebar-post-info{
	display:flex;
	justify-content:space-between;
	width:100%;
}
.sidebar-title{
	display:flex;
	align-items:center;
}
.sidebar-title img{
	width:18px;
	margin-right:4px;
	margin-top:0px;
	margin-bottom:0px;
}

.blog-archive .content-flex{
	width:86%;
	max-width:100rem;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:120px;
	display:flex;
	gap:2rem;
}
.blog-archive .c-breadcrumb{
	width:86%;
	max-width:100rem;
	margin:auto;
}
.blog-archive .c-breadcrumb__inner{
	margin-bottom:12px;
}
.blog-archive .blog-entries{
	margin-right:24px;
	flex:3;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.blog-archive .sidebar{
	flex:1;
}
.blog-archive .blog-card {
  width: calc(50% - 1rem); 
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.blog-archive .blog-card .thumb{
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
	box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.10), 0px 4px 4px -4px rgba(0, 0, 0, 0.10);
}
.blog-archive .blog-card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.blog-archive .blog-card h2{
	font-size:16px;
	margin-top:16px;
	margin-bottom:8px;
}
.blog-archive .blog-card p{
	font-size:12px;
	color:#626262;
}
.blog-archive .nav-links{
	font-size:14px;
}
.blog-card-category{
	background-color:#070E29;
	display:inline-block;
	padding:0px 10px 1px;
	color:#fff;
	font-size:10px;
}
.blog-archive .meta{
	margin-top:14px;
	display:flex;
	justify-content:space-between
}
.blog-archive .meta time{
	font-size:12px;
}
@media screen and (max-width: 767px) {
  .blog-entries {
    flex-direction: column;
		width:100%;
  }
	.blog-archive .blog-card{
		width:100%;
	}
	.blog-archive .content-flex{
		flex-direction: column-reverse;
	}
	.blog-detail .content-wrapper{
		flex-direction: column-reverse;
		width:100%;
	}
	.sidebar-new{
		display:none;
	}
	.sidebar-category-list{
		display:flex;
		gap:2rem;
	}
	.sidebar-category-list li{
		border-bottom:0px;
	}
}
@media screen and (max-width: 479px) {
	.blog-detail .blog-meta{
		display:block;
	}
	.blog-detail .blog-tags{
		display:inline;
	}
	.blog-detail h1{
		font-size:18px;
	}
}
