@charset "UTF-8";

/* CSS Document */
/*---
main
---*/
.main {
  width: 100%;
  padding-top: 110px;
  /*60*/
}

section {
  padding: 4em 0;
  padding-top: 1em;
}

section.top_narrow {
  padding-top: 0;
}

section .container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.hpbanner {
  vertical-align: top;
}

.visual_pc {
  display: block;
}

.visual_sp {
  display: none;
}

.overlay {
  pointer-events: none;
}

@media only screen and (min-width: 560px) {
  .main {
    padding-top: 80px;
  }
}

@media only screen and (max-width: 959px) {
  li.menu_mega.sp_only {
    display: block;
  }
}

@media only screen and (min-width: 960px) {
  li.menu_mega.sp_only {
    display: none;
  }

  .main {
    padding-top: 130px;
  }

  section .container {
    width: 96%;
    max-width: 1200px;
  }
}

.sec_title {
  text-align: center;
  margin-bottom: 3em;
}

.sec_title h2 {
  font-size: 2em;
  line-height: 1.8em;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.sec_title p {
  font-size: 1em;
  color: #ff7e00;
  margin-top: 0.2em;
  letter-spacing: 0.1em;
  line-height: 1em;
}

/*---
main visual
---*/
.main_visual {
  width: 100%;
}

.single-item .slide a {
  display: block;
}

.single-item .slide a span {
  width: 100%;
  height: calc(400 / 560 * 100%);
  padding-bottom: calc(400 / 560 * 100%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
}

.single-item .slide01 a span {
  background-image: url("../img/main_visual_01_sp.jpg");
}

.single-item .slide02 a span {
  background-image: url("../img/main_visual_02_sp.jpg");
}

.single-item .slide03 a span {
  background-image: url("../img/main_visual_03_sp.jpg");
}

.single-item .slide04 a span {
  background-image: url("../img/main_visual_04_sp.jpg");
}

.single-item .slide05 a span {
  background-image: url("../img/main_visual_05_sp.png");
}

.main_visual {
  width: 100%;
  padding: 0;
}

.main_visual .container {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: calc(600 / 1200 * 100%);
  color: #333;
  overflow: hidden;
}

.main_visual .slide {
  width: 100%;
}

.main_visual .slide a {
  display: block;
}

.main_visual img {
  width: 120%;
  margin-left: -10%;
}

.slick-slide {
  text-align: center;
  color: #419be0;
  background: white;
}

.slide_arrow {
  position: absolute;
  bottom: -2.5em;
  margin-top: -15px;
  z-index: 19;
  background-color: rgba(255, 255, 255, 0.7);
  width: 3em;
  height: 3em;
  transform: translateY(-50%);
  border: none;
}

.prev_arrow {
  left: 0.5em;
}

.next_arrow {
  right: 0.5em;
}

.slide_arrow::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  font-size: 3em;
  text-align: center;
  color: #aaa;
}

.prev_arrow::before {
  content: "\f104";
}

.next_arrow::before {
  content: "\f105";
}

.slide_dots {
  list-style: none;
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: 1em 0;
}

.slide_dots li {
  margin: 0 10px;
  width: 2.5vw;
  height: 2.5vw;
  background-color: #aaa;
  border-radius: 50%;
}

.slide_dots li.slick-active {
  background-color: #ff7e00;
}

.slide_dots li button {
  display: none;
}

@media only screen and (min-width: 560px) {
  .main_visual {
    overflow: hidden;
  }

  .main_visual .container {
    overflow: visible;
    max-width: 1600px;
  }

  .main_visual .slide a {
    overflow: visible;
  }

  .single-item .slide a span {
    height: calc(600 / 1440 * 100%);
    padding-bottom: calc(600 / 1440 * 100%);
  }

  .single-item .slide01 a span {
    background-image: url("../img/main_visual_01_pc.jpg");
  }

  .single-item .slide02 a span {
    background-image: url("../img/main_visual_02_pc.jpg");
  }

  .single-item .slide03 a span {
    background-image: url("../img/main_visual_03_pc.jpg");
  }

  .single-item .slide04 a span {
    background-image: url("../img/main_visual_04_pc.jpg");
  }

  .single-item .slide05 a span {
    background-image: url("../img/main_visual_05_pc.png");
  }

  /*
  .main_visual_pc {
    display: block;
  }
  .main_visual_sp {
    display: none;
  }
  */
  .prev_arrow {
    left: 15%;
  }

  .next_arrow {
    right: 15%;
  }

  .slide_dots li {
    width: 14px;
    height: 14px;
  }
}

@media only screen and (min-width: 960px) {
  /*  .main_visual {
    overflow: hidden;
  }
  .main_visual .container {
    overflow: visible;
    max-width: 1600px;
  }
  .main_visual .slide a {
    overflow: visible;
  }
  .main_visual img {
    width: 100%;
    margin-left: 0;
  }*/
}

/*---
service section
---*/
.bg_og {
  background-color: #ffeacd;
  padding: 4em 0;
}

.bg_gr {
  background-color: #eee;
  padding: 4em 0;
}

.service {
  background-color: #ffeacd;
}

.service .service_title {
  text-align: center;
}

.service .service_title h1 {
  font-size: 1.6em;
  line-height: 1.4em;
  font-weight: 800;
  letter-spacing: -0.04em;
  background-color: #304269;
  border-radius: 1em;
  display: block;
  padding: 0.5em;
  color: #fff;
  text-shadow: 1px 2px 2px #808080;
}

.service .service_title .small {
  font-size: 0.8em;
}

.service .service_list {
  padding: 5em 0 0;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5em;
}

.service .service_title p {
  text-align: justify;
  margin-top: 2em;
}

.service .service_title p.strong {
  font-size: 1.2em;
  font-weight: 800;
  color: #ff7e00;
}

.service .service_list .service_list_title {
  text-align: center;
}

.service .service_list h3 {
  font-size: 1.6em;
  font-weight: 800;
  position: relative;
}

.service .service_list h3::before {
  position: absolute;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  display: block;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-125%);
  transform: translateX(-50%) translateY(-125%);
}

.service .service_list.service_corporate h3::before {
  content: url("../img/icon_corporate.svg");
  background-color: #ff7e00;
}

.service .service_list.service_private h3::before {
  content: url("../img/icon_customer.svg");
  background-color: #91bed4;
}

@media only screen and (min-width: 560px) {
  .service .service_title {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .service .service_title h1 {
    font-size: 1.6em;
    border-radius: 2em;
    padding: 0.8em;
  }

  .service .service_list {
    width: 100%;
  }
}

@media only screen and (min-width: 960px) {
  .service .service_title {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }

  .service .service_title h1 {
    font-size: 2.2em;
  }

  .service .service_title .small {
    font-size: 0.8em;
  }
}

/* service list */
.service_list ul {
  display: flex;
  flex-direction: column;
}

.service_list ul li {
  border-width: 3px;
  border-style: solid;
  margin-top: 1.5em;
  background-color: #fff;
  text-align: center;
  position: relative;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.service_list.service_corporate ul li {
  border-color: #facd89;
}

.service_list.service_corporate ul li:hover {
  background-color: #fdf0dd;
}

.service_list.service_private ul li {
  border-color: #91bed4;
}

.service_list.service_private ul li:hover {
  background-color: #e8f1f6;
}

.service_list ul li::after {
  position: absolute;
  content: "";
  width: 1.2em;
  height: 1.2em;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%) translateY(-90%) rotate(45deg);
  transform: translateX(-50%) translateY(-90%) rotate(45deg);
}

.service_list.service_corporate ul li::after {
  border-bottom: 1px solid #ff7e00;
  border-right: 1px solid #ff7e00;
}

.service_list.service_private ul li::after {
  border-bottom: 1px solid #304269;
  border-right: 1px solid #304269;
}

.service_list ul li a {
  text-decoration: none;
  color: #333;
  display: block;
  padding: 1em 8% 4em;
}

.service_list ul li h4 {
  border-bottom-width: 4px;
  border-bottom-style: solid;
  display: inline-block;
  padding-bottom: 0.3em;
}

.service_list.service_corporate ul li h4 {
  color: #ff7e00;
  border-bottom-color: #facd89;
}

.service_list.service_private ul li h4 {
  color: #304269;
  border-bottom-color: #91bed4;
}

.service_list ul li p {
  line-height: 1.6em;
  text-align: justify;
  margin-top: 1.5em;
}

.service_list ul li h4 {
  font-size: 6.5vw;
}

.service_list ul li p {
  font-size: 4.5vw;
}

@media only screen and (min-width: 560px) {
  .service_list ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .service_list ul li {
    width: 48%;
    margin-left: 4%;
  }

  .service_list ul li:nth-child(odd) {
    margin-left: 0;
  }

  .service_list ul li h4 {
    font-size: 1.4em;
  }

  .service_list ul li p {
    font-size: 0.9em;
  }
}

@media only screen and (min-width: 960px) {
  .service_list ul {
  }

  .service_list ul li {
    flex-basis: 24%;
    max-width: 24%;
    margin-left: calc(4% / 3);
  }

  .service_list ul li:nth-child(odd) {
    margin-left: calc(4% / 3);
  }

  .service_list ul li:nth-child(4n + 1) {
    margin-left: 0;
  }

  .service_list ul li h4 {
    font-size: 1.3em;
  }
}

/* adviser */
.adviser {
  background-color: #304269;
  margin-top: 2em;
  padding: 0;
  background-image: url("../img/komon_image_2.jpg");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.adviser_2 {
  background-color: #ea7f00;
  background-image: url("../img/komon_image_bn.jpg");
  margin-bottom: 3em;
}

.adviser:hover {
  opacity: 0.7;
}

.adviser .container {
  width: 80%;
  padding: 1.5em 0 calc(180 / 380 * 100% + 5%);
  color: #fff;
}

.adviser a {
  text-decoration: none;
  color: #fff;
  display: block;
}

.adviser h4 {
  font-size: 1em;
}

.adviser h4 span {
  font-size: 1.2em;
  color: #ff7e00;
}

.adviser p {
  font-size: 0.9em;
  line-height: 1.6em;
  text-align: justify;
  margin-top: 1em;
}

@media only screen and (min-width: 560px) {
  .adviser {
    background-position: center right;
  }

  .adviser .container {
    width: 52%;
    padding: 1.5em;
    margin-left: 0;
    margin-right: auto;
    background-color: #304269;
  }

  .adviser_2 .container_2 {
    background-color: #ea7f00;
  }
}

@media only screen and (min-width: 960px) {
  .adviser {
    width: 86%;
    margin-left: auto;
    margin-right: auto;
  }

  .adviser .container {
    width: 55%;
    padding: 1.5em 2em;
  }
}

.adviser_2 p {
  font-size: 1.2em;
  font-weight: bold;
}

/* adviserチェックマーク */
.container_2 ul {
  font-size: 0.9em;
  line-height: 1.8;
  list-style-type: none;
}

.container_2 li + li {
  margin-top: 5px;
}

.container_2 li {
  position: relative;
  padding-left: 25px;
}

.container_2 li:before {
  content: "";
  position: absolute;
  width: 3px;
  height: 7px;
  top: 0.35em;
  left: 6px;
  -webkit-transform: rotate(50deg);
  -ms-transform: rotate(50deg);
  transform: rotate(50deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.container_2 li:after {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #fff;
  border-radius: 2px;
}

/*---
consultation section
---*/
.consultation {
  width: 100%;
  background-color: #ff7e00;
  padding: 1em 0;
}

.consultation .container {
  display: flex;
  flex-direction: column;
}

.consultation .copy_block {
  order: 1;
}

.consultation .consul_rece {
  order: 3;
}

.consultation .consul_image {
  order: 2;
}

.consultation h3 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-size: 1.6em;
  color: #fff;
  padding-bottom: 0.7em;
  display: inline-block;
}

.consultation .consul_rece {
  width: 100%;
  background-color: #fff;
  border-radius: 1em;
  margin-top: -0.5em;
  padding: 1em 0;
}

.consultation .consul_rece h4 {
  font-size: 6vw;
  font-weight: 800;
  line-height: 1.6em;
  color: #ff7e00;
  text-align: center;
}

.consultation .consul_rece .cont_btn {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.consultation .consul_rece .cont_btn a {
  text-decoration: none;
  display: block;
}

.consultation .consul_rece .cont_btn .cont_tel,
.consultation .consul_rece .cont_btn .cont_mail {
  width: 100%;
  text-align: center;
  margin-top: 1em;
}

.consultation .consul_rece .cont_btn .cont_tel a {
  text-align: center;
  color: #333;
}

.consultation .consul_rece .cont_btn .cont_tel_num {
  font-size: 10vw;
  display: block;
  font-weight: 800;
}

.consultation .consul_rece .cont_btn .tel_mark::before {
  color: #91bed4;
}

.consultation .consul_rece .cont_btn .cont_tel_rece {
  font-size: 4vw;
  line-height: 1em;
  margin-top: 0.3em;
}

.consultation .consul_rece .cont_btn .cont_mail {
  background-color: #304269;
  border-radius: 8px;
  box-shadow: 0 0.3em 0 0 #142343;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.consultation .consul_rece .cont_btn .cont_mail:hover {
  opacity: 0.7;
}

.consultation .consul_rece .cont_btn .cont_mail a {
  font-size: 5.4vw;
  color: #fff;
  height: 65px;
  line-height: 65px;
  display: block;
}

.consultation .consul_rece .cont_btn .cont_mail .mail_mark::before {
  margin-right: 0.5em;
}

.consultation .consul_image {
  width: 80%;
  height: calc(370 / 378 * 80%);
  margin-left: auto;
  margin-right: 0;
  margin-top: 1em;
}

.consultation .consul_image img {
  width: 100%;
}

@media only screen and (min-width: 560px) {
  .consultation {
    padding: 2em 0 2em;
  }

  .consultation .copy_block {
    width: 65%;
  }

  .consultation .consul_rece h4 {
    font-size: 1.2em;
  }

  .consultation .consul_rece .cont_btn {
    flex-direction: row;
    align-items: center;
  }

  .consultation .consul_rece .cont_btn .cont_tel,
  .consultation .consul_rece .cont_btn .cont_mail {
    width: 50%;
  }

  .consultation .consul_rece .cont_btn .cont_tel_num {
    font-size: 2em;
    display: block;
    font-weight: 800;
  }

  .consultation .consul_rece .cont_btn .cont_tel_rece {
    font-size: 0.8em;
    line-height: 1.2em;
  }

  .consultation .consul_rece .cont_btn .cont_mail a {
    font-size: 1.2em;
  }

  .consultation .consul_image {
    width: 30%;
    height: calc(370 / 378 * 30%);
    margin-top: -9.5em;
  }
}

@media only screen and (min-width: 960px) {
  .consultation .container {
    display: flex;
    flex-direction: column;
    position: relative;
  }

  .consultation .copy_block {
    order: 1;
  }

  .consultation .consul_rece {
    order: 2;
  }

  .consultation .consul_image {
    order: 3;
  }

  .consultation .copy_block {
    width: 55%;
    margin-left: 8%;
  }

  .consultation .support_block {
    width: 100%;
  }

  .consultation .consul_rece .cont_btn .cont_tel_num {
    font-size: 2.9vw;
  }

  .consultation .consul_rece {
    width: 55%;
    margin-left: 8%;
    margin-top: 2em;
  }

  .consultation .consul_rece .cont_btn .cont_mail a {
    font-size: 1.6vw;
  }

  .consultation .consul_image {
    position: absolute;
    right: 0;
    bottom: -2.5em;
    width: 30%;
    margin-top: 0;
    height: auto;
  }
}

/* window width　960?1200の場合の対応 */
@media only screen and (min-width: 1200px) {
  .consultation .consul_rece .cont_btn .cont_tel_num {
    font-size: 2em;
  }

  .consultation .consul_rece .cont_btn .cont_mail a {
    font-size: 1.1em;
  }
}

/*
.consul_image .consul_image_catch {
  display: flex;
  align-items: center;
}
.consul_image .consul_image_catch_block::before,
.consul_image .consul_image_catch_block::after,
.consul_image .consul_image_catch::before,
.consul_image .consul_image_catch::after {
  content: "";
  border-bottom: 1px solid #FFF;
  display: block;
  width: 14vw;
}
.consul_image .consul_image_catch_block::before,
.consul_image .consul_image_catch::before {
  -webkit-transform: translateY(5px) rotate(60deg);
  transform: translateY(0px) rotate(60deg);
}
.consul_image .consul_image_catch_block::after,
.consul_image .consul_image_catch::after {
  -webkit-transform: translateY(5px) rotate(-60deg);
  transform: translateY(0px) rotate(-60deg);
}
.consul_image .consul_image_catch P {
  display: inline-block;
  color: #FFF;
}
.consul_image .consul_image_catch p.time {
  font-size: 12vw;
  color: #FFF100;
}
.consul_image .consul_image_catch p.time span {
  font-size: 1.2em;
  vertical-align: bottom;
}
.consul_image .consul_image_catch p.text {
  font-size: 6vw;
  font-weight: 800;
  letter-spacing: -0.05em;
}
.consul_image .consul_image_catch p.text span {
  font-size: 0.55em;
  line-height: 1.2em;
  display: block;
}
*/
/*---
about messeage lawyers section
---*/
.about_sec .detail_info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.about_sec .detail_info .visual {
  width: 100%;
  height: calc(300 / 500 * 100%);
}

.messeage.about_sec .detail_info .visual {
  height: calc(400 / 500 * 100%);
}

.about_sec .detail_info .visual img {
  width: 100%;
}

.about_sec .detail_info .copy_block {
  margin-top: 1.5em;
  width: 100%;
  text-align: justify;
}

.about_sec .detail_info .copy_block h3 {
  font-size: 1.25em;
  color: #ff7e00;
}

.about_sec .detail_info .copy_block h3 br {
  display: none;
}

.about_sec .detail_info .copy_block p {
  margin-top: 2em;
}

.about_sec .detail_info .copy_block .link_btn {
  margin-top: 2em;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 560px) {
  .about_sec .detail_info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .messeage .detail_info {
    flex-direction: row-reverse;
  }

  .about_sec .detail_info .visual {
    flex-basis: 36%;
  }

  .about_sec .detail_info .copy_block {
    margin-top: 0;
    flex-basis: 60%;
  }

  .about_sec .detail_info .copy_block h3 br {
    display: block;
  }

  .about_sec .detail_info .copy_block .link_btn {
    margin-left: auto;
    margin-right: 0;
  }
}

@media only screen and (min-width: 960px) {
  .about_sec .detail_info .copy_block .link_btn {
    margin-left: auto;
    margin-right: 0;
  }

  .about_sec .detail_info .visual {
    flex-basis: 42%;
  }

  .about_sec .detail_info .copy_block {
    margin-top: 0;
    flex-basis: 50%;
  }
}

/* facebook plugin */
.fb_outer {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.fb_outer > .fb-page {
  width: 100%;
}

.fb_outer > .fb-page > span,
.fb_outer iframe {
  width: 100% !important;
}

/*---
our strengths section
---*/
.strengths {
  background-color: #ffeacd;
}

.strengths h2 .small {
  font-size: 0.7em;
}

/* illust area */
.strengths .strengths_illust_area {
  margin-top: 5em;
  overflow: hidden;
}

.strengths_illust_area .point {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: calc(100 / 100 * 90%);
  background-color: #fff;
  border-radius: 50%;
  text-align: center;
  position: relative;
  margin-top: 3em;
}

.strengths_illust_area .point h3,
.strengths_illust_area .point p {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
}

.strengths_illust_area .point h3 {
  font-size: 5.4vw;
  color: #ff7e00;
  line-height: 1em;
  bottom: 44%;
}

.strengths_illust_area .point p {
  font-size: 3.7vw;
  line-height: 1.8em;
  bottom: 13%;
}

.strengths_illust_area .point::before {
  content: "";
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center bottom;
  bottom: 55%;
  width: 100%;
}

.strengths_illust_area .point:first-child::before {
  background-image: url("../img/illust_strength_01.svg");
  background-size: 70%;
  padding-bottom: calc(144 / 186 * 70%);
}

.strengths_illust_area .point:nth-child(2)::before {
  background-image: url("../img/illust_strength_02.svg");
  background-size: 50%;
  padding-bottom: calc(145 / 147 * 50%);
}

.strengths_illust_area .point:nth-child(3)::before {
  background-image: url("../img/illust_strength_03.svg");
  background-size: 80%;
  padding-bottom: calc(151 / 232 * 80%);
}

.strengths_illust_area .strengths_appeal {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: calc(100 / 100 * 100%);
  background-color: #91bed4;
  border-radius: 50%;
  text-align: center;
  position: relative;
  margin-top: 3em;
}

.strengths_illust_area .strengths_appeal::after,
.strengths_illust_area .strengths_appeal h3,
.strengths_illust_area .strengths_appeal p {
  width: 100%;
  position: absolute;
}

.strengths_illust_area .strengths_appeal::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("../img/illust_strength_04.svg");
  background-size: 36%;
  padding-bottom: calc(140 / 160 * 36%);
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.strengths_illust_area .strengths_appeal h3,
.strengths_illust_area .strengths_appeal p {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.strengths_illust_area .strengths_appeal h3 {
  top: 20%;
  font-size: 5.6vw;
  color: #304269;
}

.strengths_illust_area .strengths_appeal p {
  bottom: 10%;
  font-size: 4vw;
  color: #fff;
  line-height: 1.5em;
}

@media only screen and (min-width: 560px) {
  .strengths .strengths_illust_area {
    margin-top: 3em;
    position: relative;
    width: 100%;
    padding-bottom: 80%;
  }

  .strengths_illust_area .point {
    width: 32%;
    padding-bottom: calc(100 / 100 * 32%);
    position: absolute;
    z-index: 10;
    margin-top: 0;
  }

  .strengths_illust_area .point:first-child {
    top: 5%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .strengths_illust_area .point:nth-child(2),
  .strengths_illust_area .point:nth-child(3) {
    top: 30%;
  }

  .strengths_illust_area .point:nth-child(2) {
    left: 0;
  }

  .strengths_illust_area .point:nth-child(3) {
    right: 0;
  }

  .strengths_illust_area .point h3 {
    font-size: 2vw;
  }

  .strengths_illust_area .point p {
    font-size: 1.4vw;
  }

  .strengths_illust_area .strengths_appeal {
    width: 50%;
    padding-bottom: calc(100 / 100 * 50%);
    position: absolute;
    bottom: 0%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 0;
    margin-top: 0;
  }

  .strengths_illust_area .strengths_appeal h3 {
    font-size: 3.08vw;
  }

  .strengths_illust_area .strengths_appeal p {
    font-size: 2.2vw;
  }
}

@media only screen and (min-width: 960px) {
  .strengths .main_copy {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    text-align: justify;
  }

  /* illust area */
  .strengths .strengths_illust_area {
    margin-top: 3em;
    position: relative;
  }

  .strengths_illust_area .point {
    width: 34%;
    padding-bottom: calc(100 / 100 * 34%);
  }

  .strengths_illust_area .point:nth-child(2),
  .strengths_illust_area .point:nth-child(3) {
    top: auto;
    bottom: 0;
  }

  .strengths_illust_area .point h3 {
    font-size: 2.4vw;
    bottom: 42%;
  }

  .strengths_illust_area .point p {
    font-size: 1.6vw;
  }

  .strengths_illust_area .strengths_appeal {
    width: 40%;
    padding-bottom: calc(100 / 100 * 40%);
    /*margin-top: -8em;*/
    position: absolute;
    left: 50%;
    bottom: 8%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .strengths_illust_area .strengths_appeal h3 {
    font-size: 2.8vw;
  }

  .strengths_illust_area .strengths_appeal p {
    font-size: 1.8vw;
  }
}

@media only screen and (min-width: 1200px) {
  .strengths_illust_area .point h3 {
    font-size: 1.5em;
  }

  .strengths_illust_area .point p {
    font-size: 1em;
  }

  .strengths_illust_area .strengths_appeal h3 {
    font-size: 2em;
  }

  .strengths_illust_area .strengths_appeal p {
    font-size: 1.1em;
  }
}

/*---
town image section
---*/
.town_image {
  width: 100%;
  background-image: url("../img/sagamihara_image.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  text-align: center;
  padding: 6em 0;
}

.town_image h3 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-size: 1.6em;
  line-height: 1.8em;
  border-bottom: 2px solid #fff;
  padding-bottom: 0.3em;
  display: inline-block;
}

.town_image h3 span {
  color: #131567;
}

.town_image h4 {
  font-size: 1.2em;
  padding-top: 0.6em;
  color: #304269;
}

.town_image p {
  margin-top: 1em;
  color: #304269;
}

@media only screen and (min-width: 560px) {
  .town_image h3 {
    font-size: 1.8em;
    padding-bottom: 0.2em;
  }

  .town_image h4 {
    font-size: 1.22em;
    padding-top: 1.2em;
  }

  .town_image p {
    margin-top: 0.6em;
    color: #304269;
  }
}

@media only screen and (min-width: 960px) {
  .town_image .underlay {
    background-color: rgba(255, 255, 255, 0.4);
    padding: 1em 1.5em;
    display: inline-block;
  }
}

/*---
access section
---*/
.access h3 {
  color: #ff7e00;
  font-size: 1.3em;
}

.access .supple {
  font-size: 0.75em;
}

.access .access_address {
  margin-top: 1em;
}

.access .access_address span {
  display: block;
  font-size: 0.8em;
}

.access .access_tel {
  margin-top: 1em;
  letter-spacing: 0.1em;
}

.access .access_tel span {
  font-size: 0.8em;
}

.access .access_traffic {
  margin-top: 1em;
  margin-right: 0.5em;
}

.access .google_map {
  width: 100%;
  overflow: hidden;
  padding-bottom: 80%;
  position: relative;
  margin-top: 1.5em;
}

.access .google_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

@media only screen and (min-width: 560px) {
  .access .access_detail {
    display: flex;
  }

  .access .detail_info {
    width: 28em;
  }

  .access .google_map {
    margin-top: 0;
    padding-bottom: 35%;
  }
}

@media only screen and (min-width: 960px) {
  .access .google_map {
    padding-bottom: 30%;
  }
}

/*---
access section 20240606行き方
---*/
.access-jimsyo {
  font-size: 0.6em;
  display: block;
  line-height: 1em;
  padding-top: 2em;
}

.access-kanagawa {
  color: #ff7e00;
  letter-spacing: 0em;
  line-height: 1em;
}

.access-btn-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 3em;
}

.access-btn-container a {
  text-decoration: none;
  color: #333;
}

.access-btn-box {
  border: 2px solid #ff7e00;
  border-radius: 5px;
  text-align: center;
  width: 300px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: 20px center;
  box-sizing: border-box;
  transition: transform 0.2s;
}

.access-btn-box p {
  margin: 0;
  font-weight: 600;
}

.access-btn-box:hover {
  transform: scale(1.05);
}

.car {
  background-image: url("https://takase-law.com/wp/wp-content/uploads/2024/06/ico-car.png");
}

.train {
  background-image: url("https://takase-law.com/wp/wp-content/uploads/2024/06/ico-train.png");
}

.bus {
  background-image: url("https://takase-law.com/wp/wp-content/uploads/2024/06/ico-bus.png");
}

#access-car {
  background-color: #eeeeee;
  padding: 5em 0;
}

.access-direction-container {
  width: 96%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.access-direction-container h3 {
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.access-direction-container h3 .orange {
  color: #ff7e00;
}

.access-car-icon {
  background-image: url("https://takase-law.com/wp/wp-content/uploads/2024/06/access-car-h3.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  margin-right: 10px;
  display: inline-block;
}

.access-car-info-section {
  margin-top: 20px;
}

.access-direction-container h4 {
  color: #ff7e00;
  font-size: 18px;
  margin: 40px 0 20px 0;
}

.access-car-parking-info {
  display: flex;
  justify-content: left;
  gap: 60px;
}

.access-car-map img,
.access-car-photo img {
  max-width: 100%;
  height: auto;
}

.access-car-photo p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5em;
}

#access-train {
  padding: 5em 0;
}

.sml-center {
  font-size: small;
  text-align: center;
  margin: 30px auto 60px;
  font-weight: 500;
  line-height: 1.5em;
}

.access-train-icon {
  background-image: url("https://takase-law.com/wp/wp-content/uploads/2024/06/access-train-h3.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  margin-right: 10px;
  display: inline-block;
}

.access-train-info-section {
  display: flex;
  justify-content: left;
  gap: 45px;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.access-train-step {
  width: 30%;
  text-align: center;
}

.access-train-step img {
  max-width: 380px;
  height: auto;
}

.access-train-step-number {
  color: #ff7e00;
  font-weight: bold;
  font-size: 16px;
}

.access-train-step p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5em;
}

#access-bus {
  background-color: #eeeeee;
  padding: 5em 0;
}

.access-bus-icon {
  background-image: url("https://takase-law.com/wp/wp-content/uploads/2024/06/access-bus-h3.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  margin-right: 10px;
  display: inline-block;
}

.access-bus-info-section {
  margin-top: 20px;
}

.access-bus-parking-info {
  display: flex;
  justify-content: left;
  gap: 60px;
}

.access-bus-map img,
.access-bus-photo img {
  max-width: 100%;
  height: auto;
}

.access-bus-photo p {
  font-size: 14px;
  font-weight: 500;
}

@media (max-width: 600px) {
  .visual_pc {
    display: none;
  }

  .visual_sp {
    display: block;
  }

  .visual_sp img {
    width: 100%;
  }

  .access-btn-container {
    flex-direction: column;
  }

  .access-btn-box {
    width: 80%;
    margin: 10px auto;
  }

  .access-direction-container h3 {
    font-size: 20px;
  }

  .access-car-parking-info {
    flex-direction: column;
    align-items: center;
  }

  .access-car-map {
    width: 80%;
  }

  .access-direction-container h3 {
    font-size: 20px;
  }

  .access-car-icon {
    width: 25px;
    height: 25px;
  }

  .access-train-info-section {
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
  }

  .access-train-icon {
    width: 25px;
    height: 25px;
  }

  .sml-center {
    margin: 30px 30px 60px 30px;
  }

  .access-train-step {
    width: 80%;
    margin-bottom: 20px;
  }

  .access-train-step img {
    max-width: 100%;
    height: auto;
  }

  .access-bus-parking-info {
    flex-direction: column;
    align-items: center;
  }

  .access-bus-map {
    width: 80%;
  }

  .access-bus-icon {
    width: 25px;
    height: 25px;
  }

  .sec_title h2 {
    font-size: 100%;
  }

  .access-car-info-section h4,
  .access-bus-info-section h4 {
    text-align: center;
  }
}

/*---
information section
---*/
.information dl {
  margin-top: 1.5em;
  border-bottom: 1px dashed #c1c1c1;
}

.information dl .info_block {
  color: #333;
  text-decoration: none;
  display: block;
  padding: 1em 0;
}

.information .info_line {
  border-top: 1px dashed #c1c1c1;
}

.information dt {
  font-family: "Oswald", sans-serif;
  color: #999;
  letter-spacing: 0.1em;
}

.information dd {
  /*text-decoration: underline;*/
  display: inline-block;
}

@media only screen and (min-width: 560px) {
  .information dl .info_block {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }

  .information dt {
    width: 7em;
  }

  .information dd {
    width: calc(100% - 7em);
  }
}

@media only screen and (min-width: 960px) {
  .information dl {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

/*---
contact section
---*/
.contact {
  background-image: url("../img/contact_bg.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
}

.contact h3 {
  width: 100%;
  font-size: 6.5vw;
  line-height: 1.8em;
  font-weight: 600;
  border: 2px solid #ff7e00;
  display: inline-block;
  padding: 0.5em 0.5em;
  margin: 0 0 1em;
}

.contact h3 .emphasis {
  font-size: 1.2em;
  color: #ff7e00;
  vertical-align: bottom;
}

.contact h3 br {
  display: block;
}

.contact h3 .s-font {
  font-size: 0.5em;
  display: block;
  line-height: 1.6em;
  margin-bottom: 0.5rem;
}

.contact .text_bold {
  font-weight: 600;
}

.contact .cont_btn {
  display: flex;
  flex-direction: column;
}

.contact .cont_btn > div {
  width: 100%;
  margin-top: 1.2em;
}

.contact .cont_tel {
  background-color: #fff;
}

.contact .cont_tel .cont_tel_inner {
  display: block;
  height: 80px;
  text-decoration: none;
  color: #333;
}

.contact .cont_tel .copy {
  font-size: 0.9em;
  line-height: 1em;
  padding: 0.7em 0 0.5em;
}

.contact .cont_tel_num_block {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}

.contact .cont_tel_num {
  font-size: 7.4vw;
  display: inline-block;
  font-weight: 800;
}

.contact .cont_tel_rece {
  font-size: 2.8vw;
  line-height: 1.2em;
  text-align: left;
  display: inline-block;
  border-left: 1px solid #333;
  padding-left: 0.7em;
  margin-left: 0.7em;
}

.contact .cont_mail {
  background-color: #ff7e00;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.contact .cont_mail:hover {
  opacity: 0.7;
}

.contact .cont_mail a {
  display: block;
  height: 80px;
  line-height: 80px;
  font-weight: 600;
  text-decoration: none;
}

.contact .cont_mail a span {
  /*line-height: 1.6em;*/
  font-size: 4.4vw;
  color: #fff;
  display: inline-block;
}

.contact .mail_mark::before {
  /*font-size: 1.6em;
  vertical-align: top;
  margin-right: 0.5em;
  margin-top: 1px;*/
}

@media only screen and (min-width: 560px) {
  .contact h3 {
    font-size: 1.8em;
  }

  .contact h3 br {
    display: none;
  }

  .contact .cont_btn {
    width: 94%;
    margin-left: auto;
    margin-right: auto;
  }

  .contact .cont_tel .copy {
    font-size: 0.9em;
  }

  .contact .cont_tel_num {
    font-size: 2em;
  }

  .contact .cont_tel_rece {
    font-size: 0.8em;
  }

  .contact .cont_mail a span {
    font-size: 1.2em;
  }
}

@media only screen and (min-width: 960px) {
  .contact .cont_btn {
    display: flex;
    flex-direction: row;
  }

  .contact .cont_btn > div {
    width: 48%;
    margin-top: 1.2em;
    margin-left: 4%;
  }

  .contact .cont_btn > div:first-child {
    margin-left: 0;
  }
}

/*----------------------
Underlayer
------------------------*/
/*---
bread section
---*/
.bread {
  padding: 0;
  margin: 0.2em 0;
  font-size: 0.6em;
}

/*---
page title section
---*/
.page_title {
  width: 100%;
  background-image: url("../img/page_title_image.jpg");
  background-position: center right;
  background-size: 125%;
  background-repeat: no-repeat;
  padding: 0;
}

.page_title div {
  background-color: rgba(250, 205, 137, 0.5);
  width: 100%;
  text-align: center;
}

.page_title h1 {
  font-size: 1.4em;
  font-weight: 800;
  letter-spacing: 0.3em;
  height: 40vw;
  line-height: 40vw;
  margin: 0;
}

.page_title h1::before {
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  margin-right: 0.5em;
  -webkit-transform: translateY(15%);
  transform: translateY(15%);
}

.corporate .page_title h1::before {
  content: url("../img/page_title_icon_corporate.svg");
}

.private .page_title h1::before {
  content: url("../img/page_title_icon_private.svg");
}

@media only screen and (min-width: 560px) {
  .page_title h1 {
    height: 24vw;
    line-height: 24vw;
  }
}

@media only screen and (min-width: 960px) {
  .page_title h1 {
    height: 200px;
    line-height: 200px;
  }
}

/*---
service point section
---*/
.komon .service_point {
  background-image: url("../img/service_point_bg.jpg");
  background-size: 5%;
}

.komon .service_point .sec_bg {
  background-image: url("../img/service_point_image.jpg");
  background-size: 300%;
  background-repeat: no-repeat;
  background-position: 78% bottom;
  padding-bottom: calc(500 / 2000 * 300%);
}

.service_point {
  padding: 0 0 4em;
}

.komon .service_point {
  padding: 0;
}

.service_point .container {
  padding: 2em 0 0;
}

.service_point .sec_title {
  margin-bottom: 2em;
}

.komon .service_point .sec_title {
  margin-bottom: 1em;
}

.service_point h2 {
  font-size: 9.4vw;
  letter-spacing: 0.02em;
  font-weight: 800;
  text-align: justify;
  color: #131567;
}

.service_point h2 .small_cap {
  font-size: 0.6em;
  color: #333;
}

.service_point h2 .big_cap {
  font-size: 1.5em;
  margin: 0 0.1em;
}

.komon .service_point h2 {
  line-height: 1.6em;
}

.komon .service_point ul {
  display: flex;
  flex-direction: column;
}

.komon .service_point ul li {
  border: 1px solid #ff7e00;
  padding: 0.5em 0 1em;
  margin-top: 1em;
}

.komon .service_point ul li h3 {
  text-align: center;
  line-height: 2.4em;
}

.komon .service_point ul li h3 .emphasis {
  font-size: 2.4em;
  font-style: italic;
  vertical-align: -0.08em;
  margin: 0 0.2em;
}

.service_point p {
  font-weight: 500;
}

@media only screen and (min-width: 560px) {
  .komon .service_point {
    background-size: 5%;
  }

  .komon .service_point .sec_bg {
    background-size: 200%;
    background-repeat: no-repeat;
    background-position: 60% bottom;
    padding-bottom: calc(500 / 2000 * 30%);
  }

  .komon .service_point .container {
    padding: 2em 0 2em;
  }

  .komon .service_point .sec_title {
    width: 100%;
  }

  .service_point h2 {
    font-size: 4.5vw;
    letter-spacing: 0.08em;
    text-align: justify;
  }

  .komon .service_point h2 {
    text-align: center;
  }

  .komon .service_point ul {
    width: 50%;
  }
}

@media only screen and (min-width: 960px) {
  .komon .service_point {
    background-image: url("../img/service_point_bg_pc.jpg");
    background-size: contain;
  }

  .komon .service_point .sec_bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% bottom;
    padding-bottom: 3em;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .service_point .container {
    width: 80%;
    max-width: 900px;
    padding: 2em 0 1em;
  }

  .komon .service_point .container {
    width: 96%;
    max-width: 1200px;
    padding: 2em 0;
  }

  .komon .service_point .sec_title {
    width: 84%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
  }

  .service_point h2 {
    font-size: 1.8em;
    text-align: left;
  }

  .komon .service_point h2 {
    font-size: 1.8em;
    text-align: left;
  }

  .komon .service_point ul {
    width: 60%;
    flex-direction: row;
    margin-left: 8%;
  }

  .komon .service_point ul li {
    padding: 0.3em 1.5em 0.6em;
    margin-top: 1em;
    margin-right: 3%;
    width: 45%;
  }

  .komon .service_point ul li h3 {
    font-size: 0.9em;
  }
}

/*---
service message section
---*/
.komon .service_messeage {
  padding: 0 0 2em;
}

.komon .service_messeage .container {
  padding: 2em 0 0;
}

.komon .service_messeage .sec_title {
  margin-bottom: 1em;
}

.komon .service_messeage .sec_title p {
  font-size: 1.3em;
  letter-spacing: 0.02em;
  line-height: 1.3em;
  font-weight: 800;
  text-align: justify;
  color: #ff7e00;
}

.komon .service_messeage p {
  font-weight: 500;
}

.komon .service_messeage ul {
  padding: 0;
}

.komon .service_messeage ul li {
  margin: 1.8em 0 0;
  position: relative;
}

@media only screen and (min-width: 560px) {
  .komon .service_messeage {
    padding: 0 0 2em;
  }

  .komon .service_messeage .sec_title p {
    letter-spacing: 0.08em;
    text-align: center;
  }
}

@media only screen and (min-width: 960px) {
  .komon .service_messeage {
    padding: 0 0 4em;
  }

  .komon .service_messeage .container {
    width: 80%;
    max-width: 900px;
    padding: 2em 0 1em;
  }

  .komon .service_messeage .sec_title p {
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.5em;
  }
}

/*---
service how section
---*/
.service_how {
  padding: 0;
}

.service_how .container {
  background-image: url("../img/service_how_illust.svg");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 50%;
  padding: 0 0 calc(60 / 52 * 50%);
}

.komon .service_how .container {
  padding: 4em 0 calc(60 / 52 * 50%);
}

.service_how .sec_title {
  margin-bottom: 2em;
}

.service_how ul {
  padding: 0 0 1.5em;
}

.service_how ul li {
  margin: 0.8em 0 0;
  position: relative;
}

.service_how ul li p {
  margin-left: 2em;
  display: inline-block;
  font-weight: 500;
}

.service_how ul li::before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: 600;
  font-size: 1.5em;
  color: #91bed4;
  position: absolute;
}

@media only screen and (min-width: 560px) {
  .service_how .container {
    background-position: bottom left;
    background-size: 22%;
    padding: 0 0 2em;
  }

  .komon .service_how .container {
    padding: 2em 0 2em;
  }

  .service_how ul {
    width: 70%;
    padding: 0;
    margin: 0.8em auto 1.5em 30%;
    position: relative;
  }
}

@media only screen and (min-width: 960px) {
  .service_how .container {
    background-position: 10% bottom;
    background-size: 20%;
    padding: 0 0 4em;
  }

  .komon .service_how .container {
    padding: 2em 0 4em;
  }

  .service_how .sec_title {
    width: 62%;
    margin-left: 38%;
    margin-right: auto;
    margin-bottom: 2em;
    text-align: left;
  }

  .service_how ul {
    width: 62%;
    padding: 0;
    margin: 0.8em auto 1.5em 38%;
    position: relative;
  }
}

/*---
merit section
---*/
.merit {
  background-color: #eeeeee;
}

.merit .sec_title {
  margin-bottom: 1em;
}

.merit .small_cap {
  font-size: 0.7em;
}

.merit ul {
  display: flex;
  flex-direction: column;
}

.merit ul li {
  background-color: #ffffff;
  border-radius: 0.5em;
  padding: 1.2em;
  margin-top: 2em;
}

.merit ul li h3 {
  font-size: 1.3em;
  text-align: center;
  line-height: 1.8em;
}

.merit ul li h3::before {
  display: block;
  font-size: 1.35em;
  font-family: "Oswald", sans-serif;
  color: #ff7e00;
  border: 3px solid #ff7e00;
  border-radius: 50%;
  width: 1.4em;
  height: 1.4em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.4em;
}

.merit ul li:first-child h3::before {
  content: "1";
}

.merit ul li:nth-child(2) h3::before {
  content: "2";
}

.merit ul li:nth-child(3) h3::before {
  content: "3";
}

.merit ul li:nth-child(4) h3::before {
  content: "4";
}

.merit ul li:nth-child(5) h3::before {
  content: "5";
}

.merit ul li:nth-child(6) h3::before {
  content: "6";
}

.merit ul li:nth-child(7) h3::before {
  content: "7";
}

.merit ul li:nth-child(8) h3::before {
  content: "8";
}

.merit ul li p {
  margin-top: 0.5em;
}

@media only screen and (min-width: 560px) {
  .merit ul li {
    padding: 1.2em 2em 2em;
  }
}

@media only screen and (min-width: 960px) {
  .merit .sec_title {
    margin-bottom: 3em;
  }

  .merit ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: -2em;
  }

  .merit ul li {
    width: 47%;
    margin-left: 6%;
  }

  .merit ul li:nth-child(odd) {
    margin-left: 0;
  }
}

/*---
reason section
---*/
.komon .reason {
  background-color: #ffeacd;
}

.reason .sec_title {
  margin-top: -1.5em;
  margin-bottom: 1em;
}

.reason h2 .small_cap {
  font-size: 0.4em;
}

.reason h2 {
  line-height: 1.2em;
}

.reason ul {
  display: flex;
  flex-direction: column;
}

.reason ul li {
  margin-top: 2em;
  position: relative;
  padding: 0 0 0 3.2em;
}

.komon .reason ul li {
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-size: contain;
  padding: calc(200 / 560 * 100%) 1.2em 1.2em;
}

.komon .reason ul li:first-child {
  background-image: url("../img/komon_reason_image7.png");
}

.komon .reason ul li:nth-child(2) {
  background-image: url("../img/komon_reason_image8.png");
}

.komon .reason ul li:nth-child(3) {
  background-image: url("../img/komon_reason_image9.png");
}

.komon .reason ul li:nth-child(4) {
  background-image: url("../img/komon_reason_image10.png");
}

.komon .reason ul li:nth-child(5) {
  background-image: url("../img/komon_reason_image1.jpg");
}

.komon .reason ul li:nth-child(6) {
  background-image: url("../img/komon_reason_image2.jpg");
}

.komon .reason ul li:nth-child(7) {
  background-image: url("../img/komon_reason_image3.jpg");
}

.komon .reason ul li:nth-child(8) {
  background-image: url("../img/komon_reason_image4.jpg");
}

.komon .reason ul li:nth-child(9) {
  background-image: url("../img/komon_reason_image5.jpg");
}

.komon .reason ul li:nth-child(10) {
  background-image: url("../img/komon_reason_image6.jpg");
}

.reason ul li::before {
  background-color: #ff7e00;
  font-size: 1.8em;
  font-family: "Oswald", sans-serif;
  color: #fff;
  width: 1.4em;
  height: 1.4em;
  display: block;
  text-align: center;
  line-height: 1.4em;
  position: absolute;
  top: 0;
  left: 0;
}

.reason ul li:first-child::before {
  content: "01";
}

.reason ul li:nth-child(2)::before {
  content: "02";
}

.reason ul li:nth-child(3)::before {
  content: "03";
}

.reason ul li:nth-child(4)::before {
  content: "04";
}

.reason ul li:nth-child(5)::before {
  content: "05";
}

.reason ul li:nth-child(6)::before {
  content: "06";
}

.reason ul li:nth-child(7)::before {
  content: "07";
}

.reason ul li:nth-child(8)::before {
  content: "08";
}

.reason ul li:nth-child(9)::before {
  content: "09";
}

.reason ul li:nth-child(10)::before {
  content: "10";
}

.reason ul li h3 {
  font-size: 1.2em;
  text-align: left;
  line-height: 1.4em;
  padding: 0;
  margin-top: -0.2em;
}

.komon .reason ul li h3 {
  text-align: center;
  line-height: 1.4em;
  padding: 1em 0;
  margin-top: 0;
}

.reason .small_cap {
  font-size: 0.75em;
}

@media only screen and (min-width: 560px) {
  .komon .reason ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .komon .reason ul li {
    width: 47%;
    margin-left: 6%;
    padding: calc(200 / 560 * 47%) 1.2em 1.2em;
  }

  .komon .reason ul li:nth-child(odd) {
    margin-left: 0;
  }
}

@media only screen and (min-width: 960px) {
  .komon .reason ul li {
    padding: calc(200 / 560 * 47%) 2em 2em;
  }
}

/*---
plan section
---*/
.plan {
}

.plan .over_container {
  overflow: auto;
}

.plan table {
  border: 1px solid #ccc;
}

.plan table th,
.plan table td {
  border: 1px solid #ccc;
  padding: 0.5em 1em;
}

.plan table th {
  background-color: #f4f4f4;
}

.plan table tr:first-child th,
.plan table tr:nth-child(2) th,
.plan table td {
  text-align: center;
}

.plan table tr:first-child th,
.plan table tr:first-child td {
  background-color: #91bed4;
  font-weight: 800;
}

.plan table tr:nth-child(2) th,
.plan table tr:nth-child(2) td {
  background-color: #304269;
  color: #fff;
  font-weight: 800;
}

.plan table tr:nth-child(2) td {
  font-size: 1.5em;
}

.plan table tr:nth-child(2) td:nth-child(3) {
  color: #ff7e00;
}

.plan .small_cap {
  font-size: 0.75em;
  line-height: 1.5em;
}

.plan table {
  width: 800px;
  table-layout: fixed;
}

.plan table th {
  width: 50%;
}

.plan table td {
  width: 25%;
}

.plan .note {
  font-size: 0.75em;
  line-height: 1.8em;
  margin-top: 2em;
}

@media only screen and (min-width: 560px) {
  .plan table {
    width: 100%;
  }

  .plan table th {
    width: 50%;
  }

  .plan table td {
    width: 25%;
  }
}

@media only screen and (min-width: 960px) {
  .plan table {
    width: 100%;
  }

  .plan table th {
    width: 50%;
  }

  .plan table td {
    width: 25%;
  }
}

/*修正20230408*/
.plan-2 > div {
  background: #e6f3fe;
  color: #565450;
}

.plan-2 ul {
  background: #fff;
  color: #565450;
  text-align: left;
}

.plan-2 > div,
.plan-2 > ul > li {
  border: 1px solid #ccc;
  padding: 10px;
}

.nav-open:hover {
  opacity: 0.5;
}

.nav-open-ul {
  display: none;
}

/*中身*/
.plan-title {
  display: flex;
  align-items: center;
}

.plan-title-off {
  /*width: 25%;*/
  padding: 3px 10px;
  background: #f1ad2d;
  color: #fff;
  border-radius: 10px;
  margin-right: 10px;
  font-size: 18px;
}

.off20 {
  background: #fda449;
}

.off30 {
  background: #ea8326;
}

.plan-title-tx {
  font-size: 24px;
  font-weight: bold;
  text-align: left;
}

.plan-title-tx span.it1 {
  display: block;
  text-align: left;
  font-size: 18px;
  font-weight: normal;
}

.plan-title-tx span.it2 {
  font-size: 12px;
}

@media screen and (min-width: 700px) {
  .plan-title-tx {
    font-size: 26px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  span.it0 {
    display: inline-block;
  }

  .plan-title-tx span.it1 {
    display: inline-block;
    font-size: 20px;
    width: 280px;
  }

  .plan-title-off {
    font-size: 26px;
  }
}

@media screen and (min-width: 1000px) {
  .plan-title-tx {
    font-size: 30px;
  }

  .plan-title-tx span.it1 {
    font-size: 24px;
    width: 320px;
  }

  .plan-title-off {
    font-size: 30px;
  }

  .plan-cont {
    width: 80%;
    margin: 0 auto;
  }
}

/*---
flow section
---*/
.flow {
}

.flow ul {
  width: 100%;
}

.flow ul li {
  border: 3px solid #facd89;
  padding: 1em;
  position: relative;
  margin-bottom: 2em;
  background-repeat: no-repeat;
}

.komon .flow ul li:nth-child(2) {
  background-image: url("../img/illust_strength_02.svg");
  background-position: center 96%;
  background-repeat: no-repeat;
  background-size: 40%;
  padding-bottom: calc(150 / 150 * 45%);
}

.komon .flow ul li:nth-child(3) {
  background-image: url("../img/post.svg");
  background-position: center 102%;
  background-size: 35%;
  padding-bottom: calc(130 / 150 * 40%);
}

.komon .flow ul li:nth-child(4) {
  background-image: url("../img/illust_strength_03.svg");
  background-position: center 96%;
  background-size: 50%;
  padding-bottom: calc(150 / 150 * 40%);
}

.flow ul li::after {
  font-family: "Font Awesome 5 Free";
  content: "\f107";
  font-weight: 600;
  font-size: 2em;
  color: #ff7e00;
  position: absolute;
  left: 50%;
  bottom: -1em;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow ul li:last-child::after {
  content: none;
}

.flow ul li h3 {
  color: #ff7e00;
  font-size: 1.3em;
  border-bottom: 3px solid #facd89;
  padding-bottom: 0.3em;
  margin-bottom: 0.6em;
}

.flow .contact_set {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.flow .contact_set {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flow .contact_set a {
  text-decoration: none;
  display: block;
}

.flow .contact_set .cont_tel,
.flow .contact_set .cont_mail {
  width: 100%;
  text-align: center;
  margin-top: 1em;
}

.flow .contact_set .cont_tel .tel_link {
  text-align: center;
  color: #333;
}

.flow .contact_set .cont_tel_num {
  font-size: 9vw;
  display: block;
  font-weight: 800;
}

.flow .contact_set .cont_tel_rece {
  font-size: 4vw;
  line-height: 1.5em;
}

.flow .contact_set .cont_mail {
  background-color: #ff7e00;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.flow .contact_set .cont_mail:hover {
  opacity: 0.7;
}

.flow .contact_set .cont_mail a {
  font-size: 5.4vw;
  color: #fff;
  height: 60px;
  line-height: 60px;
  display: block;
}

.flow .contact_set .cont_mail .mail_mark::before {
  margin-right: 0.5em;
}

@media only screen and (min-width: 560px) {
  .flow .contact_set {
    flex-direction: row;
  }

  .flow .contact_set .cont_tel,
  .flow .contact_set .cont_mail {
    width: 50%;
  }

  .flow .contact_set .cont_tel_num {
    font-size: 2em;
    display: block;
    font-weight: 800;
  }

  .flow .contact_set .cont_tel_rece {
    font-size: 0.8em;
    line-height: 1.2em;
  }

  .flow .contact_set .cont_mail a {
    font-size: 1.2em;
  }

  .komon .flow ul li {
    background-position: 96% center;
    padding-bottom: 1em;
  }

  .komon .flow ul li:nth-child(2) {
    background-position: 96% center;
    background-size: 20%;
    padding-bottom: 1em;
  }

  .komon .flow ul li:nth-child(2) h3,
  .komon .flow ul li:nth-child(2) p {
    width: 76%;
  }

  .komon .flow ul li:nth-child(3) {
    background-position: 96% center;
    background-size: 18%;
    padding-bottom: 1em;
  }

  .komon .flow ul li:nth-child(3) h3,
  .komon .flow ul li:nth-child(3) p {
    width: 76%;
  }

  .komon .flow ul li:nth-child(4) {
    background-position: 96% center;
    background-size: 23%;
    padding-bottom: 1em;
  }

  .komon .flow ul li:nth-child(4) h3,
  .komon .flow ul li:nth-child(4) p {
    width: 72%;
  }
}

@media only screen and (min-width: 960px) {
  .flow .container {
    width: 60%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .komon .flow ul li:nth-child(2) {
    background-position: 96% center;
    background-size: 16%;
    padding-bottom: 1em;
  }

  .komon .flow ul li:nth-child(2) h3,
  .komon .flow ul li:nth-child(2) p {
    width: 80%;
  }

  .komon .flow ul li:nth-child(3) {
    background-position: 96% center;
    background-size: 15%;
    padding-bottom: 1em;
  }

  .komon .flow ul li:nth-child(3) h3,
  .komon .flow ul li:nth-child(3) p {
    width: 78%;
  }

  .komon .flow ul li:nth-child(4) {
    background-position: 96% center;
    background-size: 20%;
    padding-bottom: 1em;
  }

  .komon .flow ul li:nth-child(4) h3,
  .komon .flow ul li:nth-child(4) p {
    width: 76%;
  }
}

/*---
voice section
---*/
.voice {
  background-color: #ffeacd;
}

.voice ul li {
  background-color: #fff;
  border-radius: 1em;
  padding: 1em 1.5em;
  margin-top: 2em;
}

.voice h3 {
  font-size: 1.2em;
  font-weight: 800;
  position: relative;
  text-indent: 1.5em;
}

/*
.voice h3::before {
  font-family: "Font Awesome 5 Free";
  content: '\f075';
  font-weight: 800;
  color: #FF7E00;
  margin-right: 0.5em;
  display: inline-block;
}
*/
.voice h3::before {
  font-family: "Font Awesome 5 Free";
  content: "\f075";
  font-weight: 800;
  color: #ff7e00;
  left: -1.5em;
  position: absolute;
}

/*
.voice h3::before {
  content: "";
  background-image: url("../img/comment.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  margin-right: 0.5em;
  display: inline-block;
  width: 1em;
  height: 1em;
}*/
.voice p {
  margin-top: 0.5em;
}

@media only screen and (min-width: 560px) {
}

@media only screen and (min-width: 960px) {
  .voice ul {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

/*---
fee section
---*/
.fee {
  text-align: center;
}

.fee p {
  margin-top: -1em;
}

.fee_matrix {
  width: 100%;
}

.fee_matrix div {
  border-top: 1px solid #cdcdcd;
  padding: 1em 1.5em;
  text-align: left;
}

.fee_matrix div:last-child {
  border-bottom: 1px solid #cdcdcd;
}

.fee_matrix div dt {
  font-weight: 500;
}

.fee_matrix div dd {
  margin-top: 0.6em;
}

.fee_matrix .text_big {
  font-size: 1.4em;
  font-weight: 800;
}

.fee_matrix .big_nam {
  font-size: 1.5em;
  font-weight: 800;
  vertical-align: text-top;
}

/* full */
.fee .over_container {
  overflow: auto;
}

.fee_matrix_full {
  width: 600px;
  table-layout: fixed;
  margin-top: 1em;
}

.fee_matrix_full th,
.fee_matrix_full td {
  border: 1px solid #ccc;
  padding: 0.5em 1em;
  text-align: center;
  width: 50%;
}

.fee_matrix_full td {
  font-size: 1.2em;
  font-weight: 500;
  color: #ff7e00;
}

.fee_matrix_full th {
  background-color: #f4f4f4;
}

.fee_matrix_full tr:first-child th,
.fee_matrix_full tr:first-child td {
  font-size: 1em;
  background-color: #304269;
  color: #fff;
  font-weight: 800;
}

.fee .note {
  font-size: 0.75em;
  line-height: 1.8em;
  margin-top: 1em;
  text-align: left;
  width: 100%;
}

@media only screen and (min-width: 560px) {
  .fee_matrix_full {
    width: 100%;
  }
}

@media only screen and (min-width: 960px) {
  .fee_matrix div {
    display: flex;
    flex-direction: row;
  }

  .fee_matrix dt,
  .fee_matrix dd {
    vertical-align: baseline;
  }

  .fee_matrix dt {
    flex-basis: 20%;
    width: 20%;
    -webkit-transform: translateY(25%);
    transform: translateY(25%);
  }

  .fee_matrix dd {
    flex-basis: 80%;
    width: 80%;
    margin-top: 0;
  }

  .insolvency .fee .fee_matrix dt {
    flex-basis: 25%;
    width: 25%;
  }

  .insolvency .fee .fee_matrix dd {
    flex-basis: 75%;
    width: 75%;
  }

  .fee_matrix_full {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .fee .note {
    margin-left: 10%;
  }
}

/*-------------
private customer
--------------*/
/*---
case study section
---*/
.case_overview p {
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.8em;
}

.case {
  border: 5px solid #e6e6e6;
  padding: 1.5em;
  border-radius: 0.6em;
  overflow: hidden;
  margin-top: 2em;
}

.case_question {
  color: #304269;
  border-bottom: 5px solid #e6e6e6;
  position: relative;
}

.case_question::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  border-width: 5px;
  border-color: #e6e6e6;
  border-bottom-style: solid;
  border-right-style: solid;
  background-color: #fff;
  position: absolute;
  bottom: -1.1421356em;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
}

.case_question .case_title {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

.case_question .case_title img {
  flex-basis: 22%;
  width: 22%;
}

.case_question h3 {
  font-size: 1.2em;
  flex-basis: 75%;
  width: 75%;
  margin-left: 3%;
  margin-top: -0.3em;
}

.case p {
  margin-top: 1em;
}

.case_question p {
  font-weight: 500;
  padding-bottom: 1.5em;
}

.case_answer {
  margin-top: 1em;
}

.case_answer::before {
  content: url("../img/answer_image.svg");
  width: 16%;
  height: calc(392 / 364 * 16%);
  position: absolute;
  display: block;
}

.case_answer h4 {
  margin-left: 30%;
  color: #ff7e00;
  font-size: 1.2em;
  padding-top: 1.5em;
  position: relative;
}

.case_answer p {
}

.qa_block dt p,
.qa_block dd p {
  margin-top: 0;
}

/**20230522add qa margin-bottom拡張**/
.qa_block dd {
  margin: 0.5em 0 4em;
  position: relative;
  margin-left: 0;
  display: block;
}

@media only screen and (min-width: 560px) {
  .case_question {
    padding-left: 80px;
    position: relative;
  }

  .case_question::before {
    width: 60px;
    height: 60px;
    display: inline-block;
    position: absolute;
    left: 0;
  }

  .q1::before {
    content: url("../img/case_q_icon01.svg");
  }

  .q2::before {
    content: url("../img/case_q_icon02.svg");
  }

  .q3::before {
    content: url("../img/case_q_icon03.svg");
  }

  .q4::before {
    content: url("../img/case_q_icon04.svg");
  }

  .q5::before {
    content: url("../img/case_q_icon05.svg");
  }

  .q6::before {
    content: url("../img/case_q_icon06.svg");
  }

  .q7::before {
    content: url("../img/case_q_icon07.svg");
  }

  .q8::before {
    content: url("../img/case_q_icon08.svg");
  }

  .q9::before {
    content: url("../img/case_q_icon09.svg");
  }

  .case_question .case_title {
    display: inline-block;
  }

  .case_question .case_title h3 {
    width: 100%;
    margin-left: 0;
    margin-top: -0.2em;
  }

  .case_answer {
    padding-left: 80px;
    position: relative;
    margin-top: 2em;
  }

  .case_answer::before {
    content: url("../img/answer_image.svg");
    width: 60px;
    height: calc(392 / 364 * 60px);
    position: absolute;
    display: block;
    left: 0;
    top: 0;
  }

  .case_answer h4 {
    margin-left: 0;
    padding-top: 0;
  }

  .case_answer p {
  }

  .add_question_answer {
    padding-left: 80px;
  }
}

@media only screen and (min-width: 960px) {
}

/*---
pr_takase section
---*/
.pr_takase a {
  color: #ff7e00;
}

.pr_takase .container {
  display: flex;
  flex-direction: column;
}

.pr_image {
  width: 100%;
  margin-top: 2em;
}

.pr_takase img {
  width: 100%;
}

@media only screen and (min-width: 560px) {
  .pr_takase .container {
    flex-direction: row;
    align-items: center;
  }

  .pr_takase .container p:first-child {
    flex-basis: 70%;
    width: 70%;
  }

  .pr_image {
    flex-basis: 30%;
    width: 30%;
    margin-top: 0;
    margin-left: 2em;
  }
}

@media only screen and (min-width: 960px) {
}

/*-------------
about office page
--------------*/
/*---
overview section
---*/
.about_office .overview dl div {
  border-top: 1px solid #cdcdcd;
  padding: 1em 1em;
  text-align: left;
}

.about_office .overview dl div:last-child {
  border-bottom: 1px solid #cdcdcd;
}

.about_office .overview dl div dt {
  font-weight: 400;
}

.about_office .overview dl div dd {
  margin-top: 0.6em;
}

.about_office .overview dl div dd p {
  margin-bottom: 0.4em;
}

.about_office .overview dl div dd p:last-child {
  margin-bottom: 0;
}

.about_office .access p {
  padding: 0 0 1em;
  margin-top: -1em;
}

.about_office .access h3 {
  font-size: 1.2em;
  color: #333;
  display: inline-block;
  margin-bottom: 0.8em;
}

.about_office .access .google_map {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-top: 0.2em;
  margin-bottom: 2em;
}

@media only screen and (min-width: 560px) {
  .about_office .overview dl div {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .about_office .overview dl div dt {
    flex-basis: 20%;
    width: 20%;
  }

  .about_office .overview dl div dd {
    flex-basis: 80%;
    width: 80%;
    margin-top: 0;
  }

  .about_office .overview dl div dd p {
    margin-bottom: 2.5em;
  }

  .about_office .access .google_map {
    margin-bottom: 3em;
  }
}

@media only screen and (min-width: 960px) {
  .about_office .overview .container,
  .about_office .access .container {
    width: 80%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }

  .about_office .access .google_map {
    margin-bottom: 2em;
  }
}

/*-------------
lawyers page
--------------*/
/*---
overview section
---*/
.lawyers .position {
  color: #333;
}

.lawyers .portrait {
  width: 100%;
  text-align: center;
}

.lawyers .portrait img {
  width: 100%;
}

.lawyers .portrait p {
  text-align: right;
}

.lawyers .portrait p a {
  display: inline-block;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.lawyers .portrait p a:hover {
  opacity: 0.7;
}

.lawyers .portrait p a img {
  height: 40px;
  width: auto;
}

.lawyers .kamiharako .portrait img,
.lawyers .nagou .portrait img,
.lawyers .yoshiguchi .portrait img {
  width: 60%;
}

.lawyers .self_introduction,
.lawyers .holiday,
.lawyers .biography,
.lawyers .belongs,
.lawyers .stage {
  margin-top: 1.5em;
}

.lawyers .itroduction h3 {
  font-size: 1.2em;
  color: #ff7e00;
}

.lawyers h4 {
  font-size: 1.4em;
  line-height: 1.8em;
  margin-top: 1em;
}

.lawyers .self_introduction p,
.lawyers .holiday p {
  margin-top: 1em;
}

.lawyers .profile {
  font-size: 0.9em;
}

.biography li,
.belongs li {
  margin-top: 0.5em;
}

.stage dt {
  font-weight: 500;
}

.lawyers .suzuki,
.lawyers .kamiharako,
.lawyers .saegusa,
.lawyers .nagou,
.lawyers .yoshiguchi,
.lawyers .nagaoka,
.lawyers .matsumura {
  border-top: 30px solid #ffeacd;
  padding-top: 2em;
}

@media only screen and (min-width: 560px) {
  .lawyers .portrait {
    float: right;
    width: 35%;
    margin-left: 5%;
    text-align: right;
  }
}

@media only screen and (min-width: 960px) {
  .lawyers .portrait {
    width: 48%;
    margin-left: 5%;
  }

  .lawyers .portrait p a img {
    height: 50px;
    width: auto;
  }

  .lawyers .self_introduction,
  .lawyers .holiday {
    width: 47%;
  }

  .stage dt {
    width: 10%;
    align-items: center;
  }

  .stage dd {
    width: 87%;
    margin-left: 3%;
    align-items: center;
    /* float: right; */
    line-height: 1.8;
    /* margin-top: 0.5em; */
  }
}

/*-------------
policy page
--------------*/
/*---
privacy policy section
---*/
.policy_cont {
  padding: 2em 0 0 2em;
  position: relative;
}

.policy_cont::before {
  font-family: "Oswald", sans-serif;
  font-size: 1.6em;
  font-weight: 600;
  color: #ff7e00;
  position: absolute;
  left: 0;
}

.policy01::before {
  content: "1.";
}

.policy02::before {
  content: "2.";
}

.policy03::before {
  content: "3.";
}

.policy04::before {
  content: "4.";
}

.policy05::before {
  content: "5.";
}

.policy h2 {
  font-size: 1.4em;
  display: inline-block;
}

.policy_contents p,
.policy_contents li {
  margin-top: 1em;
}

.policy_cont li {
  position: relative;
  padding-left: 2em;
}

.policy_cont li::before {
  left: -0.5em;
  font-size: 1em;
  position: absolute;
}

.policy_list01::before {
  content: "（1）";
}

.policy_list02::before {
  content: "（2）";
}

.policy_list03::before {
  content: "（3）";
}

@media only screen and (min-width: 560px) {
}

@media only screen and (min-width: 960px) {
  .privacy_policy .container {
    width: 80%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*-------------
sitemap page
--------------*/
.sitemap ul {
  width: 90%;
  margin-left: auto;
  margin-right: 0;
}

.sitemap .corporate li,
.sitemap .private li,
.sitemap .about li {
  margin-top: 1em;
}

.sitemap .corporate li::before,
.sitemap .private li::before,
.sitemap .about li::before {
  content: "?";
  margin-right: 0.5em;
}

.sitemap .corporate li::before {
  color: #ff7e00;
}

.sitemap .private li::before {
  color: #91bed4;
}

.sitemap .about li::before {
  color: #304269;
}

.sitemap a {
  text-decoration: none;
  color: #333;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.sitemap .corporate li:hover a {
  color: #ff7e00;
}

.sitemap .private li:hover a {
  color: #91bed4;
}

.sitemap .about li:hover a {
  color: #304269;
}

@media only screen and (min-width: 560px) {
  .sitemap ul {
    width: 70%;
    margin-left: auto;
    margin-right: 0;
  }
}

@media only screen and (min-width: 960px) {
  .sitemap .container {
    width: 80%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }

  .sitemap ul {
    width: 65%;
    margin-left: auto;
    margin-right: 0;
  }
}

/*-------------
contact form page
--------------*/
.contact_messeage .tel_contact {
  text-align: center;
}

.contact_messeage h3 {
  font-size: 6.5vw;
  line-height: 1.8em;
  font-weight: 600;
  border: 2px solid #ff7e00;
  display: inline-block;
  padding: 0.5em;
  margin: 1.5em 0;
  text-align: center;
}

.contact_messeage h3 .s-font {
  font-size: 0.5em;
  display: block;
  line-height: 1.6em;
  margin-bottom: 0.5rem;
}

.contact_messeage .tel_contact .cont_btn .cont_tel a {
  text-decoration: none;
  color: #333;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact_messeage .text_bold {
  font-weight: 600;
}

.contact_messeage .tel_contact .cont_btn .cont_tel a > p {
  font-size: 4.5vw;
  line-height: 1.2em;
  text-align: center;
  display: inline-block;
}

.contact_messeage .tel_contact .cont_btn .cont_tel .cont_tel_num {
  font-size: 9.5vw;
  margin-top: 0.3em;
  font-weight: 800;
}

@media only screen and (min-width: 560px) {
  .contact_messeage h3 {
    font-size: 1.6em;
    padding: 0.5em 1.5em;
  }

  .contact_messeage .tel_contact .cont_btn .cont_tel a {
    text-decoration: none;
    color: #333;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-content: center;
  }

  .contact_messeage .tel_contact .cont_btn .cont_tel a > p {
    font-size: 1em;
    line-height: 1.2em;
    text-align: left;
    display: inline-block;
  }

  .contact_messeage .tel_contact .cont_btn .cont_tel .cont_tel_num {
    font-size: 2.5em;
    margin-top: 0;
    margin-left: 1em;
  }
}

@media only screen and (min-width: 960px) {
  .contact_messeage .container {
    width: 80%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*---
form
---*/
.form .container {
  width: 100%;
}

#googleForm {
  background-color: #fff2e0;
  padding: 2em 5%;
}

.form_boxset {
  border-top: 1px solid #cdcdcd;
  display: flex;
  flex-direction: column;
  padding: 1em 0;
}

label {
  font-size: 0.9em;
  font-weight: 400;
  display: block;
}

.radio_choices {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  margin: 0.5em 0;
}

.radio_choices li {
  flex-basis: 48%;
}

.radio_choices li:nth-child(2) {
  margin-left: 4%;
}

.form_box {
  width: 100%;
  display: block;
  font-size: 1em;
  height: 50px;
  line-height: 50px;
  padding: 1em;
  border: 1px solid #cdcdcd;
  border-radius: 3px;
  margin: 0.5em auto;
}

.form_box:after {
  content: " ";
  display: block;
  clear: both;
}

.form_box:focus {
  background-color: #ffc;
}

.required:after {
  content: "必須";
  font-size: 0.8em;
  color: #fff;
  background-color: #f33;
  padding-right: 5px;
  padding-left: 5px;
  margin-left: 5px;
  line-height: 1.5em;
  display: inline-block;
}

.textarea {
  line-height: 1.5em;
  height: 10em;
  width: 100%;
}

@media only screen and (min-width: 560px) {
}

@media only screen and (min-width: 960px) {
  #googleForm {
    background-color: #fff2e0;
    padding: 5% 5%;
  }

  .form_boxset {
    flex-direction: row;
    align-items: center;
  }

  label {
    flex-basis: 30%;
    width: 30%;
  }

  .radio_choices,
  .form_box {
    flex-basis: 67%;
    width: 67%;
    margin: 0 0 0 3%;
  }

  label[class="radio"] {
    margin-top: 0px;
    width: 100%;
    margin-bottom: 3px;
    float: none;
  }

  .required:after {
    font-size: 0.9em;
    padding-top: 3px;
    padding-bottom: 3px;
  }

  .textarea {
    height: 100px;
    width: 75%;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    margin-bottom: 20px;
  }
}

/*--------------- ラジオボタン ---------------*/
input[type="radio"] {
  display: none;
}

.radio {
  position: relative;
  display: block;
  height: 50px;
  line-height: 47px;
  text-align: center;
  background-color: #fff;
  border-radius: 3px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #cdcdcd;
}

.radio span {
  position: relative;
  display: inline-block;
}

.radio span::before {
  /*チェックボックス*/
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  -webkit-transform: translateY(15%);
  transform: translateY(15%);
  border: 2px solid #cdcdcd;
  border-radius: 6px;
  margin-right: 0.3em;
  content: "";
}

.radio span::after {
  /*チェック*/
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-55%) rotate(45deg);
  transform: translateY(-55%) rotate(45deg);
  left: 0.3em;
  display: inline-block;
  width: 5px;
  height: 9px;
  border-right: 3px solid #ff7e00;
  border-bottom: 3px solid #ff7e00;
  content: "";
  opacity: 0;
}

input[type="radio"]:checked + .radio span::after {
  opacity: 1;
}

@media only screen and (min-width: 560px) {
}

@media only screen and (min-width: 960px) {
  .required {
    position: relative;
  }

  .required::after {
    position: absolute;
    right: 0;
    padding: 3px 0.3em;
  }
}

/*--------------- プルダウン ---------------*/
.pulldown {
  overflow: hidden;
  width: 100%;
  text-align: center;
  height: 50px;
  line-height: 50px;
  padding: 0 1em;
}

.pulldown select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.pulldown select::-ms-expand {
  display: none;
}

.pulldown.cp_sl02 {
  position: relative;
  border: 1px solid #cdcdcd;
  border-radius: 2px;
  background: #ffffff;
}

.pulldown.cp_sl02::before {
  position: absolute;
  top: 1.2em;
  right: 0.9em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #666666;
  pointer-events: none;
}

.pulldown.cp_sl02:after {
  position: absolute;
  top: 0;
  right: 2.5em;
  bottom: 0;
  width: 1px;
  content: "";
  border-left: 1px solid #bbbbbb;
}

.pulldown.cp_sl02 select {
  padding: 0 38px 0 0;
  color: #333;
}

/*--------------- 送信ボタン ---------------*/
button[type="submit"] {
  display: block;
  height: 50px;
  width: 100%;
  margin-top: 20px;
  border: none;
  background-color: #ff7e00;
  cursor: pointer;
  font-size: 1.1em;
  text-decoration: none;
  color: #fff;
  letter-spacing: 0.2em;
  font-weight: 800;
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

button[type="submit"]:hover {
  opacity: 0.7;
}

.form_note {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.8);
  text-align: left;
  line-height: 1.3em;
  margin-top: 5%;
}

@media only screen and (min-width: 560px) {
}

@media only screen and (min-width: 960px) {
  button[type="submit"] {
    font-size: 18px;
    height: 50px;
    width: 300px;
    margin-right: auto;
    margin-left: auto;
  }

  .form_note {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
    line-height: 1.5em;
    margin-top: 20px;
  }
}

.form .note {
  font-size: 0.9em;
  margin-top: 1em;
}

#success h2,
#miss h2 {
  text-align: center;
  padding: 1em;
  border: 1px solid #ff7e00;
  margin: 1em 0;
  display: none;
}

#success.open h2,
#miss.open h2 {
  display: block;
}

/*---
error404 page
---*/
.error404 .container {
  width: 90%;
  margin: 3em auto;
  text-align: center;
}

.error404 .container h3 {
  font-size: 1.1em;
}

.error404 .container p {
  margin-top: 1.5em;
}

.error404 .container p.link_btn {
  margin-left: auto;
  margin-right: auto;
}

/*---
price page
---*/
.price_section {
  padding-top: 2em;
}

.price h2 {
  font-size: 1.8em;
  line-height: 1.8em;
  display: inline-block;
  margin-bottom: 0.5em;
}

.price h3 {
  font-size: 1.2em;
  display: inline-block;
  margin-bottom: 0em;
}

.price_contents {
  margin-top: 3em;
}

.price_contents p {
  margin-top: 1em;
}

.price_child {
  margin-top: 1.5em;
}

.price_table {
  overflow: auto;
  margin-top: 1em;
}

.price_table table {
  width: 960px;
  table-layout: fixed;
}

.price01 .price_table table {
  width: 960px;
}

.price02 .price_table table {
  width: 660px;
}

.price04 .price_table table {
  width: 660px;
}

.price05 .price_table table {
  width: 100%;
}

.price06 .price_table table {
  width: 100%;
}

.price07 .price_table table {
  width: 100%;
}

.price08 .price_table table {
  width: 100%;
}

.price_table table th,
.price_table table td {
  border: 1px solid #ccc;
  padding: 0.5em 1em;
  text-align: center;
  width: 50%;
}

.price01 .price_table table th {
  width: 40%;
}

.price01 .price_table table th:nth-of-type(2) {
  width: 30%;
}

.price01 .price_table table th:nth-of-type(3) {
  width: 30%;
}

.price04 .price_table table th {
  width: 20%;
}

.price04 .price_table table td {
  width: 80%;
}

.price_table table td {
  /*font-size: 1.2em;
  font-weight: 500;*/
}

.price_table table th {
  background-color: #f4f4f4;
}

.price_table table tr:first-child th,
.price_table table tr:first-child td {
  font-size: 1em;
  background-color: #304269;
  color: #fff;
  font-weight: 800;
}

.price_table_even table tr:first-child td {
  background-color: #fff;
  color: #333;
  font-weight: 300;
}

.price_table_even table th {
  font-size: 1em;
  background-color: #304269;
  color: #fff;
  font-weight: 800;
}

.price_note {
  margin-top: 1em;
}

.price_note ul li {
  margin-left: 1em;
  position: relative;
}

.price_note ul li::before {
  content: "・";
  position: absolute;
  left: -1em;
}

.sec_note {
  margin-top: 4em;
  font-weight: 600;
}

@media only screen and (min-width: 560px) {
  .price01 .price_table table {
    width: 100%;
  }

  .price02 .price_table table {
    width: 100%;
  }

  .price04 .price_table table {
    width: 100%;
  }

  .price01 .price_table table th {
    width: 46%;
  }

  .price01 .price_table table th:nth-of-type(2) {
    width: 27%;
  }

  .price01 .price_table table th:nth-of-type(3) {
    width: 27%;
  }
}

@media only screen and (min-width: 960px) {
  .price_section .container {
    width: 80%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
}

/************/
/*追加*/
/************/
.info_line a {
  text-decoration: none;
}

/*追従*/
.follow {
  background-color: rgba(255, 255, 255, 0.8);
  position: fixed;
  z-index: 10;
  bottom: 0;
  text-align: right;
  padding-right: 320px;
  /*20%*/
  width: 100%;
  height: 100px;
  line-height: 100px;
  border-top: 2px solid rgb(48, 66, 105);
  font-size: 30px;
  font-weight: bold;
}

@media screen and (max-width: 1200px) {
  .follow {
    display: none;
  }
}

/*お知らせ*/
.dd_style {
  color: blue;
}

.dd_style:hover {
  opacity: 0.5;
}

.news_btn {
  margin: 0 auto;
  margin-top: 2em;
}

/************/
/*追加*/
/************/
.faq dd .continue {
  font-size: 18px;
  font-weight: bold;
  color: #ff7e01;
  letter-spacing: 2px;
  padding-left: 4px;
}

.faq .member_qa_ttl {
  font-size: 1.8rem;
  margin: 2.5rem 0px 0.5rem 0px;
}

.faq .member_register_btn {
  display: block;
  margin: 0px auto;
  margin-top: 1.8rem;
  margin-bottom: 2rem;
  padding: 1.8rem 3rem;
  font-size: 16px;
  line-height: auto;
  letter-spacing: 1.2px;
  font-weight: bold;
  background: #ff7e01;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: all 0.4s;
  box-sizing: border-box;
}

.member_register_btn .sp_only {
  display: none;
}

@media only screen and (max-width: 640px) {
  .member_register_btn .sp_only {
    display: block;
  }

  .faq .member_register_btn {
    width: 91%;
    padding: 1rem 0.5rem;
    font-size: 14px;
  }
}

@media only screen and (max-width: 350px) {
  .faq .member_register_btn {
    font-size: 13px;
  }
}

.faq .member_register_btn:hover {
  opacity: 0.7;
}

@media only screen and (min-width: 560px) {
  .faq dd .continue {
    font-size: 20px;
    letter-spacing: 3px;
  }

  .faq .member_register_btn {
    max-width: 500px;
    font-size: 1.1rem;
  }
}

.swpm-login-widget-form,
.swpm-pw-reset-widget-form,
.paid_member_register {
  width: 35%;
  margin: 0px auto;
  text-align: center;
  margin-bottom: 1rem;
}

.swpm-login-widget-logged {
  width: 90%;
  margin: 0px auto;
  text-align: center;
}

.registration_form_ttl,
.login_form_ttl,
.pw_reset_form_ttl,
.profile_form_ttl {
  margin-top: 170px;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 1.6px;
  margin-bottom: 3rem;
}

.swpm-login-widget-form label,
.swpm-pw-reset-widget-form label {
  width: auto;
}

.swpm-login-widget-form a,
.swpm-login-widget-logged a,
.paid_member_register a {
  color: #141414;
  transition: all 0.4s;
}

.to_member_register {
  display: block;
  text-align: center;
  margin-bottom: 3rem;
}

.to_member_register a {
  color: #2495eb;
  transition: all 0.4s;
}

.swpm-login-widget-form a:hover,
.paid_member_register a:hover,
.to_member_register a:hover {
  opacity: 0.5;
}

.swpm-username-input {
  margin-bottom: 15px;
}

.swpm-password-input {
  margin-bottom: 40px;
}

.swpm-profile-username-row td,
.swpm-profile-membership-level-row td,
.swpm-profile-country-row td {
  width: 50%;
  text-align: left;
}

.swpm-profile-country-row td {
  width: 40%;
}

.swpm-profile-country-row select {
  width: 70%;
}

.swpm-login-widget-form input[type="text"],
.swpm-login-widget-form input[type="password"],
.swpm-pw-reset-widget-form input[type="text"],
.swpm-pw-reset-widget-form input[type="password"] {
  width: 80%;
  border: 1px solid #383838;
  padding: 0.2rem;
  box-sizing: border-box;
  color: #555555;
  font-size: 0.9rem;
}

.swpm-registration-widget-form table,
.swpm-edit-profile-form table {
  width: 60%;
  margin: 0px auto;
}

@media only screen and (min-width: 1400px) {
  .swpm-registration-widget-form table,
  .swpm-edit-profile-form table {
    width: 50%;
  }
}

@media only screen and (min-width: 1750px) {
  .swpm-registration-widget-form table,
  .swpm-edit-profile-form table {
    width: 40%;
  }
}

.swpm-registration-widget-form tr,
.swpm-edit-profile-form tr {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  margin-left: 2rem;
}

tr.swpm-registration-membership-level-row {
  justify-content: left;
}

tr.swpm-registration-membership-level-row td {
  width: 40%;
}

.swpm-registration-widget-form tr label,
.swpm-edit-profile-form tr label {
  width: auto;
  font-weight: bold;
}

.swpm-registration-widget-form input[type="text"],
.swpm-registration-widget-form input[type="password"],
.swpm-edit-profile-form input[type="text"],
.swpm-edit-profile-form input[type="password"] {
  width: 85% !important;
  border: 1px solid #383838;
  padding: 0.2rem;
  box-sizing: border-box;
  color: #555555;
}

.swpm-edit-profile-form input[type="text"],
.swpm-edit-profile-form input[type="password"] {
  font-weight: normal;
  border: 1px solid #383838;
  padding: 0.2rem;
  box-sizing: border-box;
  color: #555555;
}

.swpm-registration-submit-section .swpm-registration-submit,
.swpm-login-submit .swpm-login-form-submit,
.swpm-edit-profile-submit-section .swpm-edit-profile-submit {
  letter-spacing: 1.7px;
  background: #ff7e01;
  color: #fff;
  padding: 1.2rem 6rem;
  border: none;
  transition: all 0.4s;
  margin: 1rem 0px;
}

.swpm-pw-reset-submit {
  letter-spacing: 1.7px;
  background: #ff7e01;
  color: #fff;
  padding: 1.2rem 5rem;
  border: none;
  transition: all 0.4s;
  margin: 1rem 0px;
}

.paid_member_register .swpm-buy-now-button-submit,
.swpm-button-wrapper input[type="submit"] {
  width: 90% !important;
  letter-spacing: 1.7px;
  background: #ff7e01 !important;
  border-radius: 0px !important;
  color: #fff;
  padding: 1.2rem 0px;
  border: none;
  transition: all 0.4s;
  margin: 1rem 0px;
}

@media only screen and (max-width: 640px) {
  .paid_member_register .swpm-buy-now-button-submit,
  .swpm-button-wrapper input[type="submit"] {
    color: #212121;
  }
}

.swpm-registration-submit-section .swpm-registration-submit:hover,
.swpm-login-submit .swpm-login-form-submit:hover,
.swpm-edit-profile-submit-section .swpm-edit-profile-submit:hover,
.swpm-pw-reset-submit:hover,
.paid_member_register .swpm-buy-now-button-submit:hover {
  opacity: 0.7;
}

.swpm_success,
.swpm_error {
  width: 60%;
  margin: 0px auto;
  margin-top: 150px;
}

.swpm_error li {
  color: #ff7e01;
}

.swpm-login-action-msg {
  margin-top: 1rem;
}

.swpm-login-action-msg a {
  color: #2495eb;
}

.swpm-registration-membership-level-row {
  display: none;
}

@media only screen and (max-width: 1200px) {
  .swpm-registration-widget-form table,
  .swpm-edit-profile-form table {
    width: 70%;
  }

  .swpm-registration-widget-form tr,
  .swpm-edit-profile-form tr {
    margin-left: 3rem;
  }

  .swpm-login-widget-form,
  .swpm-pw-reset-widget-form,
  .paid_member_register {
    width: 40%;
  }
}

@media only screen and (max-width: 1040px) {
  .swpm-registration-widget-form table,
  .swpm-edit-profile-form table {
    width: 78%;
  }

  .swpm-registration-widget-form tr,
  .swpm-edit-profile-form tr {
    margin-left: 0px;
  }

  .swpm-registration-widget-form input[type="text"],
  .swpm-registration-widget-form input[type="password"],
  .swpm-edit-profile-form input[type="text"],
  .swpm-edit-profile-form input[type="password"] {
    width: 100% !important;
  }

  .swpm-login-widget-form,
  .swpm-pw-reset-widget-form,
  .paid_member_register {
    width: 55%;
  }
}

@media only screen and (max-width: 860px) {
  .registration_form_ttl,
  .login_form_ttl,
  .pw_reset_form_ttl,
  .profile_form_ttl {
    margin-top: 100px;
  }

  .swpm-registration-widget-form table,
  .swpm-edit-profile-form table {
    width: 70%;
  }

  .swpm-profile-country-row td {
    width: 70%;
  }

  .swpm-profile-country-row select {
    width: 100%;
  }

  .swpm-registration-widget-form tr,
  .swpm-edit-profile-form tr {
    flex-direction: column;
    justify-content: unset;
  }

  .swpm-login-widget-form,
  .swpm-pw-reset-widget-form,
  .paid_member_register {
    width: 70%;
  }
}

@media only screen and (max-width: 640px) {
  .swpm-registration-widget-form table,
  .swpm-edit-profile-form table {
    width: 85%;
  }

  .swpm-login-widget-form,
  .swpm-pw-reset-widget-form,
  .paid_member_register {
    width: 95%;
  }
}

.taikai_caution {
  max-width: 1000px;
  margin: 0px auto;
  margin-top: 1rem;
}

.taikai_caution span {
  display: block;
  font-size: 0.8rem;
  margin: 0.4rem;
  line-height: 1.2em;
}

.taikai_caution ul {
  width: 80%;
  margin: 0px auto;
  font-size: 0.9rem;
  background: rgb(223, 223, 223);
  padding: 1em 0.7rem;
  margin-top: 1rem;
}

.taikai_caution li.list_first {
  margin-bottom: 1rem;
}

.taikai_caution li {
  font-weight: bold;
  line-height: 1.8em;
}

@media only screen and (max-width: 640px) {
  .taikai_caution ul {
    width: 90%;
  }

  .taikai_caution ul {
    font-size: 0.7rem;
  }

  .taikai_caution li {
    line-height: 1.5em;
  }
}

/**NEWSLETTER add 20221219**/
.newsletter .page_title h1::before {
  content: url("../img/page_title_icon_newsletter.svg");
}

.mail_li a[target*="_blank"]:after {
  margin: unset;
  font-family: unset;
  content: unset;
  font-weight: unset;
}

.mail_li .link-article .sentence:hover {
  border: 10px solid #cae2f2;
}

.mail_li .sentence li {
  line-height: 1.2;
}

.mail_li h1 {
  border-bottom: unset;
  color: #333;
  font-weight: bold;
  margin: 2% 1%;
  padding: 0 0;
}

.mail_li h1:after {
  margin: 0 5px;
  font-family: "Font Awesome 5 Free";
  /*vertical-align: middle;*/
  content: "\f35d";
  font-weight: 900;
}

.mail_li {
  width: 80%;
  margin: auto;
  padding: 0 0 1em;
}

.mail_li table {
  width: 100%;
  margin: 0 auto;
}

.mail_li td.logo {
  text-align: center;
  padding: 1rem 0;
}

.mail_li td.logo img {
  width: 100px;
  background-color: #ffffff;
  margin: 1rem 0 5rem;
}

.mail_li img.logo_hr {
  width: 100%;
}

.mail_li td.bun {
  text-align: left;
  padding: 1rem;
  background-color: #dddddd;
}

.mail_li td.entry {
  text-align: center;
  padding: 1rem 0;
  background-color: #ffffff;
}

.mail_li td.entry a {
  font-weight: bold;
}

.mail_li td.tdtop {
  /*  font-family: 'ãƒ¡ã‚¤ãƒªã‚ª', Meiryo, sans-serif;*/
  background: #fff;
  font-size: 1.2rem;
  line-height: 1.2;
  text-align: left;
  color: #333;
  padding: 0 0;
}

.page-id-54893 table p {
  font-size: 1rem;
  line-height: 1;
}

.mail_li td.f_logo {
  text-align: center;
}

.mail_li td.f_logo img {
  width: 22%;
}

.mail_li ul {
  list-style-type: disc;
  padding-left: 1.7rem;
  list-style-position: outside;
}

.mail_li li {
  margin-bottom: 2%;
}

.mail_li .sentence {
  background: #fff;
  color: #666;
  margin: 1.5rem 0;
  padding: 1rem 1.5rem;
  border: 10px solid #e9e9e9;
  line-height: 1.4;
}

.mail_li .link-article .sentence {
  border: 10px solid #e9e9e9;
  -webkit-transition: border ease-in-out 0.4s;
  -moz-transition: border ease-in-out 0.4s;
  -o-transition: border ease-in-out 0.4s;
  transition: border ease-in-out 0.4s;
}

.mail_li .btn {
  display: block;
  margin: 0 auto;
  text-align: center;
  max-width: 280px;
  /*  font-family: 'Lato', 'Noto Sans JP', 'ãƒ¡ã‚¤ãƒªã‚ªÂ¯ Medium', 'Ã¦Â¸Â¸Ã£â€šÂ´Ã£â€šÂ·Ã£Æ’Æ’Ã£â€šÂ¯Ã¤Â½â€œ', 'Yu Gothic Medium', YuGothic, 'Ã£Æ’â€™Ã£Æ’Â©Ã£â€šÂ®Ã£Æ’Å½Ã¨Â§â€™Ã£â€šÂ´ ProN', 'Hiragino Kaku Gothic ProN', 'Meiryo', Meiryo, 'Ã¯Â¼Â­Ã¯Â¼Â³ Ã¯Â¼Â°Ã£â€šÂ´Ã£â€šÂ·Ã£Æ’Æ’Ã£â€šÂ¯', 'MS PGothic', sans-serif;*/
  font-size: 1.2rem;
}

.mail_li .btn a {
  border-radius: 5px;
  text-decoration: none;
  color: #fff;
  padding: 10px 5%;
  display: block;
  width: 90%;
}

.mail_li .btn a:hover {
  background: rgba(0, 0, 5, 0.7);
}

.mail_li .btn a:after {
  margin: 0 5px;
  font-family: "Font Awesome 5 Free";
  /* vertical-align: middle; */
  content: "\f138";
  font-weight: 900;
}

.mail_li .btn.works_btn {
  background: #2383b0;
  border-radius: 5px;
}

.mail_li .mb100 {
  margin-bottom: 10%;
}

/********経営理念*********/
.philosophy {
  max-width: 1100px;
  margin: 0 auto;
}

.philosophy p {
  margin: 30px 0;
}

.philosophy,
.philosophyItem1 h2,
.philosophyItem2 h2 span,
.philosophyItem2 h3 {
  font-size: 24px;
}

/*philosophyItem1*/
.philosophyItem1 {
  padding: 70px 100px;
  border: solid 1px #707070;
  text-align: center;
  margin-bottom: 100px;
}

.philosophyItem1 h2 {
  background-image: url(https://takase-law.com/wp/wp-content/themes/takase2019/img/philosophy-title1.png);
  background-repeat: no-repeat;
  background-position: 50%;
  height: 88px;
  line-height: 1.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  margin: 0;
  color: #fff;
}

.philosophyItem1 h2 span {
  font-size: 20px;
}

.philosophyItem1 div .mission-tx {
  text-align: left;
  max-width: 630px;
  margin: 30px auto;
}

span.line-oreng {
  display: inline-block;
  height: 46px;
  line-height: 46px;
  background: linear-gradient(transparent 85%, #f98028 85%);
  font-weight: bold;
}

ul.mission {
  margin: 50px 0 10px;
}

ul.mission li {
  text-indent: -1em;
  padding-left: 1em;
}

.philosophyItem1-tex {
  padding: 40px;
  border-radius: 20px;
  background-color: #fdeed6;
}

/*philosophyItem2*/
.philosophyItem2.mb {
  margin-bottom: 50px;
}

.philosophyItem2 h2 {
  background-image: url(https://takase-law.com/wp/wp-content/themes/takase2019/img/philosophy-title2.png);
  background-repeat: no-repeat;
  background-position: 50%;
  height: 129px;
  display: flex;
  align-items: center;
  margin: 0;
  margin-bottom: 30px;
  padding-left: 50px;
  font-size: 30px;
}

.philosophyItem2 h3 {
  display: inherit;
  text-align: center;
  margin-bottom: 30px;
}

.philosophyItem2 > div,
.philosophyItem2 > ul {
  width: 92%;
  margin: 0 auto;
}

.philosophyItem2 > div ul {
  margin: 40px 0;
}

.philosophyItem2 ul li {
  text-indent: -1em;
  padding-left: 1em;
}

.philosophyItem2 > ul li:not(:last-child) {
  margin-bottom: 20px;
}

.sp-br {
  display: none;
}

@media screen and (max-width: 999px) {
  .philosophy {
    width: 95%;
  }

  .philosophy,
  .philosophyItem1 h2,
  .philosophyItem2 h2 span,
  .philosophyItem2 h3 {
    font-size: 18px;
  }

  .philosophyItem1 h2 span {
    font-size: 16px;
  }

  .philosophyItem2 h2 {
    font-size: 24px;
    padding-left: 10px;
  }

  .philosophyItem1 {
    padding: 70px 30px;
  }

  span.line-oreng {
    display: inline;
    line-height: 34px;
  }
}

@media screen and (max-width: 649px) {
  .philosophyItem1 {
    padding: 30px 10px;
    margin-bottom: 50px;
  }

  .philosophyItem1-tex {
    padding: 10px;
  }

  .philosophyItem1 h2 {
    height: 60px;
  }

  .philosophyItem2 h2 {
    flex-flow: column;
    justify-content: center;
    line-height: 1.2em;
    padding: 0 5px;
    height: 100px;
  }

  .sp-br {
    display: block;
  }
}

/*---
inheritance 相続一問一答・アンカーリンク
---*/

.inherit p {
  margin-bottom: 55px;
}

.inherit .inheritance_casebtn {
  min-height: 80px;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.2;
}

.inherit .inheritance_anchor a {
  width: calc(100% / 3);
}

.inherit .inheritance_anchor span {
  font-size: 18px;
}

/*相続の流れ*/
.inheritance_flowback {
  padding: 33px;
  margin-top: 20px;
}

.inheritance_flow {
  text-align: center;
  color: #304269;
  font-size: 2em;
  margin-bottom: 20px;
}

.progressbar {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.progressbar li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 15%;
  color: #999999;
  font-weight: bold;
}

.progressbar li:before {
  display: block;
  width: 18px;
  height: 18px;
  margin: 7px auto 20px auto;
  content: "";
  text-align: center;
  border-radius: 50%;
  background-color: #f5f5f5;
}

.progressbar li:after {
  position: absolute;
  z-index: -1;
  top: 15px;
  left: -120%;
  width: 170%;
  height: 2px;
  content: "";
  background-color: #f5f5f5;
}

.progressbar li:first-child:after {
  content: none;
}

.progressbar li.active,
.progressbar li.complete {
  color: #304269;
  font-size: 1em;
}

.progressbar li.active:before,
.progressbar li.complete:before {
  background-color: #304269;
}

.progressbar li.active:after,
.progressbar li.complete:after {
  background-color: #304269;
}

@media only screen and (max-width: 600px) {
  .progressbar {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .inheritance_flowback {
    padding: 33px;
    margin-top: 20px;
  }

  .progressbar li {
    position: relative;
    font-weight: 700;
    width: 100%;
    line-height: 1.5;
    text-align: left !important;
  }

  .progressbar li.active,
  .progressbar li.complete {
    color: #304269;
    font-size: 1.2em;
  }

  .progressbar li.active:before,
  .progressbar li.complete:before {
    background-color: none !important;
  }

  .progressbar li.active:after,
  .progressbar li.complete:after {
    background-color: none !important;
    width: 0%;
  }

  .progressbar li:before {
    display: none !important;
  }

  .inheritance_flowback > p {
    margin-left: 0;
  }
}

.smallcaution {
  font-size: 0.6em;
  font-weight: normal;
}

/*相続ケーススタディアンカーリンク*/
.inheritance_anchor {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.inheritance_casebtn {
  background-color: #ff7e00;
  color: #fff;
  text-align: center;
  flex: 1;
  padding: 15px 50px;
  font-size: 20px;
  font-weight: 200;
  width: auto;
  margin: 0 10px;
}

div.inheritance_anchor > a {
  text-decoration: none;
}

.anchor_point {
  display: block;
  padding-top: 90px;
  margin-top: -90px;
}

div.inheritance_anchor > a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.casebtn_txt {
  text-align: center;
  font-size: 14px;
}

@media only screen and (max-width: 700px) {
  .inheritance_anchor {
    display: block;
    margin: 0 auto;
    width: 100%;
  }

  .inheritance_casebtn {
    background-color: #ff7e00;
    color: #fff;
    text-align: center;
    flex: 1;
    padding: 7px 30px;
    font-size: 18px;
    font-weight: 200;
    width: 100%;
  }
}

/*---
アンカーリスト add20230522
---*/
.list_hedding {
  position: relative;
  padding: 0 65px;
  text-align: center;
  margin: 2.5em;
  color: #ff7e00;
}

.list_hedding:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background: #ff7e00;
}

.list_hedding span {
  position: relative;
  padding: 0 1em;
  background: #fff;
  font-size: 30px;
}

@media only screen and (max-width: 700px) {
  .list_hedding {
    margin: 0em;
  }

  .list_hedding span {
    font-size: 18px;
  }
}

ul.list_anchor {
  padding: 0ch 9em;
}

@media only screen and (max-width: 700px) {
  ul.list_anchor {
    padding: 0ch 0em;
  }

  .list_anchor > li {
    font-size: 14px;
  }
}

.list_anchor > li {
  font-weight: bold;
  line-height: 2;
}

.list_anchor > li > a {
  color: #333;
  position: relative;
  text-decoration: none;
}

.list_anchor > li > a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #ff7e00;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.4s;
}

.list_anchor > li > a:hover::after {
  transform: scale(1, 1);
}

.list_anchor > li > a:hover {
  color: #ff7e00;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.4s;
}

.list_anchor > li::before {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 8px;
}

.anchor_point2 {
  display: block;
  padding-top: 147px;
  margin-top: -90px;
}

/*---
lawyers 弁護士紹介 専門分野 add20230228
---*/

.portrait h5 {
  text-align: center;
  margin: 10px auto;
}

.field_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  text-decoration: none;
  flex-wrap: wrap;
  width: 100%;
  gap: 5px;
}

a .field_box {
  width: 23%;
  text-align: center !important;
  background: #ff7e00;
  color: #fff;
  text-decoration: none !important;
}

a .field_box2 {
  width: 32%;
  text-align: center !important;
  background: #ff7e00;
  color: #fff;
  text-decoration: none !important;
}

a .field_box3 {
  width: 49%;
  text-align: center !important;
  background: #ff7e00;
  color: #fff;
  text-decoration: none !important;
}

.field_box:hover {
  transition: all 1s ease;
  opacity: 0.5;
}

.field_box2:hover {
  transition: all 1s ease;
  opacity: 0.5;
}

.field_box3:hover {
  transition: all 1s ease;
  opacity: 0.5;
}

.field_box {
  width: 23%;
  text-align: center;
  background: #ff7e00;
  color: #fff;
  text-decoration: none !important;
}

.field_box2 {
  width: 32%;
  text-align: center;
  background: #ff7e00;
  color: #fff;
  text-decoration: none !important;
}

.field_box3 {
  width: 49%;
  text-align: center;
  background: #ff7e00;
  color: #fff;
  text-decoration: none !important;
}

.sns_list {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media screen and (min-width: 560px) and (max-width: 959px) {
  .field_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    text-decoration: none;
    flex-wrap: wrap;
    width: 100%;
  }

  a .field_box {
    width: 48%;
    text-align: center !important;
    background: #ff7e00;
    color: #fff;
    text-decoration: none !important;
    font-size: 70%;
    margin-top: 3px;
  }

  .field_box {
    width: 48%;
    text-align: center;
    background: #ff7e00;
    color: #fff;
    text-decoration: none !important;
    font-size: 70%;
    margin-top: 3px;
  }

  a .field_box2 {
    width: 48%;
    text-align: center !important;
    background: #ff7e00;
    color: #fff;
    text-decoration: none !important;
    font-size: 70%;
    margin-top: 3px;
  }

  .field_box2 {
    width: 48%;
    text-align: center;
    background: #ff7e00;
    color: #fff;
    text-decoration: none !important;
    font-size: 70%;
    margin-top: 3px;
  }
}

/*margin-bottom Set *add20230414*/

.mb1 {
  margin-bottom: 1em;
}

.mb2 {
  margin-bottom: 2em;
}

.mb3 {
  margin-bottom: 3em;
}

.mb4 {
  margin-bottom: 4em;
}

.mb5 {
  margin-bottom: 5em;
}

.mt1 {
  margin-top: 1em;
}

.mt2 {
  margin-top: 2em;
}

.mt3 {
  margin-top: 3em;
}

.mt4 {
  margin-top: 4em;
}

.mt5 {
  margin-top: 5em;
}

/*add20230428*/
.text-center {
  text-align: center !important;
}

/*add20230621 margin auto*/
.m-auto {
  margin: 0 auto !important;
}

/*---
契約書テンプレートダウンロード add20230413
---*/

.free_temp_sec {
  width: 100%;
  margin-top: 2em;
  padding: 0;
  text-align: center;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.free_temp_sec:hover {
  opacity: 0.7;
}

.members_template .page_title h1::before {
  content: url("../img/page_title_icon_template.svg");
}

.download_title h2 {
  font-size: 1.7em;
  line-height: 1.8em;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.download_title {
  text-align: center;
  margin-bottom: 1em;
  border-bottom: 2px solid #ff7e00;
  line-height: 1 !important;
}

.sdm_download_title {
  float: none !important;
  text-align: center;
  font-size: 1em;
}

.sdm_download_thumbnail {
  width: 70%;
  margin: 0 15%;
  display: block;
  text-align: center;
}

.sdm_download_thumbnail img {
  text-align: center;
}

.sdm_download_link {
  text-align: center;
}

.sdm_download_thumbnail_image {
  width: 100% !important;
  height: 100% !important;
  float: none !important;
  margin-right: 0px !important;
  border: 1px solid #999;
  margin: 0 auto !important;
}

/*login message *add20230417*/
.swpm-post-not-logged-in-msg {
  margin: 200px 80px;
}

.swpm-partial-protection-msg {
  text-align: center;
  margin: 3em 0;
  padding: 50px;
  color: #333;
  background-color: #f6f6f6;
  border-top: 1px dotted #ff7e00;
  border-bottom: 1px dotted #ff7e00;
}

/* members_template *add20230419*/
.termsbox > fieldset {
  width: 96%;
  max-width: 1200px;
  border: 4px solid #ff7e00;
  padding: 20px 20px 40px;
  font-size: 100%;
  border-radius: 10px;
}

.termsbox > fieldset > legend {
  padding: 0 10px;
  letter-spacing: 4px;
  text-align: center;
  margin: 0 auto;
}

.subtitle_terms {
  font-size: 70%;
  font-weight: bold;
}

.title_terms {
  font-weight: bold;
  font-size: 2em;
  color: #ff7e00;
}

.title_terms2 {
  font-weight: bold;
  font-size: 1.2em;
  color: #ff7e00;
}

.termsbox p {
  text-align: center;
  font-size: 90%;
  line-height: 1.5;
}

.inlineterms {
  overflow: auto;
  height: 100px;
  padding: 10px;
  line-height: 1.5em;
  border-radius: 5px;
  border: 1px solid #ff7e00;
  margin: 20px 0;
  font-size: 90%;
  text-align: left !important;
  background-color: #fff;
}

.recommendline {
  text-align: center;
  border-bottom: 2px solid #ff7e00;
  padding-bottom: 0.5em;
  margin: 0.5em auto;
}

.inlineterms p {
  text-align: left !important;
}

.recommend {
  font-size: 90%;
}

.recommend_list {
  list-style-type: disc;
  list-style-position: inside;
}

/*テンプレートリスト*/
.template_wrap {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 30px;
}

@media only screen and (max-width: 640px) {
  .template_wrap {
  }
}

.template_wrap h2 {
  font-size: 1.8em;
  line-height: 1.8em;
  display: inline-block;
  margin-bottom: 0.5em;
}

.redcaution {
  line-height: 1.5;
  margin-top: 25px;
}

.yellowbold {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-size: 1.2em;
  background-color: #fff;
  border-radius: 10px 20px;
  padding: 10px;
  color: #ff7e00;
  display: inline-block;
  margin-right: 15px;
}

.template_members_intro {
  min-height: 500px;
  background-image: url(/wp/wp-content/uploads/2023/04/bg_template_members.jpg);
  background-size: cover;
  background-position: center center;
  border-bottom: 1px solid #ff7e00;
  padding-bottom: 1em !important;
}

.template_members_intro p {
  text-shadow: 0 0 5px #fff;
}

p .highlight {
  background: linear-gradient(transparent 50%, #ffac5a 0%);
  line-height: 1.3em;
}

.template_members_intro h2 > span {
  color: #ff7e00;
}

.template_members_intro .text_area {
  width: 60%;
}

.sp_h2 {
  color: #333 !important;
}

.sp_img {
  display: none;
}

@media screen and (max-width: 640px) {
  .sp_img {
    display: block;
    margin: 2em auto;
  }
}

@media screen and (max-width: 900px) {
  .template_members_intro .text_area {
    width: 100%;
  }

  .template_wrap h2 > .sp_h2 {
    font-size: 0.7em;
    line-height: 1;
    display: inline-block;
    margin-bottom: 0.5em;
  }
}

a.btn_members {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  text-decoration: none;
  margin: auto;
  padding: 1rem 1.8em;
  font-weight: bold;
  background: #eee;
  color: #ff7e00;
  border-radius: 100vh;
  position: relative;
  transition: 0.5s;
  font-size: 1em !important;
}

a.btn_members::before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 1em;
  transform: translateY(calc(-50% - 2px)) rotate(45deg);
  width: 10px;
  height: 1px;
  background: #ff7e00;
}

a.btn_members::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  width: 20px;
  height: 1px;
  background-color: #ff7e00;
}

a.btn_members:hover {
  background: #ffdebd;
  color: #ff7e00;
}

.template_title {
  margin: 15px 0;
  display: flex;
  align-items: center;
}

.template_title:after {
  border-top: 1px solid #ff7e00;
  content: "";
  flex-grow: 1;
}

.template_title:after {
  margin-left: 1rem;
}

.template_itemcase {
  margin-bottom: 2em;
}

.template_itemcase > p {
  font-size: 0.8em;
  line-height: 1.5;
  margin-bottom: 1em;
}

.template_itemcase img {
  border-radius: 5px;
}

.template_itemcase ul {
  list-style: disc;
  font-size: 90%;
  margin-bottom: 1.5em;
}

.template_itemcase ul li {
  list-style-type: none;
  /*点を非表示*/
  position: relative;
  /*基準位置*/
  padding-left: 1.2em;
}

.template_itemcase ul li > a {
  text-decoration: none;
  color: #333;
}

.template_itemcase ul li > a:hover {
  color: #ff7e00 !important;
}

.template_itemcase ul li > a:visited {
  color: #333;
}

.template_itemcase ul li::before {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  left: 0;
  top: 0.8em;
  content: "";
  background: #ff7e00;
}

/*コンサルティングアドバイザリー調整*/
.template_itemcase:nth-child(1) ul li:nth-child(3)::before {
  font-size: 88%;
}

.template_itemcase:nth-child(1) ul li:nth-child(3)::before {
  position: absolute;
  /*絶対配置*/
  /*点の位置*/
  top: 1em;
  /*点の位置*/
}

.outsoucex
  .wp-block-column:nth-child(3)
  > .sdm_download_item
  .sdm_download_title {
  font-size: 65%;
}

/*ダウンロードボックス調整*/
#outsourcing .is-layout-flow:nth-child(3) {
  font-size: 70%;
}

.sdm_download.orange {
  margin: 1em 0;
}

/*テンプレアンカー調整*/
.temp_anchor {
  display: block;
  padding-top: 130px;
  margin-top: -110px;
}

/*新規顧客向け各DLページ*/
.free_tempwrap {
  max-width: 1000px;
  margin: 2em auto;
}

.temp_h2hight {
  line-height: 1.5;
}

.free_tempwrap img {
  border: 1px solid #999;
  width: 90%;
  margin: 0 15px;
}

.free_tempwrap .note {
  font-size: 14px;
}

.f70ldd_entry form .checkbox {
  text-align: center;
  font-weight: bold;
  font-size: 80%;
  color: #b1221a;
}

.f70ldd_entry form .checkbox input {
  margin-right: 7px;
}

.f70ldd_entry form .submit input {
  width: 100% !important;
}

.f70ldd_entry input {
  padding: 10px;
}

.wp-block-group-is-layout-constrained .f70ldd_entry {
  margin-top: 0;
  text-align: left;
}

.f70ldd_entry {
  background: #fff1e3;
  border-radius: 0.5em;
  padding: 1em 3.5em;
  margin-top: 160px;
  margin-bottom: 1em;
  text-align: center;
}

.f70ldd_error {
  margin: 12em 5em;
}

.f70ldd_entry .input > input {
  border-radius: 5px;
  border: 1px solid #ff7e00;
  width: 100%;
}

.f70ldd_entry form .input {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}

.whitebold {
  color: #fff;
  font-weight: bold;
}

.company > label,
.fullname > label,
.email > label {
  font-size: 1em;
  color: #ff7e00;
  margin-bottom: 5px;
  font-weight: 700 !important;
}

.f70ldd_entry .email {
  margin-bottom: 1.7em;
}

.f70ldd_entry form .submit {
  margin: 1em 0 0.5em;
  display: inline-block;
  width: 100%;
  font-size: 1em;
}

.submit > input {
  margin: 0 auto;
  border: none;
}

/*free downloadbutton*/
.inputbtn {
  background-color: white;
  border-radius: 5px;
  transition: 0.5s;
  color: #ff7e00;
}

.inputbtn:hover {
  background-color: #ff7e00;
  border-radius: 5px;
  color: #fff;
}

/*free download file*/
.f70ldd_download_files > .file .file-thumbnail img {
  border: 1px solid #999;
}

.f70ldd_download_files > .file .file-thumbnail {
  max-width: 250px;
}

.f70ldd_download_files_title {
  text-align: center;
  font-size: 1em;
  margin-bottom: 0.5em;
  margin-top: 160px;
}

.freedown_p {
  text-align: center;
  margin: 2em auto 1em;
  font-size: 2em;
  line-height: 1.2;
  color: #ff7e00;
}

.f70ldd_download_button::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f56d";
  margin-right: 6px;
}

.f70ldd_download_button_area.wp-block-buttons {
  margin-bottom: 5em;
}

.f70ldd_download_count {
  text-align: center;
}

/**/
.check_list li::before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 10px;
}

/*20230619**add採用情報*/
/* .recruit_data table{
  background-color: #fff;
}

.recruit_data table th{
  background-color: #facd89;
} */

.recruit_data {
  border-collapse: separate;
  border-spacing: 5px;
  width: 100%;
  border: 3px solid #fff;
  border-radius: 10px;
}

.recruit_data table {
  border: none;
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .f70ldd_entry {
    margin-top: 65px;
  }

  .recruit_data table {
    border: none;
    width: 100%;
    margin: 0 auto;
    font-size: 88%;
  }

  .f70ldd_download_files_title {
    margin-top: 120px;
  }
}

.recruit_data table td,
.recruit_data table th {
  border: 5px solid #fff;
  padding: 0.5em;
}

.recruit_data th,
.recruit_data td {
  border-radius: 10px;
  text-align: center;
  padding: 10px 25px;
}

.recruit_data th {
  background: rgb(255, 126, 0);
  background: -moz-linear-gradient(
    323deg,
    rgba(255, 126, 0, 0.6418942577030813) 18%,
    rgba(255, 178, 103, 0.6138830532212884) 100%
  );
  background: -webkit-linear-gradient(
    323deg,
    rgba(255, 126, 0, 0.6418942577030813) 18%,
    rgba(255, 178, 103, 0.6138830532212884) 100%
  );
  background: linear-gradient(
    323deg,
    rgba(255, 126, 0, 0.6418942577030813) 18%,
    rgba(255, 178, 103, 0.6138830532212884) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff7e00", endColorstr="#ffb267", GradientType=1);
  color: #333;
  font-weight: bold;
  width: 30%;
  /* border:solid 1px #927141; */
}

.recruit_data table tr:nth-child(even) {
  background-color: #eee;
}

.recruit_data td {
  background-color: #fff;
  border: 3px solid #fff;
  text-align: left;
  padding: 1.5em;
  /* border:solid 1px #af9d85; */
}

.career_box .form_box {
  margin-left: 14px;
  margin-right: -50px;
}

.recruit_data .form_boxset {
  margin: 0 auto;
  width: 70%;
  padding: 20px;
}

.recruit_data label {
  width: 60%;
  margin: 0;
}

.button_run {
  transition: 0.2s;
  padding: 8px 20px;
  margin: 0 auto;
}

.button_run:active {
  transform: translateY(2px);
}

.recruit_h4 {
  margin-top: 0.8em !important;
  font-size: 1em !important;
}

.button_recruitentry a {
  font-size: 1.7em;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 50px auto;
  max-width: 500px;
  padding: 10px 0px 10px 25px;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  background-color: #fff;
  text-decoration: none;
}

.button_recruitentry a:before,
.button_recruitentry a:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.button_recruitentry a:before {
  width: 0.5rem;
  height: 0.5rem;
  left: 1.1rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

.button_recruitentry a:after {
  left: 0;
  background: rgb(19, 21, 103);
  z-index: 1;
  width: 3rem;
  height: 3rem;
  border-radius: 4rem;
  transform: translateY(-50%);
  transition: all 0.5s;
}

.button_recruitentry a span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
  font-weight: bold;
}

.button_recruitentry a:hover span {
  color: #fff;
}

.button_recruitentry a:hover:before {
  left: 2rem;
}

.button_recruitentry a:hover:after {
  right: 0;
  width: 100%;
}

.recruit_tel {
  text-align: center;
}

.cont_tel_num_block .recruit_num {
  margin-top: 0.5em !important;
  margin-left: 0 !important;
}

/*recruit form mw*/
.contactbox {
  padding: 10px 0;
  background-color: #fff3e7;
}

.contactset {
  margin: 0 auto;
}

.contactbox label {
  display: inline;
  font-weight: bold;
}

.contactbox input,
textarea {
  padding: 15px;
}

.remark {
  border-radius: 5px;
  background-color: #ff7e00;
  color: #fff;
  padding: 3px 10px;
  font-size: 12px;
  margin: 0 12px;
}

.form_line {
  display: block;
  padding: 25px 0;
  margin: 0 50px;
  border-bottom: 1px solid #ddd;
}

.form_line:first-child {
  border-top: 1px solid #ddd;
}

.form_line:last-child {
  margin-bottom: 3em;
}

.query {
  width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
  display: inline-block;
}

.form_line p {
  margin: 0;
}

.mwform-checkbox-field input {
  font-weight: bold;
}

@media screen and (min-width: 980px) {
  .contactbox {
    padding: 30px;
  }

  .form_line {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .query {
    width: 30%;
    margin-bottom: 0;
  }
}

@-moz-document url-prefix() {
  .query {
    width: 40%;
  }
}

@media screen and (max-width: 600px) {
  input[type="submit"] {
    margin-bottom: 2em;
  }

  .contactbox {
    padding-top: 2em;
  }
}

.form_message_s {
  font-size: 0.8em;
  line-height: 1;
}

/*2020731契約トラブルコンテンツadd*/
.necessity {
  display: block;
  padding-top: 100px;
  margin-top: -70px;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  justify-items: center;
  padding: 0;
  list-style-type: none;
  /* リストのデフォルトスタイルを無効化 */
  margin: 40px auto;
}

.contract-card {
  width: 370px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: relative;
}

.contract-card img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.contract-card h3 {
  margin: 10px 0 5px;
  /* タイトルのマージンを調整 */
  font-size: 1.2em;
  /* フォントサイズを1.2emに設定 */
  color: #ff7e00;
  /* テキストの色を#ff7e00に設定 */
}

.contract-card p {
  margin: 0;
  /* デフォルトのマージンをリセット */
  line-height: 1.8em;
  font-size: 16px;
  color: #333;
}

/* 1179px以下の場合、2列に表示する */
@media (max-width: 1179px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 810px以下の場合、1列に表示してwidthを100%にする */
@media (max-width: 810px) {
  .grid-container {
    grid-template-columns: 1fr;
  }

  .contract-card {
    width: 100%;
  }
}

/*契約書トラブルの典型的な例*/
.jirei-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  /* Center the containers horizontally */
}

.qa-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 3px solid #facd89;
  padding: 10px;
  border-radius: 10px;
  max-width: 540px;
  margin: 20px;
  background-color: #f0f0f0;
  padding: 20px;
}

.qa-container > h3 {
  font-weight: bold;
  font-size: 24px;
  color: #ff7e00;
  text-align: center;
  margin: 5px;
}

.question {
  font-size: 18px;
  font-weight: bold;
  color: #999;
  /* Updated question text color */
  margin-bottom: 5px;
  text-align: left;
}

.qa-container2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
  border-radius: 10px;
  max-width: 540px;
  margin: 20px;
  background-color: #f0f0f0;
  padding: 20px;
  position: relative;
}

.qa-container2 > h3 {
  font-weight: bold;
  font-size: 24px;
  color: #ff7e00;
  text-align: center;
  margin: 5px;
  font-family: ozwald;
}

.qa-container2 > .answer {
  text-align: left !important;
  font-size: 16px;
  min-height: 120px;
  margin-top: 1em;
}

/*解決期間*/
.case-duration {
  font-size: 16px;
  background-color: #d86800;
  color: #fff;
  padding: 5px 10px;
  width: 25%;
  text-align: center;
  margin-top: 20px;
  position: absolute;
  right: 35px;
  bottom: 10px;
}

/*コラム*/

.column h2 {
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  line-height: 2em;
  font-weight: 600;
  text-align: center;
  color: #ff7e00;
  margin-top: 2.5rem;
}

.c-group {
  margin-top: 2em;
}

.c-group > strong {
  font-weight: bold;
  padding: 0.3em 1em 0.5em;
  border-radius: 0 0 0 10px;
  border-left: 3px solid #ff7e00;
  border-bottom: 3px solid #ff7e00;
  position: relative;
  display: block;
}

.c-group > strong::before,
.c-group > strong:after {
  content: "";
  height: 0;
  width: 0;
  border: solid transparent;
  position: absolute;
  left: 30px;
}

.c-group > strong::before {
  border-color: transparent;
  border-top-color: #ff7e00;
  border-right-color: #ff7e00;
  border-width: 10px;
  top: 100%;
  left: 26px;
}

.c-group > strong:after {
  border-color: transparent;
  border-top-color: #fff;
  border-right-color: #fff;
  border-width: 6.5px;
  top: 99%;
}

/*契約書テンプレート*/

.template_dl {
  text-align: center;
  background-color: #e8e8e8;
  padding: 40px 0;
}

.template_dl p {
  font-size: 20px;
  font-weight: 900;
  margin: 20px 0;
  text-align: left;
}

.template_dl ul li {
  font-size: 16px;
  justify-content: center;
  align-items: flex-start;
}

.template_dl .w50 {
  display: flex;
  align-items: start;
  width: 50%;
  font-size: 16px;
}

.template_dl img {
  max-width: 100%;
}

.template_dl a:hover {
  opacity: 0.7;
}

.template_dl .is-layout-flex {
  flex-wrap: nowrap;
}

section.template_dl .container {
  width: 60%;
  max-width: 1200px;
}

.sp_no {
  display: block;
}

@media only screen and (max-width: 959px) {
  .template_dl p {
    padding: 0 20px;
  }

  section.template_dl .container {
    width: 96%;
  }

  .template_dl .is-layout-flex {
    flex-wrap: wrap;
  }

  .template_dl .w50 {
    width: 100%;
    justify-content: center;
  }

  .sp_no {
    display: none;
  }

  .template_dl ul {
    margin-bottom: 20px;
  }
}

/************** 弁護士の経歴　開閉式 ********************/
details {
}

/* details dt:first-of-type{
margin-top: unset;
} */
details:not(:last-child) {
  margin-bottom: 20px;
}

.stage dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.stage dt,
dd {
  overflow: hidden;
  /* 内容がはみ出さないようにする */
  word-wrap: break-word;
  /* 長い単語を適切に改行する */
  box-sizing: border-box;
}

.stage.open dt,
.stage.open dd {
  margin-top: 0.5em;
}

/**
 * list-style: none; ←デフォルト三角削除（Chrome非対応）
 * cursor: pointer; ←カーソルをポインターに
**/
details summary {
  list-style: none;
  cursor: pointer;
  color: #242323;
  font-size: 1rem;
  margin-top: 0.5rem;
}

/**
 * Chrome用のデフォルト三角削除
**/
details summary::-webkit-details-marker {
  display: none;
}

/**
 * Font Awesomeのプラスアイコン使用
**/
details summary::before {
  font-family: "Font Awesome 5 Free";
  /* FontAwesomeのフォントファミリーを指定 */
  font-weight: 900;
  /* 必要に応じて太字を設定 */
  content: "\f067";
  /* プラスアイコン */
  margin-right: 20px;
  color: #ff7e00;
}

/**
 * アコーディオンがオープン時はマイナスアイコンに変更
**/
details[open] summary::before {
  content: "\f068";
  /* マイナスアイコン */
  color: #ff7e00;
}

details p {
  margin: 0;
  padding: 20px;
}

@media only screen and (max-width: 959px) {
  .stage dl {
    flex-direction: column;
  }
}

/************** 相続のコラム一覧 ********************/
.inherit-column h2 {
  font-size: 1.8em;
  line-height: 1.8em;
  display: inline-block;
  margin-bottom: 0.5em;
}

.anchor {
  margin-top: -110px;
  padding-top: 110px;
}

/************** お客様のお言葉 ********************/
.voice_of_customer {
  background: #f6f6f6;
}

.voice_of_customer .link_btn a {
  color: #fff;
  background: #ff7e00;
}

.voice_of_customer .link_btn a::after {
  border-color: #fff;
}

.voice_of_customer .link_btn a:hover {
  opacity: 0.7;
}

.voice_of_customer .sec_title h2 {
  line-height: 1.2em;
}

.voice_of_customer .sec_title p {
  margin-top: 1em;
}

.voice_of_customer .sec_title .small {
  font-size: 67%;
}

.voice_of_customer .voice_of_customer_inner {
  max-width: 1100px;
  margin: 0 auto;
}

.voice_of_customer .voice_of_customer_btn {
  margin: 2em auto 0;
}

@media only screen and (max-width: 600px) {
  .voice_of_customer .sec_title .small {
    font-size: 80%;
  }

  .voice_of_customer .sec_title p {
    margin-top: 0.5em;
  }
}

/*-------------
労務問題ページ
--------------*/
.label-labor {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: space-around;
  max-width: 600px;
  margin: 0 auto 15px;
}

.label-labor__item {
  padding: 3px;
  border: 3px solid transparent;
  background-image:
    linear-gradient(#fff, #fff),
    linear-gradient(-146deg, #2bd2db, #8deabd, #dffe96);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #2a2c76;
}

.text-navy {
  color: #2a2c76;
}

/* 画像左・テキスト右の2カラムレイアウト */
.labor-two-column {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 24px;
}

.labor-two-column__img {
  flex: 0 0 260px;
  /* 画像の幅の目安 */
}

.labor-two-column__img img {
  max-width: 100%;
  height: auto;
  display: block;
}

.labor-two-column__body {
  flex: 1;
}

/* スマホで縦並びにする */
@media (max-width: 768px) {
  .labor-two-column {
    flex-direction: column;
  }

  .labor-two-column__img {
    flex-basis: auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.labor-h {
  font-size: 1.2em;
  font-weight: bold;
  color: #2a2c76;
  position: relative;
  line-height: 1.4;
  padding: 0.25em 1em;
  display: inline-block;
  top: 0;
}

.labor-h:before,
.labor-h:after {
  position: absolute;
  top: 0;
  content: "";
  width: 8px;
  height: 100%;
  display: inline-block;
}

.labor-h:before {
  border-left: solid 1px black;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
  left: 0;
}

.labor-h:after {
  content: "";
  border-top: solid 1px black;
  border-right: solid 1px black;
  border-bottom: solid 1px black;
  right: 0;
}

.labor-two-column__body > ol {
  padding: 0;
  position: relative;
}

.labor-two-column__body > ul li,
ol li {
  color: #2a2c76;
  border-left: solid 6px #2a2c76;
  /*左側の線*/
  background: #eee;
  /*背景色*/
  margin-bottom: 3px;
  /*下のバーとの余白*/
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  margin: 10px 0;
}

/*労務に関するルール整備・契約書作成も、すべて対応できます*/
.labor-section {
  padding: 60px 20px;
  background: #fff;
}

.labor-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.labor-heading {
  text-align: center;
  font-size: 28px;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 40px;
}

.labor-kv {
  width: 100%;
  height: 260px;
  /* 画像差し替え前のダミー */
  background: #e5e5e5;
  margin: 0 auto 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.labor-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.labor-column__title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}

.labor-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.labor-list li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 8px;
  line-height: 1.7;
  font-size: 14px;
}

.labor-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/* SPレイアウト */
@media (max-width: 768px) {
  .labor-heading {
    font-size: 20px;
  }

  .labor-kv {
    height: 180px;
  }

  /* スマホ：カラム落ち */
  @media (max-width: 768px) {
    .labor-columns {
      grid-template-columns: 1fr;
    }
  }
}

/*労働法務は顧問弁護士がおすすめ*/
.labor-law {
  padding: 60px 20px;
  background-color: #eee;
  line-height: 1.7;
}

.labor-law__inner {
  max-width: 960px;
  margin: 0 auto;
  position: relative;
}

/* 番号丸 */
.labor-law__no {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-40px, 0);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #e60012;
  color: #e60012;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 見出し */
.labor-law__header {
  text-align: center;
  margin-bottom: 40px;
}

.labor-law__headerbox {
  background-color: #ffffff;
  padding: 0.2em 0.8em;
  display: inline-block;
  margin-bottom: 1em;
}

.labor-law__title {
  font-size: 2em;
  line-height: 1.2em;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}

.labor-law__lead {
  text-align: left;
}

/* リスト共通 */
.labor-law__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* 各項目 */
.labor-law-item {
  display: flex;
  gap: 20px;
}

.labor-law-item__thumb {
  flex: 0 0 287px;
  height: 165px;
  background: #e5e5e5;
  text-align: center;
  line-height: 90px;
}

.labor-law-item__thumb img {
  width: 287px;
  height: 165px;
}

.labor-law-item__body {
  flex: 1 1 auto;
}

.labor-law-item__title {
  font-size: 1.2em;
  font-weight: 700;
  margin-bottom: 6px;
}

.labor-law-item__title__no {
  width: 34px;
  height: 34px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f39a18;
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.02em;
  flex: 0 0 auto;
  margin-right: 5px;
}

.labor-law-item__text {
  color: #333;
}

/* ボタン */
.labor-law__btn-wrap {
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.labor-law__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  padding: 12px 24px;
  border: 1px solid #008b62;
  border-radius: 4px;
  font-weight: 500;
  font-size: 18px;
  text-decoration: none;
  background: #008b62;
  color: #fff;
}

/* ホバー（任意） */
.labor-law__btn:hover {
  opacity: 0.7;
}

/* スマホ時：カラム落とし */
@media (max-width: 768px) {
  .labor-law {
    padding: 40px 16px;
  }

  .labor-law__no {
    position: static;
    transform: none;
    margin-bottom: 10px;
  }

  .labor-law-item {
    flex-direction: column;
  }

  .labor-law-item__thumb {
    width: 100%;
    max-width: 100%;
    line-height: 120px;
    height: 120px;
  }

  .labor-law__btn-wrap {
    flex-direction: column;
  }

  .labor-law__btn {
    width: 100%;
  }
}

/* 労務法務　料金 */
/* ===== base ===== */
.labor-law-fees {
  --border: #b8b7b7;
  --accent: #f39a1e;
  --muted: #e9f0ef;
  --btn: #0b8f6a;

  max-width: 960px;
  margin: 24px auto;
  padding: 28px 34px 30px;
  border: 2px solid var(--border);
  border-radius: 20px;
  background: #fff;
  box-sizing: border-box;
  text-align: left;
}

/* ===== header (icon + title + horizontal rule) ===== */
.labor-law-fees__header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 30px;
}

.labor-law-fees__icon {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  color: var(--accent);
  font-weight: 800;
  font-size: 22px;
  line-height: 1;
}

.labor-law-fees__title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

/* ===== body text ===== */
.labor-law-fees__body p {
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.9;
  color: #111;
}

/* ===== gray list box ===== */
.labor-law-fees__box {
  background: var(--muted);
  padding: 16px 18px;
  margin: 30px 0;
  border-radius: 4px;
}

.labor-law-fees__list {
  margin: 0;
  padding-left: 2em;
}

.labor-law-fees__list li {
  margin: 6px 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  list-style-type: disc;
}

/* ===== note ===== */
.labor-law-fees__note {
  margin-top: 10px;
  color: #222;
}

/* ===== button ===== */
.labor-law-fees__actions {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.labor-law-fees__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  padding: 12px 24px;
  border-radius: 4px;
  background: var(--btn);
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-size: 18px;
  transition:
    transform 0.06s ease,
    opacity 0.15s ease;
}

.labor-law-fees__button:hover {
  opacity: 0.7;
}

.labor-law-fees__button:active {
  transform: translateY(1px);
}

/* ===== responsive ===== */
@media (max-width: 640px) {
  .labor-law-fees {
    padding: 20px 18px 22px;
    border-radius: 22px;
  }

  .labor-law-fees__title {
    font-size: 16px;
    white-space: normal;
  }

  .labor-law-fees__button {
    width: 100%;
    min-width: 0;
  }
}

/*料金表*/
.labor-law-fees__body .price-table {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  border-collapse: collapse;
  font-size: 18px;
  line-height: 1.9;
}

.labor-law-fees__body .price-table tr:nth-child(odd) {
  background-color: #f7f7f7;
}

.labor-law-fees__body .price-table th,
.labor-law-fees__body .price-table td {
  padding: 8px 10px;
  vertical-align: top;
}

.labor-law-fees__body .price-table th {
  padding-right: 20px;
}

/* 左：項目名 */
.labor-law-fees__body .price-table__title {
  width: 28%;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

/* 中央：説明文 */
.labor-law-fees__body .price-table__desc {
  width: 52%;
}

/* 右：料金 */
.labor-law-fees__body .price-table__price {
  width: 20%;
  text-align: right;
  font-weight: 700;
  white-space: nowrap;
}

/* 行間だけで区切る（罫線なし） */
.labor-law-fees__body .price-table tr + tr th,
.labor-law-fees__body .price-table tr + tr td {
  padding-top: 12px;
}

/* スマホ対応 */
@media (max-width: 640px) {
  .labor-law-fees__body .price-table,
  .labor-law-fees__body .price-table tbody,
  .labor-law-fees__body .price-table tr,
  .labor-law-fees__body .price-table th,
  .labor-law-fees__body .price-table td {
    display: block;
    width: 100%;
  }

  .labor-law-fees__body .price-table tr {
    margin-bottom: 12px;
  }

  .labor-law-fees__body .price-table__title {
    white-space: normal;
    padding-bottom: 2px;
  }

  .labor-law-fees__body .price-table__desc {
    padding-top: 0;
  }

  .labor-law-fees__body .price-table__price {
    text-align: left;
    padding-top: 2px;
  }
}

/*-------------
yokohama office page
--------------*/
.yokohama_office .yo_intro {
  padding-top: 2em;
  padding-bottom: 0;
}

.yokohama_office .yo_intro_container,
.yokohama_office .yo_container {
  width: 90%;
  max-width: 961px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 960px) {
  .yokohama_office .yo_intro_container,
  .yokohama_office .yo_container {
    width: 96%;
  }
}

.yokohama_office .yo_title {
  text-align: center;
  margin-bottom: 1.5em;
}

.yokohama_office .yo_access .yo_title {
  margin-bottom: 1em;
}

.yokohama_office .yo_lawyers .yo_title {
  margin-bottom: 2em;
}

.yokohama_office .yo_title-pre {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 21px;
  color: #ff7e00;
}

.yokohama_office .yo_title h2 {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 36px;
  color: #333;
  line-height: 1.4em;
}

.yokohama_office .yo_title-top h2 {
  color: #ff7e00;
}

.yokohama_office .yo_title-sub {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 21px;
  color: #333;
  margin-top: 0.3em;
}

/*--- hero photo ---*/
.yokohama_office .yo_hero_photo {
  margin-top: 1.5em;
  width: 100%;
}

.yokohama_office .yo_hero_photo-pc,
.yokohama_office .yo_hero_photo-sp {
  width: 100%;
  height: auto;
  display: block;
}

.yokohama_office .yo_hero_photo-sp {
  display: none;
}

.yokohama_office .yo_hero_photo-sp_txt {
  display: none;
}

.yokohama_office .yo_sp_br {
  display: none;
}

/*--- greeting ---*/
.yokohama_office .yo_greeting {
  padding-bottom: 1.5em;
}

.yokohama_office .yo_greeting_row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2.5em;
}

.yokohama_office .yo_greeting_row + .yo_greeting_row {
  margin-top: 1.6em;
}

.yokohama_office .yo_greeting_img {
  width: 100%;
  max-width: 291px;
  margin: 0 auto 1.5em;
}

.yokohama_office .yo_greeting_img img {
  width: 100%;
  height: auto;
  display: block;
}

.yokohama_office .yo_greeting_txt {
  width: 100%;
}

.yokohama_office .yo_greeting_txt h3 {
  font-family: Meiryo, "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 21px;
  text-align: left;
  color: #333;
}

.yokohama_office .yo_greeting_txt p {
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-size: 18px;
  line-height: 2em;
  text-align: left;
  color: #333;
  margin-top: 0.25em;
}

/*--- office info table ---*/
.yokohama_office .yo_office_table {
  width: 100%;
}

.yokohama_office .yo_office_table table {
  width: 100%;
  max-width: 636px;
  border-collapse: collapse;
}

.yokohama_office .yo_office_table th,
.yokohama_office .yo_office_table td {
  text-align: left;
  vertical-align: top;
  padding: 1em 0.5em 1em 0;
  border-top: 1px solid #cdcdcd;
}

.yokohama_office .yo_office_table tr:last-child th,
.yokohama_office .yo_office_table tr:last-child td {
  border-bottom: 1px solid #cdcdcd;
}

.yokohama_office .yo_office_table th {
  font-family: Meiryo, "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 18px;
  color: #333;
  white-space: nowrap;
  width: 7.5em;
}

.yokohama_office .yo_office_table td {
  font-family: Meiryo, "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 18px;
  color: #333;
  line-height: 1.65em;
}
.yokohama_office .yo_office_table-caption td {
  font-family: Meiryo, "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 20px;
  color: #333;
  text-align: left;
  padding-bottom: 0.8em;
  border-bottom: 1px solid #cdcdcd;
  font-weight: 700;
}
.yokohama_office .yo_lawyer_name {
  display: inline;
  font-family: Meiryo, "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 14px;
  color: #333;
}

.yokohama_office .yo_office_table .yo_lawyer_link a {
  font-family: Meiryo, "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 18px;
}

/*--- office photos ---*/
.yokohama_office .yo_office_photos {
  text-align: center;
  padding-bottom: 2em;
}

.yokohama_office .yo_office_photos h3 {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 21px;
  color: #333;
  margin-bottom: 1.2em;
}

.yokohama_office .yo_office_photos_list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}

.yokohama_office .yo_office_photos_item {
  width: 100%;
  max-width: 308px;
}

.yokohama_office .yo_office_photos_item img {
  width: 100%;
  height: auto;
  display: block;
}

.yokohama_office .yo_office_photos_item p {
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: 18px;
  color: #333;
  text-align: center;
  margin-top: 0.6em;
}

/*--- access ---*/
.yokohama_office .yo_access {
  background: #eee;
  padding-top: 2.5em;
  padding-bottom: 0;
}

.yokohama_office .yo_access h3 {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 21px;
  text-align: left;
  color: #333;
}

.yokohama_office .yo_access > .yo_container > p {
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: 18px;
  line-height: 2em;
  text-align: left;
  color: #333;
  margin-top: 0;
}

.yokohama_office .yo_access .link_btn {
  margin-top: 1.5em;
}

.yokohama_office .yo_access_btn {
  z-index: 0;
  background-color: #fff;
}

.yokohama_office .yo_access_map {
  width: 100%;
  margin-top: 2.5em;
}

.yokohama_office .yo_access_map iframe {
  width: 100%;
  max-width: 100%;
  height: 410px;
  display: block;
  border: 0;
}

/*--- lawyers ---*/
.yokohama_office .yo_lawyers {
  padding-top: 2.15em;
  padding-bottom: 2em;
}

.yokohama_office .yo_lawyers_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5em 3em;
}

.yokohama_office .yo_lawyer_item {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease-in-out;
}

.yokohama_office .yo_lawyer_item:hover {
  opacity: 0.75;
}

.yokohama_office .yo_lawyer_item img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.yokohama_office .yo_lawyer_ja {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 25px;
  text-align: left;
  color: #333;
  margin-top: 7px;
}

.yokohama_office .yo_lawyer_en {
  font-weight: normal;
  font-size: 13px;
  text-align: left;
  color: #ff7e00;
  margin-top: 0.2em;
}

.yokohama_office .yo_lawyer_item .yo_lawyer_link {
  margin-top: 0.4em;
  font-family: "Noto Sans JP";
  font-weight: normal;
  font-size: 18px;
  line-height: 2em;
  text-align: left;
}

.yokohama_office .yo_divider {
  width: 100%;
  height: 30px;
  background: #ffeacd;
}

/*--- fields ---*/
.yokohama_office .yo_fields {
  padding-top: 2.25em;
}

.yokohama_office .yo_fields_list {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.yokohama_office .yo_field_box h3 {
  font-family: "Noto Sans JP";
  font-weight: 700;
  font-size: 21px;
  line-height: 38px;
  text-align: left;
  color: #fff;
  background: #ff7e00;
  padding: 0 26px;
  margin: 0;
}

.yokohama_office .yo_field_box ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.yokohama_office .yo_field_box li {
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 21px;
  line-height: 45px;
  text-align: left;
  color: #333;
  padding: 0 0.8em;
}

.yokohama_office .yo_field_box li a {
  color: inherit;
  text-decoration: none;
}

.yokohama_office .yo_field_box li a:hover {
  text-decoration: underline;
}

.yokohama_office .yo_field_box_cols {
  display: flex;
  flex-direction: column;
}

/*--- faq ---*/
.yokohama_office .yo_faq {
  padding-top: 2.25em;
  padding-bottom: 2em;
}

.yokohama_office .yo_faq_container {
  width: 90%;
  max-width: 1126px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 960px) {
  .yokohama_office .yo_faq_container {
    width: 96%;
  }
}

@media only screen and (min-width: 560px) {
  .yokohama_office .yo_greeting_row {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.8em;
  }

  .yokohama_office .yo_greeting_img {
    flex: 0 0 291px;
    max-width: 291px;
    margin: 0;
  }

  .yokohama_office .yo_greeting_txt {
    flex: 1 1 auto;
  }

  .yokohama_office .yo_office_photos_list {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
  }

  .yokohama_office .yo_lawyers_list {
    grid-template-columns: repeat(4, 1fr);
  }

  .yokohama_office .yo_field_box_cols {
    flex-direction: row;
    gap: 1em;
  }

  .yokohama_office .yo_field_box_cols ul {
    flex: 1 1 0;
  }
}

@media only screen and (min-width: 960px) {
  .yokohama_office .yo_fields_list {
    flex-direction: row;
    align-items: flex-start;
  }

  .yokohama_office .yo_field_box-personal {
    flex: 0 0 328px;
    max-width: 328px;
  }

  .yokohama_office .yo_field_box-corporate {
    flex: 0 0 64%;
  }
}

/* スマホ表示 */
@media (max-width: 768px) {
  .yokohama_office .yo_title-top h2 {
    font-size: 26px;
  }

  .yokohama_office .yo_title-sub {
    font-size: 18px;
  }

  .yokohama_office .yo_hero_photo-pc {
    display: none;
  }

  .yokohama_office .yo_hero_photo-sp {
    display: block;
    width: 100vw;
    height: auto;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }

  .yokohama_office .yo_hero_photo-sp_txt {
    display: block;
    font-family: "Noto Sans JP";
    font-weight: bold;
    font-size: 24px;
    text-align: center;
    color: #333;
    margin-top: 0.8em;
  }

  .yokohama_office .yo_sp_br {
    display: inline;
  }
}

