main {
    color: #434E48;
    line-height: 2.2;
}

#top {
    margin-top: 5vw;
}

#top h1{
    text-align: left;
    margin:0 3vw 3vw;
}

.practice_visual {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 0;
}

.ttl_txt {
  width: 40vw;
  padding:4vw 3vw 0;
}

.ttl_txt p{
  font-size: 0.938vw;
}

.ttl_en {
    position: absolute;
    left: 0%;
    bottom: 0%;
    color: #434E48;
    font-size: 14rem !important;
    opacity: 0.1 !important;
    line-height: 1.0;
    text-align: left;
}

.title::after {
    display: none;
}

.ttl_img img{
    width: 50vw;
    height: 50vh;
    object-fit: cover;
    vertical-align: bottom;
    position: relative;
    z-index: -1;
}

/* ページ内リンク */
#practice_link {
  background-color: #144d53;
  padding-top: 5vw;
}

#practice_link nav {
  width: 70vw;
  margin: auto;
}

#practice_link nav ul {
  display: flex;
  flex-wrap: wrap;
}

#practice_link nav ul li {
  width: fit-content;
  margin-right: 2vw;
}

#practice_link nav ul li a{
  color: #FBFAF8;
  position: relative;
}

#practice_link nav ul li a::before {
  content: "▼";
  position: absolute;
  left: -15px;
}

.jump_point {
  height: 1px;
  display: block;
  padding-top: 140px;
  margin-top: -140px;
}

/* practice_areas */
#practice_areas {
  background-color: #144d53;
  padding: 3vw;
}

.practice_areas_inner {
  width: 70vw;
  margin: 5vw auto;
}

.practice_areas_content {
  width: 100%;
  height: 30vw;
  background-color: #FBFAF8;
  position: relative;
  z-index: 0;
  margin-bottom: 5vw;
}

.content_inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 80%;
  height: 20vw;
}

.practice_content_txt {
  display: flex;
  justify-content: space-between;
}

.practice_txt {
  width: 40vw;
}

.practice_txt a {
  color: #144d53;
  font-size:1.146vw;
  display: block;
  width: fit-content;
  margin-left: auto;
  position: relative;
}

.practice_txt a::after {
  position: absolute;
  right: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #144d53;
  bottom: -1px;               
  transform: scale(0, 1);     
  transform-origin: left top; 
  transition: transform 0.3s; 
}
  
.practice_txt a:hover::after {
  transform: scale(1, 1);     
}

.practice_content_txt img {
  width: 10vw;
}

.practice_content_ttl {
  width: 30vw;
  border-bottom: solid 1px #307672;
  margin-bottom: 3vw;
}

.practice_content_ttl h3 {
  color: #307672;
}

.practice_content_ttl h2 {
  font-size:1.042vw;
  line-height: 3.5;
}

.practice_content_txt img {
  width: 100%;
  height: 10vw;
  object-fit: contain;
}

.roumu_img img{
  width: 100%;
  height: 13vw;
  object-fit: contain;
}

#practice_areas .more_btn {
  width: 30vw;
  margin: 10vw auto 15vw;
  background-image: linear-gradient(to right, #FBFAF8 0%, #FBFAF8 50%, #333 50%, #333 100%);
  transition: color 0.4s, background-position 0.4s;
}

#practice_areas .more_btn:hover {
  color: #333;
}

@media screen and (max-width: 1600px) {
  .content_inner {
    width: 85%;
  }

  .practice_content_txt p {
    font-size: 12px;
  }
}



/* 問い合わせ */
#contact {
    display: flex;
    position: relative;
    width: 100vw;
    height: 85vh;
    background: linear-gradient(
          90deg,
          #307672 0%,
          #307672 0%,
          #307672 30%,
          #144d53 20%
        );
  }
  
  #contact a{
    color: #434E48;
    width: 25vw;
    line-height: 6.0;
    text-align: center;
    align-items: center;
    background:linear-gradient(
          to right,
          #584F45,
          #584F45 50%,
          transparent 50%,
          transparent) 100% 0 / 200% 100%;
    transition:background-position 0.3s;
    position: absolute;
    top: 30%;
    right: 10%;
    z-index: 3;
    background-color: #FBFAF8;
  }
  
  #contact a:hover {
    color: #fff;
    background-position:0 0;
  }
  
  #contact p {
    color: #434E48;
    position: absolute;
    bottom: -10%;
    right: 0;
    font-size: 16rem;
    opacity: 0.6;
  }
  
  .contact_image {
    position: absolute;
    top: -10%;
  }
  
  .contact_image img{
    width: 55%;
  }
  
  .yajirushi {
    display: block;
    width: fit-content;
    margin: 40px auto;
    text-align: center;
  }
  
  .Arrow-Bottom {
    position: relative;
    border-bottom: solid 4px #144d53;
    border-right: solid 4px #144d53;
    width: 50px;
    height: 50px;
    transform: rotate(45deg);
    margin: 20px;
  }
  
  .Arrow-Bottom::after {
    content: '';
    position: absolute;
    top: 35%;
    left: 35%;
    right: 0;
    margin: 0 auto;
    border-bottom: solid 4px #144d53;
    border-right: solid 4px #144d53;
    width: 50px;
    height: 50px;
  }
  /* 問い合わせここまで */
  
  /* 問い合わせレスポンシブ */
  @media screen and (max-width: 1300px){
    #contact {
      display: flex;
      position: relative;
      width: 100vw;
      height: 55vh;
      background: linear-gradient(
            90deg,
            #307672 0%,
            #307672 0%,
            #307672 30%,
            #144d53 20%
          );
    }
    
    #contact a{
      color: #434E48;
      width: 25vw;
      line-height: 6.0;
      text-align: center;
      align-items: center;
      background:linear-gradient(
            to right,
            #584F45,
            #584F45 50%,
            transparent 50%,
            transparent) 100% 0 / 200% 100%;
      transition:background-position 0.3s;
      position: absolute;
      top: 30%;
      right: 10%;
      z-index: 3;
      background-color: #FBFAF8;
    }
    
    #contact a:hover {
      color: #fff;
      background-position:0 0;
    }
    
    #contact p {
      color: #434E48;
      position: absolute;
      bottom: -10%;
      right: 0;
      font-size: 11rem;
      opacity: 0.6;
    }
    
    .contact_image {
      position: absolute;
      top: -10%;
    }
    
    .contact_image img{
      width: 55%;
    }
  }
  
  @media screen and (max-width: 1024px){
    #contact {
      display: flex;
      position: relative;
      width: 100vw;
      height: 45vh;
      background: linear-gradient(
            90deg,
            #307672 0%,
            #307672 0%,
            #307672 30%,
            #144d53 20%
          );
    }
    
    #contact a{
      color: #434E48;
      width: 25vw;
      line-height: 4.0;
      text-align: center;
      align-items: center;
      background:linear-gradient(
            to right,
            #584F45,
            #584F45 50%,
            transparent 50%,
            transparent) 100% 0 / 200% 100%;
      transition:background-position 0.3s;
      position: absolute;
      top: 30%;
      right: 10%;
      z-index: 3;
      background-color: #FBFAF8;
    }
    
    #contact a:hover {
      color: #fff;
      background-position:0 0;
    }
    
    #contact p {
      color: #434E48;
      position: absolute;
      bottom: -10%;
      right: 0;
      font-size: 8rem;
      opacity: 0.6;
    }
    
    .contact_image {
      position: absolute;
      top: -10%;
    }
    
    .contact_image img{
      width: 55%;
    }
  }
  
  @media screen and (max-width: 768px){
    #contact {
      display: flex;
      position: relative;
      width: 100vw;
      height: 35vh;
      background: linear-gradient(
            90deg,
            #307672 0%,
            #307672 0%,
            #307672 30%,
            #144d53 20%
          );
    }
    
    #contact a{
      color: #434E48;
      width: 25vw;
      font-size: 1rem;
      line-height: 4.0;
      text-align: center;
      align-items: center;
      background:linear-gradient(
            to right,
            #584F45,
            #584F45 50%,
            transparent 50%,
            transparent) 100% 0 / 200% 100%;
      transition:background-position 0.3s;
      position: absolute;
      top: 30%;
      right: 10%;
      z-index: 3;
      background-color: #FBFAF8;
    }
    
    #contact a:hover {
      color: #fff;
      background-position:0 0;
    }
    
    #contact p {
      color: #434E48;
      position: absolute;
      bottom: -10%;
      right: 0;
      font-size: 6rem;
      opacity: 0.6;
    }
    
    .contact_image {
      position: absolute;
      top: -10%;
    }
    
    .contact_image img{
      width: 55%;
    }
  }
  
  @media screen and (max-width: 530px) {
    #contact {
      display: flex;
      position: relative;
      width: 100vw;
      height: 55vh;
      background: #144d53;
      margin-top: 10%;
    }
    
    #contact a{
      color: #434E48;
      width: 80vw;
      font-size: 0.8rem;
      line-height: 5.0;
      text-align: center;
      align-items: center;
      background:linear-gradient(
            to right,
            #584F45,
            #584F45 50%,
            transparent 50%,
            transparent) 100% 0 / 200% 100%;
      transition:background-position 0.3s;
      position: absolute;
      top: 60%;
  
      z-index: 3;
      background-color: #FBFAF8;
    }
    
    #contact a:hover {
      color: #fff;
      background-position:0 0;
    }
    
    #contact p {
      color: #434E48;
      position: absolute;
      top: 30%;
      right: 0;
      font-size: 3.5rem;
      opacity: 0.6;
    }
    
    .contact_image {
      position: absolute;
      top: -10%;
    }
    
    .contact_image img{
      width: 100%;
    }
    
    .yajirushi {
      display: block;
      width: fit-content;
      margin: 40px auto;
      text-align: center;
    }
    
    .Arrow-Bottom {
      position: relative;
      border-bottom: solid 4px #144d53;
      border-right: solid 4px #144d53;
      width: 5vw;
      height: 5vw;
      transform: rotate(45deg);
      margin: 20px;
    }
    
    .Arrow-Bottom::after {
      content: '';
      position: absolute;
      top: 35%;
      left: 35%;
      right: 0;
      margin: 0 auto;
      border-bottom: solid 4px #144d53;
      border-right: solid 4px #144d53;
      width: 5vw;
      height: 5vw;
    }
  }
  
  /* 問い合わせレスポンシブここまで */