@charset "UTF-8";








.pd_last {
padding-bottom: 100px !important;

}
.last_pad {

padding-top:50px !important;

padding-bottom: 100px !important;

}




@media screen and (max-width:767px) {


  .smart_city .page-title h1 {

    line-height: 1.6;
  }
 body .cre {
  font-size: 1rem;
  margin-left: 5px;
  }

body .fl_b_concept section ul li {
font-size: 1.4rem;

}

 body .fl_b_concept figure {

  margin: 15px;
  }


  body .fl_bsns figure {

    width: 25% ;
  }

body .tech,
body .concept {

width: 90% !important;
margin: 0 auto;
}

body .concept_main_ob {

width: 90%;
  margin: 0 auto;
  padding: 5px;
  box-sizing: border-box;

}

body .fl_b_concept {

display: block;

}


 body .fl_bam figure:nth-child(n + 4) { 

  padding: 0 ;

  }


  body .fl_bam figure {

    width: 100%;

  }


  body .sol_03_r h4 {

    font-size: 1.2rem;
  }

  body .sol_03_r h4::before {

    margin-top: 4px;

  }
  body .sol_04_r h4::before {
    margin-top: 7px;


  }

body .bg_03w {

background: url("/nexta_img/sol_03v2sp.jpg") center top;
background-size: contain;
  background-repeat: no-repeat;
}


body .sol_03_r p, body .bg_03w p {
  font-size: 1em;
}

body .spmt {
margin-top: 0px;

}


body .tit02 {

margin-top: 0px !important;

}


body .sol_02 figure .txt01 {
  top: 0;
    left: 10%;
    margin: 0;
    font-size: 1em;

}
body .sol_02 figure .txt02 {

  right: 1%;
    left: auto;
    font-size: 1em;
    position: relative;
    float: right;
    margin-top: 5px
}
body .sol_02 figure::after {
display: table-cell;
clear: both;


}


.main_tittle .main_txt {

font-size: 1.2em !important;
  word-break: break-all ;

}

body .tit01 {

  margin-top: 25px;

}


.sol01_img {
  margin-top: 15px;
  text-align: center;

}

.sol01_img img {
  width: 90%;
  max-width: 95%;
  margin: 0 auto;
}

body .sol01_r li:nth-child(2) {
/* margin-bottom: 51px;*/
margin-bottom: 0px;

}



body .tit01 h2 {
font-size: 1.1rem;

}

body .sol_02 p,
body .sol_01 p {

font-size: 1em;
padding: 0 5px;
    box-sizing: border-box;
    margin-top: 10px;

}

body .sol01_list ul li {

  font-size: 1em;

}

body .fl_b div {
    flex-basis: 50%;
    max-width: 50%;
    padding: 0 5px;
    box-sizing: border-box;
}

body .fl_b div ul {

margin-left: 1em;
}


body .sol_01 h3, .sol_01 p {

  margin-left: 0em;

}

body .sol01_list ul li::before {

margin-top: 2px;
}


.last_box {
  margin-top: 35px !important;  

  padding-bottom:0px !important;

}

.pd_last {

padding-bottom:10px !important;

}

.last_pad {

padding-top: 0px !important;
padding-bottom: 1px !important;

}


}



.page-title {

line-height: 2.3 !important;
}

.main_tittle .main_txt {

font-size: 2.2em;
  letter-spacing: 2.5px;
  padding: 0px 15px 35px;

}




.CONCEPT_01 {

background: #f5f6f7;
}

.CONCEPT_02 {

  margin-top: 92px;

}

.CONCEPT_02 img {

width: 400px;

}

.img_list {

  width: 95%;
  margin: 25px auto !important;

}

.img_list p {
text-align: justify;
  font-size: 1.28em;
  margin-top: 15px;

}

.pc_magin {

margin: 0 auto ;
}

.tit01 {
  background: #fff;
    padding: 5px 12px;
    box-sizing: border-box;
    border-bottom: 1px solid #92af98;
    margin-top: 90px;

}
.tit01 h2 {

  font-size: 2.02rem;

}

.tit01 p {

margin-left: 1.5em;
}

.tit02 {

margin-top: 0px;

}

.sol_02 figure {

position: relative;
margin-top: 25px;
margin-bottom: 35px;
}
.sol_02 figure p {

  position: absolute;
}


.sol_02 figure .txt01 {
  top: 12.5%;
    left: 39.5%;

}

.sol_02 figure .txt02 {
  left: 37%;
    bottom: 25%;
    line-height: 1.4;

}



@media all and (-ms-high-contrast: none) {
  .tit01  {
    padding: 8px 12px 0px !important;
    }

    .fl_b div h3 { 
      padding: 3px 6px 0px !important;
  

    }
    .sol_03_r h4::before, .sol_04_r h4::before {
margin-top: 5px !important;
}

}


.fl_b,
.fl_b02 {
display: flex;
justify-content: center;
margin-top: 25px;

}

.fl_b div {
flex-basis: 27%;
max-width: 27%;
}

.fl_b div:nth-child(2) {

  flex-basis: 46%;
max-width: 46%;
}

.fl_b div h3 {
  border: 1px solid #cecbcb;
    padding:0px 4px;
    font-weight: normal;
    box-sizing: border-box;
}

div h3:nth-child(2) {
margin-top: 15px;
}

.fl_b div ul {
  margin-top: 5px;
  margin-left: 2em;
  line-height: 1.6;
}


.sol01_r li:nth-child(2) {
margin-bottom: 55px;

}

.sol_01 h3,
.sol_01 p,
.sol_02 p,
.sol_03 p,  
.sol_04 p,  
.sol_05 p {
margin-left: 1em;
}

.sol_01 ul {

margin-bottom:  35px;
}

.sol01_list ul li {
position: relative;
margin-left: 1em;

}
.sol01_list ul li::before {
  content: '';
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    background: #054f2b;
    left: -15px;
    top: 0;
    margin-top: 5px;
}

.bg_03w {

background: url("/nexta_img/sol_03v2.jpg") center top;
    background-size: contain;
    width: 100%;
    background-repeat: no-repeat;
    min-height: 218px;   
    margin: 15px auto 0;
}
.sol_03_r p,
.bg_03w p {

font-size: 1.2em;

}

.sol_03 span {
font-size: 1.2em;
padding: 7px;
display: block;

}


.sol_03_r .img_list:nth-child(1) {

  padding: 0 18px;

}

.sol_03_r .img_list img,
.sol_04_r .img_list img {

padding: 5px 20px;
box-sizing: border-box;

}


.sol_03_r .img_list .img02 {

padding: 5px 20px 0 0;
box-sizing: border-box;

}

.sol_03_r h4,
.sol_04_r h4 {
  position: relative;
  margin-left: 1em;
}

.sol_03_r h4::before,
.sol_04_r h4::before {
  content: '';
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  background: #054f2b;
  left: -15px;
  top: 0;
  margin-top: 6px;
}


.sol_04_r .img_list {

width: 100%;
margin: 25px 10px 0px 2em !important;
box-sizing: border-box;

}

.sol_04_r .img_list .img02 {


padding: 5px 0px 0 0;
  box-sizing: border-box;
}

.sol_04_r .img_list span {

font-size: 1.2rem;
}

.ts_ta {
display: table;
margin-left: 15px;
}

.ts_ta span {
display: table-cell;
vertical-align: text-top;
font-size: 1.1rem;
}


.fl_b03 {

display: flex;
margin-left: 5px;
}

.fl_b03 div {

padding:5px 15px;
background: #e6ede5;
box-sizing: border-box;
margin: 15px 10px;
}



.sol_05 .w90 {
width: 90%;

}

.sp_img img {

padding: 8px;
box-sizing: border-box;

}


  .selected_ie {
  
  top:25% ;
  }
  
  
body img {

  width: 100%;/*
  image-rendering:-webkit-optimize-contrast ;*/
}


.fl_bsns {
margin-top: 25px;
  display: flex;
    justify-content: center;
    align-items: center;


}
.fl_bsns figure {

  margin: 15px;
  width:8% ;
}

.fl_bsns img {

  image-rendering: -webkit-optimize-contrast;
}


.fl_bam {

  
padding-top: 25px;
  display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}


.fl_bam figure {

width: 33.3%;

padding: 15px ;
box-sizing: border-box;
}


.fl_bam figure h4 {

  margin-top: 15px;
position: relative;
font-size: 1.6rem;
}



.fl_bam figure p {
margin-top: 5px;
  word-break: break-all;
  line-height: 1.2;
}

.fl_bam figure a {

  text-decoration: none;
color: #000;
}


.fl_bam figure a:hover {
opacity: .55;
-webkit-transition: all .3s; 
transition: all .3s; 
color: #ccc;
} 



.fl_bam figure:nth-child(n + 4) {

visibility: hidden;
-webkit-transition: all .5s; 
transition: all .5s; 
height: 0;
opacity: 0;

}

.ds_b {

  padding: 15px !important;
  height: 100% !important;
  visibility: visible !important;
opacity: 1 !important;
  -webkit-transition: all .5s; 
transition: all .5s; 

}


.am_button {

    background: #054f2b;
    width: 300px;
    margin: 15px auto;
    border-radius: 15px;
    padding: 8px;
    display: flex;
    justify-content: center;
    align-items: center;

}



.am_button h4 span {

  color: #fff;
  -webkit-transition: all .5s; 
transition: all .5s; 
}


.am_button h4.text {

  position: relative;
  color: #fff;
  display: flex;
  justify-content: center;
  -webkit-transition: all .5s; 
transition: all .5s; 

}

.am_button h4.text::before {

content: '閉じる';
display: block;
position: absolute;
left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
}


#am_sw01,
#am_sw02 {
  cursor: pointer;
}


#am_sw01:hover,
#am_sw02:hover {
  opacity: .55;
}

.opacity {
  opacity: 0;
  -webkit-transition: all .5s; 
transition: all .5s; 
}


.concept {

  width: 474px;
  margin: 0 auto;
  padding: 15px 0;
}




.concept_main_ob {

border:1px solid #054f2b ;
border-radius:15px ;

}


.fl_b_concept {
display: flex;
  justify-content: flex-start;
align-items: center;
margin: 45px 0;
}


.fl_b_concept section {

margin-top: 0px;

}


.fl_b_concept figure {

margin: 0 15px;


}

.fl_b_concept section h4 {

font-size: 2.2rem;
font-weight: normal;

}




.fl_b_concept section ul li {

margin-left: 1em;
position: relative;
font-size: 1.5rem;
}


.fl_b_concept section ul li::before {

content: '・';
display: table;
position: absolute;
left: -1em;
  top: 5%;
}

.mod-frame .mod-frame_inner
.tech {
width: 685px;
  margin: 0 auto;

}


.am_faq {
text-align: center;
font-size: 1.2rem;
}


.am_faq h5 {

margin-top: 25px;
}

body 
.smart_city
 p.main_text01 {

  font-size: 2.0rem !important;
}


.smart_city .main_tittle {

  padding-bottom: 50px;
}
body 
.smart_city p.concept_titlle, 
.concept_titlle {

  font-size: clamp(2.2rem, 0.783rem + 2.96vw, 3rem) !important;
  text-align: center;
   font-weight: normal;

}

.concept_titlle small {
display: block;
  font-size: 1.6rem;
  margin-bottom: 16px;
}

.smart_city .main_tittle p {

  font-size: 1.5rem ;
  letter-spacing: 0.1rem;
    word-break: auto-phrase;
}

.smart_city .concept_titlle em {

  font-style: normal;
  text-decoration: underline;
  text-underline-offset: 8px;
  font-weight: normal;
      text-decoration-thickness: 1px;


}



.fl_b_smart {

  display: flex;
}


.fl_b_smart figure {

  flex: 1;

  border: 1px solid #ccc;
text-align: center;
padding: 34px 22px;
display: grid;
grid-template-rows: 35px 1fr;
min-width: 0;

}

.fl_b_smart figure p {

  margin: 0;
}

.fl_b_warp {

  width: calc(100% - 25px);
max-width: 1040px;
margin: 0 auto;
}

.smart_city section {
  
  border-top: 0;
}
em.num02,
em.num {
position: relative;
font-size: 
clamp(2.8rem, 0.674rem + 4.43vw, 4rem);
display: flex;
justify-content: center;
align-items: center;

    gap: 0 5px;
    letter-spacing: 0.2rem;

}

em.num::after {
  content: '%';
  font-size: 1.6rem;
    font-weight: normal;
}
.fl_b_smart:has(.num02),
.fl_b_smart:has(.num) {

  background-color: #fff;
  display: flex;
}
.fl_b_smart:has(.num02) figure,
.fl_b_smart:has(.num) figure {

  grid-template-rows: 1fr;

}
.fl_b_smart:has(.num02) figure .date,
.fl_b_smart:has(.num) figure 
.date {

  color: #054f2b;

}
.sub-head  {
  margin-top: 26px;
    padding-bottom: 12px;
      margin-bottom: 26px;

  border-bottom: 1px solid #ccc;
}


.sub-head dl {

  display: flex;
gap: 5px;
}
.sub-head dl dt {
  white-space: nowrap;

  position: relative;
}


.sub-head dl dt::after {
content: '│';
    padding-left: 5px;

}


 .cat {
    color:#054f2b;
    font-size: 1.1rem;
    letter-spacing: .14em;
    font-weight: bold;
}
.fl_b_smart.report01 {

gap: 15px 25px;

}
.fl_b_smart.report01 figure {

  grid-template-rows:135px 1fr;
  padding: 0;
}

.report03 
.body01,
.report01 
.body01 { 
    padding: 16px 18px 20px;
    text-align: left;
background-color: #fff;
display: grid;
grid-template-rows: 20px 40px 1fr;
}
.report03 
.body01 h4,
.report01 
.body01 h4 {
  
  font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.6;
    margin: 8px 0 8px;
  
  }
.report03 
.body01 p,
  .report01 
.body01 p {

line-height: 1.85;
  
}
.fl_b_warp:has(.report03),
.fl_b_warp:has(.report01) {

  margin-bottom: 50px;
}

.fl_b_smart.report02 li {

  display: flex;
}


.report02 li {

  display: flex;

  border: 1px solid #ccc;
  align-items: center;
  margin-bottom: 25px;
  flex-wrap: wrap;
}

.report02 li figure:nth-child(3) {

  flex: 0 0 calc(100% / 3.8);  
}

.report02 li figure:nth-child(3) img {

padding: 15px;
box-sizing: border-box;
  
}



.report02 li figure {

    flex: 0 0 calc(100% / 3);
}


.report02 li .ev-body h4 {

  margin-bottom: 10px;
  font-size: 1.7rem;
}

.report02 li .ev-body {

  flex: 1;
}
.report02 li
 .ev-body {
    padding: 8px 20px;
    box-sizing: border-box;
}

.event-card h4 {
    font-size: 1.7rem;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.55;
    margin-bottom: 14px;
}

.report02 li dl {

  display: flex;
}

.report02 li dl dt {

  white-space: nowrap;
  position: relative;

}

.report02 li dl dt::after {

  content: '：';

}
.report01 img {

  height: 100%;
  object-fit: cover;
}

.fl_b_smart p:has(.num02)
 {
display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 5px;

}

.chart-warp {
background: #fff;
    border: 1px solid #ccc;
    padding: 20px;

}

.fl_b_smart.report03 {

  gap: 0 33px;


}

.fl_b_smart.report03 .body01 
{
  grid-template-rows: max-content;
  padding: 0;

}


.fl_b_smart.report03 figure {

  background-color: #fff;
  grid-template-rows: 1fr;
      padding: 16px 18px 20px
}
body 
section.con_04 
.fl_b_smart:has(.num02) figure {

padding: 30px 18px;
    grid-template-rows: 30px 30px 30px !important;
}
.con_04 .num02 {

  line-height: 1.31;
  font-size: clamp(2rem, 0.937rem + 2.22vw, 2.6rem);

}



.con_04 .sub-head {

  margin-top: 28px;
}

.con_04 figcaption {

  min-height: 2.6rem;
}

.con_04 img {

  width: fit-content;
}

.am_button a {

  display: block;
  color: #fff;
  
  text-decoration: none;
}

.link_button {

  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px 0;
}

a.btn {
    display: inline-block;
    background: transparent;
    color: #054f2b;
    text-decoration: none;
    padding: 16px 46px;
    border: 1px solid #054f2b;
    font-size: 1.4rem;
    letter-spacing: .14em;
    font-weight: bold;
    transition: .3s;
    border-radius: 15px;
}

a.btn:hover {
    background:#054f2b;
    color: #fff;
}
h2.concept_titlle small,
.en {

  color: #054f2b;
letter-spacing: .28em;
font-weight: bold;
font-size: 1.3rem;

}

.font_green {
color: #054f2b !important;
 

}
.smart_city .page-title h1 {
color: #054f2b !important;
letter-spacing: .14em;

font-size: clamp(3.4rem, 0.212rem + 6.65vw, 5.2rem);
}


.for_c p {

  font-size: 1.6rem;
}

.con_03 .fl_b_smart:has(.num02) figure {

      grid-template-rows: 22px 53px 20px;
}

h2.concept_titlle {

  width: calc(100% - 15px);
  margin: 0 auto;
} 

.smart_city {

  word-break: auto-phrase;

}



	.coment li {

    position: relative;
    display: flex;
    font-size: 1.2rem;
    border: none;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin-top: 8px;

    }

    .coment li::before {

        content: '※';


    }

    .con_04_inner {

      text-align: left;
    }

    .con_04_inner h3 {

      font-size: 2.2rem;
      padding: 0;

    }
    .smart_city .con_04
    .con_04_inner p {

      margin-top: 10px;
      margin-bottom: 15px;
       padding: 0;
    }


    .con_04_inner h4 {
      padding: 0;
      font-size: 2.0rem;
    }

      

@media screen and (max-width:989px) {
.con_03 .fl_b_smart figure,
 body  .con_04 .fl_b_smart:has(.num02) figure,
.report03 .body01, .report01 .body01 {

grid-template-rows:max-content !important ;
}

}
@media screen and (max-width:767px) {

.smart_city .main_tittle p {

font-size: 1.5rem !important;

}

  .top_v01 {

    aspect-ratio:1500 / 1120 ;
    overflow: hidden;
  }

  .top_v01 img  {

    height: 100%;

    object-fit: cover;
  }

body .fl_b_smart.report01 {

  gap: 15px 15px;
}

body .report02 li{

display: grid;
  grid-template-columns: repeat(1, 1fr);


}
.con_04 .fl_b_smart:has(.num02), 
.con_03 .fl_b_smart:has(.num02), 
body .fl_b_smart { 
display: grid ;
  grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr); 
}

body .report02 li img {

  width: auto;
}
.CONCEPT_01.con01 .report01 .body01 {
/*grid-template-rows: max-content;*/
grid-template-rows: 20px 60px 1fr !important;


}

body .smart_city .main_tittle p {

  line-height: 1.8;
}

body .fl_b_smart:has(.num) figure {

  padding-left: 5px;
  padding-right: 5px;

}

}


