@charset "utf-8";

/* font
=============================================================================*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* reset
=============================================================================*/
*,*:before,*:after {
	margin: 0;
	padding: 0;
 	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
ul{
  padding-left:0;
}
li {
  list-style:none;
}
img {
  vertical-align: bottom;
  max-width: 100%;
	height: auto;
}
video {
  max-width: 100%;
}
a {
  background-color: transparent;
  text-decoration: none;
	transition: .5s;
}
section {
	position: relative;
}

/* base
=============================================================================*/
body {
	color: #fff;
	font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: min(1.5vw,18px);
  font-weight: 500;
  background: #000;
}
a, a:visited {
  color: #e4ff00;
}
.contents {
	max-width: 2100px;
	margin: 0 auto;
	background: rgb(31,0,94);
	background: linear-gradient(90deg, rgba(31,0,94,1) 0%, rgba(32,0,96,1) 20%, rgba(32,0,96,1) 30%, rgba(63,0,94,1) 75%, rgba(72,0,86,1) 100%);
}
.contents .text,
.contents .image {
	display: block;
}
.inner {
	position: relative;
	width: 92%;
	max-width: 1060px;
	margin: 0 auto;
}
@media only screen and (min-width: 769px) {
	a:hover {
	  opacity: 0.7;
	}
	.js-scrollable.scroll-hint {
		overflow: hidden;
	}
}
.spNone {
  display: block;
}
.pcNone {
  display: none;
}
@media only screen and (max-width: 768px){
	.contents {
		padding-bottom: 10.667vw;
	}
  .spNone {
    display: none;
  }
  .pcNone {
    display: block;
  }
}

/* animation
=============================================================================*/
.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s, transform .8s;
}
.fadein.active {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .5s;
}

/* parts
=============================================================================*/
span.font-color-yellow {
	color: #e4ff00;
}
span.text-gradation-red {
	display: inline-block;
  background: linear-gradient(-50deg, #f86566 0%, #ec1f4f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
p.text.text-indent-5 {
	text-indent: -5em;
	margin: 0 0 0 5em;
}
p.text.text-indent-7 {
	text-indent: -7em;
	margin: 0 0 0 7em;
}
p.text.text-indent-8 {
	text-indent: -8em;
	margin: 0 0 0 8em;
}
p.text.text-indent-1 {
	text-indent: -1em;
	margin: 0 0 0 1em;
}
.title.title001.center {
	text-align: center;
	margin: 0 0 min(4.667vw,56px) 0;
}
.title.title001.center p {
	font-size: min(3.75vw,45px);
	line-height: 1.4em;
	font-weight: 700;
}
.title.title001.center p span {
	font-size: min(2.833vw,34px);
	line-height: 1.38529em;
}
span.text-decoration-line {
	display: block;
	margin: min(0.25vw,3px) 0 0 0;
}
span.text-decoration-line span {
	position: relative;
	display: inline-block;
	font-size: min(2.083vw,25px) !important;
	letter-spacing: 0.1em;
	padding: 0 min(5vw,60px);
}
span.text-decoration-line span::before,
span.text-decoration-line span::after {
	content: "";
	background: #fff;
	width: min(4.167vw,50px);
	height: min(0.167vw,2px);
	position: absolute;
	top: 55%;
}
span.text-decoration-line span::before {
	left: 0;
}
span.text-decoration-line span::after {
	right: 0;
}
@media only screen and (max-width: 768px){
	.title.title001.center {
		margin: 0 0 14.933vw 0;
	}
	.title.title001.center p {
		font-size: 6.667vw;
	}
	.title.title001.center p span {
		font-size: 4vw;
		line-height: 9.067vw;
	}
	span.text-decoration-line span {
		font-size: 4.8vw !important;
		padding: 0 13.333vw;
	}
	span.text-decoration-line span::before, span.text-decoration-line span::after {
		width: 9.333vw;
		top: 51%;
	}
}

/* fixed-header
=============================================================================*/
.fixed-header {
  position: fixed;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  transition: .5s;
	display: flex;
	justify-content: center;
	align-items: center;
}
.fixed-header.fixed {
	z-index: 90;
}
.fixed-header .btn.btn001 a {
	background: #e4ff00;
	color: #000;
	font-size: min(1.417vw,17px);
	line-height: 1;
	font-weight: 700;
	display: inline-block;
	padding: min(1.167vw,14px) min(2.5vw,30px) min(1.333vw,16px);
}
.fixed-header .btn.btn001 a span {
	font-size: min(2.167vw,26px);
	margin: 0 min(0.583vw,7px) 0 0;
}
@media only screen and (min-width: 768px){
	.fixed-header {
	  top: max(-6.667vw,-80px);
	  height: min(6.667vw,80px);
	  color: #fff;
	  background: rgba(0,0,0,0.2);
	}
	.fixed-header.fixed {
	  top: 0;
	}
	.fixed-header .btn.btn001 a {
		border-radius: min(3.417vw,41px);
	}
}
@media only screen and (max-width: 768px){
	.fixed-header {
	  bottom: -13.867vw;
	  height: 13.867vw;
	}
	.fixed-header.fixed {
	  bottom: 0;
	}
	.fixed-header .btn.btn001 a {
		background: #e4ff00;
		width: 100vw;
		font-size: 4.267vw;
		padding: 3.733vw 8vw 4.267vw;
	}
	.fixed-header .btn.btn001 a span {
		font-size: 5.867vw;
	}
}

/* main_wrapper
=============================================================================*/
.main_wrapper {
	background: url(../images/main-bg001.png) no-repeat;
	background-size: min(175vw,2100px) min(50vw,600px);
	background-position: center center;
	height: min(50vw,600px);
}
.main_wrapper .text.text001 {
	font-size: min(1.345vw,16.14px);
	line-height: 1.70012em;
	text-align: center;
}
.main_wrapper .area.area001 .logo img {
	width: min(33.667vw,404px);
}
.main_wrapper .area.area002 .image.image001 img {
	width: min(27.333vw,328px);
}
.main_wrapper .area.area002 .image.image002 img {
	filter: drop-shadow(0px 0px min(1.333vw,16px) rgba(209,150,209,0.6));
	transform: rotate(7deg);
	width: min(15.75vw,189px);
}
.main_wrapper .area.area003 .image.image003 img {
	width: min(34.917vw,419px);
}
.main_wrapper .area.area003 .image.image004 img {
	width: min(38.417vw,461px);
}
@media only screen and (min-width: 769px) {
	.main_wrapper .area {
		position: absolute;
	}
	.main_wrapper .area.area001 {
		top: min(3.25vw,39px);
		left: min(10.167vw,122px);
	}
	.main_wrapper .area.area002 {
		top: min(3.917vw,47px);
		right: min(7.917vw,95px);
		z-index: 10;
	}
	.main_wrapper .area.area003 {
		top: min(12.25vw,147px);
		left: min(9.25vw,111px);
	}
	.main_wrapper .area.area002 .image.image001 {
    margin: min(2.083vw,25px) max(-0.083vw,-1px) 0 0;
	}
	.main_wrapper .area.area002 .image.image002 {
    margin: min(3.667vw,44px) 0 0 min(5.083vw,61px);
	}
	.main_wrapper .area.area003 .image.image004 {
		margin: min(3vw,36px) 0 0 max(-1.333vw,-16px);
	}
}
@media only screen and (max-width: 768px) {
	.main_wrapper {
		height: auto;
	}
}

/* cta_wrapper
=============================================================================*/
.cta_wrapper {
	text-align: center;
	padding: min(6.25vw,75px) 0 min(5.833vw,70px);
	height: min(24.5vw,294px);
}
.cta_wrapper::before {
	content: "";
	background: url(../images/cta-bg001.webp) no-repeat;
	background-size: min(175vw,2100px) min(24.5vw,294px);
	background-position: center center;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	height: min(24.5vw,294px);
}
.cta_wrapper .text.text001 {
	margin: 0 0 min(1.917vw,23px) 0;
}
.cta_wrapper .text.text001 p {
	font-size: min(2.5vw,30px);
	letter-spacing: 0.1em;
}
.cta_wrapper .btn.btn001 a {
	background: #e4ff00;
	color: #000;
	border-radius: min(3.417vw,41px);
	font-size: min(2.5vw,30px);
	line-height: 1;
	font-weight: 700;
	display: inline-block;
	padding: min(1.417vw,17px) min(3.333vw,40px) min(2vw,24px);
	transition: 300ms;
	position: relative;
  overflow: hidden;
}
.cta_wrapper .btn.btn001 a span {
	font-size: min(3.333vw,40px);
	margin: 0 min(0.583vw,7px) 0 0;
}
.cta_wrapper .btn.btn001 a::after {
  content: "";
  display: block;
  width: min(2.5vw,30px);
  height: 100%;
  position: absolute;
  top: max(-15vw,-180px);
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 3s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 3s ease-in-out infinite;
}
@keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@media only screen and (max-width: 768px) {
	.cta_wrapper {
		padding: 9.333vw 0 8vw;
		overflow: hidden;
		height: 46.4vw;
	}
	.cta_wrapper::before {
		background-size: 560vw 78.4vw;
		height: 46.4vw;
	}
	.cta_wrapper .text.text001 {
		margin: 0 0 4vw 0;
	}
	.cta_wrapper .text.text001 p {
		font-size: 4.267vw;
	}
	.cta_wrapper .btn.btn001 a {
		font-size: 4.267vw;
		padding: 4.533vw 6.667vw 5.6vw;
		border-radius: 10.933vw;
	}
	.cta_wrapper .btn.btn001 a span {
		font-size: 5.867vw;
	}
}

/* campaign_wrapper
=============================================================================*/
.campaign_wrapper {
	background: #180046;
	padding: min(6.667vw,80px) 0 min(8.333vw,100px);
}
.campaign_wrapper .campaign_wrap.wrap001 {
	background: #000;
	padding: min(5.583vw,67px) min(12.083vw,145px) min(4vw,48px);
}
.campaign_wrapper .campaign_wrap.wrap002 {
	background: #181818;
	padding: min(2.333vw,28px) min(12vw,144px) min(3.333vw,40px);
}
/* campaign_wrap.wrap001 */
.campaign_wrapper .campaign_wrap.wrap001 .title.title001 {
	text-align: center;
	margin: 0 0 min(1.25vw,15px) 0;
}
.campaign_wrapper .campaign_wrap.wrap001 .text.text001 {
	font-size: min(2.917vw,35px);
	font-weight: 700;
	text-align: center;
	margin: 0 0 min(2.167vw,26px) 0;
}
.campaign_wrapper .campaign_wrap.wrap001 .text.text001 span {
	font-size: min(4.167vw,50px);
}
/* campaign_wrap.wrap002 */
.campaign_wrapper .campaign_wrap.wrap002 .title.title002 {
	text-align: center;
	margin: 0 0 min(0.833vw,10px) 0;
}
.campaign_wrapper .campaign_wrap.wrap002 .area.area001 {
	margin: 0 0 min(2.917vw,35px) 0;
}
.campaign_wrapper .campaign_wrap.wrap002 .head.head002 {
	font-size: min(1.333vw,16px);
	margin: 0 0 min(0.833vw,10px) 0;
}
/* campaign_list */
ul.campaign_list li:not(:last-child) {
	margin: 0 0 min(2.917vw,35px) 0;
}
ul.campaign_list li .head {
	background: #e4ff00;
	color: #000;
	padding: min(0.5vw,6px)min(1.583vw,19px);
	margin: 0 0 min(0.917vw,11px) 0;
}
ul.campaign_list li .head p {
	font-size: min(2.5vw,30px);
	font-weight: 700;
}
ul.campaign_list li p.text {
	font-size: min(1.667vw,20px);
	font-weight: 500;
	line-height: 2em;
	padding: 0 min(2.667vw,32px);
}
ul.campaign_list li p.text:not(:last-child) {
	margin-bottom: min(0.833vw,10px);
}
/* attention_list */
ul.attention_list li {
	margin: 0 0 min(0.833vw,10px) 0;
}
ul.attention_list li p.text {
	font-size: min(1.167vw,14px);
	line-height: 1.42857em;
}
@media only screen and (max-width: 768px) {
	.campaign_wrapper {
		padding: 10.667vw 0 14.667vw;
	}
	.campaign_wrapper .campaign_wrap.wrap001 {
		padding: 8vw 5.333vw;
	}
	.campaign_wrapper .campaign_wrap.wrap001 .title.title001 {
		width: 77.333vw;
		margin: 0 auto 4vw;
	}
	.campaign_wrapper .campaign_wrap.wrap001 .text.text001 {
		font-size: 4.8vw;
		margin: 0 0 6.933vw 0;
	}
	.campaign_wrapper .campaign_wrap.wrap001 .text.text001 span {
		font-size: 6.4vw;
	}
	.campaign_wrapper .campaign_wrap.wrap002 {
		padding: 7.467vw 5.333vw 6.4vw 5.067vw;
	}
	.campaign_wrapper .campaign_wrap.wrap002 .title.title002 {
    margin: 0 0 6.667vw 0;
	}
	.campaign_wrapper .campaign_wrap.wrap002 .title.title002 p {
		font-size: 4.267vw;
	}
	.campaign_wrapper .campaign_wrap.wrap002 .area.area001 {
		margin: 0 0 2.667vw 0;
	}
	.campaign_wrapper .campaign_wrap.wrap002 .head.head002 {
		font-size: 3.733vw;
		margin: 0 0 2.667vw 0;
	}
	ul.campaign_list li:not(:last-child) {
		margin: 0 0 9.333vw 0;
	}
	ul.campaign_list li .head {
		padding: 1.867vw 4vw;
		margin: 0 0 2.933vw 0;
	}
	ul.campaign_list li .head p {
		font-size: 4.8vw;
		line-height: 5.867vw;
		text-indent: -1em;
		margin-left: 1em;
	}
	ul.campaign_list li p.text {
		font-size: 3.733vw;
		line-height: 7.2vw;
		padding: 0 2.667vw;
	}
	ul.attention_list li {
		margin: 0 0 2.667vw 0;
	}
	ul.attention_list li p.text {
		font-size: 3.467vw;
	}
	ul.campaign_list li p.text:not(:last-child) {
		margin-bottom: 2.667vw;
	}
}

/* benefit_wrapper
=============================================================================*/
.benefit_wrapper {
	overflow: hidden;
	padding: min(10.833vw,130px) 0 min(8.333vw,100px);
}
.benefit_wrapper::before {
	content: "";
	background: url(../images/object-img001.webp) no-repeat;
	background-size: min(100.25vw,1203px) min(40.75vw,489px);
	width: min(100.25vw,1203px);
	height: min(40.75vw,489px);
	position: absolute;
	top: min(0.333vw,4px);
	right: 0;
	left: 0;
	margin: 0 auto;
	opacity: 0.8;
}
.benefit_wrapper .area.area002 {
	position: relative;
	margin: 0 0 min(5.833vw,70px) 0;
}
.benefit_wrapper .title.title001 p span {
  font-size: min(4.33vw,51.96px);
	line-height: 1.25em;
  font-weight: 700;
	letter-spacing: 0.01em;
}
.benefit_wrapper .image.image001 {
	position: absolute;
	top: max(-7.75vw,-93px);
	right: min(14.833vw,178px);
	z-index: 10;
	width: min(19.5vw,234px);
}
.benefit_wrapper .image.image001::before {
	content: "";
	background: url(../images/logo-img001.webp) no-repeat;
	background-size: contain;
	width: min(18.417vw,221px);
	height: min(2.417vw,29px);
	position: absolute;
	top: max(-6.25vw,-75px);
	right: 0;
	left: 0;
	margin: 0 auto;
}
.benefit_wrapper .image.image001 img {
	filter: drop-shadow(0px 0px 24px rgba(209, 150, 209, 0.3));
	width: 100%;
}
.benefit_wrapper .title.title002 {
	text-align: center;
	margin: 0 0 min(2.333vw,28px) 0;
}
.benefit_wrapper .title.title002 p {
	font-size: min(3.6vw,43.2px);
	line-height: 1.13425em;
}
.benefit_wrapper .title.title002 p span {
	padding: 0 min(0.833vw,10px) 0 0;
}
/* index_list */
ul.index_list {
	background: rgb(0,0,0);
	background: linear-gradient(90deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.5) 65%, rgba(0,0,0,0.3) 90%, rgba(0,0,0,0.15) 100%);
	width: min(64.167vw,770px);
	margin: min(7.75vw,93px) auto 0;
	padding: min(3.75vw,45px) min(5.833vw,70px) min(2.917vw,35px);
}
ul.index_list li {
	position: relative;
	padding: 0 0 0 min(3.5vw,42px);
	display: flex;
	align-items: center;
	height: min(4.333vw,52px);
}
ul.index_list li:not(:last-child) {
	margin: 0 0 min(2.917vw,35px) 0;
}
ul.index_list li::before {
	content: "";
	position: absolute;
}
ul.index_list li:nth-child(1)::before {
	background: url(../images/benefit-num001.webp) no-repeat center/contain;
	width: min(1.333vw,16px);
	height: min(3.75vw,45px);
	top: min(0.417vw,5px);
	left: max(-0.417vw,-5px);
}
ul.index_list li:nth-child(2)::before {
	background: url(../images/benefit-num002.webp) no-repeat center/contain;
	width: min(2.417vw,29px);
	height: min(3.833vw,46px);
	top: min(0.417vw,5px);
	left: max(-0.667vw,-8px);
}
ul.index_list li:nth-child(3)::before {
	background: url(../images/benefit-num003.webp) no-repeat center/contain;
	width: min(2.5vw,30px);
	height: min(3.833vw,46px);
	top: min(0.333vw,4px);
	left: max(-0.75vw,-9px);
}
ul.index_list li p.text {
	font-size: min(1.667vw,20px);
	font-weight: 700;
	line-height: 1.3em;
	display: table-cell;
	vertical-align: middle;
}
ul.index_list li:not(:first-child) p.text {
	font-size: min(2.079vw,24.95px);
}
/* benefit_list */
ul.benefit_list {
	width: min(63.75vw,765px);
	margin: 0 auto;
}
ul.benefit_list li:not(:last-child) {
	margin: 0 0 min(3.917vw,47px) 0;
}
ul.benefit_list li .head.head001 {
	position: relative;
	background: rgba(255,255,255,0.16);
	border: solid 1px #fff;
	padding: mmin(1.292vw,15.5px) min(1.333vw,16px) mmin(1.292vw,15.5px) min(5.833vw,70px);
	text-align: center;
}
ul.benefit_list li .head.head001::before {
	content: "";
	width: min(5.58vw,66.96px);
	height: min(5.58vw,66.96px);
	position: absolute;
	top: 0;
	left: 0;
}
ul.benefit_list li:nth-child(1) .head.head001::before {
	background: url(../images/benefit-num-s001.webp) no-repeat center/contain;
}
ul.benefit_list li:nth-child(2) .head.head001::before {
	background: url(../images/benefit-num-s002.webp) no-repeat center/contain;
}
ul.benefit_list li:nth-child(3) .head.head001::before {
	background: url(../images/benefit-num-s003.webp) no-repeat center/contain;
}
ul.benefit_list li .head.head001 p {
	font-size: min(2.16vw,25.92px);
	font-weight: 700;
	line-height: 1.38888em;
}
ul.benefit_list li .box_wrap .box.box001 {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
}
ul.benefit_list li .box_wrap .box.box002 {
	border-right: solid 1px #fff;
	border-left: solid 1px #fff;
	border-bottom: solid 1px #fff;
}
ul.benefit_list li:nth-child(1) .box_wrap .box.box002 {
	padding: min(1.583vw,19px) min(1.417vw,17px) min(1.833vw,22px);
}
ul.benefit_list li:nth-child(2) .box_wrap .box.box002 {
	padding: min(0.917vw,11px) min(1.833vw,22px) min(1.167vw,14px);
}
ul.benefit_list li:nth-child(3) .box_wrap .box.box002 {
	padding: min(3.417vw,41px) min(1.917vw,23px) min(3.833vw,46px);
}
ul.benefit_list li:nth-child(1) .box_wrap .box.box001 p.text {
	font-size: min(2.4vw,28.8px);
	line-height: 1.25em;
}
ul.benefit_list li:nth-child(2) .box_wrap .box.box001 p.text {
	font-size: min(1.8vw,21.6px);
	line-height: 1.33333em;
}
ul.benefit_list li:nth-child(3) .box_wrap .box.box001 p.text {
	font-size: min(2vw,24px);
	line-height: 1.5em;
}
ul.benefit_list li .box_wrap .box.box002 p.text {
	font-size: min(1.68vw,20.16px);
	line-height: 1.78571em;
}
ul.benefit_list li .box_wrap .box.box002 p.text.attention {
	font-size: min(0.96vw,11.52px);
	line-height: 1.625em;
	font-weight: 400;
	margin-top: min(0.833vw,10px);
}
ul.benefit_list li:nth-child(1) .box_wrap .box.box002 p.text.attention {
	padding: 0 0 0 min(1.667vw,20px);
}
@media only screen and (min-width: 769px) {
	ul.benefit_list li .box_wrap {
		display: flex;
	}
	ul.benefit_list li .box_wrap .box.box001 {
		width: min(22.5vw,270px);
	}
	ul.benefit_list li .box_wrap .box.box002 {
		width: calc(100% - min(22.5vw,270px));
	}
}
@media only screen and (max-width: 768px) {
	.benefit_wrapper {
    padding: 14.667vw 0 20vw;
	}
	.benefit_wrapper::before {
		background-size: 171.857vw 69.857vw;
		width: 171.857vw;
		height: 69.857vw;
		top: 4.857vw;
		left: -26.667vw;
		right: auto;
	}
	.benefit_wrapper .title.title001 p span {
		font-size: 6.933vw;
		line-height: 10.933vw;
		margin: 0 0 0 5.333vw;
	}
	.benefit_wrapper .title.title002 {
		margin: 0 0 7.467vw 0;
	}
	.benefit_wrapper .title.title002 p {
    font-size: 9.067vw;
    line-height: 10.4vw;
	}
	.benefit_wrapper .title.title002 p span img {
		width: 8.8vw;
	}
	.benefit_wrapper .image.image001 {
		width: 50.667vw;
		top: -56vw;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
	.benefit_wrapper .image.image001::before {
		width: 38.933vw;
		height: 5.067vw;
		top: -10.667vw;
	}
	.benefit_wrapper .area.area002 {
		margin: 0 0 17.333vw 0;
	}
	ul.index_list {
		background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 65%, rgba(0, 0, 0, 0.3) 90%, rgba(0, 0, 0, 0.15) 100%);
		width: 100%;
		margin: 76vw auto 0;
		padding: 36vw 9.333vw 6.667vw;
	}
	ul.index_list li {
		padding: 0 0 0 11.2vw;
		height: 9.6vw;
	}
	ul.index_list li::before {
		height: 7.733vw !important;
	}
	ul.index_list li:nth-child(1)::before {
		width: 4.267vw;
    height: 12vw;
		top: 1.067vw;
		left: -0.8vw;
	}
	ul.index_list li:nth-child(2)::before {
		width: 7.733vw;
		height: 12.267vw;
		top: 0.8vw;
		left: -2.133vw;
	}
	ul.index_list li:nth-child(3)::before {
		width: 8vw;
		height: 12.267vw;
		top: 0.8vw;
		left: -2.133vw;
	}
	ul.index_list li:not(:last-child) {
    margin: 0 0 5.333vw 0;
	}
	ul.index_list li p.text {
		font-size: 4.8vw;
		line-height: 1.5em;
	}
	ul.index_list li:not(:first-child) p.text {
		font-size: 5.067vw;
	}
	ul.benefit_list {
		width: 100%;
	}
	ul.benefit_list li:not(:last-child) {
		margin: 0 0 9.867vw 0;
	}
	ul.benefit_list li .head.head001 {
		padding: 6.4vw 4.267vw 6.933vw 8vw;
	}
	ul.benefit_list li .head.head001::before {
		width: 10.667vw;
		height: 10.667vw;
	}
	ul.benefit_list li .head.head001 p {
		font-size: 5.333vw;
	}
	ul.benefit_list li .box_wrap .box.box001 {
		border-right: solid 1px #fff;
		padding: 5.333vw;
	}
	ul.benefit_list li .box_wrap .box.box002 {
		padding: 5.6vw 6.133vw 5.867vw !important;
	}
	ul.benefit_list li .box_wrap .box.box001 p.text {
		font-size: 4.8vw !important;
		line-height: 1.4em !important;
	}
	ul.benefit_list li .box_wrap .box.box002 p.text {
		font-size: 4vw !important;
	}
}

/* profit_wrapper
=============================================================================*/
.profit_wrapper {
	padding: min(5.5vw,66px) 0 min(5.833vw,70px);
}
/* profit_list */
ul.profit_list li {
	position: relative;
}
ul.profit_list li:not(:last-child) {
	margin: 0 0 min(7.5vw,90px) 0;
}
ul.profit_list li .head.head001 {
	font-size: min(2.5vw,30px);
	line-height: 1.33333em;
	font-weight: 700;
	padding: 0 0 min(2.25vw,27px) min(6.667vw,80px);
	position: relative;
}
ul.profit_list li .head.head001::before {
	content: "";
	position: absolute;
	width: min(5.333vw,64px);
	height: min(5.75vw,69px);
	top: min(0.583vw,7px);
	left: min(0.25vw,3px);
}
ul.profit_list li:nth-child(1) .head.head001::before {
	background: url(../images/profit-num001.webp) no-repeat center/contain;
}
ul.profit_list li:nth-child(2) .head.head001::before {
	background: url(../images/profit-num002.webp) no-repeat center/contain;
}
ul.profit_list li:nth-child(3) .head.head001::before {
	background: url(../images/profit-num003.webp) no-repeat center/contain;
}
ul.profit_list li .image.image001 {
	text-align: center;
}
ul.profit_list li .image.image001 img {
	width: 75%;
}
ul.profit_list li .text.text001 p {
	font-size: min(1.5vw,18px);
	line-height: 2.11111em;
	letter-spacing: 0.1em;
	font-weight: 400;
}
@media only screen and (min-width: 769px) {
	ul.profit_list li .image.image001 {
		position: absolute;
		top: min(1.667vw,20px);
	}
	ul.profit_list li:nth-child(odd) .image.image001 {
		left: 0;
	}
	ul.profit_list li:nth-child(even) .image.image001 {
		right: 0;
	}
	ul.profit_list li .image.image001 img {
		width: min(34.083vw,409px);
	}
	ul.profit_list li .head.head001,
	ul.profit_list li .text.text001 {
		width: min(48.75vw,585px);
	}
	ul.profit_list li:nth-child(odd) .head.head001,
	ul.profit_list li:nth-child(odd) .text.text001 {
		margin: 0 0 0 auto;
	}
	ul.profit_list li:nth-child(even) .head.head001,
	ul.profit_list li:nth-child(even) .text.text001 {
		margin: 0 auto 0 0;
	}
}
@media only screen and (max-width: 768px) {
	.profit_wrapper {
		padding: 12vw 0 20vw;
	}
	ul.profit_list li:not(:last-child) {
		margin: 0 0 21.333vw 0;
	}
	ul.profit_list li .head.head001 {
		font-size: 5.333vw;
		padding: 0 0 10.667vw 18.667vw;
	}
	ul.profit_list li .head.head001::before {
		width: 12vw;
		height: 12.8vw;
		top: 1.067vw;
		left: 0.8vw;
	}
	ul.profit_list li .image.image001 {
		width: 92vw;
		margin: 0 auto 9.333vw;
	}
	ul.profit_list li .text.text001 p {
		font-size: 3.733vw;
	}
}

/* flow_wrapper
=============================================================================*/
.flow_wrapper {
	padding: min(5.833vw,70px) 0 min(7.917vw,95px);
	background: rgb(31, 36, 93);
	background: linear-gradient(70deg, rgba(31, 36, 93, 1) 0%, rgba(31, 36, 93, 1) 40%, rgba(72, 36, 86, 1) 100%);
}
.flow_wrapper .title.title001.center {
	margin: 0 0 min(6.417vw,77px) 0;
}
/* flow_list */
ul.flow_list {
	text-align: center;
	display: flex;
	justify-content: space-between;
	width: min(88.333vw,1060px);
	margin: 0 auto;
}
ul.flow_list li {
	width: min(14.333vw,172px);
}
ul.flow_list li .image {
	position: relative;
	width: min(14.333vw,172px);
	margin: 0 auto min(1.167vw,14px);
	padding: min(2.333vw,28px) 0 0 0;
}
ul.flow_list li .image::before {
	content: "";
	width: min(5.917vw,71px);
	height: min(5.917vw,71px);
	position: absolute;
	top: 0;
	left: min(0.167vw,2px);
}
ul.flow_list li:nth-child(1) .image::before {
	background: url(../images/flow-num001.webp) no-repeat center/contain;
}
ul.flow_list li:nth-child(2) .image::before {
	background: url(../images/flow-num002.webp) no-repeat center/contain;
}
ul.flow_list li:nth-child(3) .image::before {
	background: url(../images/flow-num003.webp) no-repeat center/contain;
}
ul.flow_list li:nth-child(4) .image::before {
	background: url(../images/flow-num004.webp) no-repeat center/contain;
}
ul.flow_list li:nth-child(5) .image::before {
	background: url(../images/flow-num005.webp) no-repeat center/contain;
}
ul.flow_list li p.text {
	font-size: min(1.5vw,18px);
	line-height: 1.33333em;
}
ul.flow_list li p.text a {
	text-decoration: underline;
}
ul.flow_list li p.text.text-indent-1.attention {
	font-size: min(1vw,12px);
	display: block;
	margin: min(0.833vw,10px) 0 0;
}
@media only screen and (max-width: 768px) {
	.flow_wrapper {
		padding: 10.667vw 0 13.667vw;
	}
	.flow_wrapper .area.area002{
		width: 95%;
		margin: 0 auto;
	}
	ul.flow_list {
		width: 252.667vw;
	}
	ul.flow_list li {
		width: 45.867vw;
	}
	ul.flow_list li .image {
		margin-bottom: 4.333vw;
		width: 40.867vw;
		padding: 7.467vw 0 0 0;
	}
	ul.flow_list li .image::before {
		width: 15.933vw;
		height: 15.933vw;
		left: 0.533vw;
	}
	ul.flow_list li p.text {
		font-size: 4vw;
		line-height: 1.45em;
	}
	ul.flow_list li p.text.text-indent-1.attention {
		font-size: 3.2vw;
		margin: 2.667vw 0 0;
	}

}

/* info_wrapper
=============================================================================*/
.info_wrapper {
	padding: min(6.667vw,80px) 0 min(15.833vw,190px);
}
.info_wrapper .title.title001.center {
	margin: 0 0 min(5.333vw,64px) 0;
}
.info_table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
	border: solid 1px #fff;
}
.info_table th, .info_table td {
	display: table-cell;
	font-size: min(1.5vw,18px);
	line-height: 1.66666em;
	padding: min(1.667vw,20px) min(3.583vw,43px);
	vertical-align: top;
	text-align: left;
	box-sizing: border-box;
	border-bottom: solid 1px #fff;
}
.info_table th {
	font-weight: 700;
	background: rgba(206, 206, 206, 0.25);
	text-align: center;
	padding: min(1.667vw,20px) min(0.833vw,10px);
}
.info_table td p {
	font-weight: 400;
}
.info_table td p a {
	color: #fff;
	word-break: break-all;
}
.info_table tr:first-child td .image img {
	filter: drop-shadow(0px 0px min(2vw,24px) rgba(209, 150, 209, 0.5));
}
.info_wrapper .text.text002.text-indent-1 {
	display: block;
	margin-top: min(2.917vw,35px);
	text-align: right;
	font-size: min(1.083vw,13px);
}
@media screen and (min-width: 769px) {
	.info_table th {
		border-right: solid 1px #fff;
	}
	.info_table tr th:first-child {
		width: min(15.5vw,186px);
	}
	.info_table tr:first-child td {
		display: flex;
		align-items: center;
	}
	.info_table tr:first-child td .image {
		margin: min(1.333vw,16px) min(4.75vw,57px) min(1.75vw,21px) 0;
	}
}
@media screen and (max-width: 768px) {
	.info_wrapper {
    padding: 10.667vw 0 17.333vw;
	}
	.info_wrapper .title.title001.center {
    margin: 0 0 9.333vw 0;
	}
	.info_table th, .info_table td {
		display: block;
		width: 100%;
		font-size: 3.733vw;
		padding: 5.333vw 6.133vw;
	}
	.info_table th {
		padding: 2.667vw;
		font-size: 4.267vw;
	}
	.info_table tr:first-child td .image {
    text-align: center;
		margin: 5.333vw 0 8vw;
	}
	.info_table tr:first-child td .image img {
		width: 26.133vw;
	}
	.info_wrapper .text.text002.text-indent-1 {
		margin-top: 6.667vw;
		font-size: 2.933vw;
	}
}

/* footer
=============================================================================*/
footer {
	background: #000;
	padding: min(2.083vw,25px) 0 min(10.833vw,130px);
}
footer .inner p.copy {
	font-size: 10px;
	letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px) {
	footer .inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	footer .inner p.copy {
		line-height: 1;
	}
}
@media only screen and (max-width: 768px) {
	footer {
		text-align: center;
		padding: 6.667vw 0 34.667vw;
	}
	footer .logo {
		margin: 0 auto 45px;
		width: 58.667vw;
	}
}
