@tailwind base;
@tailwind components;
@tailwind utilities;
@keyframes slide-top {
  0% {
    transform: translateY(min(sz(80), 80px));
    opacity: 0
  }
  100% {
    transform: translateY(0);
    opacity: 1
  }
}
@keyframes fadeout_text {
  0% {
    opacity: 1;
    transform: scale3d(1.2, 1.2, 1)
  }
  100% {
    opacity: 0;
    transform: scale3d(1, 1, 1)
  }
}
@keyframes opacity1 {
  0%, 100% {
    opacity: 1
  }
  50% {
    opacity: .8
  }
}
.animation.animation_js.slide-top {
  opacity: 0;
  transform: translateY(120px)
}
.is-active .animation.animation_js.slide-top, .animation.animation_js.slide-top.is-active {
  animation: slide-top .8s ease .24s both
}
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  list-style: none
}
*::before, *::after {
  box-sizing: border-box
}
img {
  font-size: 0;
  line-height: 0;
  width: 100%;
  max-width: 100%;
  height: auto
}
body {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Sans", YuGothic, "Yu Gothic medium", sans-serif;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-feature-settings: "palt";
  font-size: 1.563vw;
  font-weight: bold;
  line-height: 1.68;
  color: #000018;
  letter-spacing: .0333333333em
}
@supports(-webkit-touch-callout: none) {
  body {
    min-height: -webkit-fill-available
  }
}
@media(max-width: 768px) {
  body {
    font-size: 3.906vw
  }
}
small {
  font-weight: normal;
  font-size: 88%
}
strong {
  font-weight: bolder
}
a {
  color: currentColor;
  text-decoration: none
}
sup {
  font-size: 48%;
  vertical-align: super;
  font-weight: normal
}
.btn {
  font-weight: bold;
  color: #fff;
  border-radius: 16em;
  display: inline-flex;
  transition: .32s;
  justify-content: center;
  align-items: center;
  width: 35.156vw;
  max-width: 100%;
  position: relative;
  font-size: 1.628vw;
  text-align: center;
  line-height: 1.6;
  min-height: 6.771vw;
  z-index: 1;
  white-space: nowrap
}
@media(max-width: 768px) {
  .btn {
    width: 100%;
    font-size: 3.906vw;
    min-height: 13.542vw
  }
}
.btn::before, .btn::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 16em;
  z-index: -1;
  transition: .32s
}
.btn::before {
  background: linear-gradient(90deg, #C731C5 40%, #6E4DF1)
}
.btn::after {
  background: #fff;
  opacity: 0
}
.btn .span1 {
  display: flex !important;
  align-items: center
}
.btn .span2 {
  font-size: 136%;
  position: relative;
  padding-left: .64em;
  margin-left: .64em
}
.btn .span2::before, .btn .span2::after {
  content: "";
  width: 1px;
  height: .8em;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}
.btn .span2::before {
  background: linear-gradient(180deg, #C731C5, #6E4DF1)
}
.btn .span2::after {
  background: #fff;
  transition: .32s
}
.btn .span3 {
  font-size: 88%;
  margin-left: 1em;
  margin-right: -0.4em
}
.btn:hover span {
  display: inline-block;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  background-image: linear-gradient(180deg, #C731C5 32%, #6E4DF1)
}
.btn:hover .span2::after {
  opacity: 0
}
.btn:hover::after {
  opacity: 1
}
.btn_border::before {
  border: 2px solid #fff
}
.fz_up_104 {
  font-size: 104%
}
.fz_up_112 {
  font-size: 112%
}
.fz_up_120 {
  font-size: 120%
}
.fz_up_128 {
  font-size: 128%
}
.fz_up_136 {
  font-size: 136%
}
.fz_up_144 {
  font-size: 144%
}
.fz_up_152 {
  font-size: 152%
}
.fz_up_160 {
  font-size: 160%
}
.fz_down_88 {
  font-size: 88%
}
.fz_down_80 {
  font-size: 80%
}
.ff_barlow {
  font-family: "Barlow Condensed", sans-serif
}
.fw_bold {
  font-weight: bold
}
.fw_900 {
  font-weight: 900
}
.fw_medium {
  font-weight: 500
}
.fw_normal {
  font-weight: normal
}
.text_grad {
  display: inline-block;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  background-image: linear-gradient(90deg, #C731C5 32%, #6E4DF1)
}
.text_grad2 {
  display: inline-block;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  background-image: linear-gradient(180deg, #C731C5 32%, #6E4DF1)
}
.aligncenter {
  text-align: center !important
}
@media(min-width: 769px) {
  .pc_hide {
    display: none !important
  }
}
@media(max-width: 768px) {
  .sp_hide {
    display: none !important
  }
}
.indent {
  display: block;
  padding-left: 1.143em;
  text-indent: -1.143em
}
.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100;
  min-height: 4.948vw;
  /*height: 4.948vw;*/
  display: flex;
  justify-content: space-between;
  /*pointer-events: none*/
}
@media(max-width: 768px) {
  .header {
    min-height: 11.719vw;
    /*height: 11.719vw*/
  }
}
.header_logo {
  width: 11.589vw;
  display: flex;
  align-items: center;
  margin-left: 1.563vw
}
@media(max-width: 768px) {
  .header_logo {
    width: 20.512vw;;
    /*width: 29.167vw;*/
    /*margin-left: 4.948vw;*/
    margin-left: 0
  }
}
.header_nav {
  pointer-events: auto
}
.header_nav_label {
  background: #d5d5d5;
  height: 100%;
  width: 6.46vw;
  /*width: 6.25vw;*/
  font-size: .911vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 1.563vw;
  cursor: pointer
}
@media(max-width: 768px) {
  .header_nav_label {
    width: 14.583vw;
    font-size: 2.344vw;
    padding-top: 3.125vw
  }
}
.header_nav_label::before, .header_nav_label::after {
  content: "";
  width: 1.953vw;
  height: .26vw;
  border-radius: 1.6em;
  position: absolute;
  left: 50%;
  top: 1.302vw;
  background: #000018;
  transition: .4s
}
@media(max-width: 768px) {
  .header_nav_label::before, .header_nav_label::after {
    width: 4.167vw;
    height: .521vw;
    top: 2.604vw
  }
}
.header_nav_label::before {
  transform: translate3d(-50%, 0, 0)
}
.header_nav_label::after {
  transform: translate3d(-50%, 0.651vw, 0)
}
@media(max-width: 768px) {
  .header_nav_label::after {
    transform: translate3d(-50%, 1.563vw, 0)
  }
}
.header_nav_label.show::before {
  transform: translate3d(-50%, 50%, 0) rotate(135deg)
}
.header_nav_label.show::after {
  transform: translate3d(-50%, 50%, 0) rotate(45deg)
}
.header_nav_menu {
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, .8);
  width: 100%;
  height: 100vh;
  z-index: -1;
  display: none;
  padding-top: 6.25vw;
  /*padding-top: 4.948vw;*/
  text-align: center;
  color: #fff
}
@media(max-width: 768px) {
  .header_nav_menu {
	  padding-top: 13.333vw
    /*padding-top: 11.948vw*/
  }
}
.header_nav_menu a {
  display: block;
  padding: 1.6em 0
}
.footer {
  text-align: center;
  background: #fff
}
@media(max-width: 768px) {
  .footer {
    padding-top: 5.208vw
  }
}
.footer_logo {
  margin: 3.125vw auto;
  width: 13.542vw;
  line-height: 0
}
@media(max-width: 768px) {
  .footer_logo {
    width: 27.083vw;
    margin: 5.208vw auto
  }
}
.footer_nav {
  font-weight: normal;
  font-size: .911vw;
  display: flex;
  justify-content: center;
  margin: 1em 0
}
@media(max-width: 768px) {
  .footer_nav {
    font-size: 2.083vw
  }
}
.footer_nav li {
  padding: .32em 0
}
.footer_nav li:not(:first-child)::before {
  content: "│";
  margin: 0 .8em
}
@media(max-width: 768px) {
  .footer_nav li:not(:first-child)::before {
    margin: 0 .64em
  }
}
.footer_nav a:hover {
  text-decoration: underline
}
.footer_copyright {
  background: #000018;
  color: #fff;
  font-size: .846vw;
  font-weight: normal;
  padding: 1em .4em
}
@media(max-width: 768px) {
  .footer_copyright {
    font-size: 2.083vw
  }
}
.footer_copyright small {
  font-size: 100%
}
.fv {
  overflow: hidden
}
@media(max-width: 768px) {
  .fv {
    background: radial-gradient(#674561, #110053 56%, #000017)
  }
}
.fv_sp {
  background: url("../images/img_fv_1.png") no-repeat right 12% top 22.91666666666667vw/201.693vw, linear-gradient(0deg, #000017, rgba(0, 0, 23, 0) 48%) no-repeat center bottom/100% 100%, radial-gradient(ellipse at top, #674561, #110053 56%, #000017) no-repeat center 78.125vw/100% calc(100% - 50vw);
  padding: 50vw 9.896vw 8.333vw;
  position: relative;
  z-index: 1;
  color: #fff;
  min-height: 100vh
}
.fv_sp::before, .fv_sp::after {
  content: "";
  width: 50%;
  position: absolute;
  transition: .32s ease-in-out;
  top: 41.667vw
}
.body_sticky .fv_sp::before, .body_sticky .fv_sp::after {
  opacity: 0
}
.fv_sp::before {
  background: radial-gradient(ellipse at left, rgba(0, 0, 24, 0.8), rgba(0, 0, 24, 0) 56%);
  height: 88.542vw;
  left: 0
}
.fv_sp::after {
  background: radial-gradient(ellipse at right, rgba(0, 0, 24, 0.8), rgba(0, 0, 24, 0) 56%);
  height: 72.917vw;
  right: 0
}
.fv_sp_title {
  position: fixed;
  left: 0;
  top: 12.583vw;
  /*top: 14.583vw;*/
  width: 100%;
  text-align: center
}
.fv_sp_title img {
  width: 80.208vw;
  transition: transform .38s, opacity .8s .32s;
  transform-origin: center 32%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: transparent;
  transform: scale3d(1, 1, 1);
  filter: drop-shadow(0 0 2.083vw #000018)
}
.body_sticky .fv_sp_title img {
  transform: scale3d(1.6, 1.6, 1);
  opacity: 0
}
.fv_sp_device {
  position: relative;
  z-index: 1
}
.body_sticky .fv_sp_device {
  animation: opacity1 .32s ease-in-out both
}
.fv_sp_cta {
  text-align: center;
  font-size: 3.646vw;
  margin: 3.125vw 0 6.25vw
}
.fv_sp_cta dt {
  margin-bottom: .4em
}
.fv_sp_note {
  font-size: 2.344vw;
  font-weight: normal
}
.fv_sp_note small {
  font-size: 100%;
  display: block
}
.fv_pc {
  padding: 4.5vw 14.844vw 2.604vw;
  background: url("../images/img_fv_2.png") no-repeat center top 35%/100%, radial-gradient(#674561, #110053 56%, #000017);
  color: #fff
}
.fv_pc_title {
  width: 48.438vw;
  margin-left: -1.563vw
}
.fv_pc_content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.fv_pc_content_left {
  width: 50%
}
.fv_pc_content_left dl {
  text-align: center;
  font-size: 1.823vw;
  margin: 2.083vw 0 0 /*margin: 2.083vw 0 4.167vw*/
}
.fv_pc_content_left dt {
  margin-bottom: .4em
}
.fv_pc_content_right {
  width: 30.273vw;
  margin-top: -9.896vw;
  font-weight: normal;
  font-size: .846vw
}
.fv_pc_content_right small {
  font-size: 100%;
  display: block
}
.fv_pc_footer {
  font-size: .846vw
}
.fv_pc_footer small {
  font-size: 100%
}
.section_01 {
  padding: 2.604vw 14.844vw;
  background: #000018;
  color: #fff;
  position: relative;
  height: 57.292vw;
  overflow: hidden;
  transition: .4s
}
@media(max-width: 768px) {
  .section_01 {
    padding: 4.948vw 9.896vw
  }
}
@media(max-width: 768px) {
  .section_01 {
    height: auto
  }
}
.section_01::before, .section_01::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0
}
.section_01::before {
  background: #fff
}
.section_01::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #f1eff1 url("../images/img_section01_3.png") no-repeat center bottom/100%;
  opacity: 0;
  transition: .4s;
  z-index: -1
}
@media(max-width: 768px) {
  .section_01::after {
    background-image: url("../images/img_section01_2.png");
    background-position: center 64%
  }
}
.section_01.is-active {
  background: none
}
.section_01.is-active::after {
  opacity: 1
}
.section_01_title {
  font-weight: 900;
  font-size: 3.906vw;
  line-height: 1.6;
  position: absolute;
  left: 14.844vw;
  top: 7.292vw
}
@media(max-width: 768px) {
  .section_01_title {
    position: relative;
    left: 0;
    top: 0;
    text-align: center;
    font-size: 9.115vw;
    line-height: 1.44;
    margin: 1em 0 .64em
  }
}
.section_01_title span {
  transition: .4s
}
.is-active .section_01_title .span0 {
  opacity: 0
}
.section_01_title .span2 {
  font-size: 144%
}
.section_01_title .span3 {
  position: absolute;
  left: 0;
  top: 0;
  color: #000;
  opacity: 0;
  width: 100%
}
.is-active .section_01_title .span3 {
  opacity: 1
}
.section_01_title .span3 .span2 {
  display: inline-block;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  background-image: linear-gradient(90deg, #C731C5 32%, #6E4DF1)
}
.section_01_title::before {
  content: "";
  /* background: url("../images/img_fv_4.svg") no-repeat center/contain; */
  width: 48.438vw;
  height: 18.229vw;
  position: absolute;
  left: -7.813vw;
  top: 0;
  transform: scale3d(1.28, 1.28, 1.28);
  opacity: 0
}
@media(max-width: 768px) {
  .section_01_title::before {
    background-image: url("../images/img_fv_3.svg");
    left: 0;
    width: 100%;
    height: 100%
  }
}
.is-active .section_01_title::before {
  animation: fadeout_text .24s ease-in both
}
@media(max-width: 768px) {
  .section_01_device {
    position: relative;
    height: 125vw
  }
}
.section_01_device_1, .section_01_device_2, .section_01_device_1::before {
  transition: .4s;
  position: absolute
}
.section_01_device_1 {
  width: 23.438vw;
  left: 50%;
  top: 4.167vw;
  margin-left: 5.729vw;
  z-index: 1
}
@media(max-width: 768px) {
  .section_01_device_1 {
    position: relative;
    left: 0;
    top: 0;
    width: 50.521vw;
    margin: auto;
    opacity: .8
  }
}
.section_01_device_1::before {
  content: "";
  background: url("../images/img_section01_1.png") no-repeat center/contain;
  width: 40.104vw;
  height: 40.104vw;
  left: 0;
  top: 1.042vw;
  margin-left: -7.813vw;
  z-index: -1
}
@media(max-width: 768px) {
  .section_01_device_1::before {
    width: 92.057vw;
    height: 92.057vw;
    margin: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -56%)
  }
}
.is-active .section_01_device_1 {
  opacity: 0
}
.section_01_device_2 {
  width: 40.885vw;
  top: 3.255vw;
  left: 50%;
  margin-left: -3.125vw;
  opacity: 0
}
@media(max-width: 768px) {
  .section_01_device_2 {
    width: 88.021vw;
    margin: auto;
    top: -1.953vw;
    left: -3.906vw
  }
}
.is-active .section_01_device_2 {
  opacity: 1
}
.section_02 {
  background: #f1eff1;
  padding-top: 1px;
  position: relative;
  z-index: 1
}
.section_02_list {
  padding-bottom: 5.208vw
}
@media(max-width: 768px) {
  .section_02_list {
    padding-bottom: 14.583vw
  }
}
.section_02_list.list3 {
  padding-bottom: 0
}
.section_02_list_fig {
  margin-top: -4.688vw;
  line-height: 0
}
@media(max-width: 768px) {
  .section_02_list_fig {
    margin-top: -13.542vw
  }
}
.section_02_list_header {
  margin-top: -5.729vw
}
@media(max-width: 768px) {
  .section_02_list_header {
    margin-top: -22.917vw
  }
}
.section_02_list_header h2 {
  font-size: 5.208vw;
  font-weight: 900;
  line-height: 1.36;
  margin-left: -3.125vw;
  margin-bottom: .64em;
  white-space: nowrap
}
@media(max-width: 768px) {
  .section_02_list_header h2 {
    font-size: 10.417vw;
    margin-left: -9.896vw;
    margin-bottom: 1em
  }
}
.section_02_list_header h2 .span1 {
  background: #fff;
  padding: 0 3.125vw
}
@media(max-width: 768px) {
  .section_02_list_header h2 .span1 {
    padding: 0 4.948vw
  }
}
.section_02_list_header h2 sup {
  font-size: 1.107vw;
  display: inline-block;
  transform: translateY(-1.6em)
}
@media(max-width: 768px) {
  .section_02_list_header h2 sup {
    font-size: 2.214vw
  }
}
.section_02_list_header p {
  margin: .64em 0
}
@media(max-width: 768px) {
  .section_02_list_header.list1 p {
    font-size: 2.995vw
  }
}
@media(max-width: 768px) {
  .section_02_list_header.list3 p {
    font-size: 3.125vw
  }
}
.section_02_list_header.list2, .section_02_list_header.list3 {
  width: 50%
}
@media(max-width: 768px) {
  .section_02_list_header.list2, .section_02_list_header.list3 {
    width: 100%
  }
}
.section_02_list_header.list2 {
  text-align: right
}
.section_02_list_header.list2 h2 {
  margin-left: 0;
  margin-right: -3.125vw
}
@media(max-width: 768px) {
  .section_02_list_header.list2 h2 {
    margin-right: -9.896vw
  }
}
.section_02_list_header.list2 ul {
  text-align: left;
  font-size: 1.237vw;
  padding-left: 2.604vw;
  line-height: 1.28
}
@media(max-width: 768px) {
  .section_02_list_header.list2 ul {
    padding-left: 0;
    font-size: 3.125vw;
    margin: 1.6em 0
  }
}
.section_02_list_header.list2 li {
  position: relative;
  padding-left: 5.729vw;
  margin: 1.6em 0
}
@media(max-width: 768px) {
  .section_02_list_header.list2 li {
    padding-left: 12.5vw;
    margin: 1em 0
  }
}
.section_02_list_header.list2 li::before {
  content: "";
  background: url("../images/img_section02_10.svg") no-repeat center/contain;
  width: 4.818vw;
  height: 4.818vw;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}
@media(max-width: 768px) {
  .section_02_list_header.list2 li::before {
    width: 10.938vw;
    height: 10.938vw
  }
}
.section_02_list_header.list2 li .span1 {
  display: block;
  font-size: 184%;
  font-weight: 900;
  margin-top: -0.4em
}
.section_02_list_header.list2 li .span2 {
  font-size: 112%
}
.section_02_list_header.list2 li .span3 {
  font-size: 160%;
  vertical-align: -.0666666667em
}
.section_02_list_header.list2 li:nth-of-type(2)::before {
  background-image: url("../images/img_section02_11.svg")
}
.section_02_list_content {
  flex: auto;
  width: 50%
}
@media(max-width: 768px) {
  .section_02_list_content {
    width: 100%
  }
}
.section_02_list_content.list2 {
  width: 50%
}
.section_02_list_content.list2 .list2_table {
  line-height: 0;
  margin: 2.083vw 0
}
@media(max-width: 768px) {
  .section_02_list_content.list2 .list2_table {
    margin: 4.167vw 0
  }
}
.section_02_list_content.list2 .list2_table figure {
  position: relative;
  margin: 1.042vw 0
}
@media(max-width: 768px) {
  .section_02_list_content.list2 .list2_table figure {
    margin: 3.125vw 0
  }
}
.section_02_list_content.list2 .list2_table figure::before {
  content: "";
  background: linear-gradient(-90deg, #C731C5, #6E4DF1);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  filter: blur(0.781vw);
  opacity: .32
}
@media(max-width: 768px) {
  .section_02_list_content.list2 .list2_table figure::before {
    filter: blur(1.563vw)
  }
}
.section_02_list_content.list2 .list2_table img {
  position: relative;
  z-index: 2
}
.section_02_list_content.list2 p {
  font-size: .911vw
}
@media(max-width: 768px) {
  .section_02_list_content.list2 p {
    font-size: 2.083vw
  }
}
.section_02_list_content.list2 small {
  font-size: 100%
}
.section_02_list_content.list3 figure {
  width: 41.667vw;
  margin-left: -6.771vw
}
@media(max-width: 768px) {
  .section_02_list_content.list3 figure {
    width: 100vw;
    margin: 2.083vw -9.896vw 0
  }
}
.section_02_list_content_note {
  width: 100%
}
.section_02_list_content_note p {
  font-size: .911vw
}
@media(max-width: 768px) {
  .section_02_list_content_note p {
    font-size: 2.214vw
  }
}
.section_02_list_content_note small {
  font-size: 100%
}
.section_02_list_content_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 2.604vw 14.844vw
}
@media(max-width: 768px) {
  .section_02_list_content_wrap {
    padding: 4.948vw 9.896vw
  }
}
.section_02_list_content_wrap.list2 {
  flex-direction: row-reverse
}
.section_02_list_content_wrap.list3 {
  padding-bottom: 0
}
.section_03, .section_06 {
  color: #fff;
  padding: 2.604vw 14.844vw;
  position: relative;
  overflow: hidden
}
@media(max-width: 768px) {
  .section_03, .section_06 {
    padding: 4.948vw 9.896vw
  }
}
@media(max-width: 768px) {
  .section_03, .section_06 {
    background: linear-gradient(0deg, #000017, rgba(0, 0, 23, 0) 56%), radial-gradient(ellipse at center 40%, #674561, #110053 56%, #000017) !important
  }
}
.section_03_content, .section_06_content {
  display: flex;
  flex-wrap: wrap
}
.section_03_content_left, .section_03_content_right, .section_06_content_left, .section_06_content_right {
  width: 50%;
  margin: 3.125vw 0
}
@media(max-width: 768px) {
  .section_03_content_left, .section_03_content_right, .section_06_content_left, .section_06_content_right {
    width: 100%
  }
}
@media(max-width: 768px) {
  .section_03_content_left, .section_06_content_left {
    text-align: center;
    /*margin-top: 15.625vw*/
  }
}
.section_03_content_left h2, .section_06_content_left h2 {
  font-weight: 900;
  line-height: 1.52
}
.section_03_content_left_footer, .section_06_content_left_footer {
  font-size: 1.237vw
}
.section_03_content_left_footer dl, .section_06_content_left_footer dl {
  display: flex;
  line-height: 1.52;
  margin-top: .64em
}
.section_03_content_left_footer dt, .section_06_content_left_footer dt {
  margin: .8em 1.6em 0 0
}
.section_03_content_left_footer dd, .section_06_content_left_footer dd {
  font-size: 4.167vw
}
.section_03_content_left_footer dd small, .section_06_content_left_footer dd small {
  font-size: 36%
}
.section_03_content_right dl, .section_06_content_right dl {
  margin-bottom: 2.604vw
}
@media(max-width: 768px) {
  .section_03_content_right dl, .section_06_content_right dl {
    margin-bottom: 6.25vw
  }
}
.section_03_content_right dt, .section_06_content_right dt {
  text-align: center;
  margin-bottom: .4em;
  font-size: 1.823vw
}
@media(max-width: 768px) {
  .section_03_content_right dt, .section_06_content_right dt {
    font-size: 3.646vw
  }
}
.section_03_content_right p, .section_06_content_right p {
  font-size: .911vw
}
@media(max-width: 768px) {
  .section_03_content_right p, .section_06_content_right p {
    font-size: 2.344vw
  }
}
.section_03_content_right small, .section_06_content_right small {
  font-size: 100%
}
.section_03_content_sp, .section_06_content_sp {
  font-size: 4.036vw;
  white-space: nowrap;
  width: 100%
}
.section_03_content_sp_img, .section_06_content_sp_img {
  position: relative;
  margin: -4.167vw -10.156vw 0;
  height: 58.333vw
}
.section_03_content_sp_img figure, .section_06_content_sp_img figure {
  position: absolute
}
.section_03_content_sp_img figure.fig1, .section_06_content_sp_img figure.fig1 {
  width: 149.219vw;
  top: 0;
  left: -55.208vw
}
.section_03_content_sp_img figure.fig2, .section_06_content_sp_img figure.fig2 {
  width: 61.849vw;
  right: -54.167vw;
  top: 21.875vw;
  transition: .48s cubic-bezier(0.48, -0.16, 0.24, 1.12) .24s;
  transform: rotate(-16deg)
}
.is-active .section_03_content_sp_img figure.fig2, .is-active .section_06_content_sp_img figure.fig2 {
  transform: translate3d(-19.792vw, -14.583vw, 0) rotate(-32deg)
}
.section_03_content_sp > p, .section_06_content_sp > p {
  display: flex;
  justify-content: space-between
}
.section_03_content_sp dl, .section_06_content_sp dl {
  display: flex;
  line-height: 1.52;
  margin-top: .64em;
  font-size: 3.516vw;
  justify-content: space-between
}
.section_03_content_sp dt, .section_06_content_sp dt {
  margin-top: .4em
}
.section_03_content_sp dd, .section_06_content_sp dd {
  font-size: 12.37vw;
  line-height: 1.04
}
.section_03_content_sp dd small, .section_06_content_sp dd small {
  font-size: 36%;
  display: block;
  text-align: right;
  line-height: 1.12
}
.section_03_footer, .section_06_footer {
  min-height: 33.333vw
}
.section_03_footer figure, .section_06_footer figure {
  position: absolute
}
.section_03_footer figure.fig1, .section_06_footer figure.fig1 {
  width: 71.875vw;
  left: 0;
  bottom: -7.813vw
}
.section_03_footer figure.fig2, .section_06_footer figure.fig2 {
  width: 30.924vw;
  right: 0;
  bottom: 0;
  transition: .48s cubic-bezier(0.48, -0.16, 0.24, 1.12) .24s
}
.is-active .section_03_footer figure.fig2, .is-active .section_06_footer figure.fig2 {
  transform: translate3d(-8.333vw, 2.604vw, 0) rotate(-16deg)
}
.section_03 {
  background: radial-gradient(#674561, #110053 56%, #000017);
  position: relative
}
@media(max-width: 768px) {
  .section_03 {
    padding-bottom: 36.458vw
  }
}
.section_03_content_left h2 {
  font-size: 3.776vw;
  margin: .4em 0 .64em
}
@media(max-width: 768px) {
  .section_03_content_left h2 {
    font-size: 9.896vw
  }
}
.section_03_content_left_footer p .span1 + .span1 {
  margin-left: 1.6em
}
.section_03_content_left_footer dl {
  font-size: .977vw
}
.section_03_content_left_footer dd {
  line-height: 1.04
}
.section_03_content_left_footer dd small {
  display: block;
  text-align: right
}
.section_04 {
  position: relative;
  background: #f1eff1;
  padding: 2.604vw 11.589vw
}
@media(max-width: 768px) {
  .section_04 {
    padding: 4.948vw
  }
}
.section_04::before, .section_04::after {
  content: "";
  position: absolute
}
.section_04::after {
  background: url("../images/img_section04_2.png") no-repeat center top/100%;
  width: 100%;
  height: 26.042vw;
  left: 0;
  top: -13.021vw
}
@media(max-width: 768px) {
  .section_04::after {
    background-image: url("../images/img_section04_1.png");
    height: 78.125vw;
    top: -47.917vw
  }
}
.section_04::before {
  width: 100%;
  height: 13.021vw;
  background: linear-gradient(175deg, rgba(241, 239, 241, 0) 32%, #F1EFF1 32.1%);
  left: 0;
  top: -5.208vw
}
@media(max-width: 768px) {
  .section_04::before {
    display: none
  }
}
.section_04_header {
  margin-top: 8.854vw;
  overflow: hidden
}
@media(max-width: 768px) {
  .section_04_header {
    margin: 10.417vw 0
  }
}
.section_04_header h2 {
  font-weight: 900;
  font-size: 4.688vw;
  letter-spacing: .0666666667em;
  position: relative;
  z-index: 1;
  padding-left: 3.125vw
}
@media(max-width: 768px) {
  .section_04_header h2 {
    font-size: 10.417vw;
    padding-left: 4.948vw
  }
}
.section_04_header h2::after {
  content: "";
  display: inline-block;
  background: url("../images/logo_2.svg") no-repeat center top/contain;
  width: 19.271vw;
  height: 5.729vw;
  vertical-align: -2.083vw;
  margin-left: 1.563vw
}
@media(max-width: 768px) {
  .section_04_header h2::after {
    display: block;
    margin: 2.083vw 0 0;
    vertical-align: middle;
    width: 38.542vw;
    height: 11.458vw
  }
}
.section_04_header .lettering_js {
  display: inline-flex;
  overflow: hidden
}
.section_04_header .lettering_js > span {
  display: block;
  transform: translate3d(0, 104%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .5s
}
.section_04_header .lettering_js > span:nth-of-type(2) {
  transition-delay: 0.12s
}
.section_04_header .lettering_js > span:nth-of-type(3) {
  transition-delay: 0.18s
}
.section_04_header .lettering_js:nth-of-type(2) > span {
  transition-delay: .24s
}
.section_04_header .lettering_js:nth-of-type(2) > span:nth-of-type(2) {
  transition-delay: 0.3s
}
.section_04_header .lettering_js:nth-of-type(2) > span:nth-of-type(3) {
  transition-delay: 0.36s
}
.section_04_header .lettering_js:nth-of-type(3) > span {
  transition-delay: .42s
}
.section_04_header .lettering_js:nth-of-type(3) > span:nth-of-type(2) {
  transition-delay: 0.48s
}
.section_04_header .lettering_js:nth-of-type(3) > span:nth-of-type(3) {
  transition-delay: 0.54s
}
.section_04_header .lettering_js:nth-of-type(3) > span:nth-of-type(4) {
  transition-delay: 0.6s
}
.section_04_header h2.is-active .lettering_js > span {
  transform: translate3d(0, 0, 0)
}
.section_04_header figure {
  width: 58.919vw;
  position: absolute;
  line-height: 0;
  top: -17.188vw;
  right: 0;
  z-index: 1
}
@media(max-width: 768px) {
  .section_04_header figure {
    width: 114.063vw;
    top: -21.875vw;
    right: -30.208vw;
    right: 0;
    overflow: hidden
  }
  .section_04_header figure img {
    margin-left: 30.208vw
  }
}
.section_04_content {
  background: rgba(255, 255, 255, .4);
  border-radius: 1.042vw;
  padding: 1.563vw 3.125vw;
  box-shadow: 0 0 3.125vw -1.042vw rgba(0, 0, 0, .16);
  flex: auto;
  margin: 1.042vw 0
}
@media(max-width: 768px) {
  .section_04_content {
    border-radius: 2.083vw;
    padding: 4.948vw;
    box-shadow: 0 0 6.25vw -2.083vw rgba(0, 0, 0, .16);
    margin: 0 0 6.25vw
  }
}
.section_04_content h3 {
  font-weight: 900;
  font-size: 2.279vw;
  white-space: nowrap;
  margin: .32em 0 .64em;
  line-height: 1.44
}
@media(max-width: 768px) {
  .section_04_content h3 {
    font-size: 6.25vw
  }
}
.section_04_content h3 .span1 {
  font-size: 136%;
  display: inline-block;
  vertical-align: -0.05em;
  line-height: 1.2
}
.section_04_content h3 .span2 {
  font-weight: bold;
  font-size: 64%;
  margin: 0 1em
}
.section_04_content h3 .span3 {
  font-size: 112%;
  line-height: 1.28
}
.section_04_content.card1 p, .section_04_content.card2 p {
  font-size: .977vw;
  margin: 1.6em 0
}
@media(max-width: 768px) {
  .section_04_content.card1 p, .section_04_content.card2 p {
    font-size: 2.344vw
  }
}
.section_04_content.card1 small, .section_04_content.card2 small {
  font-size: 100%
}
.section_04_content.card1 ul {
  display: flex;
  margin: 0 -0.521vw;
  line-height: 0
}
@media(max-width: 768px) {
  .section_04_content.card1 ul {
    margin: 0 -1.563vw
  }
}
.section_04_content.card1 li {
  margin: -1.302vw;
  flex: auto
}
@media(max-width: 768px) {
  .section_04_content.card1 li {
    margin: -3.385vw
  }
}
.section_04_content.card2 figure {
  margin: 0 -0.781vw
}
@media(max-width: 768px) {
  .section_04_content.card2 figure {
    margin: 0 -2.083vw
  }
}
.section_04_content.card3 p {
  font-size: 1.497vw
}
@media(max-width: 768px) {
  .section_04_content.card3 p {
    font-size: 3.776vw
  }
}
.section_04_content.card4 .card4_note {
  background: rgba(255, 255, 255, .4);
  border-radius: .521vw;
  padding: 1.042vw;
  margin-top: 1.563vw
}
@media(max-width: 768px) {
  .section_04_content.card4 .card4_note {
    border-radius: 1.042vw;
    margin-top: 3.125vw;
    padding: 4.167vw
  }
}
.section_04_content.card4 .card4_note h4 {
  text-align: center;
  font-size: 1.107vw;
  margin: .64em 0
}
@media(max-width: 768px) {
  .section_04_content.card4 .card4_note h4 {
    font-size: 2.865vw
  }
}
.section_04_content.card4 .card4_note p {
  font-size: 1.042vw;
  margin: .64em 0
}
@media(max-width: 768px) {
  .section_04_content.card4 .card4_note p {
    font-size: 2.344vw
  }
}
.section_04_content.card4 .card4_note small {
  font-size: 100%
}
.section_04_content.card4 .card4_map {
  height: 31.25vw
}
@media(max-width: 768px) {
  .section_04_content.card4 .card4_map {
    height: 83.333vw
  }
}
.section_04_content_left, .section_04_content_right {
  width: 36.458vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}
@media(max-width: 768px) {
  .section_04_content_left, .section_04_content_right {
    display: block;
    width: auto
  }
}
.section_04_content_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 3.125vw 0
}
@media(max-width: 768px) {
  .section_04_content_wrap {
    display: block;
    margin: 6.25vw 0
  }
}
.section_05 {
  background: #f1eff1;
  padding: 2.604vw 11.589vw;
  overflow: hidden
}
@media(max-width: 768px) {
  .section_05 {
    padding: 4.948vw
  }
}
.section_05_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 3.125vw 0 5.208vw
}
@media(max-width: 768px) {
  .section_05_list {
    display: block;
    margin: 6.25vw 0 10.417vw
  }
}
.section_05_list_content {
  width: 32.813vw;
  padding-left: 3.125vw;
  position: relative;
  z-index: 1
}
@media(max-width: 768px) {
  .section_05_list_content {
    width: auto;
    padding: 0
  }
}
.section_05_list_content_header {
  text-align: center
}
.section_05_list_content_header p {
  color: #fff;
  background: rgba(0, 0, 24, .32);
  display: table;
  max-width: 100%;
  margin: auto;
  border-radius: .521vw;
  padding: .2em .8em
}
@media(max-width: 768px) {
  .section_05_list_content_header p {
    border-radius: 1.042vw
  }
}
.section_05_list_content_header h2 {
  font-size: 2.604vw;
  margin: .64em 0;
  line-height: 1.36;
  font-weight: 900
}
@media(max-width: 768px) {
  .section_05_list_content_header h2 {
    font-size: 6.25vw
  }
}
.section_05_list_content_header h2 .span1 {
  font-size: 128%;
  letter-spacing: 0
}
@media(max-width: 768px) {
  .section_05_list_content_header h2 .span1 {
    font-size: 144%
  }
}
.section_05_list_content_header ul {
  display: flex;
  justify-content: space-between;
  font-size: 1.367vw
}
@media(max-width: 768px) {
  .section_05_list_content_header ul {
    justify-content: center;
    font-size: 3.255vw
  }
}
.section_05_list_content_header li {
  background: #fff;
  border-radius: .521vw;
  width: 31%;
  padding: .16em;
  box-shadow: 0 0 .64em rgba(0, 0, 0, .16)
}
@media(max-width: 768px) {
  .section_05_list_content_header li {
    border-radius: 1.042vw;
    width: 21.875vw;
    margin: 0 .4em
  }
}
.section_05_list_content_info {
  display: flex;
  margin: 4.167vw 0;
  align-items: center;
  white-space: nowrap
}
@media(max-width: 768px) {
  .section_05_list_content_info {
    margin: 8.333vw auto;
    padding: 0 2.083vw 0 4.948vw
  }
}
.section_05_list_content_info h3 {
  font-size: 2.604vw;
  line-height: 1.04;
  padding-right: .8em;
  margin-right: .8em;
  border-right: 2px solid
}
@media(max-width: 768px) {
  .section_05_list_content_info h3 {
    border-right-width: max(1px, min(0.391vw, 2px));
    font-size: 7.552vw
  }
}
.section_05_list_content_info h3 .span1 {
  font-size: 120%
}
.section_05_list_content_info h3 .span2 {
  font-size: 136%
}
.section_05_list_content_info dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.823vw;
  justify-content: space-between;
  align-items: center
}
@media(max-width: 768px) {
  .section_05_list_content_info dl {
    font-size: 5.208vw
  }
}
.section_05_list_content_info dl .span1 {
  font-size: 128%;
  font-weight: 900;
  line-height: 1.04
}
.section_05_list_content_info dl .span2 {
  font-size: 136%;
  vertical-align: -.0666666667em
}
.section_05_list_content_info dl .span3 {
  font-size: 128%;
  vertical-align: -.0666666667em
}
.section_05_list_content_info dt {
  margin: .1em 0
}
.section_05_list_content_info dd {
  flex: auto;
  text-align: right
}
.section_05_list_content_detail {
  background: #fff;
  border-radius: .521vw
}
@media(max-width: 768px) {
  .section_05_list_content_detail {
    border-radius: 1.042vw;
    width: 80.208vw;
    margin: auto
  }
}
.section_05_list_content_detail h4 {
  color: #fff;
  text-align: center;
  background: #000018;
  font-size: 1.237vw;
  padding: .64em;
  border-radius: .521vw .521vw 0 0;
  transition: .4s
}
@media(max-width: 768px) {
  .section_05_list_content_detail h4 {
    font-size: 3.516vw;
    border-radius: 1.042vw 1.042vw 0 0
  }
}
.section_05_list_content_detail h4.toggle_js_btn {
  cursor: pointer;
  border-radius: .521vw;
  position: relative
}
@media(max-width: 768px) {
  .section_05_list_content_detail h4.toggle_js_btn {
    border-radius: 1.042vw
  }
}
.section_05_list_content_detail h4.toggle_js_btn::before {
  content: "";
  background: url("../images/icon_down_1.svg") no-repeat center/contain;
  width: 1.563vw;
  height: 1.563vw;
  position: absolute;
  right: 1.563vw;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  transition: .4s
}
@media(max-width: 768px) {
  .section_05_list_content_detail h4.toggle_js_btn::before {
    width: 4.427vw;
    height: 4.427vw;
    right: 4.167vw
  }
}
.section_05_list_content_detail h4.toggle_js_btn.show {
  border-radius: .521vw .521vw 0 0
}
@media(max-width: 768px) {
  .section_05_list_content_detail h4.toggle_js_btn.show {
    border-radius: 1.042vw 1.042vw 0 0
  }
}
.section_05_list_content_detail h4.toggle_js_btn.show::before {
  transform: translate3d(0, -50%, 0) scale3d(-1, -1, -1)
}
.section_05_list_content_detail > div {
  padding: 2.083vw
}
@media(max-width: 768px) {
  .section_05_list_content_detail > div {
    padding: 4.948vw
  }
}
.section_05_list_content_detail table {
  border-collapse: collapse;
  line-height: 1.52;
  width: 100%;
  letter-spacing: 0
}
.section_05_list_content_detail table th, .section_05_list_content_detail table td {
  border: 1px solid #dedede;
  vertical-align: middle
}
.section_05_list_content_detail table th {
  color: #fff;
  text-align: left;
  background: #787779;
  white-space: nowrap;
  font-size: .911vw;
  padding: .32em .64em
}
@media(max-width: 768px) {
  .section_05_list_content_detail table th {
    font-size: 2.604vw
  }
}
.section_05_list_content_detail table td {
  font-size: .846vw;
  font-weight: normal;
  padding: .2em .4em
}
@media(max-width: 768px) {
  .section_05_list_content_detail table td {
    font-size: 2.344vw
  }
}
.section_05_list_content_detail p {
  font-size: .911vw;
  margin-top: .8em
}
.section_05_list_content_detail small {
  font-size: 100%
}
.section_05_list_content_note {
  margin-top: 2.083vw;
  font-size: .911vw
}
@media(max-width: 768px) {
  .section_05_list_content_note {
    margin: 4.167vw auto;
    font-size: 2.344vw;
    width: 80.208vw
  }
}
.section_05_list_content_note small {
  font-size: 100%
}
.section_05_list_content_img {
  position: relative;
  margin: 8.333vw 0 18.75vw
}
.section_05_list_content_img::before {
  content: "";
  background: url("../images/img_section05_1.png") no-repeat center bottom/contain;
  width: 193.75vw;
  height: 129.167vw;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 29.167vw);
  z-index: -1
}
.section_05_list_content_img figure {
  line-height: 0;
  width: 70.38vw;
  /*width: 81.38vw;*/
  margin: auto
}
.section_05_list_content_img .splide__arrows .splide__arrow--prev {
  left: -2.474vw
}
.section_05_list_content_img .splide__arrows .splide__arrow--next {
  right: -2.474vw
}
.section_05_list_content_img figure.list2 {
  width: 40.526vw
  /*width: 47.526vw*/
}
.section_05_list_img {
  width: 41.146vw;
  position: relative
}
.section_05_list_img::before {
  content: "";
  background: url("../images/img_section05_1.png") no-repeat center bottom/contain;
  width: 70.638vw;
  height: 47.07vw;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 10.417vw)
}
.section_05_list_img figure {
  line-height: 0;
  width: 20.703vw;
  margin: auto;
  position: relative
}
.section_05_list_img figure.list2 {
  width: 23.763vw
}
.section_06 {
  background: radial-gradient(ellipse at 72% 24%, #674561, #110053 40%, #000017)
}
/*@media(max-width: 768px) {
    .section_06 {
        padding-bottom: 26.042vw
    }
}*/
.section_06_content_left h2 {
  font-size: 3.125vw
}
@media(max-width: 768px) {
  .section_06_content_left h2 {
    font-size: 8.073vw;
    line-height: 1.36;
    margin: -0.4em 0 0 /*margin: -0.4em 0 1em*/
  }
}
.section_06_content_left h2 .span1 {
  font-size: 128%;
  vertical-align: -0.04em
}
.section_06_content_left h2 .span2 {
  margin: 0 .05em
}
.section_06_content_left_footer dd {
  line-height: 1.2
}
.section_06_content_right_detail {
  margin-bottom: 1.042vw;
  border-radius: 2.734vw
}
.section_06_content_right_detail h3 {
  text-align: center;
  transition: .4s;
  font-size: 1.693vw;
  border: .26vw solid;
  border-radius: 2.734vw;
  padding: .64em;
  position: relative;
  z-index: 1;
  background: #000018
}
@media(max-width: 768px) {
  .section_06_content_right_detail h3 {
    font-size: 3.516vw;
    border-width: max(2px, min(0.521vw, 4px));
    border-radius: 5.469vw
  }
}
.section_06_content_right_detail h3.toggle_js_btn {
  cursor: pointer;
  position: relative;
  background: none
}
.section_06_content_right_detail h3.toggle_js_btn::before {
  content: "";
  background: url("../images/icon_down_1.svg") no-repeat center/contain;
  width: 2.214vw;
  height: 2.214vw;
  position: absolute;
  right: 1.563vw;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  transition: .4s
}
@media(max-width: 768px) {
  .section_06_content_right_detail h3.toggle_js_btn::before {
    width: 4.427vw;
    height: 4.427vw;
    right: 3.125vw
  }
}
.section_06_content_right_detail h3.toggle_js_btn:hover {
  background: #000018
}
.section_06_content_right_detail h3.toggle_js_btn.show {
  background: #000018;
  border-radius: 2.734vw 2.734vw 0 0
}
@media(max-width: 768px) {
  .section_06_content_right_detail h3.toggle_js_btn.show {
    border-radius: 5.469vw 5.469vw 0 0
  }
}
.section_06_content_right_detail h3.toggle_js_btn.show::before {
  transform: translate3d(0, -50%, 0) scale3d(-1, -1, -1)
}
.section_06_content_right_detail > div {
  padding: 4.818vw 2.083vw 2.083vw;
  font-weight: normal;
  background: linear-gradient(rgba(255, 255, 255, 0), #fff 2.734vw);
  border-radius: 0 0 .651vw .651vw;
  color: #000018;
  font-size: .846vw;
  transform: translateY(-2.734vw)
}
@media(max-width: 768px) {
  .section_06_content_right_detail > div {
    padding: 9.635vw 4.167vw 4.167vw;
    background: linear-gradient(rgba(255, 255, 255, 0), #fff 5.469vw);
    border-radius: 0 0 1.302vw 1.302vw;
    font-size: 2.214vw;
    transform: translateY(-5.469vw)
  }
}
.section_07 {
  position: relative;
  /*padding: 2.604vw 14.844vw;*/
  /*background: url("../images/img_section07_6.png") no-repeat center top 7.813vw/100%;*/
  background: radial-gradient(#674561, #110053 56%, #000017);
  z-index: 1
}
@media(max-width: 768px) {
  .section_07 {
    padding: 4.948vw 9.896vw
  }
}
/*@media(max-width: 768px) {
    .section_07 {
        background: url("../images/img_section07_5.png") no-repeat center bottom/100%, linear-gradient(rgba(255, 255, 255, 0) 2.083vw, #fff 8.333vw, #fff)
    }
}

.section_07::before,
.section_07::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none
}

.section_07::after {
    background: url("../images/img_section07_2.png") no-repeat center top/100%;
    width: 100%;
    height: 39.063vw;
    left: 0;
    top: -23.438vw
}

@media(max-width: 768px) {
    .section_07::after {
        background-image: url("../images/img_section07_1.png");
        height: 78.125vw;
        top: -52.083vw
    }
}

.section_07::before {
    width: 100%;
    height: 10.938vw;
    background: linear-gradient(-4deg, rgba(255, 255, 255, 0) 32%, #fff 32%);
    left: 0;
    top: -3.646vw
}

@media(max-width: 768px) {
    .section_07::before {
        height: 21.875vw;
        top: -5.208vw
    }
}*/
/*.section_07_header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.section_07_header_left {
    width: 40.104vw;
    margin-top: 3.125vw
}

@media(max-width: 768px) {
    .section_07_header_left {
        width: auto;
        margin-top: 6.25vw
    }
}*/
.section_07_header h2 {
  font-weight: 900;
  font-size: 3.906vw;
  /*display: flex*/
}
@media(max-width: 768px) {
  .section_07_header h2 {
    display: block;
    font-size: 9.115vw
  }
}
/*.section_07_header_left h2::before {
    content: "";
    background: url("../images/logo_2.svg") no-repeat center/contain;
    width: 19.531vw;
    margin-right: 1.042vw
}

@media(max-width: 768px) {
    .section_07_header_left h2::before {
        display: block;
        margin: 0;
        width: 44.271vw;
        height: 13.151vw
    }
}

.section_07_header_left dl {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2.604vw 0;
    line-height: 1.04
}

@media(max-width: 768px) {
    .section_07_header_left dl {
        margin: 5.208vw 0
    }
}

.section_07_header_left dt {
    font-size: 2.474vw;
    margin: -0.2em .4em 0 0
}

@media(max-width: 768px) {
    .section_07_header_left dt {
        font-size: 4.688vw;
        margin-right: .2em
    }
}

.section_07_header_left dd .span1 {
    font-size: 7.292vw;
    vertical-align: -0.04em
}

@media(max-width: 768px) {
    .section_07_header_left dd .span1 {
        font-size: 12.5vw
    }
}

.section_07_header_left dd .span2 {
    font-size: 4.297vw
}

@media(max-width: 768px) {
    .section_07_header_left dd .span2 {
        font-size: 7.292vw
    }
}

.section_07_header_left dd .span3 {
    position: relative
}

.section_07_header_left dd .span3::before {
    content: "(税抜)";
    font-size: .977vw;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -4%);
    white-space: nowrap
}

@media(max-width: 768px) {
    .section_07_header_left dd .span3::before {
        font-size: 1.953vw
    }
}

.section_07_header_left dd .span4 {
    display: block;
    font-size: 1.042vw;
    text-align: right;
    margin-top: -0.2em
}

@media(max-width: 768px) {
    .section_07_header_left dd .span4 {
        font-size: 2.083vw
    }
}

.section_07_header_img {
    width: 21.029vw;
    margin-top: -2.604vw
}*/
@media(max-width: 768px) {
  .section_07_header_img {
    width: 42.057vw;
    margin: -7.292vw -8.333vw 4.167vw 0
  }
}
.section_07 > p {
  font-weight: normal;
  font-size: .911vw;
  margin-top: 2.083vw
}
@media(max-width: 768px) {
  .section_07 > p {
    font-size: 2.344vw;
    margin-top: 4.167vw
  }
}
.section_07 > p small {
  font-size: 100%
}
.section_07_list {
  display: flex;
  justify-content: space-between;
  /*margin: 0 -0.781vw 3.125vw*/
}
@media(max-width: 768px) {
  .section_07_list {
    flex-wrap: wrap;
    margin: 0 -2.083vw 5.208vw
  }
}
.section_07_list li {
  margin: -1.302vw;
  flex: auto
}
@media(max-width: 768px) {
  .section_07_list li {
    width: 50%;
    margin: -2.604vw
  }
}
.section_07_footer {
  font-size: .911vw;
  margin: 3.125vw 0 0;
  font-weight: normal /*margin: 3.125vw 0*/
}
@media(max-width: 768px) {
  .section_07_footer {
    font-size: 2.344vw;
    margin: 6.25vw 0 0 /*margin: 6.25vw 0*/
  }
}
.section_07_footer p {
  margin: 1.6em 0
}
.section_07_footer small {
  font-size: 100%
}
.section_08 {
  padding: 2.604vw 11.589vw;
  background: linear-gradient(0deg, #000017, rgba(0, 0, 23, 0) 56%), radial-gradient(ellipse at top, #674561, #110053 56%, #000017);
  color: #fff
}
@media(max-width: 768px) {
  .section_08 {
    padding: 4.948vw
  }
}
.section_08 h2 {
  text-align: center;
  font-weight: 900;
  font-size: 2.734vw;
  margin: 3.125vw 0
}
@media(max-width: 768px) {
  .section_08 h2 {
    font-size: 7.031vw;
    margin: 8.333vw 0;
    line-height: 1.36
  }
}
.section_08 h2 .span1 {
  font-size: 136%;
  vertical-align: -0.05em
}
.section_08_option {
  width: 36.458vw;
  padding: 2.083vw;
  background: rgba(255, 255, 255, .24);
  border-radius: 1.042vw;
  position: relative;
  margin: 2.083vw 0
}
@media(max-width: 768px) {
  .section_08_option {
    width: auto;
    padding: 4.688vw;
    border-radius: 2.083vw;
    margin: 11.458vw 0
  }
}
.section_08_option::before {
  content: counter(num, decimal-leading-zero);
  counter-increment: num;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 6.38vw;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%)
}
@media(max-width: 768px) {
  .section_08_option::before {
    font-size: 15.625vw
  }
}
.section_08_option h3 {
  text-align: center;
  font-size: 2.344vw;
  margin: .64em 0
}
@media(max-width: 768px) {
  .section_08_option h3 {
    font-size: 5.729vw
  }
}
.section_08_option h3 .span1 {
  font-size: 152%;
  margin: 0 .04em;
  vertical-align: -.0666666667em;
  line-height: 1.04;
  display: inline-block
}
.section_08_option h3 .span2 {
  font-size: 64%;
  margin-left: .32em
}
.section_08_option h3 .span3 {
  font-size: 128%;
  display: inline-block;
  margin: -0.16em 0
}
.section_08_option figure {
  height: 5.729vw;
  line-height: 0;
  display: flex;
  justify-content: center;
  align-items: center
}
@media(max-width: 768px) {
  .section_08_option figure {
    height: 14.583vw
  }
}
.section_08_option figure img {
  width: auto
}
.section_08_option figure img.option1 {
  height: 100%
}
.section_08_option figure img.option2 {
  height: 88%
}
.section_08_option > p {
  font-size: 1.432vw;
  margin: 1em 0
}
@media(max-width: 768px) {
  .section_08_option > p {
    font-size: 3.776vw
  }
}
.section_08_option_info {
  background: #fff;
  border-radius: .521vw;
  color: #000018;
  margin: 2.604vw 0 1.042vw
}
@media(max-width: 768px) {
  .section_08_option_info {
    border-radius: 1.042vw;
    margin: 5.208vw 0 2.083vw
  }
}
.section_08_option_info h4 {
  text-align: center;
  background: #f0eef2;
  font-size: 1.367vw;
  padding: .8em;
  border-radius: .521vw .521vw 0 0;
  transition: .4s
}
@media(max-width: 768px) {
  .section_08_option_info h4 {
    font-size: 3.516vw;
    border-radius: 1.042vw 1.042vw 0 0
  }
}
.section_08_option_info h4.toggle_js_btn {
  cursor: pointer;
  border-radius: .521vw;
  position: relative
}
@media(max-width: 768px) {
  .section_08_option_info h4.toggle_js_btn {
    border-radius: 1.042vw
  }
}
.section_08_option_info h4.toggle_js_btn::before {
  content: "";
  background: url("../images/icon_down_1.svg") no-repeat center/contain;
  width: 1.563vw;
  height: 1.563vw;
  position: absolute;
  right: 1.563vw;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  transition: .4s
}
@media(max-width: 768px) {
  .section_08_option_info h4.toggle_js_btn::before {
    width: 4.427vw;
    height: 4.427vw;
    right: 3.125vw
  }
}
.section_08_option_info h4.toggle_js_btn.show {
  border-radius: .521vw .521vw 0 0
}
@media(max-width: 768px) {
  .section_08_option_info h4.toggle_js_btn.show {
    border-radius: 1.042vw 1.042vw 0 0
  }
}
.section_08_option_info h4.toggle_js_btn.show::before {
  transform: translate3d(0, -50%, 0) scale3d(-1, -1, -1)
}
.section_08_option_info > div {
  padding: 1.563vw;
  font-weight: normal;
  font-size: .911vw
}
@media(max-width: 768px) {
  .section_08_option_info > div {
    font-size: 2.344vw;
    padding: 3.125vw
  }
}
.section_08_option_info > div p {
  margin: .64em 0
}
.section_08_option_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2.083vw;
  counter-reset: num
}
@media(max-width: 768px) {
  .section_08_option_wrap {
    display: block
  }
}
.section_09 {
  background: #f0eef2;
  padding: 2.604vw 14.844vw
}
@media(max-width: 768px) {
  .section_09 {
    padding: 4.948vw 9.896vw
  }
}
.section_09_header {
  text-align: center;
  font-weight: 900;
  line-height: 1.44;
  margin: 2.604vw 0
}
@media(max-width: 768px) {
  .section_09_header {
    margin: 5.208vw 0
  }
}
.section_09_header h2 {
  font-weight: 900;
  font-size: 3.385vw
}
@media(max-width: 768px) {
  .section_09_header h2 {
    font-size: 9.375vw
  }
}
.section_09_header p {
  font-size: 1.628vw
}
@media(max-width: 768px) {
  .section_09_header p {
    font-size: 4.427vw
  }
}
.section_09_header p .span1 {
  font-size: 128%;
  vertical-align: -0.04em
}
.section_09_list {
  width: 22.266vw;
  position: relative;
  font-size: 1.4vw;
  margin: 2.083vw 0
}
@media(max-width: 768px) {
  .section_09_list {
    width: auto;
    font-size: 3.385vw;
    margin: 12.5vw -9.896vw
  }
}
.section_09_list::before {
  content: counter(num, decimal-leading-zero);
  counter-increment: num;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 4.688vw;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(32%, -48%);
  display: inline-block;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  background-image: linear-gradient(90deg, #C731C5 32%, #6E4DF1)
}
@media(max-width: 768px) {
  .section_09_list::before {
    font-size: 20.833vw
  }
}
.section_09_list figure {
  height: 17.578vw;
  line-height: 0;
  margin-bottom: 3.646vw
}
@media(max-width: 768px) {
  .section_09_list figure {
    height: auto;
    margin-bottom: 17.708vw
  }
}
.section_09_list figure img {
  height: 100%;
  object-fit: cover
}
.section_09_list h3 {
  position: absolute;
  font-weight: 900;
  font-size: 2.344vw;
  white-space: nowrap;
  line-height: 1.36;
  left: 0;
  bottom: 10.417vw
}
@media(max-width: 768px) {
  .section_09_list h3 {
    font-size: 10.417vw;
    bottom: auto;
    top: 60.417vw
  }
  .section_09_list h3.list2 {
    top: 46.875vw
  }
  .section_09_list h3.list3 {
    top: 73.958vw
  }
}
.section_09_list h3 .span1 {
  display: inline-block;
  padding: .04em .4em;
  background: #fff;
  margin: -1px 0;
  clip-path: inset(0 100% 0 0);
  transition: .48s cubic-bezier(0.37, 0, 0.63, 1) .48s;
  transition-property: clip-path
}
.section_09_list.is-active h3 .span1 {
  clip-path: inset(0)
}
@media(max-width: 768px) {
  .section_09_list > p {
    padding: 0 9.896vw
  }
}
.section_09_list_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  counter-reset: num
}
@media(max-width: 768px) {
  .section_09_list_wrap {
    display: block
  }
}
.section_10 {
  padding: 2.604vw 14.844vw;
  background: linear-gradient(0deg, #000017, rgba(0, 0, 23, 0) 56%), radial-gradient(ellipse at top, #674561, #110053 56%, #000017);
  color: #fff;
  position: relative;
  padding-bottom: 21.875vw;
  overflow: hidden
}
@media(max-width: 768px) {
  .section_10 {
    padding: 4.948vw 9.896vw
  }
}
@media(max-width: 768px) {
  .section_10 {
    padding-bottom: 75vw
  }
}
.section_10::before, .section_10::after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0
}
.section_10::before {
  background: url("../images/img_section10_2.jpg") no-repeat center bottom -1px/100%;
  height: 13.021vw
}
@media(max-width: 768px) {
  .section_10::before {
    background-image: url("../images/img_section10_1.jpg");
    height: 52.083vw
  }
}
.section_10::after {
  background: url("../images/img_section10_4.png") no-repeat 40% bottom/contain;
  height: 21.484vw
}
@media(max-width: 768px) {
  .section_10::after {
    width: 213.346vw;
    height: 62.305vw;
    left: 50%;
    bottom: 8.333vw;
    transform: translateX(-53%)
  }
}
.section_10 h2 {
  text-align: center;
  font-weight: 900;
  font-size: 3.385vw;
  margin: 2.604vw 0
}
@media(max-width: 768px) {
  .section_10 h2 {
    font-size: 9.115vw;
    margin: 5.208vw 0
  }
}
.section_10_qa {
  color: #000018;
  background: #fff;
  width: 52.083vw;
  margin: 3px auto
}
@media(max-width: 768px) {
  .section_10_qa {
    width: auto;
    margin: 2px auto
  }
}
.section_10_qa h3 {
  font-size: 1.237vw;
  padding: 1em 3.125vw;
  position: relative
}
@media(max-width: 768px) {
  .section_10_qa h3 {
    font-size: 3.125vw;
    padding: .8em 6.25vw
  }
}
.section_10_qa h3::after {
  content: "Q";
  color: #6e4fff;
  font-size: 128%;
  font-family: "Barlow Condensed", sans-serif;
  position: absolute;
  left: 1.302vw;
  top: 50%;
  transform: translateY(-50%)
}
@media(max-width: 768px) {
  .section_10_qa h3::after {
    left: 2.604vw
  }
}
.section_10_qa h3.toggle_js_btn {
  cursor: pointer;
  position: relative
}
.section_10_qa h3.toggle_js_btn::before {
  content: "";
  background: url("../images/icon_down_2.svg") no-repeat center/contain;
  width: 1.172vw;
  height: 1.172vw;
  position: absolute;
  right: 1.563vw;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  transition: .4s
}
@media(max-width: 768px) {
  .section_10_qa h3.toggle_js_btn::before {
    width: 3.125vw;
    height: 3.125vw;
    right: 3.125vw
  }
}
.section_10_qa h3.toggle_js_btn.show::before {
  transform: translate3d(0, -50%, 0) scale3d(-1, -1, -1)
}
.section_10_qa > div {
  padding: .521vw 3.125vw;
  font-size: 1.042vw;
  font-weight: normal
}
@media(max-width: 768px) {
  .section_10_qa > div {
    font-size: 2.344vw;
    padding: 1.042vw 6.25vw
  }
}
.section_10_qa > div p {
  margin-bottom: 1.6em
}
.section_10 dl {
  text-align: center;
  font-size: 1.823vw;
  margin: 2.604vw 0
}
@media(max-width: 768px) {
  .section_10 dl {
    font-size: 3.646vw;
    margin: 5.208vw 0
  }
}
.section_10 dl .btn {
  width: 41.146vw;
  font-size: 1.953vw
}
@media(max-width: 768px) {
  .section_10 dl .btn {
    width: 100%;
    font-size: 3.906vw
  }
}
.section_10 dt {
  margin-bottom: .32em
}

/* 新生活キャンペーン FV start */
.fv-spring{
  background: linear-gradient(to bottom right, #FFF7FD, #F4A2FC);
  padding: 8.902778vw 7.692308vw 4.5vw;
  position: relative;
}
@media(max-width: 768px){
  .fv-spring{
    padding: 26.6666vw 0 8.166666vw;
  }
}
.fv-spring::before{
  content: "";
  background: url(../images/cherry-blossoms-bg-pc-1.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 37.7777777vw;
  height: 45.694444vw;
  position: absolute;
  top: -8vw;
  right: 0vw;
}
@media(max-width: 768px){
  .fv-spring::before{
    background: url(../images/cherry-blossoms-bg.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 95vw;
    height: 140vw;
    position: absolute;
    top: 60vw;
    right: 0;
  }
}
.fv-spring::after{
  content: "";
  background: url(../images/cherry-blossoms-bg-pc.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 60vw;
  height: 60.694444vw;
  position: absolute;
  bottom: -12.4vw;
  left: -3vw;
}
@media(max-width: 768px){
  .fv-spring::after{
    display: none;
  }
}
.spring-ttl-wrap .spring-ttl figure{
  width: 75.27777vw;
  position: relative;
  transform: rotate(-4deg);
  margin: 0 auto;
}
@media(max-width: 768px){
  .spring-ttl-wrap .spring-ttl figure{
    width: 84.615385vw;
    transform: rotate(0deg);
  }
}
.spring-ttl-wrap .spring-ttl figure::before{
  content: '';
  background: url(../images/limited-time.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 9.375vw;
  height: 9.375vw;
  position: absolute;
  top: -6vw;
  left: -4vw;
  z-index: -1;
}
@media(max-width: 768px){
  .spring-ttl-wrap .spring-ttl figure::before{
    content: '';
    background: url(../images/limited-time.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 20vw;
    height: 20vw;
    position: absolute;
    top: -13.5vw;
    left: -7vw;
    z-index: -1;
  }
}
.spring-ttl-wrap .spring-ttl figure::after{
  content: '';
  background: url(../images/cherry-blossoms-2.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 15.13888vw;
  height: 14.305555vw;
  position: absolute;
  bottom: -3vw;
  right: -3vw;
  z-index: -1;
  transform: scale(-1, 1);
}
@media(max-width: 768px){
  .spring-ttl-wrap .spring-ttl figure::after{
    content: '';
    background: url(../images/cherry-blossoms-sp.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100vw;
    height: 46.410256vw;
    position: absolute;
    bottom: 50%;
    right: 50%;
    z-index: -1;
    transform: translate(50%, 45%);
  }
}
.spring-ttl-wrap .spring-campaign-date{
  color: #fff;
  font-size: 6.128205vw;
  text-align: center;
  position: relative;
  z-index: 2;
  margin-top: -2vw;
}
.spring-ttl-wrap .spring-campaign-date::before{
  content: '';
  background: url(../images/spring-ribon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 65vw;
  height: 13.6666vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.spring-ttl-wrap .spring-campaign-date .small{
  font-size: 3.589744vw;
}
.spring-ttl-wrap .spring-campaign-date .jp{
  font-size: 4vw;
}
.spring-ttl-wrap .spring-campaign-date .triangle{
  display: inline-block;
  font-size: 2vw;
  padding: 0 2vw;
  transform: translateY(-30%);
}
.campaign-bottom{
  display: flex;
  justify-content: center;
  align-items: top;
  gap: 3.194444vw;
  margin-top: 2.63888vw;
  position: relative;
}
@media(max-width: 768px){
  .campaign-bottom{
    flex-direction: column;
    margin-top: 6.153846vw;
  }
}
.campaign-bottom .campaign-note{
  text-align: right;
  font-weight: normal;
  font-size: 0.972222vw;
  position: absolute;
  right: 9vw;
  bottom: -3vw;
}
.campaign-bottom .campaign-device{
  display: flex;
  justify-content: space-between;
  align-items: top;
  flex-direction: row-reverse;
  gap: 2vw;
}
@media(max-width: 768px){
  .campaign-bottom .campaign-device{
    justify-content: center;
    gap: 3vw;
    flex-direction: row;
  }
}
.campaign-bottom .campaign-device .campaign-device-left .price-wrap{
  white-space: nowrap;
  text-align: center;
}
.campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-sub{
  display: inline-block;
  font-size: 1.736111vw;
  background:linear-gradient(transparent 60%, #FCFF81 60%);
}
@media(max-width: 768px){
  .campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-sub{
    font-size: 4.102564vw;
  }
}
.campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-main{
  font-size: 7.152778vw;
  margin-top: -2.5vw;
  position: relative;
}
@media(max-width: 768px){
  .campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-main{
    font-size: 17.435897vw;
    margin-top: -6vw;
  }
}
.campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-main .yen{
  font-size: 2.083333vw;
}
@media(max-width: 768px){
  .campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-main .yen{
    font-size: 5.128205vw;
  }
}
.campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-main .tax{
  font-size: 1.597222vw;
  font-weight: normal;
  position: absolute;
  top: 4.5vw;
  right: 0.5vw;
}
@media(max-width: 768px){
  .campaign-bottom .campaign-device .campaign-device-left .price-wrap .price-main .tax{
    font-size: 3.846154vw;
    top: 12vw;
    right: 2vw;
  }
}
.campaign-bottom .campaign-device .campaign-device-left .device-small img{
  width: 19.86111vw;
  margin-top: 1.3vw;
  position: relative;
  z-index: 5;
}
@media(max-width: 768px){
  .campaign-bottom .campaign-device .campaign-device-left .device-small img{
    width: 38.9743359vw;
    margin-top: -4.5vw;
  }
}
.campaign-bottom .campaign-device .campaign-device-right .device-big img{
  width: 13.27777vw;
}
@media(max-width: 768px){
  .campaign-bottom .campaign-device .campaign-device-right .device-big img{
    width: 25vw;
  }
}
/* キャンペーン詳細 */
.campaign-detail{
  background: rgba(255, 255, 255, 0.7);
  border: solid 2.75px #F42091;
  border-radius: 2.564103vw;
  text-align: center;
  padding: 1.94444444444vw 6.25vw;
  position: relative;
}
@media(max-width: 768px){
  .campaign-detail{
    border: solid 2px #F42091;
    border-radius: 3vw;
    padding: 5.128205vw 0vw;
    width: 79.487179vw;
    margin: 0 auto;
    margin-top: 5vw;
  }
}
.campaign-detail .detail-badge{
  position: absolute;
  bottom: -2.5vw;
  right: -2.5vw;
  width: 9.194444vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-badge{
    bottom: -7vw;
    right: -7vw;
    width: 21.794872vw;
  }
}
.campaign-detail .detail-top{
  font-weight: normal;
  font-size: 1.38888888889vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-top{
    font-size: 3.589744vw;
  }
}
.campaign-detail .detail-top .bold{
  font-weight: bold;
  font-size: 1.52777777778vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-top .bold{
    font-size: 4.102564vw;
  }
}
.campaign-detail .detail-top .ff_barlow{
  font-size: 1.52777777778vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-top .ff_barlow{
    font-size: 4.102564vw;
  }
}
.campaign-detail .detail-free{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.73611111111vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-free{
    gap: 4.615385vw;
  }
}
.campaign-detail .detail-free .free-list{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.27777777777vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-free .free-list{
    gap: 0.769231vw;
  }
}
.campaign-detail .detail-free .free-list .free-list-item{
  background: #F42091;
  color: #fff;
  font-size: 1.38888888889vw;
  text-align: center;
  width: 7.29166666667vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-free .free-list .free-list-item{
    font-size: 3.589744vw;
    width: 19.487179vw;
  }
}
.campaign-detail .detail-free .detail-free-price{
  width: 8.05555555556vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-free .detail-free-price{
    width: 22.051282vw;
  }
}
.campaign-detail .detail-bottom{
  margin-top: 1.52777777778vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-bottom{
    margin-top: 1.102564vw;
  }
}
.campaign-detail .detail-bottom .detail-bottom-bubble{
  font-size: 1.25;
  background: #333;
  padding: 0.1vw 0.3vw;
  color: #fff;
  position: relative;
}
@media(max-width: 768px){
  .campaign-detail .detail-bottom .detail-bottom-bubble{
    font-size: 3.589744vw;
    display: inline-block;
    padding: 0.1vw 3vw;
  }
}
.campaign-detail .detail-bottom .detail-bottom-bubble::before{
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -0.5vw;
  border: 0.5vw solid transparent;
  border-top: 0.5vw solid #333;
}
@media(max-width: 768px){
  .campaign-detail .detail-bottom .detail-bottom-bubble::before{
    margin-left: -1.5vw;
    border: 1.5vw solid transparent;
    border-top: 1.5vw solid #333;
  }
}
.campaign-detail .detail-bottom .detail-bottom-bubble .small{
  font-size: 1.04166666667vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-bottom .detail-bottom-bubble .small{
    font-size: 2.820513vw;
  }
}
.campaign-detail .detail-bottom .detail-bottom-main{
  font-size: 1.38888vw;
  margin-top: -0.7vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-bottom .detail-bottom-main{
    font-size: 3.846154vw;
    margin-top: -2vw;
  }
}
.campaign-detail .detail-bottom .detail-bottom-main .ff_barlow{
  font-size: 3.33333vw;
}
@media(max-width: 768px){
  .campaign-detail .detail-bottom .detail-bottom-main .ff_barlow{
    font-size: 8.974359vw;
  }
}

/* キャンペーンボタン */
.campaign-btn-wrap{
  margin-top: 3vw;
}
.campaign-btn-wrap .btn-bubble{
  display: inline;
  text-align: center;
  font-size: 1.3vw;
  background: #fff;
  border: 1.5px solid #31C237;
  border-radius: 8px;
  padding:5px 15px;
  position: relative;
  z-index: 100;
}
@media(max-width: 768px){
  .campaign-btn-wrap .btn-bubble{
    display: inline;
    text-align: center;
    font-size: 3.33vw;
    background: #fff;
    border: 1px solid #31C237;
    border-radius: 3px;
    padding:1.5vw 3.589vw;
    position: relative;
    z-index: 100;
  }
}
.campaign-btn-wrap .btn-bubble .pink{
  color: #F42091;
}
.campaign-btn-wrap .btn-bubble::before{
  content: '';
  position: absolute;
  top: 99%;
  left: 50%;
  margin-left: -0.8vw;
  border: 0.8vw solid transparent;
  border-top: 0.8vw solid #fff;
}
@media(max-width: 768px){
  .campaign-btn-wrap .btn-bubble::before{
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -1.5vw;
    border: 1.5vw solid transparent;
    border-top: 1.5vw solid #fff;
  }
}
.campaign-btn-wrap {
  position: relative;
  z-index: 99;
  text-align: center;
  transition: all 0.3s;
}
.campaign-btn {
  display: block;
  background: #31C237;
  color: #fff;
  text-align: center;
  width: 30.3vw;
  height: 6vw;
  line-height: 6vw;
  font-size: 2.2vw;
  border-radius: 9999px;
  box-shadow: 0 5px 0 #27862B;
  margin: 0 auto;
  position: relative;
  transition: all 0.3s;
}
@media(max-width: 768px){
  .campaign-btn {
    width: 69.23vw;
    height: 11.538vw;
    line-height: 11.538vw;
    font-size: 4.615vw;
    border-radius: 9999px;
    box-shadow: 0 4px 0 #27862B;
    margin: 0 auto;
    position: relative;
  }
}
.campaign-btn-wrap:hover {
  opacity: 0.7;
  transform: translateY(5px);
}
@media(max-width: 768px){
  .campaign-btn-wrap:hover {
    transform: translateY(4px);
  }
}
.campaign-btn-wrap:hover .campaign-btn{
  box-shadow: none;
}
.campaign-btn::before{
  content: '';
  background: url(../images/spring-btn-arrow.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 1vw;
  height: 1.2vw;
  position: absolute;
  right: 2vw;
  top: 50%;
  transform: translateY(-50%);
}
@media(max-width: 768px){
  .campaign-btn::before{
    content: '';
    background: url(../images/spring-btn-arrow.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.3vw;
    height: 17.948vw;
    position: absolute;
    right: 5.897vw;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media(max-width: 768px) {
  .campaign-btn-wrap {
    width: 100%;
    font-size: 3.906vw;
    min-height: 13.542vw
  }
}
@media(max-width: 768px){
  .campaign-btn-last{
    margin-top: 7vw;
  }
  .campaign-note{
    font-size: 10px;
    font-weight: normal;
    text-align: center;
    margin-top: 5px;
  }
}
/* 新生活キャンペーン FV end */