main {
  overflow: hidden;
}

.cv-btn.-art.-consulting {
  background-color: #FFF100;
  border: 2px solid #FFF100;
  color: #464B81;
  padding-right: 6%;
}

.cv-btn.-art.-consulting:hover {
  background-color: #fff;
}

.cv-btn.-art.-requiry {
  color: #fff;
  background-color: #464B81;
  border: 2px solid #464B81;
}

.cv-btn.-art.-requiry:hover {
  background-color: #fff;
  color: #464B81;
}

.contact-cv.-art {
  background-image: url(/fc/art/assets/img/contact-cv-bg.jpg);
}

.art-hero {
  position: relative;
}

.art-hero__img {
  position: relative;
}

.art-hero__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.art-hero__txt01 {
  position: absolute;
  top: 10vw;
  left: 4%;
  width: 15vw;
  max-width: 205px;
  min-width: 152px;
}

.art-hero__txt02 {
  position: absolute;
  top: 16vw;
  left: 7%;
  width: 50vw;
}

.art-hero__btns {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.art-hero-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6.6vw;
  max-height: 66px;
  border-radius: 200px;
  border: 2px solid #fff;
  padding: 10px 40px 10px 16px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  filter: drop-shadow(0px 3px 8px rgba(0, 0, 0, 0.1));
}

.art-hero-btn.-consulting {
  background: #FFF100;
  border-color: #FFF100;
  color: #464B81;
}

.art-hero-btn.-contact {
  background: #464B81;
  border-color: #464B81;
  color: #fff;
}

.art-hero-btn.-consulting:hover,
.art-hero-btn.-contact:hover {
  background-color: #fff;
  color: #464B81;
}

.art-hero-btn .icon {
  font-size: 2.8rem;
  position: absolute;
  top: 50%;
  right: 2vw;
  transform: translate(0, -50%);
}

.art-hero__box {
  display: flex;
  align-items: center;
  gap: 0 8px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 5px;
  padding: 8px 16px;
  line-height: 1.5;
}

.art-hero__tel {
  font-size: 2rem;
  font-weight: 700;
}

.art-hero__box div:last-child {
  font-size: 1.3rem;
}

@media (min-width: 768px) {

  .art-hero__inner {
    width: 50vw;
    position: absolute;
    bottom: 3vw;
    left: 7%;
  }

  .art-hero__box {
    width: fit-content;
    margin: 0 auto;
  }
}

@media (max-width: 1024px) {
  .art-hero {
    margin-top: 56px;
  }

  .art-hero__txt01 {
    top: 4vw;
  }

  .art-hero__txt02 {
    top: 13vw;
  }
}

@media (max-width: 767px) {

  .art-hero__txt01,
  .art-hero__txt02 {
    display: none;
  }

  .art-hero__inner {
    background: url(/fc/art/assets/img/bg-pattern.jpg) repeat;
    padding: 20px 24px;
  }

  .art-hero__btns {
    flex-direction: column;
  }

  .art-hero-btn {
    height: 46px;
    font-size: 1.5rem;
  }

  .art-hero-btn .icon {
    font-size: 2rem;
  }

  .art-hero__box {
    flex-direction: column;
    text-align: center;
    padding: 8px 4px;
  }
}

.art-heading {
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #464B81;
  margin-bottom: 64px;
}

.art-heading.-intro {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

.art-heading.-intro::before,
.art-heading.-intro::after {
  content: "";
  width: 3px;
  height: 45px;
  background: #464b81;
  border-radius: 10px;
  transform: rotate(-30deg);
}

.art-heading.-intro::after {
  transform: rotate(30deg);
}

.art-heading.-chance {
  color: #fff;
}

.art-heading.-chance span {
  display: block;
  margin: 0 auto;
  width: fit-content;
  background: #FFF100;
  color: #464B81;
  padding: 10px 20px;
  border-radius: 100px;
  font-size: 2.8rem;
  position: relative;
  margin-bottom: 16px;
}

@media (max-width: 767px) {
  .art-heading.-chance span {
    font-size: 2rem;
  }
}

.art-heading.-chance span::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: #FFF100;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  position: absolute;
  bottom: -12px;
  right: calc(50% - 7px);
}

@media (max-width: 767px) {

  .art-heading {
    font-size: 2.8rem;
    margin-bottom: 32px;
  }
}

.art-section {
  letter-spacing: 0.05em;
  position: relative;
}

.art-section.bg-pattern {
  background: url(/fc/art/assets/img/bg-pattern.jpg) repeat;
}

.art-section.bg-blue {
  background: url(/fc/art/assets/img/bg-blue.jpg) repeat;
}

.art-section__wrap {
  padding: 120px 20px;
  position: relative;
  overflow: hidden;
}

@media (max-width: 767px) {
  .art-section__wrap {
    padding: 64px 20px;
  }
}

.art-section.-feature::before {
  content: "";
  width: 282px;
  height: auto;
  aspect-ratio: 282 / 242;
  background: url(/fc/art/assets/img/feature-deco-01.png) no-repeat center center / contain;
  position: absolute;
  top: -100px;
  right: calc(50% - 700px);
  z-index: 10;
}

.art-section.-feature::after {
  content: "";
  width: 206px;
  height: auto;
  aspect-ratio: 206 / 200;
  background: url(/fc/art/assets/img/feature-deco-02.png) no-repeat center center / contain;
  position: absolute;
  bottom: 330px;
  left: calc(50% - 590px);
  z-index: 10;
}

.art-section.-chance::before {
  content: "";
  width: 335px;
  height: auto;
  aspect-ratio: 335 / 263;
  background: url(/fc/art/assets/img/chance-deco.png) no-repeat center center / contain;
  position: absolute;
  top: -100px;
  left: calc(50% - 700px);
  z-index: 10;
}

@media (max-width: 767px) {
  .art-section.-feature::before {
    width: 28vw;
    top: -8vw;
    right: 0;
  }

  .art-section.-feature::after {
    width: 20vw;
    bottom: calc(96px + 47vw);
    left: inherit;
    right: 2vw;
  }

  .art-section.-chance::before {
    width: 35vw;
    top: -10vw;
    left: -2vw;
  }
}

.art-section.-intro .art-section__wrap::before {
  content: "";
  width: 1754px;
  height: 1592px;
  background: url(/fc/art/assets/img/intro-bg.png) no-repeat center center / contain;
  position: absolute;
  top: 54%;
  left: 45%;
  transform: translate(-50%, -50%);
  z-index: 5;
}

.art-section.-feature .art-section__wrap::before {
  content: "";
  width: 2144px;
  height: 2050px;
  background: url(/fc/art/assets/img/feature-bg.png) no-repeat center center / contain;
  position: absolute;
  top: 40%;
  left: 45%;
  transform: translate(-50%, -50%);
  z-index: 5;
}

@media (max-width: 767px) {
  .art-section.-intro .art-section__wrap::before {
    height: 100%;
  }

  .art-section.-feature .art-section__wrap::before {
    height: 80%;
    top: 50%;
  }
}

.art-section__inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}

.art-intro {
  display: flex;
  align-items: center;
  gap: 20px 5%;
}

.art-intro+.art-intro {
  margin-top: 64px;
}

.art-intro.-reverse {
  flex-direction: row-reverse;
}

.art-intro__img {
  width: 50%;
}

.art-intro__txt {
  width: 45%;
  position: relative;
}

.art-intro__txt::before {
  content: "";
  width: 45px;
  height: 37px;
  background: url(/fc/art/assets/img/voice-deco.png) no-repeat center center / contain;
  position: absolute;
  top: -45px;
  left: -24px;
  z-index: 10;
}

.art-intro__txt p {
  line-height: 1.8;
}

.art-intro__txt p:last-child {
  text-align: right;
  font-size: 2rem;
  font-weight: 500;
}

@media (max-width: 767px) {
  .art-intro__txt p:last-child {
    font-size: 1.8rem;
  }
}

.art-intro__txt h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #464B81;
  margin-bottom: 24px;
}

@media (max-width: 767px) {
  .art-intro {
    flex-direction: column !important;
  }

  .art-intro__img {
    width: 100%;
  }

  .art-intro__txt {
    width: 100%;
  }

  .art-intro__txt::before {
    width: 30px;
    height: 24px;
    top: -25px;
    left: -10px;
  }

  .art-intro__txt h3 {
    font-size: 2rem;
    margin-bottom: 16px;
  }
}

.art-reason-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 4%;
}

.art-reason-list__item {
  display: grid;
  grid-template-rows: subgrid;
  gap: 16px;
  grid-row: span 3;
  width: 100%;
  background: #fff;
  border-radius: 10px;
  padding: 48px 8%;
  position: relative;
}

.art-reason-list__item-num {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 78px;
  height: 82px;
  background: url(/fc/art/assets/img/reason-deco.png) no-repeat center center / contain;
  font-size: 2.6rem;
  font-weight: 700;
  color: #464B81;
  position: absolute;
  top: -20px;
  left: 12px;
}

.art-reason-list__item-img {
  text-align: center;
  align-self: flex-end;
}

.art-reason-list__item-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #464B81;
  text-align: center;
}

.art-reason-list__item-txt {
  line-height: 1.8;
}

@media (max-width: 767px) {

  .art-reason-list {
    grid-template-columns: 1fr;
  }

  .art-reason-list__item {
    padding-bottom: 24px;
  }

  .art-reason-list__item-num {
    width: 60px;
    height: 63px;
    font-size: 2rem;
  }

  .art-reason-list__item-ttl {
    font-size: 2rem;
  }
}

.art-movie iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/ 9;
  border: 0;
}

.art-chance-list {
  display: flex;
  gap: 40px 5%;
  color: #fff;
  margin-bottom: 80px;
}

.art-chance-list__item {
  width: 30%;
}

.art-chance-list__item-img {
  border-radius: 10px;
  overflow: hidden;
}

.art-chance-list__item-ttl {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin: 12px 0;
}

.art-chance-list__item-txt {
  line-height: 1.8;
}

@media (max-width: 767px) {
  .art-chance-list {
    flex-direction: column;
  }

  .art-chance-list__item {
    width: 100%;
  }

  .art-chance-list__item-ttl {
    font-size: 1.8rem;
  }
}

.art-chance-contents__ttl {
  text-align: center;
  margin-bottom: 32px;
}

.art-chance-contents__wrap {
  display: flex;
  gap: 40px 4%;
  background: #fff;
  border-radius: 10px;
  padding: 72px 5% 60px;
}

.art-chance-contents__item {
  width: 48%;
  color: #464B81;
}

.art-chance-contents__item-img {
  text-align: center;
}

.art-chance-contents__item-ttl {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin: 12px 0;
}

.art-chance-contents__item-txt {
  line-height: 1.8;
}

@media (max-width: 767px) {
  .art-chance-contents__wrap {
    flex-direction: column;
    padding: 56px 5%;
  }

  .art-chance-contents__item {
    width: 100%;
  }

  .art-chance-contents__item-ttl {
    font-size: 1.8rem;
  }
}

.art-feature {
  display: flex;
  align-items: center;
  gap: 20px 5%;
}

.art-feature+.art-feature {
  margin-top: 64px;
}

@media (max-width: 767px) {
  .art-feature {
    flex-direction: column !important;
  }
}

.art-feature.-reverse {
  flex-direction: row-reverse;
}

.art-feature__img {
  width: 50%;
}

.art-feature__txt {
  width: 45%;
}

.art-feature__txt p {
  line-height: 1.8;
}

@media (max-width: 767px) {
  .art-feature__img {
    width: 100%;
  }

  .art-feature__txt {
    width: 100%;
  }
}

.art-feature__txt h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #464B81;
  margin-bottom: 24px;
}

@media (max-width: 767px) {
  .art-feature__txt h3 {
    font-size: 2rem;
    margin-bottom: 16px;
  }
}

.art-feature__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 64px;
}

.art-feature__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 360px;
  min-height: 56px;
  height: 6.6vw;
  max-height: 66px;
  border-radius: 200px;
  border: 2px solid #FFF100;
  background: #FFF100;
  color: #464B81;
  padding: 10px 40px 10px 16px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  filter: drop-shadow(0px 3px 8px rgba(0, 0, 0, 0.1));
}

@media (max-width: 767px) {
  .art-feature__btn {
    margin-top: 40px;
  }

  .art-feature__btn a {
    font-size: 1.8rem;
  }
}

.art-feature__btn a:hover {
  background-color: #fff;
  color: #464B81;
}

.art-feature__btn a .icon {
  font-size: 2.8rem;
  position: absolute;
  top: 50%;
  right: 2vw;
  transform: translate(0, -50%);
}

.support-img {
  margin: 0 auto;
  max-width: 640px;
}

/* .c-modal */

.c-modal {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.c-modal__bg {
  background: rgba(0, 0, 0, 0.3);
  height: 100%;
  width: 100%;
  position: absolute;
}

.c-modal__content {
  background: #fff;
  left: 50%;
  padding: 40px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95vw;
  max-width: 640px;
  max-height: 80%;
  overflow-y: auto;
}

.c-modal__content h3 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 16px;
  text-align: center;
}

.c-modal__close-btn {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 48px;
  cursor: pointer;
  transition: 0.3s;
}

.c-modal__close-btn:hover {
  color: #005DAD;
}

@media (max-width: 767px) {
  .c-modal__content {
    padding: 32px 20px;
  }
}

#page_top {
  z-index: 10;
}

.art-voice-list {
  display: flex;
  gap: 50px 5%;
}

.art-voice-list__item {
  width: 30%;
  position: relative;
}

.art-voice-list__item::before {
  content: "";
  width: 30px;
  height: 24px;
  background: url(/fc/art/assets/img/voice-deco.png) no-repeat center center / contain;
  position: absolute;
  top: -15px;
  left: 12px;
  z-index: 10;
}

.art-voice-list__item-img {
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.art-voice-list__item-ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #464B81;
  margin: 12px 0;
}

.art-voice-list__item-txt {
  line-height: 1.8;
}

@media (max-width: 767px) {
  .art-voice-list {
    flex-direction: column;
  }

  .art-voice-list__item {
    width: 100%;
  }

  .art-voice-list__item-ttl {
    font-size: 1.7rem;
  }
}

.art-campaign {
  background: url(/fc/art/assets/img/campaign-bg.jpg) no-repeat center top / contain;
  padding: 0 20px;
}

.art-campaign__inner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 20vw 0 120px;
}