/*---------- block ----------*/
main {
    padding-top: 56px;
}
.mainv {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #f2f7f8;
}
.container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: auto;
}
.mainv_container {
    padding: 5rem 0 1rem;
    position: relative;
	background-image: url('/web/jp/government/images/service/contract/mainv.png');
	background-repeat: no-repeat;
    background-position: right 0 top 25px;
}
.mainv_logo img{
    max-width: 809px;
    width: 100%;
}
.color_secondary {
    color: #3370AD;
}
.color_primary{
    color: #152768;
}
.mainv_logo{
	margin-top: 20px;
}
.mainv_sub{
    font-weight: normal;
}
.mainv_sub, .mainv_certiachieve{
	display: flex;
}
.mainv_certiachieve{
    margin-top: 36px;
}
.mainv_subtitle{
	font-size: 40px;
	line-height: 1.5;
	margin-top: 10px;
}
.mainv_100use{
	margin: 15px 0 0 20px;
}
.mainv_100use{
    position: absolute;
    right: 0px;
    top: 300px;
}
.mainv_achieve{
	margin-left: 21px;
}
.mainv_achieve img{
    max-width: 622px;
    width: 100%;
}
.mainv .cta{
    width: 100%;
}
.contents{
    max-width: 1200px;
    margin: auto;
    padding: 0 20px;
}
#elect_contract, #storage, #regulations{
    background-color: #F2F7F8;
    padding-bottom: 96px;
}
.contract_list{
    display: flex;
    justify-content: right;
}
.contract_list a{
    display: block;
    background-image: url('/web/jp/government/images/service/contract/feature_link_arrow.png');
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 16px;
    line-height: 1.5;
    color: #152768;
}
#workflow, #risk_governance{
    margin-bottom: 96px;
}
.contract_contents, .workflow_contents, .storage_contents{
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 2px solid #CCCCCC;
}
.contract05, .workflow02, .storage03{
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}
.contract_text, .workflow_text, .storage_text{
    margin: 0 0 16px 64px;
}
.contract_text:last-child, .workflow_text:last-child, .storage_text:last-child{
    margin-bottom: 0;
}
.contract_text02{
    margin: -16px 0 0 64px;
}
.contract_text02_in{
    margin-left: 16px;
    display: block;
}
.contract_intext01{
    width: 163px;
    margin-right: 24px;
}
.contract_intext02{
    flex: 1;
}
.contract_title,.workflow_title, .storage_title{
    font-size: 24px;
    font-weight: bold;
    margin-left: 9px;
}
.contract_contents .flex_row, .workflow_contents .flex_row, .storage_contents .flex_row{
    align-items: center;
    margin-bottom: 16px;
}
.workflow_maintitle{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 32px;
}
.workflow_merit_content{
    width: 100%;
    display: flex;
}
.workflow_merit{
    flex: 1;
    margin: 0 32px 48px 0;
    font-size: 18px;
    line-height: 27px;
    color: #152768;
    background-color: #F2F7F8;
    padding: 24px 16px;
}
.workflow_merit:last-child{
    margin-right: 0;
}
.workflow_merit_title{
    font-size: 18px;
    line-height: 27px;
    color: #152768;
    margin-bottom: 16px;
    text-align: center;
    font-weight: bold;
}
.workflow_merit_image{
    text-align: center;
}
.workflow_subtitle{
    font-weight: bold;
    line-height:1.75
}
.risk_contents, .regulation_contents{
    display: flex;
    flex-wrap: wrap;
}
.risk_content, .regulation_content{
    flex: 1;
    border-radius: 16px;
    background-color: #F2F7F8;
    border: 4px solid #3370AD;
    padding: 40px;
}
.risk01, .regulation01{
    flex: 0 100%;
    margin-bottom: 32px;
}
.risk_title, .regulation_title{
    font-size: 24px;
    line-height: 1.25;
    margin-bottom: 40px;
    font-weight: bold;
}
.risk_title + .risk_text{
    margin-left: 16px;
}
.risk_text{
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 40px;
}
.risk_inner{
    display: flex;
}
.risk_inner01, .risk_inner02, .risk_inner03, .regulation_inner{
	background-image: url('/web/jp/government/images/service/contract/icon_check.png');
    background-repeat: no-repeat;
}
.risk_inner01, .risk_inner02{
    flex: 1;
}
.risk_inner02{
    margin-left: 10px;
}
.risk_inner_title{
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
    padding-left: 48px;
    margin-bottom: 25px;
}
.risk_inner01 .risk_inner_text, .risk_inner02 .risk_inner_text{
    margin-bottom: 16px;
}
.risk_inner_text{
    margin-left: 32px;
}
.risk_inner_list ul{
    padding-left: 2.5em;
    margin-left: 0.5em;
}
.risk_inner_list li{
    line-height: 28px;
    text-indent: -1.15em;
}
.risk_inner_list li:before{
    content: "※";
    margin-right: 0.15em;
}
.risk_image{
    text-align: center;
    margin: 40px 0 0;
}
.risk01 .risk_image img{
    max-width: 800px;
    width: 100%;
}
.risk_inner03{
    margin: 40px 0 0;
}
.risk_text + .risk_subtitle{
    margin-top: 10px;
}
.risk_subtitle{
    margin-bottom: 4px;
    font-weight: bold;
}
.risk02 .risk_text{
    margin-bottom: 0;
}
.risk03, .regulation03{
    position: relative;
    margin-left: 24px;
}
.risk03 .risk_image{
	margin-bottom: 29px;
}
.regulation_title{
    padding-left: 48px;
}
.regulation_maintext{
    max-width: 800px;
    margin: 0 auto 42px;
}
.regulation_text, .regulation_subtext{
    margin-left: 16px;
}
.regulation_text{
    margin-bottom: 24px;
}
.regulation_subtext{
    margin-bottom: 10px;
}
.regulation_tabinner{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.regulation_tabs{
    flex: 0 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 28px;
}
.regulation_text:last-child, .regulation_subtext:last-child, .regulation_tabs:last-child{
    margin-bottom: 0;
}
.regulation_subtext a{
    color: #152768;
}
.regulation_subtext a:hover, .regulation_list a:hover, .contract_list a:hover{
    opacity: 0.7;
}
.regulation_tab{
    flex: 0 502px;
    background-color: #FFFFFF;
    border-radius: 16px;
    padding: 32px;
    box-sizing: border-box;
}
.regulation_tab:last-child{
    margin-left: 24px;
}
.regulation_tab_title, .regulation_tab_text{
    margin: 0 0 16px;
}
.regulation_tab_title{
    font-weight: bold;
}
.regulation_tab_text:last-child{
    margin-bottom: 0;
}
.regulation_list{
    text-align: right;
}
.regulation_list a{
	background-image: url('/web/jp/government/images/service/contract/diagonal.png');
    background-repeat: no-repeat;
    background-position: right;
    padding-right: 26px;
    line-height: 1.5;
    color: #152768;
}

.feature_links{
    margin-top: 16px;
}

.pc-only .feature_links{
    margin-bottom: 16px;
}
@media (max-width: 1320px) {
    .mainv_certiachieve{
        display: block;
        margin-top: 0;
    }
    .mainv_achieve{
        margin: 10px 0 0;
    }
    .mainv_container{
        background-position: right 0 top 235px;
        background-size: 260px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .mainv_certi{
        width: 139px;
    }
    .mainv_subtitle{
        font-size: 24px;
        font-weight: bold;
        margin: 16px 0 65px;
    }
    .mainv_100use{
        top: 410px;
    }
}
@media (max-width: 1070px) {
    .mainv_container{
        padding-bottom: 3rem;
    }
    .contract_list{
        justify-content: left;
    }
    #workflow, #risk_governance{
        margin-bottom: 64px;
    }
    #elect_contract, #storage, #regulations{
        padding-bottom: 64px;
    }
    .contract_text, .workflow_text, .storage_text, .risk_inner_text{
        margin-left: 0;
    }
    .workflow_merit_content{
        display: block;
    }
    .workflow_merit, .risk02, .regulation02{
        margin: 0 0 32px;
    }
    .risk_contents, .risk_inner, .regulation_contents{
        display: block;
    }
    .risk_inner_list ul{
        padding-left: 1em;
        margin-bottom: 24px;
        margin-left: 0;
    }
    .risk03 .risk_image{
        position: static;
    }
    .regulation_tabs{
        display: block;
        margin-bottom: 0;
    }
    .regulation_tab{
        margin-bottom: 16px;
    }
    .regulation_tab:last-child, .risk03, .regulation03{
        margin-left: 0;
    }
    .regulation_tabs:last-child .regulation_tab:last-child{
        margin-bottom: 0;
    }
    .regulation_inner{
        padding-top: 50px;
        background-position: center top;
    }
    .regulation_title{
        padding-left: 0;
        text-align: center;
    }
    .regulation_title, .regulation_text, .regulation_subtext{
        margin-left: 0;
    }
    .regulation_list{
        text-align: left;
    }
    .contract_text02{
        margin-top: 16px;
        margin-left: 0;
    }
}
@media (max-width: 1000px) {
    .mainv_achieve{
        max-width: 500px;
    }
}
@media (max-width: 820px) {
    .mainv_container{
        background-position: right 0 top 210px;
        background-size: 162px;
    }
    .mainv_certi img{
        width: 139px;
    }
    .mainv_100use{
        top: 77px;
    }
    .mainv_100use img{
        width: 66px;
    }
    .contract_title, .workflow_title, .storage_title{
        font-size: 20px;
        line-height: 27px;
    }
    .color_secondary{
        line-height: 1.5;
    }
    .risk_title{
        font-size: 20px;
    }
    .regulation_title{
        font-size: 20px;
    }
    .contract_text .flex_row{
        display: block;
    }
    .contract_intext01 span{
        margin-right: 4px;
    }
    .contract_intext02{
        margin-left: 28px;
    }
    .contract_text .flex_row:last-child{
        margin-bottom: 24px;
    }
    .risk_inner_title{
        font-size: 18px;
        margin-bottom: 24px;
    }
    .risk02 .risk_text{
        margin-bottom: 0;
    }
    .risk_title + .risk_text{
        margin-left: 0;
    }
    .risk_text{
        margin-bottom: 24px;
    }
    .risk_inner03{
        margin-top: 24px;
    }
    .risk_content, .regulation_content{
        padding-left: 24px;
        padding-right: 24px;
    }
    .feature_links{
        margin-top: 32px;
    }
}
@media (max-width: 399px) {
    .mainv_subtitle{
        margin-bottom: 100px;
    }
    .mainv_container{
        background-position: right 0 top 240px;
    }
}
@media (min-width: 768px) {
	.mainv_container {
		align-items: flex-start;
		padding: 6.5rem 0 3.5rem;
		text-align: left;
	}
	.mainv_subtitle p {
		font-size: 16px;
		line-height: 2.0;
		letter-spacing: .05em;
	} 
}
.merit_content05 .merit_image{
	margin-top: 0;
}
.merit_image{
	padding-bottom: 24px;
}
