@charset "utf-8";
/* CSS Document */
/*-----------------------------
 reset
-------------------------------*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, 
img, small, strong, sub, sup,b, i,dl, dt, dd, ol, ul, li,
 form, label,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,
time, mark, audio, video {
margin:0;padding:0;border:0;outline:0;font-size:100%;
vertical-align:baseline;background:transparent;line-height:1.0;
}
th{font-style:normal;font-weight:normal;}
ul li,ol li{list-style:none; }
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
body {line-height:1;position:relative;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;}
nav ul {list-style:none;}
table {	border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
article, aside, figure, footer, header,hgroup, nav, section { display:block;}
img{vertical-align:bottom; display:inline-block;margin:0 auto;max-width:100%;height:auto;}
*,*::before,*::after { -webkit-box-sizing:border-box;box-sizing:border-box;}



/*-----------------------------
 common
-------------------------------*/
@media (min-width:768px) {
	html {
		font-size: 16px;
	}
}
body {
	font-feature-settings: "palt";
	font-family: 'Murecho', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color: #333333;
	font-weight: 400;
	line-height: 2;
	text-align: left;
}

#root {
	overflow: hidden;
}

.wrap {
	margin: 0 auto;
	position: relative;
}
.wrap .mincho {
	font-family: 'Yu Mincho','YuMincho', serif;
}
.wrap .gruppo {
	font-family: 'Gruppo', cursive;
}

.wrap * {
	box-sizing: border-box
}
.contentWrap {
	max-width: 1200px;
	margin: 0 auto;
}
.contentWrap img {
	max-width: 100%;
	height: auto;
}
.wrap a,
.wrap a::before,
.wrap a::after,
.wrap a img {
	text-decoration: none;
	-webkit-transition: all 0.3s ease-out;
		 -moz-transition: all 0.3s ease-out;
			-ms-transition: all 0.3s ease-out;
			 -o-transition: all 0.3s ease-out;
					transition: all 0.3s ease-out;
}
.wrap a:hover {
	text-decoration: none;
}
.wrap a:hover img {
	opacity: 0.8;
}
.wrap a.txt {
	text-decoration: underline;
	color: #000;
}
.wrap a.txt:hover {
	text-decoration: none;
}
.wrap a.blank {
	text-decoration: underline;
	color: #20A3A8;
}
.wrap a.blank span {
  width: 16px;
  fill: #20A3A8;
  display: inline-block;
  margin: 0 0 0 5px;
}
.wrap p {
	line-height: 1.9;
	letter-spacing: 0.1em;
}
.wrap p + p {
	padding-top: 1.5em;
}
.wrap em {
	font-style: normal;
	letter-spacing: 0.2em;
}
.wrap sup {
	font-size: 60%;
	vertical-align: text-top;
}
.wrap p small {
	font-size: 80%;
}
.wrap .note {
	font-size: 80%;
	text-align: left;
	margin-top: 2em;
}
.wrap .note li {
	margin-left: 1em;
	text-indent: -1em;
	line-height: 1.5;
}
.wrap .txtblue {
	color: #265e9b;
}

.flex {
	display: flex;
}
.flex.btn {
	justify-content: center;
}
.flex.btn li {
	margin: 0 2%;
}
.imgArea > div {
	display: table-cell;
	vertical-align: middle;
	margin: 0;
}

section > h1 {
	text-align: center;
}

.accordion dt {
	-webkit-transition: all 0.3s ease-out;
		 -moz-transition: all 0.3s ease-out;
			-ms-transition: all 0.3s ease-out;
			 -o-transition: all 0.3s ease-out;
					transition: all 0.3s ease-out;
}
.accordion dt:hover {
	opacity: 0.9;
	cursor: pointer;
}

@media (max-width:767px) {
	html {
		font-size: calc(100vw * 15 / 375); /* 15px相当 */
	}
	.pc{
		display:none !important;
	}
	.wrap p {
		letter-spacing: 0;
	}
	.wrap em {
		letter-spacing: 0.1em;
	}
}
@media screen and (max-width: 1330px) {
	.pc.wide{
		display:none !important;
	}
}
@media (min-width:768px) {
	.sp{
		display:none !important;
	}
}



/*-----------------------------
Footer
-------------------------------*/
#footer {
	/*padding-top: 120px;*/
}
#footer .role_inner {
	background: rgba(0, 19, 121, 1);
	background-image: linear-gradient(90deg, rgba(0, 19, 121, 1), rgba(0, 12, 74, 1));
	color: #ffffff;
	padding: 50px 1% 40px;
}
#footer #company {
	text-align: center;
  font-size: 16px;
	line-height: 1.4;
  letter-spacing: 0.04em;
	margin-bottom: 1em;
}
#footer #copyright {
	text-align: center;
  font-size: 16px;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  #footer {
  }
	#footer .role_inner {
		padding: 8% 5%;
	}
	#footer #company {
		font-size: 0.9rem;
	}
	#footer #copyright {
		font-size: 0.9rem;
	}
}





/*-----------------------------
mv
-------------------------------*/
.mv {
	padding: 0;
	background-image: linear-gradient(90deg, rgba(62, 6, 146, 1) 49%, rgba(169, 85, 239, 1) 50%);
}
.mvInner {
	position: relative;
	margin: 0 auto;
	max-width: 1680px;
}
.mv h1 {
	position: absolute;
	width: 13%;
	max-width: 220px;
	height: auto;
	top: 3%;
	left: 3%;
	z-index: 2;
	margin: 0;
}
.mv h1 img {
	margin: 0;
}
.mv h2 {
	text-align: left;
	line-height: 1.6;
	color: #fff;
	font-size: 2.857vw;
	letter-spacing: 0.2em;
	position: absolute;
	top: 32%;
	left: 66%;
	z-index: 2;
}
.mv p {
	text-align: left;
	line-height: 2.5;
	font-size: 0.95vw;
	letter-spacing: 0.08em;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 66.5%;
	z-index: 2;
}
.mv .about {
	width: 28%;
	position: absolute;
	bottom: 16%;
	left: 66.5%;
	z-index: 2;
}
.mv .about p {
	font-size: 0.95vw;
	position: static;
}
.mv .about p span {
	padding-bottom: 0.3em;
	border-bottom: #FC76A5 2px solid;
}
.mv picture {
	position: relative;
	z-index: 1;
}
.mv picture img {
	width: 100%;
	max-width: 150%;
}
.mv .float {
	position: absolute;
	top: 58%;
	right: -6%;
}
.mv ul {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
.mv .scdown {
	position: absolute;
	bottom: 0;
	left: 5%;
}
.mv .note {
	position: absolute;
	bottom: 3%;
	left: 3%;
	color: #fff;
}
.mv a {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 2;
  display: inline-block;
  transform: translate(-50%, -200%);
  text-decoration: none;
	color: #000;
}
.mv a span {
  position: absolute;
  top: 30px;
  left: 50%;
  width: 40px;
  margin-left: -20px;
}
.mv a span::before {
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 26px;
  height: 26px;
  content: '';
  margin-left: -13px;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.mv a span::after {
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 26px;
  height: 26px;
  content: '';
  margin-left: -13px;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}

.slider_fade {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	padding-top: 62.5%;
}
.slider_fade li {
	position: absolute;
	top: 0;
	list-style: none;
	opacity: 0;
	animation: anime_slider_fade 24s linear infinite;
	width: 100%;
}
.slider_fade li:nth-of-type(1) {
	animation: anime_slider_fade_first 24s linear infinite;
	animation-delay: 0s;
}
.slider_fade li:nth-of-type(2) {
	animation-delay: 6s;
}
.slider_fade li:nth-of-type(3) {
	animation-delay: 12s;
}
.slider_fade li:nth-of-type(4) {
	animation-delay: 18s;
}

@keyframes anime_slider_fade_first {
	0% {
		opacity: 1;
	}
	20% {
		opacity: 1;
	}
	35% {
		opacity: 1;
	}
	40% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes anime_slider_fade {
	0% {
		opacity: 0;
	}
	20% {
		opacity: 1;
	}
	35% {
		opacity: 1;
	}
	40% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

@media screen and (max-width: 767px) {
	.mv {
		background: #ffffff;
	}
	.mv h1 {
		position: absolute;
		width: 28%;
		margin: 0 auto;
		top: 3%;
		left: 0;
		right: 0;
	}
	.mv h1 img {
		width: 100%;
	}
	.mv h2 {
		text-align: left;
		line-height: 1.6;
		font-size: 5.4vw;
		letter-spacing: 0.2em;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		position: absolute;
		top: 12%;
		left: 9%;
		z-index: 2;
	}
	.mv p {
		position: relative;
		font-size: 4vw;
		color: #532EC3;
		text-align: center;
		left: 0;
		right: 0;
		margin-bottom: 3em;
	}
	.mv .about {
		width: 84%;
		margin: 0 auto 10%;
		position: static;
	}
	.mv .about p {
		color: #532EC3;
		font-size: 4vw;
		position: static;
		margin-bottom: 0;
	}
	.mv .scdown {
		display: none;
	}
	.mv .note {
		position: relative;
		color: #888;
		font-size: 2.6vw;
		left: 5%;
		bottom: auto;
		margin-top: 0;
		margin-bottom: 4em;
	}
	.slider_fade {
		margin-top: 82%;
		padding-top: 100.5%;
	}
}
@media screen and (min-width: 1680px) {
	.mv h2 {
		font-size: 48px !important;
	}
	.mv p {
		font-size: 16px !important;
	}
}


section {
	padding: 5%;
	text-align: center;
}
section h1 {
	margin: 0 auto 1em;
	font-size: 2.5rem;
	letter-spacing: 0.1em;
	font-weight: 400;
	line-height: 1.5;
}
section h1 span {
	display: inline-block;
	font-size: 1.875rem;
	letter-spacing: 0.3em;
	margin-bottom: 1em;
}
section h1 img {
	height: auto;
	margin-bottom: 5px;
	margin-left: 5%;
}
section h2 {
	font-size: 1.5rem;
}
section h3 {
	font-size: 1.2rem;
}

p.lead {
	font-size: 1.125rem;
	margin-bottom: 2em;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}

@media screen and (max-width: 767px) {
	section h1 {
		font-size: 1.375rem;
	}
	section h1 span {
		font-size: 1.25rem;
	}
	section h1 img {
		height: auto;
		width: 19%;
		margin-bottom: 5px;
		margin-left: 10%;
	}
	.mb50 {
		margin-bottom: 8% !important;
	}
	.mb100 {
		margin-bottom: 15% !important;
	}
}

@media screen and (min-width: 769px) {
	#floating {
		position: fixed;
		z-index: 90;
		bottom: 10%;
		right: 0;
	}
	#floating a {
		width: 60px;
		height: 230px;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		color: #fff;
		letter-spacing: 2px;
		font-size: 1.1875rem;
		padding: 2em 1.2em 1em 1em;
		background: #FC76A5;
		box-shadow: 0px 8px 10px #20006733;
		border-radius: 20px 0px 0px 20px;
		position: relative;
	}
	#floating a::before {
		content: "";
		position: absolute;
		margin: auto;
		left: 0; right: 0;
		bottom: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 24px;
		height: 24px;
		background: #ffffff;
		border-radius: 12px;
	}
	#floating a::after {
		content: "";
		position: absolute;
		margin: auto;
		left: 0; right: 0;
		bottom: 24px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 8px;
		height: 8px;
		border-bottom: solid 2px #FC76A5;
		border-right: solid 2px #FC76A5;
		transform: translateY(-50%) rotate(45deg);
	}
	#floating a:hover {
		opacity: 0.9;
	}
	#floating a:hover::before {
		bottom: 15px;
	}
	#floating a:hover::after {
		bottom: 19px;
	}
}

@media screen and (max-width: 767px) {
	#floating {
		position: fixed;
		z-index: 90;
		bottom: 3%;
		right: 3%;
	}
	#floating a {
		color: #fff;
		letter-spacing: 2px;
		font-size: 1rem;
		padding: 0.5em 2em;
		background: #FC76A5;
		box-shadow: 0px 8px 10px #20006733;
		border-radius: 20px;
		position: relative;
	}
	#floating a::before {
		content: "";
		position: absolute;
		margin: auto;
		top: 0; bottom: 0;
		right: 14px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 14px;
		height: 14px;
		background: #ffffff;
		border-radius: 8px;
	}
	#floating a::after {
		content: "";
		position: absolute;
		margin: auto;
		top: 0; bottom: 0;
		right: 18px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 6px;
		height: 6px;
		border-bottom: solid 2px #FC76A5;
		border-right: solid 2px #FC76A5;
		transform: translateY(-30%) rotate(45deg);
	}
}


/*-----------------------------
sec01
-------------------------------*/
.sec01 {
	background: rgba(0, 19, 121, 1);
	background-image: linear-gradient(90deg, rgba(0, 19, 121, 1), rgba(0, 12, 74, 1));
	color: #ffffff;
}
.sec01 h1 span {
	color: #FC76A5;
	font-size: 2.25rem;
}
.sec01 dl {
	color: #fff;
	text-align: left;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 1.5em;
}
.sec01 dl dt {
	border: #FC76A5 1px solid;
	border-radius: 1.5em;
	padding: 3px 23px;
	font-size: 1.25rem;
	color: #FC76A5;
	text-align: center;
	margin-right: 1em;
}
.sec01 dl dd {
	padding: 3px 0;
	line-height: 1.7;
}
.sec01 dl dd a {
	color: #fff;
	text-decoration: underline;
}
.sec01 dl dd a:hover {
	text-decoration: none;
}
section#instagram {
  padding: 0 5% 5%;
}

@media screen and (max-width: 767px) {
	.sec01 {
		padding: 10% 5% 10% !important;
	}
	section#instagram {
		padding: 0 5% 10% !important;
	}
	.sec01 h1 span {
		font-size: 1.75rem;
		margin: 0;
	}
	.sec01 dl {
		margin-left: -9%;
		font-size: 1rem;
	}
	.sec01 dl dt {
		padding: 3px 23px 3px 30px;
		font-size: 1.1rem;
	}
	.sec01 dl dd {
		font-size: 0.9333rem;
		padding: 0;
	}
}



/*-----------------------------
soranana
-------------------------------*/
#soranana {
	padding: 0 0 28%;
	background-color: #532EC3;
	background-image: url("../images/sec_bg_head.png"), url("../images/sec_bg_bottom.png"), url("../images/sec_bg.png");
	background-position: top center, bottom center, top center;
	background-repeat: no-repeat, no-repeat, repeat-y;
	background-size: contain, contain, contain;
}
@media screen and (max-width: 767px) {
	#soranana {
		padding: 0 0 20%;
		background-image: url("../images/sec_bg_head_sp.png"), url("../images/sec_bg_bottom_sp.png"), url("../images/sec_bg.png");
		background-position: top center, bottom center, top center;
		background-repeat: no-repeat, no-repeat, repeat-y;
		background-size: contain, contain, contain;
	}
}

/*-----------------------------
sec02
-------------------------------*/
.sec02 {
	padding: 5% 5% 0 !important;
	color: #fff;
}
.sec02 p.lead {
	color: #fff;
	margin-bottom: 3em;
}
.sec02 .step {
	padding: 60px 55px 50px;
	background: #FFFFFF;
	box-shadow: 0px 8px 25px #2000674D;
	border-radius: 60px;
	text-align: center;
	margin-top: 100px;
	position: relative;
}
.sec02 .step + .step::before {
	content: "";
	width: 40px;
  height: 40px;
  border: 1px solid;
  border-color:  transparent transparent #E5E8FA #E5E8FA;
  transform: rotate(-45deg);
	margin: auto;
	position: absolute;
	bottom: 110%;
	left: 0;
	right: 0;
}
.sec02 .step h2 {
	margin: -95px auto 1em;
	width: 425px;
	background: transparent linear-gradient(90deg, #F4BAD5 0%, #DC8AEE 100%) 0% 0% no-repeat padding-box;
	border-radius: 35px;
	text-align: center;
	font-size: 1.375rem;
	letter-spacing: 1.76px;
	color: #532EC3;
	line-height: 70px;
}
.sec02 .step h3 {
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: 2.88px;
	color: #532EC3;
	margin-bottom: 1em;
}
.sec02 .step .flex {
	width: 100%;
	justify-content: space-between;
}
.sec02 .step .flex li {
	width: 30%;
}
.sec02 .step .flex li:nth-child(2) {
	/*padding: 0 46px;*/
	border-right: #65CDD1 3px dotted;
	border-left:  #65CDD1 3px dotted;
	position: relative;
	width:35%;
	padding: 0 2.5%;
}
.sec02 .step .flex li:nth-child(2)::before,
.sec02 .step .flex li:nth-child(2)::after {
	content: "";
	display: block;
	width: 22px;
	height: 25px;
	background: url( "../images/step_arrow.svg") no-repeat;
	background-size: cover;
	position: absolute;
	top: 30%;
}
.sec02 .step .flex li:nth-child(2)::before {
	right: -12px;
}
.sec02 .step .flex li:nth-child(2)::after {
	left: -12px;
}
.sec02 figure {
	position: relative;
	max-width: 1000px;
	margin: 0 auto 32px;
}
.sec02 figure em {
	position: absolute;
	top: 0;
	left: -10px;
	font-size: 1.875rem;
	color: #fff;
	line-height: 50px;
	text-align: center;
	display: block;
	width: 50px;
	height: 50px;
	padding-left: 5px;
	border-radius: 25px;
	background: #FF76A5;
}
.sec02 .op2 figure em {
	background: #532EC3;
}
.sec02 p {
	text-align: center;
	letter-spacing: 1.6px;
	color: #532EC3;
}
.sec02 p span {
	color: #888888;
	font-size: 0.875rem;
	letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
	.sec02 {
		padding: 10% 5% 0 !important;
	}
	.sec02 p {
		text-align: left;
	}
	.sec02 p.lead {
		font-size: 1rem;
		line-height: 2.2;
	}
	.sec02 .step {
		padding: 10%;
		border-radius: 30px;
		margin-top: 80px;
	}
	.sec02 .step + .step::before {
		content: "";
		bottom: 103.5%;
	}
	.sec02 .step h2 {
		margin: -60px auto 1.5em;
		padding: 1.2em 0;
		width: 100%;
		font-size: 1rem;
		line-height: 1.2;
	}
	.sec02 .step h3 {
		font-size: 1.2rem;
	}
	.sec02 .step p {
		text-align: center;
	}
	.sec02 .step .flex {
		width: 100%;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.sec02 .step .flex li {
		width: 100%;
	}
	.sec02 .step .flex li:nth-child(1) {
		padding-bottom: 10%;
	}
	.sec02 .step .flex li:nth-child(2) {
		width: 100%;
		padding: 10% 0;
		border: none;
		border-top: #65CDD1 2px dotted;
		border-bottom:  #65CDD1 2px dotted;
	}
	.sec02 .step .flex li:nth-child(3) {
		padding-top: 10%;
	}
	.sec02 .step .flex li:nth-child(2)::before,
	.sec02 .step .flex li:nth-child(2)::after {
		content: "";
		display: block;
		width: 18px;
		height: 20px;
		background: url( "../images/step_arrow.svg") no-repeat;
		background-size: cover;
		position: absolute;
		margin: auto;
		left: 0; right: 0;
		-webkit-transform: rotate(90deg);
						transform: rotate(90deg);
	}
	.sec02 .step .flex li:nth-child(2)::before {
		top: -10px;
	}
	.sec02 .step .flex li:nth-child(2)::after {
		top: 97%;
	}
	.sec02 figure {
		margin: 0 auto 5%;
	}
	.sec02 figure .logo {
		width: 35%;
	}
}


.sec02 .rsp {
	border: #DBB7FF 1px solid;
	border-radius: 60px;
	margin-top: 145px;
	position: relative;
	/*padding: 100px;*/
	Padding: 8%;
}
.sec02 .rsp h2 {
	display: block;
	width: 450px;
	background: #532EC3;
	border: #DBB7FF 1px solid;
	border-radius: 60px;
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 1.92px;
	padding: 0.2em 0.5em;
	position: absolute;
	top: -40px;
	left: 0; right: 0;
	margin: auto;
}
.sec02 .rsp h2::before {
	content: "";
	display: block;
	margin: auto;
	width: 82%;
	height: 104%;
	background: #532EC3;
	position: absolute;
	top: -2%;
	left: 0; right: 0;
}
.sec02 .rsp h2 span {
	position: relative;
	z-index: 2;
}
.sec02 .rsp h2 em {
	color: #65CDD1;
	letter-spacing: 1.2px;
}
.sec02 .rsp > .flex {
	justify-content: space-between;
}
.sec02 .rsp > .flex li:nth-child(1) {
	width: 20%;
}
.sec02 .rsp > .flex li:nth-child(2) {
	width: 75%;
}
.sec02 .rsp > .flex div {
	text-align: right;
	padding-top: 1em;
}

.sec02 .rsp .btn {
	display: inline-block;
	background: rgba(255,255,255,1.00);
	border-radius: 40px;
	letter-spacing: 1.6px;
	color: #20A3A8;
	padding: 1.5em 2em 1.5em;
	position: relative;
}
.sec02 .rsp .btn span {
  width: 14px;
  fill: #20A3A8;
  display: inline-block;
  margin: 0 0 0 5px;
}
.sec02 .rsp .btn:hover {
	background: rgba(255,255,255,0.9);
}
/*
.sec02 .rsp .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
	margin: auto;
  left: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
	background: #65CDD1;
	border-radius: 12px;
}
.sec02 .rsp .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 1.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 8px;
  height: 8px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: translateY(-50%) rotate(45deg);
}
.sec02 .rsp .btn:hover::before {
  left: 2rem;
}
.sec02 .rsp .btn:hover::after {
  left: 2.4rem;
}
*/
.sec02 .rsp .flex p {
	color: #fff;
	text-align: left;
}
.sec02 .rsp .results {
	background: #36008D;
	border-radius: 50px;
	padding: 35px 60px 60px;
	margin-top: 60px;
	position: relative;
}
.sec02 .rsp .results .flex li:nth-child(1){
	width: 30%;
}
.sec02 .rsp .results .flex li:nth-child(3){
	width: 38%;
	padding: 10px 4% 20px 5%;
}
.sec02 .rsp .results + .results {
	padding: 50px 60px 50px;
}
.sec02 .rsp .results + .results::before,
.sec02 .rsp .results + .results::after {
	content: "";
	display: block;
	background: #E5E8FA;
	width: 1px;
	height: 30px;
	margin: auto;
	position: absolute;
	bottom: 110%;
	left: 0; right: 0;
}
.sec02 .rsp .results + .results::before {
	transform: rotate(-90deg);
}
.sec02 .rsp .results + .results figure {
	position: absolute;
	top: -50px;
	left: 8%;
}
.sec02 .rsp .results p {
	color: #fff;
	font-size: 1.125rem;
}
.sec02 .rsp .results + .results p {
	font-size: 1.5rem;
}
.sec02 .rsp .results + .results p.note {
	font-size: 1rem;
	padding-top: 0;
	text-align: center;
	margin-top: 1em;
}
.sec02 .rsp .results .flex {
	width: 100%;
	background: #ffffff;
	border-radius: 30px;
	overflow: hidden;
	justify-content: space-between;
	align-items: center;
	margin-top: 30px;
}
.sec02 .rsp .results .flex li:nth-child(2) {
}
.sec02 .rsp .results .flex p.name {
	color: #532EC3;
	text-align: left;
	font-size: 1rem;
}
.sec02 .rsp .results .flex p.name span {
	font-size: 2.625rem;
	font-weight: 500;
}
.sec02 .rsp .results .flex p.day {
	color: #888888;
	text-align: left;
	font-size: 0.875rem;
	padding-top: 1em;
}
.sec02 .rsp .results .flex li:nth-child(3) {
	background-image: url("../images/star01.svg"), url("../images/star02.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left 15px bottom 15px, right 10px top 10px;
	background-color: #65CDD1;
	border-radius: 55px 0px 0px 55px;
	color: #000D55;
	/*padding: 10px 70px 20px 90px;*/
	text-align: center;
}
.sec02 .rsp .results .flex li:nth-child(3) em {
	color: #fff;
}
.sec02 .rsp .results .flex li:nth-child(3) em span {
	font-size: 3.75rem;
	letter-spacing: 4.8px;
}

@media screen and (max-width: 767px) {
	.sec02 .rsp {
		border-radius: 30px;
		padding: 10% 8%;
		margin-top: 100px;
	}
	.sec02 .rsp h2 {
		width: 100%;
		background: none;
		border: none;
		font-size: 1.2rem;
		line-height: 1.5;
		text-align: center;
		letter-spacing: 1.92px;
		padding: 0;
		position: relative;
		top: 0;
		left: 0; right: 0;
		margin: 0 auto 8%;
	}
	.sec02 .rsp h2::before {
		content: "";
		display: none;
	}
	.sec02 .rsp > .flex {
		display: block;
	}
	.sec02 .rsp > .flex li:nth-child(1) {
		width: 70%;
		margin: 0 auto 10%;
	}
	.sec02 .rsp > .flex li:nth-child(2) {
		width: 100%;
	}
	.sec02 .rsp > .flex div {
		text-align: center;
		padding-top: 2em;
	}
	.sec02 .rsp .btn {
		font-size: 0.9rem;
		letter-spacing: 0;
		padding: 1.2em 1.5em 1.2em;
	}
	
	.sec02 .rsp .results {
		border-radius: 25px;
		padding: 5%;
		margin-top: 60px;
	}
	.sec02 .rsp .results + .results {
		padding: 10% 5% 10%;
		margin-top: 100px;
	}
	.sec02 .rsp .results + .results::before,
	.sec02 .rsp .results + .results::after {
		content: "";
		display: block;
		background: #E5E8FA;
		width: 1px;
		height: 30px;
		margin: auto;
		position: absolute;
		bottom: 125%;
		left: 0; right: 0;
	}
	.sec02 .rsp .results + .results figure {
		width: 28%;
		position: absolute;
		margin: auto;
		left: 0; right: 0;
		top: -50px;
	}
	.sec02 .rsp .results p {
		font-size: 1rem;
		text-align: center;
	}
	.sec02 .rsp .results + .results p {
		font-size: 1rem;
	}
	.sec02 .rsp .results + .results p.note {
		font-size: 0.875rem;
		line-height: 1.5;
	}
	.sec02 .rsp .results .flex {
		border-radius: 20px;
		overflow: hidden;
		flex-direction: column;
		margin-top: 5%;
	}
	.sec02 .rsp .results .flex li:nth-child(1) {
		width: 100%;
	}
	.sec02 .rsp .results .flex li:nth-child(2) {
		width: 80%;
	}
	.sec02 .rsp .results .flex li:nth-child(3) {
		width: 80%;
	}
	.sec02 .rsp .results .flex img {
		width: 100% !important;
		height: auto;
	}
	.sec02 .rsp .results .flex p.name {
		padding-top: 0.8em;
	}
	.sec02 .rsp .results .flex p.day {
		padding-top: 0.5em;
		margin-bottom: 1em;
	}
	.sec02 .rsp .results .flex li:nth-child(3) {
		background-image: url("../images/star01.svg"), url("../images/star02.svg");
		background-repeat: no-repeat, no-repeat;
		background-position: left 15px bottom 15px, right 10px top 10px;
		border-radius: 20px 20px 0px 0px;
		padding: 20px;
	}
	.sec02 .rsp .results .flex li:nth-child(3) em span {
		font-size: 2.7rem;
		letter-spacing: 4px;
	}
}




/*-----------------------------
sec03
-------------------------------*/
.sec03 {
	padding: 10% 5% 3% !important;
	color: #fff;
}
.sec03 h1 {
	max-width: 1200px;
	position: relative;
}
.sec03 h1 .balloon {
	display: flex;
  justify-content: center;
  align-items: center;
	background: url("../images/balloon_example.svg") no-repeat;
	background-size: cover;
	width: 245px;
	height: 186px;
	font-size: 1.125rem;
	color: #fff;
	letter-spacing: 1.6px;
	line-height: 1.5;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
}

.sec03 .event {
	padding-top: 5%;
}
.sec03 .event h3 {
	font-size: 1.2rem;
	padding: 0.4em 0;
	margin: 0 auto 3%;
}
.sec03 .event h3 span {
	position: relative;
	display: inline-block;
	padding: 0.3em 0;
	line-height: 1.4;
}
.sec03 .event h3 span::before,
.sec03 .event h3 span::after {
	content: "";
	width: 1px;
	height: 100%;
	background: #ffffff;
	position: absolute;
	margin: auto;
	top: 0; bottom: 0;
}
.sec03 .event h3 span::before {
	transform: rotate(-30deg);
	left: -24px;
}
.sec03 .event h3 span::after {
	transform: rotate(30deg);
	right: -24px;
}

.sec03 .event .flex {
	justify-content: space-between;
	flex-wrap: wrap;
}
.sec03 .event .flex div {
	width: 19%;
	text-align: center;
}
@media only screen and (min-width: 768px) {
	.sec03 .event .flex div:nth-child(2),
	.sec03 .event .flex div:nth-child(4) {
		padding-top: 100px;
	}
}
.sec03 .event p {
	text-align: center;
	line-height: 1.5;
	padding-top: 1em;
}

@media screen and (max-width: 767px) {
	.sec03 {
		padding: 25% 5% 10% !important;
	}
	.sec03 h1 .balloon {
		width: 40%;
		height: 50%;
		background-size: contain;
		font-size: 0.8rem;
		letter-spacing: 1px;
		position: absolute;
		right: auto;
		left: -9%;
		bottom: 65%;
		top: auto;
	}
	.sec03 .event {
		padding-top: 14%;
	}
	.sec03 .event h3 {
		font-size: 1rem;
		width: 100%;
	}
	.sec03 .event .flex {
		justify-content: center;
	}
	.sec03 .event .flex div {
		width: 50%;
		padding: 0 5% 10%;
	}
}

.swiper {
  width: 100%;
  height: auto;
	padding: 0 40px 30px;
}
.swiper-slide {
	position: relative;
	border-radius: 60px;
	overflow: hidden;
}
.swiper-slide div {
	display: block;
	width: 100%;
	height: 100%;
	background: transparent linear-gradient(180deg, #00000000 0%, #00000000 75%, #00000080 89%, #000000 100%) 0% 0% no-repeat padding-box;
	position: absolute;
	bottom: 0;
}
.swiper-slide div p {
	position: absolute;
	bottom: 3%;
	left: 6%;
}

/* 前へ / 次へボタン */
.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 80px;
  height: 80px;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
	background: #FC76A5;
}
.swiper-button-prev::after, .swiper-button-next::after {
  width: 20px;
  height: 20px;
  content: "";
  border: solid #fff;
  border-width: 2px 2px 0 0;
}
.swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.swiper-pagination-bullet {
	background: #A997E1;
	opacity: 1;
}
.swiper-pagination-bullet-active {
  background: #FC76A5;
}

@media screen and (max-width: 767px) {
	.swiper {
		width: calc( 100% + 20px);
		height: auto;
		padding: 0 20px 30px;
		margin: 0 -10px;
	}
	.swiper-slide {
		border-radius: 20px;
	}
	.swiper-slide div p {
		position: absolute;
		bottom: 3%;
		left: 0; right: 0;
		margin: auto;
		font-size: 0.8rem;
	}
	.swiper-button-prev, .swiper-button-next {
		width: 40px;
		height: 40px;
		top: 45%;
	}
	.swiper-button-prev::after, .swiper-button-next::after {
		width: 10px;
		height: 10px;
	}
	.swiper-button-prev::after {
		margin-left: 0;
	}
	.swiper-button-next::after {
		margin-right: 0;
	}

	.swiper-button-prev, .swiper-rtl .swiper-button-next {
		left: 0;
	}
	.swiper-button-next, .swiper-rtl .swiper-button-prev {
		right: 0;
	}
}




/*-----------------------------
sec04
-------------------------------*/
.sec04 {
	padding: 0 5% 3% !important;
}
.sec04 .contentWrap {
	border-bottom: #65CDD1 2px dotted;
	padding-bottom: 100px;
}
.sec04 h1 {
	max-width: 1200px;
	color: #532EC3;
	font-size: 3rem;
	position: relative;
}
.sec04 h1 .balloon {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../images/balloon_package.svg") no-repeat;
  background-size: cover;
  width: 245px;
  height: 186px;
  font-size: 1.25rem;
  color: #fff;
  letter-spacing: 1px;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  right: 0;
	top: -100px;
}
.sec04 .packagebox {
	background: #EEF0FC;
	border-radius: 40px;
	padding: 50px 60px;
	margin-top: 30px;
}
.sec04 h2 {
	text-align: left;
	margin-bottom: 0.8em;
	font-size: 1.5rem;
	letter-spacing: 1px;
	color: #532EC3;
}
.sec04 h2 span {
	display: inline-block;
	vertical-align: middle;
	background: #65CDD1;
	border-radius: 1.5em;
	color: #fff;
	font-size: 56%;
	padding: 0.3em 1em 0.5em;
	margin-right: 1em;
	position: relative;
}
.sec04 h2 span::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 9px;
	border-color: transparent transparent transparent #65CDD1;
	position: absolute;
	margin: auto;
	top: 0; bottom: 0;
	left: 99%;
}
.sec04 .flex {
	justify-content: space-between;
	flex-wrap: wrap;
}
.sec04 .flex dt {
	width: 400px;
	width: 480px;
	text-align: left;
	position: relative;
}
.sec04 .flex dd {
	width: 610px;
	width: 580px;
}
.sec04 .noimage .flex {
	align-items: center;
	text-align: left;
}
.sec04 .noimage .flex h2 {
	margin: 0;
}
.sec04 .flex.image {
	position: relative;
}
.sec04 .flex.image li {
	width: 260px;
	height: 220px;
	background: #ffffff;
	border-radius: 20px;
	font-size: 0.75rem;
	text-align: center;
	/*position: relative;*/
	padding: 0 15px;
	
	display: flex;
  justify-content: center;
  align-items: center;
}
.sec04 .preparation .flex.image li {
  width: 260px;
  height: 280px;
}
.sec04 .flex.image li p {
	letter-spacing: 0;
	font-size: 1.5rem;
}
.sec04 .flex.image li p.note {
	letter-spacing: 0;
	font-size: 0.75rem;
	text-align: center;
	margin-top: 0.5em;
}
.sec04 .flex.image li + li::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: url("../images/event_plus.svg") no-repeat;
	background-size: cover;
	position: absolute;
	margin: auto;
	right: 0; left: 0;
	top: 0; bottom: 0;
}
.sec04 .flex.price {
	width: 100%;
	max-width: 400px;
	background: #532EC3;
	border-radius: 35px;
	padding: 15px 30px;
	color: #fff;
	align-items: center;
	position: absolute;
	bottom: 0;
}
.sec04 .flex.price li:nth-child(2) {
	font-size: 1.5rem;
}
.sec04 .flex.price li:nth-child(2) em {
	font-size: 2.625rem;
	letter-spacing: 3.36px;
}
.sec04 .preparation .flex.price {
	bottom: 20%;
}
.sec04 .preparation p.link {
	position: absolute;
	width: 100%;
	text-align: left;
	bottom: 5px; left: 0;
}
.sec04 .preparation p.link a {
	display: inline-block;
}
.sec04 #support_cp .flex.image li:first-child {
	background: none;
	width: 300px;
}
.sec04 #support_cp .flex.image li + li::before {
	content: "";
	display: none;
}
.sec04 #support_cp .flex.image + .flex li {
	padding-left: 4em;
}

.btn_entry {
	display: inline-block;
	background: #FC76A5;
	color: #fff;
	text-align: center;
	letter-spacing: 2px;
	font-size: 1.1875rem;
	padding: 1em 4em 1em;
	border-radius: 1.5em;
	position: relative;
	margin-top: 2em;
}
.btn_entry::before {
	content: "";
	position: absolute;
	margin: auto;
	top: 0; bottom: 0;
	right: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	background: #ffffff;
	border-radius: 12px;
}
.btn_entry::after {
	content: "";
	position: absolute;
	margin: auto;
	top: 6px; bottom: 0;
	right: 28px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 8px;
	height: 8px;
	border-bottom: solid 2px #FC76A5;
	border-right: solid 2px #FC76A5;
	transform: translateY(-50%) rotate(45deg);
}
.btn_entry:hover {
	opacity: 0.8;
}
.btn_entry:hover::before {
	top: 10px;
}
.btn_entry:hover::after {
	top: 19px;
}

@media screen and (max-width: 1330px) {
	.sec04 .flex dt {
		width: 40%;
	}
	.sec04 .flex.price {
		position: relative;
		margin-top: 6%;
	}
	.sec04 .flex dd {
		width: 56%;
	}
	.sec04 .flex.image li,
	.sec04 .preparation .flex.image li {
		width: 45%;
		height: auto;
		padding: 10% 15px;
	}
	.sec04 .flex.image li img {
		width: 100%;
		height: auto;
	}
	.sec04 .preparation .flex.price {
		position: relative;
		bottom: 2%;
	}
	.sec04 .preparation p.link {
		bottom: auto; top: 100%;
	}
}
@media screen and (max-width: 767px) {
	.sec04 {
		margin-top: -1px;
		padding: 10% 5% 10% !important;
	}
	.sec04 h1 {
		font-size: 1.6rem;
	}
	.sec04 h1 .balloon {
		width: 40%;
		height: 110%;
		background-size: contain;
		font-size: 0.7rem;
		letter-spacing: 0;
		right: -5%;
		top: auto;
		bottom: 100%;
	}
	.sec04 .packagebox {
		border-radius: 30px;
		padding: 10% 10% 40%;
		margin-top: 30px;
		position: relative;
	}
	.sec04 .packagebox.preparation {
		padding: 10% 10% 50%;
	}
	.sec04 h2 {
		font-size: 1.2rem;
	}
	.sec04 .flex {
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.sec04 .flex dt {
		width: 100%;
		text-align: left;
		position: static;
	}
	.sec04 .flex dd {
		width: 100%;
		padding-top: 10%;
	}
	.sec04 .packagebox.noimage {
		padding: 10% 10% 10%;
	}
	.sec04 .noimage .flex dd {
		padding-top: 0;
	}
	.sec04 .noimage .flex h2 {
		margin-bottom: 0.8em;
	}
	.sec04 .flex.image li {
		width: 100%;
		height: auto;
		padding: 10% 5%;
		font-size: 0.7rem;
	}
	.sec04 .preparation .flex.image li {
		width: 100%;
		height: auto;
	}
	.sec04 .flex.image li img {
		width: 100% !important;
	}
	.sec04 .flex.image li + li {
		margin-top: 15%;
	}
	.sec04 .flex.image li + li::before {
		content: "";
		width: 20px;
		height: 20px;
	}
	.sec04 .flex.price {
		width: 80%;
		border-radius: 35px;
		padding: 15px 30px;
		position: absolute;
		bottom: 5%;
	}
	.sec04 .flex.price li:nth-child(2) {
		font-size: 1rem;
	}
	.sec04 .flex.price li:nth-child(2) em {
		font-size: 1.866rem;
		letter-spacing: 3.36px;
	}
	.sec04 .preparation .flex.price {
		position: absolute;
		bottom: 8%;
	}
	.sec04 .preparation p.link {
		text-align: center;
		top: auto;
		bottom: 3%;
	}
	
	.sec04 #support_cp h2 {
		text-align: center;
	}
	.sec04 #support_cp.packagebox {
		padding: 10% 10% 10%;
	}
	.sec04 h2 span {
		margin: 0 auto 0.5em;
	}
	.sec04 h2 span::after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 7px 4.5px 0 4.5px;
		border-color: #65CDD1 transparent transparent transparent;
		position: absolute;
		margin: auto;
		top: 100%; bottom: 0;
		left: 0; right: 0;
	}
	.sec04 #support_cp .flex.image li:first-child {
		width: 100%;
	}
	.sec04 #support_cp .flex.image + .flex li {
		padding-left: 0;
	}
}



/*-----------------------------
sec05
-------------------------------*/
.sec05 {
	padding: 0 5% 3% !important;
}
.sec05 .contentWrap {
	border-bottom: #65CDD1 2px dotted;
	padding-bottom: 100px;
}
.sec05 h1 {
	color: #532EC3;
	font-size: 3rem;
}
.sec05 .accordion {
	border-radius: 60px;
	overflow: hidden;
	text-align: left;
	margin-top: 40px;
}
.sec05 .accordion dt {
	background: #EEF0FC;
	padding: 30px;
	font-size: 1.25rem;
	letter-spacing: 2px;
	position: relative;
	
	padding: 40px 90px 40px 100px;
	line-height: 1.4;
}
.sec05 .accordion dt num {
	display: inline-block;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	background: #532EC3;
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	line-height: 60px;
	margin-right: 1em;
	
	position: absolute;
	margin: auto;
	left: 20px;
	top: 0; bottom: 0;
}
.sec05 .accordion dt::before,
.sec05 .accordion dt::after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 2px;
	background: #4D34BC;
	position: absolute;
	top: 50%;
	right: 54px;
	-webkit-transition: all 0.3s ease-out;
		 -moz-transition: all 0.3s ease-out;
			-ms-transition: all 0.3s ease-out;
			 -o-transition: all 0.3s ease-out;
					transition: all 0.3s ease-out;
}
.sec05 .accordion dt::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.sec05 .accordion dt.open::after {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}
.sec05 .accordion dd {
	background: #F7F8FE;
	padding: 40px 60px 50px;
	line-height: 2;
	letter-spacing: 1.6px;
	display: none;
}

@media screen and (max-width: 767px) {
	.sec05 {
		padding: 0 5% 10% !important;
	}
	.sec05 h1 {
		font-size: 1.6rem;
	}
	.sec05 .accordion {
		border-radius: 30px;
		margin-top: 20px;
	}
	.sec05 .accordion dt {
		padding: 15px 50px 15px 60px;
		font-size: 0.9333rem;
		letter-spacing: 1px;
		line-height: 1.2;
	}
	.sec05 .accordion dt num {
		width: 35px;
		height: 35px;
		border-radius: 20px;
		font-size: 0.8rem;
		line-height: 35px;
		margin-right: 0;
		position: absolute;
		left: 4%;
	}
	.sec05 .accordion dt::before,
	.sec05 .accordion dt::after {
		content: "";
		width: 16px;
		height: 2px;
		right: 20px;
	}
	.sec05 .accordion dd {
		padding: 20px 30px 30px;
		line-height: 1.6;
		letter-spacing: 1px;
		display: none;
	}
}


/*-----------------------------
sec06
-------------------------------*/
.sec06 {
	padding: 0 5% 8% !important;
}
.sec06 h1 {
	color: #532EC3;
	font-size: 3rem;
}
.sec06 .formbox {
	padding: 120px 150px 150px;
	background: #F7F8FE;
	border-radius: 60px;
	color: #000C4C;
}
.sec06 dl {
	text-align: left;
	color: #000C4C;
}
.sec06 dl + dl {
	margin-top: 45px;
	padding-top: 45px;
	border-top: #CCCCCC 1px solid;
}
.sec06 dt {
	display: flex;
	align-items: flex-start;
}
.sec06 dt .must,
.sec06 dt .any {
	display: inline-block;
	padding: 5px 0.8em;
	margin-right: 1em;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}
.sec06 dt .must {
	background: #FC76A5;
}
.sec06 dt .any {
	background: #A8A8A8;
}
.sec06 dd {
	padding-top: 1em;
	line-height: 2;
}
input[type="radio"] {
	opacity: 0;
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
label {
  position: relative;
  display: inline-block;
  padding: 3px 3px 3px 40px;
  cursor: pointer;
}
label::before {
  position: absolute;
  content: '';
  top: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  margin-top: -13px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 100%;
}
input[type="radio"]:checked + label::after {
  position: absolute;
  content: '';
  top: 50%;
  left: 6px;
  width: 13px;
  height: 13px;
  margin-top: -6px;
  background: #532EC3;
  border-radius: 100%;
}
.form-textarea {
	height: 5.6em;
	width: 100%;
	padding: 8px 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #E9DFF2 inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.form-text {
	height: 3em;
	width: 100%;
	padding: 0 16px;
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 0 1px #E9DFF2 inset;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.form-textarea:focus,
.form-text:focus {
	outline: 0;
	box-shadow: 0 0 0 2px #532EC3 inset;
}
.btnwrap {
	text-align: center;
	padding-top: 3em;
}
button {
  appearance: none;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}
.button {
	position: relative;
	display: inline-block;
	padding: 2em 2em 2em 2em;
	width: 100%;
	max-width: 640px;
	font-size: 1.5625rem;
	color: #fff;
	text-align: center;
	line-height: 1;
	background: #FC6FBD;
	background: transparent linear-gradient(270deg, #FC6FBD 0%, #B839F0 100%) 0% 0% no-repeat padding-box;
	letter-spacing: 0.1em;
	border-radius: 4em;
	box-sizing:border-box;
	cursor:pointer;
}
.button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.5em;
  margin: auto;
  display: inline-block;
  width: 38px;
  height: 38px;
	border-radius: 20px;
	background: #ffffff;
	transition: all 0.3s ease-out;
}
.button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.8em;
  margin: auto;
  display: inline-block;
  width: 15px;
  height: 15px;
  border-right: 2px solid #B93AF0;
  border-top: 2px solid #B93AF0;
  transform: rotate(45deg);
	transition: all 0.3s ease-out;
}
.button:hover {
	opacity: 0.9;
}
.button:hover::before {
  left: 2em;
}
.button:hover::after {
  left: 2.3em;
}


@media screen and (max-width: 767px) {
	.sec06 {
		padding: 0 5% 20% !important;
	}
	.sec06 h1 {
		font-size: 1.6rem;
	}
	.sec06 .formbox {
		padding: 0;
		background: #ffffff;
	}
	.form-textarea {
		background: #F7F8FE;
	}
	.form-text {
		background: #F7F8FE;
		height: 3em;
	}
	.button {
		padding: 1em 2em;
		font-size: 1.3333rem;
	}
	.button::before {
		content: "";
		left: 1.5em;
		width: 20px;
		height: 20px;
		border-radius: 10px;
	}
	.button::after {
		content: "";
		left: 1.7em;
		width: 7px;
		height: 7px;
	}
}


/*-----------------------------
sec07
-------------------------------*/
.sec07 {
	background: #fff;
	padding: 80px 5% !important;
	border-top: #cccccc 1px solid;
}
.sec07 h2 {
	text-align: center;
	margin-bottom: 0.8em;
	color: #333333;
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0.2em;
}
.sec07 p {
	margin-bottom: 3em;
}
.sec07 .flex {
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
}
.sec07 .flex li:nth-child(1) {
	width: 9%;
}
.sec07 .flex img {
	margin: 0 auto;
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 1200px) {
	.sec07 .flex {
		max-width: 900px;
	}
	.sec07 .flex li {
		width: 30%;
		margin-bottom: 5%;
	}
	.sec07 .flex li:nth-child(1) {
		width: 30%;
	}
	.sec07 .flex li:nth-child(1) img {
		width: 52%;
	}
}
@media screen and (max-width: 767px) {
	.sec07 {
		padding: 10% 10% 5% !important;
	}
	.sec07 .flex li {
		width: 46%;
		margin-bottom: 15%;
	}
	.sec07 .flex li:nth-child(1) {
		width: 46%;
	}
}











