@charset "UTF-8";
/* CSS Document */



body{
	margin: 0;
	padding: 0;
	background-image: url(../img/bg.jpg);
  	background-position: center center;
  	background-repeat: no-repeat;
  	background-attachment: fixed;
  	background-size: cover;
 	z-index: -500;
	line-height: 0;
	
}

div{
	margin: 0;
	padding: 0;
	display: block;
	vertical-align: bottom;
}


.cnt{
	width: 100%;
	max-width:750px;
	margin: 0 auto;
	box-shadow: 0 0px 10px rgba(0, 0, 0, 0.4);
	
}

img{
	display:block;
	width: 100%;
	margin: 0 auto;
	vertical-align: bottom;
}

a{
	text-align: center;
	cursor: pointer;
	text-decoration: none;
	display: block;
	
}


p{
	font-size:18px;
	width: 100%;
	text-align: center;
}

video{
	max-width: 100%;
	display: block;
}

/*フェードインアニメーション*/ 
.effect-fade {
  opacity: 0;
  transform: translate(0, 20px); /* フェードインで動く高さを指定 */
  transition: all 1700ms; /* フェードインにかかる時間を指定 */
}
.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}

/*グローアニメーション*/
.btnshine{
    /*キラッと光る基点とするためrelativeを指定*/
  	position: relative;
    /*ボタンの形状*/  
  	display:inline-block;
    text-decoration: none;
    outline: none;
    overflow: hidden;
}

/*キラッと光る*/
.btnshine::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
    width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);

  transform: skewX(-25deg);
	mix-blend-mode:lighten ;
	animation: shine 2s infinite;
}



@keyframes shine {
  100% {
    left: 125%;
  }
}



/* =================================================================
		content
================================================================= */

/*----------cnt001--------------*/

#cnt001{
	position: relative;
}

#cnt001 .cnt001-item01{
	position: absolute;
	width: 4.93%;
	top: 5.65%;
	right: 5.6%;
}

#cnt001 .cnt001-item02{
	width:16.27%;
	position: absolute;
	top: 5.8%;
	right: 12.8%;
}

#cnt001 .cnt001-item03{
	position: absolute;
	bottom: 26.52%;
	left: 0;
}

#cnt001 .fv-cta-btn{
	position: absolute;
	width: 94%;	
	bottom: 7.8%;
	left:50%;
	transform: translateX(-50%);
	filter:drop-shadow(0 14px 8px rgba(32, 37, 40, 0.64));
	
}

/*----------cnt002--------------*/

#cnt002 .cnt002-item{
	position: relative;
}

#cnt002 .cnt002-item01{
	position: absolute;
	top: 7%;
	left: 0;
	z-index: 10;
}

#cnt002 .cnt002-item02{
	position: absolute;
	top:6%;
	left:0;
}

#cnt002 .cnt002-item03{
	position: absolute;
	top: 12.5%;
	left:0;
}

#cnt002 .cnt002-item04{
	position: absolute;
	top: 20%;
	left:0;
}

#cnt002 .cnt002-item05{
	position: absolute;
	top: 52.5%;
	left:0;
}

#cnt002 .cnt002-item06{
	position: absolute;
	top: 59.8%;
	left:0;
}

#cnt002 .cnt002-item07{
	position: absolute;
	top: 67%;
	left:0;
}

#cnt002 .cnt002-item08{
	position: absolute;
	top: 74%;
	left:0;
}

#cnt003{
	position: relative;
}

#cnt003 .cnt003-item01{
	width: 87.2%;
	position: absolute;
	top: 42%;
	left: 50%;
	transform: translateX(-50%);
	filter:drop-shadow(0 14px 8px rgba(32, 37, 40, 0.64));

}

#cnt003 .cnt003-item02{
	width: 100%;
	position: absolute;
	bottom: 2%;
	left:0;
	
}

#cnt003 .cnt003-item02 .slide{
	display: flex;
    gap: 5px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

#cnt003 .cnt003-item02 .slide .slide-list{
   width: 80%;
   flex: none;
   scroll-snap-align: start;
	margin-bottom: 4%;
   
}
#cnt003 .cnt003-item02 .slide li:nth-child(1)
{
	padding-left: 8%;
}

#cnt003 .cnt003-item02 .slide li:nth-child(5)
{
	padding-right: 8%;
}

#cnt005{
	position: relative;
}

/*------------slider---------------*/

#cnt005 .cnt005-slider{
	position: absolute;
	bottom: 1%;
	left: 0;
	width: 100%;
}

#cnt005 .cnt005-slider .vc-slider-item{
	position: relative;
}

#cnt005 .cnt005-slider .vc-slider-item .cnt005-voice-anm{
	position: absolute;
	width: 37.7%;
	height:auto;
	bottom: 7.2%;
	right: 5.5%;
}


.slide-arrow {
	bottom: 0;
  	cursor: pointer;
  	margin: auto;
  	position: absolute;
  	top: 32%;
  	width: 7%;
	z-index: 10;
}
.prev-arrow {
  left:0.5%;
}

.next-arrow {
  right: 0.5%;
}

.slick-dots{
	bottom: -1%;
}

.slick-dots li button:before{
    font-size:2rem;/*初期値は6px*/
}

#cnt006{
	position: relative;	
}

#cnt006 .cnt006-item01{
	position: absolute;
	top: 7.2%;
	left: 0;
}

#cnt006 .cnt006-item02{
	position: absolute;
	top: 17.8%;
	left: 0;
}

#cnt006 .cnt006-item03{
	position: absolute;
	top: 17.8%;
	left: 0;
}

#cnt006 .cnt006-item04{
	position: absolute;
	top: 37.7%;
	left: 0;
}

#cnt006 .cnt006-item05{
	position: absolute;
	top: 40.3%;
	left: 0;
}

#cnt006 .cnt006-item06{
	position: absolute;
	width: 90%;
	top: 63.8%;
	left: 6.2%;
	
}

#cnt006 .cnt006-item07{
	position: absolute;
	width: 51.3%;
	top: 79.4%;
	right: 3.2%;
	
}

#cnt008{
	position: relative;
}

#cnt008 .cnt008-item01{
	position: absolute;
	top: 11%;
	left: 0;
}

#cnt008 .cnt008-item02{
	position: absolute;
	top: 10.7%;
	left: 0;
}

#cnt008 .cnt008-item03{
	position: absolute;
	width: 38.5%;
	top: 38.9%;
	left: 9.1%;
}

#cnt008 .cnt008-item04{
	position: absolute;
	top: 59.8%;
	left: 0;
}

#cnt008 .cnt008-item05{
	position: absolute;
	top:59.5%;
	left: 0;
}

#cnt008 .cnt008-item06{
	position: absolute;
	width: 80%;
	top: 86.2%;
	left: 10%;
}

/*------------アコーディオン---------------*/
/*
.accordion_img {
	vertical-align: bottom;
	width: 100%;
}
.w_1200{
	margin: 0 auto;
  max-width: 1200px;
	overflow: hidden;
	text-align: center;
	margin-top: -5px;
}
@media screen and (max-width: 800px) {
.accordion_img {
    height: 100%;
    width: 150%;
    margin: 0 -50%;
}
}*/
/*基本css*/

/*アコーディオンcss*/
/*
dl {
    margin: 0;
}
.accordionlist dt{
    display:block;
    background: #fff;
}
.accordionlist dt:first-child{
    border-top: none !important;
}
.accordionlist dt .title{
    padding-left: 0px;
}
.accordionlist dd{
    display:none;
	background: #fff;
	padding:0 0 0px 0px;
}*/
/*VCアコーディオンcss*/

#cnt011 {
  background: rgb(241, 230, 224);
  background: linear-gradient(343deg, rgb(241, 230, 224) 0%, rgb(241, 230, 224) 100%);
  padding-bottom: 14%;
}
#cnt011 .wrapper {
padding-bottom: 20%;
 margin: 0 auto;
}
#cnt011 .text_wrapper {
  position: relative;
}
#cnt011 .text {
  height: 150px;
  overflow-y: hidden;
}

#cnt011 .show_more,
#cnt011 .show_more2 {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 5%;
  padding-top: 20%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(183, 183, 183) 65%);
  cursor: pointer;
  transition: bottom 0.2s;
}
#cnt011 .active {
  background: none;
  bottom: -30px;
}
#cnt011 .acco_icon {
  width: 20%;
  margin: -8% auto 0;
}

#cnt012 .cnt012-ct{
	position: relative;
}

#cnt012 .cnt012-ct .cnt012-item01{
	position: absolute;
	top: 43.8%;
	left: 0;
}

#cnt012 .cnt012-ct .cnt012-item02{
	position: absolute;
	top: 14.5%;
	left: 0;
}

#cnt012 .cnt012-ct .cnt012-item03{
	position: absolute;
	top: 14.5%;
	left: 0;
}

#cnt012 .cnt012-ct .cnt012-item04{
	position: absolute;
	top: 14.5%;
	left: 0;
}

#cnt012 .cnt012-ct .cnt012-item05{
	overflow-x: scroll;
	width: 100%;
	position: absolute;
	top: 70%;
	left: 0;
}


#cnt012 .cnt012-ct .cnt012-item05 .cnt012-p{
	width: 205%;
	padding: 0 16%;
}


#cnt012 .cnt012-ct .cnt012-item06{
	position: absolute;
	width: 90%;
	top: 22%;
	right: 4%;
}

/*
#cnt012 .cnt012-ct .cnt012-item07{
	position: absolute;
	top: 50%;
	left: 0;
}*/

#cnt012 .cnt012-ct .cnt012-item07{
	width: 98%;
	margin: 0 auto;
	position: absolute;
	top: 40.5%;
	left: 0;
}

.slide-arrow02 {
	bottom: 0;
  	cursor: pointer;
  	margin: auto;
  	position: absolute;
  	top: 0;
  	width: 7%;
	z-index: 10;
}
.prev-arrow02 {
  left:0;
}

.next-arrow02 {
  right: 0;
}

#cnt013 .cnt013-ct{
	position: relative;
}

#cnt013 .cnt013-ct .cnt013-item01{
	position: absolute;
	top: 36.4%;
	left: 0;
}

#cnt013 .cnt013-ct .cnt013-item02{
	width: 100%;
	overflow-x: scroll;
	position: absolute;
	top: 41.5%;
	left: 0;
}

#cnt013 .cnt013-ct .cnt013-item02 .cnt013-p{
	width: 205% ;
	padding: 0 16%;
}

#cnt014 {
	position: relative;
}

#cnt014 .cnt014-item01{
	position: absolute;
	top: 0;
	left: 0;
}

#cnt014 .cnt014-item02{
	position: absolute;
	top: 5.4%;
	left: 0;
}

#cnt014 .cnt014-item03{
	position: absolute;
	top: 14.9%;
	left: 0;
}

#cnt014 .cnt014-item04{
	position: absolute;
	top: 30.5%;
	left: 0;
}

#cnt014 .cnt014-video{
	width: 90%;
	position: absolute;
	top: 37.4%;
	left: 50%;
	transform: translateX(-50%);
	filter:drop-shadow(23px 23px 10px rgba(22, 22, 22, 0.34));
}

#cnt014 .cnt014-item05{
	position: absolute;
	top: 48.8%;
	left: 0;
}

#cnt014 .cnt014-item06{
	position: absolute;
	top: 52.7%;
	left: 0;
}

#cnt014 .cnt014-item07{
	position: absolute;
	top: 63.2%;
	left: 0;
}

#cnt014 .cnt014-item08{
	position: absolute;
	top: 72.1%;
	left: 0;
}

#cnt015{
	position: relative;
}

#cnt015 .cnt015-item01{
	position: absolute;
	top: 11.5%;
	left: 0;
}

#cnt015 .cnt015-item02{
	position: absolute;
	top: 30.8%;
	left: 0;
}


/*-----------開発者コメントアコーディオン-------------*/



#cnt016 {
  background: rgb(255, 255, 255);
  padding-bottom: 5%;
}
#cnt016 .wrapper {
background: linear-gradient(180deg, rgb(207, 215, 222) 0%, rgb(196, 206, 214) 100%);
padding-bottom: 20%;
 margin: 0 auto;
}
#cnt016 .text_wrapper {
  position: relative;
}
#cnt016 .text {
  height: 200px;
  overflow-y: hidden;
}

#cnt016 .show_more,
#cnt016 .show_more2 {
	width: 91%;
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  height: 5%;
  padding-top: 20%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, rgb(183, 183, 183) 65%);
  cursor: pointer;
  transition: bottom 0.2s;
}
#cnt016 .active {
  background: none;
  bottom: -30px;
}
#cnt016 .acco_icon {
  width: 20%;
  margin: -8% auto 0;
}

#cnt016 .cnt016-ct{
	position: relative;
}

#cnt016 .cnt016-ct .cnt016-item{
	width: 75%;
	position: absolute;
	top: 0%;
	left: 50%;
	transform: translateX(-50%);
}

#cnt018{
	position: relative;
}

#cnt018 .cnt018-item01{
	width: 87.2%;
	position: absolute;
	top: 50.2%;
	left: 50%;
	transform: translateX(-50%);
	filter:drop-shadow(0 14px 8px rgba(32, 37, 40, 0.64));
	
}


#cnt018 .cnt018-item02{
	width: 100%;
	position: absolute;
	bottom: 2%;
	left:0;
	
}

#cnt018 .cnt018-item02 .slide{
	display: flex;
    gap: 5px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

#cnt018 .cnt018-item02 .slide .slide-list{
   width: 80%;
   flex: none;
   scroll-snap-align: start;
	margin-bottom: 4%;
   
}
#cnt018 .cnt018-item02 .slide li:nth-child(1)
{
	padding-left: 8%;
}

#cnt018 .cnt018-item02 .slide li:nth-child(5)
{
	padding-right: 8%;
}


#cnt019{
	position: relative;
}

#cnt019 .cnt003-item01{
	width: 87.2%;
	position: absolute;
	top: 42%;
	left: 50%;
	transform: translateX(-50%);
	filter:drop-shadow(0 14px 8px rgba(32, 37, 40, 0.64));

}

#cnt019 .cnt003-item02{
	width: 100%;
	position: absolute;
	bottom: 2%;
	left:0;
	
}

#cnt019 .cnt003-item02 .slide{
	display: flex;
    gap: 5px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

#cnt019 .cnt003-item02 .slide .slide-list{
   width: 80%;
   flex: none;
   scroll-snap-align: start;
	margin-bottom: 4%;
   
}
#cnt019 .cnt003-item02 .slide li:nth-child(1)
{
	padding-left: 8%;
}

#cnt019 .cnt003-item02 .slide li:nth-child(5)
{
	padding-right: 8%;
}





/*　フッタープロフィールのインクルード用CSS */
#cnt018 ul,
.cv_i ul{
	margin: 0 0 0px 0;
	padding: 12px 0;
	border-top: 1px solid #666666;
	border-bottom: 1px solid #666666;
	text-align: center;
	font-size:12px;
	background-color:#e2e2e2;
}

#cnt018 ul li,
.cv_i ul li{
	display: inline-block;
	padding: 0 10px;
/* 	border-right: 1px solid #bb9d8f; */
}

#cnt018 ul li:last-child,
.cv_i ul li:last-child{
	border: 0;
}

#cnt018 ul li a,
.cv_i ul li a{
	color:#00408c;
}
/*　フッタープロフィールのインクルード用CSS ここまで */

/*　フッタープロフィールのインクルード用CSS */
#cnt019 ul,
.cv_i ul{
	margin: 0 0 0px 0;
	padding: 12px 0;
	border-top: 1px solid #666666;
	border-bottom: 1px solid #666666;
	text-align: center;
	font-size:12px;
	background-color:#e2e2e2;
}

#cnt019 ul li,
.cv_i ul li{
	display: inline-block;
	padding: 0 10px;
/* 	border-right: 1px solid #bb9d8f; */
}

#cnt019 ul li:last-child,
.cv_i ul li:last-child{
	border: 0;
}

#cnt019 ul li a,
.cv_i ul li a{
	color:#00408c;
}
/*　フッタープロフィールのインクルード用CSS ここまで */

