@charset "utf-8";
/*スクロール処理*/
.scroll-fade{opacity: 0; transition: all 2s/*処理にかかる時間*/;}
.scroll-up{opacity: 0; transform: translateY(100px)/*スクロールアップする距離*/; transition: all 2s/*処理にかかる時間*/;}
.scroll-up.done, .scroll-fade.done{opacity : 1; transform : translate(0, 0);}
.load-fade {opacity : 0; transition : all 2s/*処理にかかる時間*/;}
.load-up{opacity: 0; transform: translateY(100px)/*スクロールアップする距離*/; transition: all 2s/*処理にかかる時間*/;}
.load-up.done, .load-fade.done{opacity : 1; transform : translate(0, 0);}

.disp_pc{display:block;}
.disp_sp{display:none;}
.disp_in_pc{display:inline-block!important;}
.disp_in_sp{display:none!important;}
img{ max-width:100%;}
html {font-size: 62.5%;}
body {font-size: 1.6em;}
.none{ display:none;}
.bold{ font-weight:bold;}
img{vertical-align: bottom;}
a{text-decoration: none;
    &:hover {text-decoration: none!important;}
}
#footer a{text-decoration: underline;}
#footer a:hover{text-decoration: none;}
a:hover img{opacity: 1;}

.sus_head_inner{padding: 10px; max-width: 1400px; margin: 0 auto;}
.sus_head_flex{display: flex;}
.sus_head_flex img{height: 52px; margin-right: 5px;}

/*ハンバーガーメニュー*/
.header__nav {position: absolute; right: 0; top: 0; width: 100%; height: 100vh; transform: translateX(100%); background-color: #fff; transition: ease .4s; display: none; z-index: 6;}
.nav-items {padding-top: 100px; padding-bottom: 100px; margin: 0 auto; max-width: 660px; display: flex; flex-wrap: wrap;}
.nav-items li{width: 50%;}
.nav-items__item a {color: #000; width: 100%; display: block; text-align: left; font-size: 1.8rem; margin-bottom: 50px;}
.nav-items__item:last-child a {margin-bottom: 0;}
.header__hamburger {width: 48px;　height: 100%;}
.hamburger {background-color: transparent; border-color: transparent; z-index: 99; border: none; cursor: pointer;}
.hamburger span {width: 100%; height: 3px; background-color: #000; position: relative; transition: ease .4s; display: block;}
.hamburger span:nth-child(1) {top: 0;}
.hamburger span:nth-child(2) {margin: 8px 0;}
.hamburger span:nth-child(3) {top: 0;}
.header__nav.active {transform: translateX(0); display: block; z-index: 5;}
.hamburger.active span:nth-child(1) {top: 11px; transform: rotate(45deg);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {top: -11px; transform: rotate(-45deg);}
.hamburger.active span {background: #000;}
.hmenu {position: absolute; top: 10px; right: 10px; padding: 15px 7px; z-index: 6;}
.hmenu.active {background: #fff;}

/*top_mv*/
/*.sus_cont p{line-height: 200%;} 230919削除*/
.sus_cont .mv{background: url("/sustainability/images/mainbg.png") no-repeat scroll center bottom; background-size: cover;}
.sus_cont .mv_inner{padding: 0 10px; margin: 0 auto; max-width: 1110px;}
.sus_cont .mv_inner h1{width: 52.2%; padding: 21% 0 24% 0;}
@media screen and (max-width: 1440px) {
.sus_cont .mv_inner h1{width: 52.2%; padding: 18% 0 21% 0;}
}
/*top_mv*/
.sus_cont {font-size: 45.5%; background-color:#fff; margin-bottom:-90px;}/*250220新デザイン対応修正*/
/*.sus_cont p{line-height: 200%;} 230919削除*/
.sus_cont .mv{background: url("/sustainability/images/mainbg.png") no-repeat scroll center bottom; background-size: cover;}
.sus_cont .mv_inner{padding: 0 10px; margin: 0 auto; max-width: 1110px;}
.sus_cont .mv_inner h1{width: 52.2%; padding: 21% 0 24% 0;}
@media screen and (max-width: 1440px) {
.sus_cont .mv_inner h1{width: 52.2%; padding: 18% 0 21% 0;}
}
@media screen and (max-width:1023px){    /*240919追加*/
.sus_cont {margin-top: 65px;}
}
/*top_cont01*/
.sus_cont .top_cont01{padding: 50px 0 100px;}
.sus_cont .cont_inner{padding: 0 10px; margin: 0 auto; max-width: 1100px;}
.sus_cont .center{text-align: center;}
.sus_cont .top_cont01 h2{text-align: center; font-weight: bold; font-size: 4.0rem;}/*230919修正*/
/*.sus_cont .top_cont01 .txt01{margin-top: 60px; text-align: center; font-size: 1.8rem; line-height: 200%;}
.sus_cont .top_cont01 .subttl01{margin-top: 100px; text-align: center; font-size: 2.1rem; font-weight: bold; background: url("/sustainability/images/bg01.png") no-repeat scroll center bottom; padding-bottom: 30px;} 230919削除*/
.sus_cont .top_cont01 .txt01{margin-top: 10px; text-align: center; font-size: 1.8rem; line-height: 200%;}/*230919追加*/
.sus_cont .top_cont01 .subttl01{text-align: center; font-size: 1.6rem; font-weight: bold; background: url("/sustainability/images/bg01.png") no-repeat scroll center bottom; padding-bottom: 30px;}/*230919追加*/
.sus_cont .top_cont01 .subttl01 span{font-size: 3.6rem; color: #bd5200; font-weight: bold;}/*230919修正*/
.sus_cont .top_cont01 .subttl02{text-align: center; font-size: 1.6rem; font-weight: bold; background: url("/sustainability/images/bg02.png") no-repeat scroll center bottom; padding-bottom: 30px;}/*230919修正*/
.sus_cont .top_cont01 .subttl02 span{font-size: 3.6rem; color: #0b4281; font-weight: bold;}/*230919修正*/
/*.sus_cont .top_cont01 .flex_box{display: flex; justify-content: center; margin-top: 70px;} 230919削除*/
.sus_cont .top_cont01 .flex_box{display: flex; justify-content: center; align-items: center; margin-top: 30px;} /*230919追加*/
.sus_cont .top_cont01 .flex_box div{margin: 0 1%; width:30%;} /*230919修正*/
.sus_cont .top_cont01 .flex_box div p img {width:40%;} /*230919追加*/
.sus_cont .top_cont01 .txt02{margin-top: 30px; text-align: center; font-weight: bold; font-size: 1.6rem;}/*230919修正*/
.sus_cont .top_cont01 .txt02 span{font-size: 2rem; color: #bd5200; font-weight: bold;}/*230919修正*/
.sus_cont .top_cont01 .txt03{margin-top: 30px; text-align: center; font-weight: bold; font-size: 1.6rem;}/*230919修正*/
.sus_cont .top_cont01 .txt03 span{font-size: 2rem; color: #0b4281; font-weight: bold;}/*230919修正*/
.sus_cont .top_cont01 h4{ margin-top: 75px; text-align: center; font-size: 3.0rem; font-weight: bold;}
.sus_cont .ic { /*font-family: 'VL ゴシック','Courier New',Courier,monospace; 250220新デザイン対応修正*/ padding:0 10px;} 
.sus_cont .sus_movie{margin: 5px auto 0; max-width: 960px;}
/*top_cont02*/
.sus_cont .top_cont02{padding: 60px 0 30px; background: #fcf9e3;}
.sus_cont .top_cont02 h3{ margin-top: 50px; text-align: center; font-size: 3.2rem; font-weight: bold; position: relative;}
.sus_cont .top_cont02 h3:before {content: ''; position: absolute; left: 50%; bottom: -15px; display: inline-block; width: 60px; height: 3px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: black;}
.sus_cont .cont_inner02{margin: 0 auto; max-width: 1440px;}
.sus_cont .top_cont02 .flex_box{ margin-top: 80px; display: flex; justify-content: flex-end;}
.sus_cont .top_cont02 .flex_box div{max-width: 530px;}
.sus_cont .top_cont02 .flex_box div:last-child{max-width: 660px; margin-left: 5%;}
.sus_cont .top_cont02 .flex_box p{ font-size: 1.8rem; line-height: 200%; margin-top: 15px;}
.sus_cont .sus_btn{margin-top: 55px; padding: 18px 0; text-align: center; color: #fff; font-size: 1.8rem; font-weight: bold; position: relative; max-width: 420px; background: #000;}
.sus_cont .sus_btn:hover{background: #dddddd;}
.sus_cont .sus_btn::before{content: ""; display: block; position: absolute; top: 50%; right: 10px; width: 30px; height: 2px; background: #fff;}
.sus_cont .sus_btn::after{content: ""; display: block; position: absolute; top: 42%; right: 10px; width: 15px; height: 15px; border: 2px solid; border-color: transparent transparent #fff transparent; transform: rotate(-135deg);}
/*top_cont03*/
.sus_cont .top_cont03{padding: 50px 0 90px;}
.sus_cont .top_cont03 .bg_box{background: url("/sustainability/images/bg03.png") no-repeat scroll center center; padding: 110px 0;}
.sus_cont .top_cont03 h2{text-align: center; font-size: 3.8rem; font-weight: bold; position: relative;}
.sus_cont .top_cont03 h2:before {content: ''; position: absolute; left: 50%; bottom: -15px; display: inline-block; width: 60px; height: 3px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: black;}
.sus_cont .top_cont03 .flex_box{ margin-top: 80px; display: flex; justify-content:space-between; flex-direction: row-reverse;}
.sus_cont .top_cont03 .flex_box div{width:51%;}
.sus_cont .top_cont03 .flex_box div:last-child{width: 42.5%;}
.sus_cont .top_cont03 .flex_box h3{font-size: 2.8rem; font-weight: bold;}
.sus_cont .top_cont03 .flex_box p{font-size: 1.8rem; margin-top: 40px;}
/*top_cont04*/
.sus_cont .top_cont04{padding: 40px 0 20px; background: #eeeeee; } /*231003修正*/
.sus_cont .top_cont04 .flex_box{ display: flex; justify-content:space-between; align-items: center;}
.sus_cont .top_cont04 .flex_box div{width: 42.5%;}
.sus_cont .top_cont04 .flex_box div:last-child{width:51%;}
.sus_cont .top_cont04 .flex_box h3{font-size: 2.8rem; font-weight: bold;}
.sus_cont .top_cont04 .flex_box p{font-size: 1.8rem; margin-top: 20px;}
.sus_cont .top_cont04 .sus_btn{margin-top: 30px; display: block;}

/*共通コンテンツ*/
.sus_cont .common_cont.under{padding: 80px 0 70px; background: #eeeeee;}
.sus_cont .common_cont{margin-bottom:0;} /*230912修正*/
.sus_cont .common_cont h2{text-align: center; font-size: 3.8rem; font-weight: bold; position: relative;}
.sus_cont .common_cont h2:before {content: ''; position: absolute; left: 50%; bottom: -15px; display: inline-block; width: 60px; height: 3px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: black;}
.sus_cont .common_cont .flex_box02{ margin-top: 80px; display: flex; justify-content:sta; align-items: center; flex-wrap: wrap;}
.sus_cont .common_cont .flex_box02 a{width: 32%; margin-bottom: 20px; padding: 20px 5px; box-sizing: border-box; position: relative; align-self: stretch; margin-right: 1%;}
.sus_cont .common_cont .flex_box02 span{display: block; text-align: center; color: #fff; font-size: 1.8rem; font-weight: 500; width: 100%;}
.sus_cont .common_cont .flex_box02 .fb02{margin-top: 10px;}
.sus_cont .common_cont .flex_box02 .fb03{margin-top: 18px;}
.sus_cont .common_cont .flex_box02 a.sus_c01{background: #0075ba;}
.sus_cont .common_cont .flex_box02 a.sus_c02{background: #00973b;}
.sus_cont .common_cont .flex_box02 a.sus_c03{background: #f5a200;}
.sus_cont .common_cont .flex_box02 a.sus_c04{background: #e83819;}
.sus_cont .common_cont .flex_box02 a.sus_c05{background: #dc007a;}
.sus_cont .common_cont .flex_box02 a.sus_c06{background: #004c88;}
.sus_cont .common_cont .flex_box02 a::before{content: ""; display: block; position: absolute; top: 50%; right: 10px; width: 30px; height: 2px; background: #fff;}
.sus_cont .common_cont .flex_box02 a::after{content: ""; display: block; position: absolute; top: 47.5%; right: 11px; width: 15px; height: 15px; border: 2px solid; border-color: transparent transparent #fff transparent; transform: rotate(-135deg);}
/*パンくずリスト*/
.sus_cont .mv_flex{ display: flex; flex-wrap: wrap; flex-direction: column-reverse;} /*230912修正*/
.sus_cont .breadcrumbs{margin:10px auto 0; width: 1100px; padding: 0 10px;}
@media screen and (max-width: 1120px) {
    .sus_cont .breadcrumbs{width: 100%;}
}
.sus_cont .breadcrumbs p{font-size: 1.5rem;}
.sus_cont .breadcrumbs p a{font-size: 1.5rem; color: #000; text-decoration: underline;}

/*サステナビリティへの取組み*/
.sus_cont .mv_act{width: 100%; background: url("/sustainability/images/activity/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_act h1{ max-width: 1130px; padding: 5% 10px; margin: 0 auto; font-size: 3.8rem; font-weight: bold;}
.sus_cont .und_cont01{margin: 110px 0;}
.sus_cont .u_ttl{font-size: 2.8rem; font-weight: bold; padding-bottom: 18px; padding-left:3px; background: url("/sustainability/images/activity/subttl_bg.png") no-repeat scroll 0 bottom;}
.sus_cont .txtbox{font-size: 1.8rem; margin-top: 20px;    line-height: 200%;}
.sus_cont .txtbox.mb{margin-bottom: 90px;}
.sus_cont .txtbox.mt{margin-top: 60px;}
.sus_cont .act_flex01{display: flex; justify-content: space-between; margin: 60px auto 90px; max-width: 1000px;}
.sus_cont .act_flex01 p{text-align: center; font-size: 1.8rem; font-weight: bold;}
.sus_cont .act_flex01 div:last-child{width: 260px;}
.sus_cont .act_flex01 .ft01{margin: 70px 0 10px; position: relative; line-height:130%; padding: 0 30px; background-image: url("/sustainability/images/activity/icon01.png"), url("/sustainability/images/activity/icon02.png"); background-position: left center, right center; background-repeat: no-repeat, no-repeat;}
.sus_cont .act_flex02{display: flex; justify-content: space-between; margin: 20px 0 50px;} /*241220修正*/
.sus_cont .act_flex02 div{font-size: 1.8rem; width: 66%; line-height: 200%;}
.sus_cont .act_flex02 div:last-child{width: 29.6%; text-align: center;}
.sus_cont .act_flex02 div img:first-child{margin-bottom: 10px;}
.sus_cont .act_flex02 div span{font-size: 1.6rem;}
.sus_cont .act_table{margin-top: -30px; margin-bottom: 90px; display: flex; justify-content: center;}
.sus_cont .act_cell{width: 33.3%;}
.sus_cont .act_cell .ac01{text-align: center; font-size: 1.5rem; color: #fff; padding: 4% 0; border-right: 1px solid #babcba; background: #606661;}
.sus_cont .act_cell .ac02{padding: 3% 3%;}
.sus_cont .act_cell .ac02 p{font-size: 1.4rem;}
.sus_cont .act_cell .ac03 p{text-align: center; font-size: 1.4rem; padding: 25px 0; line-height:200%;}
.sus_cont .act_cell .ac03 p:last-child{background: #eeeeee;}
.sus_cont .act_cell .ac04 p{text-align: center; font-size: 1.4rem; padding: 11px 0; line-height: 200%;}
.sus_cont .act_cell .ac04 p:last-child{background: #eeeeee;}
.sus_cont .und_cont02{padding: 70px 0 10px; background: #fcf9e3;}
.sus_cont .u_ttl02{text-align: center; font-size: 3.6rem; font-weight: bold; margin-bottom: 50px;}
.sus_cont .caption{font-size: 1.5rem;}

/*サステナビリティ推進体制*/
.sus_cont .mv_promo{width: 100%; background: url("/sustainability/images/promotionsystem/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_promo h1{ max-width: 1130px; padding: 5% 10px; margin: 0 auto; font-size: 3.8rem; font-weight: bold;}
.sus_cont .u_ttl_promo{font-size: 2.8rem; font-weight: bold; padding-bottom: 18px; padding-left:3px; background: url("/sustainability/images/promotionsystem/subttl_bg.png") no-repeat scroll 0 bottom;}
.sus_cont .modal_btn{display: inline-block; margin: 40px 0 90px;}
.sus_cont .promo_box{margin-top: 40px;}
.sus_cont .promo_box p, .sus_cont .promo_box2 p{text-align: center; font-weight: bold; font-size: 1.8rem;}	/*221012 edit*/
.sus_cont .promo_box p:last-child, .sus_cont .promo_box2 p:last-child{margin-top: 10px;}	/*221012 edit*/
.sus_cont .promo_box2{margin-top: 40px; margin-bottom: 90px;}	/*221012 add*/
/*モーダル詳細部分*/
.remodal-close{font-size: 1.8rem; font-weight: bold; color: #fff;}
.moc_txt{padding: 40px 20px; font-size: 1.8rem; text-align: left;}
.moc_txt span{font-size: 1.5rem;}

/*ニッセイアセットの重要課題*/
.sus_cont .mv_mate{width: 100%; background: url("/sustainability/images/materiality/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_mate h1{ max-width: 1130px; padding: 5% 10px; margin: 0 auto; font-size: 3.8rem; font-weight: bold;}
.sus_cont .u_line{position: relative;}
.sus_cont .u_line:before {content: ''; position: absolute; left: 50%; bottom: -15px; display: inline-block; width: 60px; height: 3px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: black;}
.sus_cont .process_box{margin-top: 60px; margin-bottom: 90px; display: flex; justify-content: space-between;}
.sus_cont .pro_box01, .sus_cont .pro_box02{width: 34%;}
.sus_cont .pro_box03{width: 31%;}
.sus_cont .pro_step{position: relative; z-index: 1; display: flex; justify-content: space-between;}
.sus_cont .pro_step p{ font-size: 2.0rem; font-weight: 500; color: #f5a200; margin-left: 3%;}
.sus_cont .pro_step p img{vertical-align: inherit;}
.sus_cont .pro_box_inner{padding: 9% 6% 7%; box-shadow: 0px 0px 15px -5px #a8a8a8; position: relative; top: -20px; width: 95%; min-height: 315px;}
.sus_cont .pro_box03 .pro_box_inner{width: 100%;}
.sus_cont .pro_box_inner p{font-size: 2.6rem; font-weight: bold; color: #f5a200;}
.sus_cont .pro_box_inner ul{margin-top: 20px;}
.sus_cont .pro_box_inner ul li{padding-left: 15px; background: url("/sustainability/images/materiality/icon.png") no-repeat scroll left 8px; font-size: 1.8rem; line-height: 180%; margin-bottom: 10px;}
.task_box{margin-bottom: 25px; display: flex; justify-content: space-between; flex-direction: row-reverse; box-shadow: 0px 0px 15px -5px #a8a8a8;}
.sus_cont .task_box.ttop{margin-top: 80px;}
.sus_cont .task_box.tbottom{margin-bottom: 90px;}
.sus_cont .task_img{width: 33.3%}
.sus_cont .task_txt{width: 63%; padding: 3% 0;}
.sus_cont .tasktxt{position: relative; z-index: 1; ; width: 180px; font-size: 2.0rem; font-weight: bold; color: #fff; padding: 1px 0 1px 30px; left: -25px;}
.sus_cont .tasktxt::before{transform: skewX(-20deg); content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; background-color:#e5001e;}
.sus_cont .tasktxt02{position: relative; z-index: 1; font-size: 2.0rem; font-weight: bold; color: #000; padding: 1px 1em 1px 30px; left: -25px;    display: inline-block;}/*241224修正*/
.sus_cont .tasktxt02::before{transform: skewX(-20deg); content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; background-color:#cacdd1;}
.sus_cont .tasktxt span{position: absolute; font-size: 6.0rem; font-weight: bold; top: -15px; padding-left: 10px;}
.sus_cont h3.taskcol01{color: #e5001e;}
.sus_cont .taskcol01 span{color: #ff909f;}
.sus_cont h3.taskcol02{color: #ed6a02;}
.sus_cont .taskcol02 span{color: #febc87;}
.sus_cont .taskcol02::before{background: #ed6a02;}
.sus_cont h3.taskcol03{color: #970b31;}
.sus_cont .taskcol03 span{color: #e887a1;}
.sus_cont .taskcol03::before{background: #970b31;}
.sus_cont h3.taskcol04{color: #427935;}
.sus_cont .taskcol04 span{color: #a5d999;}
.sus_cont .taskcol04::before{background: #427935;}
.sus_cont h3.taskcol05{color: #c60f28;}
.sus_cont .taskcol05 span{color: #fc93a2;}
.sus_cont .taskcol05::before{background: #c60f28;}
.sus_cont h3.taskcol06{color: #dc007a;}
.sus_cont .taskcol06 span{color: #fe9ed3;}
.sus_cont .taskcol06::before{background: #dc007a;}
.sus_cont h3.taskcol07{color: #004c88;}
.sus_cont .taskcol07 span{color: #7db2dc;}
.sus_cont .taskcol07::before{background: #004c88;}
.sus_cont .task_box h3{font-size: 2.4rem; font-weight: bold; padding: 2% 0 2% 5%;}
.sus_cont .tasktxt03{font-size: 1.8rem; padding: 2% 0 2% 5%; line-height: 150%;}
.sus_cont .taskicon{padding: 0 0 0 5%;}
.sus_cont .table_box{margin-top: 50px;}
.sus_cont .table_box table{width: 100%;}
.sus_cont .table_box table th{padding: 5px; text-align: center; background: #606661; color: #fff; font-size: 1.6rem; font-weight: bold; vertical-align: middle; border-right: 1px solid #fff;}
.sus_cont .table_box table .bb{border-bottom: 1px solid #fff;}
.sus_cont .table_box table td{padding:15px 5px; text-align: center; font-size: 1.5rem; vertical-align: middle; line-height: 120%;}
.sus_cont .table_box table .line01 td{ padding:25px 5px;}
.sus_cont .table_box table .tcol01 td{ background: #eeeeee; }
.sus_cont .table_box table .scol01{color: #e5001e; font-weight: bold;}
.sus_cont .table_box table .scol02{color: #ed7c21; font-weight: bold;}
.sus_cont .table_box table .scol03{color: #ae4863; font-weight: bold;}
.sus_cont .table_box table .scol04{color: #427935; font-weight: bold;}
.sus_cont .table_box table .scol06{color: #e855a6; font-weight: bold;}
.sus_cont .table_box table .scol07{color: #004c88; font-weight: bold;}
.sus_cont .table_box table .fs{font-size: 1.3rem;}
.sus_cont .table_box p{margin-top: 10px; font-size: 1.4rem; text-indent: -3em; margin-left: 3em;}

/*対談*/
.sus_cont .mv_dialog { width: 100%; background: url("/sustainability/images/special/dialog/ttl_bg.png") no-repeat scroll center center; background-size: cover; }
.sus_cont .mv_dialog h1{ max-width: 1000px; padding: 8% 0 8% 10%; margin: 0 auto; font-size: 2.78vw; font-weight: bold; color: #fff;}
.sus_cont #index { padding: 67px 40px 100px; margin-bottom: 90px; box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2); }
.sus_cont #index h2 { display: inline-block; padding:0 0 10px 3px; font-size: 3.2rem; font-weight: 600; color: #5a6569; background: url("/sustainability/images/special/dialog/subttl_bg.png") no-repeat scroll 0 bottom; background-size: 90% auto; }
.sus_cont #index ol { margin-left: 1.5em; font-size: clamp(1.2rem, 1.4vw, 1.6rem); }
.sus_cont #index li { margin-top: 22px; font-weight: 600; line-height: 1.38; list-style: decimal; }
.sus_cont #index li a { color: #000; text-decoration: underline; }
.sus_cont .u_ttl03{text-align: left; font-size: 3.6rem; font-weight: bold; margin-bottom: 50px; text-indent: -1.1em; margin-left: 1.1em;}
.sus_cont p.dl { text-indent: -3em; margin-left: 3em; }
.sus_cont p.dl .col01{font-weight: 500; color: #d64b54;}
.sus_cont p.dl .col02{font-weight: 500; color: #559ab4;}

/*トップメッセージ*/
.sus_cont .mv_topm{width: 100%; background: url("/sustainability/images/topmessage/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_topm h1{ max-width: 1130px; padding: 5% 10px; margin: 0 auto; font-size: 3.8rem; font-weight: bold;}
.sus_cont .topm_box{text-align: center; margin-bottom: 50px;}
.sus_cont .txtbox02{font-size: 1.8rem; margin-bottom: 30px;}

/*経営基本方針*/
.sus_cont .mv_phi{width: 100%; background: url("/sustainability/images/philosophy/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_phi h1{ max-width: 1130px; padding: 5% 10px; margin: 0 auto; font-size: 3.8rem; font-weight: bold;}
.sus_cont .phibox{display: flex; max-width: 1000px; margin: 60px auto 0; align-items: center;}
.sus_cont .phibox div{width: 58%; font-size: 1.8rem; line-height: 200%;}
.sus_cont .phibox div:first-child{width: 28%; margin-right: 4%;}
.sus_cont .phibox div.phi_l{margin-left: 10%;}

/*レポート*/
.sus_cont .mv_rpts {width: 100%; background: url(/sustainability/images/reports/ttl_bg.png) no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_rpts h1 {max-width: 1130px; padding: 5% 10px; margin: 0 auto; font-size: 3.8rem; font-weight: bold;}
.sus_cont .rpts_ttl {font-size: 2.8rem; font-weight: bold; padding-bottom: 12px; padding-left: 3px; background: url(/sustainability/images/reports/subttl_bg.png) no-repeat scroll 0 bottom;}
.rpts_wrap {display: flex; flex-direction: row;}
.rpts_txt01 { padding-right: 90px; width: 770px;}
.rpts_image01 {margin-top: 30px;}
.rpts_txt01 ul { margin-top: 50px; list-style: disc; padding-left: 2rem;font-size: clamp(1.2rem, 1.4vw, 1.6rem);}
.rpts_txt01 ul.l2 {margin-top: 0;}
.rpts_txt01 ul.l2 li {text-indent: -3.5em;    padding-left: 3.5em} /*240807追加*/
.rpts_txt01 ul li a {color: inherit; text-decoration: underline; line-height: 200%;}
.rpts_txt01 ul li img {margin-bottom: 5px; margin-left: 5px;}
.rpts_txt01 ul li br{display: none;}

/*SDGsとは？*/
.sus_cont .mv_sdgs{width: 100%; background: url("/sustainability/images/sdgs/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_sdgs h1{ max-width: 1130px; padding: 5% 10px; margin: 0 auto; font-size: 3.8rem; font-weight: bold;}
.sus_cont .sdgs_line{background: url("/sustainability/images/sdgs/ttl_bg02.png") no-repeat scroll center bottom; padding-bottom: 20px;}
.sus_cont .sd_flex{display: flex; margin: 50px 0; justify-content: space-between;}
.sus_cont .sd_flex div{ width: 31.5%; box-shadow: 0px 0px 15px -5px #a8a8a8; padding: 3% 1%; box-sizing: border-box;}
.sus_cont .sd_flex p{text-align: center; line-height: 130%; font-size: 2.4rem;}
.sus_cont .sd_flex .sd_box_txt01{}
.sus_cont .sd_flex .sd_box_txt02{margin-top: 15px;}
.sus_cont .sd_flex .sd_box_txt03{margin-top: 30px;}
.sus_cont .u_line span{font-size: 2.0rem;}
.sus_cont .u_line span a{color: #333; text-decoration: underline;}
.sus_cont .u_line.lh{line-height: 100%;}
.sus_cont .sd_movie_box{margin: 50px 0 90px; box-shadow: 0px 0px 15px -5px #a8a8a8; padding: 5% 4%;}
.sus_cont .sd_movie_flex{display: flex; justify-content: space-between;}
.sus_cont .sd_movie_co{width: 48%;}
.sus_cont .sd_movie_co p{font-size: 2.2rem; text-align: center; font-weight: bold; line-height: 130%; margin-bottom: 10px;}
.sus_cont .sd_movie{position: relative; width: 100%; padding-top: 56.25%;}
.sus_cont .sd_movie iframe {position: absolute; top: 0; right: 0; width: 100%; height: 100%;}
.sus_cont .sd_movie_txt{font-size: 2.2rem; text-align: center; font-weight: bold; margin: 80px 0 30px;}
.sus_cont .sd_movie_list{display: flex; flex-wrap: wrap;}
.sus_cont .sd_movie_list li{margin-bottom: 15px; text-align: center; width: 15%; margin-right: 1.66%;}
.sus_cont .sd_movie_list li:nth-of-type(6n){margin-right: 0;}
.sus_cont .sd_q_box{margin: 50px auto 90px; display: block; max-width: 90%; box-shadow: 0px 0px 15px -5px #a8a8a8;}
.sus_cont > .top_cont04 > .cont_inner .sd_q_box{margin: 50px auto 30px; display: block; max-width: 90%; box-shadow: 0px 0px 15px -5px #a8a8a8;} /*231003追加*/
.sus_cont .sd_txt01{text-align: center; font-size: 1.8rem; margin-top: 50px;}
.sus_cont .sd_tab_box{margin-top: 20px;}
.sus_cont .tab{ display: flex; align-items: flex-end;}
.sus_cont .tab li{width: 50%; cursor: pointer; font-size: 2.0rem; font-weight: bold; text-align: center; background: #dddddd; padding: 10px 0; box-shadow: 0px -9px 19px -13px #a8a8a8;}
.sus_cont .tab li.active{background: #fff; padding: 15px 0;}
.sus_cont .list .inner .subarea.active{display: block;}
.sus_cont .list .inner .subarea{display: none; margin-top: 50px; padding-top: 50px; border-top: 1px solid #000000;}
.sus_cont .list .inner.active{display: block;}
.sus_cont .list .inner{display: none;}
.sus_cont .list{box-shadow: 0px 9px 19px -13px #a8a8a8; padding: 5% 4%;}
.sus_cont .list .tab_sub{display: flex; flex-wrap: wrap; align-items: center;}
.sus_cont .list .tab_sub li{cursor: pointer; width: 15.5%; margin-right: 1.1%; margin-bottom: 15px;}
.sus_cont .sub_flex{display: flex;}
.sus_cont .sub_flex div{width: 80%;}
.sus_cont .sub_flex div:first-child{margin-right: 3%; width:17%; }
.sus_cont .sub_flex div h3{font-size: 3.6rem; font-weight: bold;}
.sus_cont .sub_flex div p{margin-top: 10px; font-size: 2.0rem; font-weight: bold;}
.sus_cont .sd01{color: #e4011e;}
.sus_cont .sd02{color: #d6a600;}
.sus_cont .sd03{color: #1b973a;}
.sus_cont .sd04{color: #c50e28;}
.sus_cont .sd05{color: #e83418;}
.sus_cont .sd06{color: #00a6d9;}
.sus_cont .sd07{color: #fabd00;}
.sus_cont .sd08{color: #970a31;}
.sus_cont .sd09{color: #ec6a06;}
.sus_cont .sd10{color: #dc097b;}
.sus_cont .sd11{color: #f5a20b;}
.sus_cont .sd12{color: #d39206;}
.sus_cont .sd13{color: #407936;}
.sus_cont .sd14{color: #0075ba;}
.sus_cont .sd15{color: #28a838;}
.sus_cont .sd16{color: #004c88;}
.sus_cont .sd17{color: #023067;}
.sus_cont .subarea dl{margin-top: 40px;}
.sus_cont .subarea dt{font-size: 1.8rem; font-weight: bold;}
.sus_cont .subarea dd{font-size: 1.8rem; margin-bottom: 20px;}
.sus_cont .list .tab_sub li.spin{cursor: default; text-align: center;}
.sus_cont .list .tab_sub li.spin img{
  animation:3s linear infinite rotation1;
}
@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}


@media (min-width: 767px) {
    a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    }
}

@media screen and (max-width: 767px) {
.disp_pc{display:none;}
.disp_sp{display:block;}
.disp_in_pc{display:none!important;}
.disp_in_sp{display:inline-block!important;}
.none{display:block;}
.br2{display:block; text-align:center;}
.bgno{overflow: hidden}


.sus_head_inner{padding: 10px; max-width: 100%;; margin: 0 auto;}
.sus_head_flex{display: flex; align-items: center;}
.sus_head_flex img{height: auto; max-width: auto; margin-right: 5px;}
.sus_head_flex p{max-width: 57%;}
.sus_head_flex p:last-child{max-width: 13%;}

/*ハンバーガーメニュー*/
.hmenu {position: absolute; top: 10px; right: 10px; padding: 6px 3px 5px; border-radius: 20px;}
.header__hamburger {width: 30px; height: 100%;}
.nav-items {padding-top: 100px; padding-bottom: 100px; margin: 0 auto; max-width: 100%; display: block;}
.nav-items li{width: 100%;}
.nav-items__item a {color: #000; width: 100%; display: block; text-align: center; font-size: 3.46vw; margin-bottom: 30px;}
.hamburger {background-color: transparent; border-color: transparent; z-index: 99; border: none; cursor: pointer; font-size: 0.2rem;}
.hamburger span:nth-child(1) {top: 0;}
.hamburger span:nth-child(2) {margin: 4px 0;}
.hamburger span:nth-child(3) {top: 0;}
.header__nav.active {transform: translateX(0); display: block;}
.hamburger.active span:nth-child(1) {top: 8px; transform: rotate(45deg);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {top: -6px; transform: rotate(-45deg);}

/*top_mv*/
.sus_cont .mv{background: none;}
.sus_cont .mv_inner{padding: 0; margin: 0 auto; max-width: 100%;}
.sus_cont .mv_inner h1{width: 100%; padding: 0;}
.sus_cont .mv_inner h1 img{width: 100%; margin-top:30px; }

/*top_cont01*/
.sus_cont .top_cont01{padding: 40px 0 60px;}
.sus_cont .cont_inner{padding: 0; margin: 0 auto; max-width: 92%;}
.sus_cont .center{text-align: center;}
.sus_cont .spwid{width:31.2%;}
.sus_cont .top_cont01 h2{text-align: center; font-weight: bold; font-size: 5.0vw; margin-top: 10%;}
.sus_cont .top_cont01 .txt01{margin-top: 30px; text-align: center; font-size: 3.46vw; line-height: 200%;}
.sus_cont .top_cont01 .subttl01{margin-top: 60px; font-size: 4.0vw;}
.sus_cont .top_cont01 .subttl01 span{font-size: 8.5vw;}
.sus_cont .top_cont01 .subttl02{margin-top: 60px; font-size: 4.0vw;}
.sus_cont .top_cont01 .subttl02 span{font-size: 8.5vw;}
.sus_cont .top_cont01 .flex_box{display: flex; justify-content: center; flex-wrap: wrap; margin-top: 10px;}
.sus_cont .top_cont01 .flex_box div{margin: 30px 1% 0; width:48%;}
.sus_cont .top_cont01 .flex_box div.title {width:100%} /*230919追加*/
.sus_cont .top_cont01 .flex_box .center{margin: 0 18%;}
.sus_cont .top_cont01 .txt02{margin-top: 10px; font-size: 3.2vw;}
.sus_cont .top_cont01 .txt02 span{font-size: 4.0vw;}
.sus_cont .top_cont01 .txt03{margin-top: 10px; font-size: 3.2vw;}
.sus_cont .top_cont01 .txt03 span{font-size: 4.0vw;}
.sus_cont .top_cont01 h4{ margin-top: 60px; text-align: center; font-size: 5.5vw; font-weight: bold;}
.sus_cont .sus_movie{margin: 5px auto 0; max-width: 100%;}
/*top_cont02*/
.sus_cont .top_cont02{padding: 50px 0 30px;}
.sus_cont .top_cont02 h2{width: 70%; margin: 0 auto;}
.sus_cont .top_cont02 h3{ margin-top: 20px; font-size: 6.5vw;}
.sus_cont .cont_inner02{margin: 0 auto; max-width: 92%;}
.sus_cont .top_cont02 .flex_box{ margin-top: 50px; display: block;}
.sus_cont .top_cont02 .flex_box div{max-width: 100%;}
.sus_cont .top_cont02 .flex_box div:last-child{max-width: 100%; margin-left: 0; margin-top: 20px;}
.sus_cont .top_cont02 .flex_box p{ font-size: 3.46vw; margin-top: 15px;}
.sus_cont .sus_btn{margin-top: 30px; max-width: 100%; font-size: 3.46vw;}
.sus_cont .sus_btn::after{top: 40%;}

/*top_cont03*/
.sus_cont .top_cont03{padding: 0 0 50px; overflow: hidden;}
.sus_cont .top_cont03 .bg_box{background: url("/sustainability/images/sp/bg03.png") no-repeat scroll center center; padding: 50px 0; background-size: 100%;}
.sus_cont .top_cont03 h2{font-size: 6.5vw;}
.sus_cont .top_cont03 .flex_box{ margin-top: 40px; display: block;}
.sus_cont .top_cont03 .flex_box div{width: 100%;}
.sus_cont .top_cont03 .flex_box div:last-child{width:100%; margin-top: 10px;}
.sus_cont .top_cont03 .flex_box div:last-child img{position: relative; right: -5%;}
.sus_cont .top_cont03 .flex_box h3{font-size: 4.8vw;}
.sus_cont .top_cont03 .flex_box p{font-size: 3.46vw; margin-top: 20px;}
.sus_cont .top_cont03 .sus_box{margin-top: 30px;}
.sus_cont .top_cont03 .flex_box02{ margin-top: 60px; display: flex; justify-content:space-between; align-items: center; flex-wrap: wrap;}
.sus_cont .top_cont03 .flex_box02 a{width: 48%; margin-bottom: 20px; padding: 15px 5px;}
.sus_cont .top_cont03 .flex_box02 span{font-size: 3.46vw;}
.sus_cont .top_cont03 .flex_box02 span.fb01{width: 70%; margin: 0 auto;}
.sus_cont .top_cont03 .flex_box02 a::before{content: ""; display: block; position: absolute; top: 50%; right: 6px; width: 20px; height: 2px; background: #fff;}
.sus_cont .top_cont03 .flex_box02 a::after{content: ""; display: block; position: absolute; top: 46.5%; right: 8px; width: 15px; height: 15px; border: 2px solid; border-color: transparent transparent #fff transparent; transform: rotate(-135deg);}
/*top_cont04*/
.sus_cont .top_cont04{padding: 50px 0 50px; margin-bottom: 60px;}
.sus_cont .top_cont04 .flex_box{ display: block;}
.sus_cont .top_cont04 .flex_box div{width: 100%;}
.sus_cont .top_cont04 .flex_box div:last-child{width:100%;}
.sus_cont .top_cont04 .flex_box h3{font-size: 6.5vw; font-weight: bold; margin-bottom: 30px;}
.sus_cont .top_cont04 .flex_box p{font-size: 3.46vw; margin-top: 20px;}
.sus_cont .top_cont04 .sus_btn{margin-top: 20px;}

/*共通コンテンツ*/
.sus_cont .common_cont.under{padding: 50px 0 50px; background: #eeeeee;}
.sus_cont .common_cont{margin-bottom:60px;}
.sus_cont .common_cont h2{font-size: 6.5vw;}
.sus_cont .common_cont .sus_box{margin-top: 0;}
.sus_cont .common_cont .flex_box02{ margin-top: 60px; display: flex; justify-content:space-between; align-items: center; flex-wrap: wrap;}
.sus_cont .common_cont .flex_box02 a{width: 48%; margin-bottom: 20px; padding: 15px 5px;}
.sus_cont .common_cont .flex_box02 span{font-size: 3.46vw;}
.sus_cont .common_cont .flex_box02 span.fb01{width: 70%; margin: 0 auto;}
.sus_cont .common_cont .flex_box02 a::before{content: ""; display: block; position: absolute; top: 50%; right: 6px; width: 20px; height: 2px; background: #fff;}
.sus_cont .common_cont .flex_box02 a::after{content: ""; display: block; position: absolute; top: 46.5%; right: 8px; width: 15px; height: 15px; border: 2px solid; border-color: transparent transparent #fff transparent; transform: rotate(-135deg);}
/*パンくずリスト,下層メインビジュアル*/
.sus_cont .mv_flex{ display: block; margin-top: 5px;}
.sus_cont .breadcrumbs{margin:0px auto 0; width: 100%; padding: 5px 5%; background: #eeeeee;}
.sus_cont .breadcrumbs p{font-size: 1.2rem;}
.sus_cont .breadcrumbs p a{font-size: 1.2rem; color: #000; text-decoration: underline;}

/*サステナビリティへの取組み*/
.sus_cont .mv_act{width: 100%; background: url("/sustainability/images/sp/activity/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_act h1{ max-width: 100%; padding: 20% 5%; margin: 0 auto; font-size: 6.5vw; font-weight: bold;}
.sus_cont .und_cont01{margin: 50px 0;}
.sus_cont .u_ttl{font-size: 4.8vw; font-weight: bold; padding-bottom: 15px; padding-left:8px; background: url("/sustainability/images/activity/subttl_bg.png") no-repeat scroll 0 bottom; background-size: 50px auto;}
.sus_cont .txtbox{font-size: 3.46vw; margin-top: 15px;}
.sus_cont .txtbox.mb{margin-bottom: 50px;}
.sus_cont figure.txtbox.mb{margin-left: auto; margin-right: auto;}
.sus_cont .act_flex01{display: block; margin: 30px auto 50px; max-width: 100%;}
.sus_cont .act_flex02{display: block; margin: 15px 0 50px;}
.sus_cont .act_flex02 div{font-size: 3.46vw; width: 100%; line-height: 200%;}
.sus_cont .act_flex02 div:last-child{width: 100%; display: flex; justify-content: space-between; margin-top: 20px;}
.sus_cont .act_flex02 div.spc{justify-content:center;}
.sus_cont .act_flex02 div img:first-child{margin-bottom: 0;}
.sus_cont .act_flex02 div img{display: block; width: 48%;}
.sus_cont .act_flex02 div span{font-size: 3.2vw;}
.sus_cont .act_table{margin-top: -30px; margin-bottom: 50px; display: block;}
.sus_cont .act_cell{width: 100%; display: flex;}
.sus_cont .act_cell .ac01{font-size: 3.2vw; color: #fff; padding: 4% 2%; border-bottom: 1px solid #babcba; border-right: 0; background: #606661; writing-mode: vertical-rl;}
.sus_cont .act_cell .ac02{padding: 3% 2%;}
.sus_cont .act_cell .ac02 p{font-size: 3vw;}
.sus_cont .act_cell .ac03{display: flex; width: 100%;}
.sus_cont .act_cell .ac03 p{text-align: center; font-size: 3vw; padding: 25px 0; width: 50%; letter-spacing: -0.5px;}
.sus_cont .act_cell .ac03 p:last-child{background: #eeeeee;}
.sus_cont .act_cell .ac04{display: flex; width: 100%;}
.sus_cont .act_cell .ac04 p{text-align: center; font-size: 3vw; padding: 11px 0; line-height: 200%; width: 50%;}
.sus_cont .act_cell .ac04 p:last-child{background: #eeeeee;}
.sus_cont .und_cont02{padding: 50px 0 10px; background: #fcf9e3;}
.sus_cont .u_ttl02{text-align: center; font-size: 6.5vw; font-weight: bold; margin-bottom: 30px;}
.sus_cont .caption{font-size: 3.2vw; text-align: left;}
.sus_cont .act_flex02 div.spc02{display: block;}
.sus_cont .act_flex02 div.spc02 img{width: 100%;}

/*サステナビリティ推進体制*/
.sus_cont .mv_promo{width: 100%; background: url("/sustainability/images/sp/promotionsystem/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_promo h1{ max-width: 100%; padding: 20% 5%; margin: 0 auto; font-size: 6.5vw; font-weight: bold;}
.sus_cont .u_ttl_promo{font-size: 4.8vw; font-weight: bold; padding-bottom: 15px; padding-left:8px; background: url("/sustainability/images/promotionsystem/subttl_bg.png") no-repeat scroll 0 bottom; background-size: 50px auto;}
.sus_cont .modal_btn{display: inline-block; margin: 20px 0 50px;}
.sus_cont .promo_box{margin-top: 20px;}
.sus_cont .promo_box p, .sus_cont .promo_box2 p{text-align: center; font-weight: bold; font-size: 3.46vw;}	/*221012 edit*/
.sus_cont .promo_box p:last-child, .sus_cont .promo_box2 p:last-child{margin-top: 10px;}	/*221012 edit*/
.sus_cont .promo_box2{margin-top: 20px; margin-bottom: 50px;}	/*221012 add*/
/*モーダル詳細部分*/
.remodal-close{font-size: 3.46vw; font-weight: bold; color: #fff;}
.moc_txt{padding: 30px 5%; font-size: 3.46vw; text-align: left;}
.moc_txt span{font-size: 3.2vw;}

/*ニッセイアセットの重要課題*/
.sus_cont .mv_mate{width: 100%; background: url("/sustainability/images/sp/materiality/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_mate h1{ max-width: 100%; padding: 20% 5%; margin: 0 auto; font-size: 6.5vw; font-weight: bold;}
.sus_cont .process_box{margin-top: 40px; margin-bottom: 50px; display: block;}
.sus_cont .pro_box01{width: 100%; background: url("/sustainability/images/sp/materiality/step01.png") no-repeat scroll left bottom; background-size: 3%; padding: 0 2%}
.sus_cont .pro_box02{width: 100%; background: url("/sustainability/images/sp/materiality/step03.png") no-repeat scroll left bottom; background-size: 3%; padding: 0 2%}
.sus_cont .pro_box03{width: 100%; background: url("/sustainability/images/sp/materiality/step02.png") no-repeat scroll left 70%; background-size: 3%; padding: 0 2%}
.sus_cont .pro_step{position: relative; z-index: 1; display: block; }
.sus_cont .pro_step p{ font-size: 3.7vw; margin-left: -3%;}
.sus_cont .pro_step p img{vertical-align: inherit;}
.sus_cont .pro_box_inner{padding: 5% 3% 5% 4%; box-shadow: 0px 0px 15px -5px #a8a8a8; position: relative; top: -20px; width: 100%; min-height: auto;}
.sus_cont .pro_box03 .pro_box_inner{width: 100%;}
.sus_cont .pro_box_inner p{font-size: 4.8vw; font-weight: bold; color: #f5a200;}
.sus_cont .pro_box_inner ul{margin-top: 20px;}
.sus_cont .pro_box_inner ul li{padding-left: 15px; background: url("/sustainability/images/materiality/icon.png") no-repeat scroll left 4px; font-size: 3.46vw; line-height: 180%; margin-bottom: 10px; background-size: 10px;}
.task_box{margin-bottom: 25px; display: block; box-shadow: 0px 0px 15px -5px #a8a8a8;}
.sus_cont .task_box.ttop{margin-top: 50px;}
.sus_cont .task_box.tbottom{margin-bottom: 50px;}
.sus_cont .task_img{width:100%}
.sus_cont .task_txt{width: 100%; padding: 5% 0 3%;}
.sus_cont .tasktxt{position: relative; z-index: 1; ; width: 35%; font-size: 3.73vw; font-weight: bold; color: #fff; padding: 0px 0 0px 5%; left: -2%;}
.sus_cont .tasktxt::before{transform: skewX(-15deg); content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; background-color:#e5001e;}
.sus_cont .tasktxt02{position: relative; z-index: 1; font-size: 3.73vw; font-weight: bold; color: #000; padding: 0px 1em 0px 5%; left: -2%;}/*241224修正*/
.sus_cont .tasktxt02::before{transform: skewX(-15deg); content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; background-color:#cacdd1;}
.sus_cont .tasktxt span{position: absolute; font-size: 9.2vw; font-weight: bold; top: -8px; padding-left: 10px;}
.sus_cont h3.taskcol01{color: #e5001e;}
.sus_cont .taskcol01 span{color: #ff909f;}
.sus_cont h3.taskcol02{color: #ed6a02;}
.sus_cont .taskcol02 span{color: #febc87;}
.sus_cont .taskcol02::before{background: #ed6a02;}
.sus_cont h3.taskcol03{color: #970b31;}
.sus_cont .taskcol03 span{color: #e887a1;}
.sus_cont .taskcol03::before{background: #970b31;}
.sus_cont h3.taskcol04{color: #427935;}
.sus_cont .taskcol04 span{color: #a5d999;}
.sus_cont .taskcol04::before{background: #427935;}
.sus_cont h3.taskcol05{color: #c60f28;}
.sus_cont .taskcol05 span{color: #fc93a2;}
.sus_cont .taskcol05::before{background: #c60f28;}
.sus_cont h3.taskcol06{color: #dc007a;}
.sus_cont .taskcol06 span{color: #fe9ed3;}
.sus_cont .taskcol06::before{background: #dc007a;}
.sus_cont h3.taskcol07{color: #004c88;}
.sus_cont .taskcol07 span{color: #7db2dc;}
.sus_cont .taskcol07::before{background: #004c88;}
.sus_cont .task_box h3{font-size: 4.3vw; font-weight: bold; padding: 3% 5% 3% 5%;}
.sus_cont .tasktxt03{font-size: 3.46vw; padding: 3% 5% 3% 5%; line-height: 150%;}
.sus_cont .taskicon{padding: 0 5% 0 5%;}
.sus_cont .table_box{margin-top: 50px;}
.sus_cont .table_box table{width: 100%;}
.sus_cont .table_box table th{padding: 5px 1px; text-align: center; background: #606661; color: #fff; font-size: 2.8vw; font-weight: bold; vertical-align: middle; border-right: 1px solid #fff;}
.sus_cont .table_box table .bb{border-bottom: 1px solid #fff;}
.sus_cont .table_box table td{padding:15px 1px; text-align: center; font-size: 2.8vw; vertical-align: middle; line-height: 120%;}
.sus_cont .table_box table .line01 td{ padding:25px 1px;}
.sus_cont .table_box table .tcol01 td{ background: #eeeeee; }
.sus_cont .table_box table .scol01{color: #e5001e; font-weight: bold;}
.sus_cont .table_box table .scol02{color: #ed7c21; font-weight: bold;}
.sus_cont .table_box table .scol03{color: #ae4863; font-weight: bold;}
.sus_cont .table_box table .scol04{color: #427935; font-weight: bold;}
.sus_cont .table_box table .scol06{color: #e855a6; font-weight: bold;}
.sus_cont .table_box table .scol07{color: #004c88; font-weight: bold;}
.sus_cont .table_box table .fs{font-size: 2.4vw;}
.sus_cont .table_box p{margin-top: 10px; font-size: 2.4vw; text-indent: -3em; margin-left: 3em;}

/*対談*/
.sus_cont .mv_dialog { display: flex; flex-flow: column; justify-content: center; height: 54.67vw; background: url("/sustainability/images/special/dialog/ttl_bg_sp.png") no-repeat scroll center center; background-size: contain; }
.sus_cont .mv_dialog h1{ max-width: 100%; padding: 0; margin: 0; font-size: 6.5vw; font-weight: bold; color: #fff; text-align: center;}
.sus_cont #index { padding: 8.8vw 5.33vw 13.2vw; margin-bottom: 12vw; box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2); }
.sus_cont .u_ttl03{ text-align: left; font-size: 4.8vw; font-weight: bold; margin-bottom: 6.8vw; text-indent: -1.1em; margin-left: 1.1em;}
.sus_cont figure { margin-right: -4%; }

/*トップメッセージ*/
.sus_cont .mv_topm{width: 100%; background: url("/sustainability/images/sp/topmessage/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_topm h1{ max-width: 100%; padding: 20% 5%; margin: 0 auto; font-size: 6.5vw; font-weight: bold;}
.sus_cont .topm_box{text-align: center; margin-bottom: 50px;}
.sus_cont .txtbox02{font-size: 3.46vw; margin-bottom: 30px;}

/*経営基本方針*/
.sus_cont .mv_phi{width: 100%; background: url("/sustainability/images/sp/philosophy/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_phi h1{ max-width: 100%; padding: 20% 4%; margin: 0 auto; font-size: 6.5vw; font-weight: bold;}
.sus_cont .phibox{display: block; max-width: 100%; margin: 60px auto 0; align-items: center;}
.sus_cont .phibox div{width: 100%; font-size: 3.46vw; line-height: 200%; margin-top: 15px;}
.sus_cont .phibox div:first-child{width: 100%; margin-right: 0; margin-top: 0;}
.sus_cont .phibox div.phi_l{margin-left: 0;}

/*レポート*/
.sus_cont .mv_rpts {background: url("/sustainability/images/sp/reports/ttl_bg.png") no-repeat scroll center center;}
.sus_cont .mv_rpts h1 {max-width: 100%; padding: 20% 5%; margin: 0 auto; font-size: 6.5vw; font-weight: bold;}
.sus_cont .rpts_ttl {font-size: 4.8vw; font-weight: bold; padding-bottom: 5px; padding-left: 8px; background: url(/sustainability/images/reports/subttl_bg.png) no-repeat scroll left 0 top 18px; background-size: 50px auto;}
.sus_cont .rpts_ttl img {margin-bottom: 4px;}
.sus_cont .und_cont01 {margin: 50px 0;}
.rpts_wrap {display: flex; flex-direction: column;}
.rpts_txt01 {padding-right: 0; width: auto;}
.rpts_image01 { width: 240px; margin: 30px auto;}
.sus_cont .txtbox {font-size: 3.46vw; margin-top: 15px;}
.rpts_txt01 ul {margin-top: 30px;}	
.rpts_txt01 ul li{font-size: 3.46vw;}
.rpts_txt01 ul li br{display: inline;}

/*SDGsとは？*/
.sus_cont .mv_sdgs{width: 100%; background: url("/sustainability/images/sp/sdgs/ttl_bg.png") no-repeat scroll center center; background-size: cover;}
.sus_cont .mv_sdgs h1{ max-width: 100%; padding: 20% 4%; margin: 0 auto; font-size: 6.5vw; font-weight: bold; text-align: center;}
.sus_cont .sdgs_line{font-size: 6.3vw; letter-spacing: -0.1px; padding-bottom: 20px; background-size: 120px;}
.sus_cont .sd_flex{display: block; margin: 30px auto; width: 90%;}
.sus_cont .sd_flex div{ width: 100%; box-shadow: 0px 0px 15px -5px #a8a8a8; padding: 5% 3%; box-sizing: border-box; margin-bottom: 15px;}
.sus_cont .sd_flex p{text-align: center; line-height: 130%; font-size: 4.8vw;}
.sus_cont .sd_flex .sd_box_txt02{margin-top: 15px;}
.sus_cont .sd_flex .sd_box_txt03{margin-top: 30px;}
.sus_cont .u_line span{font-size: 3.2vw;}
.sus_cont .u_line.lh{line-height: 100%;}
.sus_cont .sd_movie_box{margin: 50px 0 60px; box-shadow: 0px 0px 15px -5px #a8a8a8; padding: 5% 4%;}
.sus_cont .sd_movie_flex{display: block;}
.sus_cont .sd_movie_co{width: 100%;}
.sus_cont .sd_movie_co:first-child{margin-bottom: 30px;}
.sus_cont .sd_movie_co p{font-size: 3.46vw; text-align: center; font-weight: bold; line-height: 130%; margin-bottom: 10px;}
.sus_cont .sd_movie{position: relative; width: 100%; padding-top: 56.25%;}
.sus_cont .sd_movie iframe {position: absolute; top: 0; right: 0; width: 100%; height: 100%;}
.sus_cont .sd_movie_txt{font-size: 3.46vw; text-align: center; font-weight: bold; margin: 40px 0 20px;}
.sus_cont .sd_movie_list{display: flex; flex-wrap: wrap;}
.sus_cont .sd_movie_list li{margin-bottom: 15px; text-align: center; width: 32%; margin-right: 1.66%;}
.sus_cont .sd_movie_list li:nth-of-type(3n){margin-right: 0;}
.sus_cont .sd_q_box{margin: 50px auto 50px; display: block; max-width: 100%; box-shadow: 0px 0px 15px -5px #a8a8a8;}
.sus_cont .sd_txt01{text-align: center; font-size: 3.46vw; margin-top: 50px;}
.sus_cont .sd_tab_box{margin-top: 20px;}
.sus_cont .tab{ display: flex; align-items: flex-end;}
.sus_cont .tab li{width: 50%; cursor: pointer; font-size: 3.73vw; font-weight: bold; text-align: center; background: #dddddd; padding: 10px 0; box-shadow: 0px -9px 19px -13px #a8a8a8;}
.sus_cont .tab li.active{background: #fff; padding: 15px 0;}
.sus_cont .list .inner .subarea.active{display: block;}
.sus_cont .list .inner .subarea{display: none; margin-top: 30px; padding-top: 30px; border-top: 1px solid #000000;}
.sus_cont .list .inner.active{display: block;}
.sus_cont .list .inner{display: none;}
.sus_cont .list{box-shadow: 0px 9px 19px -13px #a8a8a8; padding: 5% 4%;}
.sus_cont .list .tab_sub{display: flex; flex-wrap: wrap; align-items: center;}
.sus_cont .list .tab_sub li{cursor: pointer; width: 32%; margin-right: 1.66%; margin-bottom: 1.66%;}
.sus_cont .list .tab_sub li:nth-of-type(3n){margin-right: 0;}
.sus_cont .sub_flex{display: flex;}
.sus_cont .sub_flex div{width: 70%;}
.sus_cont .sub_flex div:first-child{margin-right: 3%; width:27%; }
.sus_cont .sub_flex div h3{font-size: 4.7vw; font-weight: bold;}
.sus_cont .sub_flex div p{margin-top: 5px; font-size: 3.73vw; font-weight: bold; line-height: 130%;}
.sus_cont .list .tab_sub li.spin img{max-width: 65%;}
.sus_cont .subarea dl{margin-top: 30px;}
.sus_cont .subarea dt{font-size: 3.46vw; font-weight: bold;}
.sus_cont .subarea dd{font-size: 3.46vw; margin-bottom: 15px;}
.sus_cont .list .tab_sub li.spin{cursor: default; text-align: center;}


.spwid100{width: 100%!important;}
/*#footer #footUtilityBlock .utilityList02 li a {font-size: 1.0rem;}*/


}

#page {
    overflow: visible!important;
}
#pageTopBtn {
	display:block !important;
}

/*--2022.09.29追加--*/
.sus_cont .act_flex03{display: flex; justify-content: space-between; margin: 60px auto 90px; max-width: 1000px;}
.sus_cont .act_flex03 div { text-align: center;    margin: 0 5px;}/*231122修正*/
.sus_cont .act_flex03 p{ margin-top: 10px; text-align: center; font-size: 1.8rem; font-weight: bold; line-height: 1.5;}
.sus_cont .act_flex03 p img { vertical-align: middle; }

@media screen and (max-width: 767px) {
   .sus_cont .act_flex03 {display: block; margin: 0 auto 50px; max-width: 100%;} 
   .sus_cont .act_flex03 div { margin-top: 30px; }
   .sus_cont .act_flex03 p { font-size: 3.46vw; }
}
/*--2022.09.29追加--*/

/*--2022.10.02追加--*/
.sus_cont ul.list01 {margin-top: 20px; list-style: disc; padding-left: 2rem; font-size: clamp(1.2rem, 1.4vw, 1.6rem);}
.sus_cont mb20 { margin-bottom:20px; }
.sus_cont mb30 { margin-bottom:30px;}
.sus_cont mb40 { margin-bottom:40px; }
.sus_cont mb50 { margin-bottom:50px; }
@media screen and (max-width: 767px) {
   .sus_cont ul.list01 { font-size: 3.46vw;} 
}
/*--2022.10.02ここまで--*/

/*--2023.05.11追加--*/
.act_menu {display: flex;	justify-content: center;	align-items: stretch;	margin: 0 auto 6vh;}
.act_menu > li {width: 25%;	margin: 0;	text-align: center;    font-size: 2.1rem;    line-height: 1.2;}/*231116修正*/
.act_menu > li a {display: flex;    justify-content: center;    align-items: center;    color: #e83819;    position: relative;    height: 100%;}
.act_menu > li a:hover {background: #FFEEEF;}
.act_menu > li a::before {content: "";	display: block;	position: absolute;	top: 50%;	right: 10px;	width: 30px;	height: 2px;	background: #fd8282;}
.act_menu > li a::after {content: "";	display: block;	position: absolute;	top: 43%;	right: 11px;	width: 15px;	height: 15px;	border: 2px solid;	border-color: transparent transparent #fd8282 transparent;	transform: rotate(-135deg);}
.act_menu > li.current {background: #fd8282;	color: #FFF;	border: 3px solid #fd8282;    display: flex;    align-items: center;}/*231116修正*/
.act_menu > li.link {background: #FFF;	color: #e83819;	border: 3px solid #fd8282;}
.act_menu > li span {display: block;	padding: 1em;	font-weight: bold;    width: 100%;}/*231116修正*/
.act_menu > li:first-child, .act_menu > li:nth-child(2), .act_menu > li:nth-child(3) {border-right: none;}/*231116追加*/
.sus_cont .und_cont01.type_menu {margin: 0;	padding: 30px 0;	background: #EEE;}
.sus_cont .und_cont01.type_menu .act_menu {margin-bottom: -50px;}
.sus_cont ul.list02 {list-style: none;	margin-top: 20px;}
.sus_cont ul.list02 > li {text-indent: -1em;	margin-left: 1em;  line-height: 1.4;}/*241226修正*/
.sus_cont ul.list02 > li::before {content: "※";}
.sus_cont ul.list02.mb {margin-bottom: 90px;}
.sus_cont .act_box {background: #FFF;	margin: 20px 0;	padding: 1em 0;	box-shadow: 0px 0px 15px -5px #a8a8a8;}
.sus_cont .act_box.mb {margin-bottom: 40px;} /*241220修正*/
.sus_cont .act_box .act_box_head {font-size: 2.2rem;    font-weight: bold;    padding: 2% 0 0 5%;    color: #FF8F8F;}
.sus_cont .act_box .list01 {padding: 1.5em 5% 1.5em 3.5em;    margin-top: 0;    line-height: 2.0;}
.u_ttl_sub {font-size: 2.4rem;	font-weight: bold;	color: #444;	margin-top: 30px;}
.act_flex04 {display: flex;	justify-content: center;	padding: 0 15px;	margin: 30px 0 20px;}
.act_flex04 > figure {margin: 0 20px;	text-align: center;}
.act_flex04_caption {font-size: 1.6rem;	text-align: center;	margin-bottom: 30px;}
.act_flex05 {display: flex;    align-items: flex-start;    justify-content: space-around;    padding: 2% 5% 2% 5%;}
.act_flex05 > .spc {width: 230px;}
.act_flex05 > .tasktxt03 {padding: 0 0 5% 0;    line-height: 1.8;}
.act_flex05 > *:first-child.spc {margin-right: 3vw;}
.act_flex05 > .tasktxt03+.spc {margin-left: 3vw;}
.act_flex05.mb {margin-bottom: 50px;}
.underline {text-decoration: underline 2px #FD8282;}
@media only screen and (max-width:1024px){
.act_menu > li {font-size: 1.7rem;}
.act_menu > li a::before {width: 20px;}
.act_menu > li a::after {width: 10px;	height: 10px;}
}
@media only screen and (max-width:767px){
.sus_cont .act_flex02 div img {width: auto !important;    text-align: center;}
.sus_cont .act_flex02 div.spc02 img {margin: 0 auto 30px;}
.sus_cont ul.list02 > li {font-size: 3vw;}
.act_flex04 {flex-direction: column;	padding: 0;}
.act_flex04 > figure {margin: 0 0 30px;	width: auto;}
.act_flex04 > figure:last-child {margin-bottom: 0;}
.sus_cont .act_box .act_box_head {font-size: 4.3vw;    padding: 3% 5% 0 5%;}
.act_flex05 {display: block;}
.act_flex05 .spc {float: left;}
.act_flex05 .spc.disp_in_sp {float: right;    margin-left: 3vw;    margin-right: 0;}
.u_ttl_sub {font-size: 4.2vw;}
.act_menu {flex-direction: column;}/*231116移動*/
.act_menu > li {width: 100%;	font-size: 3.6vw;	margin-bottom: 2px;    border-right: 3px solid #fd8282!important;}/*231116移動*/
.act_menu > li::after {top: 45%;}/*231116移動*/
}
@media only screen and (max-width:640px){
.u_ttl_sub {font-size: 4.0vw;}
.sus_cont .act_box.mb {margin-bottom: 3.5em;}
.act_flex04_caption {font-size: 3.0vw;margin-bottom: 20px;	}
.act_flex05 > .spc {width: 45%;}
.act_flex05.mb {margin-bottom: 1.5em;}
.sus_cont ul.list02.mb {margin-bottom: 3em;}
.sus_cont .txtbox.mb {margin-bottom: 3em;}
}
/*--2023.05.11ここまで--*/
/*--2023.05.17,2023.10.3追加--*/
.sdgs_menu {display: flex;    justify-content: center; align-items: stretch;    margin: 0 auto 4em;}
.sdgs_menu > li {width: 33%;    margin: 0;    text-align: center;    font-size: 2.2rem;}
.sdgs_menu > li a {display: block;    height: 100%;    position: relative;    background: #51C4E4;    color: #FFF;    border: 3px solid #51C4E4;    transition: all .4s;}
.sdgs_menu > li a:hover {background: #AADDEB;}
.sdgs_menu > li span {display: block;	padding: 1em 0.5em;	font-weight: bold;}
.sdgs_menu > li:first-child a {background: #de9dba; border: 3px solid #de9dba;}/*231003修正*/
.sdgs_menu > li:first-child a:hover {background: #e3bece;}/*231003修正*/
.sdgs_menu > li:nth-child(2n) a {background: #909CFF;    border: 3px solid #909CFF;} /*231003追加*/
.sdgs_menu > li:nth-child(2n) a:hover {background: #CCD2FF;} /*231003追加*/
.sdgs_menu > li:last-child a {background: #75D7AD;    border: 3px solid #75D7AD;}
.sdgs_menu > li:last-child a:hover {background: #BAEADE;}
.sdgs_menu > li a::after {content: "";    display: block;    position: absolute;    bottom: 8px;    left: 50%;    width: 12px;    height: 12px;    border: 2px solid;    border-color: transparent #FFF #FFF transparent;    transform: rotate(45deg);}
@media only screen and (max-width:640px){
.sdgs_menu {flex-direction: column;}
.sdgs_menu > li {width: 100%;    font-size: 4vw;}
.sdgs_menu > li a::after {width: 2vw;    height: 2vw;}
}
/*--2023.05.17ここまで--*/
/*--2023.06.07追加--*/
.boldTextP {font-weight: bold !important;    color: #FD8282;}
.promo_box .balloonList {display: flex;    align-items: stretch;    justify-content: space-between;    margin: 30px 0 90px;}
.promo_box .balloonList > li {/*display: flex;flex利用禁止（2024.2.5ルビフル対応）*/ justify-content: center; position: relative; max-width: 32%; margin-top: 15px; padding: 30px;    border-radius: 20px; background-color: #FDC6C6; color: #333333; font-size: 1.5rem;}
.promo_box .balloonList > li::before {position: absolute;    top: -15px;    width: 45px;    height: 30px;    background-color: #FDC6C6;    clip-path: polygon(50% 0, 0 100%, 100% 100%);    content: '';}
.promo_box .balloonList > li:first-child::before {right: 10%;    transform: rotate(25deg);}
.promo_box .balloonList > li:last-child::before {left: 10%;    transform: rotate(-25deg);}
@media only screen and (max-width:640px){
.promo_box .balloonList {flex-direction: column;    margin-top: 15px;}
.promo_box .balloonList > li {max-width: 100%;    margin-bottom: 10px;    font-size: 3.5vw;    padding: 6.5vw;}
.promo_box .balloonList > li::before {left: 50% !important;    transform: translateX(-50%) rotate(0deg) !important;}
}
/*--2023.06.07ここまで--*/
/*--2023.06.21追加--*/
.phil_menu {display: flex;    justify-content: center;    align-items: center;    margin: 0 auto 6vh; /*230912修正*/}
.phil_menu > li {width: calc(100% / 3);    margin: 0;    text-align: center;    font-size: 2.2rem;}
.phil_menu > li a {display: block;	color: #90b8f1;	position: relative;}
.phil_menu > li a:hover {background: #EAF6FF;}
.phil_menu > li a::before {content: "";	display: block;	position: absolute;	top: 50%;	right: 10px;	width: 30px;	height: 2px;	background: #90b8f1;}
.phil_menu > li a::after {content: "";	display: block;	position: absolute;	top: 43%;	right: 11px;	width: 15px;	height: 15px;	border: 2px solid;	border-color: transparent transparent #90b8f1 transparent;	transform: rotate(-135deg);}
.phil_menu > li.current {background: #7BC6FF;	color: #FFF;	border: 3px solid #7BC6FF; }
.phil_menu > li.link {background: #FFF;    border: 3px solid #7BC6FF;}
.phil_menu > li.link span {color: #50B3FF;}
.phil_menu > li span {display: block;	padding: 1em;	font-weight: bold;}
.phil_menu > li:nth-child(2) {border-right: none;    border-left: none;}/*231115追加*/
.phil_ttl {font-size: 2.8rem;    font-weight: bold;    padding-bottom: 12px;    padding-left: 3px;    background: url("/sustainability/images/philosophy/subttl_bg.png") no-repeat scroll 0 bottom;}
.phil_list01 {margin-top: 20px;}
.phil_list01 li {list-style-type: none; counter-increment: cnt;line-height: 200%;   margin: 0; padding-left: 2.6em; text-indent: -2.6em}
/＊flex利用禁止（2024.2.5ルビフル対応）.phil_list01 li {list-style-type: none;    counter-increment: cnt;    display: flex;    font-size: 1.8rem;    line-height: 200%;    margin-bottom: 0.5em;}*/
.phil_list01 li::before {content: "（"counter(cnt)"）";}
@media only screen and (max-width:1024px){
.phil_menu > li {font-size: 1.7rem;}
.phil_menu > li a::before {width: 20px;}
.phil_menu > li a::after {width: 10px;	height: 10px;}
}
@media only screen and (max-width:767px){
.phil_ttl {font-size: 4.8vw;    font-weight: bold;    padding-bottom: 5px;    padding-left: 8px;    background: url("/sustainability/images/philosophy/subttl_bg.png") no-repeat scroll left 0 top 18px;    background-size: 50px auto;}
.phil_list01 li {font-size: 3.46vw;}
}
@media only screen and (max-width:640px){
.phil_menu {flex-direction: column;}
.phil_menu > li {width: 100%;	font-size: 3.6vw;	margin-bottom: 2px;}
.phil_menu > li::after {top: 45%;}
.phil_menu > li:nth-child(2) {border-right: 3px solid #7BC6FF;    border-left: 3px solid #7BC6FF;}/*231115追加*/
}
/*--2023.06.21ここまで--*/
/*--2023.08.18追加--*/
.type_shadow img {box-shadow: 2px 2px 5px #999;}
.rpts_wrap .rpts_txt01 h3 {font-size: 2.4rem;    color: #FF77C2;    font-weight: bold;    margin: 50px 0 -30px 0;}
/*--2023.08.18ここまで--*/

/*--2023.9.12追加--*/
.slide-toggle{
    display: none;
}
.localNavi001 { /*250220 新デザイン対応修正*/
    position: relative;
    max-width: 1024px;
    margin: 50px auto;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    padding-bottom:50px;
}
.localNavi001 label{
    width: 14.28%;
    margin-top: 20px;
    text-align: center;
    display: block;
    float: left;
    color: #333;
}
.localNavi001 label:hover{
    cursor: pointer;
    color: #666;
}
.localNavi001 label span{
    display: block;
    padding: 10px;
    font-size:12px;
}
.localNavi001 label .icon{
    font-size: 14px;
    font-weight: bold;
    border: solid 2px #333;
    text-align: center;
    height: 50px;
    width: 50px;
    display: block;
    margin: 0 auto;
    line-height: 50px;
    border-radius: 50%;
}
.localNavi001 label .icon:hover {
    font-size: 14px;
    border: solid 2px #19237D;
    background: linear-gradient(-225deg, #368CCC 0%, #1D8FE1 48%, #625EB1 100%);
}
/*境界線*/
.slider{
    width: 100%;
    height: 5px;
    display: block;
    background: #ccc;
    margin-bottom: 10px;
    border-radius: 5px;
    position: absolute;
    top:0;
}
/*メニュー数によってwidth調整（上限9個程度）*/
.slider .bar{
    width: 14.28%;
    height: 5px;
    background: #333;
    border-radius: 5px;
}
.localNavi001 label,
.slider .bar {
    -webkit-transition: all 500ms ease-in-out;
    -moz-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
}
.localNavi001 .slide-toggle:checked + label{
      opacity: 0.2;
}
/*メニュー数によってitem数とmargin-leftを調整（上限9個程度）*/
.localNavi001 #slide-item-0:checked ~ .slider .bar{ margin-left: 0%; }
.localNavi001 #slide-item-1:checked ~ .slider .bar{ margin-left: 14.28%; }
.localNavi001 #slide-item-2:checked ~ .slider .bar{ margin-left: 28.56%; }
.localNavi001 #slide-item-3:checked ~ .slider .bar{ margin-left: 42.86%; }
.localNavi001 #slide-item-4:checked ~ .slider .bar{ margin-left: 57.14%; }
.localNavi001 #slide-item-5:checked ~ .slider .bar{ margin-left: 71.42%; }
.localNavi001 #slide-item-6:checked ~ .slider .bar{ margin-left: 85.7%; }

@media screen and (max-width: 520px) {
    .localNavi001 label{
        width: 100%;
        margin-top: 10px;
    }
    .localNavi001 {
        padding-top:20px;
    }
    .localNavi001 label {
        display: flex;
    }
    .localNavi001 label .icon{
        height: 35px;
        width: 35px !important;
        line-height: 35px;
        margin-left: 10px;
    }
    .localNavi001 label .icon:hover {
        color: #fff;
    }
    .localNavi001 label span{
        flex: 1;
        text-align: left;
    }
    .localNavi001 label span:hover{
        text-decoration: underline;
    }
}
/*--2023.9.12ここまで--*/
/*--2023.11.14ここから--*/
.sus_cont .table_box2 {margin-top: 50px;}
.sus_cont .table_box2 table {width: 100%;    border-top: solid 1px #999999;    border-left: solid 1px #999999;}
.sus_cont .table_box2 table th {padding: 5px;    text-align: center;    background: #DDDDDD;    font-size: 1.5rem;    font-weight: bold;    vertical-align: middle;    border-right: solid 1px #999999;    border-bottom: solid 1px #999999;    white-space: nowrap;}
.sus_cont .table_box2 table td {padding: 15px 5px;    text-align: center;    font-size: 1.4rem;    vertical-align: middle;    line-height: 1.4;    border-right: solid 1px #999999;    border-bottom: solid 1px #999999;}
.sus_cont .table_box2 table th.color01 {background: #1CA5C1;    color: #FFFFFF;    border-color: #FFFFFF;}
.sus_cont .table_box2 table th.color02 {background: linear-gradient(#1CA5C1, #25ABB0);    color: #FFFFFF;    border-color: #FFFFFF;}
.sus_cont .table_box2 table th.color03 {background: linear-gradient(#25ABB0, #2DB0A0);    color: #FFFFFF;    border-color: #FFFFFF;}
.sus_cont .table_box2 table th.color04 {background: linear-gradient(#2DB0A0, #36B590);    color: #FFFFFF;    border-color: #FFFFFF;}
.sus_cont .table_box2 table td.tdlevel01 {background: #F0F0F0;    white-space: nowrap;}
.sus_cont .table_box2 table .btxt {color: #225999;}
.sus_cont .table_box2 + ul li {margin-top: 10px; font-size: 1.4rem;text-indent: -3.6em; padding-left: 3.6em}
/* flex利用停止（2024.2.5ルビフル対応）.sus_cont .table_box2 + ul li {margin-top: 10px;    font-size: 1.4rem;    display: flex;} */
.sus_cont .table_box2 + ul li *:first-child {white-space: nowrap;}

.phil_list02 {margin: 0 15px 120px;}
.phil_list02 li {font-size: 2.0rem;    line-height: 1.6;    font-weight: bold;    margin-bottom: 1em;    background: url(/sustainability/images/philosophy/subttl_bg.png) no-repeat 0 0.5em/50px;}

.act_flex02 figcaption, .act_flex04 figcaption  {font-size: 1.4rem;    margin-top: 1em;}

.act_flex06 {display: flex;    justify-content: space-between;    margin: 20px 0 90px;}
.act_flex06 div {font-size: 1.8rem;    width: max(calc(100% - 440px), 60%);    line-height: 200%;}
.act_flex06 div:last-child {width: min(400px, 40%);    margin-left: 30px;    text-align: center;}

.prm_flex {display: flex;    justify-content: space-between;    flex-wrap: wrap;}
.prm_flex .col {width: 49%;    font-size: 1.7rem;    background: #F0EDEC;    margin-bottom: 1em;}
.prm_flex .col .col_ttl {background: linear-gradient(90deg,#37B48D,#169DC5);    color: #FFFFFF;    font-weight: bold;    padding: 0.5em 1em;}
.prm_flex .col ul {margin: 0.5em 1em 0.5em 1em; padding-left: 1.4em; text-indent: -1.4em;} /*（2024.2.5ルビフル対応）*/
/*flex利用禁止（2024.2.5ルビフル対応） .prm_flex .col ul li {display: flex;}*/
.prm_flex .col ul li::before {content: "●";    color: #E60012;    display: inline;    margin-right: 0.5em;}

table.eco_table {width: 100%;    font-size: 1.6rem;    border-top: 1px solid #CCCCCC;    border-left: 1px solid #CCCCCC;}
table.eco_table th, table.eco_table td {padding: 0.5em;}
table.eco_table .tr_style {background: linear-gradient(90deg, #37B48D, #169DC5)!important;}
table.eco_table .tr_style th {color: #FFFFFF; font-weight: bold;    border-right: 1px solid #FFFFFF;    border-bottom: 1px solid #FFFFFF;}
table.eco_table .th_level01 {background: #DCDDDD;    border-right: 1px solid #FFFFFF;    border-bottom: 1px solid #FFFFFF;    text-align: center;}
table.eco_table .th_level02 {background: #C9CACA;    border-right: 1px solid #FFFFFF;    border-bottom: 1px solid #FFFFFF;    text-align: center;}
table.eco_table td {border-right: 1px solid #CCCCCC;    border-bottom: 1px solid #CCCCCC;    text-align: center;    vertical-align: middle;}

.notetxt {margin-top: 10px;}
.notetxt > li {font-size: 1.4rem; text-index:-1.6rem; padding-left:1.6rem;} /* flex利用禁止（2024.2.5ルビフル対応） */
.notetxt > li > *:first-child {white-space: nowrap;}

.icon_ttl {font-size: 2.0rem;    font-weight: bold;    margin: 1.5em 0 0;}
.icon_ttl::before {content: "●";    color: #2CB6AE;}

@media only screen and (max-width:767px){
.sus_cont .table_box2, .sus_cont .table_box3 {overflow-x: auto;    -webkit-overflow-scrolling: touch;    padding-bottom: 5px;}
.sus_cont .table_box2::before, .sus_cont .table_box3::before {content: "※この表は横にスライドできます";    display: block;    width: 100%;    margin-top: 8px;    margin-bottom: 3px;    font-size: min(2.6vw, 1.1rem);}
.sus_cont .table_box2::-webkit-scrollbar, .sus_cont .table_box3::-webkit-scrollbar {width: 5px;    background: #eeeeee;    border-radius: 5px;}
.sus_cont .table_box2::-webkit-scrollbar:horizontal, .sus_cont .table_box3::-webkit-scrollbar:horizontal {height: 5px;    background: #eeeeee;  border-radius: 5px;}
.sus_cont .table_box2::-webkit-scrollbar-thumb, .sus_cont .table_box3::-webkit-scrollbar-thumb {background: #777777;    border-radius: 5px;}
.sus_cont .table_box2::-webkit-scrollbar-thumb:horizontal, .sus_cont .table_box3::-webkit-scrollbar-thumb:horizontal  {background: #777777;    border-radius: 5px;}
.sus_cont .table_box2 table, .sus_cont .table_box3 table  {width: 900px!important;}
.sus_cont .table_box2 table th, .sus_cont .table_box3 table th {font-size: clamp(1.125rem, 2.85vw, 1.4rem);}
.sus_cont .table_box2 table td, .sus_cont .table_box3 table td {font-size: clamp(1.125rem, 2.8vw, 1.3rem);}
.notetxt > li {font-size: clamp(1.0rem, 2.75vw, 1.2rem)!important;}

.sus_cont .act_flex02 div:last-child {justify-content: center;}

.phil_list02 {margin: 0 1vw 6vh;}
.phil_list02 li {font-size: min(4vw, 2.6rem);}

.act_flex06 {flex-direction: column;    margin-bottom: 5vh;}
.act_flex06 div {font-size: 1.8rem;    line-height: 1.8;    width: 100%;    margin-bottom: 5vh;}
.act_flex06 div:last-child {width: 100%;    margin-left: 0;}

.prm_flex .col {width: 100%;    font-size: clamp(1.3rem, 3vw, 1.8rem)}

.icon_ttl {font-size: 3.75vw;}

}
/*--2023.11.14ここまで--*/

/* 2024.2.5 */
button.rubyfuljs-button {
    right: 100px !important;
	cursor: pointer;
}
.btnSdgs {
	width: 100%; max-width: 450px; font-size: 20px; font-weight: bold; line-height: 1.5; position: relative; display: block; transition: all 0.3s; text-align: center; vertical-align: middle; text-decoration: none; letter-spacing: 0.1em; color: #000; border-radius: 0.5rem; margin: 0 auto 0.5rem auto; padding: 0; cursor: pointer;
}
.btnSdgs:before {
	position: absolute; top: -2px; right: 0; bottom: 0; left: 0; height: 100%; content: ""; transition: all 0.3s; transform: translate3d(0, 0.75rem, -1rem); border: 2px solid #000; border-radius: inherit; background: #F38173; box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
}
.btnSdgs-front {
	position: relative;	display: block;	padding: 0.7em 2em;	transition: all 0.3s; border: 2px solid #000; border-radius: inherit; background: #fff;
}
.btnSdgs:hover {
	-webkit-transform: translate(0, 0.25rem); transform: translate(0, 0.25rem); background: #fff100;
}
.btnSdgs:hover:before {
	transform: translate3d(0, 0.5rem, -1rem); box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 520px) {
	.btnSdgs {
		font-size: 16px;
	}
	.btnSdgs-front {
		padding: 0.7em 1em;	
	}
}
/*20240807 追加 サステナビリティレポート*/
.susrepWrap {display: flex;    flex-direction: row;    margin-bottom: 70px;    justify-content: space-between;
    .susrep {width: 63%;    padding-right: 10px;
        h3 {font-size: 2.4rem;    color: #FF77C2;    font-weight: bold;    margin: 0 0 -30px 0;}
        ul {margin-top: 50px;    list-style: disc;    padding-left: 2rem;    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
            li a {color: inherit;    text-decoration: underline;    line-height: 200%;
                img {margin-left: 5px;    margin-bottom: 5px;}
            }
            .l2 {margin-top: 0;
                li {text-indent: -3.5em;    padding-left: 3.5em;}
            }
        }
    }
    .susrepImgWrap {display: flex;    align-items: center;
        .susrepImg {padding: 0 0 0 20px;    text-align: right;
            img {width: auto;}
            figcaption {text-align: center;    font-size: 1.3rem;    font-weight: bold;    margin-top: 1em;}
        }
    }
}
@media only screen and (max-width:767px){
.susrepWrap {flex-direction: column;    margin-bottom: 0;/*250825修正*/
    .susrep {width: 100%;
        ul {margin-top: 30px;
            li {font-size: 3.46vw;}
        }
    }
    .susrepImgWrap {justify-content: center;    margin: 30px auto;
        .susrepImg {padding: 0 10px;
            figcaption {font-size: 3.0vw;}
        }
    }
}
}
/*20240807 ここまで*/
/*20240814 ここから*/
.negMgn {
    margin-bottom: 50px;
}
.movieArea {
    background:#f2f8fe;
    /*box-shadow: 0px 0px 15px -5px #a8a8a8; padding: 3% 1%; box-sizing: border-box;*/
    padding: 15px;
    margin-bottom: 70px;
    border-radius: 3px;
}
.movieArea > p {
    font-size: 18px;
    font-weight: bold;
    padding-left: 20px;
	color: #000000;
    margin-bottom: 20px;
}
.movieArea > p:before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000000' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
	font-size: 16px;
	margin: 0 3px 0 0;
	font-weight: bold;
}
.card {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.card .item {
    width: calc((100% - 60px) / 4);
    padding: 10px;
    position: relative;
}
.card .cardArea {
    aspect-ratio: auto;
    margin-bottom: 20px;
}
.card .cardArea img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4%;
}
.card .title {
    margin-bottom: 8px;
    text-decoration: underline;
}
.card .textArea {
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
}
.card .item a {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.card .item a:hover {
    border-radius: 4%;
    background-image: linear-gradient(329deg, rgba(242, 248, 254, 0.2), rgba(222, 238, 246, 0.3));
    opacity: 1;
}
@media only screen and (min-width: 481px) and (max-width: 767px) {
    .card .item {
        width: calc((100% - 30px) / 2);
        padding: 10px;
    }
}
@media only screen and (max-width: 480px) {
    .card .item {
        width: 100%;
        padding: 10px;
    }
}
/*20240814 ここまで*/
/*20240924 ここから*/
.und_cont01 {
    .cont_ttl {padding: 0 10px 10px;    margin-bottom: 50px;    position: relative;
        &::after {content: "";    display: inline-block;    width: 100%;    height: 100%;    position: absolute;    top: 0;    left: 0;    background: #ffc099;    z-index: -1;    clip-path: polygon(0 95%, 100% 70%, 100% 100%, 0 100%);}
        > h2 {font-size: min(4.2vw, 3.2rem);    font-weight: bold;    width: min(100%, 1080px);    margin: 0 auto;    position: relative;
            &::after {content: "";    display: inline-block;    width: min(24vw, 19.2rem);    height: 5px;    background: #E94609;    position: absolute;    bottom: -0.2em;    left: 0;}
        }
        > .president {font-size: min(4.0vw, 2.2rem);    font-weight: bold;    width: min(100%, 1080px);    margin: 20px auto 50px;
            > span {font-size: min(2.8vw, 1.4rem);    line-height: 1.5;    display: inline-block;}
        }
    }
    .cont_inner#topmessage {
        &::before {content: "";    display: inline-block;    width: min(30vw, 296px);    height: min(71.6vw, 707px);    background: url("/sustainability/images/topmessage/img01.webp") no-repeat 0 0/contain;    float: right;    margin-top: -350px;    margin-left: 15px;}
    }
}
.dlPromo {
    dt {font-size: clamp(110%, 4.2vw, 20px);    font-weight: bold;  &::before {content: "●"; color: #E94709;}}
    dd {margin-bottom: 1em; &:last-child {margin-bottom: 0;}}
}
.sus_cont .table_box2 table th.color05 {background: #E94709;    color: #FFFFFF;    border-color: #FFFFFF;}

@media only screen and (max-width:767px){
.und_cont01 {
    .cont_ttl {
        &::after {}
    }
    .cont_inner#topmessage {position: relative;
        &::before {width: 55%;    height: 43vw;    float: none;    background-size: 100%;    margin: 0;    position: absolute;    right: -14%;    top: calc(-43vw - 50px);}
    }
}
}
/*20240924 ここまで*/
/*20241004 ここから*/
.linkBtnPdf {padding: 0;    text-align: center;    margin-bottom: 80px;
     a {font-size: min(4vw, 1.9rem);    color: #FFF;    font-weight: bold;    display: inline-block;    padding: 1em 2em;    background: #2CB6AE;    box-shadow: 5px 5px 0 0 #CCC;    transition: all 0.5s 0s ease;
         &:hover {background: #009DA4;    box-shadow: 2px 2px 0 0 #BBB;    transform: translate(1px, 1px);}
         &::after {content: url("/sustainability/images/reports/icon_pdf.png");    margin-left: 0.5em;    vertical-align: middle;    transform: translateY(2px);}
     }
}
/*20241004 ここまで*/

/*241220追加*/
.kurumin{
    border-top: 3px solid #333;
    border-bottom: 3px solid #333;
    padding: 10px;
    margin: 0 50px 90px;
    text-align: center;
    line-height: 25px;
    font-size:1.6rem;
}
.kurumin a {
    display: inline;
    text-decoration: underline;
}

@media only screen and (max-width: 767px) {
    .kurumin{
        font-size: 3.46vw;
        margin: 0 0 90px;
    }
}
/*241224ここから*/
.act_flex04 {display: flex;    margin: 20px 0;
    div {width: 66%;    
        p {font-size: 1.8rem;    line-height: 200%!important;    font-weight: normal!important;
            &.act_caption {font-size: 1.4rem;    text-align: center;    margin-top: 1em;}
        }
        &:last-child {width: 29.6%;    text-align: center;}
        .act_caption {font-size: 1.4rem;    margin-top: 1em;    text-align: center;}
    }
}
.sus_cont .act_box2 {margin: 40px 0 90px;
    p {text-align: center;}
    .act_caption {font-size: 1.4rem;    margin-top: 1em;    text-align: center;}
}
.sus_cont .act_flex_senryu {display: flex;    justify-content: space-between;    align-items: flex-start;    margin: 40px 10px 90px;
    .col {width: 48%;
        .prize {font-size: 2.0rem;    font-weight: bold;    color: #E94708;}
        .work {font-size: 2.5rem;    font-weight: bold;    line-height: 1.4;    margin: 0.25em 0 0.5em;
            .ib {display: inline-block;    font-weight: bold;}
        }
        .winner {font-size: 1.4rem;    margin-bottom: 0.5em;    font-weight: bold;}
        .goals {font-size: 1.3rem;    line-height: 1.8;    margin: 2em 0 0;    display: flex;    align-items: flex-start;    flex-direction: column;
            span:first-child {font-size: 90%;    color: #FFF;    font-weight: bold;    padding: 0.25em 1em;    letter-spacing: 1px;    background: #CC4223;    display: inline-block;    margin: 0 0.5em 0.5em 0;    white-space: nowrap;}
        }
        .goalList {display: flex;    width: auto;    justify-content: flex-start;    align-items: center;    flex-wrap: nowrap;    margin: 0.75em 0 0;
            li {width: min(30%, 88px);    margin-right: 1em;
                svg {width: 100%;    height: auto;}
            }
        }
    }
}
table.eco_table {
    caption.caption {font-size: 1.4rem;    caption-side: bottom;    text-align: left;    margin-top: 1em;}
    th, td {font-size: 1.6rem;
        .ib {display: inline-block;}
    }
    .tr_style2 {background: #E94708!important;
        th {color: #FFFFFF; font-weight: bold;    border-right: 1px solid #FFFFFF;    border-bottom: 1px solid #FFFFFF;}
    }
    .tdcolor01 {background: #EFEFEF;}
}
.act_flex07 {display: flex;    justify-content: center;    margin: 40px auto 90px;
    > * {margin-right: min(1.2vw, 10px)!important;
        &:last-child {margin-right: 0!important;}
    }
}
.act_box3 {width: 100%; border: 5px solid #EFEFEF;  padding: 40px 30px;  margin: 0 auto 90px;
    .u_ttl_sub {margin-top: 0;}
}
.textIndent01 {text-indent: -1em;   margin-left: 1em;}
.boldText {font-weight: bold!important;}
.exam_img {width: calc(100% - 30px);    display: block;    margin: 3em auto 5em;}
@media only screen and (max-width:767px){
.act_flex04 {flex-direction: column;
    div {width: 100%;    margin: 0 auto 6vw;
        p {font-size: 3.46vw;
            &.act_caption {font-size: 2.6vw;}
        }
        &:last-child {width: 100%;}
        .act_caption {font-size: 2.6vw;}
        &:has(img){padding: 3em 30px 0;}
    }
}
.sus_cont .act_box2 {
    p:has(img){padding: 0 15px;}
    .act_caption {font-size: 2.6vw;}
}
.sus_cont .act_flex_senryu {flex-direction: column;
    .col {width: 100%;
        &:first-child {margin-bottom: 12em;}
        .prize {font-size: min(4vw, 2.4rem);}
        .work {font-size: min(6vw, 3.3rem);}
        .winner {font-size: min(3.2vw, 1.6rem);}
        .goals {font-size: min(3vw, 1.6rem);}
    }
}
table.eco_table {
    caption.caption {font-size: 2.7vw;}
    th, td {font-size: 2.9vw;}
}
.pdlr30 {padding: 0 30px;}
.exam_img {width: calc(100% - 16px);}
}

/*241224ここまで*/
/*250825 サスレポ2025*/
.susrepWrap2 {width: 100%;    margin-bottom: 50px;
    .susrep {
        h3 {font-size: 2.4rem;    color: #FF77C2;    font-weight: bold;    margin: 0 0 -30px 0;}
        .col {display: flex;    justify-content: space-between;
            > ul {margin-block: 50px 20px;    list-style: disc;    padding-left: 2rem;    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
                li {
                    a {text-decoration: underline;    line-height: 200%;}
                    ul {margin-top: 0;    list-style: disc;    padding-left: 2rem;
                        li {}
                    }
                }
            }
            figure {max-width: 200px;    margin-left: 1.6rem;
                img {box-shadow: 2px 2px 5px #999;}
                figcaption {font-size: 1.3rem;    text-align: center;    margin-top: 1em;}
            }
        }
    }
}
@media only screen and (max-width:767px){
.susrepWrap2 {
    .susrep {
        .col {flex-direction: column;
             > ul {font-size: 3.46vw;
                li {
                    a {display: block;    margin-block: 0.8rem;}
                    ul {
                        li {text-indent: -3.5em;    padding-left: 3.5em;}
                    }
                }
            }
            figure {width: min(80%, 320px);    margin-inline: auto;    text-align: center;    max-width: 100%;
                figcaption {font-size: 3.0vw;}
            }
        }
    }
}
}
/*251105 add*/
sub {vertical-align: unset;}
.table_box2 {
    th.tdlevel01 {background: #F0F0F0!important;    white-space: nowrap;}
}
