@charset "UTF-8";

/* トップ共通 */
.top-parts-midashi {
  text-align: center;
  font-size: 42px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: calc(50/42);
  letter-spacing: 0.05em;
}
.top-parts-midashi.--s {
  font-size: 40px;
  line-height: calc(48/40);
}
@media(max-width: 1400px){
  .top-parts-midashi {
    font-size: calc(42/var(--view-size)*100vw);
  }
  .top-parts-midashi.--s {
    font-size: calc(40/var(--view-size)*100vw);
  }
}
@media(max-width: 670px){
  .top-parts-midashi {
    font-size: calc(32/var(--view-size)*100vw);
    line-height: calc(42/38);
  }
  .top-parts-midashi.--s {
    font-size: calc(32/var(--view-size)*100vw);
  }
}
/* トップ共通ここまで */

/* MV */
.top_mv_slider_container {
  position: relative;
}
.top_mv_slider {
  position: relative;
  width: 100%;
  height: calc(640/var(--view-size)*100vw);
  overflow: hidden;
}
.top_mv_slide {
  position: relative;
  width: 100%;
  height: calc(640/var(--view-size)*100vw);
}
.top_mv_slide_bg_gray,
.top_mv_slide_bg_color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(640/var(--view-size)*100vw);
  object-fit: cover;
  display: block;
  z-index: 1;
  opacity: 0;
}
.top_mv_slide_bg_color {
  z-index: 2;
  opacity: 1;
  animation: fadeOut 1s forwards;
}
@keyframes fadeIn {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.top_mv_slide_text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  text-align: center;
  color: white;
  font-size: calc(27/var(--view-size)*100vw);
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: calc(44/27);
  letter-spacing: 0.05em;
  opacity: 0;
  z-index: 3;
}
.top_mv_slide:first-child .top_mv_slide_text {
  color: #522600;
  font-size: calc(28/var(--view-size)*100vw);
  top: 42%;
}
.top_mv_slide:nth-child(2) .top_mv_slide_text {
  text-shadow: 0 0 calc(20/var(--view-size)*100vw) #4E3E13;
  top: 39.8%;
}
.top_mv_slide:last-child .top_mv_slide_text {
  color: #333333;
  top: 47%;
}
.slick-current .top_mv_slide_bg_gray {
  opacity: 1;
}
/* 表示中のスライドだけアニメーション発火 */
.slick-current .top_mv_slide_bg_color {
  opacity: 0;
  animation: fadeIn 2s forwards 2s;
}
.slick-current .top_mv_slide_text {
  opacity: 0;
  animation: fadeIn 1s forwards 3.5s;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.slick-current .top_mv_slide_text .char {
  opacity: 0;
  display: inline-block;
  animation: fadeInChar 1s ease forwards;
}
@keyframes fadeInChar {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.top_mv_slider_container .slick-dots {
  position: absolute;
  bottom: calc(17/var(--view-size)*100vw);
  right: calc(42/var(--view-size)*100vw);
  display: flex !important;
  gap: calc(15/var(--view-size)*100vw);
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 10;
}
.top_mv_slider_container .slick-dots li {
  width: calc(15/var(--view-size)*100vw);
  height: calc(15/var(--view-size)*100vw);
  background: #EFEFEF;
  border-radius: 50%;
  cursor: pointer;
}
.top_mv_slider_container .slick-dots li:hover,
.top_mv_slider_container .slick-dots li.slick-active {
    background: #A8903E;
}
.top_mv_slider_container .slick-dots li button {
   display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
@media(max-width: 670px){
  .top_mv_slider_container {
    margin-top: calc(60/var(--view-size)*100vw);
    padding-bottom: calc(25/var(--view-size)*100vw);
  }
  .top_mv_slider {
    height: calc(360/var(--view-size)*100vw);
  }
  .top_mv_slide {
    height: calc(360/var(--view-size)*100vw);
  }
  .top_mv_slide_bg_gray,
  .top_mv_slide_bg_color {
    height: calc(360/var(--view-size)*100vw);
  }
  .top_mv_slide_text {
    font-size: calc(18/var(--view-size)*100vw);
    line-height: calc(27/18);
  }
  .top_mv_slide:first-child .top_mv_slide_text {
    font-size: calc(18/var(--view-size)*100vw);
    top: 39%;
  }
  .top_mv_slide:nth-child(2) img {
    object-position: calc(-197/var(--view-size)*100vw) center;
  }
  .top_mv_slide:nth-child(2) .top_mv_slide_text {
    text-shadow: 0 0 calc(20/var(--view-size)*100vw) #000000;
    top: 39.8%;
  }
  .top_mv_slide:last-child .top_mv_slide_text {
    top: 40%;
  }
  .top_mv_slider_container .slick-dots {
    bottom: 0;
    right: 50%;
    transform: translateX(50%);
    gap: calc(13/var(--view-size)*100vw);
  }
  .top_mv_slider_container .slick-dots li {
    width: calc(12/var(--view-size)*100vw);
    height: calc(12/var(--view-size)*100vw);
    background: #E5E5E5;
  }
}
/* MVここまで */

/* トップコピー */
.top_copy_section {
  padding: 87.5px 0 61.5px;
}
.top_copy_section h2 {
  line-height: calc(60 / 42);
}
.top_copy_text {
  margin: 47px auto 0;
  max-width: 779px;
}
@media(max-width: 1400px){
  .top_copy_section {
    padding: calc(87.5/var(--view-size)*100vw) 0 calc(61.5/var(--view-size)*100vw);
  }
  .top_copy_section h2 {
    line-height: calc(60 / 42);
  }
  .top_copy_text {
    margin: calc(47/var(--view-size)*100vw) auto 0;
    max-width: calc(779/var(--view-size)*100vw);
  }
}
@media(max-width: 670px){
  .top_copy_section {
    padding: calc(66/var(--view-size)*100vw) 0 calc(80.8/var(--view-size)*100vw);
  }
  .top_copy_section h2 {
    font-size: calc(25/var(--view-size)*100vw);
  }
  .top_copy_text {
    font-size: calc(16/var(--view-size)*100vw);
    margin: calc(41.2/var(--view-size)*100vw) auto 0;
    max-width: initial;
  }
}
/* トップコピーここまで */

/* トップナビ */
.top_nav_section {
  width: 100%;
}
.top_nav_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.top_nav_item {
  width: 25%;
  height: 130px;
  text-align: center;
  transition: .3s;
}
.top_nav_item:hover {
  opacity: 0.7;
}
.top_nav_item:nth-child(1), .top_nav_item:nth-child(3), .top_nav_item:nth-child(6), .top_nav_item:nth-child(8) {
  background-color: #F4EBD3;
}
.top_nav_item:nth-child(2), .top_nav_item:nth-child(4), .top_nav_item:nth-child(5), .top_nav_item:nth-child(7) {
  background-color: #E5D7A7;
}
.top_nav_link {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  line-height: calc(28/18);
}
.top_nav_link:hover {
  opacity: 1;
}
@media(max-width: 1400px){
  .top_nav_item {
    height: calc(130/var(--view-size)*100vw);
  }
  .top_nav_link {
    font-size: calc(18/var(--view-size)*100vw);
  }
}
@media(max-width: 670px){
  .top_nav_items {
    display: block;
  }
  .top_nav_item {
    width: 100%;
    height: calc(80/var(--view-size)*100vw);
  }
  .top_nav_item:nth-child(2n - 1) {
    background-color: #F4EBD3;
  }
  .top_nav_item:nth-child(2n) {
    background-color: #E5D7A7;
  }
  .top_nav_link {
    font-size: calc(17/var(--view-size)*100vw);
  }
}
/* トップナビここまで */

/* トップ所属弁護士 */
.top_affiliation_section {
  padding: 148.5px 0 72.75px;
}
.top_affiliation_content {
  margin-top: 47.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top_affiliation_card {
  position: relative;
  height: 410px;
  overflow: hidden;
}
.top_affiliation_card:nth-child(1), .top_affiliation_card:nth-child(3) {
  width: 300px;
}
.top_affiliation_card:nth-child(2) {
  width: 380px;
}
.top_affiliation_card_img {
  width: 100%;
  height: 100%;
}
.top_affiliation_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top_affiliation_card_name {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: block;
  text-align: center;
  padding: 14px 0 13px;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: calc(23/20);
  letter-spacing: 0.05em;
  background-color: rgba(255, 255, 255, 0.8);
}
.top_affiliation_bottom {
  margin-top: 24.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top_affiliation_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 326.24px;
  height: 86.74px;
  background-color: #F4F4F4;
}
.top_affiliation_box:first-child {
  border: solid 1px #CBCBCB;
}
.top_affiliation_box span {
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  line-height: calc(23/20);
  letter-spacing: 0.025em;
}
@media(max-width: 1400px){
  .top_affiliation_section {
    padding: calc(148.5/var(--view-size)*100vw) 0 calc(72.75/var(--view-size)*100vw);
  }
  .top_affiliation_content {
    margin-top: calc(47.5/var(--view-size)*100vw);
  }
  .top_affiliation_card {
    height: calc(410/var(--view-size)*100vw);
  }
  .top_affiliation_card:nth-child(1), .top_affiliation_card:nth-child(3) {
    width: calc(300/var(--view-size)*100vw);
  }
  .top_affiliation_card:nth-child(2) {
    width: calc(380/var(--view-size)*100vw);
  }
  .top_affiliation_card_name {
    padding: calc(14/var(--view-size)*100vw) 0 calc(13/var(--view-size)*100vw);
    font-size: calc(20/var(--view-size)*100vw);
  }
  .top_affiliation_bottom {
    margin-top: calc(24.5/var(--view-size)*100vw);
  }
  .top_affiliation_box {
    width: calc(326.24/var(--view-size)*100vw);
    height: calc(86.74/var(--view-size)*100vw);
  }
  .top_affiliation_box:first-child {
    border: solid calc(1/var(--view-size)*100vw) #CBCBCB;
  }
  .top_affiliation_box span {
    font-size: calc(20/var(--view-size)*100vw);
  }
}
@media(max-width: 670px){
  .top_affiliation_section {
    padding: calc(140.5/var(--view-size)*100vw) 0 calc(84.5/var(--view-size)*100vw);
  }
  .top_affiliation_content {
    margin-top: calc(32.9/var(--view-size)*100vw);
    flex-wrap: wrap;
    row-gap: calc(13/var(--view-size)*100vw);
    column-gap: calc(12/var(--view-size)*100vw);
    -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  }
  .top_affiliation_card {
    height: initial;
  }
  .top_affiliation_card:nth-child(1), .top_affiliation_card:nth-child(3) {
    width: calc(161.47/var(--view-size)*100vw);
    height: calc(220.97/var(--view-size)*100vw);
  }
  .top_affiliation_card:nth-child(1) {
    order: 1;
  }
  .top_affiliation_card:nth-child(2) {
    order: 0;
    width: calc(234.1/var(--view-size)*100vw);
    height: calc(252.45/var(--view-size)*100vw);
  }
  .top_affiliation_card:nth-child(3) {
    order: 2;
  }
  .top_affiliation_card_name {
    padding: calc(4/var(--view-size)*100vw) 0 calc(6/var(--view-size)*100vw);
    font-size: calc(16/var(--view-size)*100vw);
  }
  .top_affiliation_card:nth-child(2) .top_affiliation_card_name {
    padding: calc(5/var(--view-size)*100vw) 0 calc(8/var(--view-size)*100vw);
  }
  .top_affiliation_bottom {
    margin-top: calc(24/var(--view-size)*100vw);
    -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  }
  .top_affiliation_box {
    width: calc(235/var(--view-size)*100vw);
    height: calc(48.19/var(--view-size)*100vw);
  }
  .top_affiliation_box:first-child {
    border: solid calc(1/var(--view-size)*100vw) #CBCBCB;
  }
  .top_affiliation_box:not(:first-child) {
    display: none;
  }
  .top_affiliation_box span {
    font-size: calc(16/var(--view-size)*100vw);
  }
}
/* トップ所属弁護士ここまで */

/* トップ弊社の特徴 */
.top_about_section {
  padding: 75.75px 0 53.75px;
}
.top_about_content {
  margin-top: 55px;
}
.top_about_list {
  border-top: solid 1px #C3C3C3;
}
.top_about_title {
  position: relative;
  text-align: center;
  padding: 21px 0 19px;
  font-size: 22px;
  line-height: calc(38/22);
  background-color: #F4EBD3;
}
.top_about_text {
  padding: 30px 0 41.5px;
}
.top_about_bottom {
  margin-top: 82.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top_about_bottom_img {
  width: 334px;
  height: 197px;
}
.top_about_bottom_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media(max-width: 1400px){
  .top_about_section {
    padding: calc(75.75/var(--view-size)*100vw) 0 calc(100/var(--view-size)*100vw);
  }
  .top_about_content {
    margin-top: calc(55/var(--view-size)*100vw);
  }
  .top_about_list {
    border-top: solid calc(1/var(--view-size)*100vw) #C3C3C3;
  }
  .top_about_title {
    padding: calc(21/var(--view-size)*100vw) 0 calc(19/var(--view-size)*100vw);
    font-size: calc(22/var(--view-size)*100vw);
  }
  .top_about_text {
    padding: calc(30/var(--view-size)*100vw) 0 calc(41.5/var(--view-size)*100vw);
  }
  .top_about_bottom {
    margin-top: calc(82.5/var(--view-size)*100vw);
  }
  .top_about_bottom_img {
    width: calc(334/var(--view-size)*100vw);
    height: calc(197/var(--view-size)*100vw);
  }
}
@media(max-width: 670px){
  .top_about_section {
    padding: calc(81.5/var(--view-size)*100vw) 0 calc(73.5/var(--view-size)*100vw);
  }
  .top_about_content {
    margin-top: calc(63/var(--view-size)*100vw);
  }
  .top_about_list {
    border-top: solid calc(1/var(--view-size)*100vw) #C3C3C3;
  }
  .top_about_title {
    padding: 0 calc(15/var(--view-size)*100vw);
    font-size: calc(18/var(--view-size)*100vw);
    text-align: left;
    height: calc(80/var(--view-size)*100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    }
  .top_about_text {
    padding: calc(27/var(--view-size)*100vw) 0 calc(56/var(--view-size)*100vw);
  }
  .top_about_bottom {
    display: block;
    margin: calc(51.5/var(--view-size)*100vw) auto 0;
    width: calc(265.7/var(--view-size)*100vw);
  }
  .top_about_bottom_img {
    width: 100%;
    height: calc(157.19/var(--view-size)*100vw);
  }
}
/* トップ弊社の特徴ここまで */

/* トップニュース */
.top_news_section {
  padding: 89.75px 0 137.5px;
}
.top_news_midashi {
  padding-bottom: 61.5px;
}
.top_news_item {
  padding: 19px 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  column-gap: 22.5px;
  border-top: solid #C3C3C3 1px;
}
.top_news_item:first-child {
  margin-top: 0;
}
.top_news_date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 111.82px;
  height: 22px;
  color: #fff;
  line-height: 1;
  border-radius: 20px;
  background-color: #B79F7E;
}
@media(max-width: 1400px){
  .top_news_section {
    padding: calc(89.75/var(--view-size)*100vw) 0 calc(137.5/var(--view-size)*100vw);
  }
  .top_news_midashi {
    padding-bottom: calc(61.5/var(--view-size)*100vw);
  }
  .top_news_item {
    padding: calc(19/var(--view-size)*100vw) 0 calc(15/var(--view-size)*100vw);
    column-gap: calc(22.5/var(--view-size)*100vw);
    border-top: solid #C3C3C3 calc(1/var(--view-size)*100vw);
  }
  .top_news_date {
    width: calc(111.82/var(--view-size)*100vw);
    height: calc(22/var(--view-size)*100vw);
    border-radius: calc(20/var(--view-size)*100vw);
  }
}
@media(max-width: 670px){
  .top_news_section {
    padding: calc(44/var(--view-size)*100vw) 0 calc(146.7/var(--view-size)*100vw);
  }
  .top_news_midashi {
    padding-bottom: calc(33.7/var(--view-size)*100vw);
  }
  .top_news_item {
    padding: calc(19.5/var(--view-size)*100vw) 0 calc(13.5/var(--view-size)*100vw);
    display: block;
  }
  .top_news_date {
    width: calc(111.82/var(--view-size)*100vw);
    height: calc(22/var(--view-size)*100vw);
  }
  .top_news_text {
    display: block;
    margin-top: calc(9.5/var(--view-size)*100vw);
  }
}
/* トップニュースここまで */

@keyframes topFadeUpAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.topFadeUpTrigger {
  opacity: 0;
}
/* .fadeBeforeTrigger::before{
  content: none !important;
} */
.topFadeUp {
  animation-name: topFadeUpAnime;
  animation-duration: 1.5s;
  animation-delay: 0.4s;
  animation-fill-mode: forwards;
  opacity: 0;
}
