@charset 'utf-8';

@keyframes arrow-down {
    0% {
        transform: rotate(134deg) translate(-50%,50%);
        -webkit-transform: rotate(134deg) translate(-50%,50%);
        -moz-transform: rotate(134deg) translate(-50%,50%);
        -ms-transform: rotate(134deg) translate(-50%,50%);
        -o-transform: rotate(134deg) translate(-50%,50%);
    }
    25% {
        transform: rotate(134deg) translate(-20%,20%);
        -webkit-transform: rotate(134deg) translate(-20%,20%);
        -moz-transform: rotate(134deg) translate(-20%,20%);
        -ms-transform: rotate(134deg) translate(-20%,20%);
        -o-transform: rotate(134deg) translate(-20%,20%);
}
    50% {
        transform: rotate(134deg) translate(-50%,50%);
        -webkit-transform: rotate(134deg) translate(-50%,50%);
        -moz-transform: rotate(134deg) translate(-50%,50%);
        -ms-transform: rotate(134deg) translate(-50%,50%);
        -o-transform: rotate(134deg) translate(-50%,50%);
    }
    75% {
        transform: rotate(134deg) translate(-20%,20%);
        -webkit-transform: rotate(134deg) translate(-20%,20%);
        -moz-transform: rotate(134deg) translate(-20%,20%);
        -ms-transform: rotate(134deg) translate(-20%,20%);
        -o-transform: rotate(134deg) translate(-20%,20%);
}
    100% {
        transform: rotate(134deg) translate(-50%,50%);
        -webkit-transform: rotate(134deg) translate(-50%,50%);
        -moz-transform: rotate(134deg) translate(-50%,50%);
        -ms-transform: rotate(134deg) translate(-50%,50%);
        -o-transform: rotate(134deg) translate(-50%,50%);
    }
  }

img{
    width: 100%;
}

/* 
	▼▼出し分け調整クラス 
*/
.sustaina-pc-visible {
	display: block;
}
.sustaina-pc-tablet-visible {
	display: block;
}
img.sustaina-pc-visible {
	display: inline-block;
}
img.sustaina-pc-tablet-visible {
	display: inline-block;
}
.sustaina-tablet-visible {
	display: none;
}
.sustaina-sp-visible {
	display: none;
}
@media screen and (max-width:950px) {
	.sustaina-pc-visible {
		display: none;
	}
	.sustaina-tablet-visible {
		display: block;
	}
	img.sustaina-pc-visible {
		display: none;
	}
	img.sustaina-tablet-visible {
		display: inline-block;
	}
}
@media screen and (max-width:750px) {
	.sustaina-pc-tablet-visible {
		display: none;
	}
	img.sustaina-pc-tablet-visible {
		display: none;
	}
	.sustaina-sp-visible {
		display: block;
	}
	img.sustaina-sp-visible {
		display: inline-block;
	}
	.icon-arrow-r::after {
		width: 6px;
		height: 6px;
	}
}
/*
	▲▲▲出し分け調整クラス 
*/
.kv-area {
    padding: 78px 0 80px;
    height: 300px;
    box-sizing: border-box;
    position: relative;
    background: #eff3f9;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
  }
  
  .kv-right{
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
  }
  
  .kv-left{
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
  
  }
/* .kv-hero{
    height: 300px;
    background: url(/corp/set/data/sustainability/lib/img/p/main.png) no-repeat center bottom;
    text-align: center;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
} */

.txt{
    font-size: 16px;
    margin-top: 50px;
}

.hdg-lv1{
    font-size: 44px;
    font-weight: bold;
    text-align: center;
    line-height: 1.65909090909;
    position: relative;
}

.local-nav{
    max-width: 890px;
    margin: 0 auto;
    margin-top: 60px;
    background-color: #f5f9fa;
}

.local-nav-inner{
    padding: 10px 25px 25px 25px;
    box-sizing: border-box;
}

.nav-internal-link{
    display: inline-block;
    margin: 15px 40px 0 0;
    transition: opacity 0.4s ease-in-out;
    -webkit-transition: opacity 0.4s ease-in-out;
    -moz-transition: opacity 0.4s ease-in-out;
    -ms-transition: opacity 0.4s ease-in-out;
    -o-transition: opacity 0.4s ease-in-out;
    text-decoration: none !important;
    font-size: 16px;
    color: #006699;
}

.nav-internal-link span{
    padding-left: 22px;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
}

.nav-internal-link span::before{
    content: "";
    width: 10px;
    height: 10px;
    border-right: 1px solid #0c51c7;
    border-top: 1px solid #0c51c7;
    transform: rotate(134deg) translate(-50%,50%);
    -webkit-transform: rotate(134deg) translate(-50%,50%);
    -moz-transform: rotate(134deg) translate(-50%,50%);
    -ms-transform: rotate(134deg) translate(-50%,50%);
    -o-transform: rotate(134deg) translate(-50%,50%);
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    position: absolute;
    top: 10px;
    left: 0;
}

.nav-internal-link:hover{
    opacity: 0.7;
}


.nav-internal-link:hover span::before{
    animation: arrow-down 0.5s ease 0s 1 alternate none running;
    -webkit-animation: arrow-down 0.8s ease-in-out 0s 1 alternate none running;
}

.section > .section-inner{
    max-width: 890px;
    margin: 0 auto;
    padding-bottom: 100px;
}

.section .hdg-lv2{
    padding-top: 98px;
}

.hdg-lv2{
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    line-height: 100%;
}

.hdg-lv2.decoration{
    padding-bottom: 40px;
    position: relative;
    box-sizing: border-box;
}

.hdg-lv2.decoration::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 80px;
    border-bottom: 4px solid #0c51c7;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.section .hdg-lv3{
    padding-top: 76px;
}

.hdg-lv3{
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.section .hdg-lv4{
    padding-top: 58px;
}

.hdg-lv4{
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    line-height: 1.8;
}

.hdg-lv4.order-decoration{
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:start;
    -webkit-justify-content:flex-start;
    -ms-flex-pack:start;
    justify-content:flex-start;
}

.txt-lead{
    margin-top: 98px;
    font-size: 16px;
    line-height: 1.5;
}

.hdg-lv2 + .txt-lead{
    margin-top: 60px;
}

.hdg-lv3 + .txt-lead{
    margin-top: 40px;
}

.hdg-lv4 + .txt-lead{
    margin-top: 30px;
}

.hdg-lv2 + .txt-list,.hdg-lv3 + .txt-list,.hdg-lv4 + .txt-list{
    margin-top: 30px;
}

.section + .section .hdg-lv2{
    padding-top: 0;
}

.note-sup{
    font-size: 10px;
    vertical-align: super;
}

.lyt-2col{
    margin-top: 30px;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
}

.lyt-2col .lyt-2col-fig{
    width: calc(430/890*100%);
}

.lyt-2col-content{
    width: calc(430/890*100%);
}

.lyt-2col-ttl{
    font-size: 20px;
    font-weight: bold;
}

.lyt-2col-content-desc{
    margin: 0;
}

.lyt-2col-ttl + .lyt-2col-content-desc{
    margin-top: 20px;
}

.lyt-2col.small .lyt-2col-fig{
    width: calc(280/890*100%);
}

.lyt-2col.small .lyt-2col-content{
    width: calc(580/890*100%);
}

.tbl-wrap{
    margin-top: 40px;
}

.tbl-wrap table{
    border: 1px solid #cfcfcf;
    width: 100%;
}

.tbl-wrap table caption{
    font-size: 16px;
    margin-bottom: 16px;
}

.tbl-wrap table th{
    background-color: #f4f5f6;
    padding: 14px 20px;
    border: 1px solid #cfcfcf;
    /* border-top: 1px solid #cfcfcf; */
    vertical-align: middle;
    font-size: 16px;
}

.tbl-wrap table td{
    padding:20px 20px;
    border-top: 1px solid #cfcfcf;
    border-left: 1px solid #cfcfcf;
    font-size: 16px;
    text-align: center;
    vertical-align: middle;
}

.tbl-wrap table .txt-left{
    text-align: left;
}

.tbl-wrap table .txt-right{
    text-align: right;
}

.tbl-wrap table .txt-center{
    text-align: center;
}

.w-5p{
    width: 5%;
}

.w-30p{
    width: 30%;
}
.border-top-none{
    border-top: none !important;
}
.border-bottom-none{
    border-bottom: none !important;
}
.tbl-wrap table tr th:nth-last-child(1){
    border-right:none;
}

.tbl-wrap table tr td:nth-last-child(1){
    border-right:none;
}

.fig{
    margin-top: 30px;
    width: 100%;
}

.note-list-wrap{
    margin-top: 30px;
}

.icon-note{
    display: block;
    line-height: 1.33333333333;
    font-size: 15px;
}

.note-list li{
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:start;
    -webkit-align-items:flex-start;
    -ms-flex-align:start;
    align-items:flex-start;
    font-size: 15px;
    margin-top: 12px;
}

.note-list li + li{
    margin-top: 10px;
}

.note-list li span{
    min-width: 40px;
}

.txt-list{
    margin-top: 30px;
}

.txt-list li{
    font-size: 16px;
    padding-left: 40px;
    position: relative;
}

.txt-list li + li{
    margin-top: 12px;
}

.txt-list li::before{
    content: "";
    display: block;
    width: 3px;
    height: 3px;
    position: absolute;
    left: 24px;
    top: 0.5em;
    box-sizing: border-box;
    background-color: #000000;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}

.txt-list-free{
    margin-top: 30px;
}

.txt-list-free li{
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:start;
    -webkit-align-items:flex-start;
    -ms-flex-align:start;
    align-items:flex-start;
    font-size: 16px;
}

.txt-list-free li span{
    display: block;
    min-width: 46px;
    text-align: left;
}

.txt-list-free li + li{
    margin-top: 30px;
}

.lyt-2col-content .txt-list{
    margin-top: 20px;
}

.hdg-lv2 + .txt-lead{
    margin-top: 60px;
}

.hdg-lv3 + .txt-lead{
    margin-top: 40px;
}

.hdg-lv4 + .txt-lead{
    margin-top: 30px;
}

.link-txt{
    margin-top: 30px;
}

.link-txt a{
    font-size: 16px;
    color: #006699;
    transition: opacity 0.4s ease-in-out;
    -webkit-transition: opacity 0.4s ease-in-out;
    -moz-transition: opacity 0.4s ease-in-out;
    -ms-transition: opacity 0.4s ease-in-out;
    -o-transition: opacity 0.4s ease-in-out;
    will-change: opacity;
}

.link-txt + .link-txt{
    margin-top: 18px;
}

.link-txt a:hover{
    opacity: 0.4;
}

a.link-btn{
    display: block;
    width: 100%;
    max-width: 310px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    box-sizing: border-box;
    line-height: 63px;
    color: #0c51c7;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    border: 2px solid #cfcfcf;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    -ms-border-radius: 40px;
    -o-border-radius: 40px;
    text-decoration: none !important;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    will-change: color background-color;
}

a.link-btn:hover{
    color: #FFFFFF;
    background-color: #0c51c7;
}

.rule-list{
    margin-top: 40px;
}

.rule-ttl{
    font-size: 20px;
    font-weight: bold;
}

.rule-txt + .rule-ttl{
    margin-top: 40px;
}

.rule-ttl + .rule-txt{
    margin-top: 15px;
}

.rule-txt{
    font-size: 16px;
    line-height: 1.5;
}
.ta-r{
    text-align: right;
}

@media screen and (max-width: 889px){
    .section > .section-inner{
        padding: 0 20px 100px;
    }
    .local-nav{
        margin: 60px 20px 0;
    }
}

@media screen and (max-width: 750px){
    .kv-area {
        height: auto;
        padding: 21.7% 20px;
        background: url(/corp/set/data/sustainability/lib/img/s/bg-kv.jpg) no-repeat center bottom;
        background-size: 100% 100%;
    }
    /* .kv-hero{
        height: auto;
        background: url(/corp/set/data/sustainability/lib/img/s/main.png) no-repeat center bottom;
        background-size: cover;
        display: block;
        position: relative;
        padding-top: 61.6995%;
    } */
    .kv-hero .hdg-lv1{
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
    }
    .hdg-lv1{
        font-size: 6.933333333333334vw;
    }
    .txt{
        font-size: 14px;
        margin-top: 40px;
    }
    .local-nav{
        margin: 30px 20px 0;
    }
    
    .local-nav-inner{
        padding: 20px 20px 20px 30px;
    }

    .nav-internal-link{
        margin: 10px 40px 0 0;
        font-size: 14px;
    }
    
    .nav-internal-link span{
        padding-left: 22px;
        position: relative;
        display: inline-block;
        box-sizing: border-box;
    }
    
    .nav-internal-link span::before{
        top: 8px;
    }

    .section .hdg-lv2 {
        padding-top: 50px;
    }

    .hdg-lv2{
        font-size: 24px;
    }

    .hdg-lv2.decoration {
        padding-bottom: 20px;
    }

    .hdg-lv2.decoration::after {
        width: 50px;
    }

    .section .hdg-lv3 {
        padding-top: 50px;
    }
    .hdg-lv3 {
        font-size: 22px;
        line-height: 1.65909090909;
    }
    .section .hdg-lv4 {
        padding-top: 40px;
    }
    .hdg-lv4 {
        font-size: 20px;
        line-height: 1.825;
    }

    .hdg-lv2 + .txt-lead{
        margin-top: 40px;
    }
    
    .hdg-lv3 + .txt-lead{
        margin-top: 20px;
    }
    
    .hdg-lv4 + .txt-lead{
        margin-top: 20px;
    }

    .txt-lead{
        margin-top: 40px;
        font-size: 14px;
    }

    .note-list-wrap{
        margin-top: 20px;
    }
    
    .icon-note{
        display: block;
        line-height: 1.33333333333;
        font-size: 12px;
    }
    
    .note-list li{
        margin-top: 9px;
        font-size: 12px;
    }
    
    .note-list li + li{
        margin-top: 6px;
    }
    
    .note-list li span{
        min-width: 35px;
    }

    .txt-list{
        margin-top: 20px;
    }
    
    .txt-list li{
        font-size: 14px;
        padding-left: 35px;
    }
    
    .txt-list li + li{
        margin-top: 9px;
    }
    
    .txt-list li::before{
        content: "";
        display: block;
        width: 2px;
        height: 2px;
    }
    
    .txt-list-free{
        margin-top: 20px;
    }

    .txt-list + .txt-list-free{
        margin-top: 30px;
    }
    
    .txt-list-free li{
        font-size: 14px;
    }
    
    .txt-list-free li span{
        min-width: 26px;
    }
    
    .txt-list-free li + li{
        margin-top: 15px;
    }

    .link-txt{
        margin-top: 20px;
    }
    
    .link-txt a{
        font-size: 14px;
    }

    a.link-btn{
        max-width: calc(610/670*100%);
        margin-top: 50px;
        line-height: 44px;
        font-size: 14px;
        border: 2px solid #cfcfcf;
    }

    .section > .section-inner{
        padding-bottom: 50px;
    }

    .tbl-wrap{
        margin-top: 20px;
    }

    .tbl-wrap table th{
        padding: 20px;
        font-size: 14px;
    }
    
    .tbl-wrap table td{
        padding: 20px;
        font-size: 14px;
    }

    .lyt-2col{
        margin-top: 20px;
        display: block;
    }
    
    .lyt-2col .lyt-2col-fig{
        width: 100%;
    }
    
    .lyt-2col-content{
        width: 100%;
        margin-top: 20px;
    }
    
    .lyt-2col-ttl{
        font-size: 14px;
    }
    
    .lyt-2col.small .lyt-2col-fig{
        width: 100%;
    }
    
    .lyt-2col.small .lyt-2col-content{
        width: 100%;
    }

    .lyt-2col.all{
        display:-webkit-box;
        display:-webkit-flex;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:justify;
        -webkit-justify-content:space-between;
        -ms-flex-pack:justify;
        justify-content:space-between;
    }

    .lyt-2col.all .lyt-2col-fig{
        width: calc(320/670*100%);
    }
    
    .lyt-2col.all .lyt-2col-content{
        width: calc(320/670*100%);
    }

    .rule-list{
        margin-top: 30px;
    }
    
    .rule-ttl{
        font-size: 16px;
        font-weight: bold;
    }
    
    .rule-txt + .rule-ttl{
        margin-top: 30px;
    }

    .rule-ttl + .rule-txt{
        margin-top: 10px;
    }
    
    .rule-txt{
        font-size: 14px;
        line-height: 1.5;
    }
}





