@charset "UTF-8";


#mainvisual {
  background-color: gray;
  background-image: url(img/society_hero_pc.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  margin: 0 auto;
  height: 470px;
  position: relative;
}
#mainvisual_sports_support {
  background-color: gray;
  background-image: url(img/society_support_mv_pc.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  margin: 0 auto;
  height: 470px;
  position: relative;
}


.hero_ttl {
  text-align: center;
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero_ttl>figcaption {
  font-size: 2.2rem;
  padding-left: 15px;
}

.scroll_caption p {
  color: #fff;
  position: absolute;
  display: inline-block;
  /* font-family: "philosopher"; */
  font-size: 2rem;
  height: 70px;
  line-height: 70px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -14%);
}

.scroll_caption p::after {
  content: '';
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 2px;
  height: 30px;
  margin: auto;
  background-color: #fff;
}

/* ---------------- main_ttl-pc start ------------- */
#main_ttl {
  width: 100%;
  max-width: 1000px;
  text-align: center;
  margin: 0 auto;
  margin-top: 80px;
  margin-bottom: 55px;
}

#main_ttl h1 {
  line-height: calc(50 / 30);
  font-size: 3.0rem;
  font-weight: 500;
  margin-bottom: 50px;
}

#main_ttl p {
  line-height: calc(38 / 16);
}

/* ---------------- main_ttl-pc end ------------- */
/* ---------------- grid_item-2 start ------------- */
/* -------- Yokonarabi_compornet start --------- */
.grid {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* .grid_item{
} */


.grid_col>.grid_item {
  width: 32%;
}

.grid_col_2>.grid_item {
  width: 50%;
}

.grid_col_3>.grid_item {
  width: 33.3%;
  padding: 0 20px;
}

.grid_col_4>.grid_item {
  width: 25%;
}
@media screen and (max-width: 999px) {

.sdgs_inner{
  width: 96%;
  margin: 0 auto;
}
}


@media screen and (max-width: 768px) {
  .grid {
    justify-content: space-between;
  }

  .grid_col_2>.grid_item,
  .grid_col_3>.grid_item,
  .grid_col_4>.grid_item {
    margin: 20px 0;
  }

  .grid_col>.grid_item {
    width: 50%;
  }

  /* .grid_item_ttl{
 height: 100px;  
  } */
  .grid_item_ttl,
  .grid_item_description {
    padding: 10px;
  }
}

/* -------- Yokonarabi_compornet end --------- */

/* ---------------- FRP 耐食防水工法 start ------------------- */

.section_primary {
  background-color: #ffffff;
  padding-top: 100px;
  padding-bottom: 100px;
}
.section_secondary {
  background-color: #F0F6F8;
  padding-top: 100px;
  padding-bottom: 100px;
}

.grid_header {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  border-bottom: 1px solid #707070;
}

.grid_header h1 {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 25px;
}

.grid_header figure img {
  display: block;
  width: 100%;
  margin: 0 auto;
  max-width: 239px;
  margin-bottom: 40px;
}

.grid_header figcaption {
  margin-bottom: 50px;
  line-height: 2;
}

.sdgs_introduction {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  border-bottom: 1px solid #707070;
  padding-bottom: 40px;
}

.grid_item_card {
  width: 100%;
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
}
.grid_item_img img{
  width: 245px;
}
.grid_item_desc{
  max-width: 573px;
  line-height: 2;
} 
.grid_item_desc p{
margin-bottom: 50px;
} 
.p_bold{
  font-weight: 700;
}
.sdgs_introduction h2{
  padding-top: 40px;
  padding-bottom: 15px;
  font-size: 2.4rem;
  font-weight: 500;
}
.sdgs_pdf_dl{
  margin: 0 auto;
  margin-top: 55px;
  text-align: center;
  line-height: 2;
}
.sdgs_pdf_dl figcaption{
  margin-top: 20px;

}

.sdgs_pdf_dl img{
width: 192px;
}
.sdgs_pdf_dl h2{
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.social_partner_disc{
height: 500px;
}
.social_pdf_dl{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  margin-bottom: 140px;
}
.hp_partner_logo img{
width: 180px;
}
.partnership_logo img{
width: 312px;
height: 166px;
}

.social_partner_dl_pdf img{
  width: 192px;
}

.social_partner_caption{
text-align: left;
max-width: 460px;
width: 100%;
}
/* ------------------ スポーツ支援 start ----------------- */
.sports_support_inner{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  line-height: 1.75;
}
.sports_support_inner h1{
font-size: 2rem;
margin-bottom: 20px;
}
.sports_support_article{
  display: flex;
  justify-content: space-between;
}
.sports_support_text{
  width: 100%;
  max-width: 460px;
}
.sports_support_text p{
padding-bottom: 20px;
}
.sports_support_img{
  width: 100%;
  max-width: 460px;
}
.sports_support_img li:first-child img{
  padding-bottom: 76px;
}

.sports_support_inner{
  margin-bottom: 30px;
}


.yt_ch_btn{
  position: relative;
  display: flex;
  background-color: #fff;
}
.yt_ch_btn li{
  display: inline-block;
  font-weight: 500;
}
.yt_ch_btn li:nth-child(2)
{
  position: absolute;
  top: 31%;
  left: 25%;
}
/* ------------------ スポーツ支援 end ----------------- */
.back_btn p {
  text-align: center;
  padding-top: 12px;
}
.back_btn {
  font-size: 1.6rem;
  margin: 0 auto;
  background-color: #0051A4;
  border-radius: 50px;
  color: #fff;
  width: 258px;
  height: 45px;
}

/* ----- FRP防水工法「マサミモレーヌ」の推移 end ---- */

/* ---------------- catalog_download start ------------- */
.catalog_dl {
  background-image: url(img/download_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  position: relative;
  height: 727px;
  margin-bottom: 140px;
  padding-top: 100px;
}

.catalog_dl_grid {
  background-color: rgba(255, 255, 255, 0.511);
  -webkit-backdrop-filter: blur(20px);
  /* ぼかしエフェクト */
  backdrop-filter: blur(20px);
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  height: 560px;
  padding: 60px 60px;
}

.catalog_dl_ttl h1 {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 45px;
}

.catalog_dl_ttl p {
  text-align: center;
}

.catalog_item {
  margin-top: 44px;
  display: flex;
  justify-content: space-between;
}

.catalog_index li {
  line-height: 2em;
}

.catalog_btn {
  margin-top: 38px;
  background-color: #00AEB5;
}

.parent {
  display: grid;
  grid-template-columns: 257px;
  grid-template-rows: 45px 1fr 45px;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

.div1 {
  grid-area: 1 / 1 / 4 / 2;
}

.div2 {
  grid-area: 1 / 2 / 2 / 4;
  padding-left: 30px;
  font-weight: 700;
}

.div3 {

  grid-area: 2 / 2 / 3 / 3;
  line-height: 1.6;
  padding-left: 30px;
}

.div4 {
  grid-area: 2 / 3 / 3 / 4;
  line-height: 1.6;
  padding-left: 45px;
}

.div5 {
  grid-area: 3 / 2 / 4 / 4;
  background-color: #00AEB5;
  border-radius: 50px;
  color: #fff;
  margin: 0 auto;
  width: 250px;
  padding-left: 52px;
}

.div6 {
  grid-area: 3 / 3 / 4 / 4;
  background-color: #00AEB5;
  border-radius: 50px;
  padding-left: 30px;
  color: #fff;
  margin-left: 45px;
}

.div5 p::before {
  content: url(img/PDF_icon.png);
  padding-right: 10px;
  transform: translateY(8px);
  display: inline-block;
}

.div6 p::before {
  content: url(img/PDF_icon.png);
  padding-right: 10px;
  transform: translateY(8px);
  display: inline-block;
}

/* ---------------- catalog_download end ------------- */
.banner_works {
  background-image: url(img/works_background_pc.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  position: relative;
  height: 419px;
  margin-bottom: 140px;
}

.banner_works_box {
  position: absolute;
  background-color: #fff;
  width: 239px;
  height: 244px;
  top: 18%;
  left: 50%;
  transform: translate(-50%, 0);
  text-align: center;
}

.banner_works_box>p {
  margin-top: 5.5rem;
}

.banner_works_box h1 {
  font-size: 2.8rem;
  /* font-family: "Shippori Mincho B1"; */
  margin-top: 2.3rem;
  margin-bottom: 5rem;
}

.more_detail_link p {
  font-weight: 400;
}

.arrow::after {
  content: url("../img/arrow.png");
  width: 50px;
  padding-right: 10px;
  padding-left: 5px;
  transform: translateY(-4px);
  display: inline-block;
}

.foot_banner {
  margin-bottom: 90px;
}

.foot_banner_inner {
  max-width: 1000px;
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  list-style: none;

}

.foot_banner_inner figure img {
  list-style: none;
  margin-bottom: 2rem;
  width: 100%;
}



.sub_ttl h2 {
  margin-top: 10px;
}

.foot_banner_inner h2 {
  margin-top: 10px;
  font-size: 2.6rem;
  /* font-family: "Shippori Mincho B1"; */
}


/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
@media screen and (max-width:999px) {
  #main_ttl {
    width: 96%;
    margin: 0 auto;
    margin: 80px auto 55px;
    
}
  .sdgs_inner {
    width: 96%;
    margin: 0 auto;
}
  .social_pdf_dl {
    width: 96%;
    margin: 0 auto;
    margin-bottom: 140px;
}
.social_pdf_dl li {
  width: 49%;
}


}

/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
@media screen and (max-width:769px) {


  #header_inner {
    background-color: gray;
    background-image: url(img/society_hero_sp.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    margin: 0 auto;
    height: 100vh;
    /* position: relative; */
  }
  #header_inner {
    background-image: url(img/society_support_mv_sp.png);
  }
  .mv_sdgs_sp{
    background-image: url(img/society_hero_sp.png)!important;
  }

  #main_ttl {
    text-align:left;
    width:90%;
    margin-top:40px;
    margin-bottom:50px;
}



  .hero_ttl {
    width: 100%;
  }
  .sdgs_inner{
    width: 90%;
    margin: 0 auto;
  }

  .social_pdf_dl li {
    width: 100%;
  }

/* ------------------------------------- */

.grid_item_card {
display: block;
}

.grid_item_img{
  width: 245px;
  margin: 0 auto;
}
.grid_item_desc {
  max-width: 573px;
  line-height: 2;
  margin-top: 20px;
}
.grid_item_desc p{
margin-bottom: 30px;
} 
.p_bold{
  font-weight: 700;
}

/* --------------------- sports support sp start ---------------------- */
.sports_support_inner {
  width: 94%;
  margin: 0 auto;
  line-height: 1.75;
}

.sports_support_article {
display: flex;
flex-direction: column;
}
.sports_support_inner h1 {
  font-size: 2.4rem;
}

#main_ttl h1 {
text-align: center;
}

.yt_ch_btn {
  position: relative;
  display: flex;
  background-color: #fff;
  width: 94%;
  margin: 0 auto;
}
.sports_support_text{
  order: 2;
}
.sports_support_img{
  orphans: 1;
}

.sports_support_img img {
  padding-bottom: 20px;
  /* max-width:350px; */
  width: 100%;
}


.yt_ch_btn li:nth-child(2) {
  position: absolute;
  top: 18%;
  left: 32%;
}
/* --------------------- sports support sp end ---------------------- */

.sdgs_introduction h2{
text-align: center;
margin-bottom: 15px;
}

.social_pdf_dl{
  max-width: 1000px;
  width: 96%;
  margin: 0 auto;
  display: block;
  margin-bottom: 140px;
}

.sdgs_pdf_dl {
  width: 90%;
  margin-top: 100px;
}
.social_partner_caption {
margin: 20px auto;
}

.social_partner_disc {
  height: auto;
}


.social_partner_caption {
  text-align: left;
  max-width: 769px;
  width: 100%;
}


/* ------------------------------------- */

  .grid_item_ttl {
    height: 40px;
    width: 100%;
    margin-bottom: 33px;
  }

  .grid_item {
    margin: 0 auto;
    margin-bottom: 75px;
  }


  .grid_item_description {
    margin-bottom: 0px;
  }

  .product_caption {
    margin-bottom: 0px;
    padding-left: 8px;
  }



  .sub_ttl {
    text-align: center;
    margin-bottom: 0px;
    padding-left: 10px;
  }

  .catalog_dl_grid {
    width: 90%;
    height: fit-content;
    padding: 10px 10px;
  }


  .catalog_dl {
    background-image: url(img/download_bg_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: fit-content;
    padding-bottom: 100px;

  }

  .catalog_dl_ttl {
    padding-top: 30px;
  }

  .parent {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 351px 70px 1fr 40px 1fr 20px;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    margin-bottom: 50px;
  }

  .div1 {
    grid-area: 1 / 1 / 2 / 2;
    background-color: rgba(0, 183, 255, 0.305);
    margin: 0 auto;

  }

  .div2 {
    grid-area: 2 / 1 / 2 / 2;
    font-weight: 700;
    text-align: center;
    padding-left: 0px;
    padding-top: 40px;

  }

  .div3 {
    grid-area: 3 / 1 / 3 / 2;
    line-height: 1.6;
    padding-left: 15%;
  }

  .div4 {
    grid-area: 4 / 1 / 4 / 2;
    line-height: 1.6;
    padding-left: 15%;
  }

  .div5 {
    grid-area: 6 / 1 / 6 / 2;
    background-color: #00AEB5;
    border-radius: 50px;
    color: #fff;
    height: 45px;
    /* text-align: center; */
    width: 80%;
    margin: 0 auto;
  }



  .card_inner img {
    width: 48%;
  }

  .card_inner figcaption {
    width: 48%;
  }

  .about_morene_card {
    width: 90%;
    margin: 0 auto;
    left: 0;
    right: 0;
  }

  /* ----- FRP防水工法「マサミモレーヌ」の推移 start ---- */

  .frp_morene_suii {
    width: 90%;
  }

  .frp_morene_suii h1 {
    font-feature-settings: "palt" 1;
  }
  /* ----- FRP防水工法「マサミモレーヌ」の推移 end ---- */
  /* ---------------------------------------------------------------  */
  .scroll table {
    width: 100%;
  }

  .scroll {
    overflow: auto;
    /*tableをスクロールさせる*/
    white-space: nowrap;
    /*tableのセル内にある文字の折り返しを禁止*/
  }

  .scroll::-webkit-scrollbar {
    /*tableにスクロールバーを追加*/
    height: 5px;
  }

  .scroll::-webkit-scrollbar-track {
    /*tableにスクロールバーを追加*/
    background: #F1F1F1;
  }

  .scroll::-webkit-scrollbar-thumb {
    /*tableにスクロールバーを追加*/
    background: #BCBCBC;
  }

  /* ---------------------------------------------------------------  */
  .about_morene {
    background-image: url(img/service_morene_bckground_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 526px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 247px;
  }

  .banner_works {
    background-image: url(../img/works_background_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100vw;
    position: relative;
    height: 419px;
    margin-bottom: 140px;
  }

  .banner_works_box {
    position: absolute;
    background-color: #fff;
    width: 239px;
    height: 244px;
    top: 18%;
    left: 50%;
    transform: translate(-50%, 0);
    text-align: center;
  }

  .foot_banner_inner {
    display: block;
    padding-left: 0;
  }

  .foot_banner_inner ul {
    margin-bottom: 20px;
  }

  .foot_banner_inner figure {
    margin: 0 auto;
    width: 96%;
  }

  .foot_banner_inner figure img {
    width: 100%;
    margin-top: 50px;
  }

}