@charset "utf-8";

/* ----------------------------------------------------------------------- 
sofuki index 
-------------------------------------------------------------------------*/
.page-sofuki {
	font-size:16px;
}
/* [2026-07-27 社内FB] FB「ankerボタンの上、h3のアンダーラインイキに。文字サイズをモジュールに合わせる（現19px→22px）」
   により、index.html 唯一の custom-h3_area（■各製品の特長はこちら）を module h3_blue へ置換。
   本ルール（19px）がFBの「現19px」の出どころ。置換により参照ゼロ＝死にルールだが記録として残置。 */
/* .page-sofuki .custom-h3_area {
	margin-bottom:5px;
	font-size:19px;
	font-weight:bold;
} */
.page-sofuki .area-text {
	font-size:16px;
	margin-bottom:20px;
}
.page-sofuki .bdr-gray {
	border:1px #999 solid;
}


/*-----------------------
sofuki award
------------------------*/
.award {
	margin-bottom:50px;
}
.award .flex__block {
	padding:10px 0;
	background-color: #f6f6f6;
}
.award .award-logo {
	width:195px;
	margin:0 40px;
}
.award .award-logo img {
	width:100%;
}
.award .award-text .title {
	margin-bottom:15px;
	font-size: 18px;
	font-weight:bold;
}
/* SP Responsive (sofuki index award)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.award {
		margin-bottom:10%;
	}
	.award .flex__block {
		padding:10px 10px 15px;
	}
	.award .award-logo {
		width:40%;
		max-width: 150px;
		margin:0 auto 4%;
	}
	.award .award-text .title {
		margin-bottom:5%;
		font-size: 16px;
	}
}




/* ----------------------------------------------------------------------- 
sofuki index hero
-------------------------------------------------------------------------*/
.hero {
	padding-bottom:50px;
}
.hero .flex__block {
	border-top:1px #e2e2e2 solid;
	border-bottom:1px #e2e2e2 solid;
}

.hero .flex__block--left {
	width:488px;
}
.hero .flex__block--right {
	width:600px;
}
.hero .flex__block--left img , .hero .flex__block--right img {
	width:100%;
}

/* SP Responsive (sofuki index hero)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.hero {
		padding-bottom:10%;
	}
	.hero .flex__block--left {
		width:100%;
		text-align: center;
		margin-bottom:0;
	}
	.hero .flex__block--right {
		width:100%;
		margin-bottom:0;
	}
	.hero .flex__block--left img {
		width:90%;
	}
}



/* ----------------------------------------------------------------------- 
sofuki index sec01
-------------------------------------------------------------------------*/
.sec01 .custom-h3_area.gray {
	margin-bottom:40px;
	padding:6px 0 5px 14px;
	color:#858585;
	font-size:16px;
	font-weight:700;
	background-color: #e2e2e2;
}
.sec01 .custom-h3_area.mt {
	margin-top:50px;
}
.sec01 .custom-h4_area {
	font-size:18px;
}
.sec01 .flex__block.flex__block--03 {
	margin-bottom: 50px;
}
.sec01 .flex__block--left , .sec01 .flex__block--right {
	width:49%;
}
.sec01 .flex__block--left img , .sec01 .flex__block--right img {
	width:478px;
}
.sec01 .inscroll__block {
	margin-bottom:20px;
}
.sec01 .inscroll__block img {
	width:976px;
}
.sec01 .t-right.notes {
	margin-bottom:40px;
}

.sec01 .detail_link-four.custom-link-two--last {
	margin-bottom:70px;
}
.sec01 .detail_link-four.custom-link-two ul li a span {
	display: inline-block;
	padding:12px 0;
}
.sec01 .detail_link-four.custom-link-two--last ul li a span {
	display: inline-block;
	padding:12px 0; 
}
.sec01 .detail_link-four.custom-link-two ul li {
	width: 486px;
	border-bottom:1px #fff solid;
}
.sec01 .detail_link-four.custom-link-two--last ul {
    display: flex;
}
.sec01 .detail_link-four.custom-link-two--last ul li {
    width: 486px;
}


/* SP Responsive (sofuki index sec01)
---------------------------------------------------------------*/

@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.sec01 .custom-h3_area.gray {
		margin-bottom:15px;
	}
	.sec01 .flex__block--left , .sec01 .flex__block--right {
		width:100%;
	}
	.sec01 .flex__block--left img , .sec01 .flex__block--right img {
		width:100%;
	}
	.sec01 .flex__block--left {
		margin-bottom:35px;
	}
	.sec01 .arrow__block {
		position: relative;
	}
	.sec01 .sp-arrow--left , .sec01 .sp-arrow--right {
		position: absolute;
		top:40%;
		z-index: 5;
		width:15%;
	}
	.sec01 .sp-arrow--left {
		left:0;
	}
	.sec01 .sp-arrow--right {
		right:0;
		transform: rotate(180deg);
	}
	.sec01 .inscroll__block {
		overflow-y: hidden;
		overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		max-width: 640px;
		width: 100%;
		margin-bottom:10px;
	}
	.sec01 .inscroll__block img {
		max-width:640px;
		height:auto;
	}

	.sec01 .detail_link-four.custom-link-two--last {
		margin-bottom:30px;
	}
	.sec01 .detail_link-four.custom-link-two ul li {
		width: 100%;
	}
	.sec01 .detail_link-four.custom-link-two--last ul {
		display: block;
	}
	.sec01 .detail_link-four.custom-link-two--last ul li {
		width: 100%;
	}
	.page-sofuki .sec01 .custom-h3_area {
		margin-bottom:10px;
	}
}

@media only screen and (max-width: 415px) {
	.sec01 .detail_link-four.custom-link-two ul li a , .sec01 .detail_link-four.custom-link-two--last ul li a  {
	    font-size: 4vw;
    }
}



/* ----------------------------------------------------------------------- 
sofuki index sec02
-------------------------------------------------------------------------*/
/* sec02は Bizモジュール(06 / column-two_default)へ置換。画像は列幅にフィット（従来の478px相当） */
.sec02 .column-two_child .column-two_image img {
	width:100%;
}

/* SP Responsive (sofuki index sec02)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {

	.sec02 .custom-h3_area {
		margin-bottom:15px;
	}
	.sec02 .flex__block--left , .sec02 .flex__block--right {
		width:100%;
	}
	.sec02 .flex__block--left img , .sec02 .flex__block--right img {
		width:100%;
	}
	.sec02 .flex__block--left {
		margin-bottom:35px;
	}
}



/* ----------------------------------------------------------------------- 
sofuki index sec03
-------------------------------------------------------------------------*/
/* sec03の単一画像は Bizモジュール(06 / column-one_default)へ置換。全幅の情報図のため列(=section)幅にフィット */
.sec03 .column-one {
	margin-bottom:50px;
}
.sec03 .column-one_image img {
	width:100%;
}
 
 /* SP Responsive (sofuki index sec02)
 ---------------------------------------------------------------*/
 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {
 
	.sec02 .custom-h3_area {
		margin-bottom:15px;
	}
	.sec03 .noflex__block img {
		width:100%;
	}
}






/* ----------------------------------------------------------------------- 
sofuki index sec04
-------------------------------------------------------------------------*/
.sec04 .custom-h3_area {
	display: flex;
	justify-content: space-between;
	width:100%;
	margin-bottom:25px;
	color:#858585;
	font-size:16px;
	font-weight:700;
	background-color: #e2e2e2;
}
.sec04 .custom-h3_area h3 {
	display: inline-block;
	padding:6px 0 5px 14px;
}
.sec04 .h3--sub {
	text-align: right;
}
.sec04 .h3--sub img {
	width:50%;
}
.sec04 .h3--sub span {
	display: inline-block;
	margin: 0;
	padding:6px 10px 5px;
	color:#fff;
	background-color: #333;
}
.sec04 .custom-h4_area h4 {
	margin:0;
	font-size:18px;
}
/* sec04の2カラムは Bizモジュール(06 / column-two_default)へ置換。列幅はモジュールが担当し、画像は列幅にフィットさせる（従来の478px相当） */
.sec04 .column-two_child img {
	width:100%;
}
.sec04 .sec04__block {
	margin-bottom:60px;
}
.sec04 .area-text {
	margin-bottom:10px;
}

/* SP Responsive (sofuki index sec04)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.sec04 .sec04__block {
		margin-bottom:80px;
	}
	.sec04 .custom-h3_area h3 {
		flex:1;
		display: inline-block;
		padding:4px 0 4px 10px;
	}
	
	.sec04 .custom-h3_area {
		position: relative;
		margin-bottom:20px;
	}
	.sec04 .h3--sub img {
		width:100%;
	}
	.sec04 .h3--sub {
		width:50%;
	}
	.sec04 .h3--sub.res-co01 {
		width:29%;
	}
	/* SP: column-two_default が1列積みに（幅・画像フィットは共通ルールとモジュールが担当） */
}


/* -----------------------------------------------------------------------
案C移植: base CSS を biz style.css へ差替（v3 common.css 除去）に伴い、
v3 common.css 専用だったクラスを移植。sofuki/index 単独読込の本ファイルに限定し
.page-sofuki スコープへ閉じる（style.css 同名クラスとの相互干渉回避）。2026-07-13
-------------------------------------------------------------------------*/

/* ※ 旧 .detail_link-four（製品リンクボタン）はBizモジュール(07 / block-link-page)へ置換したため、
   移植していた v3 基底CSSは撤去（block-link-page は style.css が担当）。 */

/* bottom_nav middle_section: デジタルカタログバナー（module非該当＝旧維持） */
.page-sofuki .bottom_nav .middle_section ul {
	width: 976px;
	margin: 0 auto;
	padding: 10px 0 0 0;
}
.page-sofuki .bottom_nav .middle_section ul li {
	margin: 0 0 10px 16px;
	float: left;
}
.page-sofuki .bottom_nav .middle_section ul li:first-child {
	margin-left: 0;
}
.page-sofuki .clearfix:after {
	display: block;
	clear: both;
	content: "";
}

/* SP（v3 common.css の該当SPルールを移植） */
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.page-sofuki .bottom_nav .middle_section ul {
		width: 100%;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		padding: 0 10px;
	}
	.page-sofuki .bottom_nav .middle_section ul li {
		display: inline-block;
		width: calc((100% - 15px) / 2);
		vertical-align: top;
		margin: 0 15px 15px 0;
		float: none;
	}
	.page-sofuki .bottom_nav .middle_section ul li:nth-child(2n) {
		margin-right: 0;
	}
}

/* [2026-07-21制定 §15／7/23分] custom-h3_area→h3_blue 置換で下余白が過大化（旧 margin-bottom:5px →
   module padding:0 0 30px 0）。SP は module 側に下余白圧縮の指定が無く30pxのまま肥大。
   崩れ（下余白）のみ移管前相当へ圧縮。※下線(#cfcfcf罫線)・font-size22px は新デザインとして維持。 */
.page-sofuki .h3_blue {
	padding: 0;
	margin-bottom: 10px;
}