@charset "UTF-8";
/* base
--------------------------------------------------- */
html {
  position: relative;
  min-width: 375px;
  scroll-behavior: smooth;
}
body {
  color: #242424;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  word-break: break-all;
  min-width: 375px;
  line-height: 1.44;
  letter-spacing: 0;
}
img {
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  object-position: top;
}
a {
  display: block;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: 0.28s;
}
h2 img {
  height: auto;
  margin: 0 auto;
  display: block;
}
/* common
--------------------------------------------------- */
.inner {
  width: 90%;
  margin: 0 auto;
}
.mw {
  width: 100%;
  margin: 0 auto;
}
.sp {
  display: block;
}
.pc {
  display: none;
}
.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fadein.show {
  opacity: 1;
  transform: translateY(0);
}
@media (min-width: 500px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .mw {
    width: clamp(375px, 38vw, 500px);
  }
}
/* text
--------------------------------------------------- */
h2 {
  position: relative;
  text-align: center;
  font-size: 8vw;
  font-weight: 700;
}
h2::after {
  font-size: 33.333vw;
  color: rgba(233,64,64,0.13);
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  position: absolute;
  white-space: nowrap;
  z-index: -1;
}
@media screen and (min-width: 981px) {
  h2 {
    font-size: min(3.061vw,40px);
  }
  h2::after {
    font-size: min(12.755vw,167px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  h2 {
    font-size: 30px;
  }
  h2::after {
    font-size: 125px;
  }
}
/* pcSide
--------------------------------------------------- */
.contents_pcSide {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 0;
  overflow: hidden;
}
.contents_pcSide .inner {
  width: 100%;
  height: 100%;
  justify-content: space-between;
}
/* contents_pcSide layout */
.pcSide-left,
.pcSide-right {
  width: 31vw;
  height: 100%;
  background: #fff;
  text-align: center;
  position: fixed;
  width: calc((100vw - min(38vw,500px)) / 2);
}
.pcSide-right {
  right: 0;
}
.pcSide-left .pcSide-inner,
.pcSide-right .pcSide-inner {
  max-width: 710px;
  position: relative;
  height: 100%;
}
.pcSide-left .pcSide-inner {
  margin-left: auto;
}
.pcSide-right .pcSide-inner {
  margin-right: auto;
}
/* pcSide-left */
.pcSide-left::before {
  content: "";
  background: url(../image/side/pc-bg001.png) left bottom / contain no-repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: min(3.734vw,51px);
}
.pcSide-left .pcSide-inner {
  padding: min(8.053vw,110px) 0 0;
}
.pcSide-left .pcSide-inner::after {
  content: "";
  background: url(../image/side/pc-il001.png) top center / contain no-repeat;
  width: min(14.348vw,196px);
  height: min(15.007vw,205px);
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  bottom: min(1.464vw,20px);
}
/* pcSide-left catch */
.pcSide-left .catch {
  margin-bottom: min(2.562vw,35px);
}
.pcSide-left .catch img {
  width: min(16.325vw,270px);
}
/* pcSide-left cta */
.pcSide-left .contents_cta {
  background: none;
  padding: min(1.464vw,30px) 0 0;
  width: min(18.521vw,355px);
  margin: 0 auto;
}
.pcSide-left .contents_cta .cta-button::before {
  background: url(../image/side/pc-dc001.png) top center / contain no-repeat;
  width: min(9.663vw,162px);
  height: min(1.098vw,18px);
  top: max(-1.464vw,-30px);
}
.pcSide-left .contents_cta .cta-button::after {
  width: min(2.855vw,39px);
  height: min(1.464vw,20px);
  left: min(0.805vw,11px);
  top: max(-0.878vw,-12px);
}
.pcSide-left .contents_cta a {
  padding: min(1.318vw,20px);
}
.pcSide-left .contents_cta a span {
  font-size: min(1.025vw,16px);
  padding-left: min(1.684vw,23px);
}
.pcSide-left .contents_cta a span::before {
  width: min(1.025vw,16px);
  height: min(1.025vw,16px);
  top: calc(50% - min(0.512vw,8px));
}
/* pcSide-right */
.pcSide-right .pcSide-inner {
  padding: min(6.955vw,95px) 0;
  text-align: left;
  max-width: 710px;
}
.pcSide-right .head {
  text-align: center;
  margin: 0 0 min(1.464vw,30px);
}
.pcSide-right .head img {
  width: min(6.881vw,94px);
}
.pcSide-right ul.navlist {
  width: 75%;
  max-width: 360px;
  margin: 0 auto;
}
.pcSide-right ul.navlist li {
  position: relative;
}
.pcSide-right ul.navlist li:not(:last-child) {
  border-bottom: dotted 0.3px #333;
}
.pcSide-right ul.navlist li a {
  font-size: min(1.318vw,18px);
  font-weight: 500;
  line-height: 1.4em;
  position: relative;
  padding: min(0.878vw,12px) 0;
}
.pcSide-right ul.navlist li .arrow {
  position: absolute;
  display: inline-block;
  width: min(0.732vw,10px);
  height: min(1.083vw,14.8px);
  right: min(1.245vw,17px);
  top: 0;
  bottom: 0;
  margin: auto;
}
.pcSide-right ul.navlist li .arrow::before,
.pcSide-right ul.navlist li .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - min(0.11vw,1.5px));
  right: 0;
  width: min(0.805vw,11px);
  height: min(0.22vw,3px);
  border-radius: 9999px;
  background-color: #E62318;
  transform-origin: calc(100% - min(0.11vw,1.5px)) 50%;
}
.pcSide-right ul.navlist li .arrow::before {
  transform: rotate(45deg);
}
.pcSide-right ul.navlist li .arrow::after {
  transform: rotate(-45deg);
}
@media (hover: hover) {
  .pcSide-right ul.navlist li a:hover {
    color: #E62318;
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .pcSide-left .catch,
  .pcSide-left .contents_cta,
  .pcSide-right .head,
  .pcSide-right .navlist {
    display: none;
  }
  .contents_pcSide .pcSide-left,
  .pcSide-right {
    width: calc((100vw - 375px) / 2);
  }
}
/* header sp
--------------------------------------------------- */
.header {
  background: #fff;
  position: fixed;
  height: 11.333vw;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 99;
}
.header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header h1 img {
  width: 38.133vw;
}
.hamburger {
  position: relative;
  top: 0;
  right: -4vw;
  z-index: 100;
  width: 11.333vw;
  height: 11.333vw;
  border: none;
  background: transparent;
  cursor: pointer;
}
.hamburger__line {
  position: absolute;
  left: 2.933vw;
  width: 5.6vw;
  height: 0.533vw;
  background-color: #333;
  transition: all .4s;
}
.hamburger__line:nth-of-type(1) {
  top: 3.733vw;
}
.hamburger__line:nth-of-type(2) {
  top: 5.6vw;
}
.hamburger__line:nth-of-type(3) {
  top: 7.467vw;
}
/* menu open */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(7px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-7px) rotate(45deg);
}
/* nav */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 80vw;
  height: 100vh;
  background: #fff;
  box-shadow: 2px 0 4px rgba(0,0,0,.05);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
  text-align: center;
  padding: 10.667vw 8vw 9.333vw;
}
.nav.active {
  transform: translateX(0);
}
.nav .head {
  display: block;
  margin-bottom: 6.667vw;
}
.nav .head img {
  width: 24vw;
}
.nav ul.navlist {
  margin: 0;
  list-style: none;
  text-align: left;
}
.nav ul.navlist li {
  position: relative;
  border-bottom: dotted 0.08vw #333;
}
.nav ul.navlist li a {
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.33333em;
  position: relative;
  padding: 3.0265vw 0;
}
.nav ul.navlist li .arrow {
  position: absolute;
  display: inline-block;
  width: 2.667vw;
  height: 3.947vw;
  right: 2.667vw;
  top: 0;
  bottom: 0;
  margin: auto;
}
.nav ul.navlist li .arrow::before,
.nav ul.navlist li .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.2665vw);
  right: 0;
  width: 2.4vw;
  height: 0.533vw;
  border-radius: 2666.4vw;
  background-color: #E62318;
  transform-origin: calc(100% - 0.2665vw) 50%;
}
.nav ul.navlist li .arrow::before {
  transform: rotate(45deg);
}
.nav ul.navlist li .arrow::after {
  transform: rotate(-45deg);
}
/* mainContents
--------------------------------------------------- */
.main__mainContents {
  position: relative;
  z-index: 10;
}
/* fv
--------------------------------------------------- */
.contents_fv {
  position: relative;
  background: url(../img/fv/FV_bg.jpg) top center / cover;
  margin-top: 11.333vw;
  height: 133.333vw;
}
.contents_fv .badge {
  position: absolute;
  background: #E62318;
  color: #fff;
  font-size: 3.733vw;
  font-weight: 700;
  right: 3.733vw;
  top: 3.467vw;
  padding: 0.533vw 2.133vw;
}
@media screen and (min-width: 981px) {
  .contents_fv {
    height: min(51.02vw,666px);
  }
  .contents_fv .badge {
    font-size: min(1.429vw,18.67px);
    right: min(1.429vw,21px);
    top: min(1.327vw,18px);
    padding: min(0.204vw,3px) min(0.816vw,10px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_fv {
    height: 500px;
  }
  .contents_fv .badge {
    font-size: 14px;
    right: 14px;
    top: 13px;
    padding: 2px 8px;
  }
}
@media screen and (min-width: 500px) {
  .contents_fv {
    margin-top: 0 !important;
  }
}
/* cta
--------------------------------------------------- */
.contents_cta {
  background: url(../image/cta-bg001.jpg) 0 0 / cover no-repeat;
  padding: 14.133vw 6.667vw 6.667vw;
}
.contents_cta .cta-button {
  position: relative;
}
.contents_cta .cta-button::before,
.contents_cta .cta-button::after,
.contents_cta a span::before {
  content: "";
  position: absolute;
}
.contents_cta .cta-button::before {
  background: url(../image/cta-dc001.png) top center / contain no-repeat;
  width: 45.867vw;
  height: 5.067vw;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -7.733vw;
}
.contents_cta .cta-button::after {
  content: "";
  background: url(../image/cta-dc002.png) top center / contain no-repeat;
  width: 12.8vw;
  height: 6.933vw;
  left: 4.267vw;
  top: -4.533vw;
}
.contents_cta a {
  position: relative;
  background: #E62318;
  text-align: center;
  padding: 5.6vw 2.667vw 6.133vw;
  overflow: hidden;
}
.contents_cta a.is-2line {
  text-align: left;
  padding: 3.733vw 0 4.267vw 11.2vw;
}
.contents_cta a.shine.active::after {
  animation: 2s 0s shine linear;
  background: linear-gradient(
    to right,
    rgba(255,255,255,0) 25%,
    rgba(255,255,255,.6) 50%,
    rgba(255, 255, 255, 0) 75%
  );
  content: '';
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transform: skewX(-15deg);
  width: 100%;
}
@keyframes shine {
  20% { left: 100%; }
  100% { left: 100%; }
}
.contents_cta a span{
  position: relative;
  color: #fff;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.25em;
  padding-left: 7.2vw;
}
.contents_cta a.is-2line span{
  display: block;
}
.contents_cta a span::before {
  background: url(../image/cta-ar001.svg) top center / contain no-repeat;
  width: 4.267vw;
  height: 4.267vw;
  left: 0;
  top: calc(50% - 1.867vw);
}
@media (hover: hover) {
  .contents_cta a:hover {
    transform: translateY(4px);
    transition: 0.4s;
  }
}
@media screen and (min-width: 981px) {
  .contents_cta {
    padding: min(5.403vw,70px) min(2.548vw,35px) min(2.548vw,35px);
  }
  .contents_cta .cta-button::before {
    width: min(17.533vw,229px);
    height: min(1.938vw,26px);
    top: max(-2.956vw,-37px);
  }
  .contents_cta .cta-button::after {
    width: min(4.893vw,65px);
    height: min(2.650vw,35px);
    left: min(1.631vw,19px);
    top: max(-1.733vw,-21px);
  }
  .contents_cta a {
    padding: min(2.141vw,29px) min(1.019vw,10px);
  }
  .contents_cta a.is-2line {
    padding: min(1.427vw,14px) 0 min(1.631vw,16px) min(4.281vw,42px);
  }
  .contents_cta a span{
    font-size: min(1.835vw,24px);
    padding-left: min(2.752vw,35px);
  }
  .contents_cta a span::before {
    width: min(1.631vw,23px);
    height: min(1.631vw,23px);
    top: calc(50% - min(0.714vw,10px));
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_cta {
    padding: 53px 25px 25px;
  }
  .contents_cta .cta-button::before {
    width: 172px;
    height: 19px;
    top: -29px;
  }
  .contents_cta .cta-button::after {
    width: 48px;
    height: 26px;
    left: 16px;
    top: -17px;
  }
  .contents_cta a {
    padding: 21px 10px 23px;
  }
  .contents_cta a.is-2line {
    padding: 14px 0 16px 42px;
  }
  .contents_cta a span {
    font-size: 18px;
    padding-left: 27px;
  }
  .contents_cta a span::before {
    width: 16px;
    height: 16px;
    top: calc(50% - 7px);
  }
}
/* intern companies
--------------------------------------------------- */
.contents_intern-companies {
  background: #fff;
  padding: 11vw 0 7vw;
  overflow-x: hidden;
}
.contents_intern-companies h2 {
  margin-bottom: 5.333vw;
}
.contents_intern-companies h2 p {
  font-size: 6.667vw;
  font-weight: 700;
  line-height: 1.5;
}
.contents_intern-companies h2 span {
  font-size: 3.733vw;
  display: block;
}
/* intern slider */
.slider-container {
  overflow: hidden;
}
.slider {
  width: 100%;
  position: relative;
}
.slides {
  display: flex;
  width: 200%;
}
.slide {
  flex-basis: 50%;
  display: flex;
  align-items: center;
}
.slide i {
  display: block;
  flex-basis: var(--logo-width, 25%);
  font-size: clamp(60px, 6.8vw, 120px);
  padding: clamp(30px, 4vw, 60px) 0;
  transition: transform .3s;
  cursor: pointer;
}
.slide i:hover {
  transform: scale(1.14);
}
/* intern companies slide */
.splide1,
.splide2 {
  overflow: hidden;
}
.splide1 .splide__track,
.splide2 .splide__track {
  overflow: hidden;
}
.splide1 .splide__list {
  margin-bottom: 1.333vw;
}
.splide1 .splide__slide,
.splide2 .splide__slide {
  margin: 0 !important;
  width: auto;
  flex-shrink: 0;
}
.splide1 .splide__slide img,
.splide2 .splide__slide img {
  display: block;
  width: 38.667vw;
  height: auto;
  max-width: none;
}
@media screen and (min-width: 981px) {
  .contents_intern-companies {
    padding: min(4.281vw,55px) 0 min(3.058vw,40px);
  }
  .contents_intern-companies h2 {
    margin-bottom: min(3.058vw,37px);
  }
  .contents_intern-companies h2 p {
    font-size: min(2.548vw,32px);
  }
  .contents_intern-companies h2 span {
    font-size: min(1.427vw,18px);
  }
  /* intern companies slide */
  .splide1 .splide__list {
    margin-bottom: min(0.51vw,6.7px);
  }
  .splide1 .splide__slide img,
  .splide2 .splide__slide img {
    width: min(14.781vw,193.3px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_intern-companies {
    padding: 41.25px 0 26.25px;
  }
  .contents_intern-companies h2 {
    margin-bottom: 20px;
  }
  .contents_intern-companies h2 p {
    font-size: 25px;
  }
  .contents_intern-companies h2 span {
    font-size: 14px;
  }
  /* intern companies slide */
  .splide1 .splide__list {
    margin-bottom: 5px;
  }
  .splide1 .splide__slide img,
  .splide2 .splide__slide img {
    width: 145px;
  }
}
/* lead
--------------------------------------------------- */
.contents_lead {
  background: #F3F3F3;
  padding-bottom: 5.333vw;
}
.contents_lead h2 {
  position: relative;
  padding: 8vw 0 2.667vw;
  margin-bottom: 12.533vw;
}
.contents_lead h2::after {
  content: "";
  background: url(../image/lead-bg002.svg) center center / contain no-repeat;
  width: 100vw;
  height: 41vw;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
.contents_lead h2::before {
  content: "";
  background: url(../image/lead-dc001.png) center center / contain no-repeat;
  width: 22.464vw;
  height: 44.147vw;
  position: absolute;
  left: calc(50% - -23.168vw);
  top: -8vw;
  z-index: 2;
}
.contents_lead h2 img {
  width: 62.5%;
  position: relative;
  z-index: 1;
}
.contents_lead .subhead {
  text-align: center;
  margin-bottom: 4.8vw;
}
.contents_lead .subhead p {
  font-size: 5.333vw;
  line-height: 1.4em;
  font-weight: 700;
}
.contents_lead .subhead p span {
  font-size: 8vw;
  color: #E62318;
  margin: 0 -2.933vw;
}
/* leadbox */
.leadbox {
  position: relative;
  background: #fff;
  padding: 14.933vw 5.333vw 8.533vw;
}
.leadbox::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 12vw solid transparent;
  border-left: 12vw solid transparent;
  border-top: 8.8vw solid #F3F3F3;
  border-bottom: 0;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: 0;
  z-index: 3;
}
.leadbox::after {
  content: "";
  background: url(../image/lead-bg001.png) center center / contain no-repeat;
  width: 100%;
  height: 168.8vw;
  position: absolute;
  left: 0;
  top: 8.8vw;
  z-index: 0;
}
.leadbox .leadbox-in {
  position: relative;
  z-index: 2;
}
/* leadbox detail */
.leadbox .image {
  margin-bottom: 2.667vw;
}
.leadbox .note {
  width: 83%;
  margin: 0 auto 5.6vw;
}
.leadbox .note li {
  color: #828282;
  font-size: 2.4vw;
  line-height: 1.4em;
  text-indent: -1em;
  margin-left: 1em;
}
.leadbox .card {
  position: relative;
  background: rgba(255,255,255,0.75);
  border: solid 2px rgba(233,64,64,0.42);
  width: 94%;
  margin: 0 auto;
  padding: 2.667vw 3.467vw 5.867vw;
  margin-bottom: 6.133vw;
  text-align: center;
}
.leadbox .card::before {
  content: "";
  background: url(../image/lead-dc002.png) center center / contain no-repeat;
  width: 21.755vw;
  height: 49.083vw;
  position: absolute;
  left: -5.867vw;
  top: -6.133vw;
  z-index: 2;
}
.leadbox .card-head {
  background: #E62318;
  color: #fff;
  font-size: 4vw;
  font-weight: 700;
  padding: 1.333vw;
  margin-bottom: 4vw;
}
.leadbox .card-text {
  font-size: 4vw;
  line-height: 1.4em;
  font-weight: 700;
}
.leadbox .card-text span {
  color: #E62318;
}
.leadbox .catch {
  text-align: center;
}
.leadbox .catch-head {
  font-size: 6.667vw;
  font-weight: 700;
  margin-bottom: 5.867vw;
}
.leadbox .catch-head span {
  color: #E62318;
}
.leadbox .catch-text {
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.4em;
}
.leadbox .catch-text span {
  background-image: radial-gradient(circle at center, #E62318 21%, transparent 21%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  padding-top: .35em;
}
@media screen and (min-width: 981px) {
  .contents_lead {
    padding-bottom: min(2.041vw,30px);
  }
  .contents_lead h2 {
    padding: min(3.061vw,40px) 0 min(1.02vw,15px);
    margin-bottom: min(4.796vw,64px);
  }
  .contents_lead h2::after {
    width: min(38.265vw,500px);
    height: min(15.33vw,201px);
  }
  .contents_lead h2::before {
    width: min(8.596vw,112.33px);
    height: min(16.893vw,220.74px);
    left: calc(50% - max(-8.865vw,-115.88px));
    top: max(-3.061vw,-40px);
  }
  .contents_lead .subhead {
    margin-bottom: min(1.837vw,20px);
  }
  .contents_lead .subhead p {
    font-size: min(2.041vw,26.67px);
  }
  .contents_lead .subhead p span {
    font-size: min(3.061vw,40px);
    margin: 0 max(-1.122vw,-13px);
  }
  /* leadbox */
  .leadbox {
    padding: min(5.714vw,75px) min(2.041vw,25px) min(3.265vw,42px);
  }
  .leadbox::before {
    border-right: min(4.592vw,55px) solid transparent;
    border-left: min(4.592vw,55px) solid transparent;
    border-top: min(3.367vw,43px) solid #F3F3F3;
  }
  .leadbox::after {
    height: min(64.592vw,844px);
    top: min(3.367vw,43px);
  }
  /* leadbox detail */
  .leadbox .image {
    margin-bottom: min(1.02vw,15px);
  }
  .leadbox .note {
    margin: 0 auto min(2.143vw,26px);
  }
  .leadbox .note li {
    font-size: min(0.918vw,12px);
  }
  .leadbox .card {
    padding: min(1.02vw,15px) min(1.327vw,20px) min(2.245vw,30px);
    margin-bottom: min(2.347vw,32px);
  }
  .leadbox .card::before {
    width: min(8.324vw,108.77px);
    height: min(18.782vw,245.41px);
    left: max(-2.245vw,-27px);
    top: max(-2.347vw,-28px);
  }
  .leadbox .card-head {
    font-size: min(1.531vw,20px);
    padding: min(0.51vw,8px);
    margin-bottom: min(1.531vw,20px);
  }
  .leadbox .card-text {
    font-size: min(1.531vw,20px);
  }
  .leadbox .catch-head {
    font-size: min(2.551vw,33.33px);
    margin-bottom: min(2.245vw,31px);
  }
  .leadbox .catch-text {
    font-size: min(1.531vw,20px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_lead {
    padding-bottom: 20px;
  }
  .contents_lead h2 {
    padding: 30px 0 10px;
    margin-bottom: 47px;
  }
  .contents_lead h2::after {
    width: 375px;
    height: 150.23px;
  }
  .contents_lead h2::before {
    width: 84.24px;
    height: 165.55px;
    left: calc(50% - -86.88px);
    top: -30px;
  }
  .contents_lead .subhead {
    margin-bottom: 18px;
  }
  .contents_lead .subhead p {
    font-size: 20px;
  }
  .contents_lead .subhead p span {
    font-size: 30px;
    margin: 0 -11px;
  }
  /* leadbox */
  .leadbox {
    padding: 56px 20px 32px;
  }
  .leadbox::before {
    border-right: 45px solid transparent;
    border-left: 45px solid transparent;
    border-top: 33px solid #F3F3F3;
  }
  .leadbox::after {
    height: 633px;
    top: 33px;
  }
  /* leadbox detail */
  .leadbox .image {
    margin-bottom: 10px;
  }
  .leadbox .note {
    margin: 0 auto 21px;
  }
  .leadbox .note li {
    font-size: 9px;
  }
  .leadbox .card {
    padding: 10px 13px 22px;
    margin-bottom: 23px;
  }
  .leadbox .card::before {
    width: 81.58px;
    height: 184.06px;
    left: -22px;
    top: -23px;
  }
  .leadbox .card-head {
    font-size: 15px;
    padding: 5px;
    margin-bottom: 15px;
  }
  .leadbox .card-text {
    font-size: 15px;
  }
  .leadbox .catch-head {
    font-size: 25px;
    margin-bottom: 22px;
  }
  .leadbox .catch-text {
    font-size: 15px;
  }
}
/* value
--------------------------------------------------- */
.contents_value {
  padding: 10.667vw 0 0;
}
.contents_value .subhead {
  background: #E94040;
  color: #fff;
  font-size: 4.8vw;
  font-weight: 900;
  text-align: center;
  margin-bottom: 5.333vw;
}
.contents_value h2 {
  margin-bottom: 8vw;
}
.contents_value h2 img {
  width: 100%;
}
.contents_value h2::after {
  content: "VALUE";
  top: -6.667vw;
  left: 0;
  right: 0;
  margin: 0 auto;
}
/* valuelist */
.valuelist {
  position: relative;
  padding-bottom: 10.667vw;
  margin-bottom: 5.333vw;
}
.valuelist::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 19px solid #E62318;
  border-bottom: 0;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  bottom: 0;
}
.valuelist > li {
  text-align: center;
  padding: 13.333vw 0 5.333vw;
  border-radius: 0.667vw;
}
.valuelist > li:not(:last-child) {
  margin-bottom: 12vw;
}
.valuelist > li:nth-child(1) {
  background: url(../image/value-bg001.jpg) left center / cover;
}
.valuelist > li:nth-child(2) {
  background: url(../image/value-bg002.jpg) left center / cover;
}
.valuelist > li:nth-child(3) {
  background: url(../image/value-bg003.jpg) left center / cover;
}
/* valuelist detail */
.valuelist .number {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -10.133vw;
  color: #E94040;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16vw;
  line-height: 18.133vw;
  text-align: center;
}
.valuelist .number::before {
  content: "";
  background: #E94040;
  position: absolute;
  width: 20vw;
  height: 1.067vw;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.valuelist .head {
  font-size: 9.72vw;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 4vw;
}
.valuelist .head .text-red {
  color: #E94040;
}
.valuelist .head .text-small {
  font-size: 6.48vw;
}
.valuelist .image {
  position: relative;
}
.valuelist .image img {
  width: auto;
  height: 22.4vw;
}
.valuelist .image::before {
  content: "";
  background: #fff;
  width: 31.2vw;
  height: 31.2vw;
  border-radius: 266.4vw;
  position: absolute;
  top: 8vw;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: -1;
}
.valuelist .text {
  font-size: 4.8vw;
  font-weight: 400;
  line-height: 1.6em;
  background: #fff;
  border-radius: 0.667vw;
  width: 85%;
  margin: 0 auto 32px;
  padding: 2.667vw;
}
/* valuelist dl */
.valuelist dl {
  background: #fff;
  border-radius: 0.667vw;
  width: 85%;
  margin: 0 auto;
}
.valuelist dl dt {
  position: relative;
  color: #fff;
  font-size: 4.667vw;
  padding: 2.133vw;
  border-radius: 0.667vw 0.667vw 0 0;
}
.valuelist dl dt::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  border-top: 0;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -4.533vw;
}
.valuelist dl dd {
  border-radius: 0 0 0.667vw 0.667vw;
  padding: 6.133vw;
  text-align: left;
}
.valuelist dl dd ul li {
  position: relative;
  padding-left: 6.933vw;
}
.valuelist dl dd ul li:not(:last-child) {
  margin-bottom: 4vw;
}
.valuelist dl dd ul li::before {
  content: "";
  background: url(../image/value-ic001.svg) center center / contain no-repeat;
  width: 5.419vw;
  height: 5.067vw;
  position: absolute;
  left: 0;
  top: 0.533vw;
}
.valuelist dl dd ul li p {
  font-size: 4vw;
  line-height: 1.4em;
  font-weight: 500;
}
.valuelist dl dd ul li p span {
  font-weight: 700;
}
/* valuelist coloring */
.valuelist > li:nth-child(1) dl dt {
  background: #D559C5;
}
.valuelist > li:nth-child(2) dl dt {
  background: #269EAE;
}
.valuelist > li:nth-child(3) dl dt {
  background: #4F5FC3;
}

.valuelist > li:nth-child(1) dl dt::before {
  border-bottom: 24px solid #D559C5;
}
.valuelist > li:nth-child(2) dl dt::before {
  border-bottom: 24px solid #269EAE;
}
.valuelist > li:nth-child(3) dl dt::before {
  border-bottom: 24px solid #4F5FC3;
}

.valuelist li:nth-child(1) dl dd {
  background: #FFFAFE;
}
.valuelist li:nth-child(2) dl dd {
  background: #F7FEFF;
}
.valuelist li:nth-child(3) dl dd {
  background: #F8F9FF;
}

.valuelist li:nth-child(1) dl dd p span {
  color: #D559C5;
}
.valuelist li:nth-child(2) dl dd p span {
  color: #269EAE;
}
.valuelist li:nth-child(3) dl dd p span {
  color: #4F5FC3;
}
@media screen and (min-width: 981px) {
  .contents_value {
    padding: min(4.082vw,50px) 0 0;
  }
  .contents_value .subhead {
    font-size: min(1.837vw,24px);
    margin-bottom: min(2.041vw,26px);
  }
  .contents_value h2 {
    margin-bottom: min(3.061vw,40px);
  }
  .contents_value h2::after {
    top: max(-2.551vw,-35px);
  }
  /* valuelist */
  .valuelist {
    padding-bottom: min(4.082vw,50px);
    margin-bottom: min(2.041vw,30px);
  }
  .valuelist::after {
    border-right: min(1.531vw,20px) solid transparent;
    border-left: min(1.531vw,20px) solid transparent;
    border-top: min(1.939vw,22px) solid #E62318;
  }
  .valuelist > li {
    padding: min(5.102vw,65px) 0 min(2.041vw,30px);
    border-radius: min(0.255vw,3.3px);
  }
  .valuelist > li:not(:last-child) {
    margin-bottom: min(4.592vw,55px);
  }
  /* valuelist detail */
  .valuelist .number {
    top: max(-3.878vw,-48px);
    font-size: min(6.122vw,80px);
    line-height: min(6.939vw,89px);
  }
  .valuelist .number::before {
    content: "";
    width: min(7.653vw,100px);
    height: min(0.408vw,5px);
  }
  .valuelist .head {
    font-size: min(3.719vw,48.6px);
    margin-bottom: min(1.531vw,21px);
  }
  .valuelist .head .text-small {
    font-size: min(2.48vw,32.4px);
  }
  .valuelist .image img {
    height: min(8.571vw,114px);
  }
  .valuelist .image::before {
    width: min(11.939vw,156px);
    height: min(11.939vw,156px);
    top: min(3.061vw,38px);
  }
  .valuelist .text {
    font-size: min(1.837vw,24px);
    border-radius: min(0.255vw,3.3px);
    margin: 0 auto min(3.265vw,42px);
    padding: min(1.02vw,12.5px);
  }
  /* valuelist dl */
  .valuelist dl {
    border-radius: min(0.255vw,3.3px);
  }
  .valuelist dl dt {
    font-size: min(1.786vw,23.33px);
    padding: min(0.816vw,10px);
    border-radius: min(0.255vw,3.3px) min(0.255vw,3.3px) 0 0;
  }
  .valuelist dl dt::before {
    border-right: min(1.224vw,12px) solid transparent;
    border-left: min(1.224vw,12px) solid transparent;
    top: max(-1.735vw,-21px);
  }
  .valuelist dl dd {
    border-radius: 0 0 min(0.255vw,3.3px) min(0.255vw,3.3px);
    padding: min(2.347vw,33px);
  }
  .valuelist dl dd ul li {
    padding-left: min(2.653vw,34px);
  }
  .valuelist dl dd ul li:not(:last-child) {
    margin-bottom: min(1.531vw,17px);
  }
  .valuelist dl dd ul li::before {
    width: min(2.073vw,29px);
    height: min(1.939vw,25.33px);
    top: min(0.204vw,2px);
  }
  .valuelist dl dd ul li p {
    font-size: min(1.531vw,20px);
  }
  /* valuelist coloring */
  .valuelist > li:nth-child(1) dl dt::before {
    border-bottom: min(2.449vw,24px) solid #D559C5;
  }
  .valuelist > li:nth-child(2) dl dt::before {
    border-bottom: min(2.449vw,24px) solid #269EAE;
  }
  .valuelist > li:nth-child(3) dl dt::before {
    border-bottom: min(2.449vw,24px) solid #4F5FC3;
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_value {
    padding: 40px 0 0;
  }
  .contents_value .subhead {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .contents_value h2 {
    margin-bottom: 30px;
  }
  .contents_value h2::after {
    top: -25px;
  }
  /* valuelist */
  .valuelist {
    padding-bottom: 40px;
    margin-bottom: 20px;
  }
  .valuelist::after {
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
    border-top: 19px solid #E62318;
  }
  .valuelist > li {
    padding: 50px 0 20px;
    border-radius: 2.5px;
  }
  .valuelist > li:not(:last-child) {
    margin-bottom: 45px;
  }
  /* valuelist detail */
  .valuelist .number {
    top: -38px;
    font-size: 60px;
    line-height: 68px;
  }
  .valuelist .number::before {
    content: "";
    width: 75px;
    height: 4px;
  }
  .valuelist .head {
    font-size: 36.45px;
    margin-bottom: 15px;
  }
  .valuelist .head .text-small {
    font-size: 24.3px;
  }
  .valuelist .image img {
    height: 84px;
  }
  .valuelist .image::before {
    width: 117px;
    height: 117px;
    top: 30px;
  }
  .valuelist .text {
    font-size: 18px;
    border-radius: 2.5px;
    margin: 0 auto 32px;
    padding: 10px;
  }
  /* valuelist dl */
  .valuelist dl {
    border-radius: 2.5px;
  }
  .valuelist dl dt {
    font-size: 17.5px;
    padding: 8px;
    border-radius: 2.5px 2.5px 0 0;
  }
  .valuelist dl dt::before {
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    top: -17px;
  }
  .valuelist dl dd {
    border-radius: 0 0 2.5px 2.5px;
    padding: 23px;
  }
  .valuelist dl dd ul li {
    padding-left: 26px;
  }
  .valuelist dl dd ul li:not(:last-child) {
    margin-bottom: 15px;
  }
  .valuelist dl dd ul li::before {
    width: 20.32px;
    height: 19px;
    top: 2px;
  }
  .valuelist dl dd ul li p {
    font-size: 15px;
  }
  /* valuelist coloring */
  .valuelist > li:nth-child(1) dl dt::before {
    border-bottom: 24px solid #D559C5;
  }
  .valuelist > li:nth-child(2) dl dt::before {
    border-bottom: 24px solid #269EAE;
  }
  .valuelist > li:nth-child(3) dl dt::before {
    border-bottom: 24px solid #4F5FC3;
  }
}
/* voice
--------------------------------------------------- */
.contents_voice {
  background: #EBF3FD;
  padding: 10.667vw 0;
}
.contents_voice h2 {
  margin-bottom: 8vw;
}
.contents_voice h2 img {
  width: 100%;
}
.contents_voice h2::after {
  content: "VOICE";
  color: rgba(0,149,255,0.1);
  top: -13.333vw;
  left: 0;
  right: 0;
  margin: 0 auto;
}
/* voicelist accordion_one */
.voicelist .accordion_one + .accordion_one {
  margin-top: 2.667vw;
}
/* voicelist ac_header */
.voicelist .ac_header {
  position: relative;
  background: #fff;
  z-index: 1;
  cursor: pointer;
  transition: .3s;
  padding: 4vw;
}
.voicelist .ac_header:not(.open):hover {
  background: #F7FBFF;
}
.voicelist .ac_header .tag {
  display: block;
  text-align: center;
  margin-bottom: 1.067vw;
}
.voicelist .ac_header .tag span {
  background: #2277ED;
  font-size: 3.413vw;
  line-height: 8vw;
  font-weight: 700;
  color: #fff;
  padding: 1.6vw 4.8vw;
  border-radius: 0.667vw;
}
.voicelist .ac_header .gridbox {
  display: grid;
  justify-content: flex-start;
  align-items: center;
  grid-template-columns: 12.8vw 1fr;
  gap: 3.2vw;
}
.voicelist .ac_header p.text {
  color: #0A81D0;
  font-size: 4.8vw;
  line-height: 1.4em;
  font-weight: 700;
  display: block;
}
/* voice accordion icon */
.voicelist .accordion_one .ac_header .icon {
  position: relative;
  text-align: center;
  height: 5.333vw;
  margin: 2.667vw 0 0;
}
.voicelist .accordion_one .ac_header .icon:before {
  position: absolute;
  content: "+ もっと読む...";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
  top: 0; right: 0; bottom: 0; left: 0;
  transition: .3s;
  font-size: 3.733vw;
  line-height: 5.333vw;
  font-weight: 700;
  color: #030303;
  background: #FFEE00;
  width: 28.267vw;
  height: 5.333vw;
}
.voicelist .accordion_one .ac_header.open .icon:before {
  content: "- 閉じる";
}
/* voice accordion ac_inner */
.voicelist .ac_inner {
  position: relative;
  background: #fff;
  display: none;
  padding: 1.333vw 4vw 4vw;
  box-sizing: border-box;
}
.voicelist .ac_inner-in {
  background: #F7FBFF;
  border-radius: 0.667vw;
}
.voicelist .ac_inner .text {
  font-size: 3.733vw;
  font-weight: 400;
  line-height: 1.75em;
  padding: 2.667vw 4vw;
}
.voicelist .ac_inner .text span {
  color: #E94040;
  font-weight: 700;
}
@media screen and (min-width: 981px) {
  .contents_voice {
    padding: min(4.082vw,53px) 0;
  }
  .contents_voice h2 {
    margin-bottom: min(3.061vw,37px);
  }
  .contents_voice h2::after {
    top: max(-5.102vw,-68px);
  }
  /* voicelist accordion_one */
  .voicelist .accordion_one + .accordion_one {
    margin-top: min(1.02vw,20px);
  }
  /* voicelist ac_header */
  .voicelist .ac_header {
    padding: min(1.531vw,23px) min(1.531vw,19px) min(1.531vw,20px);
  }
  .voicelist .ac_header .tag {
    margin-bottom: min(0.408vw,11px);
  }
  .voicelist .ac_header .tag span {
    font-size: min(1.306vw,16.5px);
    line-height: min(3.061vw,36px);
    padding: min(0.612vw,9px) min(1.837vw,26px);
    border-radius: min(0.255vw,3.3px);
  }
  .voicelist .ac_header .gridbox {
    grid-template-columns: min(4.898vw,64px) 1fr;
    gap: min(1.224vw,12px);
  }
  .voicelist .ac_header p.text {
    font-size: min(1.837vw,24px);
  }
  /* voice accordion icon */
  .voicelist .accordion_one .ac_header .icon {
    height: min(2.041vw,26px);
    margin: min(1.02vw,11px) 0 0;
  }
  .voicelist .accordion_one .ac_header .icon:before {
    font-size: min(1.429vw,18.67px);
    line-height: min(2.041vw,26px);
    width: min(10.816vw,142px);
    height: min(2.041vw,26px);
  }
  /* voice accordion ac_inner */
  .voicelist .ac_inner {
    padding: min(0.51vw,5px) min(1.531vw,20px) min(1.531vw,20px);
  }
  .voicelist .ac_inner-in {
    border-radius: min(0.255vw,3.3px);
  }
  .voicelist .ac_inner .text {
    font-size: min(1.429vw,18.67px);
    padding: min(1.02vw,20px) min(1.531vw,22px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_voice {
    padding: 40px 0;
  }
  .contents_voice h2 {
    margin-bottom: 30px;
  }
  .contents_voice h2::after {
    top: -50px;
  }
  /* voicelist accordion_one */
  .voicelist .accordion_one + .accordion_one {
    margin-top: 10px;
  }
  /* voicelist ac_header */
  .voicelist .ac_header {
    padding: 15px;
  }
  .voicelist .ac_header .tag {
    margin-bottom: 4px;
  }
  .voicelist .ac_header .tag span {
    font-size: 12.8px;
    line-height: 30px;
    padding: 6px 18px;
    border-radius: 2.5px;
  }
  .voicelist .ac_header .gridbox {
    grid-template-columns: 48px 1fr;
    gap: 12px;
  }
  .voicelist .ac_header p.text {
    font-size: 18px;
  }
  /* voice accordion icon */
  .voicelist .accordion_one .ac_header .icon {
    height: 20px;
    margin: 10px 0 0;
  }
  .voicelist .accordion_one .ac_header .icon:before {
    font-size: 14px;
    line-height: 20px;
    width: 106px;
    height: 20px;
  }
  /* voice accordion ac_inner */
  .voicelist .ac_inner {
    padding: 5px 15px 15px;
  }
  .voicelist .ac_inner-in {
    border-radius: 2.5px;
  }
  .voicelist .ac_inner .text {
    font-size: 14px;
    padding: 10px 15px;
  }
}
/* case study
--------------------------------------------------- */
.contents_case {
  background: url(../image/case-bg001.jpg) left center / cover;
  padding: 10.667vw 0 5.333vw;
  overflow-x: hidden;
}
.contents_case h2 {
  font-size: 6.667vw;
  line-height: 1.2em;
  margin-bottom: 5.867vw;
}
.contents_case h2::after {
  content: "CASE";
  top: 5.333vw;
  left: 0;
  right: 0;
  margin: 0 auto;
}
/* case study caselist */
.splide3 {
  --peek: 14.933vw;
  padding: 0 10.667vw 10.667vw 10.667vw !important;
}
.caselist .splide__track {
  overflow: visible;
}
.caselist .splide__slide {
  width: calc(100% - var(--peek));
}
.caselist .splide__pagination__page.is-active {
  background: #E94040;
}
/* case study caselist detail */
.caselist .card {
  position: relative;
  padding: 5.333vw 4.8vw;
  background: #fff;
  border-radius: 1.333vw;
  width: 78.667vw;
  min-height: 118.667vw;
}
.caselist .card .cat {
  background: #E94040;
  color: #fff;
  font-size: 3.733vw;
  font-weight: 700;
  display: inline-block;
  padding: 1.333vw 2.667vw;
  border-radius: 1.333vw;
  margin: 0 0 3.2vw;
}
.caselist .card .head {
  font-size: 5.067vw;
  font-weight: 700;
  line-height: 1.44736em;
  display: block;
  margin: 0 0 2.4vw;
  padding: 0 1.067vw;
}
.caselist .card ul.taglist {
  display: flex;
  justify-content: flex-start;
  gap: 1.067vw;
  flex-wrap: wrap;
}
.caselist .card ul.taglist li {
  font-size: 3.467vw;
  font-weight: 300;
  color: #E94040;
  border: solid 1px #E94040;
  padding: 1.067vw 1.6vw;
}
.caselist .card .image {
  position: absolute;
  bottom: 4.8vw;
  right: 4.8vw;
  left: 4.8vw;
  margin: 0 auto;
}
@media screen and (min-width: 981px) {
  .contents_case {
    padding: min(4.082vw,60px) 0 min(2.041vw,40px);
  }
  .contents_case h2 {
    font-size: min(2.551vw,33.33px);
    margin-bottom: min(2.245vw,32px);
  }
  .contents_case h2::after {
    top: min(2.041vw,27px);
  }
  /* case study caselist */
  .splide3 {
    --peek: min(5.708vw,75px);
    padding: 0 min(4.082vw,53px) min(4.082vw,53px) min(4.082vw,53px) !important;
  }
  .caselist .card {
    padding: min(2.041vw,22px) min(1.837vw,20px);
    border-radius: min(0.51vw,7px);
    width: min(30.102vw,394px);
    min-height: min(45.408vw,590px);
  }
  .caselist .card .cat {
    font-size: min(1.429vw,18.67px);
    padding: min(0.51vw,5px) min(1.02vw,12px);
    border-radius: min(0.51vw,7px);
    margin: 0 0 min(1.224vw,13px);
  }
  .caselist .card .head {
    font-size: min(1.939vw,25.33px);
    margin: 0 0 min(0.918vw,14px);
    padding: 0 min(0.408vw,6px);
  }
  .caselist .card ul.taglist {
    gap: min(0.408vw,6px);
  }
  .caselist .card ul.taglist li {
    font-size: min(1.327vw,17.33px);
    border: solid 1px #E94040;
    padding: min(0.408vw,4px) min(0.612vw,6px);
  }
  .caselist .card .image {
    bottom: min(1.837vw,20px);
    right: min(1.837vw,20px);
    left: min(1.837vw,20px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_case {
    padding: 40px 0 20px;
  }
  .contents_case h2 {
    font-size: 25px;
    margin-bottom: 22px;
  }
  .contents_case h2::after {
    top: 20px;
  }
  /* case study caselist */
  .splide3 {
    --peek: 56px;
    padding: 0 40px 40px 40px !important;
  }
  .caselist .card {
    padding: 20px 18px;
    border-radius: 5px;
    width: 295px;
    min-height: 445px;
  }
  .caselist .card .cat {
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 5px;
    margin: 0 0 12px;
  }
  .caselist .card .head {
    font-size: 19px;
    margin: 0 0 9px;
    padding: 0 4px;
  }
  .caselist .card ul.taglist {
    gap: 4px;
  }
  .caselist .card ul.taglist li {
    font-size: 13px;
    border: solid 1px #E94040;
    padding: 4px 6px;
  }
  .caselist .card .image {
    bottom: 18px;
    right: 18px;
    left: 18px;
  }
}
/* point
--------------------------------------------------- */
.contents_point {
  background: #F9F9F9;
  padding: 9.333vw 0;
}
.contents_point h2 {
  margin-bottom: 4.533vw;
}
.contents_point h2 img {
  width: 59.467vw;
}
.contents_point h2::after {
  content: "POINT";
  top: -16vw;
  left: calc(50% - 17.333vw);
}
/* pointlist */
.pointlist {
  background: url(../image/point-bg001.png) left top / 375px 820px repeat-y;
}
.pointlist li {
  position: relative;
  background: #fff;
  width: 90%;
  margin: 0 auto;
  padding: 9.867vw 6.667vw 6.667vw;
}
.contents_point .pointlist li:not(:last-child) {
  margin-bottom: 6.667vw;
}
.contents_point .pointlist li::before {
  content: "";
  width: 7.733vw;
	height: 7.733vw;
	background: #E94040;
	clip-path: polygon(0% 100%, 0% 0%, 100% 0%);
  position: absolute;
  top: 0;
  left: 0;
}
/* pointlist detail */
.contents_point .pointlist li .number {
  color: #E94040;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20vw;
  line-height: 0.5em;
  text-align: center;
  margin: 0 0 3.2vw;
}
.contents_point .pointlist li .head {
  text-align: center;
  font-size: 5.333vw;
  font-weight: 900;
  line-height: 1.2em;
  margin-bottom: 9.067vw;
}
.contents_point .pointlist li .photo {
  margin-bottom: 9.067vw;
}
.contents_point .pointlist li .text {
  position: relative;
  font-size: 4.267vw;
  line-height: 1.6em;
  padding: 2.133vw 2.667vw;
}
.contents_point .pointlist li .text::before,
.contents_point .pointlist li .text::after {
  content: "";
  background: url(../image/point-dc001.svg) center center / contain no-repeat;
  width: 76.267vw;
  height: 2.667vw;
  position: absolute;
  left: 0;
}
.contents_point .pointlist li .text::before {
  top: 0;
}
.contents_point .pointlist li .text::after {
  bottom: 0;
  transform: scale(1, -1);
}
.contents_point .pointlist li .text p + p {
  margin-top: 4vw;
}
.contents_point .pointlist li .text span {
  color: #E94040;
  font-weight: 700;
}
.contents_point .pointlist li .image {
  width: 100%;
  margin-top: 2.667vw;
}
@media screen and (min-width: 981px) {
  .contents_point {
    padding: min(3.571vw,47px) 0;
  }
  .contents_point h2 {
    margin-bottom: min(1.735vw,23px);
  }
  .contents_point h2 img {
    width: min(22.755vw,297.02px);
  }
  .contents_point h2::after {
    top: max(-6.122vw,-79px);
    left: calc(50% - min(6.633vw,79px));
  }
  /* pointlist */
  .pointlist {
    background: url(../image/point-bg001.png) left top / min(38.265vw,500px) min(83.673vw,1094px) repeat-y;
  }
  .pointlist li {
    padding: min(3.776vw,48px) min(2.551vw,32px) min(2.551vw,32px);
  }
  .contents_point .pointlist li:not(:last-child) {
    margin-bottom: min(2.551vw,25px);
  }
  .contents_point .pointlist li::before {
    content: "";
    width: min(2.959vw,38.35px);
  	height: min(2.959vw,38.35px);
  }
  /* pointlist detail */
  .contents_point .pointlist li .number {
    font-size: min(7.653vw,100px);
    margin: 0 0 min(1.224vw,20px);
  }
  .contents_point .pointlist li .head {
    font-size: min(2.041vw,26.67px);
    margin-bottom: min(3.469vw,42px);
  }
  .contents_point .pointlist li .photo {
    margin-bottom: min(3.469vw,42px);
  }
  .contents_point .pointlist li .text {
    font-size: min(1.633vw,21.33px);
    padding: min(0.816vw,12px) min(1.02vw,16px);
  }
  .contents_point .pointlist li .text::before,
  .contents_point .pointlist li .text::after {
    width: min(29.184vw,384px);
    height: min(1.02vw,13px);
  }
  .contents_point .pointlist li .text p + p {
    margin-top: min(1.531vw,17px);
  }
  .contents_point .pointlist li .image {
    margin-top: min(1.02vw,12px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_point {
    padding: 35px 0;
  }
  .contents_point h2 {
    margin-bottom: 17px;
  }
  .contents_point h2 img {
    width: 223px;
  }
  .contents_point h2::after {
    top: -60px;
    left: calc(50% - 65px);
  }
  /* pointlist */
  .pointlist {
    background: url(../image/point-bg001.png) left top / 375px 820px repeat-y;
  }
  .pointlist li {
    padding: 37px 25px 25px;
  }
  .contents_point .pointlist li:not(:last-child) {
    margin-bottom: 25px;
  }
  .contents_point .pointlist li::before {
    content: "";
    width: 29px;
  	height: 29px;
  }
  /* pointlist detail */
  .contents_point .pointlist li .number {
    color: #E94040;
    font-size: 75px;
    margin: 0 0 12px;
  }
  .contents_point .pointlist li .head {
    font-size: 20px;
    margin-bottom: 34px;
  }
  .contents_point .pointlist li .photo {
    margin-bottom: 34px;
  }
  .contents_point .pointlist li .text {
    font-size: 16px;
    padding: 8px 10px;
  }
  .contents_point .pointlist li .text::before,
  .contents_point .pointlist li .text::after {
    width: 286px;
    height: 10px;
  }
  .contents_point .pointlist li .text p + p {
    margin-top: 15px;
  }
  .contents_point .pointlist li .image {
    margin-top: 10px;
  }
}
/* company
--------------------------------------------------- */
.contents_company {
  background: url(../image/company-bg001.jpg) left top / 100vw 450.091vw repeat-y;
  padding: 13.333vw 0;
}
.contents_company h2 {
  background: #E94040;
  width: 100%;
  padding: 9.067vw 0;
  margin-bottom: 4.267vw;
  line-height: 1.2em;
  color: #fff;
}
.contents_company h2 + p {
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
  margin-bottom: 4vw;
  text-align: center;
}
/* companylist */
.companylist li {
  background: #fff;
  border-right: #E94040;
  border-bottom: #E94040;
  width: 100%;
  padding: 27px 20px 24px;
}
.companylist li:not(:last-child) {
  margin: 0 0 15px;
}
/* companylist detail */
.companylist li .head {
  position: relative;
  color: #E62318;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4em;
  margin: 0 0 -4px;
  padding: 0 0 8px;
}
.companylist li .head::after {
  content: "";
  background: #E62318;
  width: 40px;
  height: 2.5px;
  position: absolute;
  bottom: 0;
  left: calc(50% - 20px);
}
.companylist li .image {
  width: 100%;
  margin: 0 auto -10px;
}
.companylist li .text {
  font-size: 15px;
  line-height: 1.7em;
}
.companylist li .text span {
  color: #931116;
  font-weight: 700;
}
@media screen and (min-width: 981px) {
  .contents_company {
    background: url(../image/company-bg001.jpg) left top / min(38.265vw,500px) min(172.229vw,2250.45px) repeat-y;
    padding: min(5.102vw,65px) 0;
  }
  .contents_company h2 {
    padding: min(3.469vw,46px) 0;
    margin-bottom: min(1.633vw,21px);
  }
  .contents_company h2 + p {
    font-size: min(1.531vw,20px);
    margin-bottom: min(1.531vw,25px);
  }
  /* companylist */
  .companylist li {
    padding: min(2.755vw,37px) min(2.041vw,28px) min(2.449vw,31px);
  }
  .companylist li:not(:last-child) {
    margin: 0 0 min(1.531vw,20px);
  }
  /* companylist detail */
  .companylist li .head {
    font-size: min(2.041vw,26.67px);
    margin: 0 0 max(-0.408vw,-5px);
    padding: 0 0 min(0.816vw,10px);
  }
  .companylist li .head::after {
    width: min(4.082vw,53.33px);
    height: min(0.255vw,3.33px);
    left: calc(50% - min(2.041vw,26.665px));
  }
  .companylist li .image {
    margin: 0 auto max(-1.02vw,-11px);
  }
  .companylist li .text {
    font-size: min(1.531vw,20px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_company {
    background: url(../image/company-bg001.jpg) left top / 375px 1687.84px repeat-y;
    padding: 50px 0;
  }
  .contents_company h2 {
    padding: 34px 0;
    margin-bottom: 16px;
  }
  .contents_company h2 + p {
    font-size: 15px;
    margin-bottom: 15px;
  }
  /* companylist */
  .companylist li {
    padding: 27px 20px 24px;
  }
  .companylist li:not(:last-child) {
    margin: 0 0 15px;
  }
  /* companylist detail */
  .companylist li .head {
    font-size: 20px;
    margin: 0 0 -4px;
    padding: 0 0 8px;
  }
  .companylist li .head::after {
    width: 40px;
    height: 2.5px;
    left: calc(50% - 20px);
  }
  .companylist li .image {
    margin: 0 auto -10px;
  }
  .companylist li .text {
    font-size: 15px;
  }
}
/* process
--------------------------------------------------- */
.contents_process {
  background: url(../image/process-bg001.jpg) left top / 100vw 13.8vw repeat-y;
  padding: 12.267vw 0 13.867vw;
}
.contents_process h2 {
  margin-bottom: 3.467vw;
}
.contents_process h2::after {
  content: "FLOW";
  top: -13.333vw;
  right: -6%;
}
.contents_process h2 span {
  color: #E94040;
}
/* flowlist */
.flow-list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flow-list ul {
  padding-left: 0;
}
.flow-list ul > li {
  position: relative;
  list-style-type: none;
  display: flex;
}
.flow-list ul > li:not(:last-child) {
  padding-bottom: 10.133vw;
}
.flow-list ul > li:not(:last-child)::after {
  position: absolute;
  left: calc(50% - 15px);
  bottom: 8.5px;
  content: "";
  background: url(../image/process-ar001.svg) center center / contain no-repeat;
  width: 30px;
  height: 18.6px;
}
.flow-list ul > li::before {
  content: "STEP 1";
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #fff;
  background: #E94040;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  position: absolute;
  top: -5px;
  left: -4px;
  white-space: nowrap;
  z-index: 1;
  padding: 4px 0 1px 2px;
  width: 50px;
  text-align: center;
}
.flow-list ul > li:nth-child(2)::before {
  content: "STEP 2";
}
.flow-list ul > li:nth-child(3)::before {
  content: "STEP 3";
}
.flow-list ul > li:nth-child(4)::before {
  content: "STEP 4";
}
.flow-list ul > li:nth-child(5)::before {
  content: "STEP 5";
}
/* flowlist dl */
.flow-list ul > li dl {
  width: 100%;
  border: solid 0.267vw #FFECEC;
  border-radius: 1.333vw;
}
.flow-list ul > li dl dt {
  background: #FFF6F6;
  text-align: center;
  padding: 13px 0;
  font-size: 20px;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #E94040;
}
.flow-list ul > li dl dd {
  background: #fff;
  padding: 14px 24px 16px;
  font-size: 15px;
  letter-spacing: 0.06em;
  line-height: 1.42857em;
}
@media screen and (min-width: 981px) {
  .contents_process {
    background: url(../image/process-bg001.jpg) left top / min(38.265vw,500px) min(5.281vw,69px) repeat-y;
    padding: min(4.694vw,58px) 0 min(5.306vw,52px);
  }
  .contents_process h2 {
    margin-bottom: min(1.327vw,18px);
  }
  .contents_process h2::after {
    top: max(-5.102vw,-69px);
  }
  /* flowlist */
  .flow-list ul > li:not(:last-child) {
    padding-bottom: min(3.874vw,50.7px);
  }
  .flow-list ul > li:not(:last-child)::after {
    left: calc(50% - min(1.531vw,20px));
    bottom: min(0.867vw,13.5px);
    width: min(3.061vw,40px);
    height: min(1.898vw,24.8px);
  }
  .flow-list ul > li::before {
    font-size: min(1.633vw,21.3px);
    top: max(-0.51vw,-8px);
    left: max(-0.408vw,-5px);
    padding: min(0.408vw,4px) 0 min(0.102vw,1px) min(0.204vw,2px);
    width: min(5.102vw,65px);
  }
  /* flowlist dl */
  .flow-list ul > li dl {
    border: solid min(0.102vw,1.3px) #FFECEC;
    border-radius: min(0.51vw,6.7px);
  }
  .flow-list ul > li dl dt {
    padding: min(1.327vw,16px) 0;
    font-size: min(2.041vw,26.67px);
  }
  .flow-list ul > li dl dd {
    padding: min(1.429vw,20px) min(2.449vw,31px) min(1.633vw,20px);
    font-size: min(1.531vw,20px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_process {
    background: url(../image/process-bg001.jpg) left top / 375px 51.75px repeat-y;
    padding: 46px 0 52px;
  }
  .contents_process h2 {
    margin-bottom: 13px;
  }
  .contents_process h2::after {
    top: -50px;
  }
  /* flowlist */
  .flow-list ul > li:not(:last-child) {
    padding-bottom: 38px;
  }
  .flow-list ul > li:not(:last-child)::after {
    left: calc(50% - 15px);
    bottom: 8.5px;
    width: 30px;
    height: 18.6px;
  }
  .flow-list ul > li::before {
    font-size: 16px;
    top: -5px;
    left: -4px;
    padding: 4px 0 1px 2px;
    width: 50px;
  }
  /* flowlist dl */
  .flow-list ul > li dl {
    border: solid 1px #FFECEC;
    border-radius: 5px;
  }
  .flow-list ul > li dl dt {
    padding: 13px 0;
    font-size: 20px;
  }
  .flow-list ul > li dl dd {
    padding: 14px 24px 16px;
    font-size: 15px;
  }
}
/* faq
--------------------------------------------------- */
.contents_faq {
  background: #F7F7F7;
  padding: 12.267vw 0 13.867vw;
}
.contents_faq h2 {
  margin-bottom: 3.467vw;
}
.contents_faq h2::after {
  content: "FAQ";
  top: -13.333vw;
  right: -6%;
}
.contents_faq h2 span {
  color: #E94040;
}
/* faq accordion */
.contents_faq .accordion_area .accordion_one .ac_header {
  position: relative;
  background: #fff;
  z-index: +1;
  cursor: pointer;
  transition: .3s;
  padding: 5.067vw 13.333vw 5.067vw 4.267vw;
  margin-top: 6.667vw;
}
.contents_faq .accordion_area .accordion_one:first-of-type .ac_header {
  margin-top: 0;
}
.contents_faq .accordion_area .accordion_one .ac_header:not(.open):hover {
  background: #CEE6F6;
}
.contents_faq .ac_header-in {
  display: block;
  padding-left: 8.8vw;
  position: relative;
}
.contents_faq .ac_header-in::before {
  position: absolute;
  left: 0;
  top: 0.533vw;
  content: "";
  background: url(../image/faq-icQ.png) left center / contain no-repeat;
  width: 4.933vw;
  height: 5.733vw;
}
.contents_faq .ac_header-in p.text {
  font-size: 4.267vw;
  line-height: 1.375em;
  font-weight: 700;
}
/* faq accordion icon */
.contents_faq .accordion_area .accordion_one .ac_header .icon {
  background: #E94040;
  position: absolute;
  top: calc(50% - 4vw);
  right: 4vw;
  text-align: center;
  width: 8vw;
  height: 8vw;
  border-radius: 4vw;
}
.contents_faq .accordion_area .accordion_one .ac_header .icon:before,
.contents_faq .accordion_area .accordion_one .ac_header .icon:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 0;
  height: 0;
}
.contents_faq .accordion_area .accordion_one .ac_header .icon:before {
  border-top: 0.453vw solid #fff;
  width: 2.4vw;
}
.contents_faq .accordion_area .accordion_one .ac_header .icon:after {
  border-left: 0.453vw solid #fff;
  height: 2.4vw;
  transition: .3s;
}
.contents_faq .accordion_area .accordion_one .ac_header.open .icon:after {
  transform: rotate(90deg);
}
/* faq accordion ac_inner */
.contents_faq .accordion_area .accordion_one .ac_inner {
  position: relative;
  display: none;
  padding: 4.533vw 6.667vw 5.067vw 4.267vw;
  box-sizing: border-box;
  background: #fff;
}
.contents_faq .accordion_area .accordion_one .ac_inner::before {
  position: absolute;
  content: "";
  width: 90%;
  height: 0.067vw;
  background: #C0C0C0;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.contents_faq .ac_inner-in {
  display: block;
  padding-left: 7.733vw;
  position: relative;
}
.contents_faq .ac_inner-in::before {
  position: absolute;
  left: 0;
  top: 1.333vw;
  content: "";
  background: url(../image/faq-icA.png) left center / contain no-repeat;
  width: 4.133vw;
  height: 4.267vw;
}
.contents_faq .ac_inner-in p.text {
  font-size: 3.467vw;
  font-weight: 300;
  line-height: 1.6153846154em;
}
.contents_faq .ac_inner-in p.text span {
  color: #0095FF;
  font-weight: 700;
  background: #FFF9A3;
  display: inline;
  padding: 0 0.267vw 0;
}
.contents_faq .ac_inner-in a.btn {
  margin-top: 5.333vw;
  width: 93.3%;
}
@media screen and (min-width: 981px) {
  .contents_faq {
    padding: min(4.694vw,58px) 0 min(5.306vw,52px);
  }
  .contents_faq h2 {
    font-size: min(3.061vw,40px);
    margin-bottom: min(1.327vw,18px);
  }
  .contents_faq h2::after {
    top: max(-5.102vw,-69px);
  }
  /* faq accordion */
  .contents_faq .accordion_area .accordion_one .ac_header {
    padding: min(1.939vw,25px) min(5.102vw,80px) min(1.939vw,25px) min(1.633vw,22px);
    margin-top: min(2.551vw,33px);
  }
  .contents_faq .ac_header-in {
    padding-left: min(3.367vw,43px);
  }
  .contents_faq .ac_header-in::before {
    top: min(0.204vw,2px);
    width: min(1.888vw,24.5px);
    height: min(2.194vw,30.5px);
  }
  .contents_faq .ac_header-in p.text {
    font-size: min(1.633vw,21.3px);
  }
  /* faq accordion icon */
  .contents_faq .accordion_area .accordion_one .ac_header .icon {
    top: calc(50% - min(1.531vw,20px));
    right: min(1.531vw,20px);
    text-align: center;
    width: min(3.061vw,40px);
    height: min(3.061vw,40px);
    border-radius: min(1.531vw,20px);
  }
  .contents_faq .accordion_area .accordion_one .ac_header .icon:before {
    border-top: min(0.173vw,2.5px) solid #fff;
    width: min(0.918vw,15px);
  }
  .contents_faq .accordion_area .accordion_one .ac_header .icon:after {
    border-left: min(0.173vw,2.5px) solid #fff;
    height: min(0.918vw,15px);
  }
  /* faq accordion ac_inner */
  .contents_faq .accordion_area .accordion_one .ac_inner {
    padding: min(1.735vw,25px) min(2.551vw,25px) min(1.939vw,25px) min(1.633vw,21px);
  }
  .contents_faq .accordion_area .accordion_one .ac_inner::before {
    height: min(0.026vw,0.33px);
  }
  .contents_faq .ac_inner-in {
    padding-left: min(2.959vw,39px);
  }
  .contents_faq .ac_inner-in::before {
    top: min(0.51vw,5px);
    width: min(1.582vw,18.5px);
    height: min(1.633vw,21px);
  }
  .contents_faq .ac_inner-in p.text {
    font-size: min(1.327vw,17.3px);
  }
  .contents_faq .ac_inner-in p.text span {
    padding: 0 min(0.102vw,1px) 0;
  }
  .contents_faq .ac_inner-in a.btn {
    margin-top: min(2.041vw,30px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_faq {
    padding: 46px 0 52px;
  }
  .contents_faq h2 {
    margin-bottom: 13px;
  }
  .contents_faq h2::after {
    top: -50px;
  }
  /* faq accordion */
  .contents_faq .accordion_area .accordion_one .ac_header {
    padding: 19px 50px 19px 16px;
    margin-top: 25px;
  }
  .contents_faq .ac_header-in {
    padding-left: 33px;
  }
  .contents_faq .ac_header-in::before {
    top: 2px;
    width: 18.5px;
    height: 21.5px;
  }
  .contents_faq .ac_header-in p.text {
    font-size: 16px;
  }
  /* faq accordion icon */
  .contents_faq .accordion_area .accordion_one .ac_header .icon {
    top: calc(50% - 15px);
    right: 15px;
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 15px;
  }
  .contents_faq .accordion_area .accordion_one .ac_header .icon:before {
    border-top: 1.7px solid #fff;
    width: 9px;
  }
  .contents_faq .accordion_area .accordion_one .ac_header .icon:after {
    border-left: 1.7px solid #fff;
    height: 9px;
  }
  /* faq accordion ac_inner */
  .contents_faq .accordion_area .accordion_one .ac_inner {
    padding: 17px 25px 19px 16px;
  }
  .contents_faq .accordion_area .accordion_one .ac_inner::before {
    height: 0.25px;
  }
  .contents_faq .ac_inner-in {
    padding-left: 29px;
  }
  .contents_faq .ac_inner-in::before {
    top: 5px;
    width: 15.5px;
    height: 16px;
  }
  .contents_faq .ac_inner-in p.text {
    font-size: 13px;
  }
  .contents_faq .ac_inner-in p.text span {
    padding: 0 1px 0px;
  }
  .contents_faq .ac_inner-in a.btn {
    margin-top: 20px;
  }
}
/* footer
--------------------------------------------------- */
.footer {
  background: #fff;
  padding: 13.333vw 0 32vw;
  text-align: center;
}
.footer .footer_sns {
  margin-bottom: 17.333vw;
}
.footer .footer_sns h2 img {
  width: 33.067vw;
  margin-bottom: 2.667vw;
}
.footer .footer_sns ul.footer_list {
  display: flex;
  justify-content: center;
  gap: 10.667vw;
}
.footer .footer_sns ul.footer_list li img {
  width: 15.2vw;
  height: auto;
}
.footer .footer_box {
  display: flex;
  justify-content: center;
  gap: 4vw;
  margin: 0 0 10.667vw;
}
.footer .footer_box .footer_logo img {
  width: 23.733vw;
  height: auto;
}
.footer .footer_box .footer_privacymark img {
  width: 18.267vw;
  height: auto;
}
@media screen and (min-width: 981px) {
  .footer {
    padding: min(5.097vw,66.7px) 0 min(12.232vw,160px);
  }
  .footer .footer_sns {
    margin-bottom: min(6.626vw,86.7px);
  }
  .footer .footer_sns h2 img {
    width: min(12.64vw,165.3px);
    margin-bottom: min(1.019vw,13.3px);
  }
  .footer .footer_sns ul.footer_list {
    gap: min(4.077vw,53.3px);
  }
  .footer .footer_sns ul.footer_list li img {
    width: min(5.81vw,76px);
  }
  .footer .footer_box {
    gap: min(1.529vw,20px);
    margin: 0 0 min(4.077vw,53.3px);
  }
  .footer .footer_box .footer_logo img {
    width: min(9.072vw,118.7px);
  }
  .footer .footer_box .footer_privacymark img {
    width: min(7.034vw,91.3px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .footer {
    padding: 50px 0 120px;
  }
  .footer .footer_sns {
    margin-bottom: 65px;
  }
  .footer .footer_sns h2 img {
    width: 124px;
    margin-bottom: 10px;
  }
  .footer .footer_sns ul.footer_list {
    gap: 40px;
  }
  .footer .footer_sns ul.footer_list li img {
    width: 57px;
  }
  .footer .footer_box {
    gap: 15px;
    margin: 0 0 40px;
  }
  .footer .footer_box .footer_logo img {
    width: 89px;
  }
  .footer .footer_box .footer_privacymark img {
    width: 69px;
  }
}
/* follow-bnr
--------------------------------------------------- */
.follow-bnr {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  z-index: 9999;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
  visibility: hidden;
  /* background: rgba(255, 255, 255, 0.85); */
}
.follow-bnr.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}
@media (prefers-reduced-motion: reduce) {
  .follow-bnr { transition: none; }
}
/* follow-bnr detail */
.follow-bnr .contents_cta {
  background: url(../image/cta-bg001.jpg) 0 0 / cover no-repeat;
  padding: 9.333vw 6.667vw 3.2vw;
}
.follow-bnr .contents_cta .cta-button::before {
  width: 38.667vw;
  height: 4.267vw;
  top: -6.133vw;
}
.follow-bnr .contents_cta .cta-button::after {
  width: 11.733vw;
  height: 6.4vw;
  left: 3.2vw;
  top: -4vw;
}
.follow-bnr .contents_cta a {
  padding: 3.2vw 2.667vw 3.2vw;
}
.follow-bnr .contents_cta a span {
  font-size: 3.733vw;
  padding-left: 6.667vw;
}
.follow-bnr .contents_cta a span::before {
  width: 3.733vw;
  height: 3.733vw;
  top: calc(50% - 1.867vw);
}
@media screen and (min-width: 981px) {
  .follow-bnr .contents_cta {
    padding: min(3.571vw,42px) min(2.551vw,25px) min(1.224vw,16px);
  }
  .follow-bnr .contents_cta .cta-button::before {
    width: min(14.796vw,145px);
    height: min(1.633vw,16px);
    top: max(-2.347vw,-24px);
  }
  .follow-bnr .contents_cta .cta-button::after {
    width: min(4.49vw,48px);
    height: min(2.449vw,26px);
    left: min(1.224vw,16px);
    top: max(-1.531vw,-17px);
  }
  .follow-bnr .contents_cta a {
    padding: min(1.224vw,14px) min(1.02vw,10px) min(1.224vw,15px);
  }
  .follow-bnr .contents_cta a span {
    font-size: min(1.429vw,16px);
    padding-left: min(2.551vw,27px);
  }
  .follow-bnr .contents_cta a span::before {
    width: min(1.429vw,16px);
    height: min(1.429vw,16px);
    top: calc(50% - min(0.714vw,7px));
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .follow-bnr .contents_cta {
    padding: 35px 25px 12px;
  }
  .follow-bnr .contents_cta .cta-button::before {
    width: 145px;
    height: 16px;
    top: -23px;
  }
  .follow-bnr .contents_cta .cta-button::after {
    width: 44px;
    height: 24px;
    left: 12px;
    top: -15px;
  }
  .follow-bnr .contents_cta a {
    padding: 12px 10px 12px;
  }
  .follow-bnr .contents_cta a span {
    font-size: 14px;
    padding-left: 25px;
  }
  .follow-bnr .contents_cta a span::before {
    width: 14px;
    height: 14px;
    top: calc(50% - 7px);
  }
}
