@charset "UTF-8";
:root{
  --grey: #f3f3f1;
  --purple: #563cfd;
  --green: #f6fbfb;
  --green2: #42b5a9;
  --black: #020202;
  --white: #ffffff;
  --cl-text: #464851;
  --f-kaku: "Zen Kaku Gothic New", serif;
}
@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;}
	#wrapper{max-width:768px;width:100%;}
	.inner{padding:0 4vw;}
	img{width:100%;}
	p{margin:0 0 4vw 0;font-size: 3.733333333333333vw}
	.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;
	}

	/*-- header --------------------------------
	------------------------------------------*/
	.sec_header .flex-h,
	.sec_header{
	  height: 13.33333333333333vw;
	}
	.sec_header .logo{
		padding-left: 0;
		width: auto;
		height: 8vw;
		margin-right: 4vw;
	}
	.sec_header .flex-h .btn_h ul{
		gap: 1.5vw;
	}
	.sec_header .flex-h .btn_h ul li a img{
		height: 10.66666666666667vw;
		width: auto;
	}
	/*-- /header -------------------------------
	------------------------------------------*/
	
	/*-- fv -----------------------------------
	------------------------------------------*/
	.sec_fv{
		background: transparent;
		height: auto;
	}
	.sec_fv .inner{
		padding: 0;
	}
	/*-- /fv ----------------------------------
	------------------------------------------*/

	/*-- sec01 --------------------------------
	------------------------------------------*/
	.sec01{
	  	padding-top: 8vw;
	}
	/*-- /sec01 -------------------------------
	------------------------------------------*/

	/*-- sec02 --------------------------------
	------------------------------------------*/
	.sec02{
	  	padding: 10vw 0;
	}
	.sec02 p{
		font-size: 4.2vw;
	}
	/*-- /sec02 -------------------------------
	------------------------------------------*/

	/*-- sec03 --------------------------------
	------------------------------------------*/
	.sec03{
	  	padding: 10vw 0;
	}
	.sec03_box .item{
		flex-wrap: wrap;
		width: 100%;
	}
	.sec03_box .item .txt{
		padding-right: 0;
		margin-bottom: 8vw;
	}
	.sec03_box .item .thumb {
    	position: unset;
	}
	.sec03_box .item .txt dl dt.size60{
		font-size: 10.66666666666667vw;
		width: 15vw;
		min-height: 100%;
	}
	.sec03_box .item .txt dl dd{
		padding-left: 4vw;
		width: calc(100% - 17vw);
	}
	.sec03_box .item .txt dl dd h3.size30{
		font-size: 5.333333333333333vw;
		line-height: 1.4;
	}
	.sec03_box .item:nth-child(2n) .txt{
		order: 1;
		padding-left: 0;
	}
	.sec03_box .item:nth-child(2n) .thumb{
		order: 2;
	}
	.sec03 .fix_h3 span.size15{
		top: -2vw;
	}
	/*-- /sec03 -------------------------------
	------------------------------------------*/

	/*-- sec03 --------------------------------
	------------------------------------------*/
	.sec04{
	  	padding: 10vw 0;
	}
	/*-- /sec04 -------------------------------
	------------------------------------------*/

	/*-- sec05 --------------------------------
	------------------------------------------*/
	.sec05{
	  padding: 10vw 0;
	}
	.sec05_box .item{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.sec05_box .item .thumb{
		position: unset;
		order: 1;
	}
	.sec05_box .item .txt{
		order: 2;
		padding: 4vw;
	}
	/*-- /sec05 -------------------------------
	------------------------------------------*/

	/*-- sec06 --------------------------------
	------------------------------------------*/
	.sec06{
	  padding: 10vw 0;
	}
	.sec06 .sp_img_scroll{
	  overflow: scroll;	
	}
	.sec06 .sp_img_scroll p{
	  margin: 0;	
	}
	.sec06 .sp_img_scroll img{
	  width: 183.5vw;	
	}

	/*-- sec06から移管したスライダー分 ---*/
	.sec04{
	  padding: 10vw 0;
	}
	.sec04 .sp_img_scroll{
	  overflow: scroll;	
	}
	.sec04 .sp_img_scroll p{
	  margin: 0;	
	}
	.sec04 .sp_img_scroll img{
	  width: 183.5vw;	
	}

	/* pc */
/*
  PC・スマホ共通のスタイルや、
  PC用のスタイルをここに書く (メディアクエリの外側)
*/
/* =============================================== */
/* --- PC用の画像スクロール --- */
    .sec04{
	  padding: 10vw 0;
	}
	.sec04 .pc_img_scroll{
	  overflow: scroll;	
	}
	.sec04 .pc_img_scroll p{
	  margin: 0;	
	}
	.sec04 .pc_img_scroll img{
	  width: 120%;	
	  max-width: none; 
	}
	/*-- /sec06 -------------------------------
	------------------------------------------*/

	/*-- cta ----------------------------------
	------------------------------------------*/
	.cta{
	  padding: 10vw 0 10vw 0;
	  background: url(../images/sp_cta_bg.png) no-repeat center;
	}
	.cta .btn_cta{
		flex-wrap: wrap;
		margin-top: 8vw;
	}
	.cta .btn_cta p.first{
		margin-bottom: 6vw !important;
	}
	/*-- /cta ---------------------------------
	------------------------------------------*/

	/*-- sec07 --------------------------------
	------------------------------------------*/
	.sec07{
	  padding: 10vw 0 10vw 0;
	}
	.sec07_box {
		margin-top: 8vw;
	}
	.sec07_box .item{
		flex-wrap: wrap;
	}
	.sec07_box .item .txt{
		padding: 4vw;
		max-width: 100%;
		border-radius: 4vw;
	}
	.sec07_box .item.last .thumb{
		order: 2;
	}
	.sec07_box .item.last .txt{
		padding-left: 4vw;
		padding-right: 4vw;
	}
	/*-- /sec07 -------------------------------
	------------------------------------------*/

	/*-- sec08 --------------------------------
	------------------------------------------*/
	.sec08{
	  padding: 10vw 0 10vw 0;
	}
	.sec08_qa dl dt{
		padding: 4vw;
	}
	.sec08_qa dl dt .q.size30{
		font-size: 6.666666666666667vw;
	}
	.sec08_qa dl dt .q{
		border-right: none;
	}
	.sec08_qa dl dt .ja{
		font-size: 4.8vw;
		line-height: 1.3;
		border-left: 2px solid var(--green2);
	}
	.sec08_qa dl dt .arr{
		width: 3.2vw;
		top: 50%;
		right: 4vw;
		transform: translateY(-50%);
	}
	.sec08_qa dl dd{
		margin-top: 2vw;
		padding: 0 4vw 4vw 4vw;
	}
	/*-- /sec08 -------------------------------
	------------------------------------------*/

	/*-- sec09 --------------------------------
	------------------------------------------*/
	.sec09{
	  padding: 10vw 0 10vw 0;
	}
	/*-- /sec09 -------------------------------
	------------------------------------------*/

	/*-- /pagetop ------------------------------
	------------------------------------------*/
	.pagetop{
		bottom:4vw;
		right:4vw;
	}
	/*-- /pagetop ------------------------------
	------------------------------------------*/
}

@media (min-width:750px) and (max-width:768px){
	.sec02{
		background-size: cover;
	}
}