/*　home 共通
------------------------------------------------------------------------------------------------*/

.fv {
  position: relative;
}

.fv::before {
  content: "";
  display: block;
  width: 77rem;
  height: 77rem;
  border-radius: 50%;
  background: radial-gradient(#4ED7E0 0%, transparent 68%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-4rem, -50%);
  z-index: 0;
}

.fv::after {
  content: "";
  display: block;
  width: 77rem;
  height: 77rem;
  background: url(../images/common/shape-1.png) center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  transform: translate(-10rem, -50%);
  animation: fv-shape 15s linear infinite;
}

#e404.fv::after {
  animation: none;
}

#e404.fv .content {
  height: clamp(200px, 28.3vw, 600px);
}

@keyframes fv-shape {
  0% {
    transform: translate(-10rem, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-10rem, -50%) rotate(360deg);
  }
}

.fv .content {
  height: 77rem;
  padding-top: 12rem;
  padding-bottom: 15rem;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

.fv h1 {
  font-family: 'Michroma', sans-serif;
  font-size: 9.3rem;
  font-weight: 400;
  line-height: 1.1;
}

.fv .h1-btm {
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-top: 1em;
}

.fv .scroll {
  font-family: 'Michroma', sans-serif;
  font-size: 1.4rem;
  margin-top: auto;
}


.catch {
  color: #fff;
  padding: 16rem 0;
  position: relative;
}

.catch .content {
  padding: 0 10rem;
  position: relative;
  z-index: 2;
}

.catch-swiper {
  width: 95%;
  height: 100%;
  border-radius: 12rem 12rem 0 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}

.catch-swiper::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #1A1A1A;
  opacity: 0.7;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

.catch-swiper .swiper-wrapper,
.catch-swiper .swiper-slide,
.catch-swiper .swiper-slide img {
  width: 100vw;
  max-width: 100vw;
  height: 100%;
  object-fit: cover;
}

.catch-swiper .swiper-wrapper {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.catch-swiper .swiper-slide-active img,
.catch-swiper .swiper-slide-duplicate-active img,
.catch-swiper .swiper-slide-prev img {
  animation: zoom 10s linear 0s 1 normal both;
}

@keyframes zoom {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.15);
  }
}

.catch h2 {
  font-size: 4.8rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  margin-bottom: 1.3em;
}

.catch p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.6;
  letter-spacing: 0.1em;
}


.home-navi {
  padding: 16rem 0 20rem;
}

.home-navi ul {
  margin-top: 3rem;
}

.home-navi ul li {
  display: block;
  border-bottom: 1px solid #BABABA;
}

.home-navi ul li a {
  display: flex;
  align-items: center;
  padding: 1.5rem 0 0 0;
  position: relative;
}

.home-navi ul li a::before {
  /* content: ""; */
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  border: 1px solid #1A1A1A;
  background: url(images/common/btn-arrow.svg) center center no-repeat #68C7D8;
  background-size: contain;
  position: absolute;
  right: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
  transition: right 0.4s;
}

.home-navi ul li a:hover::before {
  right: 0;
}

.home-navi ul li a:hover {
  color: black;
}

.home-navi ul li p {
  padding: 0 0 1.5rem 2rem;
}

.home-navi ul li a .num {
  font-family: 'Michroma', sans-serif;
  font-size: 1.6rem;
  margin-right: 1.6rem;
}

.home-navi ul li a h3 {
  font-family: 'Michroma', sans-serif;
  font-size: 2.4rem;
  font-weight: 400;
}

.home-navi ul li a .jp {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #8D8D8D;
  margin-left: 2rem;
  transition: color 0.4s;
}

.home-navi ul li a:hover .jp {
  /* color: #5CADBB; */
}

.home-navi ul li a img.img {
  width: 32.6rem;
  height: 16.4rem;
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-54%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.3s, opacity 0.4s;
}

.home-navi ul li a:hover img.img {
  transform: translateY(-50%);
  opacity: 1;
}


.home-business {
  padding: 0 0 20rem;
}

.home-business .content {
  position: relative;
}

.home-business .link-btn {
  margin: 0;
  position: absolute;
  top: 3rem;
  right: 5rem;
}

.home-business .h-1-btm+p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.3;
}

.home-business ul {
  display: flex;
  margin-top: 6.5rem;
}

.home-business ul li {
  display: block;
}

.home-business ul li:nth-child(1) {
  width: 45%;
}

.home-business ul li:nth-child(2),
.home-business ul li:nth-child(3) {
  width: calc(55% / 2);
}

.home-business ul li a {
  display: block;
  color: #fff;
  position: relative;
}

.home-business ul li a .zoom {
  width: 100%;
  height: 51rem;
  position: relative;
  z-index: 0;
}

.home-business ul li a .h3-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  left: 3rem;
  top: 5rem;
  z-index: 1;
}

.home-business ul li a .h3-wrap h3 {
  font-family: 'Michroma', sans-serif;
  font-size: 2.6rem;
  line-height: 1.1;
  font-weight: 400;
  background: #5CADBB;
  padding: 0 0.7rem 0.15em;
  margin-bottom: 1rem;
}

.home-business ul li a .h3-wrap span {
  font-size: 1.6rem;
  line-height: 1.9;
  font-weight: 700;
  background: #5CADBB;
  padding: 0 0.7rem;
}

.home-business ul li a .txt {
  width: 100%;
  padding: 3rem;
  background: rgba(26, 26, 26, 0.5);
  line-height: 1.7;
  font-weight: 500;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.home-business ul li a .txt::before {
  /* content: ""; */
  display: block;
  width: 4.3rem;
  height: 4.3rem;
  border-radius: 50%;
  border: 1px solid #fff;
  background: url(../images/common/btn-arrow-ext_w.svg) center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 3rem;
  top: 50%;
  transform: translateY(-50%);
}

.home-business ul li a.invalid {
  pointer-events: none;
}

.home-business ul li a.invalid .txt::before {
  content: none;
}


.home-message {
  padding: 0 0 16rem;
}

.home-message .content {
  position: relative;
}

.home-message .h-1-btm {
  width: 64rem;
}

.home-message .message-img {
  width: 38.8rem;
  position: absolute;
  right: 5rem;
  top: 0;
}

.home-message .message-img img {
  width: 100%;
  height: 49.8rem;
  object-fit: cover;
}

.home-message .message-img p {
  font-weight: 500;
  text-align: right;
  margin-top: 0.8em;
}

.home-message .message-img p span {
  font-size: 1.6rem;
  margin-left: 0.8em;
}

.home-message .link-btn {
  margin: 5rem 0 0;
}


.home-interview {
  background: #D5E4E6;
  overflow: hidden;
  padding: 16rem 0;
  position: relative;
}

.home-interview::before {
  content: "";
  display: block;
  width: 78rem;
  height: 78rem;
  border-radius: 50%;
  background: radial-gradient(#4ED7E0 0%, transparent 68%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-14rem, -50%);
  z-index: 1;
}

.home-interview .interview-slide1,
.home-interview .interview-slide2 {
  width: 28%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
  pointer-events: none;
}

.home-interview .interview-slide1 {
  left: 0;
}

.home-interview .interview-slide2 {
  left: calc(28% + 1rem);
}

.home-interview .interview-slide1 picture.swiper-slide,
.home-interview .interview-slide2 picture.swiper-slide {
  height: 35rem;
  margin-bottom: 1rem;
  opacity: 0.23;
}

.home-interview .interview-slide1 picture.swiper-slide img,
.home-interview .interview-slide2 picture.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.home-interview .wrap {
  width: 50rem;
  margin-left: auto;
  position: relative;
  z-index: 2;
}

.home-interview p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.3;
}

.home-interview .link-btn {
  margin: 4rem 0 0;
}


.home-aimnow {
  padding: 12rem 0 0;
}

.home-aimnow .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.home-aimnow a.btn {
  display: block;
  width: 64rem;
  padding: 3rem 0 4.5rem;
  border-top: 1px solid #1A1A1A;
  border-bottom: 1px solid #1A1A1A;
  position: relative;
}

.home-aimnow a.btn::before {
  content: "";
  display: block;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  border: 1px solid #1A1A1A;
  background: url(../images/common/btn-arrow-ext.svg) center center no-repeat #68C7D8;
  background-size: 100% auto;
  position: absolute;
  right: 2.4rem;
  top: 50%;
  transform: translateY(-50%);
  transition: right 0.4s;
}

.home-aimnow a.btn:hover::before {
  right: 0;
}

.home-aimnow a.btn h2 {
  font-family: 'Michroma', sans-serif;
  font-size: 6.9rem;
  font-weight: 400;
}

.home-aimnow a.btn b {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.6rem;
  letter-spacing: 0.12em;
  color: #1A1A1A;
}

.home-aimnow .aimnow-img {
  width: 41rem;
  transform: translateX(4%);
}




/*　navi 共通
  ------------------------------------------------------------------------------------------------*/

.navi .pholosophy .content {
  position: relative;
}

.navi .pholosophy img.pholosophy-img1 {
  width: 21.6rem;
  height: 27.2rem;
  object-fit: cover;
  position: absolute;
  right: 5rem;
  bottom: 24.8rem;
}

.navi .pholosophy img.pholosophy-img2 {
  width: 25.6rem;
  height: 16.8rem;
  object-fit: cover;
  position: absolute;
  right: -5rem;
  bottom: 0;
}

.navi .pholosophy ul {
  max-width: 78.5rem;
  border-top: 1px solid #1A1A1A;
  position: relative;
}

.navi .pholosophy ul li {
  display: flex;
  align-items: center;
  padding: 5rem 0;
  border-bottom: 1px solid #1A1A1A;
  position: relative;
}

.navi .pholosophy ul::before,
.navi .pholosophy ul li::before {
  content: "";
  display: block;
  width: 13.6rem;
  height: 1px;
  background: #5CADBB;
  position: absolute;
  left: 0;
}

.navi .pholosophy ul::before {
  top: -1px;
}

.navi .pholosophy ul li::before {
  bottom: -1px;
}

.navi .pholosophy ul li h3 {
  width: 17.5rem;
  font-family: 'Michroma', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
}

.navi .pholosophy ul li .txt {
  width: calc(100% - 17.5rem);
}

.navi .pholosophy ul li .txt-1 {
  display: flex;
}

.navi .pholosophy ul li .txt-1>span {
  display: inline-block;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.9;
  padding: 0 0.5em;
  background: #5CADBB;
  color: #fff;
}

.navi .pholosophy ul li dl {
  display: flex;
  flex-wrap: wrap;
  color: #8B8B8B;
  margin-top: 3rem;
}

.navi .pholosophy ul li dl dt {
  width: 12.2em;
  overflow: hidden;
}

.navi .pholosophy ul li dl dt span {
  display: inline-block;
  font-family: 'Michroma', sans-serif;
  position: relative;
}

.navi .pholosophy ul li dl dt span::before {
  content: "";
  display: block;
  width: 200%;
  height: 0;
  border-top: 2px dotted #8B8B8B;
  position: absolute;
  left: calc(100% + 1rem);
  top: 50%;
  transform: translateY(-50%);
}

.navi .pholosophy ul li dl dd {
  width: calc(100% - 12.2em);
  padding-left: 1.4rem;
  font-weight: 500;
}


.navi .story {
  padding: 20rem 0 0;
}

.navi .story .h-2-btm {
  margin-bottom: -6rem;
}


.story-wrapper {
  display: flex;
  align-items: center;
  min-height: calc(100vh - 10rem);
  padding-top: 10rem;
  position: relative;
}

.story-wrapper::before {
  content: "";
  display: block;
  width: 66rem;
  height: 66rem;
  border-radius: 50%;
  background: radial-gradient(#4ED7E0 0%, transparent 68%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

.story-wrapper .story-contents {
  display: flex;
  will-change: auto;
}

.story-wrapper .story-slide {
  width: 41.4rem;
  font-size: 1.4rem;
  padding-right: 4rem;
}

.story-wrapper .story-slide .year {
  font-family: 'Michroma', sans-serif;
  font-size: 1.6rem;
  text-align: center;
  padding-bottom: 1.5rem;
  margin-bottom: 7.5rem;
  position: relative;
}

.story-wrapper .story-slide .year::before,
.story-wrapper .story-slide .year::after {
  content: "";
  display: block;
  background: #5CADBB;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.story-wrapper .story-slide .year::before {
  width: 1px;
  height: 7.5rem;
  bottom: -7.5rem;
}

.story-wrapper .story-slide .year::after {
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  bottom: -0.7rem;
}

.story-wrapper .story-slide dl.box {
  background: #fff;
  padding: 2.4rem;
  border-radius: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.story-wrapper .story-slide dl.box::before {
  content: "";
  display: block;
  width: calc(100% + 4rem);
  height: 1px;
  background: #BEBEBE;
  position: absolute;
  top: -7.6rem;
  left: 0;
  z-index: 0;
}

.story-wrapper .story-slide dl.box dt {
  width: 5rem;
  font-size: 1.6rem;
  color: #8B8B8B;
}

.story-wrapper .story-slide dl.box dd {
  width: calc(100% - 5rem);
  line-height: 1.7;
}

.story-wrapper .story-slide dl.box dd+dt,
.story-wrapper .story-slide dl.box dd+dt+dd {
  margin-top: 2rem;
}

.story-wrapper .story-slide dl.box dd img {
  border-radius: 0.5rem;
  margin-top: 1.5rem;
}


.navi .ability {
  padding: 20rem 0 4rem;
}

.navi .ability .content {
  display: flex;
}

.navi .ability .h2-wrap {
  width: 25rem;
}

.navi .ability .txt {
  width: calc(100% - 25rem);
}

.navi .ability ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.navi .ability ul li {
  display: block;
  margin-bottom: 2rem;
}

.navi .ability ul.col2 li {
  width: calc(100% / 2 - 2rem / 2);
}

.navi .ability ul.col3 li {
  width: calc(100% / 3 - 4rem / 3);
}

.navi .ability ul.col4 li {
  width: calc(100% / 4 - 6rem / 4);
}


.navi .nev {
  padding: 14rem 0 0;
}

.navi .nev .content {
  position: relative;
}

.navi .nev .content.nev-1::before {
  content: "";
  display: block;
  width: 59rem;
  height: 59rem;
  border-radius: 50%;
  background: radial-gradient(#4ED7E0 0%, transparent 68%);
  position: absolute;
  top: -14rem;
  right: -22rem;
  z-index: 0;
}

.navi .nev .content {
  position: relative;
  z-index: 1;
}

.navi .nev img.project-img {
  width: calc(50% + 50rem);
  height: 53.7rem;
  object-fit: cover;
  border-radius: 0 0.5rem 0.5rem 0;
  margin: 0 auto 9rem 0;
  position: relative;
  z-index: 1;
}

.navi .nev .txt-1 {
  font-size: 4.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1.1em;
}

.navi .nev p {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
}

.navi .nev .link-btn {
  margin: 0;
  position: absolute;
  bottom: 0;
  right: 5rem;
}




/*　message 共通
  ------------------------------------------------------------------------------------------------*/

.message .quotation-txt {
  font-size: 5.1rem;
  margin-bottom: 0.7em;
}

.message .name {
  font-size: 1.6rem;
  font-weight: 500;
}

.message .name span {
  font-size: 2rem;
  margin-left: 0.8em;
}

.message .sec-1 {
  position: relative;
}

.message .sec-1::before {
  content: "";
  display: block;
  width: 61rem;
  height: 61rem;
  background: url(../images/common/shape-1.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 0;
  animation: message-shape 15s linear infinite;
}

@keyframes message-shape {
  0% {
    transform: translate(0, -50%) rotate(0deg);
  }

  100% {
    transform: translate(0, -50%) rotate(360deg);
  }
}

.message .sec-2,
.message .sec-3 {
  position: relative;
  z-index: 1;
}

.message .sec-2 {
  margin-top: 20rem;
}

.message .sec-3 {
  margin-top: 12rem;
}

.message .sec-2 .content,
.message .sec-3 .content {
  min-height: 52rem;
  display: flex;
  align-items: center;
}

.message .sec-2 .content {
  justify-content: flex-end;
}

.message .sec-3 .content {
  justify-content: flex-start;
}

.message .sec-2 img.thumb,
.message .sec-3 img.thumb {
  width: calc(50% - 17rem);
  height: 52rem;
  object-fit: cover;
  object-position: center center;
  position: absolute;
  top: 0;
}

.message .sec-2 img.thumb {
  border-radius: 0 0.5rem 0.5rem 0;
  left: 0;
}

.message .sec-3 img.thumb {
  border-radius: 0.5rem 0 0 0.5rem;
  right: 0;
}

.message .sec-2 .wrap,
.message .sec-3 .wrap {
  width: 64rem;
  font-size: 1.6rem;
}

.message .sec-2 .wrap .h2-1,
.message .sec-3 .wrap .h2-1 {
  font-size: 2.7rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  padding-bottom: 2rem;
  margin-bottom: 1.1em;
  border-bottom: 1px solid #1A1A1A;
}




/*　requirements 共通
  ------------------------------------------------------------------------------------------------*/

.requirements .common-sec h2 {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  color: #5CADBB;
  margin: 12rem 0 4rem;
}

.requirements .common-sec h2:first-child {
  margin-top: 0;
}


.list-tab {
  display: flex;
  margin-bottom: 4rem;
}

.list-tab>li {
  display: block;
  width: 17rem;
  line-height: 3.8rem;
  border-radius: 2rem;
  border: 1px solid #1A1A1A;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  cursor: pointer;
  opacity: 0.4;
  transition: background-color 0.4s, opacity 0.4s;
}

.list-tab>li+li {
  margin-left: 2.4rem;
}

.list-tab>li:hover,
.list-tab>li.active {
  background: #68C7D8;
  opacity: 1;
}

.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
  animation: tab-change 0.3s both;
}

@keyframes tab-change {
  0% {
    opacity: 0;
    transform: translateY(3rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


ul.accbox {
  border-top: 1px solid #C9C9C9;
}

ul.accbox li {
  display: block;
  border-bottom: 1px solid #C9C9C9;
}

.accbox .acctitle {
  padding: 3rem 12.5rem 3rem 0;
  position: relative;
  cursor: pointer;
}

.accbox .acctitle::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  border: 1px solid #1A1A1A;
  background: url(../images/common/arrow-btm.svg) center center no-repeat #68C7D8;
  background-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) translate(0);
  transition: transform 0.4s;
}

.accbox .acctitle.active::before {
  transform: translateY(-50%) rotate(180deg);
}

.accbox .acctitle h3 {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.8em;
}

.accbox .accshow {
  display: none;
  background: #F7F7F7;
  padding: 3rem 4rem;
  border-radius: 0.5rem;
  margin-bottom: 3rem;
}

.accbox .accshow dl {
  display: flex;
  flex-wrap: wrap;
}

.accbox .accshow dl dt,
.accbox .accshow dl dd {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 2px dotted #D3D3D3;
}

.accbox .accshow dl dt {
  width: 14rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.accbox .accshow dl dd {
  width: calc(100% - 14rem);
}

.accbox .accshow dl dd h4 {
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #5CADBB;
  margin: 3rem 0 0.6em;
}

.accbox .accshow dl dd h4:first-child {
  margin-top: 0;
}

.accbox .accshow dl dt:nth-last-child(2),
.accbox .accshow dl dd:last-child {
  margin-bottom: 0;
}




/*　entry 共通
  ------------------------------------------------------------------------------------------------*/

.form {
  background: #F7F7F7;
  font-size: 1.6rem;
  border-radius: 0.5rem;
  padding: 8rem 5rem 10rem;
}

.form .inner {
  max-width: 80rem;
  margin: 0 auto;
}

.form p.p-1 {
  display: block;
  padding-bottom: 7rem;
  margin-bottom: 7rem;
  border-bottom: 1px solid #C9C9C9;
}

.form p.p-1 a {
  color: #5CADBB;
  font-weight: 700;
  text-decoration: underline;
}

.form p.p-1 a:hover {
  opacity: 0.7;
}

ul.flow {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 9rem;
}

ul.flow li {
  display: block;
  position: relative;
}

ul.flow li:not(:first-child) {
  margin-left: 9.6rem;
}

ul.flow li:not(:first-child)::before {
  content: "";
  display: block;
  width: 9.6rem;
  height: 1px;
  background: #B9B9B9;
  position: absolute;
  left: -9.6rem;
  top: 50%;
  transform: translateY(-50%);
}

ul.flow li span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  background: #B9B9B9;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

ul.flow li.flow1 span,
.mw_wp_form_confirm ul.flow li.flow2 span,
.mw_wp_form_complete ul.flow li.flow2 span,
.mw_wp_form_complete ul.flow li.flow3 span {
  background: #5CADBB;
  box-shadow: 0 0 1.3rem #86DDEB;
}

.mw_wp_form_confirm ul.flow li.flow2::before,
.mw_wp_form_complete ul.flow li.flow2::before,
.mw_wp_form_complete ul.flow li.flow3::before {
  background: #5CADBB;
}

ul.flow li span .num {
  font-family: 'Michroma', sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}


dl.form-dl dt {
  display: flex;
  align-items: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
}

dl.form-dl dd+dt {
  margin-top: 5rem;
}

dl.form-dl dt.required::after {
  content: "必須";
  display: inline-block;
  line-height: 2rem;
  border-radius: 1rem;
  font-size: 1.3rem;
  background: #EB4141;
  color: #fff;
  padding: 0 0.6em;
  margin-left: 0.5em;
}

dl.form-dl dd.inputs {
  display: flex;
}

dl.form-dl dd.inputs>*+* {
  margin-left: 2rem;
}


.form input[type=text],
.form textarea {
  display: block;
  width: 100%;
  padding: 1em 1em;
  font-size: 1.6rem;
  font-weight: 500;
  background: #fff;
  border: 0;
  border-radius: 0.5rem;
}

.form textarea {
  height: 24rem;
}


.form .btn-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row-reverse;
  margin-top: 10rem;
}

.form .btn-wrap button {
  margin: 0;
}

.form .btn-wrap button:not(:first-child) {
  margin-right: 5.5rem;
}

.mw_wp_form_input .btn-wrap button.back {
  display: none;
}


.radio {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-top: 2.4rem;
}

.radio input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}

.radio input[type=radio]+span {
  display: block;
  padding-left: calc(2.4rem + 0.8em);
  line-height: 2.4rem;
  font-weight: 700;
  cursor: pointer;
  position: relative;
}

.radio .horizontal-item+.horizontal-item {
  margin-left: 5.5rem !important;
}

.radio input[type=radio]+span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  background: #C9C9C9;
}

.radio input[type=radio]:checked+span::before {
  background: #5CADBB;
}

.radio input[type=radio]:checked+span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.9rem;
  left: 0.7rem;
  width: 0.6rem;
  height: 1.2rem;
  transform: rotate(45deg);
  border-bottom: 0.3rem solid #fff;
  border-right: 0.3rem solid #fff;
}

.radio+input {
  margin-top: 1.6rem;
}


.mw_wp_form_input .no-input {
  display: none !important;
}

.mw_wp_form_confirm .no-confirm {
  display: none !important;
}

.mw_wp_form_confirm dl.form-dl {
  display: flex;
  flex-wrap: wrap;
}

.mw_wp_form_confirm dl.form-dl dt,
.mw_wp_form_confirm dl.form-dl dd {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 2px dotted #D3D3D3;
}

.mw_wp_form_confirm dl.form-dl dt:nth-last-child(2),
.mw_wp_form_confirm dl.form-dl dd:last-child {
  margin-bottom: 0;
}

.mw_wp_form_confirm dl.form-dl dt {
  width: 23rem;
  color: #8B8B8B;
}

.mw_wp_form_confirm dl.form-dl dd {
  width: calc(100% - 23rem);
  padding-left: 2rem;
  font-weight: 500;
}

.mw_wp_form_confirm dl.form-dl dd.inputs {
  display: block;
}

.mw_wp_form_confirm dl.form-dl dd.inputs>* {
  display: inline;
}

.mw_wp_form_confirm dl.form-dl dd.inputs>*+* {
  margin-left: 0.5em;
}

.mw_wp_form_confirm dl.form-dl dd+dt {
  margin-top: 0;
}

.mw_wp_form_confirm dl.form-dl dt.required::after {
  content: none;
}

.mw_wp_form_confirm .radio {
  margin-top: 0;
}


.mw_wp_form_complete h2 {
  font-size: 1.9rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5rem;
}

.mw_wp_form_complete p {
  text-align: center;
  margin-bottom: 10rem;
}


.mw_wp_form .error {
  color: #EB4141 !important;
  width: 100%;
  font-weight: 700;
  margin-top: 0.5em;
}




/*　1340px以上
  ------------------------------------------------------------------------------------------------*/
@media (min-width: 1340px) {


  /*　home 1340px以上
  ------------------------------------------------------------------------------------------------*/

  .fv::before {
    width: clamp(40rem, 69.4vw, 133.3rem);
    height: clamp(40rem, 69.4vw, 133.3rem);
    transform: translate(-5.5rem, -50%);
  }

  .fv::after {
    width: clamp(40rem, 69.4vw, 133.3rem);
    height: clamp(40rem, 69.4vw, 133.3rem);
    transform: translate(-23rem, -50%);
  }

  @keyframes fv-shape {
    0% {
      transform: translate(-23rem, -50%) rotate(0deg);
    }

    100% {
      transform: translate(-23rem, -50%) rotate(360deg);
    }
  }

  .fv .content {
    height: clamp(77rem, 58.3vw, 112rem);
    padding-top: clamp(12rem, 11.2vw, 21.5rem);
    padding-bottom: clamp(15rem, 10.4vw, 20rem);
  }

  .fv h1 {
    font-size: clamp(9.3rem, 7.8vw, 15rem);
  }

  .fv .h1-btm {
    font-size: clamp(2.3rem, 1.5vw, 2.8rem);
  }

  .fv .scroll {
    font-size: 1.7rem;
  }


  .catch {
    padding: 20rem 0;
  }

  .catch .content {
    padding: 0 18rem;
  }

  .catch h2 {
    font-size: clamp(4.8rem, 3.7vw, 7.1rem);
  }

  .catch p {
    font-size: clamp(1.8rem, 1.3vw, 2.4rem);
  }


  .home-navi {
    padding: 20rem 0;
  }

  .home-navi ul {
    margin-top: 4rem;
  }

  .home-navi ul li a::before {
    width: 4rem;
    height: 4rem;
  }

  .home-navi ul li a .num {
    font-size: 1.8rem;
  }

  .home-navi ul li a h3 {
    font-size: clamp(2.4rem, 1.7vw, 3.3rem);
  }

  .home-navi ul li a .jp {
    font-size: 1.8rem;
  }

  .home-navi ul li a img.img {
    width: clamp(32.6rem, 25.8vw, 49.5rem);
    height: clamp(16.4rem, 14.5vw, 27.8rem);
    left: calc(50% + 2rem);
  }


  .home-business .link-btn {
    right: 12rem;
  }

  .home-business .h-1-btm+p {
    font-size: 1.8rem;
  }

  .home-business ul li a .zoom {
    height: clamp(51rem, 39.9vw, 76.7rem);
  }

  .home-business ul li a .h3-wrap h3 {
    font-size: clamp(3rem, 1.7vw, 3.3rem);
    margin-bottom: 1.5rem;
  }

  .home-business ul li a .h3-wrap span {
    font-size: clamp(1.6rem, 1.3vw, 2.4rem);
  }

  .home-business ul li a .txt {
    padding: 4rem 3rem;
    font-size: clamp(1.4rem, 0.9vw, 1.8rem);
  }

  .home-business ul li a .txt::before {
    width: clamp(4.3rem, 3.4vw, 6.5rem);
    height: clamp(4.3rem, 3.4vw, 6.5rem);
  }


  .home-message {
    padding: 0 0 20rem;
  }

  .home-message .h-1-btm {
    width: 57%;
    transition: width 0.4s;
  }

  .home-message .message-img {
    width: 30%;
    right: 12rem;
    transition: width 0.4s;
  }

  @media (min-width: 1800px) {
    .home-message .h-1-btm {
      width: 50%;
    }

    .home-message .message-img {
      width: min(37%, 69.6rem);
    }
  }

  .home-message .message-img img {
    height: clamp(49.8rem, 39vw, 69.9rem);
  }

  .home-message .message-img p span {
    font-size: 2.5rem;
  }

  .home-message .link-btn {
    margin: 8rem 0 0;
  }


  .home-interview {
    padding: clamp(16rem, 13.6vw, 27rem) 0;
  }

  .home-interview::before {
    width: clamp(78rem, 56.3vw, 108rem);
    height: clamp(78rem, 56.3vw, 108rem);
    transform: translate(-15rem, -50%);
  }

  .home-interview .interview-slide1,
  .home-interview .interview-slide2 {
    width: 31%;
  }

  .home-interview .interview-slide2 {
    left: calc(31% + 2rem);
  }

  .home-interview .interview-slide1 picture.swiper-slide,
  .home-interview .interview-slide2 picture.swiper-slide {
    height: clamp(35rem, 25vw, 48rem);
    margin-bottom: 2rem;
  }

  .home-interview .wrap {
    width: clamp(52rem, 34.4vw, 66rem);
  }

  .home-interview p {
    font-size: 1.8rem;
  }

  .home-interview .link-btn {
    margin: 6rem 0 0;
  }


  .home-aimnow {
    padding: 18rem 0 0;
  }

  .home-aimnow a.btn {
    width: clamp(64rem, 49.5vw, 94.5rem);
    padding: 4rem 0 6rem;
  }

  .home-aimnow a.btn::before {
    width: clamp(4.6rem, 3.5vw, 6.8rem);
    height: clamp(4.6rem, 3.5vw, 6.8rem);
    right: 3.4rem;
  }

  .home-aimnow a.btn h2 {
    font-size: clamp(6.9rem, 5.4vw, 10.4rem);
  }

  .home-aimnow a.btn b {
    font-size: clamp(1.6rem, 1.3vw, 2.4rem);
  }

  .home-aimnow .aimnow-img {
    width: 38%;
  }




  /*　navi 1340px以上
  ------------------------------------------------------------------------------------------------*/

  .navi .pholosophy img.pholosophy-img1 {
    width: min(18.1%, 34.8rem);
    height: clamp(27.2rem, 24vw, 46rem);
    right: 9.4%;
    bottom: min(18.8vw, 36rem);
  }

  .navi .pholosophy img.pholosophy-img2 {
    width: min(22.9%, 43.9rem);
    height: clamp(16.8rem, 12vw, 23rem);
    right: 0;
  }

  .navi .pholosophy ul {
    max-width: clamp(78.5rem, 58.3vw, 112rem);
  }

  .navi .pholosophy ul li {
    padding: min(3.6vw, 7rem) 0;
  }

  .navi .pholosophy ul li h3 {
    width: 18.5rem;
    font-size: 2rem;
  }

  .navi .pholosophy ul li .txt {
    width: calc(100% - 18.5rem);
  }

  .navi .pholosophy ul li .txt-1>span {
    font-size: clamp(1.9rem, 1.5vw, 3rem);
    letter-spacing: 0.03em;
  }

  .navi .pholosophy ul li dl {
    margin-top: 4rem;
    font-size: clamp(1.4rem, 0.94vw, 1.8rem);
  }


  .story-wrapper::before {
    width: clamp(64.4rem, 45vw, 86.4rem);
    height: clamp(64.4rem, 45vw, 86.4rem);
  }


  .navi .ability {
    padding: 20rem 0 13rem;
  }

  .navi .ability .h2-wrap {
    width: 20%;
  }

  .navi .ability .txt {
    width: 80%;
  }

  .navi .ability ul li {
    margin-bottom: 2.4rem;
  }

  .navi .ability ul.col2 li {
    width: calc(100% / 2 - 2.4rem / 2);
  }

  .navi .ability ul.col3 li {
    width: calc(100% / 3 - 4.8rem / 3);
  }

  .navi .ability ul.col4 li {
    width: calc(100% / 4 - 7.2rem / 4);
  }


  .navi .nev {
    padding: 9rem 0 0;
  }

  .navi .nev .content.nev-1::before {
    top: -12rem;
    right: -16rem;
    z-index: 0;
  }

  .navi .nev img.project-img {
    width: calc(100% - 12rem);
    max-width: calc(50% + 84rem);
    height: clamp(53.7rem, 39.5vw, 75.8rem);
  }

  .navi .nev .txt-1 {
    font-size: clamp(4.3rem, 2.9vw, 5.6rem);
  }

  .navi .nev p {
    font-size: clamp(1.8rem, 1.1vw, 2.2rem);
  }

  .navi .nev .link-btn {
    right: 12rem;
  }




  /*　message 1340px以上
  ------------------------------------------------------------------------------------------------*/

  .message .quotation-txt {
    font-size: clamp(5.1rem, 3.6vw, 6.9rem);
  }

  .message .name {
    font-size: 1.8rem;
  }

  .message .name span {
    font-size: 2.4rem;
  }

  .message .sec-1::before {
    width: clamp(61rem, 43.2vw, 83rem);
    height: clamp(61rem, 43.2vw, 83rem);
  }

  .message .sec-3 {
    margin-top: 17rem;
  }

  .message .sec-2 .content,
  .message .sec-3 .content {
    min-height: clamp(52rem, 36.5vw, 70rem);
  }

  .message .sec-2 img.thumb,
  .message .sec-3 img.thumb {
    width: calc(50% - 15rem);
    height: clamp(52rem, 36.5vw, 70rem);
  }

  .message .sec-2 .wrap,
  .message .sec-3 .wrap {
    width: calc(50% + 3rem);
    font-size: 1.8rem;
  }

  .message .sec-2 .wrap .h2-1,
  .message .sec-3 .wrap .h2-1 {
    font-size: clamp(2.8rem, 2vw, 3.8rem);
  }




  /*　requirements 1340px以上 clamp(,vw,rem)
  ------------------------------------------------------------------------------------------------*/

  .requirements .common-sec {
    font-size: 1.6rem;
  }

  .requirements .common-sec h2 {
    font-size: 2.5rem;
  }


  .list-tab>li {
    width: 18.4rem;
    font-size: 1.8rem;
  }

  .list-tab>li+li {
    margin-left: 2.6rem;
  }


  .accbox .acctitle h3 {
    font-size: 2rem;
  }

  .accbox .accshow {
    padding: 4rem 6.5rem;
    margin-bottom: 6rem;
  }

  .accbox .accshow dl dt {
    width: 17rem;
    font-size: 1.8rem;
  }

  .accbox .accshow dl dd {
    width: calc(100% - 17rem);
  }




  /*　entry 1340px以上
  ------------------------------------------------------------------------------------------------*/

  .form {
    padding: 10rem 6rem;
  }




}

/*　1340px以上ここまで */




/*　スマホ
  ------------------------------------------------------------------------------------------------*/
@media (max-width: 768px) {

  /*　home SP
  ------------------------------------------------------------------------------------------------*/

  .fv::before {
    width: 40rem;
    height: 40rem;
    transform: translate(-45%, -13rem);
  }

  .fv::after {
    width: 40rem;
    height: 40rem;
    transform: translate(-50%, -16rem);
  }

  @keyframes fv-shape {
    0% {
      transform: translate(-50%, -15rem) rotate(0deg);
    }

    100% {
      transform: translate(-50%, -15rem) rotate(360deg);
    }
  }

  .fv .content {
    height: calc(100vh - 6.4rem + 9rem);
    min-height: 50rem;
    padding-top: 9rem;
    padding-bottom: 12.5rem;
  }

  .fv h1 {
    font-size: 5.1rem;
    white-space: nowrap;
  }

  .fv .h1-btm {
    font-size: 1.8rem;
    margin-top: 2rem;
  }


  .catch {
    padding: 9.5rem 0;
  }

  .catch-swiper {
    border-radius: 5rem 5rem 0 0;
  }

  .catch .content {
    padding: 0 2.4rem;
  }

  .catch h2 {
    font-size: 3.5rem;
    margin-bottom: 5rem;
  }

  .catch p {
    font-size: 1.6rem;
    line-height: 1.9;
  }


  .home-navi {
    padding: 9.5rem 0 12rem;
  }

  .home-navi .h-1-btm {
    letter-spacing: 0.09em;
    margin-bottom: 1rem;
  }

  .home-navi ul {
    margin-top: 0;
  }

  .home-navi ul li a {
    flex-wrap: wrap;
    padding: 2.8rem 0;
  }

  .home-navi ul li a::before {
    width: 2.8rem;
    height: 2.8rem;
    right: 0;
    top: 3.6rem;
    transform: unset;
  }

  .home-navi ul li a .num {
    font-size: 1.4rem;
    margin-right: 1rem;
  }

  .home-navi ul li a h3 {
    font-size: 2rem;
  }

  .home-navi ul li a .jp {
    width: 100%;
    font-size: 1.4rem;
    margin: 0.4rem 0 0;
  }

  .home-navi ul li a img.img {
    display: none;
  }


  .home-business {
    padding: 0 0 12rem;
  }

  .home-business .link-btn {
    margin: 5.5rem auto 0;
    position: relative;
    right: unset;
    top: unset;
  }

  .home-business .h-1-btm+p {
    line-height: 2.2;
  }

  .home-business ul {
    display: block;
    margin-top: 5rem;
  }

  .home-business ul li {
    width: 100% !important;
  }

  .home-business ul li a .zoom {
    height: 43.4rem;
  }

  .home-business ul li a .h3-wrap {
    left: 2.4rem;
    top: 3.7rem;
  }

  .home-business ul li a .h3-wrap h3 {
    font-size: 2.7rem;
    margin-bottom: 0.8rem;
  }

  .home-business ul li a .txt {
    padding: 2rem 2.4rem;
  }

  .home-business ul li a .txt::before {
    width: 3.7rem;
    height: 3.7rem;
    right: 2.4rem;
  }


  .home-message {
    padding: 0 0 10rem;
  }

  .home-message .message-img {
    width: 100%;
    position: unset;
    margin: 4rem 0;
  }

  .home-message .message-img p {
    margin-top: 0.4em;
  }

  .home-message .link-btn {
    margin: 4rem auto 0;
  }


  .home-interview {
    background: #D5E4E6;
    overflow: hidden;
    padding: 40rem 0 0;
    position: relative;
  }

  .home-interview::before {
    width: 57.7rem;
    height: 57.7rem;
    top: unset;
    bottom: 8rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .home-interview .interview-slide1,
  .home-interview .interview-slide2 {
    width: calc(50% - 0.4rem);
    height: 40rem;
  }

  .home-interview .interview-slide2 {
    left: calc(50% + 0.4rem);
  }

  .home-interview .interview-slide1 picture.swiper-slide,
  .home-interview .interview-slide2 picture.swiper-slide {
    height: 17.7rem;
    margin-bottom: 0.8rem;
  }

  .home-interview .wrap {
    width: 100%;
    padding: 5.5rem 0 9.5rem;
  }

  .home-interview p {
    line-height: 2.2;
  }

  .home-interview .link-btn {
    margin: 4rem auto 0;
  }


  .home-aimnow {
    padding: 9.5rem 0 0;
  }

  .home-aimnow .content {
    display: block;
  }

  .home-aimnow a.btn {
    width: 100%;
    padding: 2.5rem 0 3rem;
  }

  .home-aimnow a.btn::before {
    width: 3.5rem;
    height: 3.5rem;
    right: 0;
  }

  .home-aimnow a.btn h2 {
    font-size: 3.3rem;
  }

  .home-aimnow a.btn b {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-top: 1rem;
  }

  .home-aimnow .aimnow-img {
    width: 95%;
    margin: 1rem auto 0;
    transform: unset;
  }




  /*　navi SP
  ------------------------------------------------------------------------------------------------*/

  .navi .pholosophy ul li {
    display: block;
    padding: 4rem 0;
  }

  .navi .pholosophy ul::before,
  .navi .pholosophy ul li::before {
    width: 11rem;
  }

  .navi .pholosophy ul li h3 {
    width: 100%;
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }

  .navi .pholosophy ul li .txt {
    width: 100%;
  }

  .navi .pholosophy ul li .txt-1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .navi .pholosophy ul li .txt-1>span {
    font-size: 2.2rem;
    letter-spacing: 0.08em;
    padding: 0 0.3em;
    white-space: nowrap;
  }

  .navi .pholosophy ul li .txt-1>span+span {
    margin-top: 0.5rem;
  }

  .navi .pholosophy ul li dl {
    display: block;
  }

  .navi .pholosophy ul li dl dt {
    width: 100%;
    margin-bottom: 0.2em;
  }

  .navi .pholosophy ul li dl dt span::before {
    width: 4.4rem;
  }

  .navi .pholosophy ul li dl dd {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.7;
    padding-left: 0;
  }

  .navi .pholosophy ul li dl dt+dd+dt {
    margin-top: 3rem;
  }


  .navi .story {
    padding: 12rem 0 0;
  }

  .navi .story .h-2-btm {
    margin-bottom: -3.4rem;
  }


  .story-wrapper {
    min-height: calc(100vh - 7.4rem);
    padding-top: 7.4rem;
  }

  .story-wrapper::before {
    content: none;
  }

  .story-wrapper .story-slide {
    width: 23.7rem;
    padding-right: 2.4rem;
  }

  .story-wrapper .story-slide .year {
    margin-bottom: 3rem;
  }

  .story-wrapper .story-slide .year::before {
    height: 3rem;
    bottom: -3rem;
  }

  .story-wrapper .story-slide dl.box {
    padding: 2rem 1.6rem;
    display: block;
  }

  .story-wrapper .story-slide dl.box::before {
    width: calc(100% + 2.4rem);
    top: -3.1rem;
  }

  .story-wrapper .story-slide dl.box dt {
    width: 100%;
    font-size: 1.4rem;
  }

  .story-wrapper .story-slide dl.box dd {
    width: 100%;
    font-size: 1.3rem;
  }

  .story-wrapper .story-slide dl.box dd+dt,
  .story-wrapper .story-slide dl.box dd+dt+dd {
    margin-top: 1.5rem;
  }

  .story-wrapper .story-slide dl.box dd+dt+dd {
    margin-top: 0;
  }


  .navi .ability {
    padding: 12rem 0 0;
  }

  .navi .ability .content {
    display: block;
  }

  .navi .ability .h2-wrap,
  .navi .ability .txt {
    width: 100%;
  }

  .navi .ability ul {
    display: block;
  }

  .navi .ability ul li {
    width: 100% !important;
    margin-bottom: 3rem;
  }

  .navi .ability .more {
    display: none;
  }

  .navi .ability a.view-close-btn {
    display: block;
    width: 12rem;
    line-height: 4rem;
    border-radius: 2rem;
    background: #fff;
    color: #1A1A1A;
    border: 1px solid;
    font-family: 'Michroma', sans-serif;
    font-size: 1.6rem;
    text-align: center;
    margin: 3rem auto 0;
    transition: background 0.4s;
  }

  .navi .ability a.view-close-btn:hover {
    background: #68C7D8;
  }

  .navi .ability a.view-close-btn::before {
    content: "More";
  }

  .navi .ability a.view-close-btn.active::before {
    content: "Close";
  }


  .navi .nev {
    padding: 12rem 0 0;
  }

  .navi .nev .content.nev-1::before {
    content: none;
  }

  .navi .nev img.project-img {
    width: calc(100% - 2.4rem);
    height: 23.4rem;
    margin: 0 auto 6rem 0;
  }

  .navi .nev .txt-1 {
    font-size: 2.8rem;
    line-height: 1.6;
    margin-bottom: 4rem;
  }

  .navi .nev p {
    font-size: 1.6rem;
  }

  .navi .nev .link-btn {
    margin: 6rem auto 0;
    position: relative;
    bottom: unset;
    right: unset;
  }




  /*　message SP
  ------------------------------------------------------------------------------------------------*/

  .message .quotation-txt {
    font-size: 2.2rem;
  }

  .message .name {
    font-size: 1.4rem;
  }

  .message .name span {
    font-size: 1.6rem;
  }

  .message .sec-1::before {
    width: 31rem;
    height: 31rem;
    transform: translate(-10rem, -50%);
  }

  @keyframes message-shape {
    0% {
      transform: translate(-10rem, -50%) rotate(0deg);
    }

    100% {
      transform: translate(-10rem, -50%) rotate(360deg);
    }
  }

  .message .sec-2 {
    margin-top: 13rem;
  }

  .message .sec-3 {
    margin-top: 8rem;
  }

  .message .sec-2 .content,
  .message .sec-3 .content {
    min-height: auto;
  }

  .message .sec-2 img.thumb,
  .message .sec-3 img.thumb {
    width: calc(100% - 2.4rem);
    height: 24.8rem;
    position: unset;
  }

  .message .sec-2 img.thumb {
    margin: 0 auto 4rem 0;
  }

  .message .sec-3 img.thumb {
    margin: 0 0 4rem auto;
  }

  .message .sec-2 .wrap,
  .message .sec-3 .wrap {
    width: 100%;
    font-size: 1.4rem;
  }

  .message .sec-2 .wrap .h2-1,
  .message .sec-3 .wrap .h2-1 {
    font-size: 2rem;
    padding-bottom: 1.5rem;
    margin-bottom: 3rem;
  }




  /*　requirements SP
  ------------------------------------------------------------------------------------------------*/

  .requirements #sec h2 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }


  .list-tab {
    display: block;
  }

  .list-tab>li {
    width: 100%;
  }

  .list-tab>li+li {
    margin: 1.6rem 0 0;
  }


  .accbox .acctitle {
    padding: 2rem 6rem 2rem 0;
  }

  .accbox .acctitle::before {
    width: 2.4rem;
    height: 2.4rem;
  }

  .accbox .acctitle h3 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }

  .accbox .accshow {
    padding: 3rem 2rem;
  }

  .accbox .accshow dl {
    display: block;
  }

  .accbox .accshow dl dt {
    width: 100%;
    padding-bottom: 0;
    margin-bottom: 0.2em !important;
    border-bottom: 0;
  }

  .accbox .accshow dl dd {
    width: 100%;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .accbox .accshow dl dd h4 {
    margin: 1.5rem 0 0.4em;
  }




  /*　entry SP
  ------------------------------------------------------------------------------------------------*/

  .form {
    font-size: 1.4rem;
    padding: 4.5rem 2.4rem 8rem;
  }

  .form p.p-1 {
    padding-bottom: 5.5rem;
    margin-bottom: 5.5rem;
  }

  ul.flow {
    justify-content: space-between;
    margin-bottom: 5.5rem;
  }

  ul.flow li:not(:first-child) {
    margin-left: 0;
  }

  ul.flow li span {
    width: 7.4rem;
    height: 7.4rem;
    font-size: 1.4rem;
  }

  ul.flow li span .num {
    font-size: 1.2rem;
    line-height: 1.4;
  }


  dl.form-dl dt {
    margin-bottom: 1rem;
  }

  dl.form-dl dd+dt {
    margin-top: 4rem;
  }

  dl.form-dl dt.required::after {
    font-size: 1.2rem;
  }

  dl.form-dl dd.inputs {
    display: block;
  }

  dl.form-dl dd.inputs>*+* {
    margin: 1rem 0 0;
  }


  .form input[type=text],
  .form textarea {
    font-size: 1.4rem;
  }

  .form textarea {
    height: 19rem;
  }


  .form .btn-wrap {
    display: block;
    margin-top: 8rem;
  }

  .form .btn-wrap button {
    margin: 0 auto;
  }

  .form .btn-wrap button:not(:first-child) {
    margin: 2.4rem auto 0;
  }


  .radio {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 2.4rem;
  }

  .radio label {
    display: block;
  }

  .radio .horizontal-item+.horizontal-item {
    margin: 2rem 0 0 !important;
  }

  .radio label+label {
    display: block;
    margin-top: 2rem;
  }

  .radio+input {
    margin-top: 2rem;
  }


  .mw_wp_form_confirm dl.form-dl {
    display: block;
  }

  .mw_wp_form_confirm dl.form-dl dt,
  .mw_wp_form_confirm dl.form-dl dd {
    width: 100%;
    border-bottom: 2px dotted #D3D3D3;
  }

  .mw_wp_form_confirm dl.form-dl dt {
    padding-bottom: 0;
    margin-bottom: 0.3em !important;
    border-bottom: 0;
  }

  .mw_wp_form_confirm dl.form-dl dd {
    font-size: 1.6rem;
    line-height: 1.8;
    padding: 0 0 2rem 0;
    margin-bottom: 2rem;
  }


  .mw_wp_form_complete h2 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }

  .mw_wp_form_complete p {
    margin-bottom: 6rem;
  }




}

/*　スマホここまで */