@charset "utf-8";
/*コーポレートサイト下層ページの記述*/
/*==================================================================================================*/
/*company*/
#company .wrap01 img{
    height: 460px;
    position: absolute;
}
.company2#company .wrap01 img{
	position: relative;
}
#company .wrap01 .name{
    padding: 155px 0 120px;
}
#company .wrap01 .name p{
    font-size: 20px;
}
#company .wrap01 .name p:nth-child(2){
    display: flex;
    align-items: center;
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0;
}
#company .wrap01 .name span{
    font-size: 26px;
    margin: 0 30px 0 0;
}
.company2#company .wrap01 .name{
	width: fit-content;
    font-size: 28px;
    font-weight: bold;
	letter-spacing: 0;
	line-height: 1.4;
	padding: 40px 0 0;
	margin: 0 0 0 auto;
}
.company2#company .wrap01 .name span:nth-child(1){
    font-size: 18px;
}
.company2#company .wrap01 .name span:nth-child(3){
    font-size: 16px;
    margin: 0 30px 0 0;
}
#company .wrap01 .message{
    border-radius: 20px;
    background: #FFF;
}
#company .wrap01 .message .inner{
    max-width: 700px;
    padding: 60px 0;
}
#company .wrap01 .message p{
    font-size: 16px;
}
@media screen and (max-width: 1000px) {
    #company .wrap01 .name {
        padding: 100px 0 70px;
    }
    #company .wrap01 img{
        height: 320px;
    }
    #company .wrap01 .name p{
        font-size: 18px;
    }
    #company .wrap01 .name p:nth-child(2){
        font-size: 30px;
    }
    #company .wrap01 .name span{
        font-size: 20px;
    }
}
@media screen and (max-width: 768px) {
    #company .wrap01 img{
        height: 320px;
    }
    #company .wrap01 .name{
        padding: 70px 0 40px;
    }
    #company .wrap01 .name p{
        font-size: 16px;
    }
    #company .wrap01 .name span{
        margin: 0 15px 0 0;
    }
    #company .wrap01 .message .inner{
        padding: 40px 0;
    }
}
@media screen and (max-width: 520px) {
    #company .wrap01 img{
        height: 190px;
    }
    #company .wrap01 .name{
        padding: 50px 0 35px;
    }
    #company .wrap01 .neme p{
       font-size: 14px; 
    }
    #company .wrap01 .name p:nth-child(2){
        font-size: 24px; 
    }
    #company .wrap01 .name span{
        font-size: 15px;
    }
    #company .wrap01 .message .inner{
        padding: 30px 0;
    }
    #company .wrap01 .message p{
        font-size: 14px;
    }
	.company2#company .wrap01 .name{
		font-size: 20px;
	}
	.company2#company .wrap01 .name span:nth-child(1){
		font-size: 15px;
	}
	.company2#company .wrap01 .name span:nth-child(3){
		font-size: 13px;
		margin: 0 15px 0 0;
	}
}
/*===============================================*/
/*経営理念*/
#company .wrap03 p{
    font-weight: bold;
}
/*===============================================*/
/*社章*/
#company .wrap05 li img{
    width: 250px;
}
#company .wrap05 li div{
    width: calc( 100% - 280px );
}
@media screen and (max-width: 1000px) {
    #company .wrap05 li img{
        width: 200px;
    }
    #company .wrap05 li div{
        width: calc( 100% - 240px );
    }
}
@media screen and (max-width: 768px) {
    #company .wrap05 li img{
        width: 160px;
    }
    #company .wrap05 li div{
        width: calc( 100% - 180px );
    }
}
@media screen and (max-width: 520px) {
    #company .wrap05 li img{
        width: 120px;
        margin: 0 auto 20px;
    }
    #company .wrap05 li div{
        width: 100%;
    }
}
/*===============================================*/
#history ul{
    width: 464px;
}
#history ul + div{
    width: calc( 100% - 480px);
    max-width: 400px;
    position: relative;
    top: 40px;
}
#history ul + div + div,
#history ul + div + div + div{
    width: 48%;
    max-width: 400px;
    position: relative;
    margin: 40px 0 0;
}
#history div img{
    border-radius: 5px;
    margin: 0 0 10px;
}
#history div.box div p{
    font-size: 12px;
    line-height: 1.4;
    color: #999;
}
#history div img:nth-child(3){
    margin: 30px 0 10px;
}
#history li{
    padding: 30px 0 30px 65px;
    border-left: solid 1px #aeaeae;
}
#history li h5{
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0;
    margin: 0 0 10px;
    position: relative;
}
#history li h5::before{
    display: block;
    content: "";
    width: 50px;
    height: 1px;
    background: #aeaeae;
    position: absolute;
    top: 19px;
    left: -65px;
}
#history li .btn02{
    margin: 20px 0 0;
}
@media screen and (max-width: 1000px) {
    #history ul{
        width: 400px;
    }
    #history li h5{
        font-size: 22px;
    }
    #history li p{
        font-size: 14px;
    }
    #history ul + div{
        width: calc( 100% - 420px);
    }
}
@media screen and (max-width: 820px) {
    #history li {
        padding: 20px 0 20px 30px;
    }
    #history li h5 {
        font-size: 18px;
    }
    #history li h5::before {
        width: 20px;
        top: 13px;
        left: -30px;
    }
}
@media screen and (max-width: 768px) {
    #history div.box div p{
        font-size: 10px;
    }
}
@media screen and (max-width: 767px) {
    #history ul{
        width: 100%;
        margin: 0 0 10px;
    }
    #history ul + div{
        width: 100%;
        max-width: 340px;
        top: 0;
        margin: 0 0 10px;
    }
    #history ul + div + div,
    #history ul + div + div + div{
        width: 100%;
        max-width: 340px;
        margin: 0;
    }
}
/*===============================================*/
.chart .inner div{
    width: 100%;
}
.chart .inner div img{
    min-width: 600px;
}
/*==================================================================================================*/
/*access*/
.access01 h3{
    margin: 0;
}
.access01 h3{
    margin: 60px 0 0;
}
.access01 ul{
    border-bottom: solid 1px var(--main-color);
    padding: 40px 0 0;
}
.access01 ul:last-child{
    border-bottom: none;
}
.access01 li{
    width: 50%;
    margin: 0 0 40px;
}
.access01 .honsya li{
    width: 100%;
}
.access01 .honsya li iframe{
    margin: 10px 0 0;
}
.access01 h4{
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 20px;
}
.access01 h4 span{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 34px;
    color: #FFF;
    background: var(--main-color);
    margin: 0 20px 0 0;
}
.access01 .siten h4 span{
    background: #3a479d;
}
.access01 .eigyo h4 span{
    background: #3a9a4c;
}
.access01 .jimusyo h4 span{
    background: #d0c10f;
}
.access01 li a.map{
	display: inline-block;
	color: blue;
	text-decoration: none;
	padding: 0 0 0 5px;
}
.access01 li a{
    text-decoration: underline;
}
.access01 li a:hover{
    opacity: .5;
}
@media screen and (max-width: 1000px) {
    .access01 p{
        font-size: 16px;
    }
}
@media screen and (max-width: 820px) {
    .access01 .honsya li iframe {
        height: 150px;
    }
    .access01 h4 {
        font-size: 16px;
        margin: 0 0 15px;
    }
    .access01 h4 span {
        width: 120px;
        height: 28px;
    }
    .access01 p {
        font-size: 14px;
    }
}
@media screen and (max-width: 767px) {
    .access01 li{
        width: 100%;
        margin: 0 0 20px;
    }
    .access01 p br:nth-child(1){
        display: none;
    }
    .access01 p br.sp_res820{
        display: none;
    }
    .access02 dl dd {
        font-size: 16px;
    }
}
@media screen and (max-width: 428px) {
    .access01 p br:nth-child(1){
        display: block;
    }
}
/*===============================================*/
.access02 .column li{
	margin: 0 0 40px;
}
.access02 .boxContentsList h3,
.access02 .column h3{
    margin: 20px 0 20px;
}
.access02 .boxContentsList{
    margin: 0 0 40px;
}
.accesstest .boxContentsList{
    margin: 0;
}
.access02 dl{
    display: flex;
    flex-wrap: wrap;
}
.access02 dl dt{
	width: 110px;
    font-size: 18px;
    font-weight: bold;
}
.access02 dl dd{
	width: calc( 100% - 110px );
    font-size: 18px;
    margin: 0 0 5px;
}
@media screen and (max-width: 767px) {
    .access02 dl dt {
        font-size: 15px;
    }
    .access02 dl dd {
        font-size: 15px;
        line-height: 1.4;
        margin: 0 0 10px;
    }
    .access02 .boxContentsList dd{
        width: 100%;
    }
}
/*==================================================================================================*/
/*introduce*/
#introduce .titleContents + p{
    margin: 0 0 60px;
}
#introduce .wrap01 ul li{
    align-items: center;
    margin: 0 0 100px;
    position: relative;
}
#introduce .wrap01 ul li .img{
    padding-top: 300px;
}
#introduce .titleContents{
    margin: 0 0 20px;
}
#introduce li .titleContents + p{
    margin: 0 0 20px;
}
#introduce li:nth-child(even){
    flex-direction: row-reverse;
}
#introduce li:nth-child(5) .titleContents{
    flex-wrap: wrap;
}
#introduce li:nth-child(5) .titleContents .subFont{
    width: 100%;
    padding: 0 0 0 20px;
    margin: 10px 0 0;
}

#introduce li .textBox{
    position: relative;
    z-index: 10;
    margin: 0;
}
#introduce li::before,
#introduce li::after{
    display: block;
    font-size: 120px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    color: var(--main-color);
    opacity: .1;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}
#introduce li:nth-child(1)::before{
    content: "CONSTRUCTION";
}
#introduce li:nth-child(2)::before{
    content: "CIVIL ENGINEERING";
    font-size: 98px;
    right: auto;
    left: 0;
}
#introduce li:nth-child(3)::before{
    text-align: right;
    content: "DESIGN";
    bottom: 122px;
}
#introduce li:nth-child(3)::after{
    text-align: right;
    content: "SUPERVISION";
}
#introduce li:nth-child(4)::before{
    content: "RENOVATION";
    right: auto;
    left: 0;
}
#introduce li:nth-child(5)::before{
    content: "MECHANICAL";
    font-size: 82px;
    text-align: right;
    bottom: 85px;
}
#introduce li:nth-child(5)::after{
    content: "PRODUCTION SUPPORT";
    font-size: 82px;
    text-align: right;
}
@media screen and (max-width: 1200px) {
    #introduce li::before,
    #introduce li::after{
        font-size: 100px;
    }
    #introduce li:nth-child(2)::before{
        font-size: 80px;
    }
    #introduce li:nth-child(3)::before{
        bottom: 102px;
    }
    #introduce li:nth-child(5)::before{
        font-size: 70px;
        bottom: 72px;
    }
    #introduce li:nth-child(5)::after{
        font-size: 70px;
    }
}
@media screen and (max-width: 1000px) {
    #introduce li::before,
    #introduce li::after{
        font-size: 80px;
    }
    #introduce li:nth-child(2)::before{
        font-size: 70px;
    }
    #introduce li:nth-child(3)::before{
        bottom: 82px;
    }
    #introduce li:nth-child(5)::before{
        font-size: 60px;
        bottom: 62px;
    }
    #introduce li:nth-child(5)::after{
        font-size: 60px;
    }
}
@media screen and (max-width: 820px) {
    #introduce li:nth-child(2)::before{
        font-size: 65px;
    }
    #introduce li:nth-child(5)::before{
        font-size: 55px;
        bottom: 57px;
    }
    #introduce li:nth-child(5)::after{
        font-size: 55px;
    }
}
@media screen and (max-width: 767px) {
    #introduce .wrap01 ul li{
        margin: 0 0 50px;
    }
    #introduce li::before,
    #introduce li::after{
        font-size: 65px;
    }
    #introduce li:nth-child(2)::before{
        font-size: 50px;
        text-align: left;
    }
    #introduce li:nth-child(3)::before{
        bottom: 67px;
    }
    #introduce li:nth-child(4)::before{
        text-align: left;
    }
    #introduce li:nth-child(5)::before{
        font-size: 40px;
        bottom: 42px;
    }
    #introduce li:nth-child(5)::after{
        font-size: 40px;
    }
    #introduce .wrap01 ul li .img {
        padding-top: 220px;
    }
}
@media screen and (max-width: 600px) {
    #introduce li::before,
    #introduce li::after{
        display: none;
    }
}

@media screen and (max-width: 520px) {
    #introduce .wrap01 ul li{
        margin: 0 0 30px;
    }
    #introduce .titleContents + p {
        margin: 0 0 30px;
    }
    #introduce .titleContents {
        margin: 0 0 10px;
    }
    #introduce li .titleContents + p {
        margin: 0 0 10px;
    }
    #introduce li .btn {
        margin: 0;
    }
    #introduce .btn::before,
    #introduce .btn::after {
        width: 35px;
        height: 35px;
    }
}
/*==================================================================================================*/
/*設計・監理*/
#branding .boxFlow li:nth-child(3)::after{
    bottom: -33px;
}
#branding .boxFlow li:nth-child(4)::after{
    bottom: -73px;
}
#branding .boxFlow li:nth-child(5){
    flex-direction: row-reverse;
}
#branding .boxFlow li:nth-child(5) p{
    width: calc( 100% - 140px );
    display: flex;
    align-items: center;
    justify-content: center;
    height: 73px;
    color: #FFF;
    text-align: center;
    background: var(--main-color);
    border-radius: 50px;
}
#branding .boxFlow li:nth-child(5)::after{
    display: none;
}
@media screen and (max-width: 767px) {
    #branding .boxFlow li:nth-child(3)::after{ bottom: -36px;}
}
@media screen and (max-width: 685px) {
    #branding .boxFlow li:nth-child(3)::after{ bottom: -27px;}
}
@media screen and (max-width: 578px) {
    #branding .boxFlow li:nth-child(3)::after{ bottom: -44px;}
}
@media screen and (max-width: 510px) {
    #branding .boxFlow li:nth-child(3)::after{ bottom: -53px;}
}
@media screen and (max-width: 474px) {
    #branding .boxFlow li:nth-child(3)::after{ bottom: -58px;}
}
@media screen and (max-width: 428px) {
    #branding .boxFlow li:nth-child(3)::after{ bottom: -23px;}
    #branding .boxFlow li:nth-child(5) p{
        width: 100%;
        height: 50px;
    }
}
/*施工実績*/
.achievements .titleContents{
    width: fit-content;
    margin: 0 0 20px;
}
.achievements .titleContents + p{
    width: fit-content;
    font-weight: bold;
    margin: 0 0 20px;
}
/*リニューアル/機械生産サポート*/
#renovation .bgImg{
    background: center / cover no-repeat url("../img/introduce04-01.jpg");
}
#mechanical .bgImg{
    background: center / cover no-repeat url("../img/introduce05-01.jpg");
}
#renovation .titleContents03,
#mechanical .titleContents03{
    color: #FFF;
    margin: 0 0 50px;
}
#renovation .titleContents03::after,
#mechanical .titleContents03::after{
    background: #FFF;
}
@media screen and (max-width: 767px) {
    #branding .boxLine .column3,
    #renovation .boxLine .column3{
        width: 50%;
        max-width: 50%;
    }
}
/*==================================================================================================*/
/*news*/
#news .pageBtn,
#topics .pageBtn{
    margin: 40px  auto 0;
}
/*==================================================================================================*/
/*originality01*/
#originality01 .wrap01 li.column{
    margin: 0 0 40px;
}
#originality01 .wrap01 .number{
    margin: 0 0 20px;
}
#originality01 .wrap01 h3{
    margin: 0 0 20px;
}
/*01*/
#originality01 .attention{
    padding: 20px 50px;
    margin: 20px 0 0;
}
#originality01 .attention h3{
    margin: 0 0 5px;
}
#originality01 .attention p::first-letter{
    color: var(--main-color);
}
/*02*/
#originality01 .wrap01 li:nth-child(2) .textBox + img{
    margin: -140px 0 0;
}
@media screen and (max-width: 1100px) {
    #originality01 .wrap01 li:nth-child(2) .textBox + img{ margin: -120px 0 0;}
}
@media screen and (max-width: 1000px) {
    #originality01 .wrap01 li:nth-child(2) .textBox + img{ margin: -85px 0 0;}
}
@media screen and (max-width: 900px) {
    #originality01 .wrap01 li:nth-child(2) .textBox + img{ margin: -50px 0 0;}
}
@media screen and (max-width: 767px) {
    #originality01 .wrap01 li:nth-child(2) .textBox + img{ margin: 0;}
}
#originality01 .wrap01 li:nth-child(2) img{
    border-radius: 20px;
}
#originality01 .wrap01 .boxThumbnail{
    margin: 40px 0 0;
}
#originality01 .wrap01 .boxThumbnail li img{
    border-radius: 10px;
    margin: 0 0 10px;
}
/*wrap02*/
#originality01 .wrap02 .title + p{
    margin: 0 0 40px;
}
@media screen and (max-width: 900px) {
    #originality01 .attention{
        padding: 20px 30px;
    }
    #originality01 .wrap01 h3{
        font-size: 20px;
    }
}
@media screen and (max-width: 767px) {
    #originality01 .boxThumbnail{
        margin: 0;
    }
}
/*==================================================================================================*/
#originality02 .wrap01{
    padding: 100px 0 60px;
}
#originality02 .column2{
    margin: 0 0 40px;
}
#originality02 .column2.img{
    padding-top: 36%;
}
#originality02 .column2 .number,
#originality02 .column2 h3{
    margin: 0 0 20px;
}
#originality02 .btn02{
    margin: 20px 0 0;
}
#originality02 .attention02:nth-child(2){
    margin: 0 0 40px;
}
#originality02 .attention02 h3{
    letter-spacing: 0;
}
#originality02 .attention02 img{
    width: 242px;
    margin: 0 0 20px;
}
#originality02 .attention02 img + p{
    width: calc( 100% - 270px );
    margin: 0 0 20px;
}
#originality02 .attention02 p:last-child{
    font-size: 16px;
}
@media screen and (max-width: 660px) {
    #originality02 .attention02 img + p{
        width: 100%;
    }
    #originality02 .attention02 p:last-child{
        font-size: 14px;
    }
}
@media screen and (max-width: 428px) {
    #originality02 .wrap01 {
        padding: 100px 0 30px;
    }
    #originality02 .attention02 img{
        width: 180px;
        margin: 0 auto 20px;
    }
    #originality02 .attention02 p:last-child{
        font-size: 13px;
    }
    #originality02 .column2{
        margin: 0 0 30px;
    }
    #originality02 .column2:last-child{
        margin: 0;
    }
}
#originality01 .wrap02 .btn,
#originality02 .wrap02 .btn{
    color: #000;
    margin: 40px 0 0 auto;
}
/*==================================================================================================*/
/*sustainability*/
#sustainability .fv .img{
    border: solid 5px var(--main-color);
}
#sustainability .fv .img + p{
    text-align: center;
    margin: 40px 0 0;
}
#sustainability .fv .img + p span{
    font-size: 20px;
    font-weight: bold;
}
#sustainability .fv .img + p + .link{
    margin: 20px auto 0;
}
.link{
    letter-spacing: 0;
    text-align: center;
    border-radius: 30px;
    background: #eeeeee;
    padding: 10px 0;
}
.link a{
    font-weight: bold;
    text-decoration: underline;
    color: #0071ac;
    margin: 0 auto;
}
#sustainability .wrap01 p{
    margin: 0 0 40px;
}
#sustainability .wrap01 p.link + img{
    margin: 0 0 40px;
}
#sustainability .wrap01 .over{
    margin: 0 0 40px;
}
#sustainability .over:last-child{
    margin: 0;
}
#sustainability .titleContents02{
    text-align: center;
    background: #0055a6;
}
/**/
#sustainability .boxContentsList{
    margin: 0 0 40px;
}
#sustainability .wrap01 .btn{
    margin: 40px 0 0;
}
@media screen and (max-width: 820px) {
    .link{
        line-height: 1.4;
        padding: 20px 15px;
    }
    .link a{
        display: block; 
    }
}
@media screen and (max-width: 768px) {
    .over{
        width: 100%;
        overflow: auto;
    }
    .simplebar-track.simplebar-horizontal {
      height: 10px;
      background: #B5B5B5;
      border-radius: 5px;
      max-width: 372px;
      margin: 10px auto 0;
    }
    .simplebar-scrollbar {
      height: 10px;
      background: #41485B;
      border-radius: 5px;
      top: 0;
    }
    /* スクロールバーの幅と高さを設定する *//*
    .over::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }
    /* スクロールバーの形を設定する *//*
    .over::-webkit-scrollbar-thumb {
        border-radius: 0.25rem;
    }
    /* スクロールバーの色を設定する *//*
    .over::-webkit-scrollbar-thumb {
        --bg-opacity: 1;
        border-radius: 5px;
        background-color: #999;
    }*/
    .over img{
        width: 690px;
    }
}
@media screen and (max-width: 520px) {
    #sustainability .fv .img + p span {
        font-size: 20px;
        font-weight: bold;
        text-align: center;
        display: inline-block;
        line-height: 1.4;
        margin: 10px auto 15px;
        width: 100%;
    }
    #sustainability .sp_res520 {
        display: block;
        margin: 0 0 40px;
    }
}
/*==================================================================================================*/
/*nagomi*/
#nagomi .titleContents + p{
    margin: 0 0 60px;
}
#nagomi .boxContents:nth-child(odd) .imageBox{
    padding-top: 34%;
}
#nagomi .boxContents:nth-child(odd) .textBox{
    margin: -150px 0 0;
}
#nagomi .boxContents:nth-child(even) .textBox{
    margin: -150px 0 0 auto;
}
#nagomi .btn{
    position: absolute;
    top: 0;
    right: 0;
}
#nagomi .boxFlow a{
    text-decoration: underline;
}
#nagomi .tableList a{
    text-decoration: underline;
}


#nagomi .wrap02 .boxThumbnail li{
    max-width: 100%;
    padding: 0 5px;
}
@media screen and (max-width: 960px) {
    /*高い天井〜〜〜*/
    #nagomi .boxContents:nth-child(2) .textBox h3{
        font-size: 23px;
    }
}
@media screen and (max-width: 860px) {
    #nagomi .boxContents:nth-child(2) .textBox h3{
        font-size: 21px;
    }
}
@media screen and (max-width: 768px) {
    #nagomi .boxContents:nth-child(odd) .textBox,
    #nagomi .boxContents:nth-child(even) .textBox{
        margin: 0;
    }
    #nagomi .boxContents:nth-child(2) .textBox h3{
        font-size: 20px;
    }
    #nagomi .btn{
        position: relative;
        right: auto;
        left: 0;
        margin: 50px 0 0;
    }
}
@media screen and (max-width: 428px) {
    #nagomi .boxFlow .textBox p{
        text-align: center;
    }
    #nagomi .btn{
        margin: 30px 0 0;
    }
}
/*==================================================================================================*/
/*privacy*/
#privacy .attention{
    margin: 0 0 40px;
}
#privacy .attention a{
    text-decoration: underline;
}
/*制定：２０２２年４月１日*/
#privacy .textList dl dd:nth-child(3){
    margin: 20px 0 0;
}
@media screen and (max-width: 768px) {
    #privacy .attention{
        margin: 0 0 20px;
    }
}
/*==================================================================================================*/
/*csr*/
#csr .wrap02 .title + P{
    margin: 0 0 40px;
}
#csr dl dd p{
    display: flex;
}
#csr dl dd p::before{
    display: block;
    content: "・";
    margin: 0 10px 0 0;
}
/*==================================================================================================*/
/*download*/
#download .titleContents{
    margin: 0 0 10px;
}
#download .titleContents + p{
    margin: 0 0 40px;
}
#download .tableList dl dt span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}
.downloadup a{
    display: block;
    width: fit-content;
    color: #0071ac;
    font-weight: bold;
    text-decoration: underline;
}
.downloadup a::after{
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    margin: 0 0 0 5px;
    position: relative;
    top: 4px;
}
.downloadup a::after{
    background: center / contain no-repeat url("../img/icon-pdf.svg");
}
#partner + .paLast ul{
	padding: 0 35px;
}
#partner + .paLast ul li{
	margin: 0 0 10px;
}
#partner + .paLast ul li a{
	font-size: 18px;
}
#partner + .paLast ul li a::before{
    display: inline-block;
    content: "›";
	font-size: 18px;
	color: #0071ac;
    margin: 0 10px 0 0 ;
}
@media screen and (max-width: 767px) {
	#download #partner + .paLast .titleContents + p{
		margin: 0 0 20px;
	}
	#partner + .paLast ul{
		padding: 0 10px;
	}
	#partner + .paLast ul li a{
		font-size: 15px;
	}
}
@media screen and (max-width: 401px) {
    #download dl:nth-child(2) dt br:nth-child(2){
        display: block;
    }   
}
/*==================================================================================================*/
/*==================================================================================================*/
.single .titleContents{
    margin: 0 0 40px;
}
.single p{
    margin: 15px 0 0;
}
.single img{
    display: block;
    margin: 15px 0 0;
}
.single .btn{
    width: 100%;
    margin: 40px 0 0;
}
.single + .titleContents{
    margin: 60px 0 40px;
}
@media screen and (max-width: 428px) {
    .single .titleContents{
        margin: 0;
    }
    .single .tag {
        width: 80px;
        height: 20px;
    }
}
/*==================================================================================================*/
/*==================================================================================================*/
.topics .tag{
    margin: 0 0 20px;
}
.topics .tag + .day{
    width: calc( 100% - 130px );
    text-align: right;
}
.side{
    width: 32%;
}
.side div{
    padding: 30px 20px;
    min-height: 460px;
    background: #ececec;
    border-radius: 10px;
    margin: 0 0 20px;
}
.side h4{
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 10px;
}
.side img{
    display: block;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    margin: 0 auto 10px;
}
.side p{
    font-size: 14px;
}
.side .btn{
    letter-spacing: 0;
}
@media screen and (max-width: 768px) {
    .side p{
        font-size: 12px;
    }
    .side .btn{
        font-size: 12px;
    }
}
/**/
.topics .boxThumbnail{
    width: 64%;
}
/**/
.construction-information{
    padding: 40px 40px;
    background: #ececec;
    border-radius: 10px;
    margin: 20px 0 60px;
}
.construction-information div{
    width: 32%;
}
.construction-information div:nth-child(2){
    width: 60%;
}
.construction-information dl{
    margin: 0 0 10px;
}
.construction-information dt{
    font-size: 18px;
    font-weight: bold;
}
.construction-information dd{
    font-size: 18px;
}
/*女性*/
.woman .side div{
    background: rgba(255,110,167,0.10);
    position: relative;
}
.woman .side div::before{
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 10px;
    border: solid 1px #727272;
    position: absolute;
    top: -5px;
    left: -5px;
}
/*==================================================================================================*/
.topics .side + .single{
    width: 64%;
}
.postBtn{
    justify-content: center;
    margin: 60px auto;
}

.postBtn .btn{
    width: fit-content;
    color: #000;
    margin: 0 40px;
}
.postBtn span{
    display: inline-block;
    content: "";
    width: 1px;
    height: 60px;
    background: var(--main-color);
}
.topics .postBtn + .boxThumbnail {
    width: 100%;
}
/*女性*/
.day.woman{
    width: 120px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    border-radius: 50%;
    border: solid 1px #727272;
    position: absolute;
    top: 0;
    right: 0;
}
.day.woman::before{
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(255,110,167,0.10);
    position: absolute;
    top: -5px;
    left: -5px;
}

.day.woman span{
    display: block;
    width: 100%;
    font-size: 12px;
    text-align: center;
    color: #666666;
    position: relative;
    z-index: 1;
}
.day.woman span:nth-child(2){
    font-size: 42px;
    line-height: 1;
}
@media screen and (max-width: 520px) {
    .day.woman {
        width: 80px;
        height: 80px;
    }
    .day.woman span:nth-child(2){
        font-size: 24px;
    }
}
.titleWoman{
    width: fit-content;
    padding: 15px 40px;
    position: relative;
}
.titleWoman::before{
    display: block;
    content: "";
    width: calc( 100% - 80px );
    height: 20px;
    background: rgba(255,110,167,0.30);
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.titleWoman span{
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.titleWoman span:nth-child(2){
    transform: rotate(180deg);
}
.titleWoman span::before{
    display: block;
    content: "";
    width: 30px;
    height: 30px;
    border-top: solid 1px #666666;
    border-left: solid 1px #666666;
    position: absolute;
    top: 0;
    left: 0;
}
.titleWoman span::after{
    display: block;
    content: "";
    width: 50px;
    height: 1px;
    background: #ff6ea7;
    transform: rotate(-45deg);
    position: absolute;
    top: 7px;
    left: -15px;
}



@media screen and (max-width: 767px) {
    .side{
        width: 100%;
    }
    .side div{
        min-height: auto;
    }
    .side a.btn{
        display: none;
    }
    .topics .boxThumbnail{
        width: 100%;
    }
    .boxThumbnail .column2{
        max-width: 100%;
    }
    .construction-information{
        padding: 15px;
    }
    .construction-information div{
        width: 100%;
    }
    .construction-information div:nth-child(2){
        width: 100%;
    }
    .construction-information dt{
        font-size: 15px;
    }
    .construction-information dd{
        font-size: 14px;
    }
}
@media screen and (max-width: 1366px) {
    .topicssingle .inner {
        max-width: 768px;
    }
}
.lb-data .lb-number{
    display: none !important;
}
.lb-data .lb-details{
    width: 100% !important;
}
.lb-data .lb-caption{
    font-size: 20px !important;
    width: 100%;
    display: block;
    text-align: center;
}
/*health*/
#health .single h3{
    display: flex;
    a;align-items: center;
    margin: 80px 0 40px;
}
#health .single h3:nth-child(1){
    margin: 0 0 40px;
}
#health .single h3::before{
    display: inline-block;
    content: "";
    width: 5px;
    height: 30px;
    background: var(--main-color);
    margin: 0 10px 0 0;
    position: relative;
}
#health .single h4{
    font-size: 24px;
    border-bottom: solid 2px var(--main-color);
    padding: 0 0 5px;
    margin: 0 0 40px;
}
#health .single p{
    margin: 0 0 40px;
}
#health .single .wp-block-image img,
#health .single .wp-block-table{
    margin: 0 0 40px;
}
#health .single .wp-block-columns img{
    margin: 0 0 20px;
}
#health .wp-block-table table {
    min-width: 500px;
    border: solid 3px var(--main-color);
}
#health .wp-block-table table tr:nth-child(odd){
    background: rgba(189,0,0,0.10);
}
#health .wp-block-table table tr:nth-child(1){
    color: #FFF;
    background: rgba(189,0,0,1.00);
}
#health .single .wp-block-table td,
#health .single .wp-block-table th {
    font-size: 18px;
    font-weight: bold;
    border: 1px solid;
    padding: 0.5em;
}
.healthList li{
    padding: 0 5px;
}
.single .healthList li img{
    margin: 0;
}
.healthList li p{
    font-weight: bold;
    text-align: center;
    margin: 0;
}
@media screen and (max-width: 768px) {
    
}
@media screen and (max-width: 520px) {
    #health .single h3{
        margin: 30px 0 20px;
    }
    #health .single h3:nth-child(1){
        margin: 0 0 20px;
    }
    #health .single h4{
        font-size: 18px;
        margin: 0 0 20px;
    }
    #health .single p{
        margin: 0 0 20px;
    }
    #health .single .wp-block-image img,
    #health .single .wp-block-table{
        margin: 0 0 20px;
    }
    #health .single .wp-block-columns img{
        margin: 0 0 10px;
    }
    #health .single .wp-block-table td,
    #health .single .wp-block-table th {
        font-size: 15px;
    }
    
    #health h3 + p + .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
        display: flex;
    }
}


/*プライバシーポリシー*/
.pagesingle h3{
	font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
	margin: 40px 0 0;
}
.pagesingle h3:first-child{
	margin: 0;
}
.pagesingle p{
	font-size: 18px;
    letter-spacing: 0.1em;
	margin: 10px 0 0;
}
.pagesingle h4{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
	margin: 10px 0 0;
}
.pagesingle h4 + p{
    width: 94%;
    margin: 0 auto 0;
}
#privacy .attention{
	margin: 40px 0 ;
}
#privacy .attention h3{
	text-align: center;
}
#privacy .attention h3 + p{
	text-align: center;
	margin: 0 0 10px;
}
#privacy .textList dl{
	margin: 0;
}
#personal .pagesingle a {
    display: inline;
    width: fit-content;
    color: #0071ac;
    font-weight: bold;
    text-decoration: underline;
}
#personal .pagesingle a::after {
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
	background: center / contain no-repeat url(../img/icon-pdf.svg);
    margin: 0 0 0 5px;
    position: relative;
    top: 4px;
}