
@import url('https://fonts.googleapis.com/css2?family=Archivo+Narrow:ital,wght@0,400..700;1,400..700&family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap');


/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0;color:inherit}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace, serif}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer;color:inherit}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}

 /*reset*/



*{
    box-sizing: border-box;
    line-height: 1;
    word-break: break-all;
}

:root {
  --colorBlack:#000000;
  --colorBlack-2:#333333;
  --colorRed:#E8472D;
  --colorBlue:#25CFE5;
}



img{
    max-width: 100%;
}





html{
font-family: "Noto Sans JP", sans-serif;
font-weight: 400;
font-style: normal;
/*background-color:var(--colorBlue);*/
color:#000000;
font-size: 10px;
}




.fontBarlowCondensed{
    font-family: "Barlow Condensed", sans-serif;
}
.fontArchivoNarrow{
    font-family: "Archivo Narrow", sans-serif;
}
.fontOswald{
    font-family: "Oswald", sans-serif;
}

.wrap{
    overflow: hidden;
    position: relative;
}

.contents{
    position: relative;
}


.inner{
    margin: auto;
    padding: 0 32px;
    max-width: 1338px;
    position: relative;
}

#pageLoading{
    position: fixed;
    z-index: 10000;
    background-color: var(--colorBlue);
    left: 0;
    top:0;
    width: 100%;
    display: flex;
    height: 100%;
        flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
}



#pageLoading .roader{
  width: 40px;
  height: 40px;
  border: 4px solid #000000;
  border-top: 4px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 50px auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}





.header{
    position: fixed;
    z-index: 10;
    height: 120px;
    display: flex;
    padding: 0 32px;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}



body.top .header.color{
}

.header img.logo{
    width: 202px;
    position: relative;
    z-index: 100;
}

.header .globalNav{
}

.header .globalNav ul{
    display: flex;
    list-style: none;
gap: 32px;
}

.header .globalNav ul li a{
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--colorBlack);
    text-decoration: none;
    padding-bottom: 10px;
    position:relative 
}

.header .globalNav ul li a:after{
    content:"";
    display: block;
    position: absolute;
    left: 0;
    bottom:0;
    width: 0;
    height: 2px;
    background-color: var(--colorBlack);
    transition: 0.3s;
}


.header.color .globalNav ul li a,
body:not(.top) .header .globalNav ul li a{
    color: var(--colorBlack-2);
}

.header.color .globalNav ul li a:after,
body:not(.top) .header .globalNav ul li a:after{
    background-color:var(--colorBlack-2);
}







.footer{
    background-color: #FFFFFF;
    padding-bottom: 16px;
}

body:not(.top) .footer{
    padding-top: 160px;
}
.footer .partner{
    padding-top: 112px;
    text-align: center;
}

.footer .partner h2{
    font-weight: 400;
    font-size: 2.0rem;
    padding-left: 0;
}
.footer .partner h2:before{
    content:none;
}


.footer .partner h3{
    margin-bottom: 24px;
    font-weight: 500;
    font-size: 1.4rem;
    margin-top: 56px;
}

.footer .partner ul{
    display: flex;
    list-style: none;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}


.footer .partner ul.main li img{
    width: 184px;
}


.footer .partner .subWrap{
    display: flex;
    gap: 80px;
    justify-content: center;
}

.footer .partner ul.sub{
    gap: 52px;
}

.footer .partner ul.sub li img.footerLogoJATA{
    width: 248px;
}
.footer .partner ul.sub li img.footerLogoPDS{
    width: 143px;
}

.footer .partner ul.sub li img.KDDI{
    width: 200px;
}
.footer .partner ul.sub li img.kap{
    width: 200px;
}


.footer .partner ul.list{
    max-width: 968px;
    gap: 48px;
    margin: auto;
    flex-wrap: wrap;
}

.footer .partner ul.list li{
    width: calc((100% - 144px) / 4);
    position: relative;
}


.footer .forCompanies{
    background-color: #FFFFFF;
    padding: 80px 0 64px;
    font-size: var(--colorBlack-2);
}

.footer .forCompanies h2{
    position: relative;
    width: fit-content;
    display: flex;
    font-size: 1.8rem;
    line-height: 1.7;
    text-align: center;
    gap: 16px;
    padding: 0;
    flex-direction: column;
    align-items: center;
    margin: 0 auto 40px;
    font-weight: 400;
    padding-left: 0;
}
.footer .forCompanies h2 span{
    font-size: 3.2rem;
    font-weight: 700;
}

.footer .forCompanies h2:before{
    content:none;
}


.footer .forCompanies p.message{
    font-size: 4.0rem;
    line-height: 1.7;
    text-align: center;
    font-weight: 700;
    margin-bottom: 40px;
    color: var(--colorBlue);
}
.footer .forCompanies p{
    font-size: 1.8rem;
    line-height: 2.1;
    font-weight: 500;
    text-align: center;
}


.footer .contact{
    position: relative;
}

.footer .contact ul{
    display: flex;
    gap: 72px;
    list-style: none;
    justify-content: center;
}

.footer .contact ul li{
    position: relative;
}

.footer .contact ul li a{
    min-width: 440px;
    display: block;
    display: flex;
    background-color: var(--colorBlue);
    color: var(--colorBlack-2);
    padding: 32px 0;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    font-size: 1.8rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    border: solid 2px var(--colorBlack-2);
    transition: 0.3s;
}




.footer p.copy{
    margin-top:168px;
    text-align: center;
    font-size: 1.2rem;
}

body.top .contents{
    background-color: var(--colorBlue);
}

body.top .mainImage{
    background-color: var(--colorBlue);
    height: 100vh;
    min-height: 880px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

body.top .mainImage .message{
    width: 90%;
    max-width: 1242px;
    color: #FFFFFF;
}

body.top .mainImage .message p{
    font-size: 2.3rem;
    line-height: 1.6;
    font-weight: 700;
    margin-top: 36px;
}

body.top .mainImage img.mainScrollDown{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom:90px;
    width: 100px;
}


body.top .topContents{
    background-color: #FFFFFF;
    border-radius: 20px 20px 0 0 ;
    padding-top: 96px;
}

body.top h2{
    font-size: 2.4rem;
    font-weight: 700;
    padding-left: 20px;
    position: relative;
}

body.top h2:before{
    content:"";
    display: block;
    width: 11px;
    height: 11px;
    background-color: var(--colorBlue);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top:50%;
    transform: translateY(-50%);
}





body.top .news{
    padding: 0 0 96px;
}

body.top .news .newsWrap{
    padding-bottom: 24px;
    border-bottom: solid 1px #B6B6B6;
    margin-bottom: 60px;
}

body.top .news h2{
    margin-bottom: 24px;
}

body.top .news ul{
    display: flex;
    gap: 16px;
    position: relative;
    list-style: none;
}

body.top .news ul li{
    width: calc((100% - 32px)/ 3);
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}

body.top .news ul li a{
    position: relative;
}

body.top .news ul li a .thumbWrap{}

body.top .news ul li a .thumbWrap .thumb{
    width: 100%;
    padding-bottom: 56.25%;
    background-size: cover;
    transition: 0.3s;
    position: relative;
}



body.top .news ul li a .thumbWrap .thumb h3{
position: absolute;
    left: 0px;
    bottom: 20px;
    display: flex;
    flex-direction: column;
    padding: 0 20px;

}

body.top .news ul li a .thumbWrap .thumb h3 span{
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--colorBlack-2);
    max-width:100%;
    width: fit-content;
    line-height: 2;
    background-color: #FFFFFF;
    padding: 0 8px;
    word-break: break-all;
}

body.top .news ul li a .thumbWrap .thumb h3 span:nth-of-type(1){
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
body.top .news ul li a .thumbWrap .thumb h3 span:nth-last-of-type(1){
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

body.top .news a.viewMore{
    display: block;
    width: fit-content;
    font-size: 1.8rem;
    font-weight: 700;
    margin-right: 0;
    margin-left: auto;
    margin-top: 24px;
    text-decoration: none;
    transition: 0.3s;
    color: var(--colorBlack);
}


body.top .news .newsAfter{
    position: relative;
    padding-left: 84px;
    padding-right: 84px;
}

body.top .news .newsAfter p.copy{
    color: var(--colorBlue);
    text-align: center;
    font-size: 2.4rem;
    padding-bottom: 20px;
    font-weight: 700;
    margin-bottom: 36px;
    border-bottom: solid 1px var(--colorBlue);
}


body.top .news .newsAfter .kddi{
    margin-top: 120px;
}

body.top .news .newsAfter ul{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
}




body.top .news .newsAfter ul li{
    text-align: center;
    position: relative;
    border-radius: 0;
    flex-shrink: 0;
}
body.top .news .newsAfter ul li.site{
    width: calc((100% - 40px - 80px)/2);
}
body.top .news .newsAfter ul li.site img{
    width: 330px;
}
body.top .news .newsAfter ul li.newsAfterBlank{
    width: 80px;
    position: relative;

    padding-top: 100px;
}
body.top .news .newsAfter ul li.jata{
    width: calc((100% - 40px - 80px)/2);
}

body.top .news .newsAfter ul li.jata img.logoMotto{
    width: 330px;
    margin-bottom: 24px;
}
body.top .news .newsAfter ul li.jata .aboutJATA{
    display: flex;
    gap: 10px;
    align-items: center;
}

body.top .news .newsAfter ul li.jata .aboutJATA img.logoJATA{
    width: 70px;
}

body.top .news .newsAfter ul li.jata .aboutJATA p{
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.5;
}

body.top .news .newsAfter .kddi ul{
}

body.top .news .newsAfter .kddi ul li.mirai{
    width: calc((100% - 40px - 80px)/2);
}

body.top .news .newsAfter .kddi ul li.mirai img{
    width: 330px;
    margin: auto;
}

body.top .news .newsAfter .kddi p.note{
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.5;
    margin: 20px auto 0;
    max-width: 1020px;
    text-align: center;
}



body.top .project{
        background-color: #EDEDED;
    border-radius: 20px 20px 0 0;
    padding: 96px 0 172px;
}

body.top .project .inner{
    background-image: url('../img/projectBg.svg');
    background-position: right 32px top;
    background-size: 75%;
}


body.top .project h2{
    margin-bottom: 24px;
}
body.top .project .projectList{
position: relative;
}

body.top .project .projectList ul{
    display: flex;
    gap: 64px;
    flex-direction: column;
}

body.top .project .projectList ul li{
    display: flex;
    padding-bottom: 64px;
    gap: 32px;
    border-bottom: dotted 1px #B6B6B6;
        align-items: flex-start;
}

body.top .project .projectList ul li .img{
    width: calc((100% - 32px)/ 2);
    overflow: hidden;
    border-radius: 16px;

    
}
body.top .project .projectList ul li .detail{
    width: calc((100% - 32px)/ 2);
    display: flex;
    gap: 22px;
    flex-direction: column;
}

body.top .project .projectList ul li .detail h3{
 font-weight: 700;
 color: var(--colorBlack-2);
 font-size: 2.4rem;
 line-height: normal;
}

body.top .project .projectList ul li .detail .partner{
    display: flex;
    gap: 8px;
    align-items: center;
}

body.top .project .projectList ul li .detail .partner p{
    font-size: 1.6rem;
    font-weight: 700;
}
body.top .project .projectList ul li .detail .partner img{
    width: 52px;
}


body.top .project .projectList ul li .detail p{
    font-size: 1.6rem;
    line-height: 1.7;
    color: var(--colorBlack-2);
}


body.top .project .projectList ul li .detail a.viewMore{
    display: block;
    width: fit-content;
    font-size: 1.8rem;
    font-weight: 700;
    margin-right: 0;
    margin-left: auto;
    margin-top: 24px;
    text-decoration: none;
    color: var(--colorBlack);
    transition: 0.3s;
}


body.top .about{
    background-color: var(--colorBlue);
    border-radius: 20px 20px 0 0;
    padding: 96px 0 152px;
    margin-top: -20px;
}

body.top .about h2{
margin-bottom: 64px;
}
body.top .about h2:before{
    background-color: var(--colorBlack);
}


body.top .about h3{
    color: var(--colorBlack);
    border-radius: 20px;
    border: solid 2px var(--colorBlack);
    line-height: 1;
    padding: 20px 0;
    font-weight: 700;
    font-size: 2.4rem;
    text-align: center;
    background-color: #FFFFFF;
}

body.top .about .aboutBackground ul{
    padding: 80px 0 88px;
    display: flex;
    list-style: none;
    justify-content: space-between;
    position: relative;
}

body.top .about .aboutBackground ul li{
    width: calc(100% / 3);
}

body.top .about .aboutBackground ul li h4{
    font-size: 2.4rem;
    font-weight: 700;
    padding-left: 25px;
    background-image: url('../img/aboutBackgroundH4Bg.svg');
    background-repeat: no-repeat;
    background-size: 18px auto;
    background-position: left center;
    width: fit-content;
    margin: 0 auto 40px;
}

body.top .about .aboutBackground ul li h4 span{
    font-size: 2.4rem;
    font-weight: 700;
    text-decoration: underline;
}

body.top .about .aboutBackground ul li .circle{
    display: flex;
    width: 328px;
    height: 328px;
    background-color: var(--colorBlack);
border-radius: 100%;
    margin: auto;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    padding: 60px 0;
}

body.top .about .aboutBackground ul li .circle p.summary{
    color: #FFFFFF;
    font-size: 1.8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: normal;
    font-weight: 700;
}
body.top .about .aboutBackground ul li .circle .number{
    display: flex;
    color: #FFFFFF;
    align-items: flex-end;
    justify-content: center;
    flex-direction: row;
}

body.top .about .aboutBackground ul li .circle .number p{
    font-size: 8.0rem;
    font-weight: 700;
}
body.top .about .aboutBackground ul li .circle .number span{
    font-size: 4.8rem;
font-weight: 700;
}

body.top .about .aboutBackground ul li p.note{
    margin-top: 12px;
    text-align: center;
    font-size: 1.0rem;
    line-height: 1.5;
}

body.top .about .aboutBackground ul li p.note a{
    color: #000000;
    text-decoration: none;
}

body.top .about .aboutPurpose .aboutPurposeBox{
    color: var(--colorBlack);
    border-radius: 20px;
    border: solid 2px var(--colorBlack);
    line-height: 1;
    padding: 80px 0;
    font-weight: 700;
    font-size: 2.4rem;
    background-color: #FFFFFF;
    margin-top: 56px;
}

body.top .about .aboutPurpose img.logo{
width: 534px;
margin: 0px auto 34px;
display: block;
}


body.top .about .aboutPurpose ul.detail{
    position: relative;
    display: flex;
    list-style: none;
    gap: 36px;
    align-items: flex-end;
}

body.top .about .aboutPurpose ul.detail li{
    width: calc((100% - 74px) / 3);
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
}

body.top .about .aboutPurpose ul.detail li h4{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: normal;
    font-weight: 700;
    font-size: 2.0rem;
    line-height: normal;
    color: var(--colorBlack);
    flex-grow: 1;
}


body.top .about .aboutPurpose ul.detail li img.aboutPurposeSummary_01{
    width: 168px;
}
body.top .about .aboutPurpose ul.detail li img.aboutPurposeSummary_02{
    width: 149px;
    margin-bottom: 20px;
}
body.top .about .aboutPurpose ul.detail li img.aboutPurposeSummary_03{
    width: 135px;
    margin-bottom: 20px;
}



body.top .about .aboutPurpose img.aboutPurposeArrow{
width: 635px;
margin: 48px auto 64px;
display: block;
}

body.top .about .aboutPurpose .action{
     padding: 0 50px;
}

body.top .about .aboutPurpose .action h4{
color: var(--colorBlue);
font-weight: 700;
margin-bottom: 24px;
font-size: 2.4rem;
text-align: center;
}

body.top .about .aboutPurpose .action ul{
    display: flex;
    gap: 65px;
    list-style: none;
}

body.top .about .aboutPurpose .action ul li{
    text-align: center;
    position: relative;
    width: calc((100% - 195px) / 4);
}

body.top .about .aboutPurpose .action ul li p{
    font-size: 1.8rem;
    line-height: 1.4;
    margin-top: 28px;
    text-align: center;
    font-weight: 500;
}

body.top .blank{
background-image: url('../img/topBlank.jpg');
    height: 187px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}




body:not(.top) .contents{
    padding-top: 120px;
}

body.archiveNews h1{
     font-size: 2.4rem;
    font-weight: 700;
    padding-left: 20px;
    position: relative;
    margin-top: 20px;
    margin-bottom: 24px;
}

body.archiveNews h1:before {
    content: "";
    display: block;
    width: 11px;
    height: 11px;
    background-color: var(--colorBlue);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

body.archiveNews ul#newsPosts{
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

body.archiveNews ul#newsPosts li{
    width: calc((100% - 32px) / 3);
    border-radius: 8px;
}




body.archiveNews ul#newsPosts li{
    width: calc((100% - 32px)/ 3);
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}

body.archiveNews ul#newsPosts li a{
    position: relative;
}

body.archiveNews ul#newsPosts li a .thumbWrap{}

body.archiveNews ul#newsPosts li a .thumbWrap .thumb{
    width: 100%;
    padding-bottom: 56.25%;
    background-size: cover;
    transition: 0.3s;
    position: relative;
}



body.archiveNews ul#newsPosts li a .thumbWrap .thumb h2{
position: absolute;
    left: 0px;
    bottom: 20px;
    display: flex;
    flex-direction: column;
    padding: 0 20px ;
}

body.archiveNews ul#newsPosts li a .thumbWrap .thumb h2 span{
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--colorBlack-2);
    max-width: 100%;
    width: fit-content;
    line-height: 2;
    background-color: #FFFFFF;
    padding: 0 8px;
    word-break: break-all;
}

body.archiveNews ul#newsPosts li a .thumbWrap .thumb h2 span:nth-of-type(1){
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
body.archiveNews ul#newsPosts li a .thumbWrap .thumb h2 span:nth-last-of-type(1){
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}


body.archiveNews  button#viewMore{
    display: block;
    width: fit-content;
    font-size: 1.8rem;
    font-weight: 700;
    margin-right: 0;
    margin-left: auto;
    margin-top: 24px;
    text-decoration: none;
    color: var(--colorBlue);
    transition: 0.3s;
}


body.archiveNews #viewMoreRoader{
  width: 40px;
  height: 40px;
  border: 4px solid #FF0000;
  border-top: 4px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 50px auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


body.singleNews .singleWrap{
    max-width: 832px;
    position: relative;
    margin: auto;
    padding-top: 40px;
}

body.singleNews .singleWrap .titles h1{
    font-size: 2.0rem;
    line-height: 1.6;
}

body.singleNews .singleWrap .eyecatch {
    border-radius: 16px;
    overflow: hidden;
    margin-top: 32px;
}
body.singleNews .singleWrap .postContents{
    margin-top: 32px;
    position: relative;
}


body.singleNews .singleWrap .newsDetail .postContents{
    position: relative;
    margin-bottom: 56px;
}

body.singleNews .singleWrap .newsDetail .postContents *{
font-size: 1.6rem;
line-height: 2;
max-width: 100%;
}

body.singleNews .singleWrap .newsDetail .postContents img{
    max-width: 100%;
    height: auto;
}

body.singleNews .singleWrap .newsDetail .postContents iframe{
    max-width: 100%;
}

body.singleNews .singleWrap .newsDetail .postContents h2{
font-size: 2.0rem;
line-height: 1.8;
margin-bottom: 16px;
font-weight: bold;
}

body.singleNews .singleWrap .newsDetail .postContents h3{
font-size: 1.8rem;
line-height: 1.8;
margin-bottom: 16px;
padding-bottom: 10px;
border-bottom:solid 1px #000000 ;
font-weight: bold;
}

body.singleNews .singleWrap .newsDetail .postContents h4{
font-size: 1.6rem;
line-height: 1.8;
margin-bottom: 16px;
font-weight: bold;
}



body.singleNews .singleWrap .newsDetail .postContents p{
    margin-bottom: 20px;
}

body.singleNews .singleWrap .newsDetail .postContents .wp-caption > p{
    font-size: 1.2rem;
}


body.singleNews .singleWrap .newsDetail .postContents .youtubeWrap{
    margin-bottom: 20px;
    position: relative;
padding-bottom: 56.25%;
}

body.singleNews .singleWrap .newsDetail .postContents .youtubeWrap iframe{
    position: absolute;
    left: 0;
    top:0;
    width: 100%;
    height: 100%;
}



body.singleNews .singleWrap .newsDetail .hrefLink{
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: center;
}

body.singleNews .singleWrap .newsDetail .hrefLink a.toTop{
    font-size: 1.4rem;
    line-height: 2.0;
    color: #000000;
    text-decoration: none;
}

body.singleNews .singleWrap .newsDetail .hrefLink a[rel="prev"]{
    display: block;
    width: 18px;
    height: 18px;
    position: relative;
}

body.singleNews .singleWrap .newsDetail .hrefLink a[rel="prev"]:after{
    content:"";
    display: block;
    position: absolute;
    left: 50%;
    top:50%;
    border-left:solid 2px #000000;
    border-bottom:solid 2px #000000;
    width: 10px;
    height: 10px;
    transform: translate(-50%,-50%) rotate(45deg);
}

body.singleNews .singleWrap .newsDetail .hrefLink a[rel="next"]{
    display: block;
    width: 18px;
    height: 18px;
    position: relative;
}

body.singleNews .singleWrap .newsDetail .hrefLink a[rel="next"]:after{
    content:"";
    display: block;
    position: absolute;
    left: 50%;
    top:50%;
    border-right:solid 2px #000000;
    border-top:solid 2px #000000;
    width: 10px;
    height: 10px;
    transform: translate(-50%,-50%) rotate(45deg);
}





.forSp{
	display: none!important;
}

.forPc{
	display: block!important;
}


/*hover*/
@media screen and (min-width: 781px){

        .header .globalNav ul li a:hover:after{
            width: 100%;
        }

        .footer .contact ul li a:hover{
            background-color: #FFFFFF;
        }

        body.top .news ul li a:hover .thumbWrap .thumb{
            transform: scale(1.1);
        }

        body.top .news a.viewMore:hover{
            padding-right: 20px;
        }

        body.top .project .projectList ul li .detail a.viewMore:hover{
            padding-right: 20px;
        }

        body.archiveNews ul#newsPosts li a:hover .thumbWrap  .thumb{
            transform: scale(1.1);
        }

        body.archiveNews  button#viewMore:hover{
            padding-right: 20px;
        }
        .header{
            transition: background-color 0.3s;
        }
        body:not(.top) .header:hover,
        body.top .header.color:hover{
            background-color: rgba(255,255,255,0.9);
        }


}


@media screen and (max-width: 780px){

    .inner{
        padding: 0 15px;
    }
    .header{
        height: 70px;
        padding: 0 15px;
    }
    .header img.logo{
        width: 120px;
    }
    .header .globalNav{
        position: fixed;
        z-index: 20;
        width: 100%;
        height: 100vh;
        left: 0;
        top: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        flex-wrap: nowrap;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: 0.3s;
        background-color: var(--colorBlue);
    }
    body.navShow .header .globalNav{
        opacity: 1;
        visibility: visible;
        overflow-y: auto;
    }
    .header .globalNav ul{
        display: flex;
        gap: 20px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
    }
    .header .globalNav ul li a,
    .header.color .globalNav ul li a,
    body:not(.top) .header .globalNav ul li a{
        font-size: 3.0rem;
    }

    body:not(.top) img.logo_color,
    .header.color img.logo_color{
        display: block;
    }
    body:not(.top) img.logo_white,
    .header.color img.logo_white{
        display: none;
    }

    

    body.navShow .header.color img.logo_color{
        display: none;
    }
    body.navShow .header.color img.logo_white{
        display: block;
    }


    body:not(.top).navShow .header img.logo_color{
        display: none;
    }

    body:not(.top).navShow .header img.logo_white{
        display: block;
    }


    #navToggles{
        position: fixed;
        z-index: 100;
        width: 50px;
        height: 50px;
        right: 10px;
        top:10px;
            border-radius: 100%;
            background-color: var(--colorBlue);
    }
    #navToggles .inner{
        padding: 0;
        width: 50px;
        height: 50px;
    }
    #navToggles .inner:before{
    }

    #navToggles .inner span{
        position: absolute;
        width: 15px;
        height: 1px;
        display: block;
        background-color: var(--colorBlack);
        transform: translate(-50%,-50%);
        left: 50%;
        top:50%;
        transition: 0.3s;
    }
    #navToggles .inner span:nth-of-type(1){
        margin-top: -4px;
    }
    #navToggles .inner span:nth-of-type(3){
        margin-top: 4px;
    }
    #navToggles.open .inner span:nth-of-type(2){
        display: none;
    }
    #navToggles.open .inner span:nth-of-type(1){
        transform: translate(-50%,-50%) rotate(30deg);
        margin: 0;
    }
    #navToggles.open .inner span:nth-of-type(3){
    transform: translate(-50%,-50%) rotate(-30deg);
    margin: 0;
    }

    body:not(.top) .footer{
        padding-top: 80px;
    }


    .footer .partner{
        padding-top: 64px;
    }
    .footer .partner h2{
        font-size: 1.6rem;
    }
    .footer .partner h3{
        font-size: 1.2rem;
        margin-top: 36px;
        margin-bottom: 16px;
    }
    .footer .partner ul.main li img{
        width: 100px;
    }
    .footer .partner ul.sub{
        gap: 20px;
    }
    .footer .partner .subWrap{
        display: block;
    }
    .footer .partner ul.sub li img.footerLogoJATA{
        width: 100px;
    }
    .footer .partner ul.sub li img.footerLogoPDS{
        width: 60px;
    }

    .footer .partner ul.sub li img.KDDI{
        width: 100px;
    }
    .footer .partner ul.sub li img.kap{
        width: 100px;
    }


    .footer .partner ul.list{
        width: 100%;
        gap: 20px;
    }
    .footer .partner ul.list li {
        width: calc((100% - 40px) / 3);
        position: relative;
    }
    .footer .contact ul{
            flex-direction: column;
            gap: 20px;
    }
    .footer .contact ul li a{
        width: 100%;
        min-width: 100%;
        padding: 20px;
        font-size: 1.6rem;
        border-radius: 8px;
    }
    .footer .forCompanies{
        padding: 36px 0 64px;
    }
    .footer .forCompanies h2{
        margin: 0 auto 16px;
        gap: 8px;
        font-size: 1.4rem;
    }
    .footer .forCompanies h2 span{
        font-size: 1.9rem;
    }
    .footer .forCompanies p.message{
        font-size: 2.1rem;
        margin-bottom: 16px;
    }
    .footer .forCompanies p{
        font-size: 1.4rem;
    }


    .footer p.copy{
        font-size: 1.0rem;
        margin-top: 80px;
    }
    body.top .mainImage{
    min-height: fit-content;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 70px;
        padding-bottom: 32px;
    }
    body.top .mainImage a{
        margin-top: 60px;
        display: block;
    }
    body.top .mainImage img.mainScrollDown{
        width: 80px;
        position: static;
        transform: translateX(0);
    }
    body.top .topContents{
        border-radius: 12px;
        padding-top: 32px;
    }
    body.top h2{
        font-size: 2.0rem;
    }

    body.top .news .newsWrap{
        padding-bottom: 20px;
        border-bottom: solid 1px #B6B6B6;
        margin-bottom: 24px;
    }

    body.top .news{
        padding-bottom: 64px;
    }
    body.top .news h2{
        margin-bottom: 16px;
    }
    body.top .news .scrollable {
        display: block;
        overflow-x: auto;
        padding-right: 20px;
        padding-bottom: 20px;
    }
    body.top .news ul{
        width: fit-content;
    }
    body.top .news ul li{
        width:calc(100vw - 60px);
        border-radius: 8px;
    }
    body.top .news a.viewMore{
        margin-top: 0;
        font-size: 1.4rem;
    }
    body.top .news ul li a .thumbWrap .thumb h3{
        bottom:10px;
        padding:0 10px;
    }
    body.top .news ul li a .thumbWrap .thumb h3 span{
        font-size: 1.2rem;
    }
    body.top .news .newsAfter{
        padding-left: 0;
        padding-right: 0;
    }
        body.top .news .newsAfter p.copy{
        line-height: 1.5;
    }
    body.top .news .newsAfter ul{
        flex-direction: column;
        width: 100%;
    }
    

    body.top .news .newsAfter ul li.site,
    body.top .news .newsAfter ul li.jata{
        width: 100%;
        padding: 0 20px;
    }
    body.top .news .newsAfter ul li.site img{
        width: 150px;
    }
    body.top .news .newsAfter ul li.newsAfterBlank{
        width: 100%;
        padding-top: 0;
    }
    body.top .news .newsAfter ul li.newsAfterBlank img{
        width: 45px;
    }
    body.top .news .newsAfter ul li.jata img.logoMotto{
        width: 150px;
        margin-bottom: 16px;
    }
    body.top .news .newsAfter ul li.jata .aboutJATA{
        flex-direction: column;
    }
    body.top .news .newsAfter ul li.jata .aboutJATA img.logoJATA{
        width: 50px;
    }

    body.top .news .newsAfter ul li.jata .aboutJATA p{
        font-size: 1.0rem;
    }

    body.top .news .newsAfter .kddi ul{
    }
    body.top .news .newsAfter .kddi ul li.mirai{
        padding:0 20px;
        width: 100%;
    }
    body.top .news .newsAfter .kddi p.note{
            font-size: 1.0rem;
            width: calc(100% - 40px);
            text-align: left;
    }
    body.top .project{
        padding-top: 32px;
        border-radius: 12px;
        padding-bottom: 84px;
    }
    body.top .project h2{
        margin-bottom: 16px;
    }
    body.top .project .projectList ul{
        gap: 24px;
    }
    body.top .project .projectList ul li{
        padding-bottom: 24px;
    }
    body.top .project .projectList ul li{
            flex-direction: column;
            gap: 16px;
    }
    body.top .project .projectList ul li .img{
        width: 100%;
        border-radius: 12px;
    }
    body.top .project .projectList ul li .detail{
        width: 100%;
        gap: 8px;
    }
    body.top .project .projectList ul li .detail h3{
        font-size: 2.0rem;
    }
    body.top .project .projectList ul li .detail .partner p{
        font-size: 1.2rem;
    }
    body.top .project .projectList ul li .detail .partner  img{
        width: 32px;
    }
    body.top .project .projectList ul li .detail p{
        font-size: 1.4rem;
    }
    body.top .project .projectList ul li .detail a.viewMore{
        margin-top: 20px;
        font-size: 1.4rem;
    }
    body.top .about{
        padding-top: 32px;
        border-radius: 12px 12px 0 0;
        padding-bottom: 64px;
    }
    body.top .about h2{
        margin-bottom: 16px;
    }
    body.top .about h3{
        font-size: 1.8rem;
        padding:10px 0;
        border-radius: 8px;
    }
    body.top .about .aboutBackground ul{
        padding: 36px 0 52px;
        flex-direction: column;
        gap: 36px;
    }
    body.top .about .aboutBackground ul li{
        width: 100%;
    }
    body.top .about .aboutBackground ul li h4{
        font-size: 1.6rem;
        margin-bottom: 16px;
        background-size: auto 100%;
    }
    body.top .about .aboutBackground ul li h4 span{
        font-size: 1.6rem;
    }
    body.top .about .aboutBackground ul li .circle{
        width: 250px;
        height: 250px;
        padding: 0 0;
        gap: 20px;
        justify-content: center;
    }
    body.top .about .aboutBackground ul li .circle p.summary{
        font-size: 1.4rem;
    }
    body.top .about .aboutBackground ul li .circle .number p{
        font-size: 6.5rem;
    }
    body.top .about .aboutBackground ul li .circle .number span{
        font-size: 3.5rem
    }
    body.top .about .aboutPurpose .aboutPurposeBox{
        margin-top: 36px;
        padding: 36px 0;
    }
    body.top .about .aboutPurpose img.logo{
        width: 80%;
        margin: 0 auto 24px;
    }
    body.top .about .aboutPurpose ul.detail{
        gap: 12px;
        flex-direction: column;
    }
    body.top .about .aboutPurpose ul.detail li{
        width: 100%;
        padding: 16px;
        border-radius: 8px;
        gap: 8px;
    }
    body.top .about .aboutPurpose ul.detail li h4{
        font-size: 1.6rem;
    }
body.top .about .aboutPurpose ul.detail li img.aboutPurposeSummary_01{
    width: 135px;
}
body.top .about .aboutPurpose ul.detail li img.aboutPurposeSummary_02{
    width: 120px;
    margin-bottom: 0px;
}
body.top .about .aboutPurpose ul.detail li img.aboutPurposeSummary_03{
    width: 108px;
    margin-bottom: 0px;
}



    body.top .about .aboutPurpose img.aboutPurposeArrow{
        width: 100%;
        margin: 36px 0;
    }
    body.top .about .aboutPurpose .action{
        padding: 0;
    }
    body.top .about .aboutPurpose .action h4{
        font-size: 2.0rem;
    }
    body.top .about .aboutPurpose .action ul{
        gap: 20px;
        flex-wrap: wrap;
    }
    body.top .about .aboutPurpose .action ul li{
        width: calc((100% - 20px) / 2);
    }
    body.top .about .aboutPurpose .action ul li img{
        width: 80%;
        margin: auto;
    }
    body.top .about .aboutPurpose .action ul li p{
        font-size: 1.4rem;
        margin-top: 8px;
    }
    body.top .blank{
        height: 78px;
    }


    body:not(.top) .contents{
        padding-top: 70px;
    }
    body.archiveNews h1{
        font-size: 2.0rem;
        margin-bottom: 16px;
        margin-top: 30px;
    }
    body.archiveNews ul#newsPosts{
        gap: 15px;
    }
    body.archiveNews ul#newsPosts li{
        width: 100%;
    }
    body.archiveNews button#viewMore{
        font-size: 1.4rem;
    }
    body.archiveNews ul#newsPosts li a .thumbWrap .thumb h2{
        bottom: 10px;
        padding: 0 10px;
    }
    body.archiveNews ul#newsPosts li a .thumbWrap .thumb h2 span{
        font-size: 1.2rem;
    }


    body.singleNews .singleWrap{
        width: 100%;
    }
    body.singleNews .singleWrap .titles h1{
        font-size: 1.8rem;
    }
    body.singleNews .singleWrap .eyecatch{
        margin-top: 24px;
        border-radius: 8px;
    }
    body.singleNews .singleWrap .newsDetail .postContents{
        margin-top: 24px;
        margin-bottom: 64px;
    }



body.singleNews .singleWrap .newsDetail .postContents *{
font-size: 1.4rem;
}


body.singleNews .singleWrap .newsDetail .postContents h2{
font-size: 1.6rem;
line-height: 1.6;
margin-bottom: 12px;
font-weight: bold;
}

body.singleNews .singleWrap .newsDetail .postContents h3{
font-size: 1.5rem;
line-height: 1.5;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom:solid 1px #000000 ;
font-weight: bold;
}

body.singleNews .singleWrap .newsDetail .postContents h4{
font-size: 1.4rem;
line-height: 2;
margin-bottom: 8px;
font-weight: bold;
}



body.singleNews .singleWrap .newsDetail .postContents p{
    margin-bottom: 15px;
}

body.singleNews .singleWrap .newsDetail .postContents .youtubeWrap{
    margin-bottom: 15px;
}

body.singleNews .singleWrap .newsDetail .postContents .wp-caption > p{
    font-size: 1.0rem;
}


    .forSp{
        display: block!important;
    }
    .forPc{
        display: none!important;
    }
}



@media  (max-width: 1090px) and (min-width: 781px){
    body.top .about .aboutBackground ul li h4{
        line-height: 2;
    }
    body.top .about .aboutBackground ul li h4 span{
        display: block;
    }
    body.top .about .aboutBackground ul li .circle{
        width: 280px;
        height: 280px;
    }
    body.top .about .aboutBackground ul li .circle p.summary{
        font-size: 1.6rem;
    }
}
@media  (max-width: 960px) and (min-width: 781px){
    .footer .contact ul{
        gap: 30px;
    }
    .footer .contact ul li{
        width: calc((100% - 30px) / 2);
        position: relative;
    }
    .footer .contact ul li a{
        width: 100%;
        min-width: fit-content;
    }
}

body.top .news .newsAfter .kddi img.kddiLogo{
    margin: 0 auto 48px;
    display: block;
    width: calc(100% - 180px);

}
@media screen and (max-width: 780px){
body.top .news .newsAfter .kddi img.kddiLogo{
        width: calc(100% - 40px);
        margin: 0 auto 20px;
}
}

/*pageAnimation*/
.fadein {
  opacity: 0;
/*
 transform: translateY(30px);
 */ 
 transition: opacity 0.6s, transform 0.6s;
  
}

.fadein.is-show {
  opacity: 1;
/*  transform: translateY(0);*/
}