@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.06em;
}
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.4s;
}
h2 img {
  height: auto;
  margin: 0 auto 9.333vw;
  display: block;
}
@media (hover: hover) {
  a:hover {
    transform: translateY(4px);
    transition: 0.4s;
  }
  a:active {
    transform: scale(0.9);
    transition: 0.1s;
  }
}
@media (hover: none) {
  a:active {
    transform: scale(0.9);
    transition: 0.1s;
  }
}
@media screen and (min-width: 981px) {
  h2 img {
    margin-bottom: min(3.568vw,46.6px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  h2 img {
    margin-bottom: 35px;
  }
}
/* common
--------------------------------------------------- */
.inner {
  width: 88%;
  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);
  }
}
/* 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;
}
/* pcSide-left */
.contents_pcSide .pcSide-left {
  width: 31vw;
  height: 100%;
  background: url(../image/pc-side_left-bg.jpg) left center / cover;
  text-align: center;
  position: fixed;
  width: calc((100vw - min(38vw,500px)) / 2);
}
.contents_pcSide .pcSide-left .pcSide-inner {
  max-width: 400px;
  padding: min(10.907vw,142.6px) 0 0;
  margin-left: auto;
  position: relative;
  height: 100%;
}
.contents_pcSide .pcSide-left .catch {
  margin-bottom: min(4.587vw,60px);
}
.contents_pcSide .pcSide-left .catch img {
  width: min(18.705vw,244.7px);
  height: auto;
}
.contents_pcSide .pcSide-left .cta {
  position: relative;
}
.contents_pcSide .pcSide-left .cta a::before {
  content: "";
  background: url(../image/cta_object001.png) top center / contain no-repeat;
  width: min(59.2vw,170px);
  height: min(4.667vw,14px);
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: max(-2.933vw,-11px);
}
.contents_pcSide .pcSide-left .cta img {
  width: min(28.512vw,373px);
}
/* pcSide-right */
.contents_pcSide .pcSide-right {
  width: 31vw;
  height: 100%;
  background: #FFFFFF;
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(220, 243, 255, 1) 100%);
  position: fixed;
  right: 0;
  width: calc((100vw - min(38vw,500px)) / 2);
}
.contents_pcSide .pcSide-right .pcSide-inner {
  max-width: 400px;
  padding: min(5.097vw,66.7px) min(4.077vw,53.3px) 0;
  margin-right: auto;
}
.contents_pcSide .pcSide-right .head {
  text-align: center;
  margin: 0 0 min(3.568vw,46.7px);
}
.contents_pcSide .pcSide-right .head img {
  width: min(8.104vw,106px);
}
.contents_pcSide .pcSide-right ul.navlist li {
  position: relative;
  margin: 0 0 min(1.733vw,22.7px);
}
.contents_pcSide .pcSide-right ul.navlist li a {
  font-size: min(1.529vw,20px);
  font-weight: 600;
  line-height: 1.33333em;
  position: relative;
}
.contents_pcSide .pcSide-right ul.navlist li .arrow {
  position: absolute;
  display: inline-block;
  width: min(0.765vw,10px);
  height: min(1.131vw,14.8px);
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.contents_pcSide .pcSide-right ul.navlist li .arrow::before,
.contents_pcSide .pcSide-right ul.navlist li .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - min(0.153vw,2px));
  right: 0;
  width: min(0.917vw,12px);
  height: min(0.306vw,4px);
  border-radius: 9999px;
  background-color: #E62318;
  transform-origin: calc(100% - min(0.153vw,2px)) 50%;
}
.contents_pcSide .pcSide-right ul.navlist li .arrow::before {
  transform: rotate(45deg);
}
.contents_pcSide .pcSide-right ul.navlist li .arrow::after {
  transform: rotate(-45deg);
}
@media screen and (min-width: 981px) {
  .contents_pcSide .pcSide-left .pcSide-inner::after {
    content: "";
    background: url(../image/pc-side_left-object.png) top center / contain no-repeat;
    width: min(15.443vw,202px);
    height: min(14.73vw,192.7px);
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: min(3.058vw,40px);
  }
  .contents_pcSide .pcSide-left::before {
    content: "";
    background: url(../image/pc-side_left-bg-top.png) top right no-repeat;
    width: 31vw;
    background-size: 31vw min(10.601vw,138.7px);
    height: min(11.009vw,144px);
    position: absolute;
    right: 0;
    top: 0;
  }
  .contents_pcSide .pcSide-right::before {
    content: "";
    background: url(../image/pc-side_right-bg-top.png) top left / contain no-repeat;
    width: 31vw;
    height: min(2.446vw,32px);
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_pcSide .pcSide-left .catch,
  .contents_pcSide .pcSide-left .cta,
  .contents_pcSide .pcSide-right .head,
  .contents_pcSide .pcSide-right .navlist {
    display: none;
  }
  .contents_pcSide .pcSide-left,
  .contents_pcSide .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: #FFFFFF;
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(220, 243, 255, 1) 100%);
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
  text-align: center;
  padding: 9.333vw 8vw;
}
.nav.active {
  transform: translateX(0);
}
.nav .head {
  display: block;
  margin-bottom: 11.2vw;
}
.nav .head img {
  width: 24vw;
}
.nav ul.navlist {
  margin: 0;
  list-style: none;
  text-align: left;
}
.nav ul.navlist li {
  position: relative;
  margin: 0 0 6.053vw;
}
.nav ul.navlist li a {
  font-size: 4vw;
  font-weight: 600;
  line-height: 1.33333em;
  position: relative;
}
.nav ul.navlist li .arrow {
  position: absolute;
  display: inline-block;
  width: 2.667vw;
  height: 3.947vw;
  right: 0;
  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.533vw);
  right: 0;
  width: 2.4vw;
  height: 0.8vw;
  border-radius: 2666.4vw;
  background-color: #E62318;
  transform-origin: calc(100% - 0.267vw) 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: 100.533vw;
}
/* case study cta */
.contents_fv + .contents_cta {
  padding: 8vw 2.667vw 2.667vw;
}
@media screen and (min-width: 981px) {
  .contents_fv {
    height: min(38vw,502.6px);
  }
  /* case study cta */
  .contents_fv + .contents_cta {
    padding: min(3.058vw,40px) min(1.019vw, 20px) min(1.019vw,20px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_fv {
    height: 377px;
  }
  /* case study cta */
  .contents_fv + .contents_cta {
    padding: 30px 10px 10px;
  }
}
@media screen and (min-width: 500px) {
  .contents_fv {
    margin-top: 0 !important;
  }
}
/* cta
--------------------------------------------------- */
.contents_cta {
  background: #F0FAFF;
  padding: 9.067vw 2.667vw 4vw;
}
.contents_cta a {
  position: relative;
}
.contents_cta a::before {
  content: "";
  background: url(../image/cta_object001.png) top center / contain no-repeat;
  width: 59.2vw;
  height: 4.667vw;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -2.933vw;
}
@media screen and (min-width: 981px) {
  .contents_cta {
    padding: min(3.466vw,68px) min(1.019vw,20px) min(1.529vw,30px);
  }
  .contents_cta a::before {
    width: min(22.63vw,222px);
    height: min(1.835vw,17.5px);
    top: max(-1.121vw,-11px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_cta {
    padding: 34px 10px 15px;
  }
  .contents_cta a::before {
    width: 222px;
    height: 18px;
    top: -11px;
  }
}
/* intern companies
--------------------------------------------------- */
.contents_intern-companies {
  background: #fff;
  padding: 12vw 0 8vw;
  overflow-x: hidden;
}
.contents_intern-companies h2 img {
  width: 48.8vw;
}












.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 */
.swiper-1 .swiper-wrapper,
.swiper-2 .swiper-wrapper {
  transition-timing-function: linear !important;
}
.swiper-1 .swiper-wrapper {
  margin-bottom: 5px; /* ←ここは固定pxなので残しました。vwに変換しますか？ */
}
.swiper-1 .swiper-wrapper .swiper-slide,
.swiper-2 .swiper-wrapper .swiper-slide {
  margin: 0 !important;
}
.swiper-1 .swiper-wrapper img,
.swiper-2 .swiper-wrapper img {
  width: 38.667vw;
  height: auto;
}
@media screen and (min-width: 981px) {
  .contents_intern-companies {
    padding: min(4.587vw,60px) 0 min(3.058vw,40px);
  }
  .contents_intern-companies h2 img {
    width: min(18.654vw,243.9px);
  }
  /* intern companies slide */
  .swiper-1 .swiper-wrapper {
    margin-bottom: min(0.51vw,6.7px);
  }
  .swiper-1 .swiper-wrapper img,
  .swiper-2 .swiper-wrapper img {
    width: min(14.781vw,193.3px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_intern-companies {
    padding: 45px 0 30px;
  }
  .contents_intern-companies h2 img {
    width: 183px;
  }
  /* intern companies slide */
  .swiper-1 .swiper-wrapper {
    margin-bottom: 5px;
  }
  .swiper-1 .swiper-wrapper img,
  .swiper-2 .swiper-wrapper img {
    width: 145px;
  }
}
/* case study
--------------------------------------------------- */
.contents_case-study {
  background: url(../image/case-study_bg.jpg) left center / cover;
  padding: 10.667vw 0 5.333vw;
  overflow-x: hidden;
}
.contents_case-study h2 img {
  width: 70.667vw;
}
/* case study swiper-3 */
.swiper-3 {
  --peek: 14.933vw;
}
.swiper-3 .swiper-slide {
  width: calc(100% - var(--peek));
}
.swiper-3 .swiper-pagination-bullet-active {
  background: #E94040;
}
/* case study swiper-3 detail */
.contents_case-study .swiper-3 {
  padding: 0 5.333vw 12vw 5.333vw;
}
.contents_case-study .swiper-slide {
  position: relative;
  padding: 8vw;
  background: #fff;
  border-radius: 1.333vw;
  max-width: 295px !important;
  min-height: 115.733vw;
}
.contents_case-study .swiper-slide .cat {
  background: #E94040;
  color: #fff;
  font-size: 3.467vw;
  font-weight: 600;
  display: inline-block;
  padding: 1.067vw 6.133vw;
  border-radius: 2666.4vw;
  margin: 0 0 3.467vw;
}
.contents_case-study .head {
  font-size: 4.533vw;
  font-weight: 600;
  line-height: 1.44736em;
  display: block;
  margin: 0 0 2.933vw;
}
.contents_case-study ul.taglist {
  display: flex;
  justify-content: flex-start;
  gap: 1.6vw;
  margin: 0 0 6.533vw;
  flex-wrap: wrap;
}
.contents_case-study ul.taglist li {
  font-size: 3.467vw;
  font-weight: 300;
  color: #E94040;
  border: solid 1px #E94040;
  border-radius: 0.933vw;
  padding: 0.267vw 2.4vw 0.533vw 2.667vw;
}
.contents_case-study .image {
  position: absolute;
  bottom: 8vw;
  right: 8vw;
  left: 8vw;
  margin: 0 auto;
}
/* case study cta */
.contents_case-study + .contents_cta {
  background: #FFF6F6;
}
@media screen and (min-width: 981px) {
  .contents_case-study {
    padding: min(4.077vw,53px) 0 min(2.039vw,27px);
  }
  .contents_case-study h2 img {
    width: min(27.013vw,353px);
  }
  /* case study swiper-3 */
  .swiper-3 {
    --peek: min(5.708vw,75px);
  }
  .contents_case-study .swiper-3 {
    padding: 0 min(2.039vw,27px) min(4.587vw,60px) min(2.039vw,27px);
  }
  .contents_case-study .swiper-slide {
    padding: min(3.058vw,40px);
    border-radius: min(0.51vw,7px);
    max-width: min(30.071vw,393px) !important;
    min-height: min(44.241vw,578.7px);
  }
  .contents_case-study .swiper-slide .cat {
    font-size: min(1.325vw,17.33px);
    padding: min(0.408vw,5px) min(2.345vw,31px);
    margin: 0 0 min(1.325vw,17px);
  }
  .contents_case-study .head {
    font-size: min(1.733vw,22.67px);
    margin: 0 0 min(1.121vw,15px);
  }
  .contents_case-study ul.taglist {
    gap: min(0.612vw,8px);
    margin: 0 0 min(2.497vw,33px);
  }
  .contents_case-study ul.taglist li {
    font-size: min(1.325vw,17px);
    border: solid min(0.102vw,1px) #E94040;
    border-radius: min(0.357vw,5px);
    padding: min(0.102vw,1px) min(0.917vw,12px) min(0.204vw,3px) min(1.019vw,13px);
  }
  .contents_case-study .image {
    bottom: min(3.058vw,40px);
    right: min(3.058vw,40px);
    left: min(3.058vw,40px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_case-study {
    padding: 40px 0 20px;
  }
  .contents_case-study h2 img {
    width: 265px;
  }
  /* case study swiper-3 */
  .swiper-3 {
    --peek: 56px;
  }
  .contents_case-study .swiper-3 {
    padding: 0 20px 45px 20px;
  }
  .contents_case-study .swiper-slide {
    padding: 30px;
    border-radius: 5px;
    max-width: 295px !important;
    min-height: 434px;
  }
  .contents_case-study .swiper-slide .cat {
    font-size: 13px;
    padding: 4px 23px;
    margin: 0 0 13px;
  }
  .contents_case-study .head {
    font-size: 17px;
    margin: 0 0 11px;
  }
  .contents_case-study ul.taglist {
    gap: 6px;
    margin: 0 0 24.5px;
  }
  .contents_case-study ul.taglist li {
    font-size: 13px;
    border: solid 1px #E94040;
    border-radius: 3.5px;
    padding: 1px 9px 2px 10px;
  }
  .contents_case-study .image {
    bottom: 30px;
    right: 30px;
    left: 30px;
  }
}
/* point
--------------------------------------------------- */
.contents_point {
  background: url(../image/point_bg.jpg) left top / cover repeat-y;
  padding: 8vw 0;
}
.contents_point h2 {
  margin-bottom: 16.533vw;
}
.contents_point h2 img {
  width: 91.067vw;
}
/* pointlist */
.contents_point .pointlist li {
  position: relative;
  background: url(../image/point_base-middle.png) left center / contain repeat-y;
  width: 89.333vw;
  margin: 0 0 16vw;
  padding: 9.333vw 0 3.2vw;
}
.contents_point .pointlist li:last-child {
  margin-bottom: 0;
}
.contents_point .pointlist li::before {
  content: "";
  background: url(../image/point_base-top.png) left center / contain no-repeat;
  position: absolute;
  width: 89.333vw;
  height: 9.333vw;
  top: -9.333vw;
}
.contents_point .pointlist li::after {
  content: "";
  background: url(../image/point_base-bottom.png) left center / contain no-repeat;
  position: absolute;
  width: 89.333vw;
  height: 4vw;
  bottom: -4vw;
}
/* pointlist detail */
.contents_point .pointlist li .subhead {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
  top: -6.4vw;
  padding-right: 0.8vw;
}
.contents_point .pointlist li .subhead img {
  width: 9.333vw;
  height: auto;
}
.contents_point .pointlist li .arrow {
  position: relative;
  display: block;
  width: 2.853vw;
  height: 2.08vw;
  margin: 0 auto 3.2vw;
  text-align: center;
}
.contents_point .pointlist li .arrow::before,
.contents_point .pointlist li .arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 0.427vw);
  width: 0.853vw;
  height: 2.4vw;
  border-radius: 9999px;
  background-color: #E94040;
  transform-origin: 50% calc(100% - 0.427vw);
}
.contents_point .pointlist li .arrow::before {
  transform: rotate(45deg);
}
.contents_point .pointlist li .arrow::after {
  transform: rotate(-45deg);
}
.contents_point .pointlist li .head {
  text-align: center;
  font-size: 4.533vw;
  font-weight: 600;
  line-height: 1.3529em;
  margin: 0 0 3.2vw;
  padding: 0 5.333vw;
}
.contents_point .pointlist li .image {
  width: 57.733vw;
  margin: 0 auto 3.733vw;
}
.contents_point .pointlist li .text {
  font-size: 3.733vw;
  line-height: 1.64285em;
  padding: 0 7.467vw;
}
.contents_point .pointlist li .text span {
  color: #E94040;
  font-weight: 600;
}
/* point cta */
.contents_point + .contents_cta {
  background: #fff;
}
@media screen and (min-width: 981px) {
  .contents_point {
    padding: min(3.058vw,40px) 0;
  }
  .contents_point h2 {
    margin-bottom: min(6.32vw,82.7px);
  }
  .contents_point h2 img {
    width: min(34.862vw,455.3px);
  }
  /* pointlist */
  .contents_point .pointlist li {
    width: min(34.149vw,446.7px);
    margin: 0 0 min(6.116vw,80px);
    padding: min(3.568vw,46.7px) 0 min(3.2vw,12px);
  }
  .contents_point .pointlist li::before {
    width: min(34.149vw,446.7px);
    height: min(3.568vw,46.7px);
    top: max(-3.568vw,-46.7px);
  }
  .contents_point .pointlist li::after {
    width: min(34.149vw,446.7px);
    height: min(1.529vw,20px);
    bottom: max(-1.529vw,-20px);
  }
  /* pointlist detail */
  .contents_point .pointlist li .subhead {
    top: max(-2.446vw,-32px);
    padding-right: min(0.306vw,4px);
  }
  .contents_point .pointlist li .subhead img {
    width: min(3.568vw,46.7px);
  }
  .contents_point .pointlist li .arrow {
    width: min(1.121vw,14.3px);
    height: min(0.815vw,10.4px);
    margin: 0 auto min(1.223vw,16px);
  }
  .contents_point .pointlist li .arrow::before,
  .contents_point .pointlist li .arrow::after {
    left: calc(50% - min(0.204vw,2.1px));
    width: min(0.306vw,4.3px);
    height: min(0.917vw,12px);
    transform-origin: 50% calc(100% - min(0.204vw,2.1px));
  }
  .contents_point .pointlist li .head {
    font-size: min(1.733vw,22.7px);
    margin: 0 0 min(1.223vw,16px);
    padding: 0 min(2.039vw,26.7px);
  }
  .contents_point .pointlist li .image {
    width: min(22.12vw,288.7px);
    margin: 0 auto min(1.427vw,18.7px);
  }
  .contents_point .pointlist li .text {
    font-size: min(1.427vw,18.7px);
    padding: 0 min(2.854vw,37.3px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_point {
    padding: 30px 0;
  }
  .contents_point h2 {
    margin-bottom: 62px;
  }
  .contents_point h2 img {
    width: 342px;
  }
  /* pointlist */
  .contents_point .pointlist li {
    width: 335px;
    margin: 0 0 60px;
    padding: 35px 0 12px;
  }
  .contents_point .pointlist li::before {
    width: 335px;
    height: 35px;
    top: -35px;
  }
  .contents_point .pointlist li::after {
    width: 335px;
    height: 15px;
    bottom: -15px;
  }
  /* pointlist detail */
  .contents_point .pointlist li .subhead {
    top: -24px;
    padding-right: 3px;
  }
  .contents_point .pointlist li .subhead img {
    width: 35px;
  }
  .contents_point .pointlist li .arrow {
    width: 11px;
    height: 8px;
    margin: 0 auto 12px;
  }
  .contents_point .pointlist li .arrow::before,
  .contents_point .pointlist li .arrow::after {
    left: calc(50% - 2px);
    width: 3px;
    height: 9px;
    transform-origin: 50% calc(100% - 2px);
  }
  .contents_point .pointlist li .head {
    font-size: 17px;
    margin: 0 0 12px;
    padding: 0 20px;
  }
  .contents_point .pointlist li .image {
    width: 217px;
    margin: 0 auto 14px;
  }
  .contents_point .pointlist li .text {
    font-size: 14px;
    padding: 0 28px;
  }
}
/* how to
--------------------------------------------------- */
.contents_how-to {
  background: url(../image/how-to_bg.jpg) left center / cover repeat-y;
  padding: 5.333vw 0 8.533vw;
}
.contents_how-to h2 {
  margin-bottom: 13.333vw;
}
.contents_how-to h2 img {
  width: 79.333vw;
}
.contents_how-to ul {
  position: relative;
}
.contents_how-to ul::before {
  content: "";
  background: url(../image/how-to_line.svg) left center / contain no-repeat;
  position: absolute;
  width: 68.533vw;
  height: 244.867vw;
  top: 28.267vw;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.contents_how-to ul li {
  width: 64.933vw;
  margin-bottom: 18.667vw;
}
.contents_how-to ul li:last-child {
  margin-bottom: 0;
}
.contents_how-to ul li:nth-child(odd) {
  margin: 0 0 18.667vw auto;
}
.contents_how-to ul li .image {
  position: relative;
  margin: 0 0 2.667vw;
}
.contents_how-to ul li .image::before {
  content: "";
  background: url(../image/how-to_number01.png) left center / contain no-repeat;
  position: absolute;
  width: 19.467vw;
  height: 19.467vw;
  top: 0;
  bottom: 0;
  margin: auto;
}
.contents_how-to ul li:nth-child(odd) .image::before {
  left: -22.667vw;
}
.contents_how-to ul li:nth-child(even) .image::before {
  right: -22.667vw;
}
.contents_how-to ul li:nth-child(2) .image::before {
  background: url(../image/how-to_number02.png) left center / contain no-repeat;
}
.contents_how-to ul li:nth-child(3) .image::before {
  background: url(../image/how-to_number03.png) left center / contain no-repeat;
}
.contents_how-to ul li:nth-child(4) .image::before {
  background: url(../image/how-to_number04.png) left center / contain no-repeat;
}
.contents_how-to ul li:first-child .image::after {
  content: "";
  background: url(../image/how-to_object001.png) left center / contain no-repeat;
  position: absolute;
  width: 18.8vw;
  height: 22.133vw;
  top: -13.067vw;
  left: -22.4vw;
}
.contents_how-to ul li:last-child .image::after {
  content: "";
  background: url(../image/how-to_object002.png) left center / contain no-repeat;
  position: absolute;
  width: 15.733vw;
  height: 21.733vw;
  bottom: -12.533vw;
  right: -23.2vw;
}
.contents_how-to ul li .image img {
  width: 64.933vw;
}
.contents_how-to ul li .head {
  color: #E94040;
  font-size: 4.8vw;
  font-weight: 600;
  line-height: 1.52777em;
  margin: 0 0 2.667vw;
}
.contents_how-to ul li .text {
  font-size: 3.733vw;
  line-height: 1.64285em;
  font-weight: 300;
}
@media screen and (min-width: 981px) {
  .contents_how-to {
    padding: min(2.039vw,26.7px) 0 min(3.262vw,42.7px);
  }
  .contents_how-to h2 {
    margin-bottom: min(5.097vw,66.7px);
  }
  .contents_how-to h2 img {
    width: min(30.326vw,528.9px);
  }
  .contents_how-to ul::before {
    width: min(26.198vw,342.7px);
    height: min(93.603vw,1224.3px);
    top: min(10.805vw,141.3px);
  }
  .contents_how-to ul li {
    width: min(24.822vw,324.7px);
    margin-bottom: min(7.136vw,93.3px);
  }
  .contents_how-to ul li:nth-child(odd) {
    margin: 0 0 min(7.136vw,93.3px) auto;
  }
  .contents_how-to ul li .image {
    position: relative;
    margin: 0 0 min(1.019vw,13.3px);
  }
  .contents_how-to ul li .image::before {
    width: min(7.441vw,97.3px);
    height: min(7.441vw,97.3px);
  }
  .contents_how-to ul li:nth-child(odd) .image::before {
    left: max(-8.665vw,-113.3px);
  }
  .contents_how-to ul li:nth-child(even) .image::before {
    right: max(-8.665vw,-113.3px);
  }
  .contents_how-to ul li:first-child .image::after {
    width: min(7.187vw,94px);
    height: min(8.461vw,110.7px);
    top: max(-4.995vw,-65.3px);
    left: max(-8.563vw,-112px);
  }
  .contents_how-to ul li:last-child .image::after {
    width: min(6.014vw,78.7px);
    height: min(8.308vw,108.7px);
    bottom: max(-4.791vw,-62.7px);
    right: max(-8.869vw,-116px);
  }
  .contents_how-to ul li .image img {
    width: min(24.822vw,324.7px);
  }
  .contents_how-to ul li .head {
    font-size: min(1.835vw,24px);
    margin: 0 0 min(1.019vw,13.3px);
  }
  .contents_how-to ul li .text {
    font-size: min(1.427vw,18.7px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_how-to {
    padding: 20px 0 32px;
  }
  .contents_how-to h2 {
    margin-bottom: 50px;
  }
  .contents_how-to h2 img {
    width: 297.5px;
  }
  .contents_how-to ul::before {
    width: 257px;
    height: 918.25px;
    top: 106px;
  }
  .contents_how-to ul li {
    width: 243.5px;
    margin-bottom: 70px;
  }
  .contents_how-to ul li:nth-child(odd) {
    margin: 0 0 70px auto;
  }
  .contents_how-to ul li .image {
    margin: 0 0 10px;
  }
  .contents_how-to ul li .image::before {
    width: 73px;
    height: 73px;
  }
  .contents_how-to ul li:nth-child(odd) .image::before {
    left: -85px;
  }
  .contents_how-to ul li:nth-child(even) .image::before {
    right: -85px;
  }
  .contents_how-to ul li:first-child .image::after {
    width: 70.5px;
    height: 83px;
    top: -49px;
    left: -84px;
  }
  .contents_how-to ul li:last-child .image::after {
    width: 59px;
    height: 81.5px;
    bottom: -47px;
    right: -87px;
  }
  .contents_how-to ul li .image img {
    width: 243.5px;
  }
  .contents_how-to ul li .head {
    font-size: 18px;
    margin: 0 0 10px;
  }
  .contents_how-to ul li .text {
    font-size: 14px;
  }
}
/* voice
--------------------------------------------------- */
.contents_voice {
  background: #fff;
  padding: 4vw 0 6.4vw;
}
.contents_voice h2 img {
  width: 29.2vw;
}
/* faq accordion */
.contents_voice .accordion_area .accordion_one .ac_header {
  position: relative;
  background: #fff;
  z-index: 1;
  cursor: pointer;
  transition: .3s;
  padding: 3.467vw 3.733vw 3.2vw;
  margin-top: 8.533vw;
  border-radius: 2.667vw;
}
.contents_voice .accordion_area .accordion_one:first-of-type .ac_header {
  margin-top: 0;
}
.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_header { background: #FFE0E0; }
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_header { background: #CEF4E0; }
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_header { background: #DFF8FA; }
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_header { background: #F6DEB8; }
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_header { background: #EAD2F6; }

.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_header:not(.open):hover { background: #fbacac; }
.contents_voice .accordion_area .accordion_one:nth-child(1):hover .ac_header:not(.open)::after { border-color: #fbacac transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_header:not(.open):hover { background: #86e0b1; }
.contents_voice .accordion_area .accordion_one:nth-child(2):hover .ac_header:not(.open)::after { border-color: #86e0b1 transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_header:not(.open):hover { background: #a3e3eb; }
.contents_voice .accordion_area .accordion_one:nth-child(3):hover .ac_header:not(.open)::after { border-color: #a3e3eb transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_header:not(.open):hover { background: #f2ca8f; }
.contents_voice .accordion_area .accordion_one:nth-child(4):hover .ac_header:not(.open)::after { border-color: #f2ca8f transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_header:not(.open):hover { background: #e1b9f6; }
.contents_voice .accordion_area .accordion_one:nth-child(5):hover .ac_header:not(.open)::after { border-color: #e1b9f6 transparent transparent transparent; }

.contents_voice .accordion_area .accordion_one .ac_header::after {
  position: absolute;
  content: "";
  right: 0;
  bottom: -3.6vw;
  left: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #00bfb2 transparent transparent transparent;
  border-width: 3.733vw 6.933vw 0 0;
  transition: .3s;
}
.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_header::after { border-color: #FFE0E0 transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_header::after { border-color: #CEF4E0 transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_header::after { border-color: #DFF8FA transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_header::after { border-color: #F6DEB8 transparent transparent transparent; }
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_header::after { border-color: #EAD2F6 transparent transparent transparent; }

.contents_voice .accordion_area .accordion_one .ac_header.open {
  border-radius: 2.667vw 2.667vw 0 0;
}
.contents_voice .ac_header-in {
  display: flex;
  justify-content: flex-start;
  gap: 0 2.667vw;
}
.contents_voice .ac_header-in .image img {
  width: 18.933vw;
  height: auto;
}
.contents_voice .ac_header-in p.text {
  font-size: 3.867vw;
  line-height: 1.47812em;
  font-weight: 600;
  letter-spacing: 0;
  display: block;
  margin: 0 0 2.267vw;
}
.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_header .icon:before,
.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_header-in p.text { color: #E94040; }
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_header .icon:before,
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_header-in p.text { color: #21AD65; }
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_header .icon:before,
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_header-in p.text { color: #0BABB8; }
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_header .icon:before,
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_header-in p.text { color: #B77F24; }
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_header .icon:before,
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_header-in p.text { color: #9E42D0; }

.contents_voice .ac_header-in p.tag {
  font-size: 3.067vw;
  font-weight: 600;
  color: #fff;
  display: inline;
  padding: 0 3.2vw;
  border-radius: 4.533vw;
  letter-spacing: 0;
}
.contents_voice .accordion_area .accordion_one:nth-child(1) p.tag,
.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_header .arrow::before,
.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_header .arrow::after { background: #E94040; }
.contents_voice .accordion_area .accordion_one:nth-child(2) p.tag,
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_header .arrow::before,
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_header .arrow::after { background: #21AD65; }
.contents_voice .accordion_area .accordion_one:nth-child(3) p.tag,
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_header .arrow::before,
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_header .arrow::after { background: #0BABB8; }
.contents_voice .accordion_area .accordion_one:nth-child(4) p.tag,
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_header .arrow::before,
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_header .arrow::after { background: #B77F24; }
.contents_voice .accordion_area .accordion_one:nth-child(5) p.tag,
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_header .arrow::before,
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_header .arrow::after { background: #9E42D0; }

/* voice accordion icon */
.contents_voice .accordion_area .accordion_one .ac_header .icon {
  position: relative;
  background: rgba(255,255,255,0.6);
  text-align: center;
  width: 100%;
  height: 6.8vw;
  border-radius: 0.8vw;
  margin: 3.2vw 0 0;
}
.contents_voice .accordion_area .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.2vw;
  line-height: 6.8vw;
  font-weight: 600;
  padding-left: 4vw;
}
.contents_voice .accordion_area .accordion_one .ac_header.open .icon:before {
  content: "閉じる";
}
.contents_voice .accordion_area .accordion_one .ac_header .icon .icon-inner {
  width: 22.667vw;
  height: 100%;
  margin: 0 auto;
  position: relative;
  display: block;
}
.contents_voice .accordion_area .accordion_one .ac_header .arrow {
  position: absolute;
  display: inline-block;
  width: 1.813vw;
  height: 1.44vw;
  top: 2.667vw;
  left: 0;
  transition: .3s;
}
.contents_voice .accordion_area .accordion_one .ac_header.open .arrow { transform: rotate(180deg); }
.contents_voice .accordion_area .accordion_one .ac_header .arrow::before,
.contents_voice .accordion_area .accordion_one .ac_header .arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 0.267vw);
  width: 0.533vw;
  height: 1.6vw;
  transform-origin: 50% calc(100% - 0.267vw);
  transition: .3s;
}
.contents_voice .accordion_area .accordion_one .ac_header .arrow::before { transform: rotate(45deg); }
.contents_voice .accordion_area .accordion_one .ac_header .arrow::after  { transform: rotate(-45deg); }

/* voice accordion ac_inner */
.contents_voice .accordion_area .accordion_one .ac_inner {
  position: relative;
  display: none;
  padding: 8vw 13.067vw 6.4vw;
  border-radius: 0 0 2.667vw 2.667vw;
  box-sizing: border-box;
}
.contents_voice .accordion_area .accordion_one:nth-child(1) .ac_inner { background: #FFF6F6; }
.contents_voice .accordion_area .accordion_one:nth-child(2) .ac_inner { background: #ECFFF5; }
.contents_voice .accordion_area .accordion_one:nth-child(3) .ac_inner { background: #F3FEFF; }
.contents_voice .accordion_area .accordion_one:nth-child(4) .ac_inner { background: #FCF7EF; }
.contents_voice .accordion_area .accordion_one:nth-child(5) .ac_inner { background: #FCF7FF; }

.contents_voice .ac_inner-in p.text {
  font-size: 3.467vw;
  font-weight: 300;
  line-height: 1.76923em;
  color: #000;
}
.contents_voice .ac_inner-in p.text span {
  color: #E94040;
  font-weight: 600;
}
/* voice cta */
.contents_voice + .contents_cta { background: #fff; }

@media screen and (min-width: 981px) {
  .contents_voice {
    padding: min(1.529vw,20px) 0 min(2.446vw,32px);
  }
  .contents_voice h2 img {
    width: min(11.213vw,146px);
  }
  /* faq accordion */
  .contents_voice .accordion_area .accordion_one .ac_header {
    padding: min(1.325vw,17.3px) min(1.427vw,18.7px) min(1.223vw,16px);
    margin-top: min(3.262vw,42.7px);
    border-radius: min(1.019vw,13.33px);
  }
  .contents_voice .accordion_area .accordion_one .ac_header::after {
    bottom: max(-1.427vw,-13px);
    border-width: min(1.427vw,18.7px) min(2.65vw,34.7px) 0px 0px;
  }
  .contents_voice .accordion_area .accordion_one .ac_header.open {
    border-radius: min(1.019vw,13.33px) min(1.019vw,13.33px) 0 0;
  }
  .contents_voice .ac_header-in {
    display: flex;
    justify-content: flex-start;
    gap: 0 min(1.019vw,13.3px);
  }
  .contents_voice .ac_header-in .image img {
    width: min(7.238vw,94.7px);
  }
  .contents_voice .ac_header-in p.text {
    font-size: min(1.529vw,19.3px);
    margin: 0 0 min(0.917vw,11.3px);
  }
  .contents_voice .ac_header-in p.tag {
    font-size: min(1.223vw,13px);
    padding: 0 min(1.223vw,13px);
    border-radius: min(1.733vw,22.7px);
  }
  /* voice accordion icon */
  .contents_voice .accordion_area .accordion_one .ac_header .icon {
    height: min(2.65vw,34px);
    border-radius: min(0.306vw,4px);
    margin: min(1.223vw,16px) 0 0;
  }
  .contents_voice .accordion_area .accordion_one .ac_header .icon:before {
    font-size: min(1.223vw,16px);
    line-height: min(2.65vw,34px);
    padding-left: min(1.529vw,20px);
  }
  .contents_voice .accordion_area .accordion_one .ac_header .icon .icon-inner {
    width: min(8.665vw,113.333px);
  }
  .contents_voice .accordion_area .accordion_one .ac_header .arrow {
    width: min(0.714vw,9.1px);
    height: min(0.51vw,7.2px);
    top: min(1.15vw,13.3px);
  }
  .contents_voice .accordion_area .accordion_one .ac_header .arrow::before,
  .contents_voice .accordion_area .accordion_one .ac_header .arrow::after {
    left: calc(50% - min(0.102vw,1.3px));
    width: min(0.204vw,2.7px);
    height: min(0.612vw,8px);
    transform-origin: 50% calc(100% - min(0.102vw,1.3px));
  }
  /* voice accordion ac_inner */
  .contents_voice .accordion_area .accordion_one .ac_inner {
    padding: min(3.058vw,40px) min(4.995vw,65.3px) min(2.446vw,32px);
    border-radius: 0 0 min(1.019vw,13.33px) min(1.019vw,13.33px);
  }
  .contents_voice .ac_inner-in p.text {
    font-size: min(1.325vw,17.33px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_voice {
    padding: 15px 0 24px;
  }
  .contents_voice h2 img {
    width: 110px;
  }
  /* faq accordion */
  .contents_voice .accordion_area .accordion_one .ac_header {
    padding: 13px 14px 12px;
    margin-top: 32px;
    border-radius: 10px;
  }
  .contents_voice .accordion_area .accordion_one .ac_header::after {
    bottom: -14px;
    border-width: 14px 26px 0 0;
  }
  .contents_voice .accordion_area .accordion_one .ac_header.open {
    border-radius: 10px 10px 0 0;
  }
  .contents_voice .ac_header-in {
    gap: 0 10px;
  }
  .contents_voice .ac_header-in .image img {
    width: 71px;
  }
  .contents_voice .ac_header-in p.text {
    font-size: 15px;
    margin: 0 0 9px;
  }
  .contents_voice .ac_header-in p.tag {
    font-size: 12px;
    padding: 0 12px;
    border-radius: 17px;
  }
  /* voice accordion icon */
  .contents_voice .accordion_area .accordion_one .ac_header .icon {
    width: 304px;
    height: 26px;
    border-radius: 3px;
    margin: 12px 0 0;
  }
  .contents_voice .accordion_area .accordion_one .ac_header .icon:before {
    font-size: 12px;
    line-height: 26px;
    padding-left: 15px;
  }
  .contents_voice .accordion_area .accordion_one .ac_header .icon .icon-inner {
    width: 85px;
  }
  .contents_voice .accordion_area .accordion_one .ac_header .arrow {
    width: 7px;
    height: 5px;
    top: 10px;
  }
  .contents_voice .accordion_area .accordion_one .ac_header .arrow::before,
  .contents_voice .accordion_area .accordion_one .ac_header .arrow::after {
    left: calc(50% - 1px);
    width: 2px;
    height: 6px;
    transform-origin: 50% calc(100% - 1px);
  }
  /* voice accordion ac_inner */
  .contents_voice .accordion_area .accordion_one .ac_inner {
    padding: 30px 49px 24px;
    border-radius: 0 0 10px 10px;
  }
  .contents_voice .ac_inner-in p.text {
    font-size: 13px;
  }
}
/* process
--------------------------------------------------- */
.contents_process {
  background: url(../image/process_bg.jpg) left center / cover repeat-y;
  padding: 4vw 0 6.4vw;
}
.contents_process h2 img {
  width: 36vw;
}
/* flowlist */
.flow-list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flow-list ul {
  padding-left: 0;
}
.flow-list ul > li {
  list-style-type: none;
  display: flex;
}
.flow-list ul > li:not(:last-child) {
  margin: 0 0 10.133vw;
}
.flow-list ul > li .flow-list_head {
  position: relative;
  width: 14.933vw;
  box-sizing: border-box;
  padding: 5.333vw 2.667vw 2.667vw;
  text-align: center;
  background: #E94040;
  margin: 0;
}
.flow-list ul > li:not(:last-child) .flow-list_head::after {
  content: ' ';
  width: 0;
  height: 0;
  border-left: 7.467vw solid transparent;
  border-right: 7.467vw solid transparent;
  border-top: 4.4vw solid #E94040;
  position: absolute;
  bottom: -4.3vw;
  left: 0;
}
.flow-list ul > li:nth-of-type(n+2) .flow-list_head::before {
  content: '';
  position: absolute;
  left: 0;
  top: -4.3vw;
  height: 0;
  width: 0;
  border-left: 7.467vw solid #E94040;
  border-right: 7.467vw solid #E94040;
  border-top: 4.4vw solid transparent;
}
.flow-list ul > li .flow-list_head .number img {
  width: 9.6vw;
  height: auto;
}
.flow-list ul > li .flow-list_head .icon {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  padding-top: 6.4vw;
}
.flow-list ul > li:nth-child(1) .flow-list_head .icon {
  width: 7.6vw;
  height: 10.133vw;
}
.flow-list ul > li:nth-child(2) .flow-list_head .icon {
  width: 9.067vw;
  height: 11.6vw;
}
.flow-list ul > li:nth-child(3) .flow-list_head .icon {
  width: 6.533vw;
  height: 14.133vw;
  padding-top: 3.467vw;
}
.flow-list ul > li:nth-child(4) .flow-list_head .icon {
  width: 7.067vw;
  height: 9.867vw;
}
.flow-list ul > li:nth-child(5) .flow-list_head .icon {
  width: 9.867vw;
  height: 10.4vw;
}
/* flowlist dl */
.flow-list ul > li dl {
  margin: 0 0 0 3.467vw;
  width: calc(100% - 18.4vw);
  border: solid 0.267vw #FFECEC;
  border-radius: 1.333vw;
}
.flow-list ul > li dl dt {
  background: #FFF6F6;
  text-align: center;
  padding: 5.067vw 0 5.333vw;
  font-size: 4.267vw;
  font-weight: 600;
  color: #E94040;
}
.flow-list ul > li dl dd {
  background: #fff;
  padding: 5.333vw 6vw 5.333vw 8vw;
  font-size: 3.733vw;
  line-height: 1.42857em;
}
@media screen and (min-width: 981px) {
  .contents_process {
    padding: min(1.529vw,20px) 0 min(2.446vw,32px);
  }
  .contents_process h2 img {
    width: min(13.761vw,180px);
  }
  /* flowlist */
  .flow-list ul > li:not(:last-child) {
    margin: 0 0 min(3.874vw,50.7px);
  }
  .flow-list ul > li .flow-list_head {
    width: min(5.708vw,75px);
    padding: min(2.039vw,26.7px) min(1.019vw,13.3px) min(1.019vw,13.3px);
  }
  .flow-list ul > li:not(:last-child) .flow-list_head::after {
    border-left: min(2.854vw,37.5px) solid transparent;
    border-right: min(2.854vw,37.5px) solid transparent;
    border-top: min(1.733vw,22px) solid #E94040;
    bottom: max(-1.69vw,-22px);
  }
  .flow-list ul > li:nth-of-type(n+2) .flow-list_head::before {
    top: max(-1.7vw,-22px);
    border-left: min(2.86vw,37.5px) solid #E94040;
    border-right: min(2.87vw,37.5px) solid #E94040;
    border-top: min(1.733vw,22px) solid transparent;
  }
  .flow-list ul > li .flow-list_head .number img {
    width: min(3.67vw,48px);
  }
  .flow-list ul > li .flow-list_head .icon {
    padding-top: min(2.446vw,32px);
  }
  .flow-list ul > li:nth-child(1) .flow-list_head .icon {
    width: min(2.956vw,38px);
    height: min(3.874vw,50.7px);
  }
  .flow-list ul > li:nth-child(2) .flow-list_head .icon {
    width: min(3.466vw,45.3px);
    height: min(4.485vw,58px);
  }
  .flow-list ul > li:nth-child(3) .flow-list_head .icon {
    width: min(2.548vw,32.7px);
    height: min(5.403vw,70.7px);
    padding-top: min(1.325vw,17.3px);
  }
  .flow-list ul > li:nth-child(4) .flow-list_head .icon {
    width: min(2.752vw,35.3px);
    height: min(3.772vw,49.3px);
  }
  .flow-list ul > li:nth-child(5) .flow-list_head .icon {
    width: min(3.772vw,49.3px);
    height: min(3.976vw,52px);
  }
  /* flowlist dl */
  .flow-list ul > li dl {
    margin: 0 0 0 min(1.325vw,17.3px);
    width: calc(100% - min(7.034vw,92px));
    border: solid min(0.102vw,1.3px) #FFECEC;
    border-radius: min(0.51vw,6.7px);
  }
  .flow-list ul > li dl dt {
    padding: min(1.937vw,25.3px) 0 min(2.039vw,26.7px);
    font-size: min(1.631vw,21.3px);
  }
  .flow-list ul > li dl dd {
    padding: min(2.039vw,26.7px) min(2.345vw,30px) min(2.039vw,26.7px) min(3.058vw,40px);
    font-size: min(1.427vw,18.7px);
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_process {
    background: url(../image/process_bg.jpg) left center / cover repeat-y;
    padding: 15px 0 24px;
  }
  .contents_process h2 img {
    width: 135px;
  }
  /* flowlist */
  .flow-list ul > li:not(:last-child) {
    margin: 0 0 38px;
  }
  .flow-list ul > li .flow-list_head {
    width: 56px;
    padding: 20px 10px 10px;
  }
  .flow-list ul > li:not(:last-child) .flow-list_head::after {
    border-left: 28px solid transparent;
    border-right: 28px solid transparent;
    border-top: 17px solid #E94040;
    bottom: -17px;
  }
  .flow-list ul > li:nth-of-type(n+2) .flow-list_head::before {
    top: -17px;
    border-left: 28px solid #E94040;
    border-right: 28px solid #E94040;
    border-top: 17px solid transparent;
  }
  .flow-list ul > li .flow-list_head .number img {
    width: 36px;
  }
  .flow-list ul > li .flow-list_head .icon {
    padding-top: 24px;
  }
  .flow-list ul > li:nth-child(1) .flow-list_head .icon {
    width: 29px;
    height: 38px;
  }
  .flow-list ul > li:nth-child(2) .flow-list_head .icon {
    width: 34px;
    height: 44px;
  }
  .flow-list ul > li:nth-child(3) .flow-list_head .icon {
    width: 25px;
    height: 53px;
    padding-top: 13px;
  }
  .flow-list ul > li:nth-child(4) .flow-list_head .icon {
    width: 27px;
    height: 37px;
  }
  .flow-list ul > li:nth-child(5) .flow-list_head .icon {
    width: 37px;
    height: 39px;
  }
  /* flowlist dl */
  .flow-list ul > li dl {
    margin: 0 0 0 13px;
    width: calc(100% - 69px);
    border: solid 1px #FFECEC;
    border-radius: 5px;
  }
  .flow-list ul > li dl dt {
    padding: 19px 0 20px;
    font-size: 16px;
  }
  .flow-list ul > li dl dd {
    padding: 20px 23px 20px 30px;
    font-size: 14px;
  }
}
/* faq
--------------------------------------------------- */
.contents_faq {
  background: url(../image/faq_bg.jpg) left center / cover repeat-y;
  padding: 3.333vw 0 6.4vw;
}
.contents_faq h2 img {
  width: 42.667vw;
}
/* faq accordion */
.contents_faq .accordion_area .accordion_one .ac_header {
  position: relative;
  background: #fff;
  z-index: +1;
  cursor: pointer;
  transition: .3s;
  padding: 9.6vw 16vw 9.6vw 8.267vw;
  margin-top: 3.333vw;
  border-radius: 2.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 .accordion_area .accordion_one .ac_header.open {
  border-radius: 2.667vw 2.667vw 0 0;
}
.contents_faq .ac_header-in {
  display: block;
  padding-left: 9.333vw;
  position: relative;
}
.contents_faq .ac_header-in::before {
  position: absolute;
  left: 0;
  top: 0.533vw;
  content: "";
  background: url(../image/faq_iconQ.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.47812em;
  font-weight: 600;
}
/* faq accordion icon */
.contents_faq .accordion_area .accordion_one .ac_header .icon {
  background: #E94040;
  position: absolute;
  top: 10vw;
  right: 7.333vw;
  text-align: center;
  width: 6vw;
  height: 6vw;
  border-radius: 3vw;
}
.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: 9.6vw 16vw 9.6vw 8.267vw;
  border-radius: 0 0 2.667vw 2.667vw;
  box-sizing: border-box;
  background: #fff;
}
.contents_faq .accordion_area .accordion_one .ac_inner::before {
  position: absolute;
  content: "";
  width: 80%;
  height: 0.4vw;
  background: #CEE6F6;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.contents_faq .ac_inner-in {
  display: block;
  padding-left: 9.333vw;
  position: relative;
}
.contents_faq .ac_inner-in::before {
  position: absolute;
  left: 0;
  top: 0.533vw;
  content: "";
  background: url(../image/faq_iconA.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.76923em;
}
.contents_faq .ac_inner-in p.text span {
  color: #E94040;
  font-weight: 600;
  background: #E2F3FF;
  display: inline;
  padding: 0 0.267vw 0;
}
@media screen and (min-width: 981px) {
  .contents_faq {
    padding: min(1.274vw,16.67px) 0 min(2.446vw,32px);
  }
  .contents_faq h2 img {
    width: min(16.31vw,212.67px);
  }
  /* faq accordion */
  .contents_faq .accordion_area .accordion_one .ac_header {
    padding: min(3.67vw,48px) min(6.116vw,80px) min(3.67vw,48px) min(3.16vw,41.33px);
    margin-top: min(1.274vw,16.67px);
    border-radius: min(1.019vw,13.33px);
  }
  .contents_faq .accordion_area .accordion_one .ac_header.open {
    border-radius: min(1.019vw,13.33px) min(1.019vw,13.33px) 0 0;
  }
  .contents_faq .ac_header-in {
    padding-left: min(3.568vw,46.67px);
  }
  .contents_faq .ac_header-in::before {
    top: min(0.204vw,2.67px);
    width: min(1.886vw,24.67px);
    height: min(2.192vw,28.67px);
  }
  .contents_faq .ac_header-in p.text {
    font-size: min(1.631vw,21.33px);
  }
  /* faq accordion icon */
  .contents_faq .accordion_area .accordion_one .ac_header .icon {
    top: min(3.823vw,50px);
    right: min(2.803vw,36.67px);
    width: min(2.294vw,30px);
    height: min(2.294vw,30px);
    border-radius: min(1.147vw,15px);
  }
  .contents_faq .accordion_area .accordion_one .ac_header .icon:before {
    border-top: min(0.173vw,2.27px) solid #fff;
    width: min(0.917vw,12px);
  }
  .contents_faq .accordion_area .accordion_one .ac_header .icon:after {
    border-left: min(0.173vw,2.27px) solid #fff;
    height: min(0.917vw,12px);
  }
  /* faq accordion ac_inner */
  .contents_faq .accordion_area .accordion_one .ac_inner {
    padding: min(3.67vw,48px) min(6.116vw,80px) min(3.67vw,48px) min(3.16vw,41.33px);
    border-radius: 0 0 min(1.019vw,13.33px) min(1.019vw,13.33px);
  }
  .contents_faq .accordion_area .accordion_one .ac_inner::before {
    height: min(0.153vw,2px);
  }
  .contents_faq .ac_inner-in {
    padding-left: min(3.568vw, 46.67px);
  }
  .contents_faq .ac_inner-in::before {
    top: min(0.204vw,2.67px);
    width: min(1.58vw,20.67px);
    height: min(1.631vw,21.33px);
  }
  .contents_faq .ac_inner-in p.text {
    font-size: min(1.325vw,17.33px);
  }
  .contents_faq .ac_inner-in p.text span {
    padding: 0 min(0.102vw,1px) 0px;
  }
}
@media screen and (max-width: 980px) and (min-width: 500px) {
  .contents_faq {
    padding: 12.5px 0 24px;
  }
  .contents_faq h2 img {
    width: 160px;
  }
  /* faq accordion */
  .contents_faq .accordion_area .accordion_one .ac_header {
    padding: 36px 60px 36px 31px;
    margin-top: 12.5px;
    border-radius: 10px;
  }
  .contents_faq .accordion_area .accordion_one .ac_header.open {
    border-radius: 10px 10px 0 0;
  }
  .contents_faq .ac_header-in {
    padding-left: 35px;
  }
  .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: 37.5px;
    right: 27.5px;
    width: 22.5px;
    height: 22.5px;
    border-radius: 11.25px;
  }
  .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: 36px 60px 36px 31px;
    border-radius: 0 0 10px 10px;
  }
  .contents_faq .accordion_area .accordion_one .ac_inner::before {
    height: 1.5px;
  }
  .contents_faq .ac_inner-in {
    padding-left: 35px;
  }
  .contents_faq .ac_inner-in::before {
    top: 2px;
    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;
  }
}
/* 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; }
}
