@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; }
	#wrapper2 { 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; }
	.spsize15,
	.spsize14 { font-size: 3.2vw; }
	.spsize30 { font-size: 5.333333333333333vw; }
	.spsize18{ font-size: 4.0vw; }
	.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;
	} */
	.header1{
	background-size: cover;
    /* height: 608px; */
	}
	/*-- /header -------------------------------
	------------------------------------------*/

	/*-- fv -----------------------------------
	------------------------------------------*/
	.sec_fv{
		min-height: auto;
	}
	.sec_fv .inner{
		padding: 0;
	}
	.sec_fv2,
	.sec_fv3{
		min-height: auto;
	}
	.sec_fv2 .inner{
		padding: 0;
	}
	.sec_fv3_btm img {
		display: block;
		margin: 0 auto;
		max-width: max-content;
		max-height: 150px;
	}
	.sec_fv2 .inner,
	.sec_fv3 .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;
	}
	.bg_w_cta{
		/* padding: 7vw 4vw; */
		position: absolute;
		top: 132vw;
		left: 5.7vw;
		width: 89vw;
		text-align: center;
	}
	.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;
	}
	.cta02{
		padding: 3vw 0vw;
	}
	.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;
	}
	.cta1{
		font-size: 4.6vw;
	}
	/*-- /cta ---------------------------------
	------------------------------------------*/

	/*-- sec01 --------------------------------
	------------------------------------------*/
	.sec01{
		padding: 12vw 0vw;
		margin: -1.5vw 0vw 0vw;
	}
	.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: #222b38;
		background-size: contain;
	}
	.sec02 .sec02_box{
		margin-top: 1vw!important;
	}
	/*-- /sec02 -------------------------------
	------------------------------------------*/

	/*-- sec03 --------------------------------
	------------------------------------------*/
	.sec03{
		padding: 12vw 0 13vw 0;
		background:linear-gradient(90deg, #e9e8e8 0%, #dedddd 100%);
	}
	.sec03 h2 {
    margin-bottom: 8vw;
	}
	.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 -------------------------------
	------------------------------------------*/

	.sec03-2 {
		padding: 45px 0;
	}
	.sec03-2 .white_box {
		padding: 30px 15px;
		flex-direction: column;
		gap: 15px;
	}
	.sec03-2 .white_box p {
		margin-bottom: 0;
	}
	.sec03-2 .white_box .font_s {
		padding-top: 15px;
		font-size: 0.8em;
	}


	/*-- 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 dd {
    width: 100%;
    order: 1;
	}
	.sec04span{
		font-size: 20px;
	}
	/*-- /sec04 -------------------------------
	------------------------------------------*/

	/*-- sec05 --------------------------------
	------------------------------------------*/
	.sec05{
		padding: 14vw 0 14vw 0!important;
		background-size: cover!important;
		background: url(../images/sp_sec05_bg.jpg) no-repeat center top!important;
	}
	.sec05_text01{
		font-size: 4.0vw;
	}
	.sec05 .sec05_box{
    padding: 28px 0px 28px;
	opacity: 0.8;
	}
	.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: 14vw 0;
	}
	.sec06_box .list ul li{
		font-size: 16px;
		margin-bottom: 16px;
		text-align: center;
	}
	.sec06_box{
		padding: 8vw 4vw 2vw !important;
	}
	.list li::before{
	left: 1vh !important;
    width: 7.5vw !important;
    height: 5.9vw !important;
    background-size: contain!important; /* ←スマホでは推奨 */
	background-repeat: no-repeat!important;
	}

	.sec06 ul li{
	font-size: 4.3vw;
    padding: 0vw 0vw 3vw;
	}
	.sec06 ul{
	position: relative;
    padding: 0rem 0rem 0rem 41px;
	}
	.sec06 ul li span{
	font-size: 4.7vw;
	}

	.list li::before{
		content: "";
		position: absolute;
		background: url(../images/check_gold.png);
		left: 65px;
		width: 55.4px;
		height: 45px;
		background-size: cover;
	}
	.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: 14vw 0 14vw 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 -------------------------------
	------------------------------------------*/

	/*-- /sec09 -------------------------------
	------------------------------------------*/
	.sec09_text{
		font-size: 4.7vw;
		font-weight: bold;
	}
	.sec09 {
    background: #fff;
	padding: 14vw 0 14vw 0;
    position: relative;
    z-index: 1;
	}
	/*-- /sec09 -------------------------------
	------------------------------------------*/

	/*-- /sec10 -------------------------------
	------------------------------------------*/
	.sec10bg1 {
    background: url(../images/sp_sec10_01bg.jpg) no-repeat center top;
    padding: 14vw 0 14vw 0;
    position: relative;
    z-index: 1;
    background-size: cover;
	}
	.sec10bg2 {
    background: url(../images/sp_sec10_02bg.jpg) no-repeat center top;
    padding: 14vw 0 14vw 0;
    position: relative;
    z-index: 1;
    background-size: cover;
	}
		.sec10bg3 {
    background: url(../images/sp_sec10_03bg.jpg) no-repeat center top;
    padding: 14vw 0 14vw 0;
    position: relative;
    z-index: 1;
    background-size: cover;
	}

		/*-- /sec10 -------------------------------
	------------------------------------------*/

		/*-- /sec11 -------------------------------
	------------------------------------------*/
	.sec11 {
    background:linear-gradient(90deg, #e9e8e8 0%, #dedddd 100%);
	padding: 14vw 0 14vw 0;
    position: relative;
    z-index: 1;
	}
	/*-- /sec11 -------------------------------
	------------------------------------------*/

	/*-- /sec12 -------------------------------
	------------------------------------------*/
	.sec12 {
    background: #d9c184;
	padding: 14vw 0 14vw 0;
    position: relative;
    z-index: 1;
	}
	/*-- /sec12 -------------------------------
	------------------------------------------*/

	/*-- /sec13 -------------------------------
	------------------------------------------*/
	.sec13 {
	padding: 14vw 0 14vw 0;
    position: relative;
    z-index: 1;
	}
	.sec13_text_pc{
		font-size: 4.3vw;
		margin: 0 0 5vw 0;
	}
	.sec13_text_pc1{
		font-size: 4.6vw;
	}

	.sec13_text_sp{
		font-size: 4.2vw;
	}
	/*-- /sec13 -------------------------------
	------------------------------------------*/

	/*-- /sec14 -------------------------------
	------------------------------------------*/
	.sec14 {
		background: #fff;
		padding: 14vw 0 14vw 0;
		position: relative;
		z-index: 1;
	}
	.scroll-hint {
		display: block;
		font-size: 14px;
		color: #fff;
		text-align: center;
		margin-bottom: 8px;
	}
	.scroll-container {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.scroll-container img {
		display: block;
		width: auto;
		max-width: none;
		height: auto;
	}
/*-- footer -------------------------------
	------------------------------------------*/
	.footer{
		margin-bottom: 15px;
	}
	.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 ---------------------------
	------------------------------------------*/

.mfp_buttons button {
    border: none;
    outline: none;
    box-shadow: none;
    background: none;
    padding: 0;
	margin:0px!important;
	}
#cta_fixed_sp{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    /* height: 75px; */
    z-index: 999;
	background-color: rgba(34, 43, 56, 0.8); /* 黒＋80%透過 */
    display: flex;
    align-items: center;
    justify-content: center;
    /* gap: 13px; */
    padding-inline: 10px;
}
#cta_fixed_sp .ttl_tab{
  display: none;
}
#cta_fixed_sp .ttl {
  margin: 2px!important; /* 不要な余白を削除 */
  line-height: 0;
}
/* カルーセル */
.swiper-slide {
  background: #fff;
  padding: 30px 20px;
  box-sizing: border-box;
  box-shadow: 0 2px 6px rgb(0 0 0 / 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  text-align: center;
  margin-right: 10px;
  margin-right: 10px!important;
  height: 468px!important;
  width: 100% !important;
}

	/*-- /cta_fixed ----------------------------
	------------------------------------------*/

	/*-- /pagetop ------------------------------
	------------------------------------------*/
	.pagetop{
		bottom:28vw;
		right:4vw;
	}
	.pagetop a{
		width: 10vw;
		height: 10vw;
	}
	/*-- /pagetop ------------------------------
	------------------------------------------*/
	@media (min-width:750px) and (max-width:768px){
}
}

@media screen and (max-width:430px) {
	.footer .footerNav{
    grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}
