@charset "utf-8";

.sp {
	display: none;
}

.pc {
	display: block;
}

#rContent {
	width: 100%;
	color: #E3E3E3;
}

/*========== FV ==========*/
.mainTitle {
	width: min(calc(100% - 30px));
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
	text-align: center;
	letter-spacing: 0.05em;
}

.sub,
.main {
	line-height: 1.8;
}

.sub {
	font-size: min(calc(32 / 1566 * 100vw), 32px);
	font-weight: 400;
}

.main {
	font-size: min(calc(45 / 1566 * 100vw), 45px);
	font-weight: 500;
	margin-bottom: 32px;
}

.mainTitleTxt {
	font-size: min(calc(24 / 1536 * 100vw), 24px);
	margin-bottom: 40px;
}

.mainTitleImg {
	width: min(80%, 1540px);
	margin: 0 auto;
}

.mainTitleImg img {
	width: auto;
}

/*========== YOUTUBE ==========*/
.youtube {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 36px;
	width: min(80%, 1200px);
	margin: 0 auto 120px;
}

@media (max-width: 1200px) {
	.youtube {
		flex-wrap: wrap;
	}
}

.youtubeContents {
	width: min(calc(648 / 1920 * 100vw), 648px);
}

.youtubeRightImg {
	width: min(calc(772 / 1920 * 100vw), 772px);
	text-align: center;
}

.youtubeRightImg span {
	display: block;
	font-size: 184.6%;
	margin-top: 20px;
}

/*========== 主な特長 ==========*/
.grad_ttl {
	margin-bottom: 120px;
	font-weight: 400;
}

.inner {
	max-width: min(80%, 1536px);
	margin: 0 auto;
}

.content_ttl {
	font-weight: 400;
	font-size: 276.9%;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

.content_ttl .letter {
	letter-spacing: -0.02em;
}

.content_ttl_note {
	font-size: 107.7%;
	margin-top: 8px;
}

.feature_contents {
	margin-bottom: 120px;
}

.feature_ttl {
	font-size: 215.4%;
	font-weight: 400;
	line-height: 1.8;
	margin-bottom: 24px;
	letter-spacing: 0.05em;
}

.wrap_flex_contents {
	margin-top: 40px;
}

.flex_content {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	gap: 30px;
}

.flex_content .img,
.flex_content .text {
	width: 430px;
}

.flex_content .img img {
	width: 100%;
	max-height: 405px;
	object-fit: cover;
}

.flex_content .text {
	font-size: 123.1%;/*138.5→123.1*/
	font-weight: 300;
	line-height: 2;
}

/*========== 仕様 ==========*/
.wrap_specification_table {
	width: min(80%, 1200px);
	margin: 0 auto 120px;
}

/* テーブル */
.table_specification {
	width: 100%;
	box-sizing: border-box;
	border-collapse: collapse;
	border: 1px solid #8C8C8C;
}

.table_specification th,
.table_specification td {
	border-collapse: collapse;
	border: 1px solid #8C8C8C;
	padding: 8px 20px;
	font-size: 16px;
	font-weight: 300;
	vertical-align: text-top;
}

.table_specification th {
	background: rgba(40, 40, 40, 0.1);
}

.col1 {
	width: 17.865169%;
}

.col2 {
	width: 33.258427%;
}

.col3 {
	width: 48.876404%;
}

.table_note {
	font-size: 10px;
	vertical-align: top;
}

.ul_table {
	margin-top: 8px;
}

.ul_table li {
	margin-bottom: 8px;
	font-size: 14px;
}

.ul_table li:last-child {
	margin-bottom: 0;
}

.flex_box {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.left_contents,
.right_contents {
	width: 430px;
}

.specification_table_note {
	font-size: 14px;
	font-weight: 400;
	line-height: 18.2px;
}

/*========== 関連製品 ==========*/
.ttl_h3 {
	font-size: 36px;
	font-weight: 400;
	line-height: calc(64.8 / 36);
	letter-spacing: 0.1em;
	margin-bottom: 24px;
}

.txt {
	font-size: 16px;
	font-weight: 300;
	line-height: 2;
}

.txt_case {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.txt_case p {
	margin-bottom: 16px;
}

.txt_case p:last-child {
	margin-bottom: 0;
}

.txt_case a.primary_btn span {
	font-size: 20px;
}

/*=========================================
SPここから
=========================================*/
body.responsive-sp .sp {
	display: block;
}

body.responsive-sp .pc {
	display: none;
}

/*========== FV ==========*/
body.responsive-sp .mainTitle {
	padding: 56px 0 64px;
	letter-spacing: 0;
}

body.responsive-sp .sub {
	font-size: 123.1%;
}

body.responsive-sp .main {
	font-size: 153.8%;
	margin-top: 10px;
}

body.responsive-sp .mainTitleTxt {
	font-size: 115.4%;
	margin-bottom: 24px;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

body.responsive-sp .mainTitleImg {
	width: 100vw;
	margin-left: calc((100% - 100vw) / 2);
	margin-right: calc((100% - 100vw) / 2);
}


/*========== YOUTUBE ==========*/
body.responsive-sp .youtube {
	width: 100%;
	gap: 64px;
	margin: 0 auto 64PX;
}

body.responsive-sp .youtubeContents {
	width: calc(275 / 393 * 100vw);
}

body.responsive-sp .youtubeRightImg {
	width: 100%;
}

body.responsive-sp .youtubeRightImg span {
	font-size: 115.4%;
	margin-top: 10px;
}

/*========== 主な特長 ==========*/
body.responsive-sp .grad_ttl {
	margin-bottom: 64px;
	padding: 0;
}

body.responsive-sp .inner {
	max-width: min(calc(100% - 30px), 1536px);
}

body.responsive-sp .content_ttl {
	font-size: 123.1%;
	letter-spacing: 0;
}

body.responsive-sp .content_ttl_note {
	font-size: 92.3%;
}

body.responsive-sp .feature_contents {
	margin-bottom: 64px;
}

body.responsive-sp .feature_ttl {
	font-size: 115.4%;
	margin-bottom: 16px;
}

body.responsive-sp .wrap_flex_contents {
	display: block;
	margin-top: 24px;
}

body.responsive-sp .flex_content {
	display: block;
	margin-bottom: 24px;
}

body.responsive-sp .flex_content:last-child {
	margin-bottom: 0;
}

body.responsive-sp .flex_content .text {
	font-size: 107.7%;
	margin-top: 16px;
}

body.responsive-sp .flex_content .img,
body.responsive-sp .flex_content .text {
	width: 100%;
}

/*========== 仕様 ==========*/
body.responsive-sp .specification_table th,
body.responsive-sp .specification_table td {
	padding: 8px 16px;
	font-size: 107.7%;
	line-height: 1.8;
}

body.responsive-sp .specification_table th {
	width: 33%;
}

body.responsive-sp .specification_table td {
	width: 67%;
}

body.responsive-sp .specification_table_note {
	font-size: 92.3%;
}


/*========== Youtubeモーダル調整 ==========*/
.fancybox-slide {
	padding-right: 0;
	padding-left: 0;
}

.fancybox-video {
	max-width: 964px;    /* 横幅の最大値 */
	max-height: 542px;   /* 高さの最大値 */
	width: 100%;         /* 画面の幅に応じて広がる */
	
}

.fancybox-slide--iframe .fancybox-content {
	background: none;
}

/* テーブル */
body.responsive-sp .table_specification {
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
}

body.responsive-sp .table_specification th,
body.responsive-sp .table_specification td {
	padding: 8px 10px;
	font-size: 14px;
}

body.responsive-sp .table_specification td {
	vertical-align: middle;
}

body.responsive-sp .col1 {
	width: 19.81982%;
}

body.responsive-sp .col2 {
	width: 31.531532%;
}

body.responsive-sp .col3 {
	width: 48.648648%;
}

body.responsive-sp .ul_table li {
	font-size: 12px;
}


/*========== 導入事例 ==========*/
body.responsive-sp .ttl_h3 {
	font-size: 16px;
	line-height: calc(28.8 / 16);
	letter-spacing: 0;
	margin-bottom: 16PX;
}

body.responsive-sp .left_contents,
body.responsive-sp .right_contents {
	width: 100%;
}

body.responsive-sp .txt {
	font-size: 14px;
}

body.responsive-sp .flex_box {
	display: block;
}

body.responsive-sp .case .right_contents {
	margin: 16px 0 24px;
}

body.responsive-sp a.primary_btn {
	margin: 0 auto;
}