@charset "UTF-8";
@media screen and (max-width:768px) {
	body { overflow-x: hidden; font-size: 3.733333333333333vw; line-height: 1.5; }
	.imgr img { display: block; max-width: 100%; height: auto; }
	.container { margin-right: auto; margin-left: auto; padding-left: 4vw; padding-right: 4vw; box-sizing: border-box; }
	.mar_au img { margin: 0 auto; }
	.break_sp { display: block; }
	.break_pc { display: contents; }
	.none_sp { display: none; }
	.sp { display: block; }
	.pc { display: none; }
	#wrapper { max-width: 768px; width: 100%; }
	.inner { padding: 0 4vw; }
	img { width: 100%; max-width: 100%; height: auto; }
	p { margin: 0 0 4vw 0; font-size: 4.266666666666667vw; }
	.mb25 { margin-bottom: 3vw !important; }
	.mb30 { margin-bottom: 3vw !important; }
	.mb35 { margin-bottom: 4.666666666666667vw !important; }
	.mb40 { margin-bottom: 5.333333333333333vw !important; }
	.mb45 { margin-bottom: 4.5vw !important; }
	.mb50 { margin-bottom: 5vw !important; }
	.mb60 { margin-bottom: 6vw !important; }
	.mb65 { margin-bottom: 8.666666666666667vw !important; }
	.mb70 { margin-bottom: 9.333333333333333vw !important; }
	.mb75 { margin-bottom: 10vw !important; }
	.mb80 { margin-bottom: 10.66666666666667vw !important; }
	.mb90 { margin-bottom: 12vw !important; }
	.mb100 { margin-bottom: 13.33333333333333vw !important; }
	.mb115 { margin-bottom: 15.33333333333333vw !important; }
	.mb140 { margin-bottom: 18.66666666666667vw !important }
	.mb80sp { margin-bottom: 10.66666666666667vw !important; }
	.size15,
	.size14 { font-size: 3.2vw; }
	.size30 { font-size: 5.333333333333333vw; }
	.lt-spa-1,
	.lt-spa { letter-spacing: 0px; }
	.size_small { font-size: 60%; position: relative; top: -1.5vw; }
	.mb60sp { margin-bottom: 8vw !important; }
	.mb80sp { margin-bottom: 10vw !important; }
	.mb150sp { margin-bottom: 15vw !important; }
	.mb30sp { margin-bottom: 4vw !important; }
	.txtsp { font-size: 4.266666666666667vw; }
	.leftsp { text-align: left; }
	.highlight02_sp { background: -webkit-linear-gradient(transparent 95%, #000 50%, #000 100%, transparent 0%); background: -o-linear-gradient(transparent 95%, #000 50%, #000 100%, transparent 0%); background: linear-gradient(transparent 95%, #000 50%, #000 100%, transparent 0%); padding-bottom: 2px; }
	
	/*-- header --------------------------------
	------------------------------------------*/
	.sec_header{
		height: 13.33333333333333vw;
	}
	.sec_header h1{
		height: 13.33333333333333vw;
	}
	.sec_header h1 img{
		width: auto;
		height: 8.533333333333333vw;
	}
	/*-- /header -------------------------------
	------------------------------------------*/
	
	/*-- fv -----------------------------------
	------------------------------------------*/
	.sec_fv{
		min-height: auto;
	}
	.sec_fv .inner{
		padding: 0;
	}
	/*-- /fv ----------------------------------
	------------------------------------------*/

	/*-- cta ----------------------------------
	------------------------------------------*/
	.cta{
		padding: 9vw 0;
	}
	.cta.bottom{
		padding: 13vw 0 14vw 0;
	}
	.cta .cta_box{
		position: relative;
		padding: 0;
		z-index: 2;
		margin-bottom: 4vw;
	}
	.cta .cta_box:before{
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1;
		content: "";
		border: 1.333333333333333vw solid #39adc0;
		box-sizing: border-box;
	}
	.cta .cta_box .bg_w_cta{
		padding: 7vw 4vw;
	}
	.cta .cta_box .cta_list ul{
		max-width: 100%;
		padding: 0 4vw 0;
	}
	.cta .cta_box .cta_list ul li{
		font-size: 4.8vw;
		background: url(../images/check_sp.png) no-repeat top 6px left, url(../images/border.png) repeat-x bottom;
		background-size: 5vw 5vw, contain;
		padding-bottom: 1vw;
		margin-bottom: 3vw;
		padding-left: 7vw;
		letter-spacing: -0.3vw;
	}
	.cta .cta_box .cta_list img{
		position: unset;
	}
	.cta .btn_cta02{
		padding: 0 4vw;
	}
	.cta .btn_cta {
		position: relative;
		z-index: 3;
		-webkit-box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.35);
    -moz-box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.35);
    box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.35);
    border-radius: 2vw;
	}
	/*-- /cta ---------------------------------
	------------------------------------------*/

	/*-- sec01 --------------------------------
	------------------------------------------*/
	.sec01{
		padding: 13vw 0 11vw 0;
		background: #225057 url(../images/sp_sec01_bg.jpg) no-repeat center bottom;
		background-size: contain;
	}
	.sec01 .txt{
		text-align: center;
		font-size: 4.266666666666667vw;
	}
	.sec01 .sec01_list {
    max-width: 100%;
    margin-bottom: 37vw;
	}
	.sec01 .sec01_list li{
		font-size: 4.266666666666667vw;
		height: 12vw;
		padding: 1 1.5vw;
	}
	.sec01 .sec01_list li span{
		background-size: 3.4vw;
		padding-left: 4.5vw;
		letter-spacing: -0.3vw;
	}
	.sec01 .sec01_list li:not(:last-child){
		margin-bottom: 2vw;
	}
	.sec01 .sec01_box{
		padding: 4vw 2vw;
	}
	.sec01 .sec01_box .txt{
		font-size: 4vw;
		letter-spacing: -0.05vw;
	}
	.sec01 .sec01_box .txt span{
		font-size: 6.4vw;
	}
	.sec01 .sec01_arr{
		bottom: -5vw;
	}
	/*-- /sec01 -------------------------------
	------------------------------------------*/

	/*-- sec02 --------------------------------
	------------------------------------------*/
	.sec02{
		padding: 14vw 0 11vw 0;
		background: #fff url(../images/sp_sec02_bg.jpg) no-repeat center top;
		background-size: contain;
	}
	.sec02 h2{
		padding-bottom: 20vw;
	}
	.sec02 .sec02_box{
		padding: 6vw 0 5vw 0;
	}
	.sec02 .sec02_box p{
		font-size: 4.266666666666667vw;
	}
	.sec02 .sec02_box .size-l{
		font-size: 6.4vw;
		letter-spacing: -0.5vw;
	}
	/*-- /sec02 -------------------------------
	------------------------------------------*/

	/*-- sec03 --------------------------------
	------------------------------------------*/
	.sec03{
		padding: 12vw 0 13vw 0;
	}
	.sec03 h2 {
    margin-bottom: 14vw;
	}
	/*--
	.sec03 .d_flex_step{
		flex-wrap: wrap;
		gap: 0;
		justify-content: flex-end;
		position: relative;
	}
	--*/
	.sec03 .d_flex_step{
		display: block;
		position: relative;
	}
	.sec03 .d_flex_step:before{
		position: absolute;
		left: 4.333333333333333vw;
		top: 0;
		top: 10vw;
		width: 1.333333333333333vw;
		height: 80%;
		background: #00adbe;
		z-index: 1;
		content: "";
		margin: 0;
	}
	.sec03 .d_flex_step dl{
		width: calc(100% - 17.33333333333333vw);
		padding: 4vw;
		margin-bottom: 6.4vw;
		margin-left: 19%; /*--追加--*/
	}
	.sec03 .d_flex_step .ttl_step{
		display: none;
	}
	.d_flex_step dl:before{
		right: unset;
		top: 8vw;
		left: -7vw;
		width: 0px;
    height: 0px;
    border-top: 3vw solid transparent;
    border-bottom: 3vw solid transparent;
    border-right: 6vw solid #fff;
	}
	.d_flex_step dl:after{
		background: #00adbe;
		width: 10.66666666666667vw;
		height: 10.66666666666667vw;
		border-radius: 50%;
		position: absolute;
		left: -18vw;
		right: unset;
		z-index: 2;
		top: 5.66666666666667vw;
		content: "01";
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		line-height: 0;
		font-size: 4vw;
		font-family: "ヒラギノ明朝 ProN","Hiragino Mincho ProN","游明朝",YuMincho,"HG明朝E","MS P明朝",MS PMincho,serif !important;;;
	}
	.d_flex_step dl:nth-child(2):after{content: "02";}
	.d_flex_step dl:nth-child(3):after{content: "03";}
	.d_flex_step dl:nth-child(4):after{content: "04";}
	.d_flex_step dl dt{
		margin-bottom: 0;
		position: absolute;
		top: 4vw;
		right: 4vw;
		z-index: 1;
	}
	.d_flex_step dl dd{
		position: relative;
		z-index: 2;
	}
	.d_flex_step dl .ttl{
		text-align: left;
		justify-content: flex-start;
		min-height: 21.6vw;
	}
	.d_flex_step dl dd .txt{
		padding-top: 4vw;
	}
	/*-- /sec03 -------------------------------
	------------------------------------------*/

	/*-- sec04 --------------------------------
	------------------------------------------*/
	.sec04{
		padding: 12vw 0 15vw 0;
	}
	.sec04 .sec04_box{
		margin-top: 10vw;
	}
	.sec04 .sec04_box dl{
		border-width: 0px;
		position: relative;
		padding: 5vw 4vw;
		z-index: 1;
	}
	.sec04 .sec04_box dl:before{
		width: 100%;
		height: 100%;
		border: 1px solid #cdcdcd;
		position: absolute;
		box-sizing: border-box;
		top: 0;
		left: 0;
		right: 0;
		content: "";
	}
	.sec04 .sec04_box dl dd {
    width: 100%;
    order: 1;
	}
	.sec04 .sec04_box dl dt {
		order: 2;
	}
	/*-- /sec04 -------------------------------
	------------------------------------------*/

	/*-- sec05 --------------------------------
	------------------------------------------*/
	.sec05{
		padding: 15vw 0 12vw 0;
	}
	.sec05 .sec05_box.bg01{
		background: url(../images/sec05_box_bg_sp.jpg) no-repeat top center;
		background-size: contain;
		padding-top: 69vw;
	}
	.sec05 .sec05_box.bg02{
		background: url(../images/sec05_box_bg02_sp.jpg) no-repeat top center;
		background-size: contain;
		padding-top: 74vw;
	}
	.sec05 .sec05_box.bg03{
		background: url(../images/sec05_box_bg03_sp.jpg) no-repeat top center;
		background-size: contain;
		padding-top: 70vw;
	}
	.sec05 .sec05_box .inner h3{
		padding-top: 0;
	}
	.sec05 .sec05_box .inner{
		padding: 0;
		justify-content: flex-start;
	}
	.sec05 .sec05_box .inner .sec05_wrap {
    max-width: 100%;
    padding: 0 4vw;
	}
	.sec05_time{
		padding: 10vw 4vw;
	}
	.sec05_time dl:before{
		left: 1vw;
		width: 0.5333333333333333vw;
	}
	.sec05_time dl dt .txt{
		padding-left: 8vw;
	}
	.sec05_time dl dt{
		width: 100%;
	}
	.sec05_time dl dd{
		width: 100%;
		text-align: center;
	}
	.sec05_time dl dt .title02{
		font-size: 6.4vw;
		line-height: 1.2;
	}
	.sec05 .size48{
		font-size: 6.4vw;
		line-height: 1.2;
	}
	.sec05 .mb30 {
        margin-bottom: 8vw !important;
    }

	/*-- /sec05 -------------------------------
	------------------------------------------*/

	/*-- sec06 --------------------------------
	------------------------------------------*/
	.sec06{
		padding: 12vw 0 0 0;
	}
	.sec06_step dl dd .ttl{
		font-size: 6.4vw;
		width: calc(100% - 26.66666666666667vw);
		padding-left: 4.533333333333333vw;
		line-height: 1.2;
	}
	.sec06_step dl dt{
		width: 13.33333333333333vw;
	}
	.sec06_step dl .thumb{
		width: 26.66666666666667vw;
	}
	/*-- /sec06 -------------------------------
	------------------------------------------*/

	/*-- sec07 --------------------------------
	------------------------------------------*/
	.sec07{
		padding: 17vw 0 16vw 0;
	}
	.sec07_qa dl dd .ttl_a,
	.sec07_qa dl dt .ttl_q,
	.sec07_qa dl dt{
		font-size: 4.266666666666667vw;
	}
	.sec07_qa dl dd .ttl_a,
	.sec07_qa dl dt .ttl_q{
		padding-right: 0;
	}
	.sec07_qa dl dd .ttl_a,
	.sec07_qa dl dt .ttl_q{
		width: 8vw;
	}
	.sec07_qa dl dd .txt_a,
	.sec07_qa dl dt .txt{
		width: calc(100% - 8vw);
	}
	.sec07_qa dl dd .txt_a .cl_blue{
		color: #000;
	}
	.sec07_qa dl dt{
		padding: 5vw 4vw;
		display: flex;
		flex-wrap: wrap;
	}
	.sec07_qa dl dd{
		padding: 5vw 4vw;
	}
	.sec07_qa dl:not(:last-child){
		margin-bottom: 8vw;
	}
	/*-- /sec07 -------------------------------
	------------------------------------------*/

	/*-- footer -------------------------------
	------------------------------------------*/
	.footer{
		padding: 15vw 0 25vw 0;
		margin-top: 20vw;
	}
	.footer .inner{
		padding-bottom: 12vw;
	}
	.footer .footerNav{
		display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2vw;
    margin-bottom: 0;
	}
	.footer .footerNav .footerNav__item {
		display: block;
		font-size: 16px;
		height: 60px;
		margin-bottom: 0;
		padding: 10px 10px 10px 60px;
		max-width: 375px;
		margin: 0 auto;
	}
	.footer .footerNav .footerNav__item::before {
		display: block;
		height: 24px;
		width: 24px;
		top: 18px;
	}
	.footer .footerNav .footerNav__item::after {
		width: 7.5px;
		height: 15px;
		top: 25px;
	}
	.footer .footer__privacy {
    display: none;
  }
	/*-- /footer ------------------------------
	------------------------------------------*/

	/*-- /cta_fixed ---------------------------
	------------------------------------------*/
	#cta_fixed {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 999;
		width: 100%;
		padding: 0;
		background: rgba(255, 255, 255, .8);
	}
	#cta_fixed .ttl_cta_fixed{
		padding: 2vw 0;
	}
	#cta_fixed ul {
		display: flex;
		justify-content: space-between;
		line-height: 0;
	}
	#cta_fixed ul li{
		width: calc(50% - 1px);
	}
	/*-- /cta_fixed ----------------------------
	------------------------------------------*/

	/*-- /pagetop ------------------------------
	------------------------------------------*/
	.pagetop{
		bottom:28vw;
		right:4vw;
	}
	.pagetop a{
		width: 10vw;
		height: 10vw;
	}
	/*-- /pagetop ------------------------------
	------------------------------------------*/
}

@media screen and (max-width:430px) {
	.footer .footerNav{
    grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

@media (min-width:750px) and (max-width:768px){
}