@charset "utf-8";

.page-tenume{
	background-color: #fff;
}

.page-ziaino.page-tenume #container a:hover span {
	color:#fff ;
}

.page-ziaino.page-tenume .u-center {
    text-align: center;
}

.page-ziaino.page-tenume .u-center-pc {
    text-align: center;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-ziaino.page-tenume .u-center-pc {
		text-align: left;
	}
}

.page-tenume .sec_inner source , .page-tenume .sec_inner img{
	max-width: 976px;
	width: 100%;
}

@media (min-width: 641px) {
	.u-white-space-pc{
		white-space: nowrap;
	}
}

/* ---------スライダーオプション---------- */

.splide{
	width: 93%;
	margin: 0 auto;
}

.splide__slide p{
	margin: 8px 0;
}

.splide__arrow{
	background-color: #000;
	height: 32px;
	width: 32px;
	border: initial;
}

.splide__arrow > svg{
	fill: white;
	height: 80%;
	width: 80%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.splide__arrow--prev{
	position: absolute;
	top: 50%;
	z-index: 1;
	left: -12px;
	transform: translateY(-50%) rotate(180deg);
}

.splide__arrow--next{
	position: absolute;
	top: 50%;
	z-index: 1;
	right: -12px;
	transform: translateY(-50%);
}

.splide__pagination{
	margin-top: 32px !important;
}

.splide__pagination__page{
	background-color: #F2F2F2;
	border: initial;
	padding: 5px;
	border-radius: 9999px;
	margin: 0 8px;
}

.splide__pagination__page.is-active{
	background-color: #1D1D1D;
}

/* ---------SP時画像スクロール仕様---------- */

.sp-img-scroll{
	overflow-x: scroll;
}

@media (min-width: 641px) {
	.sp-img-scroll{
		/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
		-ms-overflow-style: none;
		/*Firefoxへの対応*/
		scrollbar-width: none;
	}

	 /*Google Chrome、Safariへの対応*/
	.sp-img-scroll::-webkit-scrollbar{
		display: none;
  	}
}

.sp-img-scroll img{
	width: auto !important;
	object-fit: contain;
}

/* --------各セクション関連---------- */

.sec02 , .sec03 , .sec04 , .sec05 , .sec06 ,.sec07{
	margin-top: 100px;
}

.sec01-2{
	margin-top: 100px;
}

.sec_inner{
	margin: 64px 0;
}

.page-tenume .h3-custom{
	margin-top: 32px;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.sec02 , .sec03 , .sec04 , .sec05 , .sec06 ,.sec07{
		margin-top: 80px;
	}
	
	.sec01-2{
		margin-top: 80px;
	}

	.page-tenume .h3-custom{
		margin-top: 24px;
	}
	
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .tableScroll:before {
		content: none;
	}

	.sec04 .sp-only .table_default th , .sec04 .sp-only .table_default td{
		height: 40px;
	}
}

/* ---------page-tenume注釈---------- */

.page-tenume .notes {
	padding-top: 1em;
	font-size:12px;
	margin-top: 12px;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .notes {
		padding-top: 1em;
		font-size:12px;
	}
}

/* ---------h4モジュール見出しオーバライド分---------- */

.page-tenume .h4_default--custom h4{
	font-size: 24px !important;
	font-weight: normal;
	line-height: 1.8;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .h4_default--custom h4{
		font-size: 17px !important;
		font-weight: normal;
	}
}

/* ---------2カラム用大きさ調整コード---------- */

.page-tenume .column2Style .flex__block--left , .page-tenume .column2Style .flex__block--right{
	height: auto;
	max-width: calc(100% / 2 - 30px);
	width: 100%;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .column2Style .flex__block--left , .page-tenume .column2Style .flex__block--right{
		max-width: initial;
		width: 100%;
	}
	
	.page-tenume .column2Style.column2Style--sp2column{
		display: flex !important;
		justify-content: space-between !important;
	}

	.page-tenume .column2Style.column2Style--sp2column .flex__block--left , .page-tenume .column2Style.column2Style--sp2column .flex__block--right{
		height: auto;
		max-width: calc(100% / 2 - 4px);
		width: 100%;
	}
}

/* ---------3カラム用コード---------- */

.page-tenume .column3Style{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
}

.page-tenume .column3Style .column3Style__box{
	width: calc(100% / 3 - 20px);
	margin-top: 24px;
}

.page-tenume .column3Style .column3Style__box p{
	font-size: 15px;
}

.page-tenume .column3Style .column3Style__box p:last-of-type{
	font-size: 13px;
}

/* ----------------------------------------------------------------------- 
page-tenume common
-------------------------------------------------------------------------*/
.page-ziaino.page-tenume .pc-only {
    display: block;
}
.page-ziaino.page-tenume .sp-only {
    display: none;
}
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-ziaino.page-tenume .pc-only {
		display: none;
	}
	.page-ziaino.page-tenume .sp-only {
		display: block;
	}
}

/* ----------------------------------------------------------------------- 
page-tenume index 
-------------------------------------------------------------------------*/

.page-ziaino.page-tenume sup {
	font-size: 0.6em;
}

/* ----------------------------------------------------------------------- 
page-tenume index hero
-------------------------------------------------------------------------*/
.hero {
	margin: 20px 0 0;
}
.hero img {
	width: 100%;
}
.hero .hero-inner {
	display: flex;
	width: 976px;
	margin: 0 auto;
	padding: 30px 0 10px;
}
.hero .hero-logo {
	width: 215px;
}
.hero .hero-texts {
	flex: 1;
	padding-left: 5em;
}
.hero .hero-title {
	padding: 0 0 5px;
	font-size: 23px;
	font-weight: bold;
}


/* SP Responsive (page-tenume index hero)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.hero {
		margin: 0;
	}
	.hero .hero-title {
		padding: 0 0 3px;
	}
	.hero .hero-inner {
		display: block;
		width: 100%;
		padding: 30px 0 10px;
	}
	.hero .hero-logo {
		width: 60%;
		margin: 0 auto;
	}
	.hero .hero-texts {
		flex: none;
		padding: 20px 24px;
	}
}

/* -----------tenume専用ナビゲーション-------------- */

.tenume-nav{
	/* max-width: 1200px; */
	max-width: 976px;
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: #E4E4E4;
	padding: 12px 0;
	z-index: 2;	/* ---back-to-topより低い数字-- */
	box-sizing: border-box;
}

.tenume-nav.no-fix{
	bottom: 196px;
}

.tenume-nav__ul{
	display: flex;
	justify-content: center;

}

.tenume-nav__ul li:not(:first-child){
	margin-left: 36px;
}

.tenume-nav__ul li a{
	font-size: 16px;
	color: #333333;
}

.tenume-nav__ul li a:hover{
	opacity: .7;
}

.tenume-nav__ul li a::after{
	content: "";
	position: relative;
	top: -5px;
    width: 16px;
    height: 16px;
	transform: rotate(90deg);
    background-image: url(/hvac-cc/biz/products/ziaino/common/_data-files/common/v3/img/icon_large-arow_black.svg);
    background-repeat: no-repeat;
    background-size: cover;
    display: inline-block;
	vertical-align: middle;
}

.tenume-arrow{
	display: none;
}

.tenume-cross{
	display: none;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.tenume-nav{
		padding: 8px;
		width: 85%;
		left: 0;
		bottom: 8px;
		transform: initial;
		transition: .3s;
	}

	.tenume-nav.hide{
		left: -75%;
	}

	.tenume-nav__ul{
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.tenume-nav__ul li{
		width: calc(100% / 3 - 8px);
		padding: 4px 0;
	}

	.tenume-nav__ul li:not(:first-child){
		margin-left: initial;
	}

	.tenume-nav__ul li a{
		font-size: 13px;
	}

	.tenume-nav__ul li a::after{
		content: "";
		position: relative;
		top: -4px;
		width: 10px;
		height: 10px;
	}

	.tenume-arrow{
		position: absolute;
		top: 50%;
		right: 12px;
		transform: translateY(-50%);
		border: initial;
		background-color: initial;
	}

	.tenume-arrow.active{
		display: block;
	}

	.tenume-arrow img{
		height: auto;
		width: 24px;
	}

	.tenume-cross{
		display: block;

		position: absolute;
		top: -7px;
		right: -7px;
		background-color: #fff;
		border: 1px solid #6a6a6a;
		z-index: 2;
		cursor: pointer;
		border-radius: 9999px;
		height: 20px;
		width: 20px;
	}

	.tenume-cross.close{
		display: none;
	}

	.tenume-cross::before , .tenume-cross::after{
		content: "";
		position: absolute;
		display: block;
		height: 1px;
		width: 12px;
		top: 50%;
		left: 50%;
		background-color: #6a6a6a;
	}

	.tenume-cross::before{
		-webkit-transform: translate(-50%, -50%) rotate(45deg);
    	transform: translate(-50%, -50%) rotate(45deg);
	}

	.tenume-cross::after{
		-webkit-transform: translate(-50%, -50%) rotate(-45deg);
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.tenume-nav.no-fix{
		bottom: 272px !important;
	}
}


/* ----------------------------------------------------------------------- 
  sec01専用
-------------------------------------------------------------------------*/

.page-tenume .sec01 .sec01__catch-ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.page-tenume .sec01 .sec01__catch-ul li {
	height: 112px;
	width: 112px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	background-color: #115795;
	border-radius: 9999px;
	font-size: 28px;
	margin: 0 12px 32px;
	font-weight: 500;
}

.h2_default--custom01 h2{
	font-size: 1.9em;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .sec01 {
		margin-top: 0 !important;
	}

	.page-tenume .sec01 .sec01__catch-ul {
		max-width: 330px;
		margin: 0 auto;
	}

	.page-tenume .sec01 .sec01__catch-ul li {
		height: 96px;
		width: 96px;
		font-size: 22px;
		margin: 0 8px 12px;
	}
	
	.h2_default--custom01 h2{
		font-size: 1.557em;
		text-align: left;
		margin-top: 16px;
	}

	.h2_default--custom01 h2 span{
		line-height: 1.3;
	}

	.sec01-2__img-sp{
		height: 200px;
	}
}

/* --------------------------- */

/* ---------ziaino円形見出し---------- */

.page-tenume .sec02-custom-h3--catch {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 28px;
}

.page-tenume .sec02-custom-h3--catch .h3-circle {
	height: 100px;
	width: 100px;
	border-radius: 9999px;
	color: white;
	background-color: #115795;
	font-size: 28px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
	white-space: nowrap;
}

.page-tenume .sec02-custom-h3--catch h3 {
	margin-left: 20px;
	color: #115795;
}
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .sec02-custom-h3--catch .h3-circle {
		height: 68px;
		width: 68px;
		min-height: 68px;
		min-width: 68px;
		border-radius: 9999px;
		color: white;
		background-color: #115795;
		font-size: 18px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 500;
		white-space: nowrap;
	}

	.page-tenume .sec02-custom-h3--catch h3{
		font-size: 20px !important;
		margin-left: 16px;
	}
}


/* -------sec2専用--------- */
.page-tenume .sec02 .sec02__head {
	border-bottom: 1px solid #333;
	padding-bottom: 2px;
	font-size: 16px;
}

.page-tenume .sec02 .sec02-data__table{
	font-size: 13px;
	margin-top: 8px;
}

/* 試験データ表の見出し＝【】内のテキストを均等配置（先方FB 2026-07-29）。
   ★sec02 / sec05 は同一仕様のため、変更漏れを防ぐためここに両方まとめて記述（sec05専用ブロック側は空にしてある）。
   ・【】は HTML から外し ::before / ::after ＋ absolute で描画する。
     absolute でインラインの流れから抜くことで、th 内の「実テキストだけ」が均等割付の対象になる
     （【】をテキストのまま持つと「【」と本文の間まで開いてしまい均等配置にならない）。
   ・見出しは常に1行なので text-align:justify だけでは効かない＝最終行に効く text-align-last:justify が本体。
   ・justify は行内に伸縮余地が必要なため white-space:nowrap は解除し、代わりに min-width で
     「最長5文字（除菌の方法／報告書番号）＋【】2em」を確保して折り返しを防ぐ（box-sizing:border-box 前提で
     min-width 7em に左右padding 2em を内包＝本文領域はちょうど 5em）。
   ・列幅は table のセル幅計算で表ごとに最長の th に揃うため、【】の位置も表内で自動的に揃う。 */
.page-tenume .sec02 .sec02-data__table th,
.page-tenume .sec05 .sec05-data__table th{
	position: relative;
	min-width: 7em;
	padding: 0 1em;
	white-space: normal;
	text-align: justify;
	text-align-last: justify;
}

.page-tenume .sec02 .sec02-data__table th::before , .page-tenume .sec02 .sec02-data__table th::after,
.page-tenume .sec05 .sec05-data__table th::before , .page-tenume .sec05 .sec05-data__table th::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}

.page-tenume .sec02 .sec02-data__table th::before,
.page-tenume .sec05 .sec05-data__table th::before{
	content: "【";
	left: 0;
}

.page-tenume .sec02 .sec02-data__table th::after,
.page-tenume .sec05 .sec05-data__table th::after{
	content: "】";
	right: 0;
}

/* 見出しと本文の間隔（先方FB 2026-07-29）。指示は「右のテキストの文頭に半角スペースを入れる」だったが、
   HTMLに空白文字を入れず td の padding で表現する（＝半角スペース相当の 0.5em・ユーザー方針）。 */
.page-tenume .sec02 .sec02-data__table td,
.page-tenume .sec05 .sec05-data__table td{
	padding-left: .5em;
}

/* HACCP */
.page-tenume .sec02 .sec02-haccp-area {
	font-size: 16px;
	line-height: 1.75;
}

.page-tenume .sec02 .sec02-haccp-area .sec02-haccp-area__inner .sec02-haccp-area__title {
	padding-bottom: 10px;
  font-size: 20px;
	font-weight: bold;
}

.page-tenume .sec02 .sec02-haccp-area .sec02-haccp-area__inner .flex__block--left {
  flex: 1;
	padding-right: 52px;
}

.page-tenume .sec02 .sec02-haccp-area .sec02-haccp-area__inner .flex__block--right {
  width: 146px;
  margin-top: 5px;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .sec02 .sec02-haccp-area .sec02-haccp-area__inner .sec02-haccp-area__title {
		font-size: 18px;
	}
	.page-tenume .sec02 .sec02-haccp-area .sec02-haccp-area__inner .flex__block--left {
		padding-right: 0;
		padding-bottom: 24px;
	}
	.page-tenume .sec02 .sec02-haccp-area .sec02-haccp-area__inner .flex__block--right {
		width: 43%;
		margin: 0 auto;
	}
}



/* -------sec4専用--------- */

.page-tenume .sec04 .column2Style__texts{
	position: relative;
	top: -28px;
}

.page-tenume .sec04 .sec04-card{
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	/* border: 1px solid #6a6a6a; */
	background-color: #f5f5f5;
}

.page-tenume .sec04 .sec04-card:hover p{
	opacity: .7;
	color: #333 !important;
}

.page-tenume .sec04 .sec04-card__texts{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 50%;
	padding: 32px 16px 32px 32px;
	color: #333;
}

.page-tenume .sec04 .sec04-card__texts h5{
	font-size: 22px;
}

.page-tenume .sec04 .sec04-card__texts .detail_link.detail_link--custom h5{
	font-size: 16px;
	font-weight: bold;
	color: #115795;
	margin-top: 16px;
}

.page-tenume .sec04 .sec04-card__texts .detail_link.detail_link--custom p{
	border-bottom: initial;
	white-space: nowrap;
	justify-content: flex-start;
	padding: 12px 0;
	text-decoration: underline;
	position: relative;
}

.page-tenume .sec04 .sec04-card__texts .detail_link.detail_link--custom p::after{
	content: "";
    position: relative;
    width: 12px;
    height: 12px;
    background-image: url(/hvac-cc/biz/products/ziaino/common/_data-files/common/v3/img/icon_large-arow_black.svg);
    background-repeat: no-repeat;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
}

.page-tenume .sec04 .sec04-card__pht{
	width: 50%;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .sec04 .sec04-card{
		flex-direction: column-reverse;
	}

	.page-tenume .sec04 .sec04-card__texts , .page-tenume .sec04 .sec04-card__pht{
		width: 100%;
	}

	.page-tenume .sec04 .sec04-card__texts{
		padding: 16px;
	}

	.page-tenume .sec04 .column2Style__texts{
		position: relative;
		top: -14px;
	}

	.page-tenume .sec04 .table_default th , .page-tenume .sec04 .table_default td{
		font-size: 13px;
	}
}


/* -------sec5専用--------- */

.page-tenume .sec05 .sec05__contents {
	border: 1px solid #333;
	padding: 24px 32px;
}

.page-tenume .sec05 .sec05__head {
	border-bottom: 1px solid #333;
	padding-bottom: 2px;
}

.page-tenume .sec05 .sec05-data__table{
	font-size: 13px;
	margin-top: 8px;
}

/* .sec05-data__table th / td の指定は sec2専用ブロックに sec02 とまとめて記述（同一仕様・変更漏れ防止） */

/* -------sec6専用--------- */

.page-tenume .sec06 .table_default th , .page-tenume .sec06 .table_default td{
	font-size: 14px;
}

.page-tenume .sec06 .sec06__contents {
	position: relative;
	border: 1px solid #333;
	padding: 24px 32px;
	margin-top: 32px;
}

.page-tenume .sec06 .sec06__contents-logo {
	position: absolute;
	display: block;
	bottom: 24px;
	right: 30px;
	height: auto;
	width: 222px;
	object-fit: contain;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .sec06 .table_default th , .page-tenume .sec06 .table_default td{
		font-size: 12px;
	}

	.page-tenume .sec06 .sec06__contents {
		margin-top: 24px;
		padding: 24px;
	}
	

	.page-tenume .sec06 .sec06__contents-logo {
		position: static;
		max-width: 220px;
		margin: 16px auto 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}


/* ----------sec7専用---------------- */

.page-tenume .sec07 a {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 1em;
	font-size: 21px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	border: 1px #ccc solid;
	background-color: #115795;
}

.page-tenume .sec07 a span {
	position: relative;
	display: inline-block;
	line-height: 1;
}
.page-tenume .sec07 a span:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom:0;
	width: 100%;
	height: 1px;
	background-color: #fff;
}
.page-tenume .sec07 a span:before {
	content: '';
	position: absolute;
	right: -20px;
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
	width: 8px;
	height: 8px;
	border-top: solid 3px #ccc;
	border-right: solid 3px #ccc;
}

.page-tenume .sec07 .sec_inner {
	padding: 30px 0;
}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .sec07 a {
		font-size: 16px;
	}
	.page-tenume .sec07 a span:before {
		content: '';
		width: 6px;
		height: 6px;
	}
}


/* ---------------------------- */
.page-tenume .h3-custom {
	display: flex;
	align-items: center;
	margin-bottom: 1.25em;
	padding: 12px 20px;
	color: #115795;
	background-color: #EEEEEE;
}

.page-tenume .h3-custom--remove-bg {
	background-color: initial;
	padding: 12px 0;

}

.page-tenume .h3-custom__block {
	display: flex;
	align-items: center;
}
.page-tenume .h3-custom__block h3 {
	font-size: 23px;
	font-weight: bold;
}

.page-tenume .h3-custom__block span {
	display: block;
	font-size: 16px;
	color: #333333;
}

.page-tenume .h3-custom__block a {
	text-decoration: underline;
	margin-left: 16px;
	font-size: 23px;

}

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-tenume .h3-custom__block {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.page-tenume .h3-custom__block h3 {
		font-size: 20px;
	}

	.page-tenume .h3-custom__block a {
		margin-left: initial;
		font-size: 20px;
	}
}