/*===============================================
SP
===============================================*/
@media (max-width:761px) {
	/* =========================================================================
 	main_ttl_wrap
	===========================================================================*/
	
	#main_ttl_wrap{
		background:#9ac78b;
	}

	#main_ttl_wrap h1 span{
		color:#88b778;
	}
	
	/* ============================================================
 	section 01
	==============================================================*/
	#sec01 {
		width: 100%;
		padding: 20px 0 20px;
		background: linear-gradient(to bottom, #9ac78b 30%, #8bc7b0 100%);
	}

	#sec01 .wrapper{
		position:relative;
		margin:0 5vw;
		padding:0;
		border-radius:20px;
		background: linear-gradient(to right, #cdf6de 0%, #e7fffa 100%);
	}
	
	#sec01 .ttl_wrap{
		display:flex;
		flex-wrap:wrap;
		padding: 17px 0;
		border-radius: 20px 20px 0 0;
		justify-content:center;
		position:relative;
		background: linear-gradient(to right, #edfaf3 0%, #cff7ea 100%);
	}
	
	#sec01 .eng_txt{
		display:block;
		width:100%;
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		font-size: 3.0rem;
		letter-spacing: 0rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height: 1;
		text-align:center;
	}

	#sec01 h2{
		order:2;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		font-size: 1.6rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height:1.4;
		text-align:center;
		padding:0 0 0;
	}

	#sec01 h3{
		display: inline-block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		font-size:1.7rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#fff;
		background:#000;
		line-height:1.4;
		text-align:center;
		padding: 0px 10px 2px;
	}

	#sec01 h3 span{
		display: inline-block;
		font-size:1.4rem;
		padding:0 0 0 6px;
	}

	#sec01 h4{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		font-size: 1.9rem;
		letter-spacing: 0rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height:1.4;
		padding: 8px 0 16px;
		border-bottom: 1px solid #717171;
		margin: 0 0 16px;
	}

	#sec01 p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.4rem;
		letter-spacing: 0.05rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height: 1.6;
		padding: 0 0 30px;
	}

	#sec01 .swiper-container_quest{
		overflow:hidden;
		border-radius:0 0 20px 20px;
	}

	#sec01 .swiper-slide{
		width: 356px;
		box-sizing:border-box;
		padding: 30px;
		border-radius: 0 0 20px 20px;
		background: linear-gradient(to right, #cdf6de 0%, #e7fffa 100%);
	}

	#sec01 .swiper-slide .img_box{
		line-height:0;
		border-radius: 10px;
		overflow:hidden;
		position:relative;
		margin: 0 0 24px;
	}

	#sec01 .swiper-slide .img_box span{
		display:block;
		position: absolute;
		top:10px;
		right:10px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:600;
		font-size:1.4rem;
		letter-spacing: 0.1rem;
		line-height: 1;
		border-radius: 6px;
		padding: 6px 8px 8px;
		font-feature-settings: 'palt';
	}

	#sec01 .swiper-slide .img_box span.r_on{
		color:#fff;
		background: linear-gradient( to right,  #f86f64 0%, #fd5392 100% );
	}

	#sec01 .swiper-slide .img_box span.r_off{
		color:#707070;
		background:#ffffffbf;
	}

	#sec01 .swiper-slide ul{
		display:flex;
		flex-wrap: wrap;
		gap: 6px 6px;
	}

	#sec01 .swiper-slide ul li{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.2rem;
		letter-spacing: 0.05rem;
		line-height: 1;
		border-radius: 6px;
		padding: 10px 12px 14px 8px;
		font-feature-settings: 'palt';
		color: #000;
		background:#ffffff96;
	}

	#sec01 .swiper-slide ul li span{
		display:inline-block;
		height: 15px;
		margin: 2px 4px 0 0;
		vertical-align: text-top;
	}

	#sec01 .swiper-slide ul li span img{
		width:auto;
		height:100%;
	}
	
	


	/* ============================================================
 	section 02
	==============================================================*/
	#sec02 {
		width: 100%;
		padding: 60px 0 30px;
		margin:-2px 0 0;
		overflow:hidden;
		background: linear-gradient( to top,  #9270ac 20%, #8bc7b0 100% );
	}
	
	#sec02 .ttl_wrap{
		display:flex;
		flex-wrap:wrap;
		padding: 17px 0;
		justify-content:center;
		position:relative;
	}
	
	#sec02 .eng_txt{
		display:block;
		width:100%;
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		font-size: 3.0rem;
		letter-spacing: 0rem;
		font-feature-settings: 'palt';
		color:#fff;
		line-height: 1;
		text-align:center;
	}

	#sec02 h2{
		order:2;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		font-size: 1.6rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#fff;
		line-height:1.4;
		text-align:center;
		padding:0 0 0;
	}

	#sec02 .tab_btn_list{
		width: 100%;
		margin: 0 auto;
		padding: 0 0 20px;
		display:flex;
		gap:0 2px;
		position: relative;
	}

	#sec02 .tab_btn_list li{
		width:300px;
		position: relative;
	}

	#sec02 .tab_btn_list li:before{
		content: "";
		display: block;
		width: 0;
		height:0;
		opacity:0;
		background:#000;
		position: absolute;
		bottom:0;
		left: 50%;
		transform:translate(-50%,0) rotate(-45deg);
		transition: all 0.4s cubic-bezier(0, 0, 0.23, 0.99) 0s;
	}

	#sec02 .tab_btn_list li.act:before{
		content: "";
		display: block;
		width: 14px;
		height:14px;
		opacity:1;
		background:#000;
		position: absolute;
		bottom:-6px;
		left: 50%;
		transform:translate(-50%,0) rotate(-45deg);
	}

	#sec02 .tab_btn_list li a{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		line-height:1;
		text-align:center;
		color:#000;
		background:#fff;
		padding: 22px 0 24px;
	}

	#sec02 .tab_btn_list li:first-child a{
		border-radius:4px 0 0 4px;
	}
	#sec02 .tab_btn_list li:last-child a{
		border-radius:0 4px 4px 0;
	}

	#sec02 .tab_btn_list li.act a{
		color:#fff;
		background:#000;
	}

	#sec02 .tab_block{
		width:100%;
		background:#fff;
		position: relative;
		overflow:hidden;
		border-radius:10px;
	}

	#sec02 .time_list{
		padding: 10px 20px 0 40px;
	}

	#sec02 .time_list > li{
		/* display:flex; */
		position:relative;
		padding: 30px 0 24px;
		border-bottom:1px solid #ccc;
	}

	#sec02 .time_list > li:last-child{
		border-bottom:none;
	}

	#sec02 .time_list > li:after{
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		border-radius:50%;
		background: linear-gradient( to top,  #1ea782 0%, #95d69c 100% );
		position: absolute;
		top: 38px;
		left: -24px;
	}

	#sec02 .time_list > li:before{
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		background:#ccc;
		position: absolute;
		top:0;
		left: -20px;
	}

	#sec02 .time_list > li:first-child:before{
		height: calc(100% - 40px);
		top: 40px;
	}

	#sec02 .time_list > li:last-child:before{
		height:40px;
	}

	#sec02 h3{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.8rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#fff;
		background: linear-gradient( to left,  #9ac78b 0%, #56cd90 100% );
		line-height:1.4;
		text-align:center;
		padding: 10px 0 12px;
	}

	#sec02 time{
		display: block;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		font-size: 1.6rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height:1.4;
		padding: 3px 0 3px;
	}

	#sec02 h4{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.8rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height:1.4;
		padding:0 0 6px;
	}

	#sec02 p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.6rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#6e6e6e;
		line-height:1.4;
		padding: 0 0 18px;
	}

	#sec02 p.p_comment_txt{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size:1.3rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#fff;
		text-indent: -1em;
		line-height:1.4;
		box-sizing: border-box;
		padding: 10px 0 0 1em;
		position:relative;
	}

	#sec02 span.r_label{
		display:block;
		position: absolute;
		top: 33px;
		right: 0;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:600;
		font-size: 1.3rem;
		letter-spacing: 0.1rem;
		line-height: 1;
		border-radius: 6px;
		padding: 4px 8px 4px;
		font-feature-settings: 'palt';
	}

	#sec02 span.r_on{
		color:#fff;
		background: linear-gradient( to right,  #f86f64 0%, #fd5392 100% );
	}

	#sec02 span.r_off{
		color:#707070;
		background: #e1e1e1;
	}

	#sec02 ul.i_list{
		padding: 0 0 7px;
	}

	#sec02 ul.i_list li{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.4rem;
		letter-spacing: 0.05rem;
		line-height: 1;
		font-feature-settings: 'palt';
		color: #000;
		margin: 0 0 6px;
	}

	#sec02 ul.i_list li em{
		font-style:normal;
		font-size: 1.2rem;
		letter-spacing: 0rem;
	}

	#sec02 ul.i_list li span{
		display:inline-block;
		height:16px;
		margin: 2px 6px 0 0;
		vertical-align: text-top;
	}

	#sec02 ul.i_list li span img{
		width:auto;
		height:100%;
	}
	
	#sec02 .tab_btn_list li.act a{
		pointer-events: none;
	}

	#sec02 p.info-pending{
		text-align:center;
		color: #000;
		padding: 90px 0 100px;
		font-size:1.5rem;
	}

	/* ============================================================
 	section 04
	==============================================================*/
	#sec04 {
		width: 100%;
		padding: 30px 0 60px;
		margin:-2px 0 0;
		overflow:hidden;
		background: linear-gradient( to bottom,  #9270ac 20%, #ffc7ac 100% );
	}


	#sec04 .wrapper:before{
		content: "";
		display: block;
		width: 100%;
		height:calc(100%);
		background:#edf0fa;
		position: absolute;
		top:0;
		left:0;
		border-radius: 20px;
	}

	#sec04 .wrapper{
		position:relative;
		margin:0 5vw;
		padding:0;
		border-radius:20px;
		overflow:hidden;
	}


	#sec04 .ttl_wrap{
		display:flex;
		flex-wrap:wrap;
		padding: 17px 0;
		justify-content:center;
		position:relative;
		background: linear-gradient(to right, #edf0fa 0%, #dfcff7 100%);
	}
	
	#sec04 .eng_txt{
		display:block;
		width:100%;
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		font-size: 3.0rem;
		letter-spacing: -0.05rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height: 1;
		text-align:center;
	}

	#sec04 h2{
		order:2;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		font-size: 1.6rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height:1.4;
		text-align:center;
		padding:0 0 0;
	}

	#sec04 h3{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:600;
		font-size: 2.2rem;
		letter-spacing:0.1rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height:1.4;
		padding: 0 0 8px;
		border-bottom:1px solid #000;
	}

	#sec04 h3 span{
		display:block;
		font-weight:400;
		font-size:1.4rem;
	}

	#sec04 p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:400;
		font-size: 1.5rem;
		letter-spacing:0.1rem;
		font-feature-settings: 'palt';
		color:#000;
		line-height:1.8;
		padding: 12px 0 0;
	}

	#sec04 ul.menu_list{
		position: relative;
	}

	#sec04 ul.menu_list li{
		width:100%;
		box-sizing: border-box;
		padding: 40px 5vw;
	}

	#sec04 ul.menu_list li:nth-child(2){
		background: linear-gradient( to left,  #e2e8fb 20%, #ffffff 100% );
	}

	#sec04 ul.menu_list li:nth-child(2) .img_box{
		order:2;
	}

	#sec04 .img_box{
		line-height:0;
		border-radius: 10px;
		overflow: hidden;
	}

	#sec04 .txt_wrap{
		padding: 14px 0 0;
	}
	

	#sec04 .more_wrap{
		background:#2a2d3c;
		padding: 40px 0 40px;
		position:relative;
	}

	#sec04 .more_wrap p{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:400;
		font-size: 1.4rem;
		letter-spacing:0.1rem;
		font-feature-settings: 'palt';
		color:#fff;
		text-align:center;
		text-indent: 2px;
		line-height:1.8;
		padding: 0 0 14px;
		position: relative;
	}

	#sec04 .more_wrap p:before{
		content: "";
		display: block;
		width: 1px;
		height: 24px;
		background:#fff;
		position: absolute;
		top:05px;
		left: calc(50% - 147px);
		transform:rotate(-36deg);
	}

	#sec04 .more_wrap p:after{
		content: "";
		display: block;
		width: 1px;
		height: 24px;
		background:#fff;
		position: absolute;
		top:05px;
		right: calc(50% - 147px);
		transform:rotate(36deg);
	}

	#sec04 .more_wrap a{
		display:block;
		width: 86%;
		margin:0 auto;
		font-family: 'Roboto', sans-serif;
		font-weight:600;
		font-size: 2.2rem;
		letter-spacing:0.1rem;
		font-feature-settings: 'palt';
		text-align:center;
		color:#fff;
		line-height:1;
		padding: 12px 0 18px;
		border-radius: 6px;
		background: linear-gradient( to left,  #aa49b0 0%, #7e77d8 100% );
		position:relative;
	}

	#sec04 .more_wrap a:before{
		content: "";
		display: block;
		width: 10px;
		height:10px;
		border-right:solid 2px #fff;
		border-bottom:solid 2px #fff;
		opacity:0.5;
		position: absolute;
		top: 50%;
		left: 92%;
		transform:translate(-50%, -50%) rotate(-45deg);
	}

	#sec04 .more_wrap a span{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		font-size: 1.3rem;
		letter-spacing:0.1rem;
		padding: 4px 0 0;
	}

}