@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&family=Zen+Maru+Gothic:wght@500&display=swap');
* {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	list-style-type: none;
	word-break: break-all;
}
html,body{
	width: 100%;
	height: 100%;
}
body {
	position: relative;
	font-family: 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif;
	font-weight: normal;
	font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-size: 3vw;
	line-height: 5vw;
	letter-spacing: 0.03em;
	background: #fff;
	color: #000;
	animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}
.txt_xs{
	font-size: 2vw;
	line-height: 3vw;
}
.txt_xs2{
	font-size: 2.5vw;
	line-height: 3.5vw;
}
.txt_s{
	font-size: 3vw;
	line-height: 4.5vw;
}
.txt_s1{
	font-size: 3.2vw;
	line-height: 5.5vw;
}
.txt_s2{
	font-size: 3.4vw;
	line-height: 5vw;
}
.txt_s3{
	font-size: 3.6vw;
	line-height: 5.5vw;
}
.txt_m{
	font-size: 3.8vw;
	line-height: 6.4vw;
}
.txt_m2{
	font-size: 4vw;
	line-height: 6.8vw;
}
.txt_ml{
	font-size: 3.5vw!important;
	line-height: 5.7vw!important;
}
.txt_mll{
	font-size: 4vw!important;
	line-height: 5.5vw!important;
}
.txt_l{
	font-size: 4.5vw;
	line-height: 7.5vw;
}
.txt_xl{
	font-size: 5.2vw!important;
	line-height: 7.2vw!important;
}
@media screen and (min-width: 750px) {
body {
	font-size: 18px;
	line-height: 28px;
}
.txt_xs{
	font-size: 15px;
	line-height:22px;
}
.txt_xs2{
	font-size: 18px;
	line-height:26px;
}
.txt_s{
	font-size: 22px;
	line-height: 30px;
}
.txt_s1{
	font-size: 22px;
	line-height: 35px;
}
.txt_s2{
	font-size: 26px;
	line-height: 38px;
}
.txt_s3{
	font-size: 27px;
	line-height: 42px;
}
.txt_m{
	font-size:  28px;
	line-height: 46px;
}
.txt_m2{
	font-size:  30px;
	line-height: 50px;
}
.txt_ml{
	font-size: 26px!important;
	line-height: 42px!important;
}
.txt_mll{
	font-size: 28px!important;
	line-height: 38px!important;
}
.txt_l{
	font-size:  34px;
	line-height: 55px;
}
.txt_xl{
	font-size: 36px!important;
	line-height: 46px!important;
}
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
.blinking{
	-webkit-animation:blink 1.5s infinite;
    -moz-animation:blink 1.5s infinite;
    animation:blink 1.5s infinite;}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}}
ul,
ol {
  padding: 0;
  margin: 0;
}
li {
  list-style-type: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
a,
a img {
	color: #000;
  text-decoration: none;
}
img{
	display:block;
	width: 100%;
	height: auto;
}
.pc{
	display: none;
}
.sp{
	display: block;
}
@media screen and (min-width: 750px) {
.pc{
	display: block;
}
.sp{
	display: none;
}
}
.mt1{
	margin-top: 1%!important;
}
.mt2{
	margin-top: 2%!important;
}
.mt3{
	margin-top: 3%!important;
}
.mt4{
	margin-top: 4%!important;
}
.mt5{
	margin-top: 5%!important;
}
.mt6{
	margin-top: 6%!important;
}
.mt7{
	margin-top: 7%!important;
}
.mt8{
	margin-top: 8%!important;
}
.mt9{
	margin-top: 9%!important;
}
.mt15{
	margin-top: 15%!important;
}
.mt18{
	margin-top: 18%!important;
}
.mt20{
	margin-top: 20%!important;
}
.txt_normal{
	font-weight: 400!important;
}
.txt_500{
	font-weight: 500!important;
}
.txt_700{
	font-weight: 700!important;
}
.txt_800{
	font-weight: 800!important;
}
.txt_center{
	text-align: center!important;
}
.contents{
	max-width: 750px;
	margin: 0 auto;
	overflow: hidden;
}
.relative{
	position: relative;
	z-index: 1;
}
.relative2{
	position: relative;
	z-index: -1;
}
.pink{
	color: #f0326e!important;
}
.blue{
	color: #3232c8!important;
}
.lightblue{
	color: #00a9b1!important;
}
.lightblue2{
	color: #00cbd3!important;
}
.green{
	color: #5fc263!important;
}
.yellow{
	color: #fff046!important;
}
.yellow_wrap{
	background: #fff046;
}
.marker_black{
	color: #fff;
	background: #000000;
	padding: 0 0.5%;
	margin: 0 0.5%;
}
.marker_pink{
	color: #fff;
	background: #f0326e;
	padding: 0 0.5%;
	margin: 0 0.5%;
}
.marker_blue{
	color: #fff;
	background: #00a9b1;
	padding: 0 0.5%;
	margin: 0 0.5%;
}
.marker_white{
	background: #fff;
	padding: 0.1% 1%;
}
.marker_white2{
	background: #fff;
	padding: 0.2% 1.5%;
}
.marker_yellow1{
	padding: 0.5% 1%;
	background: url("../img/marker_yellow1.webp")repeat-x center center;
}
.txt_narrow{
	transform: scale(1, 0.7);
	display: inline-block;
}
.pl2{
	padding-left: 2%!important;
}
.pr2{
	padding-right: 2%!important;
}
/************************************
******FLOW1
************************************/
.flow01{
	padding: 10% 0 4%;
}
.flow02{
	padding: 0 0 5%;
}
.flow03{
	position: absolute;
	z-index: 1;
	width: 26.5%;
	right: -3%;
	top: 39%;
	animation: rubberBand 2.5s ease 0.1s infinite;
}
.flow04_wrap{
	height: 100px;
}
.flow04{
	position: absolute;
	z-index: -1;
	width: 88.25%;
	top: 22%;
	left: 0;
	right: 0;
	margin: auto;
}
.flow_wrap1{
	padding: 33% 0 10%;
}
.flow_wrap2{
	margin: 32% 0 0;
	padding: 32% 0 10%;
}
.flow_wrap3{
	margin: 32% 0 0;
	padding: 32% 0 3%;
}
.flow_wrap4{
	padding: 0 0 10%;
}
.flow_wrap5{
	margin: 32% 0 0;
	padding: 32% 0 0;
}
.flow_margin1{
	margin-top: 28%!important;
}
.flow_box{
	background: #fff;
	width: 94.5%;
	margin: 0 auto;
	padding: 2% 0;
	border-radius: 13vw;
	box-shadow: 1.5vw 1.5vw 1vw 0 rgba(0,0,0,0.15);
}
.flow_step1_1{
	width: 96%;
	margin: 0 auto;
}
.flow_step1_2{
	width: 98.14%;
	margin: 0 auto;
}
.cv_bt{
	width: 89.15%;
	margin: auto;
}
.flow_text1{
	width: 84%;
	margin: 5% 0 5% 8%;
}
.flow_text2{
	padding: 3% 0 4%;
}
.flow_text3{
	padding: 6% 0 3%;
}
.flow_step{
	position: absolute;
	width: 98.375%;
	left: 0;
	right: 0;
	top: -11.5%;
	margin: auto;
}
.flow_step1{
	top: -11.5%;
}
.flow_step2{
	top: -9.5%;
}
.flow_step3{
	top: -22.9%;
}
.flow_step4{
	top: -15.9%;
}
.flow_step5{
	top: -8.9%;
}
.flow_step_now{
	position: absolute;
	z-index: -1;
	width: 21.728%;
	top: -1%;
}
.flow_step1 .flow_step_now{
	left: 1.2%;
}
.flow_step2 .flow_step_now{
	left: 20.6%;
}
.flow_step3 .flow_step_now{
	left: 40%;
}
.flow_step4 .flow_step_now{
	left: 59.2%;
}
.flow_step5 .flow_step_now{
	right: -0.5%;
}
.flow_arrow1{
	width: 0;
	height: 0;
	margin: 0 auto;
	border-style: solid;
	border-width: 6vw 12vw 0 12vw;
	border-color: #fff046 transparent transparent transparent;
}
.flow_arrow2{
	width: 0;
	height: 0;
	margin: 0 auto;
	border-style: solid;
	border-width: 6vw 12vw 0 12vw;
	border-color: #d7e4eb transparent transparent transparent;
}
@media screen and (min-width: 750px) {
.flow_box{
	border-radius: 100px;
	box-shadow: 10px 10px 5px 0 rgba(0,0,0,0.15);
}
.flow_arrow1{
	border-width: 45px 90px 0 90px;
}
.flow_arrow2{
	border-width: 45px 90px 0 90px;
}
}
/************************************
******FLOW2
************************************/
.flow_info_wrap{
	width: 89.8%;
	margin: 0 auto;
	background: #f7f4f4;
	padding: 4.5% 4%;
	font-weight: bold;
}
.cta_below_midashi{
	border-left: 4px solid #00cbd3;
	font-weight: 700;
	padding: 0 0 0 3%;
	margin: 6% 0 0;
	font-size: 130%;
	letter-spacing: 0.1em;
}
.flow2_read {
	position: relative;
	background: #f1437a;
	color: #fff;
	width: 63.4%;
	margin: 0 auto 4%;
	font-weight: bold;
	padding: 1% 0;
}
.flow2_read::after{
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	bottom: -20%;
	left: 0;
	right: 0;
	margin: auto;
	border-style: solid;
	border-width: 2vw 4vw 0 4vw;
	border-color: #f1437a transparent transparent transparent;
}
.cta_below_table1 th,
.cta_below_table1 td{
	padding: 0.5% 0;
}
.cta_below_table1 th{
	width: 14.5%;
	text-align: left;
}
.cta_below_table1 td{
}
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 46%;
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
.flow2_padding{
	padding-bottom: 8%;
}
.flow05{
	width: 60%;
	margin: 4% auto;
}
.q3_next_inner{
	background: url("../img/q3_next_bg1.webp")repeat-y;
	background-size: contain;
	padding: 8% 0 8%;
}
.q3_next4{
	width: 92.117%;
	margin: 0 auto;
}
.q3_next_box{
	position: relative;
	z-index: 1;
	background: #fff;
	width: 92%;
	margin: 0 auto;
	border-radius: 12px;
	padding: 13% 6% 8%;
}
.q3_next14{
	position: absolute;
	width: 30%;
	top: -1.3%;
	left: 6.5%;
}
.q3_next13{
	position: absolute;
	width: 30%;
	top: -2.5%;
	left: 6.5%;
}
.q3_next_arrow_blue3{
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
	bottom: -1%;
	width: 7.3%;
	margin: 0 auto;
}
.flow3_last_wrap{
	padding: 10% 0 0;
	background: url("../img/flow3_last_wrap.webp")repeat-y;
}
.flow3_last{
	width: 88.5%;
	margin: 4% auto 8%;
}
.flow07{
	width: 60.125%;
	margin: 0 auto;
	padding: 1% 0 4%;
}
.flow08{
	width: 84%;
	margin: 4% auto 6%;
}
.flow10{
	width: 96%;
	margin: 0 auto;
}
.flow14{
	width: 89.25%;
	margin: 10% auto;
}
@media screen and (min-width: 750px) {
.flow2_read::after{
	border-width: 20px 40px 0 40px;
}
}
/************************************
******FLOW-start
************************************/
.flow_start_bg{
	background: url("../img/flow_start_bg.webp")no-repeat center center;
	background-size: cover;
}
.flow_start01{
	width: 95.07%;
	margin: 0 auto;
}
.flow_start_box{
	padding-top: 7%!important;
	padding-bottom: 0!important;
	overflow: hidden;
}
.flow_baloon1{
	position: absolute;
	z-index: 2;
	width: 21%;
	left: -1%;
	top: 15%;
}
.flow_baloon2{
	position: absolute;
	z-index: 2;
	width: 21%;
	right: -1%;
	top: 15%;
}
.flow_baloon3{
	position: absolute;
	z-index: 2;
	width: 19%;
	left: 2%;
	bottom: 19%;
}
.flow_baloon4{
	position: absolute;
	z-index: 2;
	width: 19%;
	right: 2%;
	bottom: 19%;
}
.flow_baloon5{
	position: absolute;
	z-index: 2;
	width: 19%;
	left: 0;
	right: 0;
	bottom: -2%;
	margin: 0 auto;
}
.flow_baloon1 img{
	animation: rubberBand 2.5s ease 0.1s infinite;
}
.flow_baloon2 img{
	animation: rubberBand 2.5s ease 0.4s infinite;
}
.flow_baloon3 img{
	animation: rubberBand 2.5s ease 0.7s infinite;
}
.flow_baloon4 img{
	animation: rubberBand 2.5s ease 1s infinite;
}
.flow_baloon5 img{
	animation: rubberBand 2.5s ease 1.3s infinite;
}
.flow_light_1{
	position: absolute;
	z-index: 2;
	width: 6.5%;
	left: 16%;
	bottom: 43%;
	animation:blink 1.5s ease 0.2s infinite;
}
.flow_fire1_1{
	position: absolute;
	z-index: -2;
	width: 30%;
	left:3%;
	top: -7%;
	opacity: 0;
	animation:fade_fire 3s ease 0.1s infinite;
}
.flow_fire1_2{
	position: absolute;
	z-index: -2;
	width: 30%;
	right:3%;
	top: -7%;
	opacity: 0;
	animation:fade_fire 3s ease 1.1s infinite;
}
/************************************
******defference
************************************/
.q1_next_inner{
	background: url("../img/q1_next_bg.webp")no-repeat center bottom;
	background-size: cover;
	padding:15% 0 10%;
}
.q1_next_white{
	background: #fff;
	width: 92%;
	margin: 0 auto;
	box-shadow: 0 0 20px 0 rgba(0,11,91,0.2);
	padding: 46% 0 8%;
	border-bottom-left-radius: 32px;
	border-bottom-right-radius: 32px;
}
.q1_next3{
	width: 84.615%;
	margin: 0 auto;
}
.q1_next4{
	width: 78%;
	margin: 0 auto;
}
.q1_next5{
	width: 92.751%;
	margin: 0 auto;
}
.q1_next6{
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
}
.q1_next7{
	width: 98%;
	margin: 0 auto;
	filter: drop-shadow(0 0 30px rgba(255,255,255,1));
}
.q1_next8{
	width: 97%;
	margin: 0 auto;
}
.q1_next7_arrow{
	position: absolute;
	z-index: 2;
	width: 7.5%;
	top: -22%;
	left: 0;
	right: 0;
	margin: auto;
}.tabs {
	width: 92%;
	box-shadow: 0 0 20px rgba(101, 109, 151, 0.2);
	margin: 0 auto;
	border-radius: 20px;
}
.tab_item {
	position: relative;
	width: calc(100%/2);
	display: block;
	float: left;
	transition: all 0.2s ease;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
}
.tab_item::before {
	position: absolute;
	content: "";
	width: 24%;
	padding: 24% 0 0;
	background: url("../img/q1_next_pointer.webp")no-repeat center center;
	background-size: cover;
	left: 0;
	right: 0;
	margin: auto;
	top: -36%;
	animation: shake2 8s ease 0s infinite;
}
.tab_item img{
	width:62%;
	padding: 8% 0;
	margin: 0 auto;
}
input[name="tab_item"] {
	display: none;
}
.tab_content {
	display: none;
	padding: 0 0 5%;
	clear: both;
	overflow: hidden;
	background: #fff;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content {
	display: block;
}
.tabs input:checked + .tab_tit1{
	cursor: pointer;
	background-color: #ff1778;
}
.tabs input + .tab_tit1 {
	cursor: pointer;
	background-color: #dadada;
}
.tabs input:checked + .tab_tit1:hover,
.tabs input + .tab_tit1:hover {
	background-color: #ff6aa8;
}
.tabs input:checked + .tab_tit2{
	cursor: pointer;
	background-color: #0083f7;
}
.tabs input + .tab_tit2{
	cursor: pointer;
	background-color: #dadada;
}
.tabs input:checked + .tab_tit2:hover,
.tabs input + .tab_tit2:hover {
	background-color: #49aaff;
}
.tab_pic1{
	border-top: 5px solid #ff1778;
}
.tab_pic2{
	border-top: 5px solid #0083f7;
}
.arrow_blue1{
	width: 9.77%;
	margin: 0 auto;
}
.q4_next_arrow{
	position: absolute;
	z-index: 2;
	width: 7.5%;
	bottom: -12%;
	left: 0;
	right: 0;
	margin: auto;
}
/************************************
******reason
************************************/
.q2_next_arrow{
	position: absolute;
	z-index: 999;
	left: 0;
	right: 0;
	top: -26%;
	width: 7.3%;
	margin: 0 auto;
}
.q2_next3{
	position: absolute;
	z-index: 2;
	width: 18.3529%;
	top: -15%;
	right: 1%;
}
.q2_next4{
	background: url("../img/q2_next4.webp")no-repeat center center;
	background-size: cover;
	padding: 5% 0;
}
.arrow_blue1{
	width: 9.77%;
	margin: 0 auto;
}
.q2_next5{
	width: 96.66667%;
	margin: 0 auto;
}
.q2_next7{
	background: url("../img/q2_next7.webp")no-repeat center bottom;
	background-size: cover;
	padding: 6% 0;
}
.q2_next8{
	width: 98.588%;
	margin: 0 auto;
}
.q2_next10{
	width: 94.588%;
	margin: 0 auto;
}
.q2_next11{
	width: 94.588%;
	margin: 0 auto;
}
.last_wrap{
	background: url("../img/last_bg.webp")no-repeat center center;
	background-size: cover;
}
.last02{
	width: 78.75%;
	margin: 0 auto;
	padding: 10% 0 0;
}
.last04{
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -69%;
	z-index: 1;
}
.last05{
	width: 98.75%;
	margin: 60% auto 0;
	padding: 0 0 10%;
}
.last_fire2_1{
	position: absolute;
	z-index: 1;
	width: 16%;
	left: -1%;
	top: -42%;
	opacity: 0;
	animation:fade_fire 2.5s ease 0.1s infinite;
}
.last_fire2_2{
	position: absolute;
	z-index: 1;
	width: 16%;
	right: -1%;
	top: -42%;
	opacity: 0;
	animation:fade_fire 2.5s ease 0.1s infinite;
}
.footer{
	width: 100%;
	text-align: center;
	font-size: 12px;
	line-height: 20px;
	padding: 5% 0;
	background: linear-gradient(#9ffafa,#fff);
}