.l-header.is-top:not(.is-hover).always-black #パス_4 {
  fill: black;
}
.l-header.is-top:not(.is-hover).always-black .l-nav-list__item-link,
.l-header.is-top:not(.is-hover).always-black .l-nav-list__item-span {
  color: black;
}
ul.partnership {
  display: flex;
  align-items: center;
}
ul.partnership li {
  flex: 1;
  text-align: center;
  margin-right: 48px;
}
ul.partnership li img {
  max-height: 100%;
  min-width: 100%;
}
@media screen and (max-width: 768px) {
  ul.partnership {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
  ul.partnership li {
    margin: 0;
  }
}
.seminar-banner {
  max-width: 90%;
  margin: auto;
  margin-top: 120px;
  padding: 28px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .seminar-banner {
    margin-top: 250px;
  }
}
.seminar-banner img {
  max-height: 350px;
}
.promoted-service {
  width: 100%;
  text-align: center;
}
.promoted-service img {
  margin: 28px auto;
  max-width: 100%;
}
.wp-block-embed.aligncenter .wp-block-embed__wrapper {
  text-align: center;
}
.has-drop-cap:not(:focus):first-letter {
  font-size: 2em !important;
  line-height: 0.5em;
}
.popular-categories {
  width: 100%;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  column-gap: 16px;
  padding-bottom: 28px;
  border-bottom: 2px solid black;
}
@media screen and (max-width: 660px) {
  .popular-categories {
    grid-template-columns: 1fr 1fr;
    column-gap: 12px;
    row-gap: 12px;
  }
  .popular-categories .popular-categories__category {
    height: 130px;
  }
  .popular-categories .popular-categories__category:nth-child(4) {
    display: block !important;
  }
  .popular-categories .popular-categories__category .overlay i {
    font-size: 42px;
  }
  .popular-categories .popular-categories__category .overlay h3 {
    font-size: 16px;
  }
}
.popular-categories__category {
  position: relative;
  width: 100%;
  height: 160px;
  display: flex;
  align-items: center;
  background: white;
  border-radius: 16px;
  color: black;
}
.popular-categories__category .overlay {
  position: absolute;
  z-index: 9;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  border-radius: 8px;
}
.popular-categories__category .overlay i {
  color: white;
  font-size: 48px;
}
.popular-categories__category .overlay h3 {
  color: white;
  font-size: 18px;
  margin-top: 12px;
}
.popular-categories__category:nth-child(1) .overlay {
  background: #1ddcdc;
  border: 2px solid #1ddcdc;
}
.popular-categories__category:nth-child(1):hover .overlay {
  opacity: 1;
  background: transparent;
}
.popular-categories__category:nth-child(1):hover .overlay i,
.popular-categories__category:nth-child(1):hover .overlay h3 {
  color: #1ddcdc;
}
.popular-categories__category:nth-child(2) .overlay {
  background: #2a91f9;
  border: 2px solid #2a91f9;
}
.popular-categories__category:nth-child(2):hover .overlay {
  opacity: 1;
  background: transparent;
}
.popular-categories__category:nth-child(2):hover .overlay i,
.popular-categories__category:nth-child(2):hover .overlay h3 {
  color: #2a91f9;
}
.popular-categories__category:nth-child(3) .overlay {
  background: #9d0bd1;
  border: 2px solid #9d0bd1;
}
.popular-categories__category:nth-child(3):hover .overlay {
  opacity: 1;
  background: transparent;
}
.popular-categories__category:nth-child(3):hover .overlay i,
.popular-categories__category:nth-child(3):hover .overlay h3 {
  color: #9d0bd1;
}
.popular-categories__category:nth-child(4) .overlay {
  background: #ff008a;
  border: 2px solid #ff008a;
}
.popular-categories__category:nth-child(4):hover .overlay {
  opacity: 1;
  background: transparent;
}
.popular-categories__category:nth-child(4):hover .overlay i,
.popular-categories__category:nth-child(4):hover .overlay h3 {
  color: #ff008a;
}
.purple-bg {
  background-image: url(../img/common/mv/bg_mv02_pc.jpg) !important;
}
.blue-bg {
  background-image: url(../img/common/mv/bg_mv06_pc.jpg) !important;
}
.green-bg {
  background-image: url(../img/common/mv/bg_mv04_pc.jpg) !important;
}
.yellow-green-bg {
  background-image: url(../img/common/mv/bg_mv07_pc.jpg) !important;
}
.blue-red-bg {
  background-image: url(../img/common/mv/bg_mv01_pc.jpg) !important;
}
.clients-logo-slider {
  width: 100%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0;
  transition: 40ms linear;
}
.clients-logo-slider.loaded {
  opacity: 1;
  transition: opacity 0.2s linear;
}
.clients-logo-slider__slide {
  display: inline-block;
  font-size: 16px;
  height: var(--sliderHeight);
  white-space: nowrap;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .clients-logo-slider__slide {
    height: calc(var(--sliderHeight) - 40px);
  }
}
.clients-logo-slider__slide img {
  display: inline-block;
  height: 100%;
  padding: 0 var(--slideItemPadding);
}
@keyframes slideLeft {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(calc(-100% - 100vh), 0, 0);
  }
}
.service-page-header {
  width: 100%;
  padding-top: var(--paddingTop);
  padding-bottom: var(--paddingBottom);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #222;
  background-size: cover;
  background-position: center;
}
.service-page-header__content {
  width: 90%;
  max-width: 1100px;
  display: grid;
  grid-template-columns: 1fr 400px;
  align-items: center;
  column-gap: 48px;
  color: white;
}
@media screen and (max-width: 768px) {
  .service-page-header__content {
    padding: 78px 0;
    grid-template-columns: 1fr;
    row-gap: 28px;
  }
}
.service-page-header__content__left .label {
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.6;
}
.service-page-header__content__left .title {
  font-size: 32px;
  font-weight: 900;
}
.service-page-header__content__left .description {
  margin-top: 28px;
}
.service-page-header__content__left .cta {
  margin-top: 28px;
  display: inline-block;
  background: red;
  padding: 12px 48px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 18px;
  transition: 0.2s;
}
.service-page-header__content__left .cta:hover {
  color: black;
  background: white;
}
.service-page-header__content__right {
  text-align: center;
}
.section {
  padding: 28px 0;
  background-size: cover;
  background-position: center;
}
.section__content {
  margin: auto;
}
.section__content.width-narrow {
  width: 90%;
  max-width: 660px;
}
.section__content.width-regular {
  width: 90%;
  max-width: 1100px;
}
.section-header {
  position: relative;
  padding-bottom: 28px;
  text-align: center;
}
.section-header::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: '';
  width: 80px;
  margin-left: -40px;
  height: 2px;
  background: var(--titleColor);
}
.section-header h2 {
  font-size: 28px;
  color: var(--titleColor);
}
.bbf-flow {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
@media screen and (max-width: 768px) {
  .bbf-flow {
    display: block;
  }
  .bbf-flow .bbf-flow__step {
    margin-bottom: 68px;
  }
}
.bbf-flow__step {
  background: linear-gradient(#cce9ec 0%, #ccdff5 100%);
  color: black;
  margin-bottom: 28px;
}
.bbf-flow__step:nth-child(1),
.bbf-flow__step:nth-child(2) {
  color: white;
  grid-column-start: 1;
  grid-column-end: 3;
  background: linear-gradient(-90deg, #0094a1 0%, #005fce 100%);
}
.bbf-flow__step:nth-child(2) .bbf-flow__step__content {
  flex-direction: row-reverse;
}
.bbf-flow__step:nth-child(2) .bbf-flow__step__content .step-title {
  font-size: 24px !important;
}
.bbf-flow__step:nth-child(2) .bbf-flow__step__content__right {
  margin-left: 0;
  margin-right: 78px;
}
@media screen and (max-width: 768px) {
  .bbf-flow__step:nth-child(2) .bbf-flow__step__content__right {
    margin-left: 10%;
    margin-right: auto;
  }
}
.bbf-flow__step__content {
  display: flex;
  align-items: center;
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .bbf-flow__step__content {
    display: block;
  }
}
.bbf-flow__step__content__left {
  flex: 1;
  padding: 48px 0;
}
.bbf-flow__step__content__left .step-count {
  height: 60px;
  position: absolute;
  top: -30px;
}
.bbf-flow__step__content__left .step-title {
  font-size: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid white;
  margin-bottom: 28px;
}
.bbf-flow__step__content__right {
  position: relative;
  min-width: 250px;
  max-width: 250px;
  margin-left: 78px;
}
@media screen and (max-width: 768px) {
  .bbf-flow__step__content__right {
    min-width: 80%;
    max-width: 80%;
    margin-left: 10%;
  }
}
.bbf-flow__step__content__right img {
  width: 100%;
  bottom: 28px;
  margin-top: -48px;
  margin-bottom: 48px;
  max-height: none;
}
@media screen and (max-width: 768px) {
  .bbf-flow__step__content__right img {
    margin: 48px 0;
  }
}
.point-container .point-top-border {
  display: flex;
  align-items: center;
  justify-content: center;
}
.point-container .point-top-border__border {
  width: 100%;
  height: 2px;
  background: black;
}
.point-container .point-top-border__label {
  position: absolute;
  display: inline-block;
  background: white;
  font-size: 22px;
  letter-spacing: 0.12em;
  font-weight: 600;
  text-transform: uppercase;
  padding: 0 28px;
}
.point-container .point-content {
  padding: 38px 28px;
}
.point-container .point-bottom-border {
  width: 100%;
  height: 2px;
  background: black;
}
.service-features {
  width: 100%;
}
.service-features .service-features__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 38px;
}
.service-features .service-features__grid.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .service-features .service-features__grid.cols-3 {
    grid-template-columns: 1fr;
  }
}
.service-features .service-features__grid.cols-2-3 {
  grid-template-columns: repeat(6, 1fr);
}
@media screen and (max-width: 768px) {
  .service-features .service-features__grid.cols-2-3 {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .service-features .service-features__grid.cols-2-3 .service-features__grid__item {
    grid-column: auto !important;
  }
}
.service-features .service-features__grid.cols-2-3 .service-features__grid__item:nth-child(1) {
  grid-column: 1 / 4;
}
.service-features .service-features__grid.cols-2-3 .service-features__grid__item:nth-child(2) {
  grid-column: 4 / 7;
}
.service-features .service-features__grid.cols-2-3 .service-features__grid__item:nth-child(3) {
  grid-column: 1 / 3;
}
.service-features .service-features__grid.cols-2-3 .service-features__grid__item:nth-child(4) {
  grid-column: 3 / 5;
}
.service-features .service-features__grid.cols-2-3 .service-features__grid__item:nth-child(5) {
  grid-column: 5 / 7;
}
.service-features .service-features__grid__item {
  position: relative;
  background: white;
  padding: 38px 28px;
  text-align: center;
}
.service-features .service-features__grid__item .top-border {
  position: absolute;
  width: 120px;
  height: 10px;
  top: 0;
  left: 50%;
  margin-left: -60px;
  background: linear-gradient(#0094a1 0%, #005fce 100%);
  opacity: 0.5;
}
.service-features .service-features__grid__item .top-border.purple {
  background: linear-gradient(#10038a 0%, #8842af 100%);
}
.service-features .service-features__grid__item .top-border.green {
  background: linear-gradient(#059f6f 0%, #66ae55 100%);
}
.service-features .service-features__grid__item .top-border.yellow-green {
  background: linear-gradient(-90deg, #b09e09 0%, #65ad55 100%);
}
.service-features .service-features__grid__item .top-border.blue-red {
  background: linear-gradient(-90deg, #841532 0%, #0b0e61 51.87%, #359ed8 100%);
}
.service-features .service-features__grid__item__image {
  height: 60px;
}
.service-features .service-features__grid__item__title {
  font-size: 18px;
  font-weight: 600;
  margin-top: 12px;
  margin-bottom: 28px;
}
.service-features .service-features__grid__item__description {
  text-align: left;
  line-height: 140%;
}
.smartphone-mockup {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: var(--maxWidth);
  margin: auto;
}
.smartphone-mockup__content {
  position: absolute;
  width: 40.7%;
  height: 76.08%;
  border-radius: 8.31%;
  background: #222;
  overflow: hidden;
}
.smartphone-mockup__content img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.smartphone-mockup__content video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.smartphone-mockup__device {
  position: relative;
  width: 100%;
}
.c-single01-content iframe.wp-embedded-content {
  margin-top: 28px;
  position: relative !important;
  width: 100% !important;
  clip: unset !important;
}
.white-paper-popup {
  position: fixed;
  z-index: 999;
  display: flex;
  visibility: hidden;
  opacity: 0;
  align-items: center;
  width: 480px;
  background: white;
  bottom: 0px;
  left: 30px;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  transition: 0.5s;
}
.white-paper-popup.visible {
  visibility: visible;
  opacity: 1;
  bottom: 30px;
  transition: 0.5s;
}
@media screen and (max-width: 560px) {
  .white-paper-popup {
    width: auto;
    left: 8px;
    right: 8px;
    padding: 30px 8px;
  }
}
.white-paper-popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  cursor: pointer;
}
.white-paper-popup__close svg {
  vertical-align: middle;
  height: 16px;
  width: 16px;
}
.white-paper-popup__left {
  flex: 1;
  max-width: 160px;
}
.white-paper-popup__left__book {
  background: #F4EFE9;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
  border-radius: 3px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.white-paper-popup__right {
  flex: 1;
  margin-left: 20px;
}
.white-paper-popup__right p {
  font-size: 16px;
  font-weight: 600;
}
.white-paper-popup__right p.link {
  margin-top: 12px;
}
.white-paper-popup__right p.link a {
  position: relative;
  padding-left: 40px;
}
.white-paper-popup__right p.link a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 28px;
  height: 2px;
  background: #337ab7;
}
.white-paper-popup__right p.link a:hover::before {
  background: #A375F0;
}
@media screen and (max-width: 560px) {
  .white-paper-popup__right p.link a {
    padding-left: 0;
  }
  .white-paper-popup__right p.link a::before {
    display: none;
  }
}
.white-paper-popup__right__badge {
  font-size: 12px;
  display: inline-block;
  padding: 4px 12px;
  font-weight: 600;
  background: #472586;
  border-radius: 16px;
  color: white;
  margin-bottom: 12px;
}
.white-papers-list-container {
  width: 100%;
  max-width: 1100px;
  margin: auto;
  font-size: 0;
  padding-bottom: 28px;
}
.white-papers-list-container * {
  box-sizing: border-box;
}
.white-papers-list-container .white-paper-card-container {
  display: inline-block;
  vertical-align: top;
  width: 49.5%;
  font-size: 16px;
  padding: 28px 0;
}
@media screen and (max-width: 660px) {
  .white-papers-list-container .white-paper-card-container {
    display: block;
    width: 90%;
    margin: auto;
    padding: 28px 0 !important;
  }
}
.white-papers-list-container .white-paper-card-container:nth-child(even) {
  padding-left: 28px;
}
.white-papers-list-container .white-paper-card-container:nth-child(odd) {
  padding-right: 28px;
}
.white-papers-list-container .white-paper-card-container .white-paper-card {
  background: white;
  overflow: hidden;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .white-paper-card-header {
  width: 100%;
  background: #222;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .white-paper-card-header img {
  width: 100%;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .white-paper-card-header video {
  width: 100%;
  height: 100%;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .background-image {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .white-paper-card-body {
  width: 100%;
  margin: 28px auto;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .white-paper-card-body h4 {
  text-align: left;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0;
  padding-bottom: 12px;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .white-paper-card-footer {
  text-align: center;
}
.white-papers-list-container .white-paper-card-container .white-paper-card .white-paper-card-footer a {
  display: inline-block;
  cursor: pointer;
}
.promoted-white-paper {
  max-width: calc(100% - 40px);
  margin: auto;
  margin-bottom: 47px;
}
.promoted-white-paper * {
  box-sizing: border-box;
}
.promoted-white-paper .white-paper-card-header {
  width: 100%;
  background: #222;
}
.promoted-white-paper .white-paper-card-header img {
  width: 100%;
}
.promoted-white-paper .white-paper-card-header video {
  width: 100%;
  height: 100%;
}
.promoted-white-paper .background-image {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
}
.promoted-white-paper .white-paper-card-body {
  width: 100%;
  margin: 28px auto;
}
.promoted-white-paper .white-paper-card-body h4 {
  text-align: left;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0;
  padding-bottom: 12px;
}
.promoted-white-paper .white-paper-sign-up-error {
  background: rgba(231, 77, 60, 0.4);
  border: 1px solid #e74c3c;
  padding: 12px 28px;
  border-radius: 8px;
  margin-bottom: 28px;
  display: none;
}
.recruit-page .top-images {
  width: 100%;
  display: flex;
  margin-bottom: 28px;
}
.recruit-page .top-images__left {
  margin-right: 12px;
}
.recruit-page .top-images__right {
  margin-left: 12px;
}
.recruit-page .top-images__left,
.recruit-page .top-images__right {
  flex: 1;
  width: 100%;
  height: 400px;
  background-size: cover;
}
.recruit-page .flex-table {
  width: 100%;
}
.recruit-page .flex-table__row {
  width: 100%;
  display: flex;
  margin-bottom: 4px;
}
.recruit-page .flex-table__row__left-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  text-align: center;
  font-weight: 600;
  background: #efefef;
  padding: 12px 0;
}
.recruit-page .flex-table__row__right-cell {
  flex: 1;
  margin-left: 12px;
  padding: 12px 0;
  font-size: 14px;
}
.shuttlerock-360 {
  word-break: break-word;
  box-sizing: border-box;
}
.shuttlerock-360 * {
  box-sizing: border-box;
}
.shuttlerock-360 .section-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 30px;
  font-weight: 900;
  max-width: 440px;
  line-height: 140%;
  margin-bottom: 48px;
}
.shuttlerock-360 .centered-section-title {
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 30px;
  font-weight: 900;
  line-height: 140%;
  margin-bottom: 48px;
  text-align: center;
}
.shuttlerock-360 .header {
  position: relative;
  width: 100%;
  height: 700px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url('../img/creative/360/background.png');
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .header {
    display: block;
    padding: 48px 0;
    height: auto;
    text-align: center;
  }
}
.shuttlerock-360 .header .spacer {
  position: absolute;
  bottom: 0;
  aspect-ratio: 1432 / 90;
  width: 100%;
  background-size: cover;
  background-image: url('../img/creative/360/svg-curve.svg');
}
.shuttlerock-360 .header__content {
  display: flex;
  width: 90%;
  align-items: center;
  max-width: 1200px;
  margin: auto;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .header__content {
    display: block;
  }
}
.shuttlerock-360 .header__content__left {
  flex: 1;
  margin-right: 28px;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .header__content__left {
    margin-right: 0;
  }
}
.shuttlerock-360 .header__content__left h1 {
  font-size: 30px;
  font-weight: 900;
  line-height: 120%;
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 28px;
}
.shuttlerock-360 .header__content__left h1 span {
  background: linear-gradient(126.08deg, #09FFD3 -42.8%, #11B3E3 10.6%, #9C49EF 59.97%, #FF17FF 108.05%, #FF008A 148.63%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-left: 12px;
}
.shuttlerock-360 .header__content__left p {
  font-size: 21px;
  margin-bottom: 28px;
}
.shuttlerock-360 .header__content__left .cta a {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
  display: inline-block;
  padding: 12px 48px;
}
.shuttlerock-360 .header__content__right {
  flex: 1;
}
.shuttlerock-360 .header__content__right img {
  max-width: 100%;
  max-height: 100%;
}
.shuttlerock-360 .solving-challenges {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 68px;
  padding-bottom: 128px;
  letter-spacing: 0;
}
.shuttlerock-360 .solving-challenges__features {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 48px;
  word-break: break-word;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .solving-challenges__features {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .solving-challenges__features__feature {
    margin-bottom: 28px;
  }
}
.shuttlerock-360 .solving-challenges__features__feature__title {
  font-size: 18px;
  font-weight: 600;
  margin: 12px 0;
}
.shuttlerock-360 .services {
  width: 100%;
}
.shuttlerock-360 .services__hero {
  position: relative;
  z-index: 9;
  width: 100%;
  padding-top: 128px;
  padding-bottom: 0;
  overflow: hidden;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .services__hero {
    padding-bottom: 48px;
  }
}
.shuttlerock-360 .services__hero__doughnuts {
  position: absolute;
  top: 0;
  overflow: hidden;
  background: #1f2937;
  width: 100%;
  height: 100%;
  clip-path: url(#myCurve);
}
.shuttlerock-360 .services__hero__doughnuts img {
  transition: 0.1s;
}
.shuttlerock-360 .services__hero__doughnuts img:nth-child(1) {
  position: absolute;
  width: 400px;
  bottom: -50px;
  left: -50px;
  animation: doughnut_rotation_1 6s infinite linear;
}
.shuttlerock-360 .services__hero__doughnuts img:nth-child(2) {
  position: absolute;
  width: 360px;
  top: calc(-80px - 128px);
  right: -20px;
  animation: doughnut_rotation_2 6s infinite linear;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .services__hero__doughnuts img:nth-child(1) {
    width: 250px;
  }
  .shuttlerock-360 .services__hero__doughnuts img:nth-child(2) {
    width: 200px;
  }
}
@keyframes doughnut_rotation_1 {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(540deg);
  }
}
@keyframes doughnut_rotation_2 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.shuttlerock-360 .services__hero__content {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: auto;
  color: white;
}
.shuttlerock-360 .services__hero__content h2,
.shuttlerock-360 .services__hero__content p {
  text-align: center;
  letter-spacing: 0;
}
.shuttlerock-360 .services__hero__content h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 30px;
  font-weight: 900;
}
.shuttlerock-360 .services__hero__content h2 span {
  background: linear-gradient(199.13deg, #09FFD3 -18.45%, #11B3E3 63.47%, #9C49EF 139.21%, #FF17FF 212.97%, #FF008A 275.22%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.shuttlerock-360 .services__hero__content p {
  margin-top: 8px;
  margin-bottom: 68px;
}
.shuttlerock-360 .services__hero__content__previews {
  width: 100%;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  column-gap: 28px;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .services__hero__content__previews {
    display: none;
  }
}
.shuttlerock-360 .services__hero__content__previews__preview {
  position: relative;
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  background: white;
  border-radius: 16px;
  overflow: hidden;
  color: black;
}
.shuttlerock-360 .services__hero__content__previews__preview .content {
  position: relative;
  width: 100%;
  text-align: center;
  letter-spacing: 0;
  opacity: 0;
}
.shuttlerock-360 .services__hero__content__previews__preview .content p {
  font-size: 14px;
  margin-top: 12px;
  margin-bottom: 28px;
  line-height: 130%;
  padding: 0 12px;
  word-break: break-word;
  opacity: 0.6;
}
.shuttlerock-360 .services__hero__content__previews__preview .content a {
  color: #2A91F9;
  font-weight: 400;
  text-decoration: none;
}
.shuttlerock-360 .services__hero__content__previews__preview .overlay {
  position: absolute;
  z-index: 9;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
.shuttlerock-360 .services__hero__content__previews__preview:hover .content {
  z-index: 99;
  opacity: 1;
  transition-delay: 0.2s;
  transition-duration: 0.2s;
}
.shuttlerock-360 .services__hero__content__previews__preview:hover .overlay {
  opacity: 0;
}
.shuttlerock-360 .services__hero__content__previews__preview:nth-child(1) .overlay {
  background: #1ddcdc;
}
.shuttlerock-360 .services__hero__content__previews__preview:nth-child(2) .overlay {
  background: #2a91f9;
}
.shuttlerock-360 .services__hero__content__previews__preview:nth-child(3) .overlay {
  background: #9d0bd1;
}
.shuttlerock-360 .services__hero__content__previews__preview:nth-child(4) .overlay {
  background: #ff17ff;
}
.shuttlerock-360 .services__hero__content__previews__preview:nth-child(5) .overlay {
  background: #ff008a;
}
.shuttlerock-360 .services__details {
  position: relative;
  margin-top: -10%;
  padding-top: calc(10% + 128px);
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .services__details {
    margin-top: -15%;
    padding-top: calc(15% + 128px);
  }
}
.shuttlerock-360 .services__details .background {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-image: url('../img/creative/360/background.png');
  background-size: cover;
  transform: rotate(180deg);
}
.shuttlerock-360 .services__details .white-filter {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
}
.shuttlerock-360 .services__details__service {
  position: relative;
  width: 90%;
  max-width: 1080px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 128px;
  align-items: center;
  letter-spacing: 0;
  word-break: break-word;
  margin-bottom: 128px;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .services__details__service {
    grid-template-columns: 1fr;
  }
}
.shuttlerock-360 .services__details__service .service-logo {
  margin-bottom: 12px;
}
.shuttlerock-360 .services__details__service .service-title {
  font-size: 26px;
  font-weight: 900;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 160%;
  margin-bottom: 12px;
  word-break: break-word;
}
.shuttlerock-360 .services__details__service .service-description {
  line-height: 150%;
}
.shuttlerock-360 .services__details__service .service-features {
  margin-top: 28px;
}
.shuttlerock-360 .services__details__service .service-features__label {
  font-size: 18px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
  margin-bottom: 28px;
}
.shuttlerock-360 .services__details__service .service-features li {
  margin-left: 12px;
}
.shuttlerock-360 .services__details__service .service-link {
  display: inline-block;
  margin-top: 28px;
  padding: 8px 48px;
  border: 1px solid #e2e2e2;
  border-radius: 28px;
  color: #0098C9;
  font-weight: 600;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  transition: 0.2s;
}
.shuttlerock-360 .services__details__service .service-link:hover {
  background: #111827;
  color: white;
}
.shuttlerock-360 .services__details__service .service-image {
  position: relative;
  display: inline-block;
}
.shuttlerock-360 .services__details__service .service-image .video {
  position: absolute;
  background: #222;
  object-fit: fill;
}
.shuttlerock-360 .services__details__service .service-image.create .video {
  top: 39.96%;
  left: 45.24%;
  height: 43.53%;
  width: 35.54%;
}
.shuttlerock-360 .services__details__service .service-image.cloud .video {
  top: 19.67%;
  left: 58%;
  height: 15.33%;
  width: 8.83%;
}
.shuttlerock-360 .testimonial {
  position: relative;
  width: 100%;
  padding: 128px 0;
}
.shuttlerock-360 .testimonial__doughnuts {
  position: absolute;
  top: 0;
  overflow: hidden;
  background: #1f2937;
  width: 100%;
  height: 100%;
}
.shuttlerock-360 .testimonial__doughnuts img {
  transition: 0.1s;
}
.shuttlerock-360 .testimonial__doughnuts img:nth-child(1) {
  position: absolute;
  width: 400px;
  top: -50px;
  left: -50px;
  animation: doughnut_rotation_1 6s infinite linear;
}
.shuttlerock-360 .testimonial__doughnuts img:nth-child(2) {
  position: absolute;
  width: 360px;
  bottom: calc(-80px - 128px);
  right: -20px;
  animation: doughnut_rotation_2 6s infinite linear;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .testimonial__doughnuts img:nth-child(1) {
    width: 250px;
  }
  .shuttlerock-360 .testimonial__doughnuts img:nth-child(2) {
    width: 200px;
  }
}
@keyframes doughnut_rotation_1 {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(540deg);
  }
}
@keyframes doughnut_rotation_2 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.shuttlerock-360 .testimonial__content {
  position: relative;
  width: 90%;
  max-width: 860px;
  margin: auto;
  color: white;
  display: grid;
  grid-template-columns: 230px 1fr;
  column-gap: 48px;
  align-items: center;
  letter-spacing: 0;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .testimonial__content {
    grid-template-columns: 1fr;
  }
}
.shuttlerock-360 .testimonial__content__left {
  text-align: center;
}
.shuttlerock-360 .testimonial__content__left img {
  width: 100%;
}
.shuttlerock-360 .testimonial__content__left .name {
  margin-top: 28px;
  font-weight: 600;
}
.shuttlerock-360 .testimonial__content__left .role {
  opacity: 0.6;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .testimonial__content__left img {
    width: 200px;
  }
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .testimonial__content__right {
    text-align: center;
  }
}
.shuttlerock-360 .testimonial__content__right .quote {
  font-size: 30px;
  line-height: 150%;
  font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .testimonial__content__right .quote {
    margin-top: 28px;
  }
}
.shuttlerock-360 .testimonial__content__right .quote span {
  font-size: 38px;
  line-height: 30px;
  opacity: 0.6;
}
.shuttlerock-360 .testimonial__content__right .quote span:first-of-type {
  margin-right: 12px;
}
.shuttlerock-360 .testimonial__content__right .quote span:last-of-type {
  margin-left: 12px;
}
.shuttlerock-360 .testimonial__content__right a {
  margin-top: 28px;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 12px 48px;
}
.shuttlerock-360 .client-success {
  position: relative;
  z-index: 9;
  width: 100%;
  padding: 128px 0;
  padding-top: 48px;
  clip-path: url(#myCurve2);
  background: white;
}
.shuttlerock-360 .client-success__list {
  width: 90%;
  max-width: 960px;
  margin: auto;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .client-success__list {
    display: block;
  }
}
.shuttlerock-360 .client-success__list__client {
  flex: 1;
  margin-right: 48px;
  max-width: 270px;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .client-success__list__client {
    margin-right: 0;
    margin-bottom: 48px;
  }
}
.shuttlerock-360 .client-success__list__client:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .client-success__list__client:last-of-type {
    margin-bottom: 0px;
  }
}
.shuttlerock-360 .client-success__list__client .client-image-container {
  position: relative;
  width: 100%;
  padding-bottom: 90%;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 28px;
}
.shuttlerock-360 .client-success__list__client .client-image-container img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s;
}
.shuttlerock-360 .client-success__list__client:hover .client-image-container img {
  transform: scale(1.05);
}
.shuttlerock-360 .client-success__list__client .client-image {
  display: block;
  width: 100%;
  border-radius: 16px;
  margin-bottom: 28px;
  height: 260px;
  object-fit: cover;
}
.shuttlerock-360 .client-success__list__client .client-type {
  opacity: 0.6;
  font-weight: 600;
  font-size: 14px;
}
.shuttlerock-360 .client-success__list__client .client-name {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 12px;
}
.shuttlerock-360 .client-success__list__client .client-description {
  font-size: 14px;
  line-height: 150%;
  letter-spacing: 0;
  opacity: 0.8;
}
.shuttlerock-360 .faq {
  position: relative;
  width: 100%;
  background: linear-gradient(to bottom, #f1f7fe, #fff);
  margin-top: -10%;
  padding-top: calc(10% + 128px);
  padding-bottom: 128px;
}
@media screen and (max-width: 660px) {
  .shuttlerock-360 .faq {
    margin-top: -20%;
    padding-top: calc(20% + 128px);
  }
}
.shuttlerock-360 .faq__container {
  width: 90%;
  max-width: 960px;
  margin: auto;
}
.shuttlerock-360 .faq__container .question {
  border-bottom: 1px solid #e2e2e2;
  letter-spacing: 0;
}
.shuttlerock-360 .faq__container .question__label {
  position: relative;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  font-weight: 600;
  padding: 28px 0;
  cursor: pointer;
}
.shuttlerock-360 .faq__container .question__label .chevron-down {
  position: absolute;
  right: 0;
  top: 34px;
  height: 18px;
  opacity: 0.4;
}
.shuttlerock-360 .faq__container .question__label .chevron-up {
  display: none;
  position: absolute;
  right: 0;
  top: 34px;
  height: 18px;
  opacity: 0.4;
}
.shuttlerock-360 .faq__container .question.active .question__label .chevron-down {
  display: none;
}
.shuttlerock-360 .faq__container .question.active .question__label .chevron-up {
  display: block;
}
.shuttlerock-360 .faq__container .question .answer {
  overflow: hidden;
}
#frm_forminput,
#frm_formconfirm,
#frm_formthanks {
  width: 90%;
  max-width: 1100px;
  margin: auto;
}
#frm_forminput .message,
#frm_formconfirm .message,
#frm_formthanks .message {
  background: rgba(231, 77, 60, 0.4);
  border: 1px solid #e74c3c;
  padding: 12px 28px;
  border-radius: 8px;
  margin-bottom: 28px;
}
#frm_forminput .container_thanks,
#frm_formconfirm .container_thanks,
#frm_formthanks .container_thanks {
  text-align: center;
  margin-bottom: 12px;
}
#frm_forminput table,
#frm_formconfirm table,
#frm_formthanks table {
  display: block;
}
#frm_forminput table tbody,
#frm_formconfirm table tbody,
#frm_formthanks table tbody {
  display: block;
  width: 100%;
}
#frm_forminput table tr,
#frm_formconfirm table tr,
#frm_formthanks table tr {
  display: block;
  margin-bottom: 28px;
}
#frm_forminput table .label,
#frm_formconfirm table .label,
#frm_formthanks table .label {
  position: relative;
  display: block;
  font-weight: 900;
  margin-bottom: 8px;
}
#frm_forminput table .label .required,
#frm_formconfirm table .label .required,
#frm_formthanks table .label .required {
  position: absolute;
  display: inline-block;
}
#frm_forminput table .label .required::before,
#frm_formconfirm table .label .required::before,
#frm_formthanks table .label .required::before {
  position: absolute;
  display: inline-block;
  white-space: nowrap;
  content: "必須";
  color: white;
  background: #333;
  font-weight: 300;
  padding: 0 8px;
  margin-left: 12px;
}
#frm_forminput table .value,
#frm_formconfirm table .value,
#frm_formthanks table .value {
  display: block;
}
#frm_forminput table .value input,
#frm_formconfirm table .value input,
#frm_formthanks table .value input,
#frm_forminput table .value textarea,
#frm_formconfirm table .value textarea,
#frm_formthanks table .value textarea {
  padding: 12px;
  border-radius: 8px;
  box-sizing: border-box;
}
#frm_forminput table .value input[type="checkbox"],
#frm_formconfirm table .value input[type="checkbox"],
#frm_formthanks table .value input[type="checkbox"],
#frm_forminput table .value textarea[type="checkbox"],
#frm_formconfirm table .value textarea[type="checkbox"],
#frm_formthanks table .value textarea[type="checkbox"] {
  margin-right: 12px;
}
#frm_forminput table .value textarea,
#frm_formconfirm table .value textarea,
#frm_formthanks table .value textarea {
  height: 200px;
}
#frm_forminput table .comment,
#frm_formconfirm table .comment,
#frm_formthanks table .comment {
  display: none;
}
#frm_forminput .privacy_policy,
#frm_formconfirm .privacy_policy,
#frm_formthanks .privacy_policy {
  font-size: 12px;
}
#frm_forminput .button_area,
#frm_formconfirm .button_area,
#frm_formthanks .button_area {
  text-align: center;
}
#frm_forminput .button_area input[type="button"],
#frm_formconfirm .button_area input[type="button"],
#frm_formthanks .button_area input[type="button"] {
  background: #ed1b2e;
  outline: none;
  border: 2px solid #ed1b2e;
  padding: 12px 48px;
  border-radius: 30px;
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition: 0.2s;
}
#frm_forminput .button_area input[type="button"]:hover,
#frm_formconfirm .button_area input[type="button"]:hover,
#frm_formthanks .button_area input[type="button"]:hover {
  background: transparent;
  color: #ed1b2e;
}
#frm_forminput .button_area #button_confirm_back,
#frm_formconfirm .button_area #button_confirm_back,
#frm_formthanks .button_area #button_confirm_back {
  background: none;
  border: 2px solid #aaa;
  color: #aaa;
}
#frm_forminput .button_area #button_confirm_back:hover,
#frm_formconfirm .button_area #button_confirm_back:hover,
#frm_formthanks .button_area #button_confirm_back:hover {
  background-color: none;
  border: 2px solid #e2e2e2;
  color: #e2e2e2;
}
