@charset "utf-8";
/* CSS Document */



/*****************/
/*** 共通 ***/
/*****************/
.is-center
{
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.is-left
{
    text-align: left;
}


/*****************/
/*** 書体 ***/
/*****************/

h1 {
  font-size: 2.4rem;
}

h2,
.btnlg {
	font-size: 2.4rem;
}

h3,
.btnmd {
  font-size: 2.0rem;
}

h4,
.btnsm {
  font-size: 1.8rem;
 }

h5 {
  font-size: 1.6rem;
}
 
h6 {
  font-size: 1.6rem;
}

.memo {
  font-size: 1.4rem;
}

.area_1200, 
.area_1000,
.area_960,
.area_800,
.area_700,
.area_600,
.area_500
	{ 
    padding-left: 1em;
	padding-right: 1em;
	}


.area_full {
margin: 0 calc(50% - 50vw);
}



/*****************/
/*** 幅 ***/
/*****************/

.area_1200 { 
	max-width: 1200px;
}

.area_1000 { 
	max-width: 1000px;
}
	
	
.area_980 { 
	max-width: 980px;
}

.area_960 { 
	max-width: 960px;
}

.area_800 { 
	max-width: 800px;
}

.area_640 { 
	max-width: 640px;
}
	
.area_700 { 
	max-width: 700px;
}

.area_600 { 
	max-width: 600px;
}

.area_500 { 
	max-width: 500px;
}

.area_480 { 
	max-width: 480px;
}

.area_400 { 
	max-width: 400px;
} 

.area_320 { 
	max-width: 320px;
} 

.area_300 { 
	max-width: 300px;
} 

.area_240{ 
	max-width: 240px;
} 

.area_200{ 
	max-width: 200px;
} 

.area_180 { 
	max-width: 180px;
} 

.area_160 { 
	max-width: 160px;
} 

.area_150 { 
	max-width: 150px;
} 

.area_120 { 
	max-width: 120px;
} 

.area_100 { 
	max-width: 100px;
} 

	
.area_80p {
max-width: 80%;
}

.area_70p {
max-width: 70%;
}

.area_60p {
max-width: 60%;
}
.area_50p {
max-width: 50%;
}

.area_40p {
max-width: 40%;
}

.area_30p {
max-width: 30%;
}

.area_20p {
max-width: 20%;
}

/*flex固定幅*/

.fb100p {
	flex-basis: 100%;
 }

.fb60p {
	flex-basis: 60%;
 }

.fb50p {
	flex-basis: 50%;
 }
	
.fb45p {
	flex-basis: 45%;
 }

.fb40p {
	flex-basis: 40%;
 }

.fb30p {
	flex-basis: 30%;
 }

.fb20p {
	flex-basis: 20%;
 }

.fb10p {
	flex-basis: 20%;
 }



/*****************/
/*** 余白 ***/
/*****************/

/*ノーマル0.5*/
.p_s0 {
	padding: 0.5em;
}
	
.p_st0 {
	padding-top: 0.5em;
}

.p_sb0 {
	padding-bottom: 0.5em;
}
	
.p_stb0 {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

.p_slr0 {
	padding-left: 0.5em;
	padding-right: 0.5em;
}

.p_sl0 {
	padding-left: 0.5em;
}

.p_sr0 {
	padding-right: 0.5em;
}


/*ノーマル1*/
.p_s {
	padding: 1em;
}
	
.p_st {
	padding-top: 1em;
}

.p_sb {
	padding-bottom: 1em;
}
	
.p_stb {
	padding-top: 1em;
	padding-bottom: 1em;
}

.p_slr {
	padding-left: 1em;
	padding-right: 1em;
}

.p_sl {
	padding-left: 1em;
}

.p_sr{
	padding-right: 1em;
}


/*ノーマル2*/
.p_s2 {
	padding: 2em;
}
	
.p_st2 {
	padding-top: 2em;
}

.p_sb2 {
	padding-bottom: 2em;
}
	
.p_stb2 {
	padding-top: 2em;
	padding-bottom: 2em;
}

.p_slr2 {
	padding-left: 2em;
	padding-right: 2em;
}

.p_sl2 {
	padding-left: 2em;
}

.p_sr2 {
	padding-right: 2em;
}

/*ノーマル3*/
.p_s3 {
	padding: 3em;
}
	
.p_st3 {
	padding-top: 3em;
}

.p_sb3 {
	padding-bottom: 3em;
}
	
.p_stb3 {
	padding-top: 3em;
	padding-bottom: 3em;
}

.p_slr3 {
	padding-left: 3em;
	padding-right: 3em;
}

.p_sl3 {
	padding-left: 3em;
}

.p_sr3 {
	padding-right: 3em;
}

/*レスポンシブ対応*/
.p_re_s {
	padding: 1em;
}
	
.p_re_st {
	padding-top: 1em;
}

.p_re_sb {
	padding-bottom: 1em;
}
	
.p_re_stb {
	padding-top: 1em;
	padding-bottom: 1em;
}

.p_re_slr {
	padding-left: 1em;
	padding-right: 1em;
}

.p_re_sl {
	padding-left: 1em;
}

.p_re_sr {
	padding-right: 1em;
}

/*レスポンシブ対応margin*/
.m_re {
	margin: 1em;
}
	
.m_re_t {
	margin-top: 1em;
}

.m_re_b {
	margin-bottom: 1em;
}
	
.m_re_tb {
	margin-top: 1em;
	margin-bottom: 1em;
}

.m_re_lr {
	margin-left: 1em;
	margin-right: 1em;
}

.m_re_l {
	margin-left: 1em;
}

.m_re_r {
	margin-right: 1em;
}


/*******************/
/*** 装飾 ***/
/********************/

/*ライン左右に*/
.text-divider {
  display: flex;
  align-items: center;
}
.text-divider::before,
.text-divider::after {
  content: '';
  height: 1px;
  background-color: #333;
  flex-grow: 1;
}
.text-divider::before {
  margin-right: 1rem;
}
.text-divider::after {
  margin-left: 1rem;
}

/*******************/
/*** flexbox ***/
/********************/


/*SPスタンダード型*/
.flexarea_st {
  display: flex;
  flex-wrap: nowrap;
}


/*SPコラム型*/
.flexarea_co {
	display: flex;
	justify-content: center;
	flex-direction: column;
	flex-wrap: wrap;
 }

/*SPコラム型テキスト*/
.flexarea_t  {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-direction: column;
  order: 1;/*並び順を上に*/
}

/*フル画面型*/
.flexarea_full {
	display: flex;
	justify-content: center;
	flex-direction: column;
	flex-wrap: wrap;
 }

.full_img {
	order: 2;/*並び順を下に*/
}

/*flex隙間*/
.gap1 {
	gap:1em;
 }

/*flex隙間*/
.gap2 {
	gap:2em;
 }

/*縦方向センター揃え*/
.f_ac {
 align-self: center;
 }

/*縦方向上揃え*/
.f_af {
	 align-items: flex-start;
 }


/*縦方向上揃え（子）*/
.k_af
{
　align-self: flex-start;
}

/*右寄せ*/
.f_fe
{
	justify-content: flex-end;
}

/*ボタンなど特定要素固定*/
.kotei {
	margin-top: auto;
}




/******************************************************
*　タブレット縦 /スマートフォン横 sm
********************************************************/

@media screen and (min-width: 568px) {


}

/******************************************************
*　タブレット横  md
********************************************************/

@media screen and (min-width: 768px) {
	
/*コラム型*/
.flexarea_co {
flex-direction: row;
flex-wrap: nowrap;
 }

	
/*コラム型*/
.flexarea_t {
 order: 0;
}

/*フル画面型*/
.flexarea_full {
flex-direction: row;
flex-wrap: nowrap;
 }
	
.full_img {
 order: 0;
}

.p_re_s {
	padding: 2em;
}
	
.p_re_st {
	padding-top: 2em;
}

.p_re_sb {
	padding-bottom: 2em;
}
	
.p_re_stb {
	padding-top: 2em;
	padding-bottom: 2em;
}

.p_re_slr {
	padding-left: 2em;
	padding-right: 2em;
}

.p_re_sl {
	padding-left: 2em;
}

.p_re_sr {
	padding-right: 2em;
}

/*レスポンシブ対応margin*/
.m_re {
	margin: 2em;
}
	
.m_re_t {
	margin-top: 2em;
}

.m_re_b {
	margin-bottom: 2em;
}
	
.m_re_tb {
	margin-top: 2em;
	margin-bottom: 2em;
}

.m_re_lr {
	margin-left: 2em;
	margin-right: 2em;
}

.m_re_l {
	margin-left: 2em;
}

.m_re_r {
	margin-right: 2em;
}

	
	
.area_1200, 
.area_1000,
.area_960,
.area_800,
.area_700,
.area_600,
.area_500
	{ 
    padding-left: 0;
	padding-right: 0;
	}

	

}
/******************************************************
*　デスクトップPC標準 lg
********************************************************/

@media screen and (min-width: 1024px) {

/*************/
/*** 書体 ***/
/**************/
h1 {
  font-size: 3.0rem;
}
 
h2,
.btnlg {
  font-size: 3.0rem;
}
 
h3,
.btnmd  {
  font-size: 2.2rem;
}

h4,
.btnsm {
  font-size: 1.8rem;
}

h5 {
  font-size: 1.6rem;
}
 
h6 {
  font-size: 1.6rem;
}

/*************/
/*** 幅 ***/
/**************/

/*両端揃え*/
.flexarea_sb {
justify-content: space-between;
 }

.area_1200, 
.area_1000,
.area_960,
.area_800
	{ 
		padding-left: 0;
		padding-right: 0;
	}
	
.p_re_s {
	padding: 3em;
}
	
.p_re_st {
	padding-top: 3em;
}

.p_re_sb {
	padding-bottom: 3em;
}
	
.p_re_stb {
	padding-top: 3em;
	padding-bottom: 3em;
}

.p_re_slr {
	padding-left: 3em;
	padding-right: 3em;
}

.p_re_sl {
	padding-left: 3em;
}

.p_re_sr {
	padding-right: 3em;
}
	
/*レスポンシブ対応margin*/
.m_re {
	margin: 3em;
}
	
.m_re_t {
	margin-top: 3em;
}

.m_re_b {
	margin-bottom: 3em;
}
	
.m_re_tb {
	margin-top: 3em;
	margin-bottom: 3em;
}

.m_re_lr {
	margin-left: 3em;
	margin-right: 3em;
}

.m_re_l {
	margin-left: 3em;
}

.m_re_r {
	margin-right: 3em;
}


}

/******************************************************
*　デスクトップPC大画面 xl
********************************************************/

@media screen and (min-width: 1280px) {
    

}
