/*===============================================
　SP
===============================================*/
@media (max-width:761px) {
	/* ============================================================
 	main vi 
	==============================================================*/
	#main_wrap {
		width: 100%;
		height: auto2;
		position: relative;
		background: url(../img/mv_bg_sp.jpg) no-repeat top center;
		background-size: cover;
	}

	#main_wrap h1{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		letter-spacing: 0.3rem;
		color:#ffffff;
		line-height:1.4;
		font-size: 4.4rem;
	}
    #main_wrap h1 span {
        font-size: 2.5rem;
        font-weight: 400;
        display: table;
        padding: 0px 0 24px;
        margin: 3px 0 0;
        letter-spacing: 0.1rem;
    }

	#main_wrap .ttl_wrap{
			/* position: absolute; */
			/* bottom: 14%; */
			padding: 0 6%;
			padding: 20% 6% 0;
	}
    #main_wrap .body_txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.5rem;
        line-height: 1.8;
        font-feature-settings: 'palt';
        padding: 0 0 35px;
        color: #ffffff;
        text-align: left;
        width: 100%;
    }
	
	#main_wrap .pc_contents{
		display:none;
	}

	
    #sec_btn{
		background: linear-gradient( to right,  #407191 10%, #9cb6c5 100% );
		padding: 30px 6% 40px;
	}
    #sec_btn ul {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 2列 */
        column-gap: 25px; /* 列の間隔 */
        row-gap: 12px; /* 行の間隔 */
    }
    #sec_btn li {
        margin: 0;
        padding: 0;
    }
    #sec_btn ul {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 2列 */
        column-gap: 25px; /* 列の間隔 */
        row-gap: 12px; /* 行の間隔 */
    }
    #sec_btn li {
        margin: 0;
        padding: 0;
    }
    /* 1行のデザイン */
    #sec_btn a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 0;
        font-weight: 400;
        color: rgba(255, 255, 255, .85); /* 白っぽい文字 */
        font-size: 1.5rem;
        letter-spacing: .04em;
        border-bottom: 1px solid rgba(255, 255, 255, .35);
        font-family: 'Noto Sans JP', sans-serif;
    }
    /* 右端の∨（CSSで生成） */
    #sec_btn a::after {
        position: absolute;
        display: inline-block;
        content: "";
        width: 6px;
        height: 6px;
        border-top: 1px solid #ffffff;
        border-right: 1px solid #ffffff;
        transform: rotate(135deg) translate(0, -50%);
        top: 40%;
        right: 18px;
    }
    /* ============================================================
 	section 00
	==============================================================*/
    #sec00 {
        padding: 80px 0 100px;
        background: #fff;
        margin: 0 0 0 70px;
        margin: 0 auto;
        width: 100%;
    }
    #sec00 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 3.4rem;
        letter-spacing: 0.2rem;
        color: #000000;
        position: relative;
        line-height: 1.5;
        font-feature-settings: "palt";
        text-align: center;
    }
    #sec00 h2:after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 24px auto 60px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec00 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 4.0rem;
        letter-spacing: 0.1rem;
        color: #000000;
        position: relative;
        line-height: 1.0;
        font-feature-settings: "palt";
        text-align: left;
    }
    #sec00 h2:after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 24px 0 37px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec00 .body_txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
        line-height: 2.0;
        font-feature-settings: 'palt';
        padding: 0 0 50px;
        color: #000;
        text-align: left;
    }
    #sec00 .work_imgwrap {
        margin: 35px 0 0 0;
        width: 100%;
    }
	#sec00 .work_imgwrap img{
		margin:0 0 30px;
	}

#sec00 .info-box {
  /* display: flex; */
  align-items: center;
  background: #f6f8fb;
  border-radius: 0px;
  padding: 20px 4% 20px 7%;
  margin-bottom: 12px;
  position: relative;
  white-space: nowrap;
}

/* 左の青ライン */
#sec00 .info-box::before {
  content: "";
  width: 6px;
  height: 100%;
  background: linear-gradient(to top, rgb(0 82 146 / 80%) 25%, rgb(0 150 215 / 80%) 75%);
  position: absolute;
  left: 0;
  top: 0;
}

#sec00 .info-copy {
  color: #1f66b3;
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  line-height: 1.2;
}

#sec00 .info-main {
  color: #1f66b3;
  margin-right: 33px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  /* width: 60%; */
}

#sec00 .info-main h3 {
  font-size: 2.0rem;
  margin: 0;
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  color: #000;
  line-height: 1.6;
}

#sec00 .info-sub {
  font-size: 1.4rem;
  color: #000000;
  margin-top: 0;
  line-height: 1.4;
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: 'palt';
}

    /* ============================================================
 	section 01
	==============================================================*/
    #sec01 {
        padding: 80px 6% 100px;
        position: relative;
        background: url(../img/sec01_bg_sp.jpg) no-repeat top right;
        background-size: 900px;
        background-position-x: right -52px;
        background-position-y: -27px;
    }
    #sec01 .wrapper {
        box-sizing: border-box;
        border-radius: 10px 10px 0 0;
        padding: 18px 0 0px;
    }
    #sec01 h2 {
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 600;
        font-size: 6rem;
        letter-spacing: 0.1rem;
        color: #000000;
        position: relative;
        line-height: 1.02;
        font-feature-settings: "palt";
        text-align: left;
    }
    #sec01 h2 span{
		font-size:3.0rem;
		display:block;
		margin: 0 0 14px;
		font-weight: 400;
		font-family: 'Noto Sans JP', sans-serif;
	}
    #sec01 h2:after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 24px 0 60px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec01 .body_txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
        line-height: 2.0;
        font-feature-settings: 'palt';
        padding: 0 0 81px;
        color: #000;
        text-align: left;
    }
    #sec01 .mmv_wrap{
    }
    #sec01 h3 {
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 300;
        font-size: 2.6rem;
        line-height: 1;
        color: #000000;
        letter-spacing: 0.1rem;
        font-feature-settings: 'palt';
        padding: 12px 0 5px;
    }
    #sec01 h4 {        
		font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 2.2rem;
        line-height: 1;
        color: #fff;
        letter-spacing: 0.1rem;
        font-feature-settings: 'palt';
        padding: 0 0 10px;
    }
    #sec01 h4 span.mbg {
		 display: inline-block;
        padding: 10px 20px 12px;
        margin: 2px 0;
        background: linear-gradient(to right, rgb(0 82 146 / 80%) 25%, rgb(0 150 215 / 80%) 75%);
	}
    #sec01 .flex_wrap {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 20px 0;
    }
    #sec01 .con_wrap {
        margin: 10px 0 33px;
    }
    #sec01 .flex_wrap > li {
        width: 48%;
        box-sizing: border-box;
        padding: 24px 22px;
    }
    #sec01 .flex_wrap > li:nth-child(1) {
        background: linear-gradient(to bottom right, #bf1e2e 0%, rgb(191 30 46 / 70%) 100%);
    }
    #sec01 .flex_wrap > li:nth-child(2) {
        background: linear-gradient(to bottom right, #f1592a 0%, rgb(241 89 42 / 70%) 100%);
    }
    #sec01 .flex_wrap > li:nth-child(3) {
        background: linear-gradient(to bottom right, #fcb040 0%, rgb(252 176 64 / 70%) 100%);
    }
    #sec01 .flex_wrap > li:nth-child(4) {
        background: linear-gradient(to bottom right, #00a651 0%, rgb(0 166 81 / 70%) 100%);
    }
    #sec01 .flex_wrap > li:nth-child(5) {
        background: linear-gradient(to bottom right, #1d5a90 0%, rgb(29 90 144 / 70%) 100%);
    }
    #sec01 .flex_wrap span.num {
		display:block;
		font-family: 'Roboto', sans-serif;
		font-weight:300;
		font-size: 1.6rem;
		color:#fff;
		letter-spacing:0.2rem;
		padding:0 0 0 4px;
    }
    #sec01 .flex_wrap h4 {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:600;
		font-size: 2.2rem;
		line-height:1;
		color:#fff;
		letter-spacing: 0.2rem;
		font-feature-settings: 'palt';
		padding: 0 0 30px;
		position:relative;
    }
    #sec01 .flex_wrap h4:before {
		content: "";
		display: block;
		width:50px;
		height: 2px;
		background:#fff;
		opacity:0.5;
		position: absolute;
		bottom: 11px;
		left:2px;
    }
    #sec01 .flex_wrap li p {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        font-size: 1.3rem;
        color: #fff;
        line-height: 1.8;
        padding: 0 0 0 2px;
        font-feature-settings: 'palt';
        letter-spacing: 0.1rem;
    }
    #sec01 .flex_wrap p.body_txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 500;
        font-size: 1.6rem;
        color: #fff;
        line-height: 2.2;
        padding: 0 0 0 2px;
        margin: -5px 0 0;
        width: 710px;
        text-indent: 1em;
        font-feature-settings: 'palt';
        letter-spacing: 0.2rem;
        /* text-shadow: 0 0 10px rgb(9 63 100 / 70%); */
    }
    #sec01 .b_list a {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-width: 230px;
        height: 48px;
        padding: 0 22px 0 0;
        background: #2f2f2f;
        color: #fff;
        border: 1px solid #2f2f2f;
        transition: opacity .2s ease;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
    }
    #sec01 .b_list a span {
        position: absolute;
        top: 41%;
        right: 25px;
        transform: translate(0, -50%);
    }
    /* ============================================================
 	section 02
	==============================================================*/
    #sec02 {
        background: #f3f5f7;
    }
    #sec02 .wrapper {
        box-sizing: border-box;
        padding: 100px 6% 60px;
    }
    #sec02 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 3.4rem;
        letter-spacing: 0rem;
        color: #000000;
        position: relative;
        line-height: 1.0;
        font-feature-settings: "palt";
        text-align: left;
    }
    #sec02 h2:after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 24px 0 37px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec02 .body_txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
        line-height: 2.0;
        font-feature-settings: 'palt';
        padding: 0 0 36px;
        color: #000;
        text-align: left;
    }
    #sec02 .b_list a {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-width: 230px;
        /* height: 48px; */
        padding: 10px 22px 10px 0;
        background: #2f2f2f;
        color: #fff;
        border: 1px solid #2f2f2f;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
    }
    #sec02 .b_list a span {
        position: absolute;
        top: 41%;
        right: 25px;
        transform: translate(0, -50%);
    }
	#sec02 .img_wrap{
		margin:0 0 -10px 0;
	}
    /* ============================================================
 	section 03
	==============================================================*/
    #sec03 {
        background: #fff;
    }
    #sec03 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 3.0rem;
        letter-spacing: 0.2rem;
        color: #000000;
        position: relative;
        line-height: 1.5;
        font-feature-settings: "palt";
        text-align: center;
    }
    #sec03 h2:after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 24px auto 60px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec03 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 3.4rem;
        letter-spacing: 0rem;
        color: #000000;
        position: relative;
        line-height: 1.0;
        font-feature-settings: "palt";
        text-align: left;
    }
    #sec03 h2:after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 24px 0 37px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec03 .body_txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
        line-height: 1.9;
        font-feature-settings: 'palt';
        padding: 0 0 56px;
        color: #000;
        text-align: left;
    }
    /* 横並び */
    #sec03 .strength__inner {
        margin: 0 auto;
        align-items: flex-start;
    }
    /* 左 */
    #sec03 .strength__content {
    padding: 105px 6% 60px;
    80px 0
    contain-intrinsic-block-size: auto 100px;
    }
    #sec03 .h3_box{
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.4;
        text-align:center;
        width: 100%;
        background: url(../img/sec03_left_img_01.jpg) no-repeat top;
        background-size: cover!important;
    }
    #sec03 .h3_box_2{
        background: url(../img/sec03_left_img_02.jpg) no-repeat top;
    }
    #sec03 .h3_box_3{
        background: url(../img/sec03_left_img_03.jpg) no-repeat top;
    }
    #sec03 .h3_box_4{
        background: url(../img/sec03_left_img_04.jpg) no-repeat top;
    }
    #sec03 h3{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		color: #fff;
		padding: 24px 0;
	}
	#sec03 .strength__item ul{
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		color:#000;
		padding: 18px 7% 23px 10%;
	}
	#sec03 .strength__item ul.ul3{
	}
	#sec03 .strength__item ul li{
		padding:0px 0 10px;
		position:relative;
		line-height: 1.6;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.5rem;
	}
	#sec03 .strength__item ul li:after{
		content:"";
		width: 5px;
		height: 5px;
		position:absolute;
		background:#000;
		top: 10px;
		left: -14px;
		border-radius: 90px;
	}
    #sec03 .strength__lead {
        font-size: 15px;
        line-height: 1.9;
        margin-bottom: 40px;
        color: #333;
    }
    /* 箇条 */
    #sec03 .strength__list {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    #sec03 .strength__item {
        background: #f5f7f9;
        font-size: 14px;
        /* display: flex; */
    }
    #sec03 .strength__imageWrap {
    }
	#sec03 .btn_ul{
		margin: 40px 0 0;
		display: grid;
	}
    #sec03 .b_list {
        margin: 10px auto 0;
        /* width: 100%; */
    }
    #sec03 .b_list a {
        position: relative;
        display: inline-flex;
        align-items: center;
        width: 250px;
        padding: 10px 2px 10px 20px;
        background: #2f2f2f;
        color: #fff;
        border: 1px solid #2f2f2f;
        transition: opacity .2s ease;
        line-height: 1.3;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
    }
    #sec03 .b_list a span {
        position: absolute;
        top: 41%;
        right: 19px;
        transform: translate(0, -50%);
    }
    /* ============================================================
 	section 04
	==============================================================*/
    /* ===== base ===== */
    #sec04 {
        background: #f3f5f7;
    }
    #sec04 .wrapper {
        margin: 0 auto;
        padding: 80px 3% 100px;
    }
    #sec04 .kpi__head {
        text-align: center;
        margin-bottom: 28px;
    }
    #sec04 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 3.4rem;
        letter-spacing: 0.2rem;
        color: #000000;
        position: relative;
        line-height: 1.5;
        font-feature-settings: "palt";
        text-align: center;
    }
    #sec04 h2::after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 24px auto 60px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    /* ===== grid ===== */
    #sec04 .kpi__grid {
        /* display: grid; */
        /* grid-template-columns: repeat(3, 1fr); */
        /* gap: 18px; */
    }
    #sec04 .span-2 {
        grid-column: span 2;
    }
    /* ===== card ===== */
    #sec04 .card {
        background: #fff;
        border-radius: 2px;
        overflow: hidden;
        margin: 0 0 18px;
    }
    #sec04 .card__bar {
        font-family: 'Noto Sans JP', sans-serif;
        text-align: center;
        height: 48px;
        background: #4b4f54;
        color: #fff;
        padding: 0 14px 10px 16px;
		position:relative;
    }
    #sec04 .card__label {
		margin: 0;
		font-size: 2.0rem;
		font-weight: 500;
		letter-spacing: .04em;
		text-align: center;
		padding: 11px 0px 10px;
		}
	
	#sec04 .card__icon{
        display: block;
        position:absolute;
        bottom: 0;
        right: 2%;
        width: 80px;
 }
	#sec04 .card__icon_large{
		width:100px;
	}
	#sec04 .card__label span{
        display: block;
        position:absolute;
		top:;
		right:;
	}
    #sec04 .card__body {
        padding: 16px 4% 23px;
        text-align: center;
    }
    #sec04 .span-2 .card__body {
    }
    #sec04 .card__main {
        margin: 0;
        color: #1f66b2;
        font-weight: 700;
        line-height: 1.05;
        text-align: center;
        font-size: 6rem;
        letter-spacing: 0;
        white-space: nowrap;
        font-family: "Roboto Condensed", sans-serif;
    }
    #sec04 .card__main .num {
        font-variant-numeric: tabular-nums;
    }
	#sec04 .card__main .num_mini{
		font-size: 5rem;
	}
    #sec04 .card__main .num:nth-child(3) {
        font-size: 4.8rem;
        margin: 0 0 0 -5px;
    }
    #sec04 .card__main .unit, #sec04 .card__main .slash {
        font-size: 1.6rem;
        margin: 0 0.12em;
        color: #1f66b2;
        font-weight: 500;
        font-family: 'Noto Sans JP', sans-serif;
    }
    #sec04 .card__main .text {
        font-size: 4rem;
        font-weight: 700;
        font-family: 'Noto Sans JP', sans-serif;
    }
    #sec04 .card__sub {
        margin: 0px 0 0px;
        font-size: 1.7rem;
        font-weight: 500;
        text-align: center;
        color: #1f66b2;
        font-family: 'Noto Sans JP', sans-serif;
    }
    #sec04 .card__note {
        margin: -1px 0 0;
        font-size: 1.3rem;
        font-family: 'Noto Sans JP', sans-serif;
        color: #757575;
        text-align: center;
    }
    /* ===== 年代比率 ===== */
    /* ===== 年代別構成比率（バーの上に数字＆縦線） ===== */
    #sec04 .ratio__chart {
        position: relative;
        padding-top: 76px; /* ←数字エリア分の高さ（調整OK） */
        width: 94%;
        margin: 0 auto;
    }
    #sec04 .ratio__bar {
        height: 14px;
        background: #e9eef3;
        border-radius: 2px;
        overflow: hidden;
        display: flex;
        position: relative;
    }
    #sec04 .ratio__bar .seg {
        width: var(--w);
        height: 100%;
        display: block;
    }
    /* 例：色はお好みで */
    #sec04 .ratio__bar .s1 {
        background: #b2cbde;
    }
    #sec04 .ratio__bar .s2 {
        background: #7ca6c7;
    }
    #sec04 .ratio__bar .s3 {
        background: #578db7;
    }
    #sec04 .ratio__bar .s4 {
        background: #3d7bac;
    }
    #sec04 .ratio__bar .s5 {
        background: #005292;
    }
    /* マーカー群（バーの上に重ねる） */
    #sec04 .ratio__markers {
        position: absolute;
        left: 0;
        right: 0;
        top: 5px;
        height: 56px; /* ← padding-top と合わせる */
        pointer-events: none;
    }
    /* ラベルと数値を必ず縦に積む */
    #sec04 .mk__tag, #sec04 .mk__val {
        display: block;
        white-space: nowrap;
    }
    /* マーカー内の整列を安定させる */
    #sec04 .mk {
        display: grid;
        justify-items: center;
        gap: 6px;
        min-width: 0; /* これ大事：はみ出し抑制 */
    }
    /* 端っこは内側に寄せる（はみ出し防止） */
    #sec04 .mk:first-child {
        transform: translateX(0);
        left: 6px;
        justify-items: start;
        text-align: left;
    }
    #sec04 .mk:last-child {
        transform: translateX(-96%);
        left: 104%;
        justify-items: end;
        text-align: right;
    }
    /* 縦線の位置も端っこ対応（中心→タグの位置に合わせる） */
    #sec04 .mk:first-child::after {
        left: 19px;
        transform: none;
    }
    #sec04 .mk:last-child::after {
        left: 48%;
        transform: none;
    }
    /* 1マーカー */
    #sec04 .mk {
        position: absolute;
        margin: 0 0 0 0;
        left: var(--x);
        top: 0;
        transform: translateX(-50%);
        text-align: center;
        min-width: 56px; /* つぶれ防止 */
    }
    /* 縦線（数字の下からバーへ） */
    #sec04 .mk::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 61px; /* ←線の開始位置（調整OK） */
        width: 1px;
        height: 20px; /* ←バーまで届く長さ（調整OK） */
        background: #7b8794;
        opacity: .6;
        z-index: 9999;
    }
    #sec04 .mk__tag {
        display: inline-block;
        font-size: 1.2rem;
        font-weight: 700;
        color: #1f66b2;
        border: 1px solid #1f66b2;
        background: #ffffff;
        padding: 3px 6px 0;
        line-height: 1.2;
        margin-bottom: -1px;
    }
    #sec04 .mk__val {
        display: inline-block;
        font-size: 2.4rem;
        font-weight: 800;
        color: #1f66b2;
        letter-spacing: -0.1rem;
        line-height: 1;
        font-variant-numeric: tabular-nums;
        font-family: "Roboto Condensed", sans-serif;
        font-feature-settings: "palt";
    }
    .point_span {
        font-size: 1.5rem;
    }
    #sec04 .mk__unit {
        font-size: 1.5rem;
        margin-left: 2px;
    }
	#sec04 .mk:first-child{
		margin-left: -4%;
	}
	#sec04 .mk:nth-child(3){
		margin-left: -6%;
	}
	#sec04 .mk:nth-child(4){
		margin-left: -6%;
	}
	#sec04 .mk:last-child{
		margin-left: 2%;
	}
    /* ===== 男女比 ===== */
    #sec04 .gender {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        align-items: center;
        padding: 0 10px 0;
    }
    #sec04 .gender__label {
        margin: -10px 0 0px;
        font-size: 1.8rem;
        color: #1f66b2;
        font-weight: 700;
        text-align: center;
    }
    #sec04 .gender__val {
        margin: 0;
        color: #1f66b2;
        font-weight: 800;
        line-height: 1;
        text-align: center;
        font-size: 5rem;
        letter-spacing: 0;
        white-space: nowrap;
        font-family: "Roboto Condensed", sans-serif;
        margin: 0 -5px 0 0;
    }
    #sec04 .gender__val .unit {
        font-size: .45em;
        font-weight: 500;
        font-family: 'Noto Sans JP', sans-serif;
        margin: 0 0 0 2px;
    }
    #sec04 .kpi__rows {
        display: grid;
        gap: 18px; /* 行間 */
    }
    #sec04 .kpi__row {
        display: grid;
        gap: 18px; /* カード間 */
    }
    /* 2列の行 */
    #sec04 .kpi__row--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    /* 3列の行 */
    #sec04 .kpi__row--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    /* =========================================
   #sec05 サステナビリティ
========================================= */
    #sec05 {
        padding: 120px 0;
        background: #fff;
    }
    #sec05 .wrapper {
        margin-inline: auto;
        text-align: center;
    }
    /* 見出し */
    #sec05 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 3.4rem;
        letter-spacing: 0.2rem;
        color: #000000;
        position: relative;
        line-height: 1.5;
        font-feature-settings: "palt";
        text-align: center;
    }
    #sec05 h2::after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 17px auto 30px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec05 .body_txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
        line-height: 1.8;
        font-feature-settings: 'palt';
        padding: 0 0 35px;
        color: #000;
        text-align: center;
    }
    /* 画像2カラム全体の囲み */
    #sec05 .sus_wrap {
        border: 1px solid #d9d9d9;
        background: #fff;
        padding: 42px 44px 34px;
        display: flex;
        justify-content: center;
        gap: 64px;
        align-items: flex-start;
        margin: 0 auto 34px;
    }
    /* 各ブロック */
    #sec05 .sus_wrap > div {
        width: min(420px, 100%);
        display: grid;
        gap: 10px;
        justify-items: center;
    }
    /* 画像 */
    #sec05 .sus_wrap img {
        width: 100%;
        display: block;
    }
    /* OUR POLICY / OUR ACTIONS */
    #sec05 .sus_wrap h3 {
        margin: 0;
        font-size: 22px;
        font-weight: 700;
        letter-spacing: .06em;
        color: #111;
    }
    /* 下のボタン（ul） */
    #sec05 .b_list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        justify-content: center;
    }
    #sec05 .b_list a {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-width: 230px;
        height: 48px;
        padding: 0 22px 0 0;
        background: #2f2f2f;
        color: #fff;
        border: 1px solid #2f2f2f;
        transition: opacity .2s ease;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 400;
        letter-spacing: 0.1rem;
        font-size: 1.6rem;
    }
    #sec05 .b_list a span {
        position: absolute;
        top: 41%;
        right: 25px;
        transform: translate(0, -50%);
    }
    #sec05 .b_list a::after {
        content: "";
        width: 15px;
        height: 15px;
        display: inline-block;
        position: relative;
        box-sizing: border-box;
    }

 #sec05 {
            padding: 100px 0 100px;
        }
        #sec05 .sus_wrap {
            flex-direction: column;
            gap: 51px;
            padding: 28px 22px 26px;
        }
        #sec05 .sus_wrap > div {
            width: 100%;
        }
        #sec05 .sus_wrap h3 {
            font-size: 2.6rem;
            font-weight: 600;
            font-family: "Roboto Condensed", sans-serif;
        }
        #sec05 .b_list a {
            min-width: 200px;
            height: 46px;
        }



    #sec06 .wrapper {
        margin-inline: auto;
    }
    #sec06 {
        padding: 80px 0 100px;
        background: #f3f5f7;
    }
    #sec06 h2 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 600;
        font-size: 3.4rem;
        letter-spacing: 0.2rem;
        color: #000000;
        position: relative;
        line-height: 1.5;
        font-feature-settings: "palt";
        text-align: center;
    }
    #sec06 h2::after {
        content: "";
        display: block;
        width: 102px;
        height: 3px;
        margin: 17px auto 60px;
        background: linear-gradient(90deg, #0091d2 0%, #09597d 100%);
    }
    #sec06 .base + .base {
        margin-top: 24px; /* 2つ目との間隔 */
    }
    #sec06 .base__name {
        margin: 0 0 2px;
        font-size: 2.4rem;
        font-weight: 700;
        font-family: 'Noto Sans JP', sans-serif;
        color: #1f66b2;
    }
    #sec06 .base__addr {
        margin: 0 0 14px;
        line-height: 1.7;
        color: #000000;
        font-size: 1.5rem;
        font-family: 'Noto Sans JP', sans-serif;
    }
    /* MAPボタン（a） */
    #sec06 .map-btn {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 3px 16px;
        border: 1px solid #000000;
        border-radius: 999px;
        color: #000000;
        background: #fff;
        font-size: 1.4rem;
        font-family: "Roboto", sans-serif;
        letter-spacing: .12em;
        transition: background .2s ease, border-color .2s ease;
    }
    #sec06 .map-btn__icon {
        width: 22px;
        height: 22px;
        border-radius: 999px;
        position: relative;
        flex: 0 0 22px;
        margin: -9px -8px 0 10px;
    }
    #sec06 .map-btn__icon::before {
        content: "";
        position: absolute;
        inset: 0;
        margin: auto;
        width: 8px;
        height: 8px;
        border: 2px solid #000000;
        border-radius: 50% 50% 50% 0;
        transform: rotate(-45deg);
        top: 5px;
        background: #000;
    }
    #sec06 .map-btn__icon::after {
        content: "";
        position: absolute;
        width: 4px;
        height: 4px;
        background: #ffffff;
        border-radius: 50%;
        left: 8.5px;
        top: 10.5px;
    }
    #sec06 .base__photo {
    margin: 24px 0 0;
    }
    #sec06 .base__photo img {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 2px;
    }
	
	#sec06 .base {
            /* flex-direction: column; */
            /* gap: 18px; */
            align-items: flex-start;
            margin: 0 0 38px;
        }
        #sec06 .base__info {
            flex-basis: auto;
        }
}