@charset "UTF-8";
/* CSS Document */



/*------------------------------
背景動画
------------------------------*/

.l-mv {
/*
	height: 100vh;
	overflow: hidden;
	position: relative;
	width: 100%;
*/
position: fixed;
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
    
}

.l-mv-bg {
	-webkit-transform: translateX(-50%);
	left: 50%;
	max-height: initial;
	max-width: initial;
	min-height: 100vh;
	min-width: 100%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	z-index: -1;
}



/**************************************************
* 共通（レイアウト・テキスト・見出し・ボタン・ヘッダー・フッター・ぱんくず・その他)
***************************************************/

.l-sp {
  display: block;
}
.l-tb {
  display: none;
}
.l-pc {
  display: none;
}
/* SP,TB */
.l-show--sp-tb {
  display: block;
}
/* TB、PC */
.l-show-tb-pc {
  display: none;
}

/*PCのみblock*/
.l-show--pc{
	display: none;
}

@media screen and (min-width: 600px) {
  .l-sp {
    display: none;
  }
  .l-tb {
    display: block;
  }
/* TB、PC */
.l-show-tb-pc {
  display: block;
}
		
}
@media screen and (min-width: 1023px) {
  .l-sp {
    display: none;
  }
  .l-tb {
    display: none;
  }
  .l-pc {
    display: block;
  }
 .l-show--sp-tb {
    display: none;
  }
.l-show--pc{
	display: block;
}
	
}
/*=================== PCここまで ==================*/





#container {
  margin: 0;
  padding: 0;
}

#contents {
　overflow: hidden;
  position: relative;
  min-height: 100vh; 
	/*←内容が少ないページの時のfooterの高さ保持用*/
}

.l-wraper {
    min-height: calc(100vh - 300px);
    padding: 50px 0 0;
}

/*フッター位置調整*/
/*
.wrapper {
  min-height: calc(100vh - 500px);
  padding: 0;
}
*/


/*wrap共通*/
.l-wrap, .l-wrap--l, .l-wrap--m, .l-wrap--ms {
  margin: 0 auto;
}

 /*------------------------------
  横幅指定 ※変更不可
 ------------------------------*/

.l-wrap--l {
  width: 100%;
}
.l-wrap--m {
  max-width: 1200px;
  width: 92%;
}
.l-wrap--s {
  max-width: 800px;
  width: 92%;
}

/*------------------------------
  レイアウト(外枠)余白 ※変更不可
 ------------------------------*/
.l-wrap {
  padding-top: 40px;
  padding-bottom: 40px;
}
.l-wrap--tp {
  padding-top: 40px;
}
.l-wrap--btm{
  padding-bottom: 40px;
}




 /*------------------------------
  インナー用 余白 ※変更不可
 ------------------------------*/
.l-mb-xxlarge{
	margin-bottom: 48px;
}
.l-mb-xlarge{ 
    margin-bottom: 32px;
}
.l-mb-medium{
	margin-bottom: 24px;
}
.l-mb-small{
	margin-bottom: 12px;
}
.l-mb-xs {	
	margin-bottom: 8px;
}

.l-pb-xxlarge{
	padding-bottom: 48px;
}
.l-pb-xlarge{ 
    padding-bottom: 32px;
}
.l-pb-medium{
	padding-bottom: 24px;
}
.l-pb-small{
	padding-bottom: 12px;
}
.l-pb-xs {	
	padding-bottom: 8px;
}

.l-pt-medium{
	padding-top: 24px;
}


/*=================== TBここから ==================*/
@media screen and (min-width: 600px) {
/*------------------------------
  レイアウト(外枠)余白 ※変更不可
 ------------------------------*/
.l-wrap {
  padding-top: 56px;
  padding-bottom: 56px;
}
.l-wrap--tp {
  padding-top: 56px;
}
.l-wrap--btm{
  padding-bottom: 56px;
}

	
.l-wrap--tb-pc-btm{
  padding-bottom: 56px;
}

 /*------------------------------
  インナー用 余白 ※変更不可
 ------------------------------*/
.l-mb-xxlarge{
	margin-bottom: 56px;
}
.l-mb-xlarge{ 
    margin-bottom: 40px;
}
.l-mb-medium{
	margin-bottom: 32px;
}
.l-mb-small{
	margin-bottom: 16px;
}

.l-pb-xxlarge{
	padding-bottom: 56px;
}
.l-pb-xlarge{ 
    padding-bottom: 40px;
}
.l-pb-medium{
	padding-bottom: 32px;
}
.l-pb-small{
	padding-bottom: 16px;
}

.l-pt-medium{
	padding-top: 32px;
}

}
/*=================== TBここまで ==================*/
/*=================== PCここから==================*/
@media screen and (min-width: 1023px) {

.l-wraper {
    padding: 60px 0 0;
}
/*------------------------------
  レイアウト(外枠)余白 ※変更不可
 ------------------------------*/
.l-wrap {
  padding-top: 96px;
  padding-bottom: 96px;
}
.l-wrap--tp {
  padding-top: 96px;
}
.l-wrap--btm{
  padding-bottom: 96px;
}
.l-wrap--tb-pc-btm{
  padding-bottom: 96px;
}

 /*------------------------------
  インナー用 余白 ※変更不可
 ------------------------------*/
.l-mb-xxlarge{
	margin-bottom: 72px;
}
.l-mb-xlarge{ 
    margin-bottom: 56px;
}
.l-mb-medium{
	margin-bottom: 40px;
}
.l-mb-small{
	margin-bottom: 24px;
}


.l-pb-xxlarge{
	padding-bottom: 72px;
}
.l-pb-xlarge{ 
    padding-bottom: 56px;
}
.l-pb-medium{
	padding-bottom: 40px;
}
.l-pb-small{
	padding-bottom: 24px;
}

.l-pt-medium{
	padding-top: 40px;
}
    
}
/*=================== PCここまで ==================*/
		


/*Flex-Box*/
.l-flex-box {
  display: flex;
  flex-wrap: wrap;
}






