@charset "utf-8";

/* for Common & Smartphone*/
html,body{
	position:relative;
	height:100%;
}
html {
  scroll-behavior: smooth;
  /*font-size: 62.5%;10px基準*/
	}

.contents{
  position: relative;
  margin: 0;
  padding: 0;
}
@media screen and (min-width:768px){
  .contents{
    margin-top: 20px;
}
}

.crumbs{
  position: absolute;
  right: 10px;
  top: 10px;
  color: #fff;
}
.crumbs a{
  color: #fff;
}

@media screen and  (max-width:767px){
  /* スマートフォン 767px以下 */
  /*:target {
    scroll-margin-top: 75px;
  }*/
}
@media screen and (min-width:768px){
  /*:target {
    scroll-margin-top: 140px;
  }*/
}


/*body{
	position:relative;
	-webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  font-family: YakuHanMP, "Zen Old Mincho", "游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif;
  font-weight: 400;
  font-style: normal;
	color:#111111;
	line-height:1.6;
}*/


/* for SP landscape*/
@media screen and (orientation: landscape) {

}
/* for tablet*/
@media only screen and (min-width: 768px) and (max-width: 834px) and (orientation:portrait) {
/*縦向きのみの記述 --- iPad Pro12.9はPC表示*/

}




.cgWrap .sp{display:block;}
.cgWrap .pc{display:none;}

.cgWrap .spIL{display:inline;}
.cgWrap .pcIL{display:none;}

.cgWrap .conSP{
	margin-left: 5.33vw !important;/*20px*/
	margin-right: 5.33vw !important;
}
/*hタグ 
*/
.cgWrap h1,.cgWrap h2,.cgWrap h3,.cgWrap h4,.cgWrap h5,.cgWrap h6{
	font-weight: 400;
	}
/*リンク 
*/
.cgWrap a:link{
	color:#111111;
	}
.cgWrap a:visited{
	color:#111111;
	}

.cgWrap a:active,
.cgWrap a:hover{
	color:#111111;
	}
.cgWrap .disabled{
	cursor:default;
}
.cgWrap .txtUL{
	text-decoration: underline;
}

.cgWrap img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
}
.cgWrap img[src$=".svg"] {
    width: 100%;
}
.cgWrap .img100{
	width:100%;
}

.cgWrap .relative{
	position:relative;
	}
.cgWrap .static{
	position:static !important;
	}
.cgWrap .hide{
	display:none;
	}

/*font*/
.cgWrap{
  font-family: YakuHanMP, "Zen Old Mincho", "游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif;
  font-weight: 400;
  font-style: normal;
	color:#111111;
	line-height:1.6;
}
.cgWrap .fEn{
	font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	}
.cgWrap .fGo{
	font-family: 'Hiragino Kaku Gothic ProN','游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ',  'Hiragino Sans', sans-serif !important;
	font-weight: normal;
	font-weight: 500;
	}
.cgWrap .fGo.bold{
	font-family: 'Hiragino Kaku Gothic ProN','游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif !important;
	font-weight:bold;
	font-weight: 700;
	}


.cgWrap .br{
  display: inline-block;
}

/*txt*/
.cgWrap .tCol00{
	color: #111111;
}
.cgWrap .tCol99{
	color: #ffffff;
}

.cgWrap .tCol01{
	color: #181878;
}


/* for PC*/
@media print, screen and (min-width:768px) {

  .cgWrap .sp{display:none;}
	.cgWrap .pc{display:block;}

	.cgWrap .spIL{display:none;}
	.cgWrap .pcIL{display:inline;}

	.cgWrap .conSP{
		margin-left:0 !important;
		margin-right:0 !important;
	}
	.cgWrap .conPC{
		max-width:1020px;/*1000px*/
		width: auto !important;
		width: 1020px;
		margin-left:auto !important;
		margin-right:auto !important;
		padding-left:10px;
		padding-right:10px;
	}
	.cgWrap .conPCS{
		max-width: 920px;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left:10px;
		padding-right:10px;
	}
  .cgWrap a,
	.cgWrap a:link,
	.cgWrap a:visited{}
	.cgWrap a:active,
	.cgWrap a:not(.disabled):hover{
		text-decoration:none;
		}
  .cgWrap a,
	.cgWrap .hover{
		transition: .3s;
		}

	.cgWrap .hover:hover{
		opacity:0.7;
		}

	.cgWrap .disabled{
		text-decoration:none;
	} 
}



/*title copy section ... [
----------------------------------------------------------- */
.cgWrap .ttl01{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 85%;
  height: 50px;
  margin: 0 auto 3em auto;
  padding-left: 0.2em;
  border: 1px solid #181878;
  color: #181878;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*18 / 22*/
  line-height: 1.0;
  letter-spacing: 0.2em;
  text-align: center;
}
.cgWrap .ttl01.lsN{
  padding-left: 0;
  letter-spacing: normal;
}
.cgWrap .ttl01::before,
.cgWrap .ttl01::after{
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 8px;
  background: #181878;
}
.cgWrap .ttl01::before{
  left: -4px;
  top: -4px;
}
.cgWrap .ttl01::after{
  right: -4px;
  bottom: -4px;
}
.cgWrap .ttl02{
  margin: 0 0 1em 0;
  padding-left: 0.05em;
  font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*16 / 18*/
  text-align: center;
  letter-spacing: 0.05em;
}


.cgWrap .copy01{
	/*margin: 0 0 2.5em 0;*/
  margin: 0 0 2.0em 0;
  padding-left: 0.05em;
	font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*18 / 22*/
	text-align: center;
	letter-spacing: 0.05em;
}

.cgWrap .copy02{
  margin: 0 0 1.0em 0;
	font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*18 / 22*/
	text-align: center;
}

.cgWrap .lead01{
  padding-left: 0.05em;
  font-size: clamp(calc( 15px * 0.7), calc( 15vw / 3.75),  15px);/*15 / 16*/
	line-height: 2.0;
  letter-spacing: 0.05em;
	}
.cgWrap .lead02{
  /*margin: 1.0em 0 0 0;*/
  font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);/*13 / 14[13]*/
  text-align: left;
  line-height: 2.0;
	}
.cgWrap .lead01.taL,
.cgWrap .lead02.taL{
  padding-left: 0;
}

.cgWrap .tCol00,
.cgWrap .tCol00 a{
	color: #2b2b2b;
}
.cgWrap .tCol99,
.cgWrap .tCol99 a{
	color: #fff;
}
.cgWrap .bgWhite{
	background: #fff;
}
.cgWrap .sec01{
	margin: 0 0 60px 0;
	}
.cgWrap .sec02{
  margin: 0 0 40px 0;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .ttl01{
    max-width: 400px;
    height: 60px;
    padding-left: 0.5em;
    font-size: clamp(calc(22px * 0.7), calc(22vw / 10.00), 22px);/*18 / 22*/
    letter-spacing: 0.5em;
  }
  .cgWrap .ttl01.lsN{
    padding-left: 0;
    letter-spacing: normal;
  }
  .cgWrap .ttl01::before,
  .cgWrap .ttl01::after{
    width: 10px;
    height: 10px;
  }
  .cgWrap .ttl01::before{
    left: -5px;
    top: -5px;
  }
  .cgWrap .ttl01::after{
    right: -5px;
    bottom: -5px;
  }
  
  .cgWrap .ttl02{
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*16 / 18*/
  }

	.cgWrap .copy01{
    margin-bottom: 2.5em;
    padding-left: 0.1em;
    font-size: clamp(calc(22px * 0.7), calc(22vw / 10.00), 22px);/*18 / 22*/
    letter-spacing: 0.1em;
	}
  .cgWrap .copy02{
    padding-left: 0.05em;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*16 / 18*/
	  letter-spacing: 0.05em;
  }
  
	.cgWrap .lead01{
    padding-left: 0.3em;
		font-size: clamp(calc(16px * 0.7), calc(16vw / 10.00), 16px);/*15 / 16*/
    letter-spacing: 0.3em;
		}
	.cgWrap .lead02{
    font-size: clamp(calc(13px * 0.7), calc(13vw / 10.00), 13px);/*13 / 14[13]*/
		}
  
  .cgWrap .lead01.taL,
  .cgWrap .lead02.taL{
    padding-left: 0;
  }
	
	.cgWrap .sec01{
		margin: 0 0 100px 0;
		}
	.cgWrap .sec02{
		margin: 0 0 70px 0;
		}
}


/*caption ... [
----------------------------------------------------------- */
.cgWrap .caption{
	padding: 0 0 40px 0;
	line-height: 1.8;
	letter-spacing: normal;
  z-index: 2;
}
.cgWrap .cap{
	font-size: 10px;
	line-height: 1.2;
	letter-spacing: normal;
  z-index: 2;
}
.cap02{
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: normal;
  z-index: 2;
}
/* for PC*/
@media print, screen and (min-width:768px) {
	.cgWrap .caption{
		padding-bottom: 60px;
	}
	.cgWrap .cap{}
  .cgWrap .cap02{
    font-size: 12px;
  }
}


/*header（仮） ... [
----------------------------------------------------------- */
/*header{
  width: 100%;
  height: 50px;
  background: #eeeeee;
  text-align: center;
  line-height: 50px;
}*/



/*cgWrap [
----------------------------------------------------------- */
.cgWrap{}


/*mvWrap [
----------------------------------------------------------- */
.cgWrap .mvWrap{
	position: relative;
  width: 100%;
  height: calc(100vh - 50px);/*headerの高さ*/
  height: calc(100dvh - 50px);/*headerの高さ*/
  background: url("../images/mv_sp.jpg") no-repeat center bottom;
  background-size: cover;
  color: #ffffff;
}

@media (orientation: landscape) and (max-height: 450px) {
  .cgWrap .mvWrap{
    height: auto;
    padding-bottom: 30vh;
  }
}

.cgWrap .mvWrap::after{
	content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 15vh;
  background: linear-gradient(to top, rgba(255,255,255,1.0) ,rgba(255,255,255,0)); 
}

.cgWrap .mvWrap > div{
	display: flex;
  flex-direction: column;
  justify-content: center;
}
.cgWrap .mvWrap .logoCG{
	order: 1;
  width: 40%;
  max-width: 200px;
  margin: 8vh auto 0 auto;
}
.cgWrap .mvWrap h1{
	order: 2;
  margin: 1em 0;
  font-size: clamp(calc(20px * 0.7), calc(20vw / 3.75), 20px);/*20 / 28*/
  text-align: center;
  line-height: 2.0;
  letter-spacing: 0.2em;
}
.cgWrap .mvWrap p{
	order: 3;
  font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);/*13 / 15*/
  text-align: center;
  line-height: 2.5;
  letter-spacing: 0.1em;
}

@media screen and (max-width:375px) {
  .cgWrap .mvWrap::after{
    height: 10vh;
  }
	.cgWrap .mvWrap h1{
    margin: 0.7em 0;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);
    line-height: 1.8;
  }
  .cgWrap .mvWrap p{
    order: 3;
    font-size: clamp(calc(12px * 0.7), calc(12vw / 3.75), 12px);
    line-height: 1.8;
  }
}

/* for PC*/
@media print, screen and (min-width:768px) {

  .cgWrap .mvWrap{
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100vh - 50px);/*headerの高さ*/
    height: calc(100dvh - 50px);/*headerの高さ*/
    /*min-height: 730px;*/
    min-height: 800px;
    /*padding-top: calc((100 / 730) * 100%);*/
    background-image: url("../images/mv_pc.jpg");
  }
  .cgWrap .mvWrap::after{
    /*height: calc((170 / 730) * 100%);*/
    height: calc((170 / 730) * 100%);
    max-height: 170px;
  }

  .cgWrap .mvWrap > div{
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    width: calc((910 / 1200) * 100%);
    margin: 0 auto !important;
    padding-bottom: 60px;
    /*max-width: 930px;*/
  }
  .cgWrap .mvWrap .logoCG{
    order: 3;
    width: calc((200 / 900) * 100%);
    max-width: 256px;
    margin: 0;
  }
  .cgWrap .mvWrap h1{
    order: 1;
    width: 100%;
    /*margin: 0 0 1.5em 0;*/
    margin: 0 0 1.2em 0;
    /*font-size: clamp(calc(28px * 0.7), calc(28vw / 10.00), 28px);20 / 28*/
    font-size: clamp(calc(28px * 0.7), calc(28vw / 10.00), 36px);/*20 / 36*/
    text-align: left;
    letter-spacing: 0.4em;
  }
  .cgWrap .mvWrap p{
    order: 2;
    /*font-size: clamp(calc(15px * 0.7), calc(15vw / 10.00), 15px);13 / 15*/
    font-size: clamp(calc(18px * 0.7), calc(18vw / 10.00), 18px);/*13 / 18*/
    text-align: left;
    letter-spacing: 0.2em;
  }
  
}

@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation:portrait){
/*縦向きのみの記述 */
  .cgWrap .mvWrap{
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(60vh - 50px);/*headerの高さ*/
    height: calc(60dvh - 50px);/*headerの高さ*/
    min-height: initial;
    padding-top: 0;
  }
  .cgWrap .mvWrap::after{
    height: 10vh;
  }
}

/* for tablet*/
@media only screen and (min-width: 1024px) and (max-width: 1112px) and (orientation:landscape) {
/*横向きのみの記述 --- iPad Pro12.9はPC表示*/
  /*body{
    min-width: 1280px;
  }*/
}


@media screen and (max-height: 800px) {
 .cgWrap .mvWrap{
    /*padding-top: calc((50 / 730) * 100%);*/
  }
  .cgWrap .mvWrap::after{
    height: calc((85 / 730) * 100%);
  }
}



/*contentsWrap [
----------------------------------------------------------- */
.cgWrap main{
  display: block;
}
.cgWrap .contentsWrap{
  width: 100%;
  padding: 20px 0 40px 0;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .contentsWrap{
    padding: 20px 0 60px 0;
  }
}

/*about [
--------------------------------- */
.cgWrap .about h2{
  margin: 0 0 1.5em 0;
  padding-left: 0.2em;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*18 / 22*/
  text-align: center;
  letter-spacing: 0.2em;
}
.cgWrap .about h2 + p{
  padding-left: 0.05em;
  font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);/*13 / 14[13]*/
  text-align: center;
  line-height: 3.0;
  letter-spacing: 0.02em;
}
.cgWrap .about figure{
  max-width: 650px;
  margin: 30px auto 0 auto;
}
/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .about h2{
    font-size: clamp(calc(22px * 0.7), calc(22vw / 10.00), 22px);/*18 / 22*/
  }
  .cgWrap .about h2 + p{
    font-size: clamp(calc(13px * 0.7), calc(13vw / 10.00), 13px);/*13 / 14[13]*/
  }
  .cgWrap .about figure{
    margin-top: 60px;
  }
}


/*cgNav [
--------------------------------- */
.cgWrap .cgNav{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 0 0 0;
  border-color: #181878;
  border-style: solid;
  border-width: 0 1px 1px 0;
}
.cgWrap .cgNav li{
  width: calc(100% / 2);
  border-color: #181878;
  border-style: solid;
  border-width: 1px 0 0 1px;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*18 / 24*/
  text-align: left;
  line-height: 1.0;
  transition: .3s;
}
.cgWrap .cgNav li > a,
.cgWrap .cgNav li > span{
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 50px;
  padding: 0 0 0 1em;
  color: #181878;
  text-decoration: none;
}
.cgWrap .cgNav li > a::after,
.cgWrap .cgNav li > span::after{
  content: "";
  position: absolute;
  right: 4px;
  bottom: 4px;
  display: block;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-right: 6px solid #181878;
  border-bottom: 6px solid #181878;
  border-left: 6px solid transparent;
}
.cgWrap .cgNav li > a:hover,
.cgWrap .cgNav li > span:hover,
.cgWrap .cgNav li.is-active > a,
.cgWrap .cgNav li.is-active > span{
  cursor: pointer;
  background: #181878;
  color: #ffffff;
}
.cgWrap .cgNav li > a:hover::after,
.cgWrap .cgNav li > span:hover::after,
.cgWrap .cgNav li.is-active > a::after,
.cgWrap .cgNav li.is-active > span::after{
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
}



/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .cgNav{
    margin-top: 30px;
  }
  .cgWrap .cgNav li{
    width: calc(100% / 4);
    font-size: clamp(calc(24px * 0.7), calc(24vw / 10.00), 24px);/*18 / 24*/
  }
  .cgWrap .cgNav li > a,
  .cgWrap .cgNav li > span{
    height: 60px;
  }
  .cgWrap .cgNav li > a::after,
  .cgWrap .cgNav li > span::after{
    border-width: 8px;
  }


  .cgWrap .cgNav li > a:hover,
  .cgWrap .cgNav li > span:hover,
  .cgWrap .cgNav li.is-active > a,
  .cgWrap .cgNav li.is-active > span{
    cursor: pointer;
    background: #181878;
    color: #ffffff;
  }
  .cgWrap .cgNav li > a:hover::after,
  .cgWrap .cgNav li > span:hover::after,
  .cgWrap .cgNav li.is-active > a::after,
  .cgWrap .cgNav li.is-active > span::after{}
}

/*btnLinkCG [
--------------------------------- */
.cgWrap .btnLinkCG{
  width: 100%;
  max-width: 500px;
  margin: 40px auto 0 auto;
  border: 1px solid #181878;
  font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*16 / 20*/
}
.cgWrap .btnLinkCG a{
  position: relative;
  display: flex;
  width: 100%;
  height: 60px;
  align-items: center;
  justify-content: center;
  color: #181878;
  text-decoration: none;
  transition: .3s;
}
.cgWrap .btnLinkCG a::after{
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  display: block;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-color: #181878;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg) translate(0,-50%);
}
.cgWrap .btnLinkCG a:hover{
  background: #181878;
  color: #ffffff;
}
.cgWrap .btnLinkCG a:hover::after{
  right: 10px;
  border-color: #ffffff;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .btnLinkCG{
    margin: 80px auto 0 auto;
    font-size: clamp(calc(20px * 0.7), calc(20vw / 10.00), 20px);/*16 / 20*/
  }
  .cgWrap .btnLinkCG a{
    height: 80px;
  }
  .cgWrap .btnLinkCG a::after{
    right: 30px;
    width: 12px;
    height: 12px;
  }
  .cgWrap .btnLinkCG a:hover{}
  .cgWrap .btnLinkCG a:hover::after{
    right: 25px;
  }
}

/*cgContents [
--------------------------------- */
.cgWrap .cgContents{
  margin: 0 0 40px 0;
  background: #f5f3f2;
}

.cgWrap .cgContents .content {
  display: none;
  animation: fadeIn 0.3s ease-in-out;
}

.cgWrap .cgContents .content.is-active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.cgWrap .cgContents .conH{
  position: relative;
  height: 375px;
  margin: 0 0 40px 0;
  color: #fff;
}
.cgWrap .cgContents .conH::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.2);
  z-index: 9;
}
.cgWrap .cgContents .conH > div{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  padding: 0 5.33vw;
  text-align: left;
  transform: translate(-50%,-50%);
  z-index: 10;
}
.cgWrap .cgContents .conH > div h3{
  font-size: clamp(calc(58px * 0.7), calc(58vw / 3.75), 58px);/*58 / 78*/
  line-height: 1.0;
}
.cgWrap .cgContents .conH > div h3 + p{
  margin: 1em 0 0 0;
  font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*16 / 20*/
  letter-spacing: 0.1em;
}
.cgWrap .cgContents .conH figure{
  position: relative;
  height: 100%;
}
.cgWrap .cgContents .conH figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cgWrap .cgContents .conH figure .cap{
  position: absolute;
  right: 4px;
  bottom: 4px;
  color: #fff;
  z-index: 10;
}

/*.pList*/
.cgWrap .cgContents .pList{}
.cgWrap .cgContents .pList::after{
  content: none;
}
.cgWrap .cgContents .pList li{
  margin: 40px 0 0 0;
}
.cgWrap .cgContents .pList li:first-of-type{
  margin-top: 0;
}
.cgWrap .cgContents .pList li figure{
  position: relative;
}
.cgWrap .cgContents .pList li figure .cap{
  position: absolute;
  right: 2px;
  bottom: 2px;
}
.cgWrap .cgContents .pList .t01{
  position: relative;
  margin: 1.5em 0 0 0;
  /*padding: 0 0 0 1.2em;*/
  padding: 0 0 0 1.1em;
  font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*16 / 18*/
  text-align: left;
}
.cgWrap .cgContents .pList .t01::before,
.cgWrap .cgContents .pList .t01::after{
  content: "";
  position: absolute;
  display: block;
  border-radius: 50%;
}
.cgWrap .cgContents .pList .t01::before{
  /*width: 1em;
  height: 1em;
  left: 0;
  top: 0.3em;
  /*border: 1px solid #181878;*/
  width: 0.9em;
  height: 0.9em;
  left: 0;
  top: 0.4em;
  border: 1px solid #111111;
}
.cgWrap .cgContents .pList .t01::after{
  /*width: calc(1em - 4px);
  height: calc(1em - 4px);
  left: calc(0px + 2px);
  top: calc(0.3em + 2px);
  background: #181878;*/
  width: calc(0.9em - 4px);
  height: calc(0.9em - 4px);
  left: calc(0px + 2px);
  top: calc(0.4em + 2px);
  background: #111111;
}
.cgWrap .cgContents .pList .t01 span{
  display: block;
  font-size: 11px;
}
.cgWrap .cgContents .pList .t02,
.cgWrap .cgContents .copy01 + p,
.cgWrap .cgContents .copy02 + p{
  margin: 1.0em 0 0 0;
  font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);/*13 / 14[13]*/
  text-align: left;
  line-height: 2.0;
}
.cgWrap .cgContents .copy01 + p,
.cgWrap .cgContents .copy02 + p{
  margin: 0 0 3.0em 0;
}
 
/*1列*/
.cgWrap .cgContents .pList.-col1{}

/*2列*/
.cgWrap .cgContents .pList.-col2{}

/*3列*/
.cgWrap .cgContents .pList.-col3{
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}


/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .cgContents{
    margin-bottom: 80px;
  }
  .cgWrap .cgContents .conH{
    /*height: 415px;*/
    height: auto;
    margin-bottom: 80px;
  }
  .cgWrap .cgContents .conH::before{}
  .cgWrap .cgContents .conH > div{
    width: 100% !important;
    padding: 0;
  }
  .cgWrap .cgContents .conH > div h3{
    font-size: clamp(calc(78px * 0.7), calc(78vw / 10.00), 78px);/*58 / 78*/
  }
  .cgWrap .cgContents .conH > div h3 + p{
    font-size: clamp(calc(20px * 0.7), calc(20vw / 10.00), 20px);/*16 / 20*/
    letter-spacing: 0.2em;
  }
  .cgWrap .cgContents .conH figure{}
  .cgWrap .cgContents .conH figure img{}
  .cgWrap .cgContents .conH figure .cap{
    right: 10%;
    bottom: 4px;
    font-size: 11px;
  }
  
  
  /*.pList*/
  .cgWrap .cgContents .pList{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .cgWrap .cgContents .pList li{
    margin-top: 80px;
  }
  .cgWrap .cgContents .pList li figure{}
  .cgWrap .cgContents .pList li figure .cap{}
  .cgWrap .cgContents .pList .t01{
    padding: 0;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 10.00), 18px);/*16 / 18*/
  }
  .cgWrap .cgContents .pList .t01::before,
  .cgWrap .cgContents .pList .t01::after{
    content: none;
  }
  .cgWrap .cgContents .pList .t01 span{
    display: inline-block;
    margin: 0 0 0 1em;
    font-size: 12px;
  }
  .cgWrap .cgContents .pList .t02,
  .cgWrap .cgContents .copy01 + p,
  .cgWrap .cgContents .copy02 + p{
    font-size: clamp(calc(13px * 0.7), calc(13vw / 10.00), 13px);/*13 / 14[13]*/
  }
  .cgWrap .cgContents .copy01 + p,
  .cgWrap .cgContents .copy02 + p{
    max-width: 740px;
    margin-left: auto;
    margin-right: auto;
  }
  
  /*1列*/
  .cgWrap .cgContents .pList.-col1{}
  
  /*2列*/
  .cgWrap .cgContents .pList.-col2{}
  .cgWrap .cgContents .pList.-col2 li{
    width: calc((450 / 1000) * 100%);
  }
  .cgWrap .cgContents .pList.-col2 li:nth-of-type(-n+2){
    margin-top: 0;
  }
  
  /*3列*/
  .cgWrap .cgContents .pList.-col3{
    width: 100%;
  }
  .cgWrap .cgContents .pList.-col3 li{
    /*width: calc((295 / 1000) * 100%);*/
    width: calc((310 / 1000) * 100%);
  }
  .cgWrap .cgContents .pList.-col3 li:nth-of-type(-n+3){
    margin-top: 0;
  }

}

@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation:portrait){
/*縦向きのみの記述 */
  .cgWrap .cgContents .conH > div{
    padding: 0 20px;
  }
}


/* zeh ////////////////////////////// */
.cgWrap .zeh{}
.cgWrap .zeh .t01{
  margin-top: 0;
}
.cgWrap .zeh figure{
  margin: 20px 0 0 0;
}

.cgWrap .zeh .tR{
  color: #e8380d;
}
.cgWrap .zeh .tG{
  color: #45b035;
}
.cgWrap .zeh .tY{
  color: #f6ab00;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .zeh{
    display: flex;
    justify-content: space-between;
  }
  .cgWrap .zeh > div{
    width: calc((480 / 1000) * 100%);
  }
  .cgWrap .zeh .t01{}
  .cgWrap .zeh figure{
    margin: 0;
  }
  
}


/* tow by four ////////////////////////////// */
.cgWrap .tbf{}
.cgWrap .tbf .method{
  text-align: left;
}
.cgWrap .tbf .method ul{
  display: flex;
}
.cgWrap .tbf .method ul li{
  position: relative;
  width: calc(100% / 3);
}
.cgWrap .tbf .method ul li figure{
  padding: 0 5%;
}
.cgWrap .tbf .method h6,
.cgWrap .tbf .method ul li p{
  /*margin: 10px 0 0 0;*/
  font-size: clamp(calc(12px * 0.7), calc(12vw / 3.75), 12px);/*12 / 14*/
  text-align: left;
  line-height: 1.4; 
}
.cgWrap .tbf .method.type01{
  margin: 0 0 20px 0;
}
.cgWrap .tbf .method.type01 ul{
  justify-content: space-between;
}
.cgWrap .tbf .method.type01 ul li::after{
  content: "";
  position: absolute;
  top: 20%;
  display: block;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: none;
  border-left: 11px solid #595757;
}
.cgWrap .tbf .method.type01 ul li:nth-of-type(1)::after{
  right: 0;
}
.cgWrap .tbf .method.type01 ul li:nth-of-type(2)::after{
  right: -6%;
}
.cgWrap .tbf .method.type01 ul li:last-of-type::after{
  content: none;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .tbf{
    display: flex;
    justify-content: space-between;
  }
  .cgWrap .tbf .method{}
  .cgWrap .tbf .method ul{}
  .cgWrap .tbf .method ul li{
    width: 31%;
  }
  .cgWrap .tbf .method ul li figure{
    padding: 0;
  }
  .cgWrap .tbf .method h6,
  .cgWrap .tbf .method ul li p{
    font-size: clamp(calc(14px * 0.7), calc(14vw / 10.00), 14px);/*12 / 14*/
    line-height: 2.0;
  }
  .cgWrap .tbf .method.type01{
    width: calc((650 / 1000) * 100%);
    margin: 0;
  }
  .cgWrap .tbf .method.type01 ul{}
  .cgWrap .tbf .method.type01 ul li::after{
    top: 30%;
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 15px;
  }
  .cgWrap .tbf .method.type01 ul li:nth-of-type(1)::after{
    right: 0;
  }
  .cgWrap .tbf .method.type01 ul li:nth-of-type(2)::after{
    right: -11%;
  }
  .cgWrap .tbf .method.type01 ul li:last-of-type::after{}
  
  .cgWrap .tbf .method.type02{
    width: calc((200 / 1000) * 100%);
  }
  .cgWrap .tbf .method.type02 li{
    width: 100%;
  }
}



/* sos ////////////////////////////// */
.cgWrap .sos{}
.cgWrap .sos figure{
  position: relative;
}
.cgWrap .sos figure .cap{
  position: absolute;
  right: 0;
  bottom: 0;
}
/* for PC*/
@media print, screen and (min-width:768px) {
  .cgWrap .sos{}
}



/* my CIELIA ////////////////////////////// */
.logoMC{
  width: 70%;
  max-width: 290px;
  margin: 0 auto 30px auto;
}
/* for PC*/
@media print, screen and (min-width:768px) {
  .logoMC{
    margin-bottom: 40px;
  }
}


/* platinum ////////////////////////////// */
.platinum{}
.platinum .timeline01{
}
.platinum .timeline01 span{
  display: block;
  padding: 0 2.66vw 10px 2.66vw;
  overflow-x: auto;
}
.platinum .timeline01 img{
  width: auto;
  max-width: initial;
  height: 290px;
}

/*plt01*/
.platinum .plt01{}
.platinum .plt01 figure{
  max-width: 605px;
  margin: 0 auto;
}

/*plt02*/
.platinum .plt02{}
.platinum .plt02 > div{}
.platinum .plt02 section{
  margin-bottom: 30px;
  padding: 20px;
  background: #fff;
}
.platinum .plt02 section:last-of-type{
  margin-bottom: 0;
}
.platinum .plt02 section dl{
  /*display: -webkit-box;
  display: flex;
  -webkit-box-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  justify-content: space-between;*/
}
.platinum .plt02 section dl dt{
  /*width: 125px;
  margin: 0 10px 10px 0;*/
  margin: 0 0 10px 0;
  padding: 5px 0 5px 0;
  color: #fff;
  text-align: center;
  line-height: 1.0;
}
.platinum .plt02 section dl dd{
  /*width: calc(100% - 125px - 10px);*/
  line-height: 1.4;
  text-align: left;
}
.platinum .plt02 section ul{
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  margin: 20px 0 0 0;
}
.platinum .plt02 section ul li{
  width: 32%;
}
.platinum .plt02 section ul li figcaption{
  margin: 5px 0 0 0;
  font-size: clamp(calc(12px * 0.7), calc(12vw / 3.75), 12px);/*12 / 14*/
  text-align: center;
  line-height: 1.4;
}


.platinum .plt02 section:nth-of-type(1) dl dt{
  background: #3d5386;
}

.platinum .plt02 section:nth-of-type(2) dl dt{
  background: #1d836d;
}


/*plt03*/
.platinum .plt03{}
.platinum .plt03 > section{
  position: relative;
}
.platinum .plt03 > section > .cap02{
  position: absolute;
  right: 0;
  top: 6px;
}
.platinum .plt03 li{  
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  margin: 0 0 10px 0;
}
.platinum .plt03 li p,
.platinum .plt03 li figure{
  width: calc((100% - 4px) / 2);
}
.platinum .plt03 li p{  
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  background: #8bb1b0;
  color: #fff;
  text-align: center;
  line-height: 1.4;
}
.platinum .plt03 li figure img{
  width: 100%;
}


/*plt04*/
.platinum .plt04{}
.platinum .plt04 > section > div{
  padding: 5.33vw;
  background: #ffffff;
  border: 8px solid #f3e1de;
  text-align: center;
}
.platinum .plt04 > section > div > div{
  margin: 20px 0 0 0;
}
.platinum .plt04 > section > div > div p{
  letter-spacing: -0.05em;
}
.platinum .plt04 > section > div > div > div{}
.platinum .plt04 > section > div > div > div p{
  margin: 0 0 20px 0;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .platinum{}
  .platinum .timeline01{
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  .platinum .timeline01 span{
    padding: 0 20px 10px 20px;
    overflow-x: hidden;
  }
  .platinum .timeline01 img{
    width: 100%;
    height: auto;
  }
  
  /*.platinum .inner{    
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }*/

  /*plt01*/
  .platinum .plt01{}
  .platinum .plt01 figure{}

  /*plt02*/
  .platinum .plt02{}
  .platinum .plt02 > div{
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: calc((860 / 1000) * 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .platinum .plt02 > div + p{
    width: calc((860 / 1000) * 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .platinum .plt02 section{
    width: calc((420 / 860) * 100%);
    margin-bottom: 0;
    padding: 20px 15px;
  }
  .platinum .plt02 section:last-of-type{}
  .platinum .plt02 section dl{
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .platinum .plt02 section dl dt{
    width: 110px;
    height: 40px;
    margin: 0 10px 10px 0;
    padding: 0;
    line-height: 38px;
  }
  .platinum .plt02 section dl dd{
    width: calc(100% - 110px - 10px);
  }
  .platinum .plt02 section ul{}
  .platinum .plt02 section ul li{}
  .platinum .plt02 section ul li figcaption{
    font-size: clamp(calc(12px * 0.7), calc(12vw / 10.00), 12px);/*12 / 12*/
    letter-spacing: -0.05em;
  }

  .platinum .plt02 section:nth-of-type(1){}
  .platinum .plt02 section:nth-of-type(1) dl dt{}

  .platinum .plt02 section:nth-of-type(2){}
  .platinum .plt02 section:nth-of-type(2) dl dt{}
  
  /*plt03*/
  .platinum .plt03{}
  .platinum .plt03 > section{
    width: calc((810 / 1000) * 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .platinum .plt03 ul{ 
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .platinum .plt03 li{
    width: calc((255 / 810) * 100%);
    margin-bottom: 15px;
  }
  .platinum .plt03 li p,
  .platinum .plt03 li figure{}
  .platinum .plt03 li p{
    width: calc((115 / 255) * 100%);
  }
  .platinum .plt03 li figure{
    width: calc((138 / 255) * 100%);
  }
  .platinum .plt03 li figure img{}
  
  
  /*plt04*/
  .platinum .plt04{}
  .platinum .plt04 > section{
    width: calc((810 / 1000) * 100%);
    margin-left: auto;
    margin-right: auto;
  }
  .platinum .plt04 > section > div{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    -webkit-box-align: center;
    align-items: center;
    padding: 20px 0;
    border-width: 10px;
  }
  .platinum .plt04 > section > div > figure{
    width: calc((160 / 790) * 100%);
  }
  .platinum .plt04 > section > div > div{
    width: calc((550 / 790) * 100%);
    margin-top: 0;
  }
  
  .platinum .plt04 > section > div > div p{
    letter-spacing: normal;
  }
  .platinum .plt04 > section > div > div > div{
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    justify-content: center;
    align-items: center;
  }
  .platinum .plt04 > section > div > div > div p{
    margin-bottom: 0;
    margin-right: 40px;
  }
}





/*set aos
--------------------------------- */
/*custom animation*/
* [data-aos="ca-slideup"] {
	transform: translateY(30px);
}
* [data-aos="ca-slideup"].aos-animate {
	transform: translateY(0);
}

* [data-aos="ca-slideleft"] {
	transform: translateX(30px);
}
* [data-aos="ca-slideleft"].aos-animate {
	transform: translateY(0);
}

* [data-aos="ca-slideright"] {
	transform: translateX(-30px);
}
* [data-aos="ca-slideright"].aos-animate {
	transform: translateY(0);
}


* [data-aos="ca-fade"] {
  opacity: 0;
}
* [data-aos="ca-fade"].aos-animate {
  opacity: 1;
}

* [data-aos="ca-fadeup"] {
	transform: translateY(30px);
  opacity: 0;
}
* [data-aos="ca-fadeup"].aos-animate {
	transform: translateY(0);
  opacity: 1;
}

/*ca-fadeup02*/
* [data-aos="ca-fadeup02"] {
	transform: translateY(30px);
}
* [data-aos="ca-fadeup02"].aos-animate {
	transform: translateY(0);
}
* [data-aos="ca-fadeup02"] img {
	 opacity: 0;
  transition-duration: .6s;
}
* [data-aos="ca-fadeup02"].aos-animate img {
	opacity: 1;
}



/* for pc*/
@media screen and (min-width: 768px) {
	/*custom animation*/
	* [data-aos="ca-slideup"] {
		transform: translateY(60px);
	}
  * [data-aos="ca-fadeup"] {
    transform: translateY(60px);
  }
  * [data-aos="ca-fadeup02"] {
    transform: translateY(60px);
  }
  
  * [data-aos="ca-slideleft"] {
    transform: translateX(60px);
  }

  * [data-aos="ca-slideright"] {
    transform: translateX(-60px);
  }

}


