@charset "utf-8";



.page-netsuko #container a:hover span {
	color:#333 ;
}
/* フォントは module正 style.css の font-family:"Noto Sans", sans-serif を適用。旧デバイスフォント指定(YakuHanJP/Open Sans/Hiragino等)は撤去（レギュレーション準拠・2026-07-09） */

/* ----------------------------------------------------------------------- 
netsuko index 
-------------------------------------------------------------------------*/
.page-netsuko {
	font-size:16px;
}
.page-netsuko .custom-h3_area {
	margin-bottom:5px;
	font-size:19px;
	font-weight:bold;
}
.page-netsuko .area-text {
	font-size:16px;
	margin-bottom:20px;
}
.page-netsuko .bdr-gray {
	border:1px #999 solid;
}
span.custom-note--num {
	display: inline-block;
	font-size:12px;
	vertical-align: top;
}

/* ----------------------------------------------------------------------- 
netsuko index hero
-------------------------------------------------------------------------*/
.hero {
	padding-bottom:50px;
}
/* .hero .flex__block {
	border-top:1px #e2e2e2 solid;
	border-bottom:1px #e2e2e2 solid;
	background-color: #efefef;
} */

.hero .flex__block--left {
	width:500px;
}
.hero .flex__block--right {
	width:590px;
}
.hero .flex__block--left img , .hero .flex__block--right img {
	width:100%;
}

/* SP Responsive (netsuko index hero)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.hero {
		padding-bottom:60px;
	}
	.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:100%;
	}
}

/* ----------------------------------------------------------------------- 
netsuko index sec01
-------------------------------------------------------------------------*/
.sec01 .lineup-grid {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:30px;
	margin-top:35px;
}
.sec01 .lineup-col {
	width:256px;
}
.sec01 .lineup-col--main {
	width:404px;
}
.sec01 .lineup-img {
	display:flex;
	justify-content:center;
	align-items:flex-end;
	width: 100%;
	margin: 20px auto 0;
}
.sec01 .lineup-img img {
	max-width: 175px;
	height: 168px;
}

.sec01 .table--lineup {
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	font-size:16px;
	line-height:1.5;
	color:#333;
	border-left:1px #b7b7b7 solid;
	border-right:1px #b7b7b7 solid;
	border-bottom:1px #b7b7b7 solid;
}
.sec01 .table--lineup th,
.sec01 .table--lineup td {
	/* biz reset.css の border-box により height 指定セル(.tr--maintitle th)が旧サイト(content-box)と高さ挙動が変わり列がズレるため content-box に戻す */
	box-sizing:content-box;
	padding:6px 8px;
	vertical-align:middle;
	text-align:center;
	border-top:1px #b7b7b7 solid;
	border-right:1px #b7b7b7 solid;
	font-weight:normal;
}
.sec01 .table--lineup th:last-child,
.sec01 .table--lineup td:last-child {
	border-right:none;
}
.sec01 .table--lineup .tr--maintitle th,
.sec01 .table--lineup .tr--subtitle th {
	background-color:#e2e2e2;
	color:#333;
}
.sec01 .table--lineup .tr--maintitle th {
	font-size:18px;
	line-height:1.2;
	padding:18px 6px;
	height: 82px;
}
.sec01 .table--lineup .tr--subtitle th {
	font-size:14px;
	padding:4px 6px;
}

.sec01 .table--lineup-main .cell-airflow {
	width:87px;
	font-size:14px;
}
.sec01 .table--lineup-sub .sp-airflow-col {
	display:none;
}
.sec01 .table--lineup-main tr:not(.tr--maintitle):not(.tr--subtitle):not(.tr--text) th {
	background-color:#fff;
}
.sec01 .table--lineup-main tr:not(.tr--text) td,
.sec01 .table--lineup-sub tr:not(.tr--text) td {
	font-size:16px;
	line-height:1.5;
	padding:11px 6px;
	font-weight: 400;
}
.sec01 .table--lineup-main tr:not(.tr--maintitle):not(.tr--subtitle):not(.tr--text) th {
	font-size:16px;
	line-height:1.5;
	padding:11px 6px;
}

.sec01 .table--lineup .tr--text th,
.sec01 .table--lineup .tr--text td {
	padding:10px 12px;
	font-size:16px;
	line-height:1.5;
}
.sec01 .table--lineup .tr--text th {
	background-color:#fff;
	text-align:center;
}
.sec01 .table--lineup .tr--text td {
	text-align:left;
	color:#262727;
}

.sec01 .lineup-link-wrap {
	margin-top:20px;
}
.sec01 .lineup-link {
	position:relative;
	display:block;
	border:1px #ccc solid;
	padding:8px 34px 8px 10px;
	font-size:14px;
	line-height:1.2;
	text-align:center;
	color:#333;
	text-decoration:none;
}
.sec01 .lineup-link:after {
	content:"";
	position:absolute;
	top:50%;
	right:16px;
	width:8px;
	height:8px;
	margin-top:-5px;
	border-right:3px #333 solid;
	border-top:3px #333 solid;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}

/* SP Responsive (netsuko index sec01)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	.sec01 .lineup-grid {
		display:block;
		margin-top:25px;
	}
	.sec01 .lineup-col,
	.sec01 .lineup-col--main {
		width:100%;
		margin-bottom:25px;
	}
	.sec01 .lineup-col:last-child {
		margin-bottom:0;
	}
	.sec01 .lineup-img {
		height:auto;
	}
	.sec01 .lineup-img img {
		width:60%;
	}
	.sec01 .lineup-release {
		margin-bottom:10px;
		font-size:26px;
	}
	.sec01 .table--lineup {
		font-size:12px;
	}
	.sec01 .table--lineup .tr--maintitle th {
		font-size:15px;
		padding:12px 4px;
		height: 100%;
	}
	.sec01 .table--lineup-main .cell-airflow {
		width:87px;
	}
	.sec01 .table--lineup-sub .sp-airflow-col {
		display:table-cell;
		width:85px;
		font-size:16px;
		line-height:1.4;
		background-color:#fff;
	}
	.sec01 .table--lineup-sub .tr--maintitle .sp-airflow-col,
	.sec01 .table--lineup-sub .tr--subtitle .sp-airflow-col {
		background-color:#e2e2e2;
	}
	.sec01 .table--lineup-sub .tr--text .sp-airflow-col {
		background-color:#fff;
	}
	.sec01 .table--lineup-main tr:not(.tr--text) th,
	.sec01 .table--lineup-main tr:not(.tr--text) td,
	.sec01 .table--lineup-sub tr:not(.tr--text) td {
		font-size:16px;
		padding:7px 3px;
	}
	.sec01 .table--lineup .tr--text th,
	.sec01 .table--lineup .tr--text td {
		font-size:16px;
		padding:8px;
	}
}




/* ----------------------------------------------------------------------- 
netsuko index sec02
-------------------------------------------------------------------------*/
/* .sec02 .flex__block {
   margin-bottom:50px;
} */
 .sec02 .h2_default h2 span{
	position: relative;
 }
.sec02 .h2_default h2 span.h2_default-stext{
	position: absolute;
	right: 150px;
	top: 50%;
	display: inline-block;
	transform: translateY(-50%);
	font-size: 12px;
	font-weight: 400;
	color: #333;
	letter-spacing: 0;
}
.sec02 .flex__block--left , .sec02 .flex__block--right {
	width:49%;
}
.sec02 .sec02-feature-row {
	margin-top:20px;
	align-items:flex-start;
}
.sec02 .sec02-feature-card {
	width:48.5%;
}
.sec02 .sec02-catch {
	margin-top:20px;
	padding:10px 12px;
	background-color:#333;
	font-size:20px;
	line-height:1.2;
	text-align:center;
	color:#fff;
}
.sec02 .netsuko-point__subtitle {
	margin-top:4px;
	font-size:20px;
	line-height:1.35;
	font-weight:700;
}
.sec02 .sec02-subpoint {
	margin-top:30px;
}
.sec02 .sec02-auto-switch {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:20px;
	margin-top:16px;
}
.sec02 .sec02-auto-switch .default_text {
	padding-top:4px;
}
.sec02 .sec02-auto-switch__thumb {
	width:163px;
	flex-shrink:0;
}
.sec02 .co2-calc-note {
	font-size:14px;
	line-height:1.5;
}
.sec02 .sec02-balance-wrap {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:32px;
}
.sec02 .sec02-balance-text {
	width:48.5%;
}
.sec02 .sec02-balance-figure {
	width:48.5%;
}
.sec02 .sec02-balance-figure figure {
	width:100%;
}
.sec02 .balance-note {
	font-size:14px;
	line-height:1.5;
}
/* .sec02 .flex__block--left img , .sec02 .flex__block--right img {
	width:478px;
} */
.sec02 .noflex__block {
	margin-top:50px;
}
.sec02 .noflex__block img {
	width:974px;
}
.sec02 .noflex__block .bdr-gray {
	margin-bottom:5px;
}
.sec02 .noflex__block.noflex__block--02 .bdr-gray {
	margin-bottom:20px;
}
.sec02 .custom-h3_area {
	font-size:18px;
}
.sec02 .noflex__block .custom-h3_area {
	margin-bottom:15px;
}
.sec02 .custom-h4_area {
	font-size:18px;
}
.sec02 .area-text.mb-50 {
	margin-bottom:50px;
}
.sec02 .area-text.notes {
	font-size:12px;
	text-align: right;
}
.sec02 .feature01__block {
	margin-bottom:50px;
}
.sec02 .feature01__block ul {
	margin-bottom:5px;
}
.sec02 .feature01__block ul li {
	width:235px;
	margin-right:5px;
}
.sec02 .feature01__block ul li img {
	width:100%;
}

/* SP Responsive (netsuko index sec01)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	/* .sec02 .flex__block {
		margin-bottom:20px;
	} */
	/* .sec02 .flex__block.flex__block--02 {
		margin-bottom:60px;
	} */
	/* .sec02 .flex__block--left {
		margin-bottom:20px;
	} */
	/* .sec02 .flex__block.flex__block--03 .flex__block--left {
		margin-bottom:60px;
	} */
	.sec02 .flex__block--left , .sec02 .flex__block--right {
		width:100%;
	}
	.sec02 .sec02-feature-card {
		width:100%;
	}
	.sec02 .sec02-catch {
		font-size:17px;
	}
	.sec02 .netsuko-point__subtitle {
		font-size:16px;
		line-height:1.4;
	}
	.sec02 .sec02-auto-switch {
		display:block;
	}
	.sec02 .sec02-auto-switch__thumb {
		width:132px;
		margin:15px auto 0;
	}
	.sec02 .sec02-balance-wrap {
		display:block;
		padding: 0 10px;
	}
	.sec02 .sec02-balance-text,
	.sec02 .sec02-balance-figure {
		width:100%;
	}
	.sec02 .balance-note,
	.sec02 .co2-calc-note {
		font-size:13px;
	}
	.sec02 .flex__block--left img , .sec02 .flex__block--right img {
		width:100%;
	}
	.sec02 .feature01__block ul.flex__block {
		display: flex;
		margin-bottom:3px;
	}
	.sec02 .feature01__block ul li {
		width:32%;
		margin-right:1%;
	}
	.sec02 .feature01__block ul li:last-child {
		margin-right:0;
	}

	.sec02 .page-top_wrap.sp-mg {
		margin-bottom:50px;		
	}
	.sec02 .width-65{
		width: 65%;
	}
	.sec02 .h2_default h2 span.h2_default-stext{
		position: static;
		display: block;
		margin-top: 20px;
	}
}


/* ----------------------------------------------------------------------- 
netsuko index sec03
-------------------------------------------------------------------------*/
.sec03 .custom-h3_area {
	margin-bottom:12px;
	padding:6px 0 5px 14px;
	background-color: #e2e2e2;
}
.sec03 .custom-h3_area.mt {
	margin-top:50px;
}
.sec03 .custom-h3_area h3 {
	font-weight:normal;
}
.sec03 .custom-h4_area {
	font-size:18px;
}
/* .sec03 .flex__block {
	margin-bottom: 50px;
} */
.sec03 .flex__block--left , .sec03 .flex__block--right {
	width:49%;
}
.sec03 .flex__block--right .flex__block--sec03Custom .flex__block--left{
	width: 100%;
}
/* .sec03 .flex__block--left img , .sec03 .flex__block--right img {
	width:478px;
} */
.sec03 .custom-h3_area {
	font-size:18px;
}


/* SP Responsive (netsuko index sec03)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	/* .sec03 .flex__block {
		margin-bottom:30px;
	} */
	.sec03 .custom-h3_area {
		margin-bottom:15px;
	}
	.sec03 .flex__block--left , .sec03 .flex__block--right {
		width:100%;
	}
	.sec03 .flex__block--left img , .sec03 .flex__block--right img {
		width:100%;
	}
	.sec03 .flex__block.flex__block--04 .flex__block--left {
		margin-bottom:0;
	}
	/* .sec03 .flex__block--left {
		margin-bottom:30px;
	} */
}




/* ----------------------------------------------------------------------- 
netsuko index sec04
-------------------------------------------------------------------------*/
.sec04 h3{
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	margin-top: 20px;
}
.sec04 .custom-h3_area {
    margin-bottom:20px;
}
.sec04 .flex__block--left , .sec04 .flex__block--right {
	width:49%;
}
/* .sec04 .flex__block--left img , .sec04 .flex__block--right img {
	width:478px;
} */
.sec04 .custom-h3_area {
	font-size:18px;
}

/* SP Responsive (netsuko index sec04)
---------------------------------------------------------------*/
@media only screen and (max-device-width: 1280px) and (max-width: 640px) {
	/* .sec04 .flex__block {
		padding-bottom:20px;
	} */
	.sec04 .custom-h3_area {
		margin-bottom:15px;
	}
	.sec04 .flex__block--left , .sec04 .flex__block--right {
		width:100%;
	}
	.sec04 .flex__block--left img , .sec04 .flex__block--right img {
		width:100%;
	}
	/* .sec04 .flex__block--left {
		margin-bottom:50px;
	} */
}


/* ----------- 20250925  -----------*/

/*  ----------- アンカーリンク  ----------- */
.section_anchorlink{
	max-width: 976px;
	width: 100%;
    margin: 0 auto 45px;
}
.section_anchorlink ul{
	display: flex;
}
.section_anchorlink li a{
	display: block;
	color: #fff;
	background-color: #333333;
	font-weight: 700;
	font-size: 18px;
	min-width: 244px;
	width:fit-content;
	text-align: center;
	line-height: 1;
	padding: 20px 0;
	border-right: 1px solid #fff;
	opacity: all 0.3s;
}
.section_anchorlink li a:hover{
	opacity: 0.7;
}
.section_anchorlink li:last-child a{
	border-right: none;
}
.section_anchorlink li a::before{
	content: "";
	/* biz reset.css の border-box だと width+padding-right が潰れアイコン余白が消えるため content-box に戻す（旧サイト同様） */
	box-sizing: content-box;
	background-image: url("../img/index/icon_anchorlink_01.png");
	background-repeat: no-repeat;
	background-size: contain;
	width: 12px;
	height: 14px;
	display: inline-block;
	padding-right: 10px;
}
@media screen and (max-width: 640px) {
	.section_anchorlink{
		max-width: 100%;
		width: 100%;
        padding: 0 10px;
	}
	.section_anchorlink ul{
		flex-wrap: wrap;
		gap:10px;
		justify-content: space-between;
	}
	.section_anchorlink ul li{
		width: 48%;
	}
	.section_anchorlink ul li a{
		width: unset;
        min-width: unset;
        padding: 15px 5px;
		font-size: 16px;
	}
}
/* sec01 */
.leadtext{
	font-size: 30px;
	text-align: center;
	line-height: 1.1;
	margin-top: 30px;
}
.sec01 .table--lineup td{
	padding: 12px 0;
}
.sec01 .table--lineup td a{
	text-decoration: none;
	color: #333;
}
.sec01 .table--lineup td a:hover{
	opacity: 0.7;
}
.sec01 .table--lineup td.border-right{
	border-right: 1px #999 solid;
}
.sec01 .table--lineup.border-b-none{
	border-bottom: none;
}
.sec01 .flex__block--02{
	display: flex;
	gap: 20px;
}
.sec01 .flex__block--02 .flex__block--left,.sec01 .flex__block--02 .flex__block--right{
	width: 47%;
}
.sec01_tableimg{
	min-height: 168px;
	display: flex;
	align-items: flex-end;
    justify-content: center;
    margin: 36px auto 0;
}
.border_redtop{
	border-top: 4px solid #EB000C !important;
}
.border_redleft{
	border-left: 4px solid #EB000C !important;
}
.border_redright{
	border-right: 4px solid #EB000C !important;
}
.border_redbottom{
	border-bottom: 4px solid #EB000C !important;
}
.height-type01{
	height: 72px;
}
@media screen and (max-width: 640px) {
	.height-type01{
		height: 100%;
	}
	.leadtext{
		font-size: 23px;
		padding: 15px 8px;
		line-height: 1.1;
	}
	.sec01_tableimg{
		min-height: auto;
		margin: 30px auto;
	}
	.sec01 .flex__block--02{
		display: block;
	}
	.sec01 .flex__block--02 .flex__block--left, .sec01 .flex__block--02 .flex__block--right{
		width: 100%;
	}
	.sec01 .flex__block{
		padding-bottom: 0;
	}
}

/* sec02 */
.h3_icon_flex{
	display: flex;
	gap:0 8px;
}
.h3_icon_flex img{
	width: 77px;;
}
.sec02 .blue_box{
	position: relative;
	border:2px solid #5283C3;
	margin-top: 20px;
	margin-bottom: 30px;
}
.sec02 .blue_box::before {
	content: "";
	position: absolute;
	background-color: #fff;
	bottom: 0px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	height: 4px;
	width: 20px;
	z-index: 1;
}
.triangle_box{
	position: absolute;
	left:50%;
	transform: translateX(-50%);
	bottom: -26px;
}
.triangle {
  display: inline-block;
  position: relative;
  width: 24px;
  height: 20px;
  background: #5283C3;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.triangle::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 50%;
  width: 22px;
  height: 18px;
  background: #ffffff;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  transform: translateX(-50%);
}
.sec02 .blue_box h4{
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	padding: 17px 0 17px 17px;
	background-color: #CCD7EE;
}
.sec02 .box__wrap{
	padding: 0 20px;
}
@media screen and (max-width: 640px) {
	.sec02 .blue_box{
		margin-top: 30px;
	}
	.sec02 .blue_box h4{
		font-size: 19px;
		line-height: 1.3;
		padding: 12px;
	}
	.sec02 .box__wrap{
		padding: 0 10px;
	}
}
/* sec03 */
.sec03__h4-catch{
    position: relative;
    margin-bottom: 12px;
    padding: 6px 0 5px 14px;
    background-color: #003988;
    color: #fff;
  }
 
  .sec03 .flex__block--sec03Custom .flex__block--left{
    width: 48%;
  }
 
  /* .sec03 .flex__block--sec03Custom .flex__block--right{
    width: 50%;
  } */
 
  .sec03 .flex__block--sec03Custom img{
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
 
  .sec03 .blue-text{
    color: #003988;
	font-size: 18px;
	display: block;
  }
  .sec03 h4.hd04{
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 45px;
  }
  .sec03 h5{
	font-size: 18px;
	font-weight: 700;
  }
  .sec03_lefttext{
	font-size: 18px;
	font-weight: 700;
  }
  .black_box{
	background-color: #333333;
	color: #fff;
	padding: 10px 20px;
	text-align: center;
	border-radius: 10px;
  }
  .black_box p{
	font-size: 18px;
  }
  .black_box span{
	font-size: 14px;
	display: block;
  }
  @media screen and (max-width: 640px) {
	.sec03 .flex__block--sec03Custom .flex__block--left{
		width: 100%;
	}
	.sec03 h4.hd04{
		font-size: 19px;
		margin-top: 40px;
	}
  }
/* sec04 */
.sec04 a {
    width: 35% !important;
    object-fit: contain;
  }
  .sec04 p.hover:hover{
	opacity: 0.7;
  }
  .sec04 .bdr-img{
	width: 100%;
  }
  .sec04 .custom-textArea{
    width: 65%;
  }
 
  .sec04 .custom-textArea{
    font-size: 14px !important;
  }
 
  .sec04 .custom-textArea .custom-h4_area{
    font-size: 16px !important;
    font-weight: bold;
  }
  .sec04 .custom-textArea .custom-h4_area span{
	color: #013988;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.5;

  }
  .sec04 .flex__block{
    gap: 12px;
  }
  .sec04 a{
	text-decoration: none;
	color: #333;
  }
  .sec04 a:hover h4{
	opacity: 0.7;
  }
  @media screen and (max-width: 640px) {
	.sec04 .flex__block--left .flex__block--03{
		display: flex;
		align-items: flex-start;
	}
	.sec04 .flex__block--left, .sec04 .flex__block--right{
		width: 100%;
	}
	.sec04 .custom-textArea{
		width: 65%;
	}
	.sec04__box .flex__block--03{
		display: flex;
		align-items: flex-start;
	}
	.sec04 .flex__block--03 .flex__block--right .flex__block--03{
		display: flex;
		align-items: flex-start;
	}
  }
/* parts  */
.section{
	margin: 0 auto 45px;
}
.img_center{
	text-align: center;
    display: block;
    margin: 0 auto;
}
.default_text--spacing{
	letter-spacing: -0.03em;
 }
.img_right{
	text-align: center;
    display: block;
    margin: 0 65px 0 auto;
}
.default_text{
	font-size: 16px;
	line-height: 1.5;
}
/* 赤字（旧サイト更新分・2026-07-28）。本文インライン用の赤字はBizモジュールに無いため
   ページCSSで定義。色は旧サイト原稿値 #dc000c を維持（module標準の #f00000 とは別値）。 */
.red-text{
	color: #dc000c;
}
.text-indent{
	padding-left: 1em;
	text-indent: -0.5em;
}
.pc-only{
	display: block;
}
.sp-only{
	display: none;
}
sub{
	bottom: 0;
}


/* btn  */
.yukaoki__block .btn--link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 230px;
	width: fit-content;
	margin:0 auto;
	padding:5px 0;
	text-align: center;
	color:#333;
	border: 1px #ccc solid;
	box-sizing: border-box;
}

.yukaoki__block .btn--link:hover {
	opacity: 0.7;
}
.yukaoki__block .btn--link > span {
	display: inline-block;
	position: relative;
}
.yukaoki__block .btn--link > span:after {
	content: '';
	position: absolute;
	top:50%;
	right:-14px;
	display: inline-block;
	vertical-align: middle;
	width:9px;
	height:15px;
	width: 6px;
    height: 6px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
.yukaoki__block .btn--link:first-child{
	min-width: 704px;
}

figure img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.anchor-point {
    opacity: 0;
    position: relative;
    top: -60px;
}
/* scroll-hint横スクロール領域: 旧は .c-ap-scroll-area-box に overflow-x:auto(ap_common.css由来)で
   広い図(SP時 min-width:170vw)を内包スクロールさせページ溢れを防ぐ。netsukoはap_common.css非読込のため
   未設定でページ溢れ→旧同様に内包スクロールさせる(Issue2/2026-07-03)。 */
.page-netsuko .js-scroll-area,
.page-netsuko .c-ap-scroll-area-box {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.js-scroll-area img{
		min-width: auto;
		width: 100%;
	}
.font-b{
		font-weight: 700;
	}
.flex__block--left--02,.flex__block--right--02{
	width: 48.5% !important;
}
.flex__block--left--03,.flex__block--right--03{
	width: 45% !important;
}
html{
	scroll-behavior: smooth;
}
.txt-r{
	text-align: right;
}
@media screen and (max-width: 640px) {
	.anchor-point {
		top: -70px;
	}
	.yukaoki__block .btn--link.pc-only{
	display: none;
}
	.yukaoki__block .btn--link:first-child{
		min-width: auto;
		margin-bottom: 20px;
	}
	.yukaoki__block .btn--link{
		width: 100%;
	}
	.pc-only{
		display: none;
	}
	.sp-only{
		display: block;
	}
	.c-ap-scroll-area-box::-webkit-scrollbar {
		background: #DCDCDC;
		width: 14px;
		height: 14px;
		border-radius: 16px;
	}
	.c-ap-scroll-area-box::-webkit-scrollbar-thumb {
		background-color: #AAAAAA;
		border-radius: 16px;
	}
	.js-scroll-area img{
		min-width: 170vw;
	}
	.flex__block--left--02,.flex__block--right--02{
		width: 100% !important;
	}
	.flex__block--left--03,.flex__block--right--03{
		width: 100% !important;
	}
	.img_right{
		text-align: center;
		display: block;
		margin: 0 auto;
	}
}
/* 余白調整 */
.gap01{
	gap:0 20px;
}
.gap02{
	gap: 0 32px;
}
.pt-10{
	padding-top: 10px;
}
.pt-15{
	padding-top: 15px;
}
.pt-20{
	padding-top: 20px;
}
.pb-15-pc{
	padding-bottom: 15px;
}
.pb-20-pc{
	padding-bottom: 20px;
}
.pt-25{
	padding-top: 25px;
}
.pt-30{
	padding-top: 30px;
}
.pl-20{
	padding-left: 20px;
}
.pb-20{
	padding-bottom: 20px;
}
.pb-35{
	padding-bottom: 35px;
}
/* .mt-50_pc{
	margin-top: 50px;
} */
.mt-50{
	margin-top: 50px;
}
.mt-20{
	margin-top: 20px;
}
.text-minh-72{
	min-height: 72px;
}
.pb20-sp{
	padding-bottom: 0;
}
/* GL-20 blue_box内の2カラム下揃え（旧サイト更新分・2026-07-28） */
.align-items-end{
	align-items: flex-end;
}
@media screen and (max-width: 640px) {
	.text-minh-72{
		min-height: auto;
	}
	.pb-20-pc{
		padding-bottom: 0;
	}
	.pb20-sp{
		padding-bottom: 20px;
	}
	.pb-15-pc{
		padding-bottom: 0;
	}
}
/* flex parts*/
.just-between{
	justify-content: space-between;
}
.h2_default{
	margin-bottom: 0;
}

/* img */
.img_wrap--01{
	max-width: 174px;
}
.img_wrap--02{
	max-width: 170px;
}
.img_wrap--03{
	max-width: 52px;
}
.img_wrap--04{
	max-width: 244px;
}
.img_wrap--05{
	max-width: 132px;
}
.img_wrap--06{
	max-width: 765px;
}
.img_wrap--07{
	max-width: 480px;
}
.img_wrap--08{
	max-width: 390px;
}
@media screen and (max-width: 640px) {
	.img_wrap--04,.img_wrap--05{
		display: block;
		margin: 20px auto 0;
	}
}
/* 見出し */
.netsuko-point{
    display: flex;
    align-items: center;
	margin-top: 50px;
	gap:0 24px;
  }
 
  .netsuko-point__img {
    display: flex;
  }
  .netsuko-point__img h3 {
    font-size: 24px !important;
    font-weight: bold !important;
  }
 
  .netsuko-point__img img {
    width: 76px !important;
    height: auto !important;
    object-fit: contain;
 
    margin-right: 8px;
  }
 
  /* .netsuko-point__img img:last-child {
    margin-right: 24px;
  } */
 
  .netsuko-point__title{
    font-size: 24px !important;
    font-weight: bold !important;
  }
 
  .sec03__h4-catch{
    position: relative;
    margin-bottom: 12px;
    padding: 6px 0 5px 0;
	text-align: center;
    background-color: #333333;
    color: #fff;
	font-size: 20px;
  }
 
  .sec03__h4-catch.sec03__h4-catch--notice span{
    /* content: "";
    position: absolute;
    display: inline-block;
    top: 50%;
    right: 8px;
    transform: translateY(-50%); */
	font-size: 20px;
 
    color: #FFD900;
  }
  @media screen and (max-width: 640px) {
	.sec03__h4-catch{
		font-size: 18px;
	}
	.sec03__h4-catch.sec03__h4-catch--notice::after{
		font-size: 18px;
		position: static;
		transform: initial;
	}
	.netsuko-point{
		margin-top: 30px;
		gap:0 10px;
	}
	.netsuko-point__title{
		font-size: 19px !important;
	}
	.netsuko-point__img img{
		width: 50px !important;
		margin-right: 5px;
		min-width: 50px;
	}
	.netsuko-point__img--01{
		min-width: 116px;
	}
  }

/* =======================================================================
   [module移管 2026-07-08] base を biz assets/css/style.css へ差し替えた際、
   旧base(v3 common.css)にしか無く未定義化するクラスの移植（netsuko専用）。
   ※ 共有の common.css は floor(v3継続)が使うため触らず、本ファイルに閉じる。
   現行見た目維持が目的（値・SP挙動は v3 相当をそのまま再現）。
   ------------------------------------------------------------------------- */
/* float解除（v3 5862 相当） */
.clearfix:after { display: block; clear: both; content: ""; }
/* スペーシング（v3 5278/5185 相当・PC値） */
.pt-40 { padding-top: 40px !important; }
.mt-pc-50 { margin-top: 50px !important; }
/* bottom_nav / middle_section 基底（v3 1092/1204-1222 相当。common.css の.page-netsuko上書きと併用） */
.bottom_nav { margin: 40px auto 0; }
.bottom_nav .middle_section { font-size: 16px; }
.bottom_nav .middle_section ul {
	width: 976px;
	margin: 0 auto;
	padding: 10px 0 0 0;
}
.bottom_nav .middle_section ul li {
	margin: 0 0 10px 16px;
	float: left;
}
.bottom_nav .middle_section ul li:first-child { margin-left: 0; }

@media screen and (max-width: 640px) {
	/* SP: PC専用マージンのリセット（v3 7604群 相当） */
	.mt-pc-50 { margin-top: 0 !important; }
	/* SP: SP専用上余白（v3 7542 相当） */
	.pt-sp-30 { padding-top: 30px !important; }
	/* bottom_nav middle_section SP基底（v3 6720-6737 相当。実SPは common.css の.page-netsuko側が優先） */
	.bottom_nav .middle_section ul {
		width: 100%;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		padding: 0 10px;
	}
	.bottom_nav .middle_section ul li {
		display: inline-block;
		width: calc((100% - 15px) / 2);
		vertical-align: top;
		margin: 0 15px 15px 0;
		float: none;
	}
	.bottom_nav .middle_section ul li:nth-child(2n) { margin-right: 0; }
	/* [2026-07-21修正] module h3_blue はSP時に上余白が付かない
	   （style.css の .h3_blue{margin-top:40px} は @media (min-width:641px)＝PC専用のため）。
	   移管前の .sec03 h4.hd04（SP時 margin-top:40px）を復元し、SPでの見出し詰まり（レイアウト崩れ）を解消。 */
	.page-netsuko .sec03 .h3_blue { margin-top: 40px; }
}
