@charset "UTF-8";

/*----------------------------------------------------------
更新日：2024年7月3日
=PC(960以上)
=PC & タブレット(960以下)
=スマホ(768px以下)
-------------------------------------------------------------*/

/*==================================================================
  Top page
===================================================================*/

/* #keyv
------------------------------------------------------*/
#keyv {
	text-align: center;
	color: #FFF;
	min-height: 850px;
	align-items: center;
	background: #C5E7FF url("../img/keyv_bg.webp") no-repeat center bottom;
	background-size:cover;
	display: flex;
	position: relative;
}
#keyv .mainTxt {
	width: 100%;
	height: 100%;
	padding: 0 0;
	position: relative;
	z-index: 5;
}
#keyv .mainTxt .sName {
	text-align: center;
	padding: 0 1vw 0 40vw;
	margin: -2.5em auto 0;
}
#keyv .keyvPic {
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: 5vw;
}
#keyv .breadcrumbs{
	top:auto;
	bottom: 0.5em;
}
#keyv .breadcrumbs,
#keyv .breadcrumbs a,
#keyv .breadcrumbs .current-item{
	color: rgba(255,255,255,0.8);
}
@media only screen and (max-width:1024px) {
	#keyv {
		min-height: 600px;
	}
	#keyv .mainTxt .sName {
		padding: 0 1vw 0 35vw;
	}
	#keyv .keyvPic {
		right: 3vw;
		width: 25vw;
		min-width: 240px;
	}
}
@media only screen and (max-width:768px) {
	#keyv {
		background: #FFF url("../img/keyv_bg.webp") no-repeat 40% center;
		background-size:cover;
		min-height: 500px;
	}
	#keyv .mainTxt {
		padding-top: 16vw;
	}
	#keyv .mainTxt .sName {
		padding: 0 2vw 0 24vw;
	}
	#keyv .keyvPic {
		right: 2vw;
		width: 15vw;
		min-width: 180px;
	}
}


/* .sec
------------------------------------------------------*/
.sec .topTxt {
	text-align: center;
	margin-bottom: 2em;
	padding: 0 4em;
}
@media only screen and (max-width:768px) {
	.sec .topTxt {
		padding: 0;
		text-align: left;
	}
}


/* #topContent
------------------------------------------------------*/
#topContent{
}
#topContent .pickup{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#topContent .pickup ul{
	width: 50%;
/*	padding-right: 1.5em;*/
}
#topContent .pickup ul li{
	background-color: #f6f6f6;
	padding: 1em 1.5em;
	border-radius: 6px;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 1.25em;
}
#topContent .pickup ul li p{
	margin-bottom: 0;
}
#topContent .pickup ul li p + p{
	margin-left: 1em;
}
#topContent .pickup .pic{
	width: 50%;
	max-width: 470px;
}
@media only screen and (max-width:1024px) {
	#topContent .pickup .pic{
		padding-left: 1.5em;
	}
}
@media only screen and (max-width:768px) {
	#topContent .pickup{
		flex-direction: column;
	}
	#topContent .pickup ul{
		width: 100%;
	}
	#topContent .pickup ul li {
		font-size: 1em;
		margin-bottom: 0.5em;
	}
	#topContent .pickup .pic{
		width: 100%;
		padding: 0;
	}
}


/* #about
------------------------------------------------------*/
#about{
	background-color: #eff6ff;
/*	padding:5em 1em;*/
}

#about .product{
	display: flex;
	justify-content: space-around;
	background-color: #FFF;
	border-radius: 6px;
	padding:1.5em;
	margin-bottom: 0.4em;
}
#about .product li{
	display: flex;
	align-items: center;
	justify-content: center;
/*	background-color: #FEF;*/
	padding: 0 1em;
	margin-bottom: 0;
	width: 50%;
}
#about .product li + li{
	border-left: 2px solid #d8dfef;
}
#about .product li div + div{
	margin-left: 2em;
}
#about .product li .txt{
	line-height: 1.6;
}
#about .product li .txt .name{
	font-size: 1.25em;
	font-weight: 700;
	margin-bottom: 0.6em;
}
#about .product li .txt .point{
	font-size: 0.6em;
	padding: 0.2em 0.5em 0.3em;
	background-color: #fdff53;
	line-height: 1.4;
}
#about .product li .txt p{
	font-size: 0.9em;
	font-feature-settings: "palt";
	margin: 0.5em 0;
}
#about .note{
	color: #666;
	font-size: 0.7em;
	text-align: right;
}
#about .movie{
	max-width: 700px;
	margin: 0 auto 2em;
}
#about .movie .headline2{
	margin-top: 2em;
}

#about .poseMeasure .headline3{
	margin-top: 4em;
}
#about .poseMeasure .pic{
	text-align: center;
	margin-top: 1.5em;
}

#about .poseMeasure .features{
	display: flex;
	justify-content: space-between;
	margin-top: 2em;
/*	border: 1px solid #69F;*/
}
#about .poseMeasure .features li{
	display: flex;
	width: 30%;
	margin-bottom: 0;
/*	border: 1px solid #F9F;*/
}
#about .poseMeasure .features dt {
	display: flex;
	align-items: center;
}
#about .poseMeasure .features dt div{
}
#about .poseMeasure .features dt p{
	color: #FFF;
	font-size: 0.75em;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	background-color: #1564dc;
	padding: 0.5em 0.8em;
	min-width: 4.6em;
	margin-bottom: 0.5em;
}
#about .poseMeasure .features dt p span{
	font-size: 2.5em;
	font-family: 'Roboto';
}
#about .poseMeasure .features dt .headline4{
	margin-left: 1em;
	margin-bottom: 0.5em;
}
#about .poseMeasure .features dd{
	margin: 0;
}
#about .achievements{
	color: #161145;
	font-size: 2.2em;
	text-align: center;
	font-weight: 900;
	font-feature-settings: "palt";
	line-height: 1.4;
	margin-top: 1.5em;
}
#about .achievements .cUnderLine{
	background: linear-gradient(transparent 50%, #fdff53 0%);
	padding: 0 0.3em;
}
#about .achievements strong{
	font-size: 2em;
	font-family: 'Roboto';
}

@media only screen and (max-width:768px) {
	#about .product {
		flex-direction: column;
		padding: 0 1em;
	}
	#about .product li{
		justify-content: flex-start;
		width: 100%;
		padding: 0;
	}
	#about .product li + li{
		border-left: none;
		border-top: 2px solid #d8dfef;
	}
	#about .product li div + div{
		margin-left: 0.5em;
	}
	#about .product li .txt {
		padding: 1em;
	}
	#about .product li .pic{
		width: 34%;
	}
	
	#about .poseMeasure .features{
		flex-direction: column;
	}
	#about .poseMeasure .features li {
		width: 100%;
	}
	#about .poseMeasure .features li + li {
		margin-top: 2em;
	}
	#about .achievements{
		font-size: 1.5em;
	}
}



/* #scene
------------------------------------------------------*/
#scene {
}
#scene .sceneList{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#scene .sceneList li{
	width: 46%;
	margin-bottom: 1.5em;
}
#scene .sceneList li .txt{
	margin-top: -1em;
}
#scene .sceneList li .type{
	color: #FFF;
	font-weight: 700;
	letter-spacing: 0.3em;
	background-color: #54a4fe;
	padding: 0.1em 1.7em 0.1em 2em;
	margin-bottom: 0.4em;
	display: inline-block;
}
#scene .sceneList li .type.t02{
	background-color: #cc60e3;
}
#scene .sceneList li .title{
	font-size: 1.25em;
	font-weight: 700;
	margin-bottom: 0.2em;
}
#scene .oppoTxt{
	padding: 2em 3em 1.5em 3em;
	background-color: #e9f8ff;
	border-radius: 6px;
}
#scene .oppoTxt .headline2{
	margin-bottom: 0.8em;
}

@media only screen and (max-width:768px) {
	#scene .sceneList li{
		width: 100%;
		margin-bottom: 0.5em;
	}
	#scene .sceneList li .pic img{
		width: 100%;
	}
	#scene .oppoTxt{
		padding: 1.5em 1.5em 1em 1.5em;
	}
}


/* #benefit
------------------------------------------------------*/
#benefit {
	background: transparent url("../img/bg_benefit.webp") no-repeat top right;
}
#benefit li + li{
	margin-top: 2em;
}
@media only screen and (max-width:768px) {
	#benefit li + li{
		margin-top: 1em;
		
	}
}


/* #flow
------------------------------------------------------*/
#flow {
	background: #f8fdff url("../img/bg_grid.png") repeat center center;
}
#flow .flowList{
	border: 5px solid #d2eafe;
	border-radius: 6px;
	background-color: #FFF;
	padding: 2em 1em;
}
#flow .flowList dl{
/*	border: 1px solid #FDF;*/
	display: flex;
	max-width: 800px;
	margin: 0 auto;
	padding: 0 0 0 2em;
}
#flow .flowList dl + dl{
	margin-top: 1em;
}
#flow .flowList dt span{
	font-size: 5em;
	font-weight: 900;
	font-family: 'Roboto';
	font-style: italic;
	line-height: 1;
	font-feature-settings: "palt";
	background: linear-gradient(180deg, #8284f3 20%, #56cafe 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#flow .flowList dd{
	margin-left: 1.5em;
}
#flow .flowList dd .title{
	font-size: 1.4em;
	font-weight: 700;
	margin-bottom: 0.1em;
}
#flow .flowList dd .btnArea{
	margin-top: -0.3em;
}

@media only screen and (max-width:768px) {
	#flow .flowList dl{
		max-width:none;
		padding: 0;
		justify-content: space-between;
	}
	#flow .flowList dt{
		width: 20%;
	}
	#flow .flowList dt span{
		font-size: 13vw;
	}
	#flow .flowList dd {
		margin-left: 0;
		width: 78%;
		padding-left: 0.5em;
	}
	#flow .flowList dd .title{
		font-size: 1.2em;
	}
}


/* #contactSec
------------------------------------------------------*/
#contactSec{
	background-color: #eff6ff;
/*	padding:5em 1em;*/
}
#contactSec .contactInner {
	background-color: #FFF;
	padding:0 4% 3%;
	border-radius: 10px;
}
#contactSec .txt {
	margin-bottom: 2em;
	text-align: center;
}
#contactSec .backBox{
	margin-top: 5%;
}
#contactSec.sec.thanks{
	margin-top: 70px;
	padding-bottom: 10em;
}
#contactSec.thanks .contactInner {
	padding:6% 4% 6%;
}

@media only screen and (max-width:768px) {
	#contactSec{
		padding:12vw 1em;
	}
	#contactSec.sec.thanks{
		margin-top: 14vw;
		padding-bottom: 12vw;
	}
	#contactSec .txt{
		text-align: left;
	}
	#contactSec .txt br { display: none; }
}




