@charset "utf-8";
/* CSS Document */

/*
Theme Name: 不倫慰謝料弁護士コンパス
Theme URI: https://bengoshi-compass.com/furin/
Author: リバティ・ベル株式会社
Author URI: http://libertybell-corp.com/
Description: 不倫慰謝料弁護士コンパスのオリジナルテーマです。
Version: 1.0
*/


/* common */
html {
  font-size: 16px;
  width: 100%;
  scroll-behavior: smooth;
}
body {
  color: #333; /* RGB */
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: center;
}
.sp {
  display: none;
}
.pc {
  display: block;
}
@media(max-width: 960px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
/*
see: http://html5doctor.com/html-5-reset-stylesheet/
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

body {
line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}

nav ul {
list-style:none;
}

blockquote, q {
quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}

a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}

/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000;
font-style:italic;
font-weight:bold;
}

del {
text-decoration: line-through;
}

abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}

table {
border-collapse:collapse;
border-spacing:0;
}

/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}

input, select {
vertical-align:middle;
}


/* ヘッダー(グローバルメニュー) */
.upper-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #FFF;
  height: 70px;
  width: 100%;
}
.upper-header .logo {
  margin: 7px 0 0 60px;
}
.upper-header .logo img {
  height: 100%;
  max-height: 40px;
}
.lawyer-induction__button {
  margin: 7px 60px 0 0;
}
.login-button {
  max-width: 60px;
  text-decoration: none;
  margin-right: 20px;
}
.login-button.already-login {
  margin-right: 0;
}
.contact-button {
  max-width: 220px;
  text-decoration: none;
}
.login-button img, .contact-button img {
  height: 50px;
  width: auto;
  transition: all .3s ease-in-out 0s;
}
.gnav {
  position: relative;
  display: block;
  background-color: #EFE7F7;
  height: 50px;
  width: 100%;
  border-bottom: 10px solid #9f83cc;
}
.gnav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  margin: 0 80px;
}
.gnav ul li {
  position: relative;
  margin: 17px 100px 17px 0;
}
.gnav ul li:last-child {
  margin-right: 0;
}
.gnav ul li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  font-size: 1.0rem;
  font-weight: 600;
  color: #000;
  background: linear-gradient(to right, #9f83cc 0%, #9f83cc 50%, #000 50%, #000 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s ease-in-out;
  background-size: 200% 100%;
  background-position: 100% 0;
}
.gnav .menu-item-type-post_type:first-of-type::before, .gnav .menu-item-type-post_type:nth-child(2)::before {
  content: '';
  width: 18px;
  height: 18px;
  background: #9f83cc;
  border-radius: 50%;
  position: absolute;
  top: -3px;
  right: -25px;
  bottom: 0;
  margin: auto;
}
.gnav .menu-item-type-post_type:first-of-type::after, .gnav .menu-item-type-post_type:nth-child(2)::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  transform: rotate(90deg);
  top: -1px;
  right: -21px;
  bottom: 0;
  margin: auto;
}
.gnav p, .gnav .tel-number__wrap, .gnav .sp-menu__logo, .lawyer-induction__button-sp {
  display: none;
}
.open-button, .close-button {
  display: none;
}
/* PC版のみホバー要素 */
@media(min-width: 961px) {
  .login-button:hover img, .contact-button:hover img {
    transform: scale(1.05);
  }
  .gnav ul li a:hover {
    background-position: 0 0;
  }
  /* サブメニュー */
  .gnav .sub-menu {
    position: absolute;
    left: -100%;
    top: 20px;
    min-width: 150px;
    max-width: none;
    display: block;
    visibility: hidden;
    opacity: 0;
    background-color: rgba( 255, 255, 255, 0.9);
    border-radius: 10px;
    margin: initial;
    white-space: nowrap;
    transition: all .3s ease-in-out 0s;
    box-sizing: border-box;
    z-index: 2000;
  }
  .gnav .sub-menu li {
    display: block;
    padding: 20px 20px 0 20px;
    margin: 0 auto;
  }
  .gnav .sub-menu li a {
    position: initial;
    
  }
  .gnav .sub-menu li:last-child {
    padding-bottom: 20px;
  }
  .gnav ul li:hover .sub-menu {
    visibility: visible;
    opacity: 1;
  }
  .gnav ul li:hover .sub-menu li a {
    color: rgba( 51, 51, 51, 1.0);
    font-size: 1.0rem;
  }
  .gnav ul li .sub-menu li:hover a {
    color: rgba( 51, 51, 51, 0.5);
  }
}
@media(max-width: 960px) {
  .upper-header {
    height: 50px;
    align-items: center;
  }
  .upper-header .logo {
    display: block;
    text-align: left;
    margin: 0 24px;
  }
  .upper-header .logo img {
    height: 100%;
    max-height: 25px;
  }
  .upper-header p, .upper-header .tel-number__wrap img, .lawyer-induction__button {
    display: none;
  }
  .lp-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    height: 30px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
    color: #fff;
    background-color: #9f83cc;
    border-radius: 5px;
    margin-right: 84px;
    padding: 5px;
    box-sizing: border-box;
  }
  .open-button {
    display: block;
    position: absolute;
    right: 24px;
    top: 16px;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }
  .open-button span, .open-button span:before, .open-button span:after {
    position: absolute;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #777;
    display: block;
    content: "";
  }
  .open-button span:before {
    bottom: -8px;
  }
  .open-button span:after {
    bottom: -16px;
  }
  .close-button {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    color: #898989;
    font-size: 30px;
    font-weight: 600;
    padding: 20px 24px 20px 0;
  }
  .gnav {
    display: none;
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #FBF8FE;
    width: 100%;
    height: 100%;
    padding-top: 50px;
  }
  .gnav ul {
    display: block;
    margin: 0;
  }
  .gnav ul li {
    border-bottom: solid 1px #8b79a7;
    margin: 0;
  }
  .gnav ul li:nth-child(1) {
    border-top: solid 1px #8b79a7;
    margin-top: 20px;
  }
  .gnav ul li a {
    display: block;
    width: 100%;
    padding: 20px 0;
  }
  .gnav ul li .sub-menu {
    display: none;
  }
  .lawyer-induction__button-sp {
    display: flex;
    flex-flow: column;
  }
  .lawyer-induction__button-sp .induction-menu {
    display: block;
    width: 100%;
    color: #000;
    font-weight: 600;
    text-decoration: none;
    border-bottom: solid 1px #8b79a7;
    padding: 20px 0;
  }
  .gnav .sp-menu__logo {
    display: block;
    max-width: 200px;
    padding: 0 24px;
    margin: 40px auto 0;
  }
  .sp-menu__logo img {
    width: 100%;
  }
}
@media(max-width: 450px) {
  .upper-header .logo img {
    height: initial;
    max-height: initial;
    width: 100%;
    max-width: 170px;
  }
}
@media(max-width: 400px) {
  .upper-header .logo {
    margin: 0 10px;
  }
  .lp-link {
    margin-right: 65px;
  }
  .open-button {
    right: 10px;
  }
}
@media(max-width: 350px) {
  .lp-link {
    font-size: 0.625rem;
  }
}


/* main */
.main {
  background-color: #FFF;
}
.top-image {
  width: 100%;
  object-fit: cover;
  border-bottom: solid 2px #9f83cc;
}
.logo-link__area {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: 50px;
  border-bottom: 2px solid #9f83cc;
  padding: 4px 0 3px;
  box-sizing: border-box;
}
.logo-link__area a {
  display: block;
  max-width: 300px;
  height: 100%;
  max-height: 50px;
  text-decoration: none;
  color: #333;
  margin-right: 20px;
}
.logo-link__area a img {
  height: 100%;
  max-height: 40px;
  object-fit: cover;
  transition: all .3s ease-in-out 0s;
}
/* ===== 追加：オーバーフロー時だけマルキー化 ===== */
.logo-link__area.is-marquee{
  /* 既存の border/padding/高さなどはそのまま活かす */
  display: block;
  overflow: hidden;
  position: relative;
}

.logo-link__area.is-marquee .logo-link__track{
  display: flex;
  align-items: center;
  height: 100%;
  width: max-content;
  will-change: transform;
  animation: logoMarqueeLTR var(--marquee-duration, 18s) linear infinite;
}

.logo-link__area.is-marquee .logo-link__group{
  display: flex;
  align-items: center;
  height: 100%;
}
@keyframes logoMarqueeLTR{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media(min-width: 961px) {
  .logo-link__area a:hover img {
    transform: scale(1.05);
  }
}
@media(max-width: 700px) {
  .logo-link__area a {
    max-width: 220px;
    height: 100%;
    max-height: 40px;
  }
  .logo-link__area a img {
    max-height: 30px;
  }
}


/* consultation_section */
.top-heading {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin-top: 60px;
}
.top-heading img {
  max-height: 42px;
  padding: 0 15px 5px 15px;
  border-bottom: solid 2px #9f83cc;
  box-sizing: border-box;
}
.top-heading h2 {
  display: block;
  height: 42px;
  font-size: 2.0rem;
  font-weight: 600;
  padding: 0 15px 5px 0;
  box-sizing: border-box;
  border-bottom: solid 2px #CCC083;
  white-space: nowrap;
}
@media(max-width: 500px) {
  .top-heading {
    transform: scale(0.8);
    margin-top: 30px;
  }
}
@media(max-width: 350px) {
  .top-heading {
    transform: scale(0.6);
  }
}
.area-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1000px;
  background-color: #FFF;
  border: solid 1px #9f83cc;
  border-radius: 10px;
  padding: 10px 10px 0 30px;
  margin: 30px auto 0;
  box-sizing: border-box;
}
.area-list .tab-button {
  list-style: none;
  border: solid 2px #9f83cc;
  border-radius: 100px;
  background-color: #FFF;
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: #333;
  margin: 0 20px 10px 0;
  padding: 5px 15px;
  cursor: pointer;
  transition: all .2s ease-in-out 0s;
  box-sizing: border-box;
}
.area-list .tab-button.tab-selected {
  background-color: #9f83cc;
  color: #FFF;
}
.area-list .tab-button.new-line {
  margin-top: 20px;
}
.lawyer-list__wrap {
  position: relative;
  max-width: 1200px;
  overflow: hidden;
  margin: 10px auto;
}
.top__lawyer-list {
  display: none;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin-top: 40px;
  padding: 0;
  transition: transform 0.5s ease-in-out;
}
.top__lawyer-list.tab-open {
  display: flex;
}
.lawyer-area {
  flex-shrink: 0;
  width: 90%;
  max-width: 500px;
  margin-right: 15px;
  transition: transform 0.3s ease-in-out;
  border: solid 1px #9f83cc;
  border-top: solid 20px #9f83cc;
  border-radius: 10px;
  padding: 20px 30px 25px;
  box-sizing: border-box;
}
.lawyer-area:last-child {
  margin-right: 0;
}
.list-upper {
  display: flex;
  align-items: center;
}
.lawyer-profile {
  min-width: 240px;
  min-height: 182px;
  margin-right: 10px;
}
.lawyer-name {
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 600;
  text-align: left;
  border-bottom: solid 2px #9f83cc;
}
.office-name {
  font-size: 1.125rem;
  font-weight: 600;
  text-align: left;
  margin: 15px 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.office-address {
  min-height: 42px;
  font-size: 0.875rem;
  line-height: 1.3125rem;
  text-align: left;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.icon-area {
  display: flex;
  align-items: center;
  margin-top: 10px;
}
.appeal-icon {
  margin-right: 10px;
}
.icon-area img {
  width: 50px;
}
.profile_image-area img {
  width: 200px;
  max-height: 180px;
  aspect-ratio: auto;
  object-fit: contain;
}
.lawyer-description {
  height: 120px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  margin-top: 10px;
  text-align: left;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mypage-link {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 300px;
  background-color: #9f83cc;
  border-radius: 100px;
  padding: 10px 15px;
  margin: 10px auto 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease-in-out;
  box-sizing: border-box;
}
/* 擬似要素でスライドアニメーション用の背景を作成 */
.mypage-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 0.4s ease-in-out;
}
/* more-button ホバー時の背景色 */
.mypage-link::before {
  background-color: #C5ABDD;
}
.mypage-link p {
  font-size: 1.125rem;
  font-weight: 600;
  color: #FFF;
  white-space: nowrap;
}
.button-area {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15px;
}
.lawyer-area .button-area {
  margin-top: 5px;
}
.top-lawyer__contact-area {
  margin-top: 10px;
}
.top-lawyer__contact-description {
  display: none;
}
.button-area a {
  display: block;
  text-decoration: none;
  color: #FFF;
}
.button-area a:first-child {
  margin-right: 30px;
}
.button-area .mail-link {
  margin-right: 0 !important;
}
.button-area a img {
  max-width: 200px;
}
.tel-button, .mail-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 60px;
  border-radius: 5px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease-in-out;
}
/* tel-button 背景色 */
.tel-button {
  background-color: #CCC083;
}
/* mail-button 背景色 */
.mail-button {
  background-color: #9f83cc;
}
/* 擬似要素でスライドアニメーション用の背景を作成 */
.tel-button::before, .mail-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 0.4s ease-in-out;
}
.tel-button::before {
  background-color: #DBD4B1;
}
/* mail-button ホバー時の背景色 */
.mail-button::before {
  background-color: #C5ABDD;
}
.tel-button img {
  width: 30px;
  height: 30px;
  margin-right: 15px;
}
.mail-button img {
  width: 42px;
  margin-right: 25px;
}
.tel-number {
  font-size: 1.125rem;
  font-weight: 600;
}
.tel-description {
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 3px;
}
.mail-button p {
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  margin-right: 10px;
}
.lawyer-list__wrap {
  position: relative;
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
.left-button {
  position: absolute;
  top: 40%;
  left: 5%;
  z-index: 5;
  cursor: pointer;
}
.right-button {
  position: absolute;
  top: 40%;
  right: 5%;
  z-index: 5;
  cursor: pointer;
}
.left-button img, .right-button img {
  max-width: 50px;
  transition: all .2s ease-in-out 0s;
}
.link-button {
  display: none;
  max-width: 300px;
  margin: 50px auto 0;
  text-decoration: none;
}
.link-button.tab-open {
  display: block;
}
.more-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 300px;
  background-color: #9f83cc;
  border-radius: 100px;
  padding: 10px 15px;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease-in-out;
  box-sizing: border-box;
}
/* 擬似要素でスライドアニメーション用の背景を作成 */
.more-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 0.4s ease-in-out;
}
/* more-button ホバー時の背景色 */
.more-button::before {
  background-color: #C5ABDD;
}
.more-icon__left {
  max-width: 30px;
  max-height: 30px;
  margin-right: 50px;
}
.more-icon__right {
  max-width: 42px;
  max-height: 10px;
  margin-top: 5px;
  margin-left: 35px;
}
.more-button p {
  font-size: 1.125rem;
  font-weight: 600;
  color: #FFF;
  white-space: nowrap;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .area-list .tab-button:hover {
    background-color: #9f83cc;
    color: #FFF;
  }
  /* ホバー時のアニメーション */
  .tel-button:hover::before, .mail-button:hover::before, .more-button:hover::before, .mypage-link:hover::before {
    transform: translateX(100%);
  }
  .left-button:hover img, .right-button:hover img {
    transform: scale(1.1);
    opacity: 0.8;
  }
}
@media(max-width: 1400px) {
  .left-button {
    left: 1%;
  }
  .right-button {
    right: 1%;
  }
}
@media(max-width: 1040px) {
  .area-list {
    max-width: 90%;
    margin: 30px auto 0;
  }
}
@media(max-width: 960px) {
  .left-button {
    left: 0;
  }
  .right-button {
    right: 0;
  }
}
@media(max-width: 600px) {
  .area-list {
    padding: 5px 0 0 20px;
    margin: 20px auto 0;
  }
  .area-list .tab-button {
    font-size: 0.8rem;
    line-height: 1.2rem;
    font-weight: 600;
    color: #333;
    margin: 0 20px 5px 0;
    padding: 5px 10px;
  }
}
@media(max-width: 550px) {
  .profile_image-area img {
    width: 160px;
  }
}
@media(max-width: 500px) {
  .lawyer-area {
    width: 327px;
    height: initial;
    border: solid 1px #9f83cc;
    border-top: solid 20px #9f83cc;
    border-radius: 10px;
    margin-right: 15px;
    padding: 10px 24px 10px;
    box-sizing: border-box;
  }
  .list-upper {
    flex-flow: column-reverse;
  }
  .lawyer-profile {
    min-height: 110px;
    margin-right: 0;
    margin-top: 10px;
  }
  .office-name {
    margin: 10px 0;
  }
  .profile_image-area {
    width: 100%;
    max-height: 180px;
  }
  .profile_image-area img {
    width: 100%;
    max-width: 280px;
    height: 180px;
    object-fit: contain;
  }
  .icon-area {
    display: none;
  }
  .lawyer-description {
    display: none;
  }
  .button-area {
    transform: scale(0.75);
    margin-top: 0;
  }
  .button-area a:first-child {
    margin-right: 10px;
  }
  .left-button {
    top: 70%;
  }
  .right-button {
    top: 70%;
  }
}
@media(max-width: 500px) {
  .tel-number {
    font-size: 1.0rem;
  }
}
@media(max-width: 350px) {
  .lawyer-list__wrap {
    padding-top: 30px;
    box-sizing: border-box;
  }
  .top__lawyer-list {
    margin-top: 0;
  }
  .lawyer-area {
    width: 250px;
  }
  .profile_image-area img {
    height: 150px;
  }
  .top-lawyer__contact-description {
    display: block;
    font-weight: 600;
  }
  .lawyer-area .tel-button, .lawyer-area .mail-button {
    width: 100px;
  }
  .lawyer-area .tel-button img, .lawyer-area .mail-button img {
    margin: initial;
  }
  .lawyer-area .tel-button p, .lawyer-area .mail-button p {
    display: none;
  }
  .link-button {
    max-width: 90vw;
    margin-top: 0;
  }
  .more-button {
    transform: scale(0.8);
    margin: 0 auto;
  }
  .more-icon__left {
    margin-right: 20px;
  }
  .more-icon__right {
    margin-left: 15px;
  }
}



/* search-section */
/* 検索欄 */
.search-box {
  width: 100%;
  max-width: 950px;
  background-color: #e8e8e8;
  border-radius: 10px;
  margin: 30px auto 0;
  padding: 20px 50px;
  box-sizing: border-box;
}
.pull-down__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
.select-wrapper {
  position: relative;
  width: 100%;
  max-width: 400px;
}
.select-wrapper select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  height: 40px;
  border: solid 1px #e6e6e6;
  border-radius: 100px;
  font-weight: 600;
  color: #333;
  background-color: #FFF;
  text-align: center;
  text-align-last: center;
  -moz-text-align-last: center;
  cursor: pointer;
  box-sizing: border-box;
}
/* 擬似要素で矢印を作成 */
.select-wrapper::after {
  content: '▼';
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  font-size: 0.75rem;
  color: #6E6E6E;
  pointer-events: none;
}
.search-box input {
  background-color: #fff;
}
.word-search {
  width: 100%;
  max-width: 840px;
  height: 40px;
  border: solid 1px #e6e6e6;
  border-radius: 100px;
  margin-top: 15px;
  padding: 0 20px;
  box-sizing: border-box;
}
.advanced-search {
  margin: 15px 0 20px;
}
.search-box__heading {
  display: flex;
  align-items: center;
  width: 100%;
  font-weight: 600;
  text-align: left;
  color: #fff;
  background-color: #9f83cc;
  border-radius: 10px;  
  padding: 8px 15px;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}
.search-box__heading.details-open {
  border-radius: 10px 10px 0 0;
  transition: all 0.3s ease-in-out;
}
.search-heading__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  color: #FFF;
  font-size: 1.0rem;
  font-weight: 700;
  background-color: #B2B2B2;
  border-radius: 100px;
  margin-left: 10px;
}
.search-heading__icon::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  border-radius: 10px;
  background-color: #FFF;
  transition: all 0.2s;
}
.search-heading__icon::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 15px;
  border-radius: 10px;
  background-color: #FFF;
  transition: all 0.2s;
}
.search-box__heading.details-open .search-heading__icon:after {
  transform: rotate(90deg);
}
.detailed-options__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
  padding: 0 15px;
  box-sizing: border-box;
  overflow: hidden;
}
.detailed-options {
  display: block;
  padding: 15px 0;
  margin-right: 15px;
  box-sizing: border-box;
}
.detailed-options:last-child {
  margin-right: 0;
}
.details-label {
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
input[type="checkbox"] {
  transform: scale(1.1);
  cursor: pointer;
}
.search__button {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #9f83cc;
  border-radius: 100px;
  padding: 10px 230px 10px 170px;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.4s ease-in-out;
}
.search__button img {
  width: 100%;
  max-width: 25px;
  margin-right: 30px;
}
.search__button p {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
}
/* 擬似要素でスライドアニメーション用の背景を作成 */
.search__button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: transform 0.4s ease-in-out;
  background-color: #C5ABDD;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .search__button:hover::before {
    transform: translateX(100%);
  }
}
@media(max-width: 960px) {
  .search-box {
    width: 95vw;
    max-width: 700px;
  }
  .pull-down__list {
    flex-flow: column;
    gap: initial;
  }
  .select-wrapper {
    max-width: 100%;
    margin-bottom: 15px;
  }
  .word-search {
    margin-top: 0;
  }
  input[type="search"] {
    text-align: center;
  }
  input[type="search"]:focus {
    text-align: left;
  }
  .search-box__heading {
    justify-content: center;
  }
  .detailed-options__wrap {
    flex-flow: column;
  }
  .detailed-options {
    width: 100%;
    text-align: left;
    border-bottom: solid 1px #B8B8B8;
    padding: 15px;
    margin-right: 0;
  }
  .detailed-options:last-child {
    border-bottom: none;
  }
}
@media(max-width: 660px) {
  .search__button {
    padding: 5px 110px 5px 60px;
  }
  .search__button img {
    width: 100%;
    max-width: 20px;
    margin-right: 30px;
  }
  .search__button p {
    color: #fff;
    font-size: 1.0rem;
    font-weight: 600;
  }
}
@media(max-width: 420px) {
  .search__button {
    width: 100%;
    padding: 5px 0;
  }
  .search-box {
    padding: 20px 20px;
  }
  .detailed-options {
    padding: 15px 0;
  }
  .search__button img {
    display: none;
  }
}
@media(max-width: 300px) {
  .details-label {
    white-space: wrap;
  }
}


/* map-search */
.map-search {
  margin: 40px 20px 0;
}
.small-heading {
  display: flex;
  justify-content: center;
  align-items: center;
}
.small-heading img {
  width: 100%;
  max-width: 25px;
  margin-right: 20px;
}
.small-heading p {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
}
.map-content__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
.map-content__wrap img {
  width: 100%;
  max-width: 370px;
}
.map-button__area {
  width: 880px;
}
.area-1, .area-2, .area-3, .area-4, .area-5, .area-6 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 15px;
}
.area-6 {
  margin-bottom: 0;
}
.area-1 p, .area-2 p, .area-3 p, .area-4 p, .area-5 p, .area-6 p {
  width: 100px;
  font-weight: 600;
  text-align: right;
  margin-right: 20px;
}
.map-button {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  width: 100%;
  max-width: 760px;
}
.map-button li {
  width: 100%;
  max-width: 100px;
  border-radius: 10px;
  white-space: nowrap;
  margin-right: 10px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.map-button li a {
  display: block;
  text-decoration: none;
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: #fff;
  padding: 10px 25px;
  box-sizing: border-box;
}
.map-button li:nth-child(7) {
  margin-right: 0;
}
.map-button li:nth-child(n+8) {
  margin-top: 10px;
}
.area-1 .map-button li {
  background-color: #a8b9df;
}
.area-1 .map-button .map-button__blue {
  background-color: #84bae5;
}
.area-2 .map-button li {
  background-color: #81cde4;
}
.area-3 .map-button li {
  background-color: #97cfac;
}
.area-3 .map-button .map-button__green {
  background-color: #84ccc9;
}
.area-4 .map-button li {
  background-color: #ffe56d;
}
.area-5 .map-button li {
  background-color: #fbca5a;
}
.area-5 .map-button .map-button__pink {
  background-color: #f6bdc5;
}
.area-6 .map-button li {
  background-color: #f5b1aa;
}
.map-button li {
  filter: brightness(80%);
  pointer-events: none;
}
.map-button li.already-registered {
  filter: brightness(100%);
  pointer-events: initial;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .map-button li:hover.already-registered {
    transform: scale(1.1);
    filter: brightness(105%);
  } 
}
@media(max-width: 1300px) {
  .map-content__wrap {
    flex-flow: column-reverse;
  }
}
@media(max-width: 960px) {
  .map-button__area {
    transform: scale(0.8);
  }
}
@media(max-width: 750px) {
  .map-button__area {
    transform: scale(0.7);
  }
}
@media(max-width: 650px) {
  .map-button__area {
    transform: scale(0.6);
  }
}
@media(max-width: 550px) {
  .map-search {
    display: none;
  }
}

/* worries-search */
.worries-search {
  width: 98%;
  max-width: 1000px;
  border: solid 1px #9f83cc;
  border-radius: 10px;
  margin: 50px auto 0;
  padding: 20px 50px 50px;
  box-sizing: border-box;
}
.worried-heading {
  padding-bottom: 10px;
  box-sizing: border-box;
}
.worried-heading img {
  width: initial;
  max-width: initial;
  max-height: 30px;
}
.worries-list {
  display: flex;
  flex-wrap: wrap;
  lsit-style: none;
  row-gap: 1.0rem; 
  column-gap: 0; 
  /*border-top: solid 2px #9f83cc;
  border-bottom: solid 2px #9f83cc;*/
}
.worries-contents__wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 400px;
  max-height: 100px;
  background-color: #EAE1F5;
  margin: 0 auto !important;
  border-radius: 5px;
  /*padding: 15px;*/
  box-sizing: border-box;
  transition: transform .2s ease, box-shadow .2s ease;
}
.worries-contents__wrap:first-child::before {
  display:block;
  content: '';
  background: url("img/common/アイコン_請求する側[背景あり].png") center/contain no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  width: 80px;
  height: 80px;
  margin: auto 0;
  pointer-events: none;
  z-index: 0;
}
.worries-contents__wrap:last-child::before {
  display:block;
  content: '';
  background: url("img/common/アイコン_請求された側[背景あり].png") center/contain no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  width: 80px;
  height: 80px;
  margin: auto 0;
  pointer-events: none;
  z-index: 0;
}
.worries-contents__wrap::after {
  content: '';
  display:inline-block;
  background: url("img/common/アイコン_二重矢印.png") center/contain no-repeat;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto 0;
  pointer-events: none;
  z-index: 0;
}
.worries-list a {
  display: inline-block;
  width: 100%;
  max-width: 400px;
  height: 100px;
  text-decoration: none;
  padding: 15px 60px 15px 100px;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 1;
}
.worries-list .worries-list__subheading {
  font-size: 1.5rem;
  line-height: 2.0rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: #494949;
}
.worries-list .worries-list__description {
  font-size: 0.8rem;
  line-height: 1.2rem;
  color: #666666;
  text-decoration: none;
  margin-top: 0;
}
.worries-list .worries-list__description span {
  font-size: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 600;
}
.worries-contents__wrap:first-child .worries-list__description span {
  color: #FF6886;
}
.worries-contents__wrap:last-child .worries-list__description span {
  color: #4683C7;
}
.worries-list__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  background-color: #FFF;
  border-radius: 100px;
  margin-right: 10px;
}
.worries-list__icon img {
  max-height: 50px;
  object-fit: cover;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  /*.worries-contents__wrap:hover {
    background-color: #EFE7F7;
  }*/
  .worries-contents__wrap:has(> a:hover),
  .worries-contents__wrap:hover{
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
  }
}
@media(max-width: 1020px) {
  .worries-search {
    max-width: 95vw;
    margin: 50px 20px 0;
    padding: 20px 30px 50px;
  }
}
@media(max-width: 960px) {
  .worries-search {
    margin: 0 auto;
    padding: 10px 20px 30px;
  }
}
@media(max-width: 550px) {
  .worries-search {
    margin: 20px auto 0;
  }
  .worries-contents__wrap {
    max-width: 98%;
  }
}
@media(max-width: 450px) {
  .worried-heading img {
    margin-right: 10px;
  }
  .worried-heading p {
    font-size: 1.0rem;
    line-height: 1.5rem;
  }
  .worries-list a {
    padding: 15px 5px 15px 100px;
  }
  .worries-contents__wrap::after {
    display:none;
  }
}
@media(max-width: 400px) {
  .worries-list a {
    padding: 10px 5px 10px 80px;
  }
  .worries-contents__wrap:first-child::before {
    left: 20px;
    width: 60px;
    height: 60px;
  }
  .worries-contents__wrap:last-child::before {
    left: 20px;
    width: 60px;
    height: 60px;
  }
  .worries-list .worries-list__subheading {
    font-size: 1.2rem;
    line-height: 1.8rem;
    font-weight: 600;
  }
}
@media(max-width: 350px) {
  .worries-list a {
    padding: 15px 5px 15px 65px;
  }
  .worries-contents__wrap:first-child::before {
    left: 5px;
  }
  .worries-contents__wrap:last-child::before {
    left: 5px;
  }
  .worries-list .worries-list__description {
    font-size: 0.7rem;
    line-height: 1.05rem;
  }
  .worries-list .worries-list__description span {
    font-size: 0.8rem;
    line-height: 1.2rem;
    font-weight: 600;
  }
}



/* column-section */
/* 新着記事をカテゴリタブで表示切替 */
.category-list, .case-category__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1200px;
  background-color: #FFF;
  border: solid 1px #9f83cc;
  border-radius: 10px;
  padding: 10px 10px 0 30px;
  margin: 30px auto 0;
  box-sizing: border-box;
}
.category-list .category__tab-button, .case-category__list .case-category__tab-button {
  list-style: none;
  border: solid 2px #9f83cc;
  border-radius: 100px;
  background-color: #FFF;
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: #333;
  margin: 0 20px 10px 0;
  padding: 5px 15px;
  cursor: pointer;
  transition: all .2s ease-in-out 0s;
  box-sizing: border-box;
}
.category-list .category__tab-button.tab-selected, .case-category__list .case-category__tab-button.tab-selected {
  background-color: #9f83cc;
  color: #FFF;
}
.article-wrap {
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1280px;
  margin: 0 auto 50px;
}
.article-wrap.tab-open {
  display: flex;
}
.article-wrap li {
  list-style: none;
  width: 24%;
  margin: 50px auto 0;
}
.article-wrap li .animated {
  position: relative;
  background-color: #fff;
  border: solid 1px #EAE1F5;
  border-top: solid 10px #9f83cc;
  border-radius: 10px;
  width: auto;
  max-width: 300px;
  height: 100%;
  padding: 10px 20px 20px;
  margin: 0 auto;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 1;
  transition: all .2s ease-in-out 0s;
}
.article-wrap li .animated::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #EAE1F5;
  transform: translateY(-100%);
  transition: all .2s ease-in-out 0s;
  z-index: -1;
}
.article-wrap a {
  text-decoration: none;
}
.article-image {
  width: 100%;
  height: auto;
  max-width: 250px;
  max-height: 150px;
  aspect-ratio: 5 / 3;
  border: solid 1px #CDCDCD;
  border-radhius: 2px;
  overflow: hidden;
  margin: 0 auto;
  box-sizing: border-box;
}
.article-image img {
  width: 100%;
  height: 100%;
  max-width: 250px;
  object-fit: cover;
  object-position: 50% 50%;
  transition: all .2s ease-in-out 0s;
}
/* アイキャッチ未設定時の設定 */
.article-image .substitute__eye-catch {
  width: 100%;
  max-width: 200px;
  object-fit: contain;
}
.article-info {
  height: auto;
  max-height: 107px;
  margin-top: 20px;
}
.article-info .date, .article-info .category {
  font-size: 0.875rem;
  color: #333;
  text-align: left;
  overflow: hidden;
  transition: all .3s ease-in-out 0s;
}
.article-info .category {
  margin-top: 7px;
}
.article-info h3 {
  display: block;
  width: 100%;
  max-height: 67px;
  aspect-ratio: 210 / 67;
  color: #8b79a7;
  line-height: 1.5rem;
  font-weight: 500;
  text-align: left;
  overflow: hidden;
  margin-top: 5px;
  -webkit-line-clamp: 3;
  transition: all .3s ease-in-out 0s;
}
.tab-article {
  display: none;
}
.tab-article.tab-open {
  display: flex;
}
.tab-link {
  display: none;
}
.tab-link.tab-open {
  display: flex;
}
.top-apology {
  margin: 20px auto 0;
}
.top-apology .apology-image {
  max-width: 300px;
  margin: 0 auto;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .category-list .category__tab-button:hover, .case-category__list .case-category__tab-button:hover {
    background-color: #9f83cc;
    color: #FFF;
  }
  .article-wrap li .animated {
    transition: all .2s ease-in-out 0s;
  }
  .article-wrap li .animated:hover {
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.3);
  }
  .article-wrap li .animated:hover::before {
    transform: translateY(0);
  }
}
@media(max-width: 1200px) {
  .category-list, .case-category__list {
    max-width: 90vw;
  }
  .article-info {
    margin-top: 10px;
  }
}
@media(max-width: 1160px) {
  .article-info h3 {
    font-size: 0.875rem;
    line-height: 1.3125rem;
  }
  .article-info .read-more {
    font-size: 0.625rem;
    margin-top: 10px;
  }
}
@media(max-width: 960px) {
  .column-section {
    margin: 0 24px;
  }
  .article-wrap {
    flex-flow: column;
    align-items: center;
    margin: 0 auto 20px;
  }
  .article-wrap li {
    width: 100%;
    margin: 20px 0 0;
  }
  .article-wrap li .animated {
    display: flex;
    width: 100%;
    max-width: 327px;
    height: 100px;
    margin: 0 auto;
    padding: initial;
  }
  .article-image {
    width: 50%;
    height: 100%;
    max-width: 162px;
    max-height: 100px;
    aspect-ratio: 17 / 10;
    box-sizing: border-box;
  }
  .article-info {
    width: 50%;
    height: 100%;
    padding: 10px;
    margin: initial;
    box-sizing: border-box;
  }
  .article-info .date {
    font-size: 0.75rem;
    text-align: left;
  }
  .article-info .category {
    display: none;
  }
  .article-info h3 {
    height: 60px;
    aspect-ratio: auto;
    font-size: 0.875rem;
    line-height: 1.225rem;
    margin-top: 3px;
  }
}
@media(max-width: 600px) {
  .category-list, .case-category__list {
    padding: 5px 0 0 10px;
    margin: 20px auto 0;
  }
  .category-list .category__tab-button, .case-category__list .case-category__tab-button {
    font-size: 0.8rem;
    line-height: 1.2rem;
    font-weight: 600;
    color: #333;
    margin: 0 10px 5px 0;
    padding: 5px 8px;
  }
}



/* question-section */
.question-section__description {
  font-size: 0.75rem;
  margin-top: 10px;
}
.question-area__wrap {
  list-style: none;
  max-width: 1000px;
  margin: 0 auto;
}
.question-area {
  text-align: left;
  transition: all .2s ease-in-out 0s;
}
.question-area:first-child {
  margin-top: 20px;
}
.question-area .question-link {
  position: relative;
  display: block;
  width: 100%;
  background-color: #FFF;
  border-bottom: solid 2px #9f83cc;
  text-decoration: none;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden;
  transition: color 0.3s ease-in-out;
  z-index: 1;
}
.question-area:first-child .question-link {
  border-top: solid 2px #9f83cc;
}
.question-area .question-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #EAE1F5;
  transition: all 0.5s ease-in-out;
  z-index: -1;
}
.question-heading {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.question-heading img {
  width: 100%;
  max-width: 50px;
  margin-right: 15px;
}
.question-heading p {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.question-description {
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #919191;
  margin: 10px 0 0 65px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.question-responses {
  font-size: 0.75rem;
  color: #919191;
  margin: 10px 0 0 65px;
}
.question-responses span {
  font-size: 1.0rem;
}
.question-link__button {
  display: flex;
}
/* PC版のみホバー要素 */
@media(min-width: 961px) {
  .question-area .question-link:hover::before {
    width: 100%;
  }
}
@media(max-width: 960px) {
  .question-area__wrap {
    margin-bottom: 20px;
  }
}



/* flow-section */
.flow-list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px auto 60px;
  padding: 0 80px;
  box-sizing: border-box;
}
.flow-heading {
  position: relative;
  height: 40px;
}
.flow-heading div {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 600;
  background-color: #9f83cc;
  padding: 15px;
  margin: 0 auto;
  box-sizing: border-box;
}
.flow-heading div span {
  display: inline-block;
  font-size: 1.125rem;
  line-height: 1.5rem;
}
.flow-list li {
  list-style: none;
  margin: 0 auto;
}
.flow-list li .flow-content {
  width: 250px;
  /*background-color: #EAE1F5;*/
  background-color: #EAE1F5;
  border-radius: 10px;
  padding: 50px 20px 20px;
  margin: 0 auto;
  box-sizing: border-box;
}
.flow-content__left {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  max-width: 100px;
  height: 100px;
  background-color: #fff;
  border-radius: 100px;
  margin: 0 auto;
}
.flow-content__left img {
  max-width: 75px;
  max-height: 75px;
  object-fit: contain;
}
.flow-title {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 600;
  border-bottom: solid 1px #333;
  margin: 20px auto 10px;
  padding-bottom: 2px;
  box-sizing: border-box;
}
.flow-description {
  display: block;
  min-height: 120px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  text-align: left;
}
@media(max-width: 1240px) {
  .flow-list {
    padding: 0;
  }
}
@media(max-width: 1100px) {
  .flow-list {
    flex-wrap: wrap;
  }
  .flow-list li {
    width: 40vw;
  }
  .flow-list li:nth-child(3), .flow-list li:nth-child(4) {
    margin-top: 20px;
  }
}
@media(max-width: 650px) {
  .flow-list li {
    width: 90vw;
  }
  .flow-list li:nth-child(2) {
    margin-top: 20px;
  }
  .flow-list li .flow-content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 90vw;
  }
  .flow-content__right {
    max-width: 350px;
  }
  .flow-title {
    margin: 0 auto 10px;
  }
  .flow-description {
    min-height: 80px;
  }
}
@media(max-width: 560px) {
  .flow-content__right {
    max-width: 300px;
  }
  .flow-description {
    min-height: 100px;
  }
}
@media(max-width: 500px) {
  .flow-content__right {
    max-width: 250px;
  }
  .flow-description {
    min-height: 120px;
  }
}
@media(max-width: 450px) {
  .flow-content__right {
    max-width: 200px;
  }
  .flow-description {
    min-height: 120px;
  }
}
@media(max-width: 400px) {
  .flow-content__right {
    max-width: initial;
  }
  .flow-title {
    margin: 20px auto 10px;
  }
  .flow-list li .flow-content {
    flex-flow: column;
    width: 250px;
    max-width: 90vw;
  }
}



/* price-section */
.price-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 1200px;
  background-color: #FFF;
  border: solid 1px #9f83cc;
  border-radius: 10px;
  margin: 30px auto 0;
  box-sizing: border-box;
}
.price-list .price__tab-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 50%;
  list-style: none;
  background-color: #FFF;
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: #333;
  padding: 5px;
  box-sizing: border-box;
  cursor: pointer;
  transition: all .2s ease-in-out 0s;
}
.price-list .price__tab-button:first-child {
  border-radius: 10px 0 0 10px;
}
.price-list .price__tab-button:last-child {
  border-radius: 0 10px 10px 0;
}
.price-list .price__tab-button.tab-selected {
  background-color: #EFE7F7;
}
.price-list__button-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.price-list .price__tab-button .price-list__button-icon img {
  max-height: 40px;
  margin-right: 10px;
}
.price-area__wrap {
  justify-content: center;
  align-items: center;
  margin-top: 40px;
}
.price-area__wrap {
  display: none;
}
.price-area__wrap.tab-open {
  display: flex;
}
.price-area__wrap img {
  width: 100%;
  max-width: 250px;
  margin-right: 50px;
}
.price-area {
  position: relative;
  width: 100%;
  max-width: 720px;
  background-color: #EFE7F7;
  border-radius: 10px;
  padding: 8px;
  box-sizing: border-box;
}
.price-area::before {
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: solid 2px #9f83cc;
  position: absolute;
  background-color: #fff;
  top: 8px;
  left: 8px;
  pointer-events: none;
}
.price-area h3 {
  position: relative;
  font-size: 1.875rem;
  font-weight: 600;
  color: #8b79a7;
  margin-top: 40px;
  z-index: 1;
}
.price-guideline {
  position: relative;
  display: inline-block;
  font-size: 2.0rem;
  line-height: 3.0rem;
  font-weight: 600;
  border-bottom: solid 2px #8b79a7;
  margin: 20px auto 0;
  padding: 0 10px 5px;
  box-sizing: border-box;
  z-index: 1;
}
.prcie-description {
  position: relative;
  display: block;
  width: 80%;
  max-width: 560px;
  font-weight: 1.125rem;
  line-height: 1.6875rem;
  text-align: left;
  margin: 20px auto 30px;
  z-index: 1;
}
.search-area__bottom {
  margin-top: 40px;
}
.search-area__bottom h3 {
  font-size: 1.5rem;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .price-list .price__tab-button:hover {
    background-color: #EFE7F7;
  }
}
@media(max-width: 1200px) {
  .flow-section {
    padding: 0 20px;
    box-sizing: border-box;
  }
  .price-list {
    max-width: 90vw;
  }
  .price-area__wrap {
    max-width: 98vw;
    margin: 20px auto 0;
  }
}
@media(max-width: 960px) {
  .price-area__wrap img {
    margin-right: 20px;
  }
  .search-area__bottom {
    margin-top: 30px;
  }
}
@media(max-width: 800px) {
  .price-area h3 {
    margin-top: 20px;
  }
  .price-guideline {
    font-size: 1.5rem;
    line-height: 2.25rem;
    margin: 15px auto 0;
  }
  .prcie-description {
    font-weight: 1.0rem;
    line-height: 1.5rem;
    margin: 10px auto 20px;
  }
}
@media(max-width: 720px) {
  .price-list {
    margin: 20px auto 0;
  }
  .price-area__wrap {
    flex-flow: column;
    margin-top: 10px;
  }
  .price-area__wrap img {
    max-width: 150px;
    margin-right: 0;
  }
  .price-area {
    margin-top: 10px;
  }
}
@media(max-width: 600px) {
  .price-list {
    margin: 20px auto 0;
  }
  .price-list .price__tab-button {
    font-size: 0.8rem;
    line-height: 1.2rem;
    font-weight: 600;
    color: #333;
  }
}
@media(max-width: 420px) {
  .price-list .price__tab-button .price-list__button-icon img {
    max-height: 30px;
    margin-right: 5px;
  }
  .price-area {
    padding: 0 20px;
    box-sizing: border-box;
  }
  .price-area h3 {
    font-size: 1.5rem;
    margin-top: 30px;
  }
  .price-guideline {
    font-size: 1.5rem;
    padding: 0 5px 5px;
  }
}



/* site-footer */
.site-footer {
  background-color: #9f83cc;
  margin-top: 80px;
  padding: 40px 50px 20px;
  box-sizing: border-box;
}
.footer-content-wrap {
  max-width: 800px;
  margin: 0 auto;
}
.fnav .menu {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
}
.fnav li {
  position: relative;
  margin: 20px 30px 0 0;
}
.fnav li a {
  text-decoration: none;
  color: #fff;
  font-size: 1.0rem;
  line-height: 1.5rem;
}
.footer-logo img {
  display: block;
  width: 100%;
  max-width: 200px;
  margin: 20px auto 25px;
}
.copyright {
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #fff;
}
@media(min-width: 961px) {
  .fnav li a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0.8px;
    background-color: #fff;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease-in-out;
  }
  .fnav li a:hover::after {
    transform: scaleX(1);
  }
}
@media(max-width: 960px) {
  .pagetop {
    position: fixed;
    max-width: 40px;
    max-height: 40px;
    right: 20px;
    bottom: 70px;
    border: solid 2px #fff;
    border-radius: 100px;
    z-index: 1000;
    transition: transform 0.5s ease-in-out;
  }
  .pagetop.pagetop__banner-shown {
    bottom: 150px;
  }
  .pagetop img {
    max-width: 40px;
    max-height: 40px;
  }
  .pagetop__banner-hidden {
    bottom: 20px;
  }
  .fnav li a {
    font-size: 0.875rem;
    line-height: 1.3125rem;
  }
  .copyright {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
}
@media(max-width: 700px) {
  .fnav {
    margin: 0 auto;
  }
  .fnav .menu {
    justify-content: flex-start;
  }
  .fnav li {
    display: block;
    width: 100%;
    max-width: 40%;
    text-align: left;
  }
}
@media(max-width: 500px) {
  .pagetop.pagetop__banner-shown {
    bottom: 120px;
  } 
}
@media(max-width: 480px) {
  .site-footer {
    padding: 40px 20px 20px;
  }
  .fnav li {
    max-width: 120px;
  }
  .fnav li a {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .pagetop {
    bottom: 80px;
  }
  .pagetop__banner-hidden {
    bottom: 20px;
  }
}
@media(max-width: 400px) {
  .pagetop {
    bottom: 75px;
  }
  .pagetop__banner-hidden {
    bottom: 20px;
  }
}



/* lower-common */
.breadcrumbs {
  display: flex;
  align-items: center;
  list-style: none;
  background-color: #EFE7F7;
  padding: 10px 80px;
  box-sizing: border-box;
}
.breadcrumbs li:not(:last-of-type)::after {
  content: "/";
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 600;
  margin: 0 .6em;
  color: #333;
}
.breadcrumbs li a {
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 600;
  color: #333;
  text-decoration: none;
  position: relative;
  display: inline-block;
  transition: transform 3s ease-in-out;
}
.breadcrumbs li span {
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 600;
  color: #333;
  position: relative;
  display: inline-block;
}
.breadcrumbs li a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1.0px;
  background-color: #9f83cc;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform 0.3s ease-in-out;
}
@media(min-width: 961px) {
  .breadcrumbs li a:hover::after {
    transform: scaleX(1);
  }
}
@media(max-width: 960px) {
  .breadcrumbs {
    flex-wrap: wrap;
    padding: 10px 24px;
  }
}



/*  lower-archive  */
.archive-contents__wrap {
  margin-top: 60px;
}
.lower-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 60px;
}
.lower-heading img {
  max-height: 35px;
  padding: 0 15px 5px 15px;
  border-bottom: solid 2px #9f83cc;
}
.lower-heading h1 {
  display: block;
  height: 42px;
  font-size: 2.25rem;
  font-weight: 600;
  padding: 0 15px 5px 0;
  box-sizing: border-box;
  border-bottom: solid 2px #CCC083;
  white-space: nowrap;
}
.column__category-page .lower-heading h1 {
  font-size: 1.75rem;
  line-height: 2.625rem;
  padding: 0 5px 0 0;
  height: auto;
}
@media(max-width: 500px) {
  .lower-heading {
    transform: scale(0.8);
    margin-top: 20px;
  }
  .column__category-page .lower-heading {
    transform: initial;
  }
  .column__category-page .lower-heading h1 {
    font-size: 1.5rem;
    line-height: 2.25rem;
  }
}
@media(max-width: 420px) {
  .column__category-page .lower-heading h1 {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
}
@media(max-width: 380px) {
  .lower-heading {
    transform: scale(0.6);
  }
}
@media(max-width: 350px) {
  .column__category-page .lower-heading h1 {
    font-size: 1.125rem;
    line-height: 1.6875rem;
  }
}
@media(max-width: 320px) {
  .column__category-page .lower-heading h1 {
    font-size: 1.0rem;
    line-height: 1.5rem;
  }
}
.lower-heading {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-top: 60px;
}
.lower-heading.ken-search__heading img {
  padding: 0 15px 5px 15px;
  border-bottom: solid 2px #9f83cc;
}
.lower-heading.ken-search__heading h1 {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.0rem;
  font-weight: 600;
  padding: 0 15px 5px 0;
  box-sizing: border-box;
  border-bottom: solid 2px #CCC083;
  white-space: wrap;
}
.lawyer-archive__page-wrap .search-box ,.ken-search__page-wrap .search-box {
  margin-top: 20px;
}
@media(max-width: 960px) {
  .lower-heading.ken-search__heading {
    transform: scale(0.8);
    margin-top: 20px;
  }
  .lower-heading.ken-search__heading h1 {
    font-size: 1.8rem;
  }
}
@media(max-width: 800px) {
  .lower-heading.ken-search__heading h1 {
    font-size: 1.6rem;
  }
}
@media(max-width: 500px) {
  .lower-heading.ken-search__heading h1 {
    font-size: 1.5rem;
  }
}
@media(max-width: 380px) {
  .lower-heading.ken-search__heading h1 {
    font-size: 1.2rem;
  }
}


.column-search__area h2 {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  margin-top: 30px;
}
.column__search-box {
  width: 100%;
  max-width: 950px;
  background-color: #e8e8e8;
  border-radius: 10px;
  margin: 30px auto 0;
  padding: 20px 50px;
  box-sizing: border-box;
}
.word-search__wrap {
  width: 100%;
}
.word-search__wrap .search-form {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 840px;
}
.column__word-search {
  width: 100%;
  max-width: 650px;
  height: 40px;
  border: solid 1px #e6e6e6;
  border-radius: 100px;
  padding: 0 20px;
  box-sizing: border-box;
  margin-right: 50px;
}
.word-search__wrap input[type="search"] {
  text-align: center;
}
.word-search__wrap input[type="search"]:focus {
  text-align: left;
}
.column__search-button {
  background-color: #9f83cc;
  border-radius: 100px;
  margin: 0 auto;
  padding: 5px 50px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.4s ease-in-out;
}
.column__search-button {
  display: block;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  white-space: nowrap;
}
.column__search-button::before {
  content: '';
  position: absolute;
  background-color: #C5ABDD;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: transform 0.4s ease-in-out;
}
.category-search__wrap {
  margin-top: 20px;
}
.category-search__wrap p {
  font-weight: 600;
  text-align: left;
}
.lower__category-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  background-color: #fff;
  border-radius: 10px;
  margin-top: 5px;
  padding: 5px 30px 15px;
  box-sizing: border-box;
}
.lower__category-list li {
  display: block;
  margin-top: 10px;
}
.lower__category-list li:not(:last-of-type) {
  margin-right: 30px;
}
.lower__category-list li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #333;
  font-weight: 600;
}
.lower__category-list li a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1.2px;
  background-color: #9f83cc;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform 0.3s ease-in-out;
}
.category-toggle { 
  display: none;
}
/* PC版のみホバー要素 */
@media(min-width: 961px) {
  .column__search-button:hover::before {
    transform: translateX(100%);
  }
  .lower__category-list li a:hover::after {
    transform: scaleX(1);
  }
}
@media(max-width: 960px) {
  .column-search__area h2 {
    background-color: #EFE7F7;
  }
  .column__search-box {
    border-radius: 0;
    margin-top: 0;
  }
  .word-search__wrap .search-form {
    flex-flow: column;
  }
  .column__word-search {
    width: 95%;
    max-width: 800px;
    margin-right: 0;
  }
  .column__search-button {
    width: 95%;
    margin-top: 10px;
  }

  .category-search__wrap {
    max-width: 400px;
    margin-top: initial;
    margin: 15px auto 0;
  }
  .category-toggle {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.0rem;
    font-weight: 600;
    color: #FFF;
    background: #9f83cc;
    border-bottom: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 5px 14px;
    cursor: pointer;
    position: relative;
    transition: all .2s ease-in-out 0s;
  }
  .category-search__wrap.is-open .category-toggle {
    border-radius: 10px 10px 0 0;
  }
  .category-toggle::after {
    content: "▾";
    position: absolute;
    right: 12px;
    top: 50%;
    font-size: 1.5rem;
    line-height: 1;
    transform: translateY(-50%) rotate(-90deg);
    transition: transform .2s;
  }
  .category-search__wrap.is-open .category-toggle::after {
    transform: translateY(-50%) rotate(0deg);
  }
  .category-panel {
    display: none;
    overflow: hidden;
  }
  .lower__category-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    list-style: none;
    background: #fff;
    border-radius: 0 0 10px 10px;
    padding: 0;
    margin-top: 0;
    box-sizing: border-box;
  }  
  .lower__category-list li {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px;
    margin-top: initial;
    box-sizing: border-box;
  }
  .lower__category-list li:not(:last-of-type) { 
    margin-right: 0;
    border-bottom: 1px solid #c8d1db;
  }
  .lower__category-list li a {
    display: block;
    width: 100%;
    color: #333;
  }
}
@media (max-width: 500px) {
  .category-search__wrap {
    max-width: 300px;
    margin: 10px auto 0;
  }
}
@media(max-width: 420px) {
  .column-search__area h2 {
    font-size: 1.125rem;
    line-height: 1.6875rem;
  }
}
/* archive-content */
.lower-article__wrap {
  display: flex;
  justify-content: center;
  margin: 40px 40px 0;
}
.archive-left {
  width: 100%;
  max-width: 800px;
  margin-right: 80px;
}
.archive-left h2 {
  font-size: 1.5rem;
  font-weight: 600;
}
.column-list {
  list-style: none;
  margin-top: 30px;
}
.column-content {
  border-top: solid 2px #9f83cc;
}
.column-content:last-child {
  border-bottom: solid 2px #9f83cc;
}
.column-content a {
  text-decoration: none;
  position: relative;
  display: block;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden;
  transition: color 0.3s ease-in-out;
  z-index: 1;
}
.column-content a .animated {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.column-content a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #EAE1F5;
  transition: all 0.5s ease-in-out;
  z-index: -1;
}
.column-content .article-image {
  margin-right: 20px;
  flex: 1;
  max-width: 40%;
  max-height: 100%;
}
.column-content .article-info {
  height: initial;
  max-height: initial;
  min-height: 150px;
  margin-top: initial;
  flex: 2;
  max-width: 75%;
  box-sizing: border-box;
}
.column-list__top-line {
  display: flex;
  align-items: center;
}
.column-list__top-line .date, .column-list__top-line .category {
  margin-top: 0;
}
.column-list__top-line .date {
  margin-right: 15px;
}
.column-content .article-info h3 {
  font-size: 1.125rem;
  line-height: 1.6875rem;
  font-weight: 600;
  max-height: initial;
  aspect-ratio: initial;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.column-description {
  font-size: 0.875rem;
  line-height: 1.3125rem;
  text-align: left;
  color: #333;
  margin-top: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pagenation {
  margin-top: 50px;
}
.pagenation .nav-links, .search-lawyer__pagenation, .search-cases__pagenation {
  position: relative;
  display: flex;
  justify-content: center;
  list-style: none;
  width: 100%;
}
.pagenation .nav-links .page-numbers.current, .pagenation .nav-links .page-numbers, .search-lawyer__pagenation .page-numbers.current ,.search-lawyer__pagenation .page-numbers, .search-cases__pagenation .page-numbers.current , .search-cases__pagenation .page-numbers {
  margin-right: 20px;
}
.pagenation .nav-links .page-numbers, .search-lawyer__pagenation .page-numbers, .search-cases__pagenation .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  font-weight: 600px;
  color: #333;
  background-color: #FFF;
  text-decoration: none;
  border: solid 2px #9f83cc;
  border-radius: 100px;
  box-sizing: border-box;
  transition: all .2s ease-in-out 0s;
}
.pagenation .nav-links .page-numbers.prev, .search-lawyer__pagenation .page-numbers.prev, .search-cases__pagenation .page-numbers.prev {
  font-size: 1.25rem;
  color: #fff;
  transform: rotate(90deg);
  background-color: #9f83cc;
  padding-top: 5px;
  box-sizing: border-box;
}
.pagenation .nav-links .page-numbers.next, .search-lawyer__pagenation .page-numbers.next, .search-cases__pagenation .page-numbers.next {
  font-size: 1.25rem;
  color: #fff;
  transform: rotate(-90deg);
  background-color: #9f83cc;
  padding-top: 5px;
  box-sizing: border-box;
  margin-right: 0;
}
.pagenation .nav-links .page-numbers.current, .search-lawyer__pagenation .page-numbers.current, .search-cases__pagenation .page-numbers.current {
  color: #FFF;
  background-color: #9f83cc;
}
@media(min-width: 961px) {
  .column-content a:hover::before {
    width: 100%;
  }
  .pagenation .nav-links .page-numbers:hover, .search-lawyer__pagenation .page-numbers:hover, .search-cases__pagenation .page-numbers:hover {
    color: #FFF;
    background-color: #9f83cc;
  }
}
@media(max-width: 960px) {
  .lower-article__wrap {
    flex-flow: column;
    margin: 40px 40px 0;
  }
  .pagenation__list li {
    margin-right: 10px;
  }
}
@media(max-width: 800px) {
  .lower-article__wrap {
    margin: 20px 24px 0;
  }
  .column-content {
    max-width: 327px;
    margin: 20px auto 0;
    border-top: initial;
  }
  .column-content:last-child {
    border-bottom: initial;
  }
  .column-content a {
    max-width: 327px;
    padding: 0;
  }
  .column-content .animated {
    display: flex;
    width: 100%;
    max-width: 327px;
    height: 100px;
    border: solid 1px #EAE1F5;
    border-top: solid 10px #9f83cc;
    border-radius: 10px;
    margin: 0 auto;
    padding: initial;
    box-sizing: border-box;
  }
  .column-content .article-image {
    flex: initial;
    width: 50%;
    height: 100%;
    max-width: 162px;
    max-height: 100px;
    aspect-ratio: 17 / 10;
    margin-right: 0;
    border-radius: 0 0 0 10px;
  }
  .column-content .article-info {
    width: 50%;
    height: 100%;
    min-height: initial;
    padding: 10px;
    margin: initial;
    box-sizing: border-box;
  }
  .column-content .article-info .date {
    font-size: 0.75rem;
    text-align: left;
  }
  .column-content .article-info .category {
    display: none;
  }
  .column-content .article-info h3 {
    height: 60px;
    aspect-ratio: auto;
    font-size: 0.875rem;
    line-height: 1.225rem;
    margin-top: 3px;
    -webkit-line-clamp: 3;
  }
  .column-description {
    display: none;
  }
}
@media(max-width: 300px) {
  .lower-article__wrap {
    margin: 20px 10px 0;
  }
}


/* 個別投稿ページ */
.single-contents__wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1200px;
  margin: 60px auto 0;  
  padding: 0 40px;
  box-sizing: border-box !important;
}
.single-left {
  width: 100%;
  max-width: calc(100% - 330px);
  padding-right: 50px;
  box-sizing: border-box;
}
.single-contents__wrap h1 {
  font-size: 1.875rem;
  line-height: 2.8125rem;
  font-weight: 600;
  color: #9f83cc;
  text-align: left;
}
.single-thumbnail {
  max-width: 700px;
  max-height: 400px;
  margin: 20px auto 0;
}
.single-thumbnail img {
  width: 100%;
  max-width: 700px;
  max-height: 400px;
  object-fit: cover;
}
.lower__article-info {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: 700px;
  margin: 10px auto 0;
}
.lower__article-date {
  margin-right: 10px;
}
.lower__article-category {
  margin-right: 5px;
}
.single-animated {
   text-align: left;
  margin-bottom: 50px;
}
.single-animated h2 {
  width: 100%;
  max-width: 100%;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2.25rem;
  color: #8b79a7;
  background-color: #f3f6f8;
  border-left: solid 10px #9f83cc;
  padding: 20px 15px;
  margin: 30px auto;
  box-sizing: border-box;
}
.single-animated h3 {
  width: 100%;
  max-width: 100%;
  font-size: 1.375rem;
  line-height: 2.0625rem;
  color: #8b79a7;
  border-left: 0;
  border-bottom: solid 2px #9f83cc;
  position: relative;
  margin: 35px 0 20px;
  padding: 12px 5px 6px;
  box-sizing: border-box;
}
.single-animated h4 {
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #8b79a7;
  margin: 20px auto;
  width: 98%;
  position: relative;
  padding-left: 20px;
}
.single-animated h4::before {
  content: '・';
  position: absolute;
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 900;
  color: #8b79a7;
  left: 0;
}
.single-animated p {
  line-height: 1.8rem;
  width: 98%;
  margin: 0 auto 30px;
}
.marker1 {
  background-image: linear-gradient(transparent 80%, #f5cfdb 80%);
}
.marker2 {
  background-image: linear-gradient(transparent 80%, #e9e4cc 80%);
}
.marker3 {
  background-image: linear-gradient(transparent 80%, #c4d6ed 80%);
}
.marker4 {
  background-image: linear-gradient(transparent 80%, #cbe8cc 80%);
}
.list-button1 {
  display: block;
  line-height: 2rem;
  padding: 40px;
  margin-bottom: 40px;
  border-radius: 4px;
  background-color: #e5e9ed;
}
.list-button1 p:last-of-type {
  margin-bottom: 0;
}
.list-button2 {
  border: 3px solid #8b79a7;
  background-color: #fdfdfd;
  border-radius: 3px;
  padding: 30px 40px 20px;
  margin-bottom: 40px;
}
.list-button2 p:last-of-type {
  margin-bottom: 0;
}
.list-button2 .list-title {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}
.passlaw-container, .houpen-container {
  max-width: 700px;
  margin: 60px auto 30px;
}
.passlaw-container__heading, .houpen-container__heading {
  position: relative;
  display: block;
  max-width: 700px;
  background-color: #9f83cc;
  border-radius: 5px 5px 0 0;
  padding: 10px;
}
.passlaw-container__heading {
  padding: 10px 10px 10px 120px;
}
.passlaw-container__heading p, .houpen-container__heading p {
  margin: 0!important;
}
.houpen-container__heading p {
  text-align: center;
}
.passlaw-container__heading-image, .houpen-container__heading-image {
  position: absolute;
  left: 5px;
  max-width: 100px;
}
.passlaw-container__heading-image {
  bottom: -40px;
}
.houpen-container__heading-image {
  top: -50px;
}
.passlaw-container__heading-word, .houpen-container__heading-word {
  display: block;
  width: initial;
  font-size: 1.375rem;
  line-height: 2.065rem;
  font-weight: 600;
  text-align: left;
  color: #fff;
  margin: 0!important;
}
.passlaw-container__wrap, .houpen-container__wrap {
  position: relative;
  background-color: #FFF;
  border-right: solid 2px #9f83cc;
  border-left: solid 2px #9f83cc;
  border-bottom: solid 2px #9f83cc;
  border-radius: 0 0 5px 5px;
  padding: 10px;
  box-sizing: border-box;
  z-index: 100;
}
.passlaw-container__wrap img, .houpen-container__wrap img {
  max-width: 98%;
  max-height: 80vw;
  object-fit: contain;
}
.passlaw-container__wrap p:last-child, .houpen-container__wrap p:last-child {
  margin-bottom: 10px;
}
@media(max-width: 960px) {
  .single-contents__wrap {
    flex-flow: column;
    padding: 0;
    margin-top: 20px;
  }
  .single-left {
    max-width: 98%;
    padding: 0;
    margin: 0 auto;
  }
  .lower__article-date, .lower__article-category {
    font-size: 0.875rem;
    line-height: 1.0rem;
  }
  .single-animated {
    padding: 0 12px;
    box-sizing: border-box;
  }
  .single-contents__wrap h1 {
    font-size: 1.4rem;
    line-height: 2.25rem;
    margin: 0 5px;
  }
  .single-animated h2 {
    font-size: 1.25rem;
    line-height: 1.875rem;
    padding: 10px 8px;
  }
  .single-animated h3 {
    font-size: 1.0rem;
    line-height: 1.5rem;
    padding: 8px 3px 2px;
  }
  .single-animated p {
    font-size: 0.875rem;
    line-height: 1.5rem;
    width: 100%;
    margin: 0 auto 20px;
  }
  .single-thumbnail {
    margin: 10px auto 0;
  }
  .list-button1 {
    font-size: 0.875rem;
    line-height: 1.5rem;
    padding: 20px 14px;
    margin-bottom: 20px;
  }
  .list-button2 {
    font-size: 0.875rem;
    line-height: 1.5rem;
    border-radius: 3px;
    padding: 20px 14px 10px;
    margin-bottom: 20px;
  }
  .list-button2 .list-title {
    font-size: 1.125rem;
    line-height: 1.6875rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
  }
  .passlaw-container, .houpen-container {
    margin: 50px auto 30px;
  }
  .passlaw-container__heading {
    padding: 5px 5px 5px 80px;
  }
  .houpen-container__heading {
    padding: 5px 80px;
  }
  .passlaw-container__heading-image, .houpen-container__heading-image {
    left: 5px;
    max-width: 80px;
  }
  .houpen-container__heading-image {
    top: -40px;
  }
  .passlaw-container__heading-word, .houpen-container__heading-word {
    font-size: 1.0rem;
    line-height: 1.5rem;
  }
  .passlaw-container__wrap p, .houpen-container__wrap p {
    font-size: 0.875rem;
    line-height: 1.5rem;
    width: 100%;
    margin: 0 auto 20px;
  }
}
@media (max-width: 500px) {
  .passlaw-container, .houpen-container {
    margin: 40px auto 30px;
  }
  .passlaw-container__heading {
    padding: 5px 5px 5px 60px;
  }
  .houpen-container__heading {
    padding: 5px 60px;
  }
  .passlaw-container__heading-image, .houpen-container__heading-image {
    left: 2px;
    top: initial;
    bottom: -15px;
    max-width: 60px;
  }
}

/* snsボタン */
.sns-buttons__area {
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 5px auto 10px;
}
.sns-buttons__wrap {
  display: flex;
  align-items: center;
  justify-content:space-between;
  list-style: none;
}
.sns-buttons__wrap li {
  width: 20%;
  height: 25px;
}
.x__button, .facebook__button, .hatena__button, .pocket__button, .line__button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.x__button {
  background-color: #000;
}
.facebook__button {
  background-color: #1877F2;
}
.hatena__button {
  background-color: #01A4DE;
}
.pocket__button {
  background-color: #EF4056;
}
.line__button {
  background-color: #06C755;
}
.x-icon, .facebook-icon, .hatena-icon, .pocket-icon, .line-icon {
  display: block;
  width: 100%;
  text-align: center;
}
.x-icon, .facebook-icon, .pocket-icon {
  max-width: 15px;
}
.hatena-icon, .line-icon {
  max-width: 22px;
}
@media (min-width: 960px) {
  .sns-buttons__wrap li:hover {
    opacity: 0.7;
  }
}
/* 著者情報 */
.author-info__wrap {
  display: block;
  max-width: 700px;
  background-color: #e8e8e8;
  border: solid 2px #c8d1db;
  border-radius: 10px;
  margin: 10px auto 20px;
}
.author-title {
  display: block;
  color: #fff;
  font-size: 1.0rem;
  font-weight: 600;
  text-align: left;
  background-color: #9f83cc;
  border-radius: 8px 8px 0 0;
  padding: 10px 50px;
  box-sizing: border-box;
}
.author-content {
  display: flex;
  align-items: center;
  padding: 20px;
}
.author-photo {
  display: block;
  width: 80px;
  height: 80px;
  margin-right: 20px;
}
.author-photo img {
  max-width: 80px;
  height: 100%;
  max-height: 80px;
  object-fit: contain;
  border-radius: 50%;
}
.author-info {
  text-align: left;
}
.author-name {
  font-size: 1.0rem;
  font-weight: 600;
}
.author-office {
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: 5px;
}
.author-description {
  font-size: 0.75rem;
  line-height: 1.125rem;
  margin-top: 8px;
}
.author-info__bottom {
  display: block;
  max-width: 800px;
  background-color: #fff;
  border: solid 2px #c8d1db;
  border-radius: 10px;
  margin: 20px auto;
}
.author-info__bottom .author-content {
  padding: 20px 30px;
}
.author-info__bottom .author-photo {
  display: block;
  width: 100px;
  height: 100px;
  margin-right: 20px;
}
.author-info__bottom .author-photo img {
  max-width: 100px;
  height: 100%;
  max-height: 100px;
  object-fit: contain;
  border-radius: 100px;
}
.author-info__bottom .author-name {
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 600;
}
.author-info__bottom .author-office {
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  margin-top: 5px;
}
.author-info__bottom .author-description {
  font-size: 1.0rem;
  line-height: 1.5rem;
  margin-top: 8px;
}
@media(max-width: 960px) {
  .author-info__wrap {
    margin: 10px auto 20px;
  }
  .author-content {
    padding: 10px 20px;
  }
  .author-description p {
    line-height: 1.2rem;
  }
  .author-info__bottom {
    margin: 20px 20px;
  }
}
@media(max-width: 375px) {
  .author-title {
    text-align: center;
  }
  .author-content {
    display: block;
  }
  .author-photo {
    width: 100%;
    max-width: 100px;
    margin: 0 auto 10px;
  }
  .author-photo img {
    width: 100%;
  }
  .author-name, .author-office {
    text-align: center;
  }
  .author-info__bottom .author-photo {
    display: block;
    width: 100px;
    height: 100px;
    margin: 0 auto 10px;
  }
  .author-info__bottom .author-name {
    text-align: center;
  }
  .author-info__bottom .author-office {
    text-align: center;
  }
}
/* 目次 */
#toc_container {
  list-style: none;
  background-image: url("img/common/ロゴ.png");
  background-position: bottom 10px right 10px;
  background-size: 30%;
  background-color: rgba(255,255,255,0.5);
  background-repeat: no-repeat;
  background-blend-mode: lighten;
  transition: all .2s ease-in-out 0s;
  width: 100% !important;
  max-width: 700px;
  border: solid 2px #c8d1db;
  border-radius: 10px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}
#toc_container a {
  text-decoration: none;
  word-break: break-all;
}
#toc_container p.toc_title {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.0rem;
  font-weight: 600;
  text-align: center;
  background-color: #9f83cc;
  border-radius: 8px 8px 0 0;
  margin: 0;
  padding: 10px 0 !important;
  box-sizing: border-box;
  white-space: nowrap;
  transition: all .3s ease-in-out 0s;
}
#toc_container.contracted p.toc_title {
  border-radius: 8px;
}
#toc_container p.toc_title .toc_toggle a {
  font-weight: 500;
  color: #fff;
  font-size: 1.0rem;
}
#toc_container .toc_list {
  margin: 20px;
}
#toc_container .toc_list li {
  line-height: 30px;
  margin-bottom: 10px;
}
#toc_container .toc_list li a {
  text-decoration: none;
  color: #8b79a7;
  font-size: 0.875rem;
  line-height: 1.1375rem;
  font-weight: 700; 
  position: relative;
  display: inline-block;
  transition: transform 3s ease-in-out;
}
#toc_container .toc_list li a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 0.5px;
  background-color: #8b79a7;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform 0.5s ease-in-out;
}
#toc_container .toc_list li ul {
  margin-left: 20px;
}
#toc_container .toc_list li ul li {
  margin: 0;
}
#toc_container .toc_list li ul li a {
  font-size: 0.875rem;
  line-height: 1.05rem;
  font-weight: 400;
}
#toc_container .toc_list li ul li ul li a {
  font-size: 0.75rem;
  line-height: 0.825rem;
  font-weight: 400;
}
@media(min-width: 961px) {
  #toc_container .toc_list li a:hover::after {
    transform: scaleX(1);
  }
}


/* CTA */
.single__cta-section {
  margin: 0 auto;
}
.single__cta-contents__wrap {
  border: solid 2px #c8d1db;
  border-radius: 10px;
  box-sizing: border-box;
  margin: 0 auto;
}
.cta-title {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  text-align: center;
  background-color: #9f83cc;
  border-radius: 8px 8px 0 0;
  margin: 0px;
  padding: 15px 5px;
  box-sizing: border-box;
}
.cta-description {
  text-align: left;
  line-height: 2.0rem;
  width: 100%;
  padding: 20px 20px 0;
  box-sizing: border-box;
}
.single__cta-section .search-box {
  max-width: 100%;
  border-radius: 0 0 10px 10px;
  margin-top: 20px;
}
.single__cta-section .detailed-options {
  padding: 10px 0;
}
.single__cta-section .details-label {
  font-size: 0.875rem;
}
.cta-title__break {
  display: none;
}
.single__cta-section .detailed-options__wrap {
  flex-flow: column;
}
.single__cta-section .detailed-options {
  width: 100%;
  text-align: left;
  border-bottom: solid 1px #B8B8B8;
  padding: 15px;
  margin-right: 0;
}
.single__cta-section .detailed-options:last-child {
  border-bottom: none;
}
.single__cta-section .search__button {
  padding: 10px 140px 10px 100px;
}
@media(max-width: 960px) {
  .single__cta-section {
    padding: 0 20px;
    box-sizing: border-box;
  }
  .single__cta-contents__wrap {
    display: block;
    max-width: 700px;
  }
  .cta-title {
    font-size: 1.2rem;
    line-height: 1.8rem;
    padding: 10px 5px;
  }
  .cta-description {
    font-size: 0.875rem;
    line-height: 1.6rem;
  }
}
@media(max-width: 660px) {
  .single__cta-section .search__button {
    padding: 5px 110px 5px 60px;
  }
}
@media(max-width: 610px) {
  .cta-title__break {
    display: inline;
  }
}
@media (max-width: 500px) {
  .single__cta-section .search__button img {
    display: none;
  }
  .single__cta-section .search__button {
    width: 90%;
    padding: 5px 0;
  }
}
@media(max-width: 400px) {
  .cta-title {
    font-size: 1.0rem;
    line-height: 1.5rem;
  }
}
@media(max-width: 320px) {
  .cta-title {
    font-size: 0.9rem;
    line-height: 1.35rem;
  }
}


/* 弁護士リスト(個別ページ) */
.single__lawyer-list {
  max-width: 900px;
  overflow: hidden;
  margin: 10px auto;
  position: relative;
  box-sizing: border-box;
  margin-top: 30px; 
}
.single__lawyer-title {
  font-size: 1.5rem;
  font-weight: 600;
}
.single__lawyer-list .area-list {
  margin-top: 20px;
}
.single__lawyer-list .top__lawyer-list.tab-open {
  margin-top: 20px;
}
.single__lawyer-list .lawyer-area {
  max-width: 330px;
  min-height: 394px;
  background-color: #EFE7F7;
  border: solid 2px #EFE7F7;
  padding: 20px 0 10px;
}
.single__lawyer-list .list-upper {
  flex-flow: column;
  padding: 0 20px;
  box-sizing: border-box;
}
.single__lawyer-list .profile_image-area {
  width: 100%;
  max-width: 280px;
  max-height: 180px;
}
.single__lawyer-list .profile_image-area img {
  width: 100%;
  max-width: 280px;
  height: 180px;
  object-fit: contain;
}
.single__lawyer-list .lawyer-profile {
  min-height: initial;
  margin: 10px 15px 0;
}
.single__lawyer-list .office-name {
  margin: 10px 0;
}
.single__lawyer-list .button-area {
  transform: scale(0.75);
  margin-top: 0;
}
.single__lawyer-list .button-area a:first-child {
  margin-right: 10px;
}
.single__lawyer-list .link-button {
  margin: 20px auto 0;
}
.single__lawyer-list .left-button .pc, .single__lawyer-list .right-button .pc {
  max-width: 50px;
}
.single__lawyer-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 300px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  font-weight: 600;
  color: #FFF;
  white-space: nowrap;
  border-radius: 100px;
  padding: 5px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease-in-out;
  box-sizing: border-box;
  cursor: pointer;
}
@media (max-width: 500px) {
  .single__lawyer-list .right-button, .single__lawyer-list .left-button {
    top: 40%;
  }
}
@media (max-width: 400px) {
  .single__lawyer-link {
    max-width: 200px;
  }
}

.article-bottom__banner {
  max-width: 800px;
  margin: 50px auto 0;
}
.article-bottom__banner img {
  width: 100%;
  max-width: 800px;
}
@media(max-width: 960px) {
  .article-bottom__banner {
    margin: 30px 20px 0;
  }
}
/* 前後の記事へのリンク */
.around-article__section {
  display: flex;
  justify-content: space-around;
  align-items: center;
  max-width: 760px;
  margin: 50px auto 0;
  box-sizing: border-box;
}
.previous-article, .next-article {
  text-decoration: none;
  display: flex;
  width: 30vw;
  max-width: 300px;
  height: 100px;
  border: solid 1px #9f83cc;
  border-radius: 5px;
  box-sizing: border-box;
  position: relative;
}
.previous-article:after {
  position: absolute;
  content: '前へ';
  font-size: 0.75rem;
  text-align: center;
  background: #9f83cc;
  color: #FFF;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  top: 0;
  left: 10px;
  padding: 2px 6px;
  box-sizing: border-box;
}
.next-article:after {
  position: absolute;
  content: '次へ';
  font-size: 0.75rem;
  text-align: center;
  background: #9f83cc;
  color: #FFF;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  top: 0;
  left: 10px;
  padding: 2px 6px;
  box-sizing: border-box;
}
.around-article__image {
  width: 100%;
  max-width: 140px;
  max-height: 100px;
}
.around-article__image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  border-radius: 4px 0 0 4px;
  box-sizing: border-box;
}
.around-article__image .substitute__eye-catch {
  object-fit: contain;
}
.around-title__area {
  width: 100%;
  height: 100px;
  padding: 8px 10px 10px;
  box-sizing: border-box;
}
.around-article__title {
  color: #8b79a7;
  font-size: 0.875rem;
  line-height: 1.295rem;
  text-align: left;
  height: 80px;
  overflow: hidden;
}
.around-article__home-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 60px;
  border: solid 2px #9f83cc;
  border-radius: 10px;
  box-sizing: border-box;
  margin: 0 10px;
}
.around-article__home-button img {
  width: 100%;
  object-fit: cover;
  padding: 5px;
  box-sizing: border-box;
}
.around-article__empty {
  width: 30vw;
  max-width: 300px;
  height: 100px;
  border: solid 1px #c8d1db;
  border-radius: 5px;
  box-sizing: border-box;
}
@media(max-width: 960px) {
  .around-article__section {
    display: flex;
    flex-flow: column;
    align-items: center;
  }
  .previous-article, .next-article {
    width: 100%;
  }
  .next-article {
    margin-top: 20px;
  }
  .around-article__home-button {
    display: none;
  }
  .around-article__empty {
    width: 100%;
    max-width: 300px; 
    margin-top: 20px;
  }
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .previous-article, .next-article {
    transition: all .2s ease-in-out 0s;
  }
  .previous-article:hover, .next-article:hover {
    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.3);
  }
  .around-article__home-button {
    transition: all .3s ease-in-out 0s;
  }
  .around-article__home-button:hover {
    background-color: #EFE7F7;
  }
}
/* 人気記事(記事中) */
.bottom__popular-articles {
  width: 100%;
  max-width: 800px;
  border: solid 2px #9f83cc;
  border-radius: 10px;
  margin: 30px auto 0;
  box-sizing: border-box;
}
.bottom__popular-articles .popular-articles__heading {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  background-color: #9f83cc;
  border-radius: 5px 5px 0 0;
  padding: 10px 0;
  box-sizing: border-box;
}
.bottom__popular-articles a {
  text-decoration: none;
  position: relative;
  display: block;
  padding: 20px;
  box-sizing: border-box;
  overflow: hidden;
  transition: color 0.3s ease-in-out;
  z-index: 1;
}
.bottom__popular-articles a .animated {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.bottom__popular-articles a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #EAE1F5;
  transition: all 0.5s ease-in-out;
  z-index: -1;
}
.bottom__popular-articles .popular__article-image {
  margin-right: 20px;
  flex: 1;
  max-width: 40%;
  max-height: 100%;
}
.bottom__popular-articles .popular__article-image img {
  width: 100%;
  height: 100%;
  max-width: 250px;
  max-height: 150px;
  object-fit: cover;
  object-position: 50% 50%;
  transition: all .2s ease-in-out 0s;
}
.bottom__popular-articles .popular__article-info {
  height: initial;
  max-height: initial;
  min-height: 150px;
  margin-top: initial;
  flex: 2;
  max-width: 75%;
  box-sizing: border-box;
}
.bottom__popular-articles .popular__article-info .column-list__top-line {
  display: flex;
  align-items: center;
}
.bottom__popular-articles .popular__article-info .column-list__top-line .date, .bottom__popular-articles .popular__article-info .column-list__top-line .category {
  font-size: 0.75rem;
  color: #333;
  margin-top: 0;
}
.bottom__popular-articles .popular__article-info .column-list__top-line .date {
  margin-right: 15px;
}
.bottom__popular-articles .popular__article-info h3 {
  font-size: 1.125rem;
  line-height: 1.6875rem;
  font-weight: 600;
  color: #333;
  max-height: initial;
  aspect-ratio: initial;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bottom__popular-articles .popular__article-info .column-description {
  font-size: 0.875rem;
  line-height: 1.3125rem;
  text-align: left;
  color: #333;
  margin-top: 5px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media(max-width: 960px) {
  .bottom__popular-articles {
    display: none;
  }
}


/* リンクカード位置調整 */
.linkcard .lkc-internal-wrap {
  width: 100%;
  max-width: 500px;
  text-align: left;
  margin: 30px 0;
}
.linkcard .lkc-info {
  display: block;
  align-items: none;
}
.linkcard .lkc-content {
  height: auto;
}
.lkc-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
@media(max-width: 600px) {
  .lkc-thumbnail-img {
    max-width: 90px;
  }
}
@media(max-width: 480px) {
  .lkc-thumbnail-img {
    max-width: 70px;
    max-height: 50px;
  }
  .lkc-excerpt {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 1;
  }
}
@media(max-width: 320px) {
  .lkc-thumbnail-img {
    max-width: 50px;
  }
}


/* side-bar */
.side-bar {
  width: 330px;
  height: 100%;
  flex-shrink: 0;
  box-sizing: border-box;
  margin: 30px auto 0;
}
@media(max-width: 960px) {
  .side-bar {
    width: 100%;
    max-width: 330px;
  }
}
@media(max-width: 400px) {
  .side-bar {
    padding: 0 5px;
    box-sizing: border-box;
  }
}
.side-bar #widget-area {
  list-style: none;
}
.side-bar .wp-block-search__input {
  width: 100%;
  max-width: 330px;
  height: 30px;
  border: solid 2px #d5d5d5;
  border-radius: 3px;
  box-sizing: border-box;
}
.side-bar #widget-area #block-9 {
  display: flex;
  flex-flow: column;
  line-height: 1.5rem;
  background-color: #fafbfc;
  border: solid 1px #f3f6f8;
  padding: 20px 30px 25px;
  margin-top: 20px;
}
.side-bar #widget-area #block-9 h2 {
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
}
.side-bar .widget_categories {
  margin-top: 30px;
  list-style: none;
}
.side-bar .widget_categories {
  width: 100%;
  border: solid 2px #9f83cc;
  border-radius: 10px;
  box-sizing: border-box;
}
.side-bar .widget_categories .widgettitle {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.0rem;
  font-weight: 600;
  background-color: #9f83cc;
  border-radius: 5px 5px 0 0;
  margin-bottom: 0;
  padding: 10px 0;
  box-sizing: border-box;
}
.side-bar .widget_categories .cat-item, .side-bar .widget_categories .cat-item-none {
  list-style: none;
  border-top: solid 2px #c8d1db;
  box-sizing: border-box;
}
.widget_categories .cat-item-none {
  padding: 10px 0;
  box-sizing: border-box;
}
.side-bar .widget_categories .cat-item a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #333;
  font-weight: 600;
  padding: 10px 0;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease-in-out;
  z-index: 1;
}
.side-bar .widget_categories .cat-item a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #EAE1F5;
  transition: all 0.5s ease-in-out;
  z-index: -1;
}
.side-bar .widget_categories .cat-item:last-child a {
  border-radius: 0 0 8px 8px;
}
@media(min-width: 961px) {
  .side-bar .widget_categories .cat-item a:hover::before {
    width: 100%;
  }
}
.side__popular-articles {
  width: 100%;
  border: solid 2px #9f83cc;
  border-radius: 10px;
  margin-top: 30px;
  box-sizing: border-box;
}
.popular-articles__heading {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.0rem;
  font-weight: 600;
  background-color: #9f83cc;
  border-radius: 5px 5px 0 0;
  padding: 10px 0;
  box-sizing: border-box;
}
.popular-articles__list {
  list-style: none;
}
.popular-articles__list li {
  border-top: solid 2px #c8d1db;
  box-sizing: border-box;
}
.popular-articles__list li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding: 10px 15px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease-in-out;
  z-index: 1;
}
.popular-articles__list li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #EAE1F5;
  transition: all 0.5s ease-in-out;
  z-index: -1;
}
.popular-articles__list li:last-child a {
  border-radius: 0 0 8px 8px;
}
@media(min-width: 961px) {
  .popular-articles__list li a:hover::before {
    width: 100%;
  }
}
.popular-animated {
  display: flex;
  align-items:center;
  height: 10vw;
  max-height: 75px;
  min-height: 70px;
}
.popular__article-image {
  margin-right: 10px;
}
.popular__article-image img {
  max-width: 100px;
  object-fit: cover;
}
.popular__article-image .substitute__eye-catch {
  object-fit: contain;
}
.popular__article-info {
  text-align: left;
  margin-bottom: auto;
}
.popular__article-info .date, .popular__article-info .column-title {
  font-size: 0.75rem;
  line-height: 1.125rem;
  color: #333;
}
.popular__article-info .column-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.side__search-area h3 {
  color: #fff;
  font-weight: 600;
  background-color: #9f83cc;
  border-radius: 10px 10px 0 0;
  margin-top: 30px;
  padding: 10px 0;
  box-sizing: border-box;
}
.side__search-area .search-box {
  width: 100%;
  max-width: 330px;
  border-radius: 0 0 10px 10px;
  margin-top: 0;
  padding: 20px;
  box-sizing: border-box;
}
.side__search-area .pull-down__list {
  flex-flow: column;
  gap: initial;
}
.side__search-area .select-wrapper {
  max-width: 100%;
  margin-bottom: 15px;
}
.side__search-area .word-search {
  margin-top: 0;
}
.side__search-area input[type="search"] {
  text-align: center;
}
.side__search-area input[type="search"]:focus {
  text-align: left;
}
.side__search-area .search-box__heading {
  justify-content: center;
}
.side__search-area .detailed-options__wrap {
  flex-flow: column;
}
.side__search-area .detailed-options {
  width: 100%;
  text-align: left;
  border-bottom: solid 1px #B8B8B8;
  padding: 15px 0;
  margin-right: 0;
  white-space: nowrap;
}
.side__search-area .detailed-options:last-child {
  border-bottom: none;
}
.side__search-area .search__button {
  width: 100%;
  padding: 5px 0;
}
.side__search-area .search__button img {
  display: none;
}
.side__search-area .search__button p {
  color: #fff;
  font-size: 1.0rem;
  font-weight: 600;
}
.sidebar-banner {
  width: 100%;
  margin-top: 30px;
}
.sidebar-banner img {
  width: 100%;
  max-width: 330px;
  transition: all .2s ease-in-out 0s;
}
@media(min-width: 961px) {
  .sidebar-banner:hover img {
    transform: scale(1.02);
  }
}



/* lawyer-mypage */
.lawyer-mypage__wrap {
  margin-top: 60px;
}
.mypage-heading {
  display: flex;
  align-items: flex-end;
  max-width: 1000px;
  border-bottom: solid 2px #9f83cc;
  margin: 0 auto;
  padding: 0 0 10px 20px;
  box-sizing: border-box;
}
.mypage__heading-name {
  font-size: 2.0rem;
  font-weight: 600;
  text-align: left;
}
.mypage__heading-office {
  font-size: 1.125rem;
  margin-left: 20px;
  box-sizing: border-box;
}
.lawyer-mypage__upper, .lawyer-info__bottom {
  max-width: 1000px;
  margin: 0 auto;
}
.lawyer-mypage__upper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
}
.lawyaer-detail__wrap {
  width: 100%;
  max-width: 450px;
  margin-right: 50px;
}
.lawyer-detail {
  max-width: 450px;
  border: solid 2px #565656;
  box-sizing: border-box;
}
.lawyer-detail tr:not(:last-child) {
  border-bottom: solid 2px #565656;
  box-sizing: border-box;
}
.lawyer-detail tr th {
  width: 110px;
  background-color: #EFE7F7;
  font-size: 1.0rem;
  line-height: 1.5rem;
  padding: 10px;
  border-right: solid 2px #565656;
  box-sizing: border-box;
  white-space: nowrap;
}
.lawyer-detail tr td {
  width: 340px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  text-align: left;
  background-color: #F8F6F9;
  padding: 10px;
  box-sizing: border-box;
}
.mypage__office-address {
  margin-bottom: 5px;
}
.lawyer-mypage__wrap .google-map {
  display: flex;
  justify-content: center;
  align-items: center;
}
.lawyer-mypage__wrap .google-map iframe {
  width: 50vw;
  max-width: 300px;
  max-height: 160px;
  border-radius: 10px;
}
.lawyer-mypage__wrap .icon-area {
  flex-wrap: wrap;
  margin-top: 10px;
  margin-right: 0;
}
.lawyer-mypage__wrap .icon-area:not(:last-child) {
  margin-right: 20px;
}
.lawyer-mypage__wrap .appeal-icon img {
  border-radius: 5px;
}
.lawyer-mypage__wrap .icon-area img {
  margin-top: 10px;
}

.lower__image-area {
  max-width: 500px;
  margin: 0 auto;
  padding-bottom: 50px;
  box-sizing: border-box;
}
.lawyer-image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 500px;
  height: 400px;
  margin: 0 auto;
}
.lawyer-image img {
  width: 100%;
  max-width: 500px;
  max-height: 400px;
  object-fit: contain;
}
.lawyer-image__expansion {
  display: none;
}
.lawyer-image__expansion.tab-open {
  display: block;
}
.mypage__image-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  margin-top: 20px;
}
.image-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border: solid 2px #bbbbbb;
  transition: all .2s ease-in-out 0s;
}
.image-button:not(:last-child) {
  margin-right: 15px;
}
.image-button img {
  width: 100%;
  max-width: 50px;
  max-height: 50px;
  object-fit: contain;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .image-button:hover {
    transform: scale(1.1);
  }
}
@media(max-width: 1000px) {
  .lawyaer-detail__wrap {
    margin-right: 20px;
  }
}
@media(max-width: 960px) {
  .lawyer-mypage__upper {
    flex-flow: column-reverse;
    margin-top: 20px;
  }
  .lawyaer-detail__wrap {
    margin-right: 0;
  }
  .lower__image-area {
    padding-bottom: 20px;
  }
  .lawyer-image__expansion {
    margin: 0 auto;
  }
  .mypage__image-list {
    margin-top: 10px;
  }
  .lawyer-image img {
    max-height: 300px;
  }
}
@media (max-width: 600px) {
  .lower__image-area {
    padding-bottom: 0;
  }
  .lawyer-image {
    max-width: 90vw;
  }
  .lawyer-detail {
    margin: 10px auto 0;
  }
  .mypage__image-list {
    margin-top: 10px;
  }
}
@media (max-width: 550px) {
  .lawyer-mypage__wrap {
    margin: 30px 10px 0;
  }
  .mypage-heading {
    flex-flow: column;
    align-items: flex-start;
    padding: 0;
  }
  .mypage__heading-office {
    margin: 5px 0 0 0;
  }
  .lawyer-image {
    height: 70vw;
  }
}
@media (max-width: 500px) {
  .lawyer-mypage__wrap .icon-area {
      display: flex;
  }
  .image-button {
    margin-top: 5px;
  }
  .image-button:not(:last-child) {
    margin-right: 10px;
  }
}
@media (max-width: 400px) {
  .lawyer-image img {
    max-height: 200px;
  }
}
@media (max-width: 300px) {
  .lawyer-detail tr th {
    width: 80px;
    padding: 5px;
  }
}

.lawyer-info__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}
.business-days {
  width: 100%;
  max-width: 450px;
  max-height: 130px;
  border-collapse: separate;
  border: solid 2px #bbbbbb;
  border-radius: 10px;
  box-sizing: border-box;
}
.business-days th {
  width: 100px;
  font-size: 0.875rem;
  padding: 5px 0;
  box-sizing: border-box;
}
.business-days th span {
  font-size: 0.625rem;
}
.business-days__top-line th, .business-days__top-line td {
  vertical-align: center;
  background-color: #EFE7F7;
  padding: 10px 0;
  box-sizing: border-box; 
}
.business-days__top-line .blue {
  color: #fff;
  background-color: #9f83cc;
}
.business-days__top-line .red {
  color: #fff;
  background-color: #f96565;
}
.business-days__top-line th {
  border-radius: 7px 0 0 0;
}
.business-days__top-line td:last-child {
  border-radius: 0 7px 0 0;
}
.business-days__contents td {
  width: 10vw;
  max-width: 50px;
  font-size: 1.25rem;
  vertical-align: middle;
  padding: 10px 0;
  box-sizing: border-box;
}
.business-days__top-line th, .business-days__top-line td:not(:last-child), .business-days__contents th, .business-days__contents td:not(:last-child) {
  border-right: solid 2px #bbbbbb;
  box-sizing: border-box;
}
.business-days__contents th, .business-days__contents td {
  border-top: solid 2px #bbbbbb;
  box-sizing: border-box;
}
@media(max-width: 1000px) {
  .lawyer-info__bottom {
    flex-flow: column;
  }
}

.handling-field {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  position: relative;
  width: 100%;
  /*max-width: 530px;*/
  max-width: 500px;
  background-color: #f7f4e2;
  border-radius: 10px;
  padding: 20px 5px 20px 20px;
  box-sizing: border-box;
}
.handling-field:after {
  position: absolute;
  content: '取扱分野';
  font-size: 0.875rem;
  text-align: center;
  background: #CCC083;
  color: #FFF;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  top: 0;
  left: 10px;
  padding: 2px 6px;
  box-sizing: border-box;
}
.lawyer-archive__page-wrap .handling-field.pc {
  justify-content: center;
}
.handling-field li {
  width: 100%;
  max-width: 150px;
  color: #fff;
  background-color: #9f83cc;
  border-radius: 5px;
  margin: 10px 15px 0 0;
  padding: 7px 0;
  box-sizing: border-box;
}
@media(max-width: 1000px) {
  .handling-field {
    margin-top: 20px;
  }
}
@media(max-width: 550px) {
  .handling-field {
    max-width: 360px;
  }
}
@media(max-width: 375px) {
  .handling-field {
    flex-flow: column;
    justify-content: center;
  }
}

.mypage__contact-area {
  max-width: 860px;
  background-color: #EFE7F7;
  border-left: solid 20px #9f83cc;
  border-radius: 10px;
  margin: 30px auto 0;
  padding: 20px 15px;
  box-sizing: border-box;
}
.contact-area__upper {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.mypage__contact-description {
  display: block;
  font-size: 2.0rem;
  font-weight: 600;
}
.contact-area__lower {
  font-size: 0.9rem;
  margin-top: 10px;
}
.mypage__contact-area .button-area {
  margin-top: initial;
}
@media(max-width: 900px) {
  .mypage__contact-area {
    justify-content: center;
    text-align: center;
    margin: 30px 20px 0;
  }
  .mypage__contact-description {
    font-size: 1.5rem;
    margin-right: 20px;
  }
}
@media(max-width: 800px) {
  .mypage__contact-description {
    font-size: 1.25rem;
  }
}
@media(max-width: 760px) {
  .mypage__contact-area {
    max-width: 530px;
    margin: 30px auto 0;
    padding: 10px 5px;
  }
  .contact-area__upper {
    flex-flow: column;
  }
  .mypage__contact-description {
    font-size: 1.125rem;
    margin-right: 0;
    margin-top: 5px;
  }
  .mypage__contact-area .button-area {
    margin-top: 10px;
  }
  .contact-area__lower {
    display: block;
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
}
@media(max-width: 600px) {
  .mypage__contact-area {
    border-left: solid 10px #9f83cc;
    padding: 10px 15px 10px 5px;
  }
  .mypage__contact-area .button-area {
    transform: scale(0.8);
  }
  .contact-area__lower {
    margin-top: 0;
  }
}
@media(max-width: 550px) {
  .mypage__contact-area {
    max-width: 360px;
  }
  .mypage__contact-area .button-area {
    margin-top: 0;
  }
  .mypage__contact-area .button-area a:not(:last-child) {
    margin-right: 10px;
  }
}
@media(max-width: 420px) {
  .mypage__contact-area .button-area {
    flex-flow: column;
  }
  .mypage__contact-area .button-area a:not(:last-child) {
    margin-right: 0;
  }
  .mypage__contact-area .button-area a:not(:first-child) {
    margin-top: 10px;
  }
}

.mypage__free-area {
  display: block;
  width: 95vw;
  max-width: 900px;
  margin: 30px auto 0;
}
.mypage__tab-list {
  display: flex;
  align-items:flex-end;
  list-style: none;
  height: 70px;
  transition: all .3s ease-in-out;
}
.mypage__tab-button {
  display: flex;
  align-items: center;
  color: #333;
  text-align: center;
  background-color: #FFF;
  border-radius: 8px 8px 0 0;
  border-left: solid 4px #EFE7F7;
  border-right: solid 4px #EFE7F7;
  border-top: solid 4px #EFE7F7;
  height: 60px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  padding: 15px;
  box-sizing: border-box;
  transition: all .3s ease-in-out;
  cursor: pointer;
}
.mypage__tab-button.tab-selected {
  background-color: #EFE7F7;
}
.mypage__tab-button:not(:last-child) {
  margin-right: 10px;
}
.mypage__tab-area {
  display: none;
  width: 95vw;
  max-width: 900px;
  border-top: solid 20px #EFE7F7;
  border-left: solid 4px #EFE7F7;
  border-right: solid 4px #EFE7F7;
  border-bottom: solid 4px #EFE7F7;
  border-radius: 0 10px 10px 10px;
  box-sizing: border-box;
}
.mypage__tab-area.tab-open {
  display: block;
}
.mypage__tab-area .single-animated, .interview-area__wrap {
  max-width: 90%;
  margin: 0 auto;
  padding: 20px 0 0;
  box-sizing: border-box;
}
.interview-area__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}
.intervew__image-box {
  display: flex;
  align-items: center;
  width: 60vw;
  height: 100%;
  max-height: 300px;
  aspect-ratio: 4 / 3;
  margin-right: 30px;
}
.intervew__image-box img {
  width: 100%;
  max-width: 400px;
  max-height: 300px;
  object-fit: cover;
}
.intervew-description {
  line-height: 1.8rem;
  width: 98%;
  text-align: left;
}
.interview-question {
  display: block;
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  text-align: left;
  border-bottom: solid 10px #EFE7F7;
  margin-bottom: 15px;
  padding: 0 5px;
  box-sizing: border-box;
}
.interview-question span {
  margin-right: 10px;
}
.interview-answer {
  line-height: 1.8rem;
  width: 98%;
  text-align: left;
  margin: 0 auto 30px;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .mypage__tab-button:hover {
    background-color: #EFE7F7;
  }
}
@media(max-width: 960px) {
  .mypage__tab-list {
    height: 60px;
  }
  .mypage__tab-button {
    height: 50px;
    font-size: 0.8rem;
    line-height: 1.2rem;
    padding: 5px;
  }
  .interview-area__heading {
    flex-flow: column;
    margin-bottom: 30px;
  }
  .intervew__image-box {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
@media(max-width: 400px) {
  .mypage__tab-list {
    height: 50px;
  }
  .mypage__tab-button {
    height: 40px;
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
}

.lawyer-mypage__contents {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.lawyer-mypage__banner {
  width: 220px !important;
  height: auto;
  margin-left: 30px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
.lawyer-mypage__banner .lawyer__tracking-banner {
  position: sticky;
  top: 10px;
  width: 220px;
}
@media(min-width: 1461px) {
  .lawyer-mypage__banner {
    margin-left: 50px;
    padding: 80px 0 0;
  }
  .lawyer-mypage__banner .lawyer__tracking-banner {
    top: 5px;
  }
}
@media(min-width: 1500px) {
  .lawyer-mypage__banner .lawyer__tracking-banner {
    transform: scale(1.1);
    top: 20px;
  }
}
@media(min-width: 1600px) {
  .lawyer-mypage__banner {
    margin-left: 5vw;
    padding: 100px 0 0;
  }
  .lawyer-mypage__banner .lawyer__tracking-banner {
    transform: scale(1.2);
    top: 35px;
  }
}
@media(min-width: 2000px) {
  .lawyer-mypage__banner {
    margin-left: 5vw;
    padding: 100px 0 0;
  }
  .lawyer-mypage__banner .lawyer__tracking-banner {
    transform: scale(1.3);
    top: 45px;
  }
}
.lawyer-mypage__banner .lawyer__tracking-banner .banner-image {
  max-width: 180px;
  max-height: 100px;
}
.lawyer-mypage__banner .lawyer__tracking-banner .side-banner__tel-description {
  color: #333;
  font-weight: 600;
  margin: 10px auto 0;
}
.lawyer-mypage__banner .lawyer__tracking-banner .side__tel-button {
  margin: 5px auto 10px;
}
@media(max-width: 1460px) {
  .lawyer-mypage__banner {
    display: none;
  }
}


/* 弁護士検索ページ */
.lawyer-search__contents-wrap {
  display: flex;
  justify-content: center;
  margin: 40px auto 0;
}
.search-left {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin-right: 80px;
}
.lawyer-sarch__list {
  list-style: none;
  margin-top: 20px;
}
@media(max-width: 860px) {
  .lawyer-sarch__list {
    margin-top: 10px;
  }
}
.lawyer-search__contents-wrap h2 {
  font-size: 1.875rem;
  font-weight: 600;
  margin-bottom: 5px;
}
.lawyer-box__wrap {
  width: 98%;
  max-width: 800px;
  margin: 0 auto;
}
.lawyer-box__wrap:not(:first-child) {
  margin-top: 30px;
}
.lawyer-box__heading {
  display: flex;
  align-items: flex-end;
  background-color: #9f83cc;
  border-radius: 10px 10px 0 0;
  padding: 10px 30px;
  box-sizing: border-box;
}
.lawyer-box__heading-name {
  font-size: 1.5rem;
  line-height: 2.25rem;
  color: #FFF;
  margin-right: 30px;
}
.lawyer-box__heading-prefectures {
  font-size: 1.125rem;
  line-height: 1.6875rem;
  font-weight: 600;
  color: #FFF;
}
.lawyer-box__contents-wrap {
  border-left: solid 2px #bbbbbb;
  border-right: solid 2px #bbbbbb;
  border-bottom: solid 2px #bbbbbb;
  border-radius: 0 0 10px 10px;
  box-sizing: border-box;
}
.lawyer-box__description-wrap {
  padding: 15px 20px 0;
  box-sizing: border-box;
}
.lawyer-box__upper {
  display: flex;
  align-items: center;
}
.search__lawyaer-detail__wrap {
  width: 100%;
  max-width: 410px;
  margin-right: 40px;
}
.search__lawyer-detail {
  border: solid 2px #565656;
  box-sizing: border-box;
}
.search__lawyer-detail tr:not(:last-child) {
  border-bottom: solid 2px #565656;
  box-sizing: border-box;
}
.search__lawyer-detail tr th {
  max-width: 100px;
  font-size: 1.0rem;
  background-color: #EFE7F7;
  white-space: nowrap;
  padding: 10px;
  border-right: solid 2px #565656;
  box-sizing: border-box;
}
.search__lawyer-detail tr td {
  width: 100%;
  max-width: 340px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  text-align: left;
  background-color: #F8F6F9;
  padding: 10px;
  box-sizing: border-box;
}
.search__lawyer-detail .search-area__consultation-fee {
  padding: 0;
}
.search-area__consultation-fee div {
  margin: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-area__lawyer-image {
  width: 80vw;
  max-width: 300px;
  max-height: 300px;
}
.search-area__lawyer-image img {
  width: 80vw;
  max-width: 300px;
  max-height: 300px;
  object-fit: contain;
}
.lawyer-seach__upper-right .icon-area {
  flex-wrap: wrap;
  max-width: 300px;
  margin: 10px auto 0;
}
.lawyer-seach__upper-right .icon-area .appeal-icon {
  margin-top: 10px;
  margin-right: 12px;
}
.lawyer-seach__upper-right .icon-area .appeal-icon:nth-child(5n) {
  margin-right: 0;
}
.lawyer-seach__upper-right .icon-area .appeal-icon img {
  border-radius: 5px;
}
.lawyer-box__contents-wrap .handling-field {
  max-width: 700px;
  margin: 10px auto 0;
}
.lawyer-box__contents-wrap .handling-field li:nth-child(3n) {
  margin: 10px 15px 0 0;
}
.lawyer-box__contents-wrap .handling-field li:nth-child(4n) {
  margin: 10px 0 0 0;
}
.search-area__lawyer-description {
  font-size: 1.0rem;
  line-height: 1.5rem;
  text-align: left;
  margin-top: 15px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lawyer-box__contents-wrap .mypage-link {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 400px;
  background-color: #9f83cc;
  border-radius: 100px;
  padding: 10px 15px;
  margin: 10px auto 15px;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease-in-out;
  box-sizing: border-box;
}
.lawyer-box__contents-wrap .mypage-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 0.4s ease-in-out;
}
.lawyer-box__contents-wrap .mypage-link::before {
  background-color: #C5ABDD;
}
.lawyer-box__contents-wrap .mypage-link p {
  font-size: 1.125rem;
  font-weight: 600;
  color: #FFF;
  white-space: nowrap;
}
.search__lawyaer-detail__wrap.pc {
  display: block;
}
.search__lawyaer-detail__wrap.sp, .search-lawyer__toggle-heading {
  display: none;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .lawyer-box__contents-wrap .mypage-link:hover::before {
    transform: translateX(100%);
  }
}
.search__contact-area {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 860px;
  background-color: #EFE7F7;
  border-radius: 0 0 8px 8px;
  padding: 15px 15px;
  box-sizing: border-box;
}
.search__contact-description {
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  margin-right: 30px;
}
.search__contact-area .button-area {
  margin-top: initial;
}

@media(max-width: 1250px) {
  .lawyer-search__contents-wrap {
    max-width: 99vw;
  }
  .search-left {
    margin-right: 40px;
  }
}
@media(max-width: 1200px) {
  .search-left {
    margin-right: 20px;
  }
}
@media(max-width: 1150px) {
  .search__lawyaer-detail__wrap {
    margin-right: 20px;
  }
}
@media(max-width: 1100px) {
  .lawyer-search__contents-wrap {
    flex-flow: column;
  }
  .search-left {
    margin-right: 0;
    margin: 0 auto;
  }
}
@media(max-width: 960px) {
  .lawyer-search__contents-wrap h2 {
    font-size: 1.5rem;
  }
  .lawyer-box__contents-wrap .handling-field {
    min-width: initial;
  }
}
@media(max-width: 740px) {
  .lawyer-box__upper {
    justify-content: center;
  }
  .search__lawyaer-detail__wrap.pc {
    display: none;
  }
  .search__lawyaer-detail__wrap.sp {
    display: block;
  }
  .search-lawyer__toggle {
    width: 95%;
    background-color: #e8e8e8;
    border-radius: 10px;
    margin: 15px auto 0;
    box-sizing: border-box;
    transition: all 0.3s ease-in-out;
  }
  .search-lawyer__toggle-heading {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #9f83cc;
    color: #FFF;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 10px;
    padding: 5px 10px;
    box-sizing: border-box;
    transition: all 0.5s ease-in-out;
  }
  .search-lawyer__toggle-heading.details-open {
    border-radius: 10px 10px 0 0;
    transition: all 0.3s ease-in-out;
  }
  .search-contents__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15px;
    height: 15px;
    color: #FFF;
    font-size: 1.0rem;
    font-weight: 700;
    background-color: #B2B2B2;
    border-radius: 100px;
    margin-left: 10px;
  }
  .search-contents__icon::before {
    position: absolute;
    content: "";
    width: 15px;
    height: 2px;
    border-radius: 10px;
    background-color: #FFF;
    transition: all 0.2s;
  }
  .search-contents__icon::after {
    position: absolute;
    content: "";
    width: 2px;
    height: 15px;
    border-radius: 10px;
    background-color: #FFF;
    transition: all 0.2s;
  }
  .search-lawyer__toggle-heading.details-open .search-contents__icon:after {
    transform: rotate(90deg);
  }
  .search-lawyer__toggle-contents__wrap {
    flex-flow: column;
    padding: 15px 10px;
    box-sizing: border-box;
  }
  .search__lawyaer-detail__wrap {
    margin: 0 auto;
  }
  .lawyer-box__contents-wrap .handling-field {
    justify-content: center;
    flex-flow: column;
    max-width: 300px;
  }
  .lawyer-box__contents-wrap .handling-field li:nth-child(3n) {
    margin: initial;
  }
  .lawyer-box__contents-wrap .handling-field li:nth-child(4n) {
    margin: initial;
  }
  .lawyer-box__contents-wrap .handling-field li {
    margin: 10px 0 0 0 !important;
  }
  .handling-field.pc {
    display: none;
  }
  .search__contact-area {
    flex-flow: column;
  }
  .search__contact-description {
    font-size: 1.125rem;
    max-width: initial;
    margin-right: 0;
  }
  .search__contact-area .button-area {
    transform: scale(1.0);
    margin-top: 10px;
  }
}
@media(max-width: 500px) {
  .lawyer-search__contents-wrap h2 {
    font-size: 1.2rem;
  }
}
@media(max-width: 460px) {
  .search__contact-area .button-area {
    flex-flow: column;
  }
  .search__contact-area .button-area a:first-child {
      margin-right: 0;
  }
  .search__contact-area .button-area a:not(:first-child) {
      margin-top: 10px;
  }
}
@media(max-width: 450px) {
  .lawyer-box__heading-name {
    font-size: 1.25rem;
    line-height: 1.875rem;
    margin-right: 0;
  }
  .lawyer-box__heading-prefectures, .lawyer-box__heading-municipalities {
    display: none;
  }
}

/* 都道府県ページ検索ボックス下カテゴリーリンク */
.ken-page__category-link {
  display: block;
  max-width: 500px;
  margin: 30px auto 0;
  padding: 10px 0 10px 20px;
}
.ken-page__category-link .worried-heading {
  padding-bottom: 5px;
}
.ken-page__category-link .worried-heading img {
  width: initial;
  max-width: initial;
  max-height: 25px;
  margin-right: 10px;
}
.ken-page__category-link .small-heading p {
  font-size: 1.2rem;
}
.ken-page__field-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  list-style: none;
  max-width: 800px;
  margin: 0 auto;
  box-sizing: border-box;
}
.ken-page__field-list li {
  width: 140px;
  margin-top: 15px;
  margin-right: 20px;
}
.ken-page__field-list li a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
  max-height: 30px;
  margin-right: auto;
  padding-bottom: 5px;
  box-sizing: border-box;
  transition: all .0.5s ease-in-out 0s;
}
.ken-page__field-list li a img {
  max-width: 25px;
  max-height: 25px;
  margin-right: 5px;
}
.ken-page__field-list li a p {
  position: relative;
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  transition: transform 0.5s ease-in-out;
}
@media(min-width: 961px) {
  .ken-page__field-list li a p::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1.5px;
    background-color: #9f83cc;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s ease-in-out;
  }
  .ken-page__field-list li a:hover p::after {
    transform: scaleX(1);
  }
}
@media(max-width: 960px) {
  .ken-page__category-link {
    max-width: 95vw;
    margin: 20px auto 0 !important;
  }
  .worries-list li {
    margin-right: 50px;
  }
  .ken-page__field-list {
    max-width: 650px;
  }
}
@media(max-width: 760px) {
  .ken-page__category-link {
    display: none;
  }
}



/* シンプルな表示（404など） */
.simple-single-section {
  width: 70%;
  overflow-wrap: break-word;
  margin: 60px auto 0;
}
.simple-single-section h1 {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 3.375rem;
  color: #9f83cc;
  margin: 20px auto;
}
.simple-single-section h2 {
  width: 100%;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2.25rem;
  color: #8b79a7;
  background-color: #f3f6f8;
  border-left: solid 10px #9f83cc;
  padding: 20px 15px;
  margin: 30px auto;
  box-sizing: border-box;
}
.simple-single-section h3 {
  width: 100%;
  font-size: 1.375rem;
  line-height: 2.0625rem;
  color: #8b79a7;
  border-left: 0;
  border-bottom: solid 2px #9f83cc;
  position: relative;
  margin: 35px 0 20px;
  padding: 12px 5px 6px;
  box-sizing: border-box;
}
.simple-single-section h4 {
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #8b79a7;
  margin: 20px auto;
  width: 98%;
  position: relative;
  padding-left: 20px;
}
.simple-single-section h4::before {
  content: '・';
  position: absolute;
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 900;
  color: #8b79a7;
  left: 0;
}
.simple-single-section p {
  line-height: 1.5rem;
  width: 98%;
  margin: 0 auto 30px;
}
@media(max-width: 960px) {
  .simple-single-section {
    width: 100%;
    padding: 0 24px;
    margin-top: 20px;
    box-sizing: border-box;
  }
  .simple-single-section h1 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.875rem;
  }
  .simple-single-section h2 {
    font-size: 1.375rem;
    line-height: 2.0625rem;
    margin: 20px auto;
  }
  .simple-single-section h3 {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  .simple-single-section h4, .simple-single-section h4::before {
    font-size: 1.125rem;
    line-height: 1.6875rem;
  }
  .simple-single-section h2 {
    margin: 20px auto;
  }
}


/* お問い合わせ */
.contact-form__section {
  padding: 0 80px;
}
.contact-form__section h1 {
  color: #9f83cc;
  font-size: 2.0rem;
  line-height: 3.0rem;
  font-weight: 600;
  margin: 30px auto 0;
}
.contact-form__section form {
  max-width: 600px;
  margin: 30px auto 0;
}
.contact-form__section form p {
  font-weight: 600;
  line-height: 1.5rem;
  text-align: left;
  margin: 20px auto 5px;
}
.contact-form__section form p:last-of-type {
  text-align: center;
}
.wpcf7-form-control {
  width: 100%;
  border: solid 2px #999999;
  border-radius: 5px;
  padding: 10px;
  margin: 5px auto 0;
  box-sizing: border-box;
}
.wpcf7-submit {
  display: block;
  font-size: 1.5rem;
  color: #FFF;
  width: 100%;
  max-width: 400px;
  background-color: #9f83cc;
  border-radius: 10px;
  margin: 30px auto 0;
  cursor: pointer;
}
.wpcf7-spinner {
  display: block;
  margin: 5px auto 0;
}
form.wpcf7-form[data-status="init"] .wpcf7-not-valid-tip { 
  display: none;
}
.contact-page__attention {
  max-width: 600px;
  font-size: 0.8rem;
  line-height: 1.2rem;
  color: #999999;
  margin: 0 auto;
}
@media(max-width: 960px) {
  .contact-form__section {
    padding: 0 24px;
  }
  .contact-form__section .lower-heading {
    max-width: 200px;
  }
  .contact-form__section form {
    margin-top: 20px;
  }
  .wpcf7-submit {
    margin-top: 10px;
  }
}
.contact-form__wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.contact-form__description {
  max-width: 700px;
  font-size: 1.0rem;
  line-height: 1.8rem;
  text-align: left;
  margin: 20px auto;
}
.wpcf7-form-control.contact__consultation-item {
  display: block;
  border: initial;
  padding: 0 0 5px 5px;
}
.wpcf7-form-control.contact__consultation-item .wpcf7-list-item {
  margin: 5px 20px 0 0;
}
.contact__message-description {
  font-size: 0.8rem;
  color: #999999;
}
.lawyer-contact__attention {
  font-size: 0.8rem;
  color: #999999;
}
.contact-card {
  width: 220px !important;
  height: auto;
  margin-left: 50px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
.contact-card__contents-wrap {
  position: sticky;
  top: 10px;
  background-color: #e8e8e8;
  border-radius: 10px;
  padding: 8px;
  box-sizing: border-box;
}
.contact-card__contents-wrap .button-area {
  margin-top: 0;
}
@media(min-width: 1461px) {
  .contact-card {
    margin-left: 50px;
    padding: 40px 0 0;
  }
  .contact-card__contents-wrap {
    top: 5px;
  }
}
@media(min-width: 1500px) {
  .contact-card__contents-wrap {
    transform: scale(1.1);
    top: 20px;
  }
}
@media(min-width: 1600px) {
  .contact-card {
    margin-left: 5vw;
    padding: 60px 0 0;
  }
  .contact-card__contents-wrap {
    transform: scale(1.2);
    top: 35px;
  }
}
@media(min-width: 2000px) {
  .contact-card {
    margin-left: 5vw;
    padding: 60px 0 0;
  }
  .contact-card__contents-wrap {
    transform: scale(1.3);
    top: 45px;
  }
}
.contact-card__contents-wrap .banner-image {
  max-width: 180px;
  max-height: 100px;
}
.contact-card__contents-wrap .side-banner__tel-description {
  color: #333;
  line-height: 1.2rem;
  font-weight: 600;
  margin: 10px auto 5px;
}
.contact-card__contents-wrap .button-area .tel-link {
  margin-right: 0;
}
.contact-card__contents-wrap .side__tel-button {
  margin: 5px auto 10px !important;
}
@media(max-width: 960px) {
  .contact-card {
    display: none;
  }
}

.lawyar-contact__floating-banner {
  display: none;
}
@media(max-width: 960px) {
  .lawyar-contact__floating-banner {
    display: block;
  }
  .lawyer-contact__banner-contents__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5px;
  }
  .lawyer-contact__banner-contents__wrap .banner-image__box {
    margin-right: 20px;
  }
  .lawyer-contact__banner-contents__wrap .button-area {
    transform: initial;
  }
  .lawyer-contact__banner-contents__wrap .sp__tel-button {
    display: block;
    font-size: 1.2rem;
    line-height: 1.5rem;
    font-weight: 600;
  }
}
@media(max-width: 500px) {
  .floating-banner.lawyar-contact__floating-banner {
    padding: 5px 3px 1px;
  }
  .lawyer-contact__banner-contents__wrap .banner-image__box {
    max-width: 100px;
    margin-right: 0 !important;
  }
  .lawyer-contact__banner-contents__wrap .banner-image {
    max-width: 100px !important;
    max-height: 80px;
  }
  .lawyer-contact__banner-contents__wrap .banner__contact-area {
    transform: scale(0.7);
    max-width: 50%;
    margin-left: 5px;
  }
}


/* 臨時 */
.search-box__button {
  text-decoration: none;
}
/* classic editor標準搭載の表への対応*/
.cps-table03 {
  border: solid 2px #565656;
  box-sizing: border-box;
}
.cps-table03 p {
  margin-bottom: initial;
}
.cps-table03 thead, .cps-table03 tr:not(:last-child) {
  border-bottom: solid 2px #565656;
  box-sizing: border-box;
}
.cps-table03 tr th {
  white-space: nowrap;
  background-color: #EFE7F7;
  padding: 10px;
  border-right: solid 2px #565656;
  box-sizing: border-box;
}
.cps-table03 tr td {
  width: 100%;
  max-width: 340px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  text-align: left;
  background-color: #F8F6F9;
  padding: 10px;
  box-sizing: border-box;
}


/* 会員マイページ */
.mypage-section {
  width: 95%;
  margin: 60px auto 0;
}
.mypage-title {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.mypage-title img {
  width: 100%;
  max-width: 40px;
  margin-right: 15px;
}
.mypage-title h1 {
  font-size: 1.875rem;
  line-height: 2.8125rem;
  font-weight: 600;
  color: #9f83cc;
}

.mypage-contents__wrap {
  display: flex;
  justify-content: flex-start;
  margin-top: 30px;
}
.mypage-manu {
  displey: block;
  width: 100%;
  max-width: 300px;
  margin-right: 30px;
}
.mypage__menu-list {
  width: 90vw;
  max-width: 300px;
  list-style: none;
  border: solid 2px #9f83cc;
  border-radius: 10px;
  box-sizing: border-box;
  margin-top: 30px;
}
.mypage__menu-list li {
  position: relative;
  overflow: hidden;
}
.mypage__menu-list li:not(:last-child){
  border-bottom: solid 2px #c8d1db;
}
.mypage-menu__list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #EAE1F5;
  transition: all 0.5s ease-in-out;
  z-index: -1;
}
.mypage__menu-list li a {
  display: block;
  color: #333;
  font-size: 1.125rem;
  line-height: 1.1875rem;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  padding: 15px 20px;
  box-sizing: border-box;
}
.mypage-menu__title {
  display: block;
  color: #FFF;
  font-size: 1.125rem;
  line-height: 1.1875rem;
  font-weight: 600;
  background-color: #9f83cc;
  text-align: center;
  border-radius: 5px 5px 0 0;
  padding: 8px 10px 10px;
  box-sizing: border-box;
}
.mypage-logo__menu-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  box-sizing: border-box;
}
.mypage-logo__menu-bottom img {
  display: block;
  width: 100%;
  max-width: 250px;
}
@media(min-width: 1200px) {
  .mypage-section {
    width: 95%;
  }
}
@media(min-width: 961px) {
  .mypage-menu__list:hover::before {
    width: 100%;
  }
}
@media(max-width: 960px) {
  .mypage-contents__wrap {
    flex-flow: column-reverse;
  }
  .mypage-manu {
    margin-right: 0;
    margin: 30px auto 0;
  }
  .mypage__menu-list li a {
    text-align: center;
  }
}



.mypage-contents__wrap h2 {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  color: #9f83cc;
}
.mypage-contents__wrap h3 {
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 600;
  color: #9f83cc;
  margin-top: 20px;
}
.mypage-contents__wrap p {
  font-size: 1.0rem;
  line-height: 1.5rem;
}
.mypage-contents__wrap .acf-hl li, .mypage-contents__wrap .acf-bl li {
  display: block;
  margin: 0 !important;
  padding: 10px;
  box-sizing: border-box;
}
.acf-hl li label, .acf-bl li label {
  font-size: 1.0rem;
}
.mypage-contents__wrap .acf-label label {
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 600 !important;
  color: #9f83cc;
}
.mypage-contents__wrap .acf-fields .acf-fields .acf-label label {
  font-size: 1.0rem;
  line-height: 1.5rem;
}
.mypage-contents__wrap .acf-input .description {
  font-size: 0.9rem;
  line-height: 1.35rem;
}
.mypage-contents__wrap .handling-field-flex .acf-bl, .mypage-contents__wrap .handling-field-flex .acf-hl {
  display: flex;
  align-item: center;
  justify-content: center;
}
.mypage-contents__wrap .acf-field-67c553b19c83f .acf-bl {
  display: flex;
  align-item: center;
  flex-wrap: wrap;
}
.mypage-contents__wrap .acf-field-67f3794d47107 .acf-bl, .mypage-contents__wrap .acf-field-6833e773dc318 .acf-bl, .mypage-contents__wrap .acf-field-68da2245cb9ff .acf-hl {
  display: flex;
  justify-content: center;
  align-item: center;
  flex-wrap: wrap;
}
.mypage-contents__wrap .acf-image-uploader {
  display: flex;
  justify-content: center;
  flex-flow: column;
}
.mypage-contents__wrap .acf-field-upload-image img {
  max-width: 100px !important;
  margin: 0 auto !important;
}
.mypage-contents__wrap .fea-submit-button {
  display: block;
  width: 90%;
  max-width: 300px;
  color: #FFF;
  font-size: 1.5rem;
  line-height: 2.25rem;
  background-color: #9f83cc;
  border-radius: 10px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 10px;
  transition: all 0.3s ease-in-out;
}
.member-status__caution {
  line-height: 1.5rem;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .mypage-contents__wrap .fea-submit-button:hover {
    transform: scale(1.05);
  }
}

.member-status__caution {
  margin-top: 30px;
}

.mypage-contents {
  width: 100%;
  max-width: 1200px;
}
.news-heading {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 900px;
  text-align: left;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.news-heading img {
  width: 100%;
  max-width: 40px;
  margin-right: 15px;
}
.news-heading p {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
}
.mypage-contents .news-box__contents {
  position: relative;
  display: block;
  width: 100%;
  max-width: 900px;
  height: auto;
  background-color: #fafbfc;
  border: solid 1px #c8d1db;
  border-radius: 5px;
  padding: 20px 20px 25px;
  margin: 10px auto 0;
  box-sizing: border-box;
}
.mypage-contents .news-list__wrap {
  display: block;
  list-style: none;
}
.mypage-contents .news-list__wrap li {
  display: flex;
  text-align: left;
  margin-bottom: 15px;
}
.mypage-contents .date {
  font-size: 1.0rem;
  line-height: 1.5rem;
  margin-right: 20px;
}
.mypage-contents .news-list__wrap li a {
  color: #333;
  text-decoration: none;  
}
.mypage-contents .title {
  position: relative;
  font-size: 1.0rem;
  line-height: 1.5rem;
  word-break: break-all;
}
.mypage-contents .title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2.0px;
  background-color: #c8d1db;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform 0.5s ease-in-out;
}
.news-list__link {
  position: absolute;
  display: block;
  text-align: right;
  right: 20px;
  width: 120px;
  margin-bottom: 0;
}
.news-list__link a {
  position: relative;
  display: block;
  color: #335470;
  font-size: 0.875rem;
  text-decoration: none;
}
.news-list__link a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1.5px;
  background-color: #c8d1db;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform 0.5s ease-in-out;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .mypage-contents .title:hover::after, .news-list__link a:hover::after {
    transform: scaleX(1);
  }
}
@media(max-width: 960px) {
  .mypage-contents .news-box__contents {
    max-width: 100%;
    border-right: none;
    border-left: none;
    padding: 20px 0 25px;
  }
  .mypage-contents .news-list__wrap li {
    margin: 0 24px 18px;
  }
  .mypage-contents .date {
    font-size: 0.875rem;
  }
  .mypage-contents .news-list__wrap li a {
    font-size: 0.875rem;
  }
  .news-list__link {
    margin: 0 24px 0 0;
  }
  .news-list__link a {
    font-size: 0.75rem;
  }
}

.mypage-banner {
  max-width: 800px;
  margin: 20px auto 0;
}
.mypage-banner a {
  display: block;
  width: 100%;
}
/* 実際のバナー画像だけを拡縮（縦横比維持） */
.mypage-banner a > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
}
.mypage-banner > img[width="1"][height="1"] {
  width: 1px !important;
  height: 1px !important;
  display: none;
}
.mypage-banner p {
  margin: 0;
}
.pv-count {
  margin-top: 30px;
}
#pvChart, .chart-tabs, .pv-chart-controls {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.chart-tabs {
  margin-top: 10px;
  margin-bottom: 10px;
}
.range-btn, .tab-btn {
  padding: 0.5rem 1rem;
  margin-right: 0.5rem;
  border: 1px solid #9f83cc;
  background: #fff;
  color: #9f83cc;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}
.range-btn.active, .tab-btn.active {
  background: #9f83cc;
  color: #fff;
}
.range-btn.disabled, .range-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
.range-btn:focus-visible, .tab-btn:focus-visible {
  outline: 3px solid rgba(29,112,184,0.4);
  outline-offset: 2px;
}
@media (min-width: 961px) {
  .range-btn:hover, .tab-btn:hover {
    background: #9f83cc;
    color: #fff;
  }
}




/* ニュース一覧(マイページ) */
.mypage__archive-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 900px;
  text-align: left;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.mypage__news-section img {
  width: 100%;
  max-width: 40px;
  margin-right: 15px;
}
.mypage__news-section p {
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
}
.mypage__news-section .lower-heading {
  width: 100%;
  max-width: 300px;
  margin: 50px auto 0;
}
.mypage__news-section .animated {
  display: flex;
  flex-flow: column;
  list-style: none;
  max-width: 800px;
  margin: 30px auto 0;
}
.mypage__news-section .animated li {
  display: flex;
  text-align: left;
  border-top: solid 2px #d5d5d5;
  padding: 10px 20px;
}
.mypage__news-section .animated li:last-child {
  border-bottom: solid 2px #d5d5d5;
}
.mypage__news-section .animated .date {
  font-size: 1.0rem;
  line-height: 1.5rem;
  margin-right: 20px;
}
.mypage__news-section .animated li a {
  color: #333;
  text-decoration: none;
}
.mypage__news-section .title {
  font-size: 1.0rem;
  line-height: 1.5rem;
  word-break: break-all;
}
.mypage__news-section .pagenation {
  margin-top: 50px;
}
.mypage__news-section .nav-links {
  display: flex;
  justify-content: center;
  list-style: none;
}
.mypage__news-section .nav-links a {
  margin-right: 20px;
  color: #333;
  text-decoration: none;
}
.mypage__news-section .nav-links .next {
  margin-right: 0;
}
.mypage__news-section .nav-links span {
  color: #989898;
  margin-right: 20px;
}
@media(max-width: 960px) {
  .mypage__news-section .lower-heading {
    width: 100%;
    max-width: 150px;
    margin-top: 30px;
  }
  .mypage__news-section .animated {
    width: calc(100%-48px);
    margin: 20px auto 0;
  }
  .mypage__news-section .pagenation {
    margin-top: 30px;
  }
  .mypage__news-section .nav-links {
    flex-wrap: wrap;
  }
  .mypage__news-section .nav-links a {
    line-height: 1.5rem;
    margin-right: 15px;
  }
  .mypage__news-section .nav-links span {
    line-height: 1.5rem;
    margin-right: 15px;
  }
}

.mypage-contents__wrap .single__news-heading {
  background-color: initial;
  border: initial;
  padding: initial;
  margin: 0 auto 30px;
}
.mypage-contents__wrap .mypage-contents .post-animated p {
  text-align: left;
}

/* mypageログインフォーム */
.login-form__wrap {
  width: 98%;
  max-width: 500px;
  margin: 50px auto 0;
}
.login-form__wrap h1 {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  color: #333;
}
.login-form__wrap p {
  margin-top: 20px;
}
.login-username label, .login-password label {
  display: block;
  width: 100%;
  max-width: 300px;
  text-align: left;
  margin: 0 auto;
}
.login-username input, .login-password input {
  display: block;
  width: 100%;
  max-width: 300px;
  height: 40px;
  border: solid 2px #e6e6e6;
  border-radius: 10px;
  padding: 0 10px;
  margin: 10px auto;
  box-sizing: border-box;
}

.login-submit .button-primary {
  display: block;
  width: 100%;
  max-width: 200px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #FFF;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 0 auto;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .login-submit .button-primary:hover {
    transform: scale(1.03);
  }
}
.login-form__logo {
  width: 98%;
  max-width: 205px;
  margin: 30px auto 0;
  padding: 0 5px 0 0;
  box-sizing: border-box;
}
.login-form__logo img {
  width: 100%;
  max-width: 200px;
  object-fit: cover;
}
.login-form__error {
  color: #FF0000;
  line-height: 1.5rem;
  font-weight: 600;
  margin: 20px auto;
}

/*　会員登録ページ　*/
.register-form__wrap {
  width: 98%;
  max-width: 800px;
  margin: 50px auto 0;
}
.register-form__heading {
  display: flex;
  justify-content: center;
  align-items: center;
}
.register-form__heading img {
  width: 100%;
  max-width: 30px;
  margin-right: 20px;
}
.register-form__heading h1 {
  font-size: 2.0rem;
  line-height: 3.0rem;
  font-weight: 600;
  color: #333;
}
.register-flow__image {
  width: 98vw;
  max-width: 400px;
  margin: 30px auto 20px;
  box-sizing: border-box;
}
.flow-1 {
  padding-right: 25px; 
}
.flow-3 {
  padding-left: 25px; 
}
.register-form__wrap h2 {
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 600;
  color: #9f83cc;
}
.register-form__wrap .register-info, .register-form__wrap .register-button {
  margin-top: 20px;
}
.register-info label {
  display: block;
  width: 100%;
  max-width: 300px;
  text-align: left;
  margin: 0 auto;
}
.register-info__attention {
  display: block;
  width: 100%;
  max-width: 300px;
  font-size: 0.75rem;
  line-height: 1.0rem;
  color: #666;
  text-align: left;
  margin: 5px auto 0;
}
.register-info__box {
  display: block;
  width: 100%;
  max-width: 300px;
  height: 40px;
  border: solid 2px #e6e6e6;
  border-radius: 10px;
  padding: 0 10px;
  margin: 10px auto;
  box-sizing: border-box;
}
.register-check {
  margin: 20px auto 0;
}
.register-check label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.register-check input {
  display: block;
  max-width: 20px;
  max-height: 20px;
  margin-right: 10px;
}
.register-info .register-submit {
  display: block;
  width: 100%;
  max-width: 280px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #FFF;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 20px auto 0;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .register-submit:hover {
    transform: scale(1.03);
  }
}
@media(max-width: 960px) {
  .register-flow__image {
    width: 70vw;
  }
}
@media(max-width: 450px) {
  .flow-1 {
    padding-right: 0; 
  }
  .flow-3 {
    padding-left: 0; 
  }
  .register-flow__image {
    max-width: 70vw;
  }
}

.register-content__wrap {
  margin-top: 20px;
}
.register-form__logo {
  width: 98%;
  max-width: 260px;
  margin: 30px auto 0;
  padding: 0 10px 0 0;
  box-sizing: border-box;
}
.register-form__logo img {
  width: 100%;
  max-width: 260px;
  object-fit: cover;
}
.register-description {
  font-size: 1.0rem;
  line-height: 1.5rem;
}
.register-emphasis {
  line-height: 1.75rem;
  font-weight: 600;
}
.payment-description, .resister-complete__description {
  display: block;
  margin: 30px auto;
}
.payment-button__wrap {
  display: block;
  margin: 30px auto;
}
.payment-button__wrap br {
  display: none;
}


/* 利用料金に関するご説明 */
.register-description__wrap h1 {
  font-size: 2.0rem;
  line-height: 3.0rem;
  font-weight: 600;
  color: #333;
}
.register-description__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 270px;
  border-bottom: solid 2px #9f83cc;
  padding: 0 10px;
  margin: 30px auto 0;
  box-sizing: border-box;
}
.price-description__wrap .register-description__heading {
  max-width: 180px;
}
.register-description__heading img {
  max-width: 50px;
  max-height: 35px;
  margin-right: 10px;
}
.price-description__wrap  img {
  max-width: 30px;
  margin-right: 10px;
}
.campaign-description__wrap img {
  max-width: 35px;
}
.register-description__heading h2, .register-form__wrap .register-flow2__heading {
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 600;
  color: #9f83cc;
}
.price-description__wrap h2 {
  margin-right: 5px;
}

.price-description {
  margin-top: 20px;
}
.price-line {
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 510px;
  border-top: solid 1px #333;
  border-left: solid 1px #333;
  border-right: solid 1px #333;
  margin: 0 auto;
}
.price-line:last-of-type {
  border-bottom: solid 1px #333;
}
.price-item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 150px;
  line-height: 1.5rem;
  font-weight: 600;
  background-color: #f1f1f1;
  padding: 10px 20px;
  box-sizing: border-box;
  border-right: solid 1px #333;
}
.price-content {
  width: 100%;
  max-width: 360px;
  line-height: 1.5rem;
  text-align: left;
  padding: 10px 20px;
  box-sizing: border-box;
}
.price-content__attention {
  font-size: 0.75rem;
  line-height: 1.125rem;
}

.campaign-description {
  margin: 20px auto;
}
.campaign-line {
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 500px;
  border-top: solid 1px #333;
  border-left: solid 1px #333;
  border-right: solid 1px #333;
  margin: 0 auto;
}
.campaign-line:last-of-type {
  border-bottom: solid 1px #333;
}
.campaign-line__top {
  font-weight: 600;
  background-color: #DFDFDF;
}
.campaign-item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 300px;
  line-height: 1.5rem;
  font-weight: 600;
  background-color: #f1f1f1;
  padding: 10px 20px;
  box-sizing: border-box;
  border-right: solid 1px #333;
}
.campaign-line__top .campaign-item {
  background-color: #DFDFDF;
}
.campaign-content {
  width: 100%;
  max-width: 200px;
  line-height: 1.5rem;
  padding: 10px 20px;
  box-sizing: border-box;
}
.price-attention, .campaign-attention {
  max-width: 600px;
  font-size: 0.875rem;
  line-height: 1.3125rem;
  text-align: left;
  margin: 10px auto 0;
}

/*会員ランク説明*/
.rank-differences__description {
  max-width: 370px;
}
.rank-differences__description img {
  max-width: 30px;
}
.plan-compare__wrap{
  margin-top: 24px;
}
.plan-compare__lead{
  line-height: 1.5rem;
  margin: 10px 0 12px;
}
.plan-compare__status{
  margin: 0 0 12px;
}
.plan-compare__status strong.is-paid{ 
  font-weight: 600;
}
.plan-compare__status strong.is-free{
  font-weight: 600;
}
.plan-compare__table{
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
  box-sizing: border-box
}
.plan-compare__row{
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
}
.plan-compare__cell{
  line-height: 1.5rem;
  background-color: #fff;
  padding: 12px 14px;
  border-top: 1px solid #e5e5e5;
  border-right: 1px solid #e5e5e5;
  box-sizing: border-box;
}
.plan-compare__row .plan-compare__cell:last-child{
  border-right: none;
}
.plan-compare__head .plan-compare__cell{
  border-top: none;
  font-weight: 600;
  background-color: #DFDFDF;
}
.plan-compare__cell--feature{
  font-weight: 700;
}
.plan-compare__note{
  margin-top: 10px;
  font-size: 0.9em;
  line-height: 1.5rem;
  color: #666;
}
@media (max-width: 500px) {
  .plan-compare__row{
    display: block;
  }
  .plan-compare__head{
    display: none;
  }
  .plan-compare__cell--feature{
    background-color: #DFDFDF;
    font-weight: 600;
    border-top: none;
  }
  .plan-compare__row .plan-compare__cell:not(.plan-compare__cell--feature){
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }
  .plan-compare__row .plan-compare__cell:not(.plan-compare__cell--feature)::before{
    content: attr(data-label);
    font-weight: 600;
    min-width: 5.5em; /* 「有料会員」「無料会員」が揃う幅 */
    flex: 0 0 auto;
  }
  .plan-compare__cell{
    border-right: none;
  }
}

.member-status.more-button {
  text-decoration: none;
  margin-right: auto;
  margin-left: auto;
}

.register-payment__heading {
  margin-top: 20px;
}

/* 登録Q&A */
.question {
  margin-top: 20px;
}
.question-contents__wrap {
  width: 800px;
  max-width: 90vw;
  margin: 0 auto;
}
.question-contents__wrap summary, .answer-content {
  display: flex;
  text-align: left;
}
.question-contents__wrap summary {
  align-items: center;
  max-height: 40px;
  background-color: #f1f1f1;
  cursor: pointer;
}
/* デフォルトの三角形アイコン消去 */
.question-contents__wrap summary::marker  {
  display: none;
}
.q-icon {
  max-height: 40px;
  padding: 8px 0 2px 20px;
  margin-right: 20px;
}
.answer {
  overflow: hidden;
}
.answer-content {
  border-right: solid 4px #f1f1f1;
  border-left: solid 4px #f1f1f1;
  border-bottom: solid 4px #f1f1f1;
  padding: 10px 15px;
  box-sizing: border-box;
}
.a-icon {
  margin-right: 20px;
}
.q-icon img {
  height: 24px;
  max-width: 30vw;
  object-fit: contain;
}
.a-icon img {
  height: 20px;
  max-width: 30vw;
  object-fit: contain; 
}
.question-section summary p {
  font-size: 1.0rem;
  line-height: 1.3rem;
  padding: 10px 0;
  margin-right: 5px;
  box-sizing: border-box;
}
.question-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.25rem;
  background-color: #9f83cc;
  margin-left: auto;
}
.question-button:before {
  position: absolute;
  content: "";
  width: 18px;
  height: 2px;
  background-color: #FFF;
  transition: all 0.2s;
}
.question-button:after {
  position: absolute;
  content: "";
  width: 2px;
  height: 18px;
  background-color: #FFF;
  transition: all 0.2s;
}
.question[open] summary .question-button:after {
  transform: rotate(90deg);
}
.answer-content p {
  font-size: 1.0rem;
  line-height: 1.5rem;
  margin-right: 5px;
}
@media(max-width: 500px) {
  .question-contents__wrap summary {
    align-items: stretch;
    max-height: initial;
    min-height: 40px;
  }
  .q-icon {
    max-height: initial;
    padding: 8px 0 2px 10px;
    margin-right: 10px;
  }
  .question-contents__wrap summary p {
    padding: 8px 0 10px;
  }
  .question-button {
    min-width: 40px;
    height: auto;
  }
  .answer-content {
    padding: 10px 10px 10px 5px;
  }
  .a-icon {
    margin-right: 10px;
  }
}

.fee-description {
  display: block;
  max-width: 800px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #333;
  margin: 30px auto 0;
}
.read-check {
  margin: 20px auto 0;
}
.read-check label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.read-check input {
  margin-right: 10px;
}
.register-content__wrap .next-button, .register-content__wrap .back-button {
  display: block;
  width: 100%;
  max-width: 280px;
  font-size: 1.0rem;
  line-height: 1.5rem;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 20px auto 0;
  box-sizing: border-box;
  transition: transform 0.3s ease-in-out;
  cursor: pointer;
}
.register-content__wrap .next-button {
  background-color: #9f83cc;
  color: #FFF;
}
.register-content__wrap .back-button {
  background-color: #f0f0f0;
  color: #333;
  border: solid 1px #333;
}


/* 登録内容確認画面 */
.lm-confirm {
  width: 100%;
  max-width: 410px;
  margin: 20px auto 10px;
}
.lm-confirm tr {
  display: flex;
  align-items: stretch;
  border-top: solid 1px #333;
  border-left: solid 1px #333;
  border-right: solid 1px #333;
}
.lm-confirm tr:last-of-type {
  border-bottom: solid 1px #333;
}
.lm-confirm th {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 160px;
  line-height: 1.5rem;
  font-weight: 600;
  background-color: #f1f1f1;
  padding: 10px 10px;
  box-sizing: border-box;
  border-right: solid 1px #333;
}
.lm-confirm td {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 250px;
  line-height: 1.125rem;
  text-align: center;
  padding: 10px 20px;
  box-sizing: border-box;
}
.half-campaign__price {
  flex-flow: column;
}
.campaign__caution-text {
  font-size: 0.75rem;
  line-height: 1.125rem;
}
/* 登録完了画面 */
.register-complete__description {
  line-height: 1.5rem;
  margin: 20px auto 0;
}

.error-attention {
  line-height: 1.5rem;
  margin: 20px auto;
}


/* PINコード・暗証番号入力ページ */
.pin-form__wrap {
  text-align: center;
}
.pin-form__wrap h1 {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 3.375rem;
  text-align: center;
  color: #9f83cc;
  margin: 80px auto 50px;
}
.pin-form__wrap .mypage-link {
  margin-top: 30px;
}
.pin-form__wrap .register-submit {
  display: block;
  width: 100%;
  max-width: 280px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #FFF;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 20px auto 0;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .pin-form__wrap .register-submit:hover {
    transform: scale(1.03);
  }
}

/* 会員情報の確認/変更 */
.information-list {
  width: 98%;
  max-width: 600px;
  margin: 30px auto 0;
  border: solid 2px #c8d1db;
  box-sizing: border-box;
}
.information-item {
  position: relative;
  display: flex;
  align-items: stretch;
}
.information-item:not(:last-child) {
  border-bottom: solid 2px #c8d1db;
}
.item-name {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 200px;
  min-width: 100px;
  line-height: 1.5rem;
  font-weight: 600;
  text-align: center;
  color: #333;
  background-color: #c8d1db;
  padding: 15px 10px;
  box-sizing: border-box;
}
.item-content__string {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30%;
  margin: 0 auto; 
  padding: 15px 10px;
  box-sizing: border-box;
}
.item-content__mail {
  width: 50%;
  font-size: 1.0rem;
  line-height: 1.5rem;
}
.item-content__button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  margin: 0 auto; 
  padding: 10px 10px;
  box-sizing: border-box;
}
.email-change__link {
  display: flex;
  align-items: center;
  margin-right: 10px;
  white-space: nowrap;
}
.password-change__link {
  position: absolute;
  top: 35%;
  right: 10px;
}
.lm-cancel-form {
  display: block;
  width: 100%;
  max-width: 200px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  line-height: 1.5rem;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 10px auto 0;
  box-sizing: border-box;
}
.lm-cancel-form:first-child {
  margin: 0 auto;
}
.lm-cancel-form button {
  color: #FFF;
}
.register__link {
  display: block;
  width: 100%;
  max-width: 200px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #FFF;
  text-decoration: none;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 0 auto;
  box-sizing: border-box;
}
@media(max-width: 960px) {
  .item-content__mail {
    font-size: 0.9rem;
    line-height: 1.35rem;
  }
}
@media(max-width: 500px) {
  .item-name {
    max-width: 100px;
  }
  .item-content__mail {
    font-size: 0.8rem;
    line-height: 1.2rem;
  }
}
@media(max-width: 360px) {
  .item-content__string {
    width: 50%;
  }
  .item-content__mail {
    overflow-wrap: anywhere;
  }
  .item-content__password {
    margin: initial; 
  }
}

/* パスワード変更 */
.mypage__change-form {
  margin-top: 20px;
}
.mypage__change-form label {
  display: block;
  width: 100%;
  max-width: 300px;
  text-align: left;
  margin: 0 auto;
}
.mypage__change-form input {
  display: block;
  width: 100%;
  max-width: 300px;
  height: 40px;
  border: solid 2px #e6e6e6;
  border-radius: 10px;
  padding: 0 10px;
  margin: 10px auto;
  box-sizing: border-box;
}
.change-pass__submit {
  display: block;
  width: 100%;
  max-width: 200px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #FFF;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 20px auto 0;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
  .change-pass__submit:hover {
    transform: scale(1.03);
  }
}


/* 登録ページ・説明ページ */
.register-button__description {
  line-height: 1.5rem;
  margin-top: 20px;
}
.description-page__button {
  margin-top: 20px;
}
.lm-subscribe-buttons {
  margin: 20px auto 0;
}
.item-content__button .lm-subscribe-buttons {
  margin-top: 0;
}
.lm-stripe-btn, .lm-paypal-btn {
  display: block;
  width: 100%;
  max-width: 300px;
  background-color: #9f83cc;
  font-size: 1.0rem;
  line-height: 1.5rem;
  color: #FFF;
  border: none;
  border-radius: 100px;
  padding: 5px 20px;
  margin: 0 auto;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out;
}
.payment-description__wrap {
  display: block;
  max-width: 400px;
  font-size: 0.75rem;
  line-height: 1.125rem;
  text-align: left;
  margin: 5px auto 0;
}
.register-description__wrap .payment-description__wrap {
  margin: 10px auto 0;
}
.register-content__wrap .lm-errors {
  list-style: none;
  color: #A13E3F;
}
/* PC版のみリンクへのホバー要素 */
@media(min-width: 961px) {
.lm-stripe-btn:hover, .lm-paypal-btn:hover {
    transform: scale(1.03);
  }
}

/* 支払い完了ページ */
.complete-page__wrap {
  max-width: 700px;
  margin: 50px auto;
}
.complete-page__wrap h1 {
  font-size: 2.0rem;
  font-weight: 600;
}
.complete-description {
  display: block;
  line-height: 1.5rem;
  margin: 30px auto;
}


/* 追尾バナー */
.lawyer-mypage__bottom {
  display: flex;
  justify-content: center;
  padding: 0 5px;
  box-sizing: border-box;
}
.bottom-content__right {
  z-index: 30;
  width: 100%;
}
.lawyer-mypage__bottom .bottom-content__right {
  max-width: 300px;
  margin: 50px auto 0 0;
}
.side-bar .bottom-content__right {
  position: sticky;
  top: 10px;
  max-width: 330px;
  margin: 10px auto 0;
}
.lawyer__tracking-banner {
  width: 300px;
  background-color: #e8e8e8;
  border-radius: 10px;
  padding: 8px;
  box-sizing: border-box;
}
.lawyer-mypage__bottom .lawyer__tracking-banner {
  position: sticky;
  top: 10px;
  width: 280px;
}
.slide__tracking-banner {
  transform: scale(0.95);
}
.tracking-banner__heading {
  line-height: 1.2rem;
  font-weight: 600;
}
.banner-image__box {
  max-width: 200px;
  max-height: 130px;
  margin: 2px auto 0;
}
.banner-image {
  max-width: 200px;
  max-height: 130px;
  object-fit: contain;
}
.lawyer__tracking-banner .tracking-banner__icon-area {
  justify-content: center;
  margin: initial;
}
.tracking-banner__icon-area {
  margin: 2px 0 0 0 !important;
}
.tracking-banner__icon-area .appeal-icon {
  margin: 0 2px !important;
}
.lawyer-mypage__bottom .tracking-banner__icon-area .appeal-icon img {
  margin-top: 2px;
}
.banner__contact-area {
  margin-top: 2px;
}
.banner__contact-area .button-area {
  flex-flow: column;
  margin-top: 2px;
}
.banner__contact-area .button-area a:first-child {
  margin-right: initial;
}
.banner__contact-area .button-area a:last-child {
  margin-top: 2px;
}
#trackingBannerSwiper .banner__contact-area {
  margin-top: 0;
}
#trackingBannerSwiper .banner__contact-area .button-area {
  transform: scale(0.9);
  margin-top: 0;
}
#trackingBannerSwiper .mypage-link {
  margin-top: 0;
  padding: 2px 10px;
}
#trackingBannerSwiper .mypage-link p {
    font-size: 1.0rem;
}
#trackingBannerSwiper .swiper-slide {
  display: flex;
  justify-content: center;
  transform: scale(0.7);
  opacity: 0.7;
  pointer-events: none;
  z-index: 1;
  transition: transform 0.4s cubic-bezier(.55,0,.1,1), box-shadow 0.4s;
}
#trackingBannerSwiper .swiper-slide-active {
  transform: scale(1.05);
  opacity: 1;
  pointer-events: initial;
  z-index: 2;
}
.side__support-area {
  font-size: 0.75rem;
  line-height: 1.125rem;
  text-align: left;
  color: #393939;
  margin-bottom: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.side__tel-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3px 0 5px;
}
.side__tel-button img {
  width: 30px;
  object-fit: contain;
  margin-right: 10px;
}
.side__tel-button .tel-number {
  color: #393939;
  font-size: 1.5rem;
  text-decoration: underline;
  white-space: nowrap;
}
.side-bar .notice-area, .side__notice-message {
  width: 180px;
  font-size: 0.75rem;
  line-height: 1.0rem;
  text-align: left;
  margin: 5px auto;
}
.side-bar .notice-area .side__support-area {
  text-align: center;
  margin: 5px auto 0;
}
.side-bar #trackingBannerSwiper .notice-area .mypage-link {
  padding: 10px 15px;
}
.tracking-banner__button {
  color: #9f83cc !important;
}
@media(max-width: 960px) {
  .lawyer-mypage__bottom .bottom-content__right, .side-bar .bottom-content__right {
    display: none;
  }
}

/* 下部固定バナー */
.floating-banner {
  position: fixed;
  width: 100%;
  bottom: 0px;
  background: rgba(255,255,255,0.9);
  border-top: solid 1px #9f83cc;
  padding: 8px 0 5px;
  transition: 0.5s;
  box-sizing: border-box;
  z-index: 100;
}
.banner-close {
  display: block;
  position: absolute;
  cursor:pointer;
  top: 0;
  left: 0;
  color: #898989;
  font-size: 1.5rem;
  font-weight: 600;
  padding: 0 5px 5px 10px;
  z-index: 150;
}
body.free-plan .banner-close {
  top: -6px;
}
.banner-hidden, .button__banner-hidden {
  visibility: hidden;
  opacity: 0;
}

.lawyer__floating-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: initial;
  border-radius: initial;
  box-sizing: border-box;
}
.floating-banner__lawyer-info {
  margin-right: 30px;
}
.floating-info__content {
  display: flex;
  justify-content: center;
  align-items: center;
}
.floating-banner__wrap .banner-image__box {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 150px;
  max-height: 100px;
  margin: initial;
  margin-right: 20px;
}
.floating-banner__wrap .banner-image__box a {
  max-width: 150px;
  max-height: 100px;
}
.floating-banner__wrap .banner-image {
  max-width: 150px;
  max-height: 100px;
  object-fit: contain;
  border: solid 2px #AFAFAF;
  box-sizing: border-box;
}
.floating-banner__heading-box {
  display: flex;
  justify-content: center;
}
.floating-banner__heading {
  font-weight: 600;
  white-space: nowrap;
}
.free-plan__heading-sp {
  display: none;
}
.lawyer-mypage__free-heading {
  display: block;
  position: absolute;
  top: -5px;
  left: 50px;
  font-size: 0.9rem;
  line-height: 1.35rem;
  font-weight: 600;
  color: #333;
}
@media(max-width: 960px) {
  .lawyer-mypage__free-heading {
    display: none;
  }
  .free-plan__heading-sp {
    display: block;
    position: absolute;
    top: 0;
    left: 10px;
    font-size: 0.8rem;
  }
}
@media(max-width: 720px) {
  .free-plan__heading-sp {
    position: initial;
    top: initial;
    left: initial;
    margin-bottom: 3px;
  }
}
.lawyer__floating-banner .floating-banner__icon-area {
  justify-content: center;
  margin: initial;
}
.floating-banner__icon-area {
  margin: 5px 0 0 0 !important;
}
.floating-banner__icon-area .appeal-icon {
  margin: 0 5px !important;;
}
.floating-banner__wrap .mypage-link {
  padding: 5px 10px;
  margin: 5px auto 0;
}
.lawyer__floating-banner .button-area {
  flex-flow: initial;
  transform: scale(1.1);
}
.lawyer__floating-banner .float-sp {
  display: none;
}
.lawyer__floating-banner .float-pc {
  display: flex;
  justify-content: center;
  align-items: center;
}
.lawyer__floating-banner .float-pc img {
  width: 40px;
  object-fit: contain;
  margin-right: 10px;
  padding-left: 10px;
}
.lawyer__floating-banner .float-pc .tel-number {
  color: #393939;
  font-size: 1.875rem;
  text-decoration: underline;
  white-space: nowrap;
  margin-right: 10px;
}
.lawyer__floating-banner .float__support-area {
  font-size: 0.75rem;
  line-height: 1.125rem;
  text-align: left;
  color: #393939;
  margin-bottom: 3px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lawyer__floating-banner .banner__contact-area {
  margin-top: initial;
}
.lawyer__floating-banner .banner__contact-area .button-area a:first-child, .solution-cases__floating-banner .banner__contact-area .button-area a:first-child {
  margin-right: 10px;
}
.lawyer__floating-banner .banner__contact-area .button-area a:last-child, .solution-cases__floating-banner .banner__contact-area .button-area a:last-child {
  margin-top: initial;
}

.banner-hidden {
  visibility: hidden;
  opacity: 0;
}
.mypage-link.sp-banner, .float-small__mypage-link, .lawyer__floating-banner .sp__tel-button {
  display: none;
}
.floating-banner__wrap .swiper {
  overflow: visible;
}
.floating-banner__wrap .swiper-wrapper {
  overflow: visible;
}
#floatingBannerSwiper .swiper-slide {
  transition: transform 0.4s cubic-bezier(.55,0,.1,1), box-shadow 0.4s;
  transform: scale(0.5);
  opacity: 0.7;
  pointer-events: none;
  z-index: 1;
}
#floatingBannerSwiper .swiper-slide-active {
  transform: scale(1);
  opacity: 1;
  pointer-events: initial;
  z-index: 2;
}

.floating-banner__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px !important;
  height: 48px !important;
  background: #9f83cc;
  color: #FFF;
  border: solid 2px #FFF;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(159,131,204,0.12);
  opacity: 1;
  transition: background 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.floating-banner__button::after {
  color: #fff !important;
  font-size: 1.5rem !important;
  font-weight: bold;
}
@media(min-width: 961px) {
  .floating-banner__button:hover {
    background: #C5ABDD;
    box-shadow: 0 4px 16px rgba(159,131,204,0.16);
  }  
}
@media(max-width: 1100px) {
  #floatingBannerSwiper .swiper-slide {
    opacity: 0.3;
  }
  #floatingBannerSwiper .swiper-slide-active {
    opacity: 1;
  }
}
@media(max-width: 960px) {
  .floating-banner {
    padding: 8px 0 5px;
  }
  .banner-close {
    top: 0;
    right: 0;
    left: initial;
    font-size: 1.0rem;
    padding: 5px;
  }
  .lawyar-mypage__floating-banner .banner-close {
    top: 0;
  }
  .floating-banner__lawyer-info {
    margin-right: 0;
  }
  .lawyer__floating-banner .button-area {
    transform: scale(1.0);
  }
  .lawyer__floating-banner .float-pc {
    display: none;
  }
  .lawyer__floating-banner .float-sp {
    display: flex;
  }
  .mypage-link.sp-banner {
    display: block;
  }
  .lawyer__floating-banner .float__support-area {
    -webkit-line-clamp: 2;
  }
  .lawyer__floating-banner .mypage-link {
    margin: 5px auto 0;
  }
}
@media(max-width: 700px) {
  .floating-banner__lawyer-info {
    margin-right: 10px;
  }
  .floating-banner__wrap .banner-image__box {
    margin-right: 10px;
  }
  .floating-banner__button {
    width: 40px !important;
    height: 40px !important;
  }
}
@media(max-width: 600px) {
  .floating-banner__heading {
    margin-bottom: 1px;
  }
  .floating-banner__lawyer-info {
    margin-right: 0;
  }
  .floating-banner__wrap .banner-image__box {
    margin-right: 20px;
  }
  .floating-banner__description {
    display: none;
  }
  .mypage-link.sp-banner {
    display: none;
  }
  .lawyer__floating-banner .float__support-area {
    -webkit-line-clamp: 1;
  }
  .float-small__mypage-link {
    display: block;
    font-size: 0.9rem;
    margin-top: 3px;
  }
  .floating-banner__wrap .banner-image__box {
    max-width: 120px;
  }
  .floating-banner__wrap .banner-image__box a {
    max-width: 120px;
  }
  .floating-banner__wrap .banner-image {
    max-width: 120px;
  }
  .lawyer__floating-banner .banner__contact-area .tel-description {
    display: none;
  }
  .lawyer__floating-banner .tel-button, .lawyer__floating-banner .mail-button {
    width: 150px;
    height: 50px;
    border-radius: 5px;
  }
  .lawyer__floating-banner .tel-button img {
    width: 30px;
    height: 30px;
    margin-right: 0;
    margin-left: 10px;
  }
  .lawyer__floating-banner .mail-button img {
    width: 32px;
    margin-right: 10px;
  }
  .lawyer__floating-banner .tel-number, .lawyer__floating-banner .mail-button p {
    line-height: 1.2rem;
  }
}
@media(max-width: 500px) {
  .floating-banner {
    padding: 5px 0 1px;
  }
  .floating-banner__heading, .float-small__mypage-link {
    font-size: 0.75rem;
  }
  .floating-info__content {
    margin-top: 0;
  }
  .floating-banner__wrap .banner-image__box {
    max-width: 150px;
    max-height: 80px;
    margin-right: 10px;
  }
  .floating-banner__wrap .banner-image__box a {
    max-width: 150px;
    max-height: 80px;
  }
  .floating-banner__wrap .banner-image {
    max-width: 150px;
    max-height: 80px;
  }
  .banner__contact-area .button-area {
    flex-flow: column;
  }
  .lawyer__floating-banner .tel-button, .lawyer__floating-banner .mail-button {
    width: 120px;
    height: 35px;
    border-radius: 5px;
  }
  .lawyer__floating-banner .banner__contact-area .button-area a:first-child {
    margin-right: 0;
  }
  .lawyer__floating-banner .banner__contact-area .button-area a:last-child {
    margin-top: 5px;
  }
  .lawyer__floating-banner .tel-button img {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    margin-left: 0;
  }
  .lawyer__floating-banner .mail-button img {
    width: 22px;
    margin-right: 8px;
  }
  .lawyer__floating-banner .tel-number {
    display: none;
  }
  .lawyer__floating-banner .sp__tel-button {
    display: block;
    font-weight: 600;
  }
  .lawyer__floating-banner .sp__tel-button, .lawyer__floating-banner .mail-button p {
    font-size: 0.75rem;
    line-height: 1.0rem;
  }
  .lawyer__floating-banner .mail-button p {
    margin-right: 0;
  }
  .lawyer__floating-banner .float__support-area {
    display: none;
  }
  .floating-banner__button {
    width: 30px !important;
    height: 30px !important;
  }
  .float-small__mypage-link {
    margin-top: 2px;
  }
}

.floating-banner .notice-area .float__notice-message {
  font-size: 0.75rem;
  line-height: 1.0rem;
  text-align: left;
  margin-top: 5px;
}
.floating-banner .notice-area .mypage-link {
  padding: 10px 15px;
  margin: 5px auto 0;
}
.floating-banner .notice-area .mypage-link.sp-banner {
  display: block;
}
@media(max-width: 960px) {
  .floating-banner .notice-area .float__support-area {
    margin-top: 5px;
  }
}

.lawyar-mypage__floating-banner, .solution-cases__floating-banner {
  padding: 8px 0;
}
.lawyar-mypage__floating-banner .floating-banner__wrap, .solution-cases__floating-banner .floating-banner__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.lawyar-mypage__floating-banner .banner-close, .solution-cases__floating-banner .banner-close {
  top: 10px;
}
.lawyar-mypage__floating-banner .floating-banner__heading, .solution-cases__floating-banner .floating-banner__heading {
  font-size: 1.2rem;
  line-height: 1.7rem;
  font-weight: 600;
  margin-right: 30px;
  white-space: nowrap;
}
.lawyar-mypage__floating-banner .floating-banner__heading.lowyer-mypage__sp-banner, .lawyar-mypage__floating-banner .floating-banner__heading.lowyer-contact__sp-banner, .solution-cases__floating-banner .floating-banner__heading.lowyer-mypage__sp-banner {
  display: none;
}
@media(max-width: 960px) {
  .pagetop.pagetop__banner-shown-lawyer {
    bottom: 85px;
  }
  body.free-plan .pagetop.pagetop__banner-shown-lawyer {
    bottom: 150px;
  }
  .lawyar-mypage__floating-banner .floating-banner__heading.lowyer-contact__sp-banner, .solution-cases__floating-banner .floating-banner__heading.lowyer-contact__sp-banner {
    display: block;
    font-size: 0.8rem;
    line-height: 1.0rem;
  }
}
@media(max-width: 750px) {
  .lawyar-mypage__floating-banner .floating-banner__heading.lowyer-mypage__pc-banner, .solution-cases__floating-banner .floating-banner__heading.lowyer-mypage__pc-banner {
    font-size: 1.0rem;
    line-height: 1.5rem;
    margin-right: 10px;
    margin-bottom: 0;
  }
}
@media(max-width: 700px) {
  body.free-plan .pagetop.pagetop__banner-shown-lawyer {
    bottom: 165px;
  }
}
@media (max-width: 500px) {
  .lawyar-mypage__floating-banner, .solution-cases__floating-banner {
    padding: 2px 0;
  }
  .lawyar-mypage__floating-banner .floating-banner__wrap, .solution-cases__floating-banner .floating-banner__wrap {
    flex-flow: column;
  }
  .lawyar-mypage__floating-banner .banner-close, .solution-cases__floating-banner .banner-close {
    top: 0;
  }
  .lawyar-mypage__floating-banner .floating-banner__heading, .solution-cases__floating-banner .floating-banner__heading {
    margin-right: 0;
  }
  .lawyar-mypage__floating-banner .floating-banner__heading.lowyer-mypage__pc-banner, .solution-cases__floating-banner .floating-banner__heading.lowyer-mypage__pc-banner {
    display: none;
  }
  .lawyar-mypage__floating-banner .floating-banner__heading.lowyer-mypage__sp-banner, .solution-cases__floating-banner .floating-banner__heading.lowyer-mypage__sp-banner {
    display: block;
    font-size: 0.8rem;
    line-height: 1.0rem;
  }
  .lawyar-mypage__floating-banner .banner__contact-area .button-area, .solution-cases__floating-banner .banner__contact-area .button-area {
    flex-flow: initial;
  }
  .lawyar-mypage__floating-banner .lawyer__floating-banner .banner__contact-area .button-area a:first-child {
    margin-right: 10px;
  }
  .lawyar-mypage__floating-banner .lawyer__floating-banner .banner__contact-area .button-area a:last-child {
    margin-top: 0;
  }
  .pagetop.pagetop__banner-shown-lawyer {
    bottom: 65px;
    right: 15px;
  }
  body.free-plan .pagetop.pagetop__banner-shown-lawyer {
    bottom: 130px;
    right: 15px;
  }
}




/* 並び順について */
.search-header.pc, .count-attention {
  display: block;
}
.sort-info-tooltip.sp {
  display: none;
}
.search-header__right {
  position: absolute;
  top: 10px;
  right: 0;
  padding: 16px;
  z-index: 20;
}
.consultation-section .search-header__right {
  top: 0;
  padding: 5px;
}
.lawyer-search__contents-wrap .search-header__right, .search-results .search-header__right {
  position: relative;
  max-width: 140px;
  padding: 0;
  margin: 0 0 0 auto;
}
.side-bar .search-header__right {
  position: absolute;
  top: 10px;
  right: 0;
  padding: 16px;
}
.count-attention__contents {
  text-align: left;
  margin-top: 5px;
}
.sort-info-tooltip {
  display: inline-block;
  position: relative;
}
.tooltip-line {
  cursor: pointer;
}
.count-attention .tooltip-line {
  font-size: 0.85rem;
  line-height: 1.275rem;
}
.sort-info-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: #9f83cc;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  font-size: 1.0rem;
  line-height: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.count-attention .sort-info-icon {
  width: 18px;
  height: 18px;
  font-size: 0.85rem;
  line-height: 1.275rem;
}
.sort-info-content {
  display: none;
  position: absolute;
  top: 28px;
  right: 0;
  min-width: 270px;
  background: #fff;
  color: #222;
  font-size: 0.85rem;
  line-height: 1.275rem;
  text-align: left;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.12); 
  white-space: normal;
  z-index: 100;
}
.count-attention .sort-info-content {
  bottom: 30px;
  left: 5px;
  right: initial;
  top: initial;
}
.sort-info-tooltip:hover .sort-info-content {
  display: block;
}
@media(max-width: 960px) {
  .search-header.pc, .search-header__right.pc, .count-attention.pc {
    display: none;
  }
  .sort-info-tooltip.sp {
    display: block;
  }
  .sort-info-tooltip.sp {
    position: absolute;
    right: 0;
    top: 30px;
    max-width: 140px;
  }
  .lawyer-search__contents-wrap .sort-info-tooltip.sp, .search-results .sort-info-tooltip.sp {
    position: initial;
    right: initial;
    top: initial;
    margin: 3px 5px 0 auto;
  }
  .sort-info-tooltip.sp.count-attention__sp {
    position: initial;
    margin-top: 5px;
    text-align: left;
  }
  .consultation-section .sort-info-tooltip.sp {
    right: 5px;
    top: 0;
  }
  .sort-info-tooltip.sp .sort-info-content {
    display: none;
  }
  .sort-info-tooltip.sp.active .sort-info-content {
    display: block;
  }
  .count-attention__sp .sort-info-content {
    bottom: 10;
    left: 5px;
    right: initial;
    top: initial;
  }
}
@media(max-width: 400px) {
  .tooltip-line {
    font-size: 0.8rem;
    line-height: 1.2rem;
  }
  .sort-info-icon {
    width: 17px;
    height: 17px;
    font-size: 0.8rem;
    line-height: 1.2rem;
  }
}
@media(max-width: 310px) {
  .sort-info-content {
    min-width: 200px;
  }
}

.single__lawyer-list .lawyer-list__wrap {
  padding-top: 10px;
  box-sizing: border-box;
}
.single__lawyer-list .search-header__right {
  top: 0;
  padding: 5px;
}
@media(max-width: 960px) {
  .single__lawyer-list .sort-info-tooltip.sp {
    right: 5px;
    top: 0;
  }
}

.floating-banner .search-header__right {
  top: initial;
  bottom: 0;
  right: initial;
  left: 5px;
  padding: 0 0 0 5px;
}
.floating-banner .tooltip-line {
  font-size: 0.8rem;
  line-height: 1.2rem;
}
.floating-banner .sort-info-icon {
  width: 17px;
  height: 17px;
  font-size: 0.8rem;
  line-height: 1.2rem;
}
.floating-banner .sort-info-content {
  top: initial;
  bottom: 28px;
  left: 20px;
}
@media(max-width: 960px) {
  .floating-banner .sort-info-tooltip.sp {
    position: absolute;
    top: initial;
    bottom: 0;
    right: initial;
    left: 1px;
    max-width: 200px;
    z-index: 100;
  }
}
@media(max-width: 700px) {
  .floating-banner .sort-info-tooltip.sp {
    left: 5px;
  }
  .floating-banner .float-tooltip__text {
    display: none;
  }
}
@media(max-width: 500px) {
  .floating-banner .sort-info-tooltip.sp {
    left: 1px;
  }
  .floating-banner .float-tooltip__text {
    display: inline-block;
  }
}
@media(max-width: 420px) {
  .floating-banner .sort-info-tooltip.sp {
    left: 5px;
  }
  .floating-banner .float-tooltip__text {
    display: none;
  }
}

.side-bar__area .search-header__right {
  top: initial;
  bottom: -20px;
  padding: 0;
}
.side-bar__area .tooltip-line {
  font-size: 0.8rem;
  line-height: 1.2rem;
}
.side-bar__area .sort-info-icon {
  width: 17px;
  height: 17px;
  font-size: 0.8rem;
  line-height: 1.2rem;
}


/* アフィリエイトリンク表示 */
.affiliate-link__wrap {
  max-width: 700px;
  margin: 50px auto;
}
.affiliate-heading {
  position: relative;
  display: block;
}
.affiliate-heading {
  max-width: 700px;
  background-color: #9f83cc;
  border-radius: 10px 10px 0 0;
  padding: 10px 15px;
  box-sizing: border-box;
}
.affiliate-box__image {
  position: absolute;
  top: -20px;
  left: 15px;
  max-width: 80px;
}
.affiliate-heading.change-block .affiliate-box__image {
  left: 30px;
  max-width: 55px;
}
.affiliate-heading p {
  display: block;
  width: initial;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 600;
  text-align: left;
  color: #fff;
  margin: 0 0 0 100px;
}
.affiliate-contents__box {
  position: relative;
  width: 100%;
  max-width: 700px;
  background-color: #fff;
  border: solid 2px #c8d1db;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  z-index: 100;
}
.affiliate-block__heading {
  background-color: #f3f6f8;
}
.affiliate-block th, .affiliate-block td {
  vertical-align: middle;
  text-align: center;
  border-right:  solid 1px #c8d1db;
  padding: 10px 5px;
  box-sizing: border-box;
}
.affiliate-block th, .affiliate-block:not(:last-child) td {
  border-bottom: solid 1px #c8d1db;
}
.affiliate-banner {
  max-width: 100px;
  object-fit: contain;
}
.affiliate__site-name {
  font-size: 0.8rem;
  line-height: 1.0rem;
}
.affiliate-star {
  color: #d1b41b;
}
.affiliate-recommendation {
  width: 150px;
}
.affiliate-fee {
  width: 150px;
}
.affiliate-link {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media(max-width: 600px) {
  .affiliate-recommendation {
    width: 120px;
  }
  .affiliate-fee {
    width: 120px;
  }
  .affiliate-heading.change-block .affiliate-box__image {
    left: 20px;
  }
}
@media(max-width: 500px) {
  .affiliate-heading {
    padding: 5px 5px;
  }
  .affiliate-block__heading th {
    font-size: 0.8rem;
    line-height: 1.0rem;
  }
  .affiliate-box__image {
    top: -10px;
    left: 5px;
    max-width: 50px;
  }
  .affiliate-heading.change-block .affiliate-box__image {
    max-width: 40px;
  }
  .affiliate-heading p {
    margin: 0 0 0 70px;
  }
  .affiliate-block th, .affiliate-block td {
    padding: 5px 1px;
  }
  .affiliate-banner {
    max-width: 50px;
  }
  .affiliate-banner-area {
    max-width: 120px;
  }
  .affiliate-recommendation {
    width: 80px;
  }
  .affiliate-fee {
    width: 80px;
  }
  .affiliate-text-link {
    width: 80px;
  }
  .affiliate-star, .affiliate-price, .affiliate__text-link {
    font-size: 0.8rem;
    line-height: 1.0rem;
  }
}
@media(max-width: 430px) {
  .affiliate-banner-area {
    max-width: 120px;
  }
  .affiliate-recommendation {
    width: 70px;
  }
  .affiliate-fee {
    width: 70px;
  }
  .affiliate-text-link {
    width: 50px;
  }
}

.affiliate-attention__wrap {
  width: 99%;
  max-width: 700px;
  position: relative;
  margin: 5px auto 0;
}
.affiliate-attention {
  max-width: 300px;
  font-size: 0.8rem;
  text-align: left;
  margin: 0 auto 0 0;
  cursor: pointer;
}
.affiliate-info__icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background: #e8e8e8;
  color: #333;
  border-radius: 50%;
  text-align: center;
  font-size: 0.8rem;
  line-height: 1.2rem;
  font-weight: 600;
  transition: background 0.2s;
}
.affiliate-info__content {
  display: none;
  position: absolute;
  top: 23px;
  left: 0;
  min-width: 270px;
  background: #fff;
  color: #222;
  font-size: 0.85rem;
  line-height: 1.275rem;
  text-align: left;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.12); 
  white-space: normal;
  z-index: 100;
}
.affiliate-attention__wrap:hover .affiliate-info__content {
  display: block;
}
.affiliate-attention__wrap.sp {
  display: none;
}
@media(max-width: 960px) {
  .affiliate-attention__wrap.pc {
    display: none;
  }
  .affiliate-attention__wrap.sp {
    display: block;
    position: relative;
  }
  .affiliate-attention__wrap.sp .affiliate-info__content {
    display: none;
  }
  .affiliate-attention__wrap.sp.active .affiliate-info__content {
    display: block;
  }
}
@media(max-width: 310px) {
  .affiliate-info__content {
    min-width: 200px;
  }
}


/* 記事ページ都道府県リンク */
.single__prefectures-link {
  max-width: 700px;
  margin: 40px auto;
}
.prefectures-link__heading {
  position: relative;
  display: block;
  max-width: 700px;
  background-color: #9f83cc;
  border-radius: 10px 10px 0 0;
  padding: 10px 15px 10px 230px;
  box-sizing: border-box;
  background-image: url("img/common/都道府県リンク背景.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.prefectures-heading__bubble {
  position: relative;
  font-size: 0.8rem;
  line-height: 1.2rem;
  font-weight: 600;
  text-align: center;
  color: #333;
  background-color: #FFFFFF;
  padding: 3px 5px;
  border-radius: 50px;
  box-sizing: border-box;
}
.prefectures-heading__bubble:after {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 20%;
  transform: translateX(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: #FFF transparent transparent transparent;
  z-index: 0;
}
.bubble-break {
  display: none;
}
.prefectures-heading__red {
  color: #F3676A;
}
.prefectures-link__image {
  position: absolute;
  bottom: 0;
  left: 5px;
  max-width: 220px;
}
.prefectures-link__image.pc {
  display: block;
}
.prefectures-link__image.sp {
  display: none;
}
.prefectures-link__heading p {
  display: block;
  width: initial;
  font-size: 1.375rem !important;
  line-height: 2.065rem !important;
  font-weight: 600;
  text-align: left;
  color: #fff;
  margin: 0 !important;
}
.prefectures-heading__emphasis {
  font-size: 1.5rem;
  color: #fff;
  background-color: #F3676A;
  border-radius: 10px;
  margin-right: 5px;
  padding: 3px;
  box-sizing: border-box;
}
.region-block__wrap {
  border-right: solid 2px #c8d1db;
  border-left: solid 2px #c8d1db;
  border-bottom: solid 2px #c8d1db;
  border-radius: 0 0 10px 10px;
  box-sizing: border-box;
}
.region-block {
  display: flex;
  align-items: stretch;
  position: relative;
  width: 100%;
  max-width: 700px;
  background-color: #fff;
  overflow: hidden;
  z-index: 100;
  box-sizing: border-box;
}
.region-block:first-child {
  border-top: solid 2px #c8d1db;
}
.region-block:not(:last-child) {
  border-bottom: solid 2px #c8d1db;
}
.region-block:last-child {
  border-radius: 0 0 8px 8px;
}
.region-heading {
  display: block;
  width: 100%;
  max-width: 120px;
  background-color: #f3f6f8;
  font-weight: 600;
  padding: 15px 10px;
  box-sizing: border-box;
}
.region-link {
  display: flex;
  flex-flow: wrap;
  padding-left: 15px;
  padding-bottom: 15px;
}
.region-link a {
  display: block;
  margin-top: 15px;
  margin-right: 15px;
  white-space: nowrap;
}
@media(max-width: 700px) {
  .prefectures-link__heading {
    padding: 10px 5px 10px 190px;
  }
  .prefectures-link__image {
    left: 5px;
    max-width: 180px;
  }
  .prefectures-heading__bubble {
    font-size: 0.75rem;
    line-height: 1.0rem;
  }
}
@media(max-width: 630px) {
  .bubble-break {
    display: inline;
  }
  .prefectures-heading__bubble:after {
    display: none;
  }
  .prefectures-link__heading p {
    font-size: 1.2rem !important;
    line-height: 1.8rem !important;
  }
  .prefectures-heading__emphasis {
    font-size: 1.3rem;
    margin-right: 3px;
    padding: 2px;
  }
}
@media(max-width: 515px) {
  .prefectures-link__heading {
    padding: 5px 5px 5px 115px;
  }
  .prefectures-link__image {
    top: initial;
    bottom: -10px;
  }
  .prefectures-link__image.pc {
    display: none;
  }
  .prefectures-link__image.sp {
    display: block;
    max-width: 100px;
  }
  .prefectures-heading__bubble {
    font-size: 0.625rem;
    line-height: 0.8rem;
  }
  .prefectures-link__heading p {
    font-size: 1.0rem !important;
    line-height: 1.5rem !important;
  }
  .prefectures-heading__emphasis {
    font-size: 1.1rem;
  }
  .region-link {
    padding-left: 10px;
    padding-bottom: 10px;
  }
  .region-link a {
    margin-top: 10px;
    margin-right: 10px;
  }
}
@media(max-width: 400px) {
  .prefectures-link__heading {
    padding: 5px 5px 5px 85px;
  }
  .prefectures-link__image {
    bottom: 0;
  }
  .prefectures-link__image.sp {
    max-width: 75px;
  }
  .prefectures-heading__bubble {
    font-size: 0.6rem;
    line-height: 0.7rem;
  }
  .prefectures-link__heading p {
    font-size: 0.9rem !important;
    line-height: 1.4rem !important;
  }
  .prefectures-heading__emphasis {
    font-size: 1.0rem;
  }
  .region-link a {
    font-size: 0.9rem;
  }
}
@media(max-width: 350px) {
  .bubble-break {
    display: none;
  }
  .region-heading {
    font-size: 0.9rem;
    max-width: 80px;
  }
  .region-link {
    padding-left: 5px;
  }
  .region-link a {
    margin-right: 5px;
  }
}


/* 電話番号表示 */
.tel-number__display {
  font-size: 1.2rem;
  font-weight: 600;
}
.side__tel-button .tel-number__display, .float-pc .tel-number__display {
  text-decoration: underline;
  color: #393939;
}
.float-pc .tel-number__display {
  margin-right: 10px;
}
.single-float__tel-button .tel-number__display {
  white-space: nowrap;
} 
.tel-description__pc {
  font-size: 0.875rem;
  font-weight: 600;
}
.tel-number__display-banner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 500px;
  margin: auto;
  background-image: url("img/pc/電話番号バナー.png");
  background-position: center;
  background-size: contain;  
  background-repeat: no-repeat;
  z-index: 1001;
}
.tel-banner__close {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 2rem;
  cursor: pointer;
  color: #fff;
}
.tel-banner__lawyer-name {
  position: absolute;
  bottom: 85px;
  right: 110px;
  font-size: 1.5rem;
  font-weight: 600;
}
.tel-banner__tel-number {
  position: absolute;
  width: 440px;
  bottom: 20px;
  right: 40px;
  font-size: 3.8rem;
  font-weight: 600;
  text-align: center;
}
.tel-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1000;
}
.tel-link.sp, .tel-number__display-banner, .tel-overlay, .tel-link.pc .tel-number__display.tel-number { 
  display: none;
}
.tel-link.pc, .tel-number__display-banner.is-open, .tel-overlay.is-open {
  display: block;
}
@media(min-width: 961px) {
  body.modal-open {
    overflow: hidden;
    touch-action: none;
  }
}
@media(max-width: 960px) {
  .tel-number__display-banner.is-open, .tel-overlay.is-open {
    display: none;
  }
  .tel-link.pc {
    display: none;
  }
  .tel-link.sp {
    display: block;
    margin-right: 20px;
  }
}
@media(max-width: 500px) {
  .single-float__tel-button {
    margin-right: 0 !important;
  }
}
@media(max-width: 460px) {
  .search__contact-area .tel-link.sp {
    margin-right: 0;
  }
}
@media(max-width: 420px) {
  .sp__tel-button {
    margin-right: initial;
  }
}

/* 共通モーダル */
#tel-modal-root {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
}
#tel-modal-root.is-open {
  display: block;
}
#tel-modal-root .tel-overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.5);
}
#tel-modal-root .tel-number__display-banner {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 600px; height: 400px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
#tel-modal-root.is-open .tel-number__display-banner,
#tel-modal-root.is-open .tel-overlay {
  display: block;
}
@media (max-width: 960px) {
  #tel-modal-root {
    display: none !important;
  }
  #tel-modal-root .tel-number__display-banner {
    width: min(92vw, 600px);
    height: auto;
  }
}


/* マイページお問い合わせ数カウント表示 */
.contact-count__wrap {
  margin-top: 30px;
}
.contact-count {
  width: 90vw;
  max-width: 300px;
  list-style: none;
  border: solid 2px #9f83cc;
  border-radius: 10px;
  box-sizing: border-box;
}
.count-label {
  display: block;
  color: #FFF;
  font-size: 1.0rem;
  line-height: 1.5rem;
  font-weight: 600;
  background-color: #9f83cc;
  text-align: center;
  padding: 5px 5px 5px;
  box-sizing: border-box;
}
.count-label__first {
  border-radius: 5px 5px 0 0;
}
.count-line {
  display: flex;
  align-items: center;
}
.count-line:not(:last-child) {
  border-bottom: solid 2px #c8d1db;
}
.count-contents__label, .count-contents__score {
  width: 50%;
  padding: 5px;
  box-sizing: border-box;
}
.count-contents__label {
  border-right: solid 1px #c8d1db;
}


/* reCAPCHAv3 右下バッジ非表示 */
.grecaptcha-badge[data-style="bottomright"] {
    visibility: hidden;
}

/* 動画の表示調整 */
.youtube {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
/* WordPressからの画像の位置調整 */
.aligncenter {
  clear: both;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.alignleft {
    float: left;
    margin: 0.5em 1em 0.5em 0;
}
.alignright {
    float: right;
    margin: 0.5em 0 0.5em 1em;
}