@charset "utf-8";
/********************************************************
	
	flex-grid:| sm  | md  | lg  |  xl  |
	min-width:| 576 | 768 | 992 | 1200 |
	max-width:| 575 | 767 | 991 | 1199 |

********************************************************/
.c-container--knot{
	padding-top: 35px;
}
.c-container--2clm{
	padding-top: 30px;
}
@media screen and (max-width: 767px){
	.c-container--knot{
		padding-top: 30px;
	}
	.c-container--2clm{
		padding-top: 0;
	}
	.c-page__lead{
		font-size: 1.4rem;
		text-align: left;
	}
}
/* ======================================================

	セクション
	タイトル

====================================================== */
.sec__ttl{
	margin-bottom: 30px;
	text-align: center;
}
.sec__ttl span{
	display: block;
}
.sec__ttl span:nth-child(1){
	margin-bottom: 5px;

	font-size: 4.5rem;
	font-weight: 200;
	line-height: 1;
	letter-spacing: .2rem;
}
.sec__ttl span:nth-child(2){
	font-size: 1.4rem;
}
.sec__lead{
	margin-bottom: 50px;
	font-size: 2.2rem;
	text-align: center;
	line-height: 1.45;
}
@media screen and (max-width: 767px){
	.sec__ttl{
		margin-bottom: 15px;
	}
	.sec__ttl span:nth-child(1){ font-size: 3.0rem; }
	.sec__ttl span:nth-child(2){ font-size: 1.2rem; }
	.top-sec__lead{
		margin-bottom: 15px;
		font-size: 1.4rem;
	}
}
/* ======================================================

	PRO STAFF & FIELD TESTER
	カードレイアウト

====================================================== */
.card-note{
	font-size: 1.4rem;
	text-align: right;
}
.card-list{
	display: flex;
	flex-wrap: wrap;
	margin-left: -16px;
	margin-right: -16px;
}
.card{
	/*position: relative;*/
	width: 33.33%;
	margin-bottom: 56px;
	padding-left: 16px;
	padding-right: 16px;
}
@media screen and (max-width: 767px){
	.card-list{
		margin-left: -5px;
		margin-right: -5px;
	}
	.card{
		width: 50%;
		margin-bottom: 50px;
		padding-left: 5px;
		padding-right: 5px;
	}
}
/* ======================================================

	PRO STAFF & FIELD TESTER
	カード

====================================================== */
.card__link{
	position: relative;
	display: block;
	margin-bottom: 10px;
	overflow: hidden;
}
.card__link img{
	transition: 500ms all cubic-bezier(0.165, 0.84, 0.44, 1);
}
.card__link:hover img{
	transform: scale(1.1);
}
.card__inr{
	position: absolute;
	display: flex;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	
	text-align: center;
	line-height: 1.5;
	color: #ffffff;

	border: 24px solid rgba(255,255,255,0.15);
}
.card__usage{
	border-bottom: 1px solid rgba(255,255,255,0.75);
	font-size: 1.8rem;
	font-weight: bold;
}
.card__name{
	font-size: 2.0rem;
	font-weight: bold;
}
.card__info{
	text-align: center;
	line-height: 1.5;
}
@media screen and (max-width: 767px){
	.card__inr{
		border: 12px solid rgba(255,255,255,0.15);
	}
	.card__usage{
		font-size: 1.1rem;
	}
	.card__name{
		font-size: 1.3rem;
	}
	.card__info{
		font-size: 1.2rem;
	}
}
/* ======================================================

	サイドナビ

====================================================== */
.kt-info{
	padding: 30px 0;
	background-color: #cccccc;

	color: #333333;
}
.kt-info .c-col-50:first-child{
	padding-right: 2em;
}
.kt-info .c-col-50:last-child{
	padding: 24px;
	background-color: #ffffff;
}
.kt-info__ttl{
	font-size: 2.2rem;
	margin-bottom: 1em;
}
.kt-info__txt{
	margin-bottom: 1em;
	text-align: justify;
	text-justify: inter-ideograph;
}
.kt-info figure{
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	max-width: 520px;
	margin: 0 auto;
	/*background-color: #ff0000;*/
}
/* ======================================================

	サイドナビ

====================================================== */
.side-navi > li{ border-top: 1px solid #969696; }
.side-navi > li:last-child{ border-bottom: 1px solid #969696; }
.side-navi li a{
	position: relative;
	display: block;
	padding: 10px 10px;
	transition: background-color 300ms;
}
.side-navi li.select a{
	background-color: #ebebeb;
}
.side-navi li a:hover{
	background-color: #ebebeb;
}
.side-navi li a::after{
	position: absolute;
	content: '\e902';
	top: 50%;
	right: 5px;
	transform: translateY(-50%);

	font-family: 'site' !important;
	font-size: 20px;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* ======================================================

	knot | 詳細ページ
	タイトル

====================================================== */
.kt-ttl{}
.kt-ttl__use{
	margin-bottom: .35em;

	font-size: 1.8rem;
	font-weight: bold;
	color: #333;
}
.kt-ttl__name{
	padding: 10px 20px;
	background-color: #ebebeb;

	font-size: 3.2rem;
	font-weight: bold;
	color: #333;
}
.kt-ttl__info{
	padding: 5px 20px;
	background-color: #dcdcdc;

	font-size: 1.8rem;
	color: #333;
}
@media screen and (max-width: 767px){
	.kt-ttl__use{
		font-size: 1.1rem;
	}
	.kt-ttl__name{
		padding: 5px 20px;
		font-size: 1.6rem;
	}
	.kt-ttl__info{
		padding: 4px 20px;
		font-size: 1.1rem;
	}
}
/* ======================================================

	knot | 詳細ページ
	動画 / 説明

====================================================== */
.kt-movie{
	padding: 45px 0 20px;
}
.c-container.c-container--2clm main .kt-movie {
}
.kt-movie__ly{
    display: flex;
    /*max-width: 1000px;*/
    margin: 0 auto;
}
.kt-movie__ly-item{
    width: 50%;
    padding: 0 10px;
}
.kt-movie__ly-item-single{
    width: 100%;
    padding: 0 10%;
}
.kt-movie__soon{
	position: relative;
	max-width: 316px;
	margin: 0 auto 40px;
}
.kt-movie__soon p{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);

	font-size: 1.8rem;
	text-align: center;
	color: #ffffff;
}
.kt-desc{
	margin-bottom: 50px;
	line-height: 1.75;
}
.kt-movie .c-movie-if{
	margin-bottom: .5em;
}
@media screen and (max-width: 767px){
	.kt-movie{
		margin-bottom: 0;
		padding: 20px 0 10px;
	}
	.kt-movie__ly{
	    flex-wrap: wrap;
	}
	.kt-movie__ly-item{
	    width: 100%;
	    margin-bottom: 30px;
	    padding: 0;
	}
	.kt-movie__ly-item-single{
    padding: 0;
}
	.kt-desc{
		margin-bottom: 20px;
	}
}
/* ======================================================

	knot | 詳細ページ
	ステップ

====================================================== */
.kt-step{
	position: relative;
	padding-bottom: 40px;
	border-top: 1px dashed #333;
}
.kt-step:last-child{
	border-bottom: 1px dashed #333;
}
.kt-step:not(:last-child)::after{
	content: '';
	position: absolute;
	display: block;
	bottom: -20px;
	right: 25.8%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 30px 0 30px;
	border-color: #ccc transparent transparent transparent;
	z-index: 1;
}
.kt-step__def{
	display: flex;
	align-items: baseline;
	font-size: 1.8rem;
}
.kt-step__def-no{
	padding-right: 1em;

	font-size: 3.0rem;
	font-weight: bold;
	color: #004da0;
}
.kt-step__def-no span{
	padding-left: .1em;
	font-size: 4.0rem;
}
.kt-step__fig-wrap{
	margin: 0 auto;
}
.kt-step__fig{
	margin: 0 0 0 auto;
}
.kt-step-wrap--uni .kt-step__fig-wrap{ max-width: calc(998px - 140px * 2); }
.kt-step-wrap--uni .kt-step__fig{ max-width: 440px; }

.kt-step-wrap--spool .kt-step__fig-wrap{ max-width: calc(998px - 140px * 2); }
.kt-step-wrap--spool .kt-step__fig{ max-width: 440px; }

.kt-step-wrap--hang .kt-step__fig-wrap{ max-width: calc(998px - 135px * 2); }
.kt-step-wrap--hang .kt-step__fig{ max-width: 450px; }

.kt-step-wrap--uni .kt-step__fig-wrap{ max-width: calc(998px - 115px * 2); }
.kt-step-wrap--double .kt-step__fig{ max-width: 440px; }

.kt-step-wrap--palomar .kt-step__fig-wrap{ max-width: calc(998px - 80px * 2); }
.kt-step-wrap--palomar .kt-step__fig{ max-width: 490px; }

.kt-step-wrap--bimini .kt-step__fig-wrap{ max-width: calc(998px - 80px * 2); }
.kt-step-wrap--bimini .kt-step__fig{ max-width: 460px; }

.kt-step-wrap--surgeons .kt-step__fig-wrap{ max-width: calc(998px - 125px * 2); }
.kt-step-wrap--surgeons .kt-step__fig{ max-width: 460px; }

.kt-step-wrap--noname .kt-step__fig-wrap{ max-width: calc(998px - 135px * 2); }
.kt-step-wrap--noname .kt-step__fig{ max-width: 430px; }

.kt-step-wrap--pr .kt-step__fig-wrap{ max-width: calc(998px - 130px * 2); }
.kt-step-wrap--pr .kt-step__fig{ max-width: 462px; }

.kt-step-wrap--surgeons-half .kt-step__fig-wrap{ max-width: calc(998px - 130px * 2); }
.kt-step-wrap--surgeons-half .kt-step__fig{ max-width: 390px; }

.kt-step-wrap--tube .kt-step__fig-wrap{ max-width: calc(998px - 60px * 2); }
.kt-step-wrap--tube .kt-step__fig{ max-width: 460px; }

@media screen and (max-width: 767px){
	.kt-step{
		padding-bottom: 20px;
	}
	.kt-step:not(:last-child)::after{
		bottom: -10px;
		border-width: 20px 15px 0 15px;
	}
	.kt-step__def-no{ font-size: 2.0rem; }
	.kt-step__def-no span{ font-size: 2.5rem; }
	.kt-step__def-desc{ font-size: 1.2rem; }
	.kt-step__fig-wrap{
		width: 80%;
	}
}
