@charset "utf-8";
/* CSS Document */
/*共通　-----------------------------*/
#dcms_layoutPageBlock {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-optical-sizing: auto;
  color: #2d2d2d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  background-color: #fff;
}
#dcms_layoutPageBlock img {
  width: 100%;
  height: auto;
  max-width: 100%;
  aspect-ratio: auto;
}
#dcms_layoutPageBlock a {
  
}
#dcms_layoutPageBlock h1, #dcms_layoutPageBlock h2, #dcms_layoutPageBlock h3 {
  margin: 0;
}
#dcms_layoutPageBlock ul {
  list-style: none;
}
.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
picture img {
  display: block;
  margin: 0 auto;
}
.kp-l-mv {
  max-width: 1020px;
  width: 100%;
  margin-inline: auto;
	box-sizing: border-box;
  margin-bottom: 50px;
}
.kp-l-section {
  max-width: 1020px;
  width: calc(100% - 40px);
  margin-inline: auto;
	box-sizing: border-box;
  margin-bottom: 100px;
}
.kp-l-section:last-child{
	margin-bottom: 0px !important;
}
@media only screen and (max-width: 768px) {
.kp-l-section {
  margin-bottom: 80px;
}

}
/*-----------------------------------

utility

------------------------------------*/
.u-sponly {
  display: none;
}
.f-color-grn{
	color:#00a887;}
@media only screen and (max-width: 960px) {
  .u-pconly {
    display: none;
  }
  .u-sponly {
    display: block;
  }
}
/*------------------------
h2
--------------------------*/
.kp-l-section--ribbon{
  position: relative;
  padding: 40px 20px 20px !important;
  border-radius: 15px;
}

.kp-section-title--ribbon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(450px, 90%);

}
#kp-product-overview {
	background-color: #e6f7f3;}
#kp-features {
	  border: 2px solid #00a887;}

/*------------------------

kp-mv

--------------------------*/
#kp-mv{
	margin-top: 100px;
}

@media only screen and (max-width: 1200px) {
#kp-mv{
	margin-top: 60px;
}
}
/*------------------------

kp-compact-secret　＆　LINEUP

--------------------------*/
#kp-compact-secret h2,
#kp-lineup h2{
  display:flex;
  align-items:center;
  margin:0 0 50px;
	color: #00a887;
}

#kp-compact-secret h2::before,
#kp-compact-secret h2::after,
#kp-lineup h2::before,
#kp-lineup h2::after{
  content:"";
  height:2px;
  background:#00a887;
}
#kp-compact-secret h2::before,
#kp-lineup h2::before{
  flex:1;
}
#kp-compact-secret h2::after,
#kp-lineup h2::after{
  flex:9;
}
#kp-compact-secret h2 span,
#kp-lineup h2 span{
  padding:0 20px;
  white-space:nowrap;
}
.kp-compact-secret__block{
	margin-top: 50px;
	text-align: center;
}
#kp-compact-secret h3{
	color: #00a887;
	font-size: 24px;
	margin-bottom: 20px;
}
#kp-compact-secret h3 span {
	font-size: 36px;
}
#kp-compact-secret ul{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:70px;
	margin-top: 20px;
}
#kp-compact-secret ul li{
	flex: 1;
	width: 100%;
}
.kp-compact-secret__image--01 img{
	max-width: 800px !important;
	width: 100%;
  height: auto;
	margin-top: 20px;
}
.kp-compact-secret__image--02 img{
	max-width: 550px !important;
	width: 100%;
  height: auto;
	padding: 20px 20px 0px;
}

@media screen and (max-width: 768px){
	#kp-compact-secret ul{
		flex-direction: column;
		gap:30px;
	}
.kp-compact-secret__image--02 img{
	padding: 20px 0px 0px;
}
}
.lineup-item__name{
	font-size: 14px;
	text-align: center;
	letter-spacing: 0 !important;
}
.kp-lineup__block ul li a .lineup-item__name{
	text-decoration: underline;
}
.kp-lineup__block ul li a:hover .lineup-item__name{
	text-decoration: none;
}
.kp-lineup__block ul{
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
}
.kp-lineup__block ul li{
	margin-bottom: 50px;
}
@media (max-width: 960px) {
	.kp-lineup__block ul{
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 768px) {
		.kp-lineup__block ul{
  grid-template-columns: repeat(2, 1fr);
	}
}

/*-------------------------------

kp-features

-------------------------------*/
#kp-features {
  position: relative;
}
#kp-features ul{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
	
}

#kp-features ul li{
  position: relative;
}

#kp-features ul li:not(:last-child)::after{
  content: "";
  position: absolute;
  top: 0;
  right: -15px;
  height: 100%;
  border-right: 2px dotted #00a887;
}
#kp-features h3{
	color: #00a887;
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
}
#kp-features p{
	text-align: center;
}
@media screen and (max-width: 768px){

#kp-features ul{
grid-template-columns: repeat(1, 1fr);
	gap:60px;
  }
  #kp-features ul li:not(:last-child)::after{
    display: none;
  }

}
/*-------------------------------

利用シーン
 -------------------------------*/
.kp-section-title {
  display: block;
  width: min(450px, 90%);
  margin: 0 auto 30px;
}
#kp-scene ul{
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}

#kp-scene figcaption{
	text-align: center;
}
#kp-scene figcaption h3{
	color: #00a887;
	font-size: 21px;
}
.kp-bnr__scene{
	max-width: 880px;
	width: 100%;
	margin:0 auto 100px;
}
.kp-scene_bnr{
	width: 800px;
	margin: 70px auto;
}
@media screen and (max-width: 960px){
#kp-scene ul{
   grid-template-columns: repeat(2, 1fr);
	gap:60px;
  }
}
@media screen and (max-width: 768px){
#kp-scene ul{
   grid-template-columns: repeat(1, 1fr);
  }
#kp-scene ul li{
  width: 100%;
}
}
#kp-bnr{
}
.kp-bnr__nocc{
	max-width: 600px !important;
	display: block;
	width: 100%;
	margin: 0 auto;
}
.kp-bnr__nocc img{
	width: 100%;
}

@media screen and (orientation: landscape) {
#kp-mv{
	padding: 0 10px;
}
}

/*------------------------------------

SNS

--------------------------------------*/

.sns_btn {
    width: 1200px;
    margin: 0 auto;
padding-bottom: 100px;
}
.link_list {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
    list-style: none;
    margin-bottom: 0px;
}
.list02 li {
    width: 20%;
    font-size: 100%;
    text-align: center;
}
.list02 li a {
    padding: 10px 20px;
    border: 1px solid;
    margin: 0 10px;
    border-radius: 40px;
    display: block;
    line-height: 1.6;
}
.list02 li:nth-child(1) a {
    background-color: #000;
    color: #ffffff;
}
.list02 li:nth-child(2) a {
    background-color: #1877F2;
    color: #ffffff;
}
.list02 li:nth-child(3) a {
    background-color: #DC0000;
    color: #ffffff;
}
.list02 li:nth-child(4) a {
    background-color: #06C755;
    color: #ffffff;
}
@media only screen and (max-width: 896px){
.sns_btn {
    width: 94%;
	padding-bottom: 50px;
}
.list02 li {
    width: 50%;
}
.list02 li a {
    font-size: 12px;
    padding: 10px;
    margin: 10px 10px;
}
}