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


#top h1{
    text-align: left;
    margin: 10vw auto;
}

.price_visual {
    position: relative;
    display: flex;
}

.ttl_en {
    position: absolute;
    right: 0;
    bottom: -8%;
    color: #434E48;
    font-size: 12rem;
    opacity: 0.2 !important;
}

.title::after {
    display: none;
}

.ttl_img img{
    width: 55vw;
    height: 90vh;
    object-fit: cover;
    vertical-align: bottom;
}

h2 {
    text-align: center;
    font-size:1.458vw;
    font-weight: 100;
}

h3 {
  width: fit-content;
  margin: auto;
  text-align: center;
  font-size:1.146vw;
  font-weight: 100;
  margin-bottom: 3vw;
  position: relative;
}

h3::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: -40px;
  display: block;
  color: #144D53;
}

p {
  font-size:0.938vw;
}

/* ※表基本形 */

table {
  margin: auto;
}

td {
  text-align: center;
}

tr{
  line-height: 2.5;
  border-bottom: solid 1px #307672;
  font-size:0.938vw;
}

th {
  font-size: 1.146vw;
  text-align: center;
  font-weight: 100;
  padding-left: 1vw;
}

th:first-child {
  border-bottom: solid 1px #FBFAF8;
}

td {
  padding-left: 1vw;
  width: 17vw;
  height: 100px;
  vertical-align: middle;
}

.ttl {
  text-align: left;
  border-bottom: solid 1px #FBFAF8;
  width: 15vw;
}

/* 法律相談料 */
#price {
  background-color: #144D53;
  color: #FBFAF8;
    padding: 10vw 0 5vw;
}

#price h2 {
  width: fit-content;
  border-bottom:solid 1px #307672;
  margin: auto;
}

.price_inner {
    width: 50vw;
    margin:7vw auto;
}

.price_inner h3::before {
  color: #fff;
}

.price_inner table{
  width: 100%;
}

.price_inner td {
  border-bottom: solid 1px #307672;
}

.price_inner .ttl {
  border-bottom: solid 1px #c9d6df;
  width: 10vw;
}

.price_inner p {
  margin-top: 3vw;
}

/* 顧問料 */

#komon_price {
  background-color: #FBFAF8;
  color: #434E48;
  padding: 7vw 0;
}

.komon_price_inner {
  width: 30vw;
  margin: auto;
}

.komon_ct_inner {
  width: 75vw;
  margin:5vw auto;
}

.komon_ct_inner a {
  color: #434E48;
  font-size:1.146vw;
  display: block;
  width: fit-content;
  margin-top: 3vw;
  margin-left: auto;
  position: relative;
}

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

.komon_price_inner tr,
.komon_ct_inner tr {
  border-bottom: solid 1px #c9d6df;
}

.komon_price_inner th:first-child,
.komon_ct_inner th:first-child {
  border-bottom: solid 1px #307672;
}

.komon_price_inner td,
.komon_ct_inner td {
  border-bottom: solid 1px #c9d6df;
}

.komon_price_inner .ttl,
.komon_ct_inner .ttl {
  border-bottom: solid 1px #307672;
}

/* 総則 */
#rules {
  padding-bottom: 10vw;
}
.rules_inner {
  width: 80vw;
  margin: 5vw auto;
}

.rules_inner h4 {
  font-size: 1.458vw;
  margin: 3vw 0;
}

.rules_inner h5 {
  font-size: 1.25vw;
  margin: 1vw 0;
}

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

/* 問い合わせ */
#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;
    }
  }
  
  /* 問い合わせレスポンシブここまで */