/*--------------------
about.css
--------------------*/


.l-block{
  margin-top:-39.8rem;
  background-image:
    url("../images/common/page-bg01_pc.png"),
    url("../images/common/page-bg02_pc.png");
  background-position:
    top center,
    bottom center;
  background-repeat:
    no-repeat,
    no-repeat;
  background-size:
    100% auto,
    100% auto;
  background-color:
    transparent;
  min-height:76.5rem;
  padding-top:18.0rem;
  padding-bottom:18.0rem;
}
.l-block-wrapper{
  background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 50%, transparent 50%, transparent 100%);
}
.l-block-inner{
  max-width:calc(1200px + 10.0rem);
  width:100%;
  margin:0 auto;
  padding:0 5.0rem 14.0rem;
  background:#FFFFFF;
}
.l-block-table{
  width:100%;
  display:table;
}
.l-block-table > div{
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block-table-left{
  width:30.5rem;
  padding-right:5.5rem;
}
.l-block-table-left ul{
  width:25.0rem;
  position: sticky;
  top: 9.0rem;
}
.l-block-table-left ul li{
  display:block;
}
.l-block-table-left ul li a{
  display:block;
  border-bottom:1px solid #FFFFFF;
  background:#eaf7f5;
  padding:1.7rem 2.2rem;
  text-align: left;
  color:#303838;
  
  font-size:clamp(12px, 1.4rem, 14px);
  font-weight:700;
  line-height:1.5;
  letter-spacing: 0.05em;
}
.l-block-table-left ul li a:hover{
  background:#64beb4;
  color:#FFFFFF;
}
.l-block-table-left ul li:last-of-type a{
  border-bottom:none;
}
.l-block-table-right{
  width:89.5rem;
}
.l-block-table-right > div > span{
  display:block;
  font-family: 'satoshi-Bold';
  text-align: left;
  color:#64beb4;
  
  font-size:clamp(14px, 2.1rem, 21px);
  font-weight:700;
  line-height:1.71;
  letter-spacing: 0.05em;
}
.l-block-table-right > div > h2{
  display:block;
  text-align: left;
  color:#303838;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight:700;
  line-height:1;
  letter-spacing: 0.05em;
}


@media all and (max-width: 767.5px) {
  .l-block{
    margin-top:-17.4rem;
    background-image:
      url("../images/common/page-bg01_pc.png"),
      url("../images/common/page-bg02_pc.png");
    background-position:
      top center,
      bottom center;
    background-repeat:
      no-repeat,
      no-repeat;
    background-size:
      100% auto,
      100% auto;
    background-color:
      transparent;
    min-height:76.5rem;
    padding-top:12.0rem;
    padding-bottom:18.0rem;
  }
  .l-block-wrapper{
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 50%, transparent 50%, transparent 100%);
  }
  .l-block-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem 14.0rem;
    background:#FFFFFF;
  }
  .l-block-table{
    width:100%;
    display:block;
  }
  .l-block-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    text-align: left;
  }
  .l-block-table-left{
    width:100%;
    display:block;
    padding-right:0;
  }
  .l-block-table-left ul{
    width:100%;
    display:block;
    position: static;
    top: 9.0rem;
    text-align: left;
    font-size:0;
  }
  .l-block-table-left ul li{
    width:50%;
    display:inline-block;
    vertical-align: top;
    padding-top:0.4rem;
  }
  .l-block-table-left ul li:nth-of-type(odd){
    padding-right:0.3rem;
  }
  .l-block-table-left ul li:nth-of-type(even){
    padding-left:0.3rem;
  }
  .l-block-table-left ul li a{
    display:block;
    border-bottom:1px solid #FFFFFF;
    background:#eaf7f5;
    padding:1.7rem 2.2rem;
    text-align: left;
    color:#303838;

    font-size:2.6rem;
    font-weight:700;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-block-table-left ul li a:hover{
    background:#64beb4;
    color:#FFFFFF;
  }
  .l-block-table-left ul li:last-of-type a{
    border-bottom:none;
  }
  .l-block-table-right{
    width:100%;
    display:block;
    padding-top:6.0rem;
  }
  .l-block-table-right > div > span{
    display:block;
    font-family: 'satoshi-Bold';
    text-align: left;
    color:#64beb4;

    font-size:3.2rem;
    font-weight:700;
    line-height:1.71;
    letter-spacing: 0.05em;
  }
  .l-block-table-right > div > h2{
    display:block;
    text-align: left;
    color:#303838;

    font-size: 4.6rem;
    font-weight:700;
    line-height:1;
    letter-spacing: 0.05em;
  }
}


.l-block01{
  
}
.l-block01-table{
  width:100%;
  display:table;
  margin:3.5rem auto 0;
}
.l-block01-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block01-table-left{
  width:54.3rem;
  padding-right:2.0rem;
}
.l-block01-table-left p{
  text-align: justify;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:400;
  line-height:2.0;
  letter-spacing: 0em;
}
.l-block01-table-left p.l-block01-table-title{
  padding-bottom:2.0rem;
  text-align: left;
  color:#303838;
  
  font-size:clamp(16px, 2.4rem, 24px);
  font-weight:700;
  line-height:1.5;
  letter-spacing: 0.05em;
}
.l-block01-table-right{
  width:35.1rem;
  text-align: center;
  padding-top:1.0rem;
}
.l-block01-table-right picture{
  
}
.l-block01-table-right picture img{
  width:100%;
}
.l-block01-name{
  
}
.l-block01-name-wrapper{

}
.l-block01-name-p01{
  padding-top:2.5rem;
  text-align: center;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:700;
  line-height:1.5;
  letter-spacing: 0.05em;
}
.l-block01-name-p02{
  text-align: center;
  color:#303838;
  
  font-size: clamp(23px, 3.1rem, 31px);
  font-weight:700;
  line-height:1.2;
  letter-spacing: 0.05em;
}
.l-block01-name-p03{
  text-align: center;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:700;
  line-height:1.5;
  letter-spacing: 0.05em;
}


@media all and (max-width: 767.5px) {
  .l-block01{

  }
  .l-block01-table{
    width:100%;
    display:block;
    margin:3.5rem auto 0;
    display:-webkit-box;
    display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  .l-block01-table > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block01-table-left{
    width:100%;
    display:block;
    padding-right:0;
    padding-top:4.0rem;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
  }
  .l-block01-table-left p{
    text-align: justify;
    color:#303838;

    font-size:2.8rem;
    font-weight:400;
    line-height:2.0;
    letter-spacing: 0em;
  }
  .l-block01-table-left p.l-block01-table-title{
    padding-bottom:2.0rem;
    text-align: left;
    color:#303838;

    font-size:3.6rem;
    font-weight:700;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-block01-table-right{
    width:100%;
    display:block;
    text-align: center;
    padding-top:4.0rem;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-block01-table-right picture{
    display:block;
    text-align: center;
  }
  .l-block01-table-right picture img{
    width:100%;
  }
  .l-block01-name{
    text-align: right;
  }
  .l-block01-name-wrapper{
    display:inline-block;
  }
  .l-block01-name-p01{
    padding-top:2.5rem;
    text-align: center;
    color:#303838;

    font-size:2.8rem;
    font-weight:700;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-block01-name-p02{
    text-align: center;
    color:#303838;

    font-size: 4.2rem;
    font-weight:700;
    line-height:1.2;
    letter-spacing: 0.05em;
  }
  .l-block01-name-p03{
    text-align: center;
    color:#303838;

    font-size:2.8rem;
    font-weight:700;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
}


.l-block02{
  padding-top:7.5rem;
}
.l-block02 > picture{
  display:block;
  padding-top:4.5rem;
}
.l-block02 > picture img{
  width:100%;
}
.l-block02 table{
  margin:0 auto 0;
  width:100%;
}
.l-block02 table tr{
  
}
.l-block02 table tr th{
  width:18.5rem;
  vertical-align: top;
  padding:3.5rem 0.5rem 3.5rem 0;
  border-bottom:2px solid #64beb4;
  text-align: left;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:700;
  line-height:1.5;
  letter-spacing: 0.05em;
}
.l-block02 table tr td{
  width:auto;
  vertical-align: top;
  padding:3.5rem 0.5rem 3.5rem 0.5rem;
  border-bottom:2px solid #f2f2f2;
  text-align: left;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:400;
  line-height:1.5;
  letter-spacing: 0em;
}
.l-block02 table tr td ul{
  
}
.l-block02 table tr td ul li{
  text-align: left;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:400;
  line-height:1.5;
  letter-spacing: 0em;
  
  text-indent:calc( -1 * clamp(14px, 1.8rem, 18px));
  padding-left:clamp(14px, 1.8rem, 18px);
}
.l-block02 table tr td a{
  display:inline-block;
  background-image:
    url("../images/common/common-icon04_pc.png");
  background-position:
    right center;
  background-repeat:
    no-repeat;
  background-color:
    transparent;
  background-size:
    1.4rem auto;
  min-height:1.4rem;
  padding-right:2.0rem;
  text-align: left;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:400;
  line-height:1.5;
  letter-spacing: 0em;
}


@media all and (max-width: 767.5px) {
  .l-block02{
    padding-top:7.5rem;
  }
  .l-block02 > picture{
    display:block;
    padding-top:4.5rem;
  }
  .l-block02 > picture img{
    width:100%;
  }
  .l-block02 table{
    margin:0 auto 0;
    width:100%;
  }
  .l-block02 table tr{

  }
  .l-block02 table tr th{
    width:24.0rem;
    vertical-align: top;
    padding:3.5rem 0.5rem 3.5rem 0;
    border-bottom:2px solid #64beb4;
    text-align: left;
    color:#303838;

    font-size:2.8rem;
    font-weight:700;
    line-height:1.5;
    letter-spacing: 0.05em;
  }
  .l-block02 table tr td{
    width:auto;
    vertical-align: top;
    padding:3.5rem 0.5rem 3.5rem 0.5rem;
    border-bottom:2px solid #f2f2f2;
    text-align: left;
    color:#303838;

    font-size:2.6rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing: 0em;
  }
  .l-block02 table tr td ul{

  }
  .l-block02 table tr td ul li{
    text-align: left;
    color:#303838;

    font-size:2.6rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing: 0em;

    text-indent:-2.6rem;
    padding-left:2.6rem;
  }
  .l-block02 table tr td a{
    display:inline-block;
    background-image:
      url("../images/common/common-icon04_pc.png");
    background-position:
      right center;
    background-repeat:
      no-repeat;
    background-color:
      transparent;
    background-size:
      2.1rem auto;
    min-height:2.1rem;
    padding-right:2.6rem;
    text-align: left;
    color:#303838;

    font-size:2.6rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing: 0em;
  }
}


.l-block03{
  padding-top: 7.5rem;
}
.l-block03 table{
  width:100%;
  margin-top:4.0rem;
}
.l-block03 table tr{
  
}
.l-block03 table tr th{
  vertical-align: top;
  padding-bottom:4.0rem;
  width:20.3rem;
  text-align: left;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:700;
  line-height:1.75;
  letter-spacing: 0.05em;  
  
  padding-left:3.8rem;
  background-image:
    url("../images/about/block03-icon01_pc.png"),
    url("../images/about/block03-bg01_pc.png"),
    url("../images/about/block03-bg02_pc.png");
  background-position:
    left top 1.0rem,
    left 1.5rem top 1.6rem,
    left 0.7rem top;
  background-repeat:
    no-repeat,
    no-repeat;
  background-size:
    1.6rem auto,
    1.6rem 1px,
    1px auto;
  background-color:
    transparent;
}
.l-block03 table tr:first-of-type th{
  background-image:
    url("../images/about/block03-icon01_pc.png"),
    url("../images/about/block03-bg01_pc.png"),
    url("../images/about/block03-bg02_pc.png");
  background-position:
    left top 1.0rem,
    left 1.5rem top 1.6rem,
    left 0.7rem top 1.0rem;
  background-repeat:
    no-repeat,
    no-repeat,
    no-repeat;
  background-size:
    1.6rem auto,
    1.6rem 1px,
    1px auto;
  background-color:
    transparent;
}
.l-block03 table tr:last-of-type th{
  background-image:
    url("../images/about/block03-icon01_pc.png"),
    url("../images/about/block03-bg01_pc.png"),
    url("../images/about/block03-bg02_pc.png");
  background-position:
    left top 1.0rem,
    left 1.5rem top 1.6rem,
    left 0.7rem top;
  background-repeat:
    no-repeat,
    no-repeat,
    no-repeat;
  background-size:
    1.6rem auto,
    1.6rem 1px,
    1px 1.0rem;
  background-color:
    transparent;
}
.l-block03 table tr td{
  vertical-align: top;
  padding-bottom:4.0rem;
  width:auto;
  text-align: left;
  color:#303838;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:400;
  line-height:1.75;
  letter-spacing: 0em;
}


@media all and (max-width: 767.5px) {
  .l-block03{
    padding-top: 7.5rem;
  }
  .l-block03 table{
    width:100%;
    margin-top:4.0rem;
  }
  .l-block03 table tr{

  }
  .l-block03 table tr th{
    vertical-align: top;
    padding-bottom:4.0rem;
    width:22.0rem;
    text-align: left;
    color:#303838;

    font-size:2.8rem;
    font-weight:700;
    line-height:1.75;
    letter-spacing: 0.05em;  

    padding-left:3.8rem;
    background-image:
      url("../images/about/block03-icon01_pc.png"),
      url("../images/about/block03-bg01_pc.png"),
      url("../images/about/block03-bg02_pc.png");
    background-position:
      left top 1.5rem,
      left 1.5rem top 2.5rem,
      left 1.0rem top;
    background-repeat:
      no-repeat,
      no-repeat;
    background-size:
      2.4rem auto,
      2.4rem 1px,
      1px auto;
    background-color:
      transparent;
  }
  .l-block03 table tr:first-of-type th{
    background-image:
      url("../images/about/block03-icon01_pc.png"),
      url("../images/about/block03-bg01_pc.png"),
      url("../images/about/block03-bg02_pc.png");
    background-position:
      left top 1.5rem,
      left 1.5rem top 2.5rem,
      left 1.0rem top 1.5rem;
    background-repeat:
      no-repeat,
      no-repeat,
      no-repeat;
    background-size:
      2.4rem auto,
      2.4rem 1px,
      1px auto;
    background-color:
      transparent;
  }
  .l-block03 table tr:last-of-type th{
    background-image:
      url("../images/about/block03-icon01_pc.png"),
      url("../images/about/block03-bg01_pc.png"),
      url("../images/about/block03-bg02_pc.png");
    background-position:
      left top 1.5rem,
      left 1.5rem top 2.5rem,
      left 1.0rem top;
    background-repeat:
      no-repeat,
      no-repeat,
      no-repeat;
    background-size:
      2.4rem auto,
      2.4rem 1px,
      1px 1.5rem;
    background-color:
      transparent;
  }
  .l-block03 table tr td{
    vertical-align: top;
    padding-bottom:4.0rem;
    width:auto;
    text-align: left;
    color:#303838;

    font-size:2.6rem;
    font-weight:400;
    line-height:1.75;
    letter-spacing: 0em;
  }
}


.l-block04{
  padding-top: 3.5rem;
}
.l-block04-map{
  padding-top:2.0rem;
}
.l-block04-map iframe{
  width:100%;
  height:40.5rem;
}
.l-block04-map img{
  width:100%;
}


@media all and (max-width: 767.5px) {
  .l-block04{
    padding-top: 3.5rem;
  }
  .l-block04-map{
    padding-top:2.0rem;
  }
  .l-block04-map iframe{
    width:100%;
    height:40.5rem;
  }
  .l-block04-map img{
    width:100%;
  }
}



@media all and (max-width: 767.5px) {
  
}





@media all and (max-width: 767.5px) {
  
}




