@media screen and (min-width: 768px) {
  .pcOnly,
  .sp-none {
    display: block;
  }
  .spOnly,
  .pc-none {
    display: none;
  }
  h1,
  h1 a {
    font-size: 32px;
  }
  h2,
  h2 a {
    font-size: 30px;
  }
  h3,
  h3 a {
    font-size: 24px;
  }
  .template h3,
  .template h3 a {
    font-size: 30px;
  }
  h4,
  h4 a {
    font-size: 20px;
  }
  h5,
  h5 a {
    font-size: 18px;
  }
  h6,
  h6 a {
    font-size: 18px;
  }
  p,
  a,
  li,
  dt,
  dd,
  th,
  td {
    font-size: 16px;
  }
  .mgt-big {
    margin-top: 60px;
  }
  .mgt-middle {
    margin-top: 40px;
  }
  .mgt-small {
    margin-top: 20px;
  }
  .mgb-big {
    margin-bottom: 60px;
  }
  .mgb-middle {
    margin-bottom: 40px;
  }
  .mgb-small {
    margin-bottom: 20px;
  }
  .font-h3 {
    font-size: 26px !important;
  }
  .txt-center-pc {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .btn-more {
    width: 218px;
    height: 45px;
  }
  .btn-more a {
    border-radius: 10px;
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1240px) {
  .container {
    margin: 0 20px;
  }
}
@media (max-width: 767px) {
  header .lawmagazine {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  body {
    padding-top: 166px;
  }
  header {
    width: 100%;
  }
  header .container {
    margin: 0 auto;
    padding: 55px 0 0;
    max-width: 1200px;
    height: 166px;
  }
  header.fixed .container {
    padding: 40px 0 0;
    height: 126px;
  }
  header .container .lang_btn {
    right: 22px;
    top: 20px;
  }
  header.fixed .container .lang_btn {
    top: 6px;
  }
  header .container .lang_btn a {
    border-radius: 10px;
    font-size: 12px;
    margin-left: 5px;
    padding: 7px 0;
    width: 70px;
  }
  header .header-title {
    left: 20px;
    top: 32px;
    width: 175px;
  }
  header.fixed .header-title {
    top: 12px;
    width: 150px;
  }
  header .header-title h1,
  header .header-title a {
    font-size: 22px;
  }
  header .header-contact {
    margin: 0 20px 0 auto;
    width: 560px;
  }
  header .header-contact p {
    float: left;
    display: flex;
    line-height: 1;
  }
  header .header-contact p > span:nth-child(1) {
    margin-right: 10px;
    font-size: 18px;
    letter-spacing: -0.02em;
  }
  header .header-contact p > span:nth-child(2) {
    margin-top: -0.05em;
    font-size: 21px;
    line-height: 1;
  }
  header .header-contact p > span:nth-child(2) .hours {
    display: block;
    margin-top: 0.2em;
    font-size: 12px;
  }
  header .header-contact p > span:nth-child(2) .hours small {
    font-size: 10px;
  }
  header .header-contact ul {
    display: block;
    transform: translate(0, -15px);
    float: right;
    width: 120px;
  }
  header .header-contact ul li {
    margin-bottom: 5px;
    margin-left: 0.075vw;
    margin-right: 0.075vw;
    width: 120px;
    height: 30px;
  }
  header .header-contact ul li a {
    border-radius: 6px;
    font-size: 12px;
  }
  header .lawmagazine {
    display: block;
    position: absolute;
    right: 20px;
    bottom: 18px;
    z-index: 2;
    line-height: 1;
  }
  header .lawmagazine a {
    font-size: 14px;
    font-weight: bold;
    color: #000;
  }
  header .lawmagazine span {
    display: inline-block;
    margin-left: 1em;
    width: 240px;
    height: 12px;
    background: url("./img/monolithlawmagazine.svg") no-repeat center center;
    background-size: contain;
    text-indent: -9999px;
    vertical-align: -1px;
  }
  header .lawmagazine a:hover {
    text-decoration: none;
  }
  header .lawmagazine a:hover span {
    background-image: url("./img/monolithlawmagazine_on.svg");
  }
}
@media screen and (min-width: 860px) {
  header .header-contact {
    width: 610px;
  }
  header .header-contact p > span:nth-child(1) {
    font-size: 22px;
  }
  header .header-contact p > span:nth-child(2) {
    font-size: 26px;
  }
}
@media screen and (min-width: 1000px) {
  header .header-contact {
    width: 820px;
  }
  header .header-contact p > span:nth-child(1) {
    font-size: 24px;
  }
  header .header-contact p > span:nth-child(2) {
    font-size: 28px;
  }
  header .header-contact ul {
    display: flex;
    transform: translate(0, 0);
    width: 290px;
  }
}
@media screen and (min-width: 1240px) {
  header .container .lang_btn {
    right: 0;
  }
  header .header-title {
    left: 0;
  }
  header .header-contact {
    margin: 0 0 0 auto;
  }
  header .lawmagazine {
    right: 0;
  }
}
@media screen and (min-width: 768px) {
  .g-nav {
    overflow: visible;
    height: auto;
    pointer-events: auto;
  }
  .menu-btn,
  .g-nav .overlay {
    display: none;
  }
  .g-nav {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  .g-nav .standard-menu {
    display: block;
    margin-left: 20px;
    width: 100%;
  }
  .g-nav .standard-menu > .sub-ul {
    position: relative;
    display: flex;
    margin-left: 0;
    padding: 0;
  }
  .g-nav .standard-menu > .sub-ul > li {
    position: static;
    height: 32px;
    font-size: 18px;
  }
  .standard-menu > .sub-ul > li > a {
    display: block;
    padding: 0;
    border-bottom: 0;
  }
  .standard-menu > .sub-ul > li + li {
    margin-top: 0;
  }
  .standard-menu > .sub-ul > li + li > a {
    border-top: 0;
  }
  .standard-menu > .sub-ul > li > a + span {
    display: none;
  }
  .g-nav .standard-menu .sub-ul > li > span,
  .g-nav .standard-menu .sub-ul > li > a {
    font-size: 14px;
    font-weight: bold;
    color: #1d0a19;
    line-height: 1;
  }
  .g-nav .standard-menu .sub-ul > li > a {
    position: relative;
  }
  .g-nav .standard-menu .sub-ul > li > a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translate(-50%, 0);
    display: block;
    width: 0%;
    height: 3px;
    background: #1d0a19;
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  .g-nav .standard-menu .sub-ul > li:hover > a:after {
    width: 106%;
  }
  .g-nav .standard-menu .sub-ul > li > a + .sub-menu {
    display: none;
  }
  .g-nav .standard-menu .sub-ul .sub-menu-wrap {
    display: block;
    position: absolute;
    width: 100%;
    top: 32px;
    left: 50%;
    transform: translate(-50%, 0);
    padding: 10px 0 20px;
    min-height: 210px;
    box-sizing: border-box;
    transition: 0.3s;
    opacity: 0;
    pointer-events: none;
  }
  .g-nav .standard-menu .sub-ul .sub-menu-wrap:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 110vw;
    height: 100%;
    background: #1d0a19;
    transition: 0.3s;
    opacity: 0;
  }
  .g-nav .standard-menu .sub-ul li.menu-item-has-children:hover .sub-menu-wrap {
    display: block;
    opacity: 1;
    transition: 0.3s;
    pointer-events: auto;
  }
  .g-nav .standard-menu .sub-ul li.menu-item-has-children:hover .sub-menu-wrap:before {
    opacity: 1;
  }
  /*
	.g-nav .standard-menu .sub-ul li:nth-child(4) .sub-menu-wrap,
	.g-nav .standard-menu .sub-ul li:nth-child(4) .sub-menu-wrap:before {
		pointer-events: auto;
		opacity: 1;
	}
*/
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu {
    position: relative;
    z-index: 2;
    padding-left: 0;
  }
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu.has-children {
    display: flex;
    max-width: 95%;
  }
  .g-nav .standard-menu > .sub-ul > li:nth-child(5) .sub-menu-wrap > .sub-menu:first-child {
    margin-left: 18.8em;
  }
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu.has-children > li {
    min-width: 23%;
  }
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu.has-children > li + li {
  }
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu li > a {
    display: inline-block;
    padding: 0;
    font-size: 14px;
    line-height: 1.75;
    color: #fff;
  }
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu li > a + ul {
    margin-left: 1.5em;
  }
  .menu-item-has-children > a {
    position: relative;
  }
  .standard-menu ul.sub-ul > ul {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .standard-menu ul.sub-ul > li {
    color: #fff;
  }
  .standard-menu ul.sub-ul > li {
    margin: 0 0.5em 0 0;
  }
  .standard-menu ul.sub-ul > li a {
    display: block;
    line-height: 1.5;
  }
  .standard-menu ul.sub-ul > li.button a {
    margin: 0;
  }
  .standard-menu ul > li > span {
    padding: 2em 0;
    cursor: default;
  }
  .standard-menu ul > li > a > span {
    display: block;
    font-size: 11px;
  }
  .g-nav .lawmagazine-sp,
  .g-nav .header-contact-sp {
    display: none;
  }
}
@media screen and (min-width: 840px) {
  .standard-menu ul.sub-ul > li {
    margin-right: 1em;
  }
  .g-nav .standard-menu .sub-ul > li > a {
    font-size: 16px;
  }
  .g-nav .standard-menu > .sub-ul > li:nth-child(5) .sub-menu-wrap > .sub-menu:first-child {
    margin-left: 23.5em;
  }
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu li > a + ul {
    margin-left: 1.5em;
  }
}
@media screen and (min-width: 910px) {
  .standard-menu ul.sub-ul > li {
    margin-right: 2em;
  }
  .g-nav .standard-menu > .sub-ul .sub-menu-wrap > .sub-menu li > a {
    font-size: 16px;
  }
  .g-nav .standard-menu > .sub-ul > li:nth-child(5) .sub-menu-wrap > .sub-menu:first-child {
    margin-left: 27.5em;
  }
}
@media screen and (min-width: 1240px) {
  .g-nav .standard-menu {
    margin-left: 0;
  }
  .g-nav .standard-menu {
    margin-left: 0;
  }
  .g-nav .standard-menu > .sub-ul > li:nth-child(5) .sub-menu-wrap > .sub-menu:first-child {
    margin-left: 27.5em;
  }
}
@media screen and (min-width: 480px) {
}
@media screen and (min-width: 768px) {
  .slider-main > .slider-image {
    height: 400px;
  }
  .slick-prev,
  .slick-next {
    top: 50%;
  }

  .slider-main p.catchcopy {
    font-size: 28px;
  }
  .slider-main h2.company-name {
    font-size: 44px;
  }
}
@media screen and (min-width: 991px) {
}
@media screen and (min-width: 768px) {
  .mgt-section {
    margin-top: 140px;
  }
  .mgt-section100 {
    margin-top: 100px;
  }
  .mgt-section80 {
    margin-top: 80px;
  }
  .mgb-section {
    margin-bottom: 140px;
  }
  .mgb-section100 {
    margin-bottom: 100px;
  }
  .mgb-section80 {
    margin-bottom: 80px;
  }
  .section-inner {
    padding: 80px 20px;
    max-width: 1200px;
  }
  .section-inner-half {
    padding: 40px 20px;
    max-width: 1200px;
  }
  .section-inner-tophalf {
    padding: 40px 20px 80px;
    max-width: 1200px;
  }
  .section-inner-bottomhalf {
    padding: 80px 20px 40px;
    max-width: 1200px;
  }
  .section-inner-black {
    padding: 60px 6.25%;
    max-width: 1200px;
    border-radius: 8px;
  }
  .section-inner-black .section-inner {
    padding: 30px 20px;
  }
  .max-width680 {
    max-width: 680px;
  }
  .max-width710 {
    max-width: 710px;
  }
  .max-width780 {
    max-width: 780px;
  }
  .max-width800 {
    max-width: 800px;
  }
  .max-width860 {
    max-width: 860px;
  }
  .max-width980 {
    max-width: 980px;
  }
  .max-width1000 {
    max-width: 1000px;
  }
  .max-width1050 {
    max-width: 1050px;
  }
  .max-width1100 {
    max-width: 1100px;
  }
}
@media screen and (min-width: 768px) {
  .front-top {
    margin-bottom: 60px;
  }
  .front-top .section-inner {
    padding: 145px 20px 0;
    min-height: 530px;
  }
  .front-top .top-logo {
    display: block;
    position: absolute;
    left: 45px;
    top: 155px;
    width: 40%;
    height: 17.9167vw;
  }
  .front-top .top-logo .base {
    width: 0;
    height: 100%;
    background: url("./img/top/top_logo_base.svg") no-repeat;
    background-size: auto 100%;
    transition: all 0.5s linear 0.1s;
  }
  .front-top .top-logo img {
    position: absolute;
    left: 0;
    top: 40.9303%;
  }
  .front-top .top-logo img:nth-child(n + 2) {
    opacity: 0;
    transform: scale(0, 1);
  }
  .front-top .top-logo img.top-logo-1 {
    left: 0;
    width: 8.125%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 0.6s;
  }
  .front-top .top-logo img.top-logo-2 {
    left: 8.0748%;
    width: 6.25%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 0.7s;
  }
  .front-top .top-logo img.top-logo-3 {
    left: 14.1544%;
    width: 6.8751%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 0.8s;
  }
  .front-top .top-logo img.top-logo-4 {
    left: 20.7882%;
    width: 6.25%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 0.9s;
  }
  .front-top .top-logo img.top-logo-5 {
    left: 26.7909%;
    width: 5.4167%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1s;
  }
  .front-top .top-logo img.top-logo-6 {
    left: 32.4357%;
    width: 3.3334%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.1s;
  }
  .front-top .top-logo img.top-logo-7 {
    left: 36.2384%;
    width: 5.8334%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.2s;
  }
  .front-top .top-logo img.top-logo-8 {
    left: 42.5217%;
    width: 6.8751%;
    transition: all 0.2s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.3s;
  }
  .front-top p {
    margin-left: 50.8334%;
    width: auto;
    font-size: 17px;
  }
  .front-top p strong {
    font-size: 40px;
  }
  .front-top p.text3 {
    font-size: 22px;
  }
  .front-top p .sp-none {
    display: none;
  }
  .front-top.delighter.started .top-logo .base {
    width: 100%;
  }
  .front-top.delighter.started .top-logo img.top-logo-1,
  .front-top.delighter.started .top-logo img.top-logo-2,
  .front-top.delighter.started .top-logo img.top-logo-3,
  .front-top.delighter.started .top-logo img.top-logo-4,
  .front-top.delighter.started .top-logo img.top-logo-5,
  .front-top.delighter.started .top-logo img.top-logo-6,
  .front-top.delighter.started .top-logo img.top-logo-7,
  .front-top.delighter.started .top-logo img.top-logo-8 {
    opacity: 1;
    transform: scale(1, 1);
  }
  .front-top.delighter .text1 {
    transition: all 0.5s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.5s;
  }
  .front-top.delighter .text2 {
    transition: all 0.5s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.5s;
  }
  .front-top.delighter .text3 {
    transition: all 0.5s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.5s;
  }
}
@media screen and (min-width: 1010px) {
  .front-top p .sp-none {
    display: block;
  }
  .front-top p {
    font-size: 17px;
  }
  .front-top p strong {
    font-size: 46px;
  }
  .front-top p.text3 {
    font-size: 25px;
  }
}
@media screen and (min-width: 1200px) {
  .front-top {
    background-size: 100% auto;
  }
}
@media screen and (min-width: 1240px) {
  .front-top .top-logo {
    width: 480px;
    height: 215px;
  }
}
@media screen and (min-width: 768px) {
  .front-about {
    margin-bottom: 100px;
  }
  .front-about .section-inner {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
  }
  .front-about .en {
    font-size: 18px;
  }
  .front-about h2 {
    font-size: 31px;
    line-height: 1.4;
  }
  .front-about p {
    font-size: 17px;
  }
  .front-about p + p {
    margin-top: 3em;
  }
  .front-about p .sp-none {
    display: none;
  }
  .front-about .section-inner div.text {
    width: 65%;
  }
  .front-about .section-inner div.pic {
    margin-top: 40px;
    width: 33%;
  }
  .front-about .pic {
    margin-top: 0;
    width: 100%;
    border-radius: 6px;
  }
  .front-about .pic img {
    margin: 0 -27%;
    width: 154.1177%;
  }
}
@media screen and (min-width: 1040px) {
  .front-about p .sp-none {
    display: block;
  }
  .front-about .section-inner div.text {
    width: 670px;
  }
  .front-about .section-inner div.pic {
    width: 330px;
  }
}
@media screen and (min-width: 1240px) {
  .front-numbers .section-inner {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .front-numbers {
    margin-bottom: 40px;
  }
  .front-numbers .section-inner {
    padding: 0 20px;
  }
  .front-numbers .en {
    font-size: 18px;
  }
  .front-numbers h2 {
    font-size: 31px;
  }
  .front-numbers .box-wrap {
    justify-content: start;
  }
  .front-numbers .box-wrap > div {
    margin-left: 2.75%;
    margin-bottom: 60px;
    padding: 26px 4.5834% 32px;
    width: 31.5%;
    border-radius: 10px;
  }
  .front-numbers .box-wrap > div:nth-child(3n + 1) {
    margin-left: 0;
  }
  .front-numbers .box-wrap > div h3 {
    font-size: 20px;
  }
  .front-numbers .box-wrap > div .code {
    margin: 0 0 0.1em -20%;
    width: 140%;
    font-size: 100px;
  }
  .front-numbers .box-wrap > div .text {
    display: block;
    color: #fff;
  }
}
@media screen and (min-width: 910px) {
  .front-numbers .box-wrap > div .code {
    font-size: 130px;
  }
}
@media screen and (min-width: 1240px) {
  .front-numbers .section-inner {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .front-service {
    margin-bottom: 100px;
  }
  .front-service .section-inner {
    padding: 0;
  }
  .front-service .en,
  .front-service h2 {
    margin-left: 20px;
    margin-right: 20px;
  }
  .front-service .en {
    font-size: 18px;
  }
  .front-service h2 {
    font-size: 31px;
  }
  .front-service .front-service-field {
    margin-bottom: 66px;
    padding: 40px 20px 40px;
  }
  .front-service .front-service-field:after {
    border-top: #e3c1d4 50px solid;
    border-right: transparent 48px solid;
    border-left: transparent 48px solid;
  }
  .front-service .front-service-field h3 {
    margin-bottom: 80px;
    font-size: 28px;
  }
  .front-service .front-service-field .box-wrap {
    display: flex;
    justify-content: space-between;
  }
  .front-service .front-service-field .box-wrap > div {
    position: relative;
    padding: 25px 0 59px;
    width: 21.6667%;
    border-radius: 10px;
  }
  .front-service .front-service-field .box-wrap > div + div {
    margin-top: 0;
  }
  .front-service .front-service-field .box-wrap > div h4 {
    margin-bottom: 1.5em;
    font-size: 18px;
  }
  .front-service .front-service-field .box-wrap > div .icon {
    margin: 0 auto 30px;
    width: 42.3077%;
  }
  .front-service .front-service-field .box-wrap > div p {
    margin-bottom: 1em;
    width: 80.7693%;
    font-size: 16px;
  }
  .front-service .front-service-field .box-wrap > div .btn-more {
    position: absolute;
    left: 50%;
    bottom: 25px;
    transform: translate(-50%, 0);
    max-width: 90%;
  }
  .front-service .front-service-example {
    margin-bottom: 66px;
  }
  .front-service .front-service-example .section-inner > p {
    margin-bottom: 1em;
    font-size: 28px;
  }
  .front-service .front-service-example ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto 26px;
  }
  .front-service .front-service-example ul li {
    float: none;
    width: 20%;
  }
  .front-service .front-service-example ul li.btn {
    width: 100%;
  }
  .front-service .front-service-example ul li.btn:nth-child(odd) {
    padding-top: 0;
  }
  .front-service .front-service-example ul li.btn:nth-child(even) {
    margin-top: 0;
  }
  .front-service .front-service-example ul li .icon {
    margin: 0 auto 10px;
    width: 68.75%;
  }
  .front-service .front-service-example ul li p {
    font-size: 18px;
    color: #602d6b;
    text-align: center;
  }
}
@media screen and (min-width: 1240px) {
  .front-service .en,
  .front-service h2 {
    margin-left: 0;
    margin-right: 0;
  }
  .front-service .front-service-field {
    padding: 60px 0 40px;
  }
}
@media screen and (min-width: 768px) {
  .front-client {
    margin-bottom: 170px;
  }
  .front-client .section-inner {
    max-width: 1200px;
  }
  .template .front-client {
    margin-top: 120px;
  }
  .front-client h2 {
    font-size: 28px;
  }
  .front-client ul li,
  .template .front-client ul li {
    width: 20%;
  }
  .front-client ul li:before {
    width: 34px;
    border-top: #602d6b 2px solid;
  }
  .front-client ul li:after {
    height: 34px;
    border-left: #602d6b 2px solid;
  }
  .front-client ul li:nth-child(3n + 3):before,
  .front-client ul li:nth-child(3n + 3):after,
  .front-client ul li:nth-child(n + 13):before,
  .front-client ul li:nth-child(n + 13):after {
    display: block;
  }
  .front-client ul li:nth-child(5n + 5):before,
  .front-client ul li:nth-child(5n + 5):after,
  .front-client ul li:nth-child(n + 11):before,
  .front-client ul li:nth-child(n + 11):after {
    display: none;
  }
  .front-client ul li img {
    width: 100%;
  }
  .clients-list h3 {
    max-width: 600px;
  }
  .clients-list p {
    margin-bottom: 4.5em;
  }
}
@media screen and (min-width: 768px) {
  .front-news {
    margin-bottom: 80px;
  }
  .front-news .section-inner {
    padding: 0 20px;
  }
  .front-news h2 {
    margin-bottom: 80px;
    font-size: 28px;
  }
  .front-news ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .front-news ul li {
    position: relative;
    margin: 0 0 60px 2.5%;
    width: 31.6667%;
  }
  .front-news ul li + li {
    margin-top: 0;
  }
  .front-news ul li:nth-child(3n + 1) {
    margin-left: 0;
  }
  .front-news ul li .date {
    display: block;
    margin-bottom: 0.8em;
    font-size: 20px;
  }
  .front-news ul li .category {
    border-radius: 8px;
    font-size: 10px;
  }
  .front-news ul li .subject {
    font-size: 18px;
  }
}
@media screen and (min-width: 1240px) {
  .front-news .section-inner {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .news-list {
    margin-bottom: 80px;
  }
  .news-list ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .news-list ul li {
    position: relative;
    margin: 0 0 40px 3.4483%;
    padding: 15px;
    width: 31.0345%;
    border-radius: 6px;
    box-sizing: border-box;
  }
  .news-list ul li + li {
    margin-top: 0;
  }
  .news-list ul li:nth-child(3n + 1) {
    margin-left: 0;
  }
  .news-list ul li .date {
    display: block;
    margin-bottom: 0.8em;
    font-size: 20px;
  }
  .news-list ul li .category {
    right: 15px;
    top: 15px;
    border-radius: 8px;
    font-size: 10px;
  }
  .news-list ul li .subject {
    font-size: 18px;
  }
}
@media screen and (min-width: 1240px) {
  .news-list .section-inner {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .front-banner {
    margin-bottom: 90px;
  }
  .front-banner .section-inner {
    padding: 0;
  }
  .front-banner .banner-slider {
    overflow: visible;
    margin: 0 auto;
    width: 82.5%;
  }
  .front-banner .slick-slide {
    width: 300px;
  }
  .front-banner .slick-prev,
  .front-banner .slick-next {
    margin-top: 0;
    width: 50px;
    height: 100px;
    border-radius: 0;
    transform: translate(0, -50%);
    opacity: 1;
  }
  .front-banner .slick-prev:hover,
  .front-banner .slick-next:hover {
    opacity: 0.5;
  }

  .front-banner .slick-prev {
    left: -9%;
  }
  .front-banner .slick-next {
    right: -9%;
  }
  .front-banner .slick-prev:before,
  .front-banner .slick-next:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
    opacity: 1;
  }
  .front-banner .slick-prev:before {
    background-image: url("./img/btn_prev.svg");
  }
  .front-banner .slick-next:before {
    background-image: url("./img/btn_next.svg");
  }
}
@media screen and (min-width: 480px) {
  .lawyers .lawyer {
    vertical-align: top;
    margin: 0 2% 40px;
  }
}
@media screen and (min-width: 768px) {
  .lawyers .lawyer {
    width: 29%;
  }
  .lawyers_list_04.lawyers .lawyer {
    width: 21%;
  }
}
@media screen and (min-width: 991px) {
  .lawyers {
    margin: 0 auto;
    max-width: 890px;
  }
  .lawyers .lawyer {
    width: 100%;
    max-width: 260px;
  }
  .lawyers_list_04.lawyers .lawyer {
    width: 100%;
    max-width: 186px;
  }
}
@media screen and (min-width: 768px) {
  .books {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    width: auto;
    max-width: 1200px;
  }
  .books .book {
    position: relative;
    margin-bottom: 100px;
    margin-right: 3.75%;
    width: 30.8334%;
  }
  .books .book:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 30%;
    background: #f7bb9e;
    border-radius: 6px;
  }
  .books .book:nth-child(3n) {
    margin-right: 0;
  }
  .book .img-wrap {
    margin-bottom: 5px;
    border-radius: 6px;
  }
  .books .book .figcaption-inner {
    padding: 20px 20px 30px;
    border-radius: 6px;
  }
}
@media screen and (min-width: 768px) {
  .google-maps {
    height: 525px;
  }
}
@media screen and (min-width: 768px) {
  table {
    margin: 20px 0 60px;
  }
  table thead th,
  table thead td {
    padding: 5px 0;
  }
  table tbody tr td {
    padding: 10px;
  }
  table th,
  table td {
    font-size: 18px;
  }

  table.type05 tbody tr td:nth-child(1) {
    width: 18%;
  }

  table.type06 thead tr th {
    padding: 1em;
  }
  table.type06 tbody tr td {
    padding: 1em;
  }

  .template h3.ttl-enjp {
    margin-bottom: 35px;
  }
  .template h3.ttl-enjp .en {
    font-size: 18px;
  }
  .template h3.ttl-enjp .ja {
    font-size: 36px;
  }

  .template h3.ttl-2line {
    margin-bottom: 35px;
  }
  .template h3.ttl-2line .line1 {
    font-size: 20px;
  }
  .template h3.ttl-2line .line2 {
    font-size: 36px;
  }

  .template h3.ttl-white {
    margin-bottom: 80px;
    font-size: 33px;
  }

  .template h4 {
    font-size: 16px;
  }

  .template .purple-base {
    padding: 45px 30px;
  }

  .template .white-base ul {
    display: flex;
    justify-content: space-between;
  }
  .template .white-base ul li {
    width: 20.7%;
    padding: 0;
  }

  .template ul.layout-column4 {
    width: auto;
  }
  .template ul.layout-column4 li {
    margin-bottom: 0;
    width: 21.1207%;
  }
  .template ul.layout-column4 li h4 {
    margin-bottom: 1em;
    font-size: 20px;
  }
  .template ul.layout-column4 li div {
    margin-bottom: 20px;
    border-radius: 6px;
  }
  .template ul.layout-column4 li p {
    margin-top: 16px;
  }

  .template ul.layout-column3 {
    max-width: 855px;
  }
  .template ul.layout-column3 li {
    margin-bottom: 0;
    width: 28.655%;
  }
  .template ul.layout-column3 li h4 {
    margin-bottom: 1em;
    margin-left: 0;
  }
  .template ul.layout-column3 li h4,
  .template ul.layout-column3 li h4 a {
    font-size: 20px;
    text-align: center;
  }
  .template ul.layout-column3 li div {
    float: none;
    margin-bottom: 20px;
    border-radius: 6px;
    width: 100%;
  }
  .template ul.layout-column3 li p {
    margin-top: 16px;
    margin-left: 0;
    line-height: 1.6;
  }

  .template ul.layout-column3.width100 {
    max-width: 100%;
  }
  .template ul.layout-column3.width100 li {
    margin-bottom: 0;
    width: 29.8276%;
  }
  .template ul.layout-column3.width100 li + li {
    margin-top: 0;
  }
  .template ul.layout-column3.width100 li div {
    margin-bottom: 16px;
    border-radius: 6px;
  }
  .template ul.layout-column3.width100 li p {
    margin-top: 16px;
    line-height: 1.6;
  }

  .template .layout-datalist {
    width: auto;
  }
  .template .layout-datalist li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 35px;
  }
  .template .layout-datalist li h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 30px;
    margin-bottom: 0;
    padding: 0;
    min-width: 28.8794%;
    border-left: none;
    border-right-width: 3px;
    font-size: 26px;
    line-height: 1.2;
  }
  .template .layout-datalist.valign-top li h4 {
    align-items: start;
  }
  .template .layout-datalist.valign-top li h4 span {
    display: inline-block;
    margin-right: 25px;
    width: 100%;
    padding: 0.8em 0;
    border-top: #140713 1px solid;
    border-bottom: #140713 1px solid;
    text-align: center;
  }
  .template .layout-datalist li h5 {
    font-size: 20px;
  }
  .template .layout-datalist li p {
    font-size: 16px;
    line-height: 2;
  }

  .template ol.practices-list {
    width: auto;
    max-width: 1100px;
  }
  .template ol.practices-list li {
    margin-bottom: 0;
    width: 20.9091%;
  }
  .template ol.practices-list li h4 {
    margin-bottom: -18px;
  }
  .template ol.practices-list li p {
    margin-top: 16px;
  }

  .temp-image {
    height: 200px;
  }
  .temp-inner h2 {
    font-size: 36px;
  }
  .both-border p,
  .red-section p {
    font-size: 22px;
  }
  .red-section.normal p {
    font-size: 16px;
  }
  p.note {
    font-size: 14px;
  }
  .flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
  .flex.reverse {
    flex-direction: row-reverse;
  }
  .flex + .flex,
  .flex + h4,
  .flex + p {
    margin-top: 80px;
  }

  .width25 {
    width: 25.8621%;
    margin: 0;
    text-align: left;
  }
  .width41 {
    width: 41.3794%;
    margin: 0;
    text-align: left;
  }
  .width39 {
    width: 39.0477%;
    margin: 0;
    text-align: left;
  }
  .width47 {
    width: 47.4138%;
    margin: 0;
    text-align: left;
  }
  .width58 {
    width: 57.1429%;
    margin: 0;
    text-align: left;
  }
  .width25 + .width68,
  .width47 + .width47,
  .width58 + .width39,
  .width51 + .width41 {
    margin-top: 0;
  }
  .width25 img,
  .width41 img {
    border-radius: 8px;
  }
  .width51 {
    width: 51.7242%;
    margin: 0;
    text-align: left;
  }
  .width68 {
    width: 68.9656%;
    margin: 0;
    text-align: left;
  }
  .width80 {
    width: 80%;
  }
  .template h3 {
    margin-bottom: 36px;
    padding: 0.7em 0.76em 0.8em;
    border-radius: 0 0 8px 0;
    font-size: 26px;
    text-align: left;
  }

  .template .blue-section h3.under {
    text-align: center;
    border-left: none;
    border-bottom: 3px solid #fff;
  }
  .template .white-section h3 {
    border-bottom: none;
  }
  .template .article h3,
  .related-companies .related-company h3 {
    border: none;
    padding: 0;
  }

  .template h4.border-left {
    margin-bottom: 30px;
    padding-left: 20px;
    font-size: 24px;
  }
  .template h4.border-left-orange {
    margin-bottom: 25px;
    padding-left: 20px;
    font-size: 21px;
  }
  .template h4.border-left-orange:before {
    border-left-width: 10px;
  }

  .template p {
    font-size: 16px;
    line-height: 2;
  }
  .template p.big-title {
    font-size: 26px;
  }

  .template .tagline {
    display: flex;
    justify-content: space-between;
  }
  .template .tagline p.txt-l {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .template .tagline .logo {
    margin: 0;
    padding-top: 95px;
    width: 362px;
  }

  .template .heading-area {
    margin-bottom: 120px;
    padding: 90px 0;
    min-height: 300px;
  }
  .template .heading-area h2 {
    margin-left: -10px;
    padding-left: 120px;
    font-size: 46px;
  }
  .template .heading-area h2:before {
    width: 94px;
    height: 94px;
  }
  .template .heading-area p {
    font-size: 16px;
    text-align: center;
  }
  .template .second-nav {
    margin-bottom: 20px;
  }
  .template .second-nav p {
    margin-bottom: 20px;
    font-size: 28px;
  }
  .template .second-nav nav {
    padding: 25px;
  }
  .template .second-nav nav ul {
    max-width: 1000px;
  }
  .template .second-nav nav li {
    margin: 10px;
  }
  .template .second-nav nav li a {
    padding: 0.85em 0.85em 0.95em 0.85em;
    border-radius: 6px;
    font-size: 14px;
  }

  .template .second-nav2 {
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1200px;
    box-sizing: border-box;
  }
  .template .second-nav2 p {
    margin-top: 1.5em;
    margin-bottom: 20px;
    font-size: 36px;
  }
  .template .second-nav2 p span {
    font-size: 16px;
  }
  .template .second-nav2 nav {
    padding: 30px 30px 10px;
    width: 100%;
  }
  .template .second-nav2 nav li {
    margin-bottom: 20px;
  }
  .template .second-nav2 nav li,
  .template .second-nav2 nav li a {
    font-size: 16px;
  }

  .template .btn-area {
    max-width: 600px;
  }
  .template .btn-area.align-left {
    margin-left: 0;
    margin-right: auto;
    justify-content: start;
  }
  .template .btn-area .btn {
    width: 47.5%;
    height: 60px;
  }
  .template .btn-area .btn + .btn {
    margin-top: 0;
  }
  .template .btn-area .btn:nth-child(even) {
    margin-left: 5%;
  }
  .template .btn-area .btn:nth-child(n + 3) {
    margin-top: 20px;
  }
  .template .btn-area .btn a {
    padding-left: 40px;
    border-radius: 10px;
    font-size: 16px;
  }
  .template .btn-area .btn a:before {
    left: 15px;
    width: 40px;
    height: 40px;
  }

  .template .frame {
    padding: 1.5em;
  }
  .template .frame2 {
    padding: 1.5em;
  }
  .template .frame2-white {
    padding: 1.5em;
  }
  .template .frame-border-top {
    margin-top: 80px;
    padding-top: 80px;
  }

  .template .frame-corner {
    padding: 2em 4.5em;
  }
  .template .frame-corner:before,
  .template .frame-corner:after,
  .template .frame-corner-inner:before,
  .template .frame-corner-inner:after {
    width: 100px;
    height: 100px;
  }

  .template .white-base {
    padding: 0 30px 30px;
    border-radius: 8px;
  }
  .template .white-base li {
    margin-bottom: 0;
    width: 21%;
  }
  .template .white-base li h4 {
    font-size: 18px;
  }
  .template .white-base li p {
    font-size: 16px;
  }

  .template .text-and-btn {
  }
  .template .text-and-btn p {
    margin-bottom: 1em;
    font-size: 29px;
  }
}
@media screen and (min-width: 991px) {
  .width30 {
    width: 40%;
    margin: 0;
  }
  .width70 {
    width: 59%;
  }
  .width50 {
    width: 50%;
    margin: 0;
    text-align: left;
  }
  .width49 {
    width: 49%;
    margin: 0;
    text-align: left;
  }
  .width70 .inline-inner,
  .width50 .inline-inner {
    padding: 0 20px;
  }
  .flex.reverse .width70 .inline-inner,
  .flex.reverse .width50 .inline-inner {
    padding: 0 20px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .template ul.plan li {
  }
  .template .planWrap h3 {
    float: left;
    width: 200px;
    height: 200px;
    font-size: 20px;
  }
  .template ul.plan {
    margin-left: 255px;
  }
  .template ul.plan li {
    padding-left: 25px;
  }
  .template ul.plan li + li {
    margin-top: 45px;
  }
  .template .plan h4 {
    font-size: 18px;
  }
  .template .plan p {
    font-size: 16px;
  }
  .plan-price {
    font-size: 18px;
  }

  .template .fee {
    margin: 60px auto 0;
    max-width: 1000px;
  }
  .template .fee .fee-inner {
    padding: 35px 0 40px;
  }
  .template .fee h3 {
    font-size: 24px;
    line-height: 1;
  }
  .template .fee .btn-area {
    margin-top: 30px;
  }
  .template .fee:before,
  .template .fee:after,
  .template .fee .fee-inner:before,
  .template .fee .fee-inner:after {
    width: 100px;
    height: 100px;
  }
}
@media screen and (min-width: 768px) {
  .temp-lawyers .img-wrap {
    position: relative;
    display: inline-block;
    width: 32.2581%;
    vertical-align: top;
  }
  .temp-lawyers .img-wrap img {
    border-radius: 8px;
  }
  .temp-lawyers figcaption {
    display: inline-block;
    width: 64.5162%;
    vertical-align: top;
  }
  .temp-lawyers .figcaption-inner {
    padding: 0 0 0 40px;
  }
}
@media screen and (min-width: 991px) {
  .temp-lawyer .section-inner {
    max-width: 990px;
  }
  .temp-lawyers .lawyer-single {
    margin: 0 0 100px;
  }
}
@media screen and (min-width: 768px) {
  .template .temp-book h3 {
    font-size: 27px;
  }
}
@media screen and (min-width: 480px) {
}
@media screen and (min-width: 768px) {
  .sites .site {
    width: 46%;
    margin: 0 4%;
    vertical-align: top;
    margin: 0 2% 40px;
  }
  .sites .site h3 {
    font-size: 16px;
  }
}
@media screen and (min-width: 991px) {
  .sites .site {
    width: 29%;
  }
}
@media screen and (min-width: 768px) {
  .temp-article h4 {
    font-size: 22px;
  }
  .article {
    width: 30.2%;
    display: inline-block;
    margin: 0 10px;
  }
  .article figure figcaption {
    padding: 10px 0 0;
    width: 100%;
  }
  .article figure h3 {
    font-size: 16px;
  }
  .article figure .cat-area p {
    font-size: 16px;
  }
  .article figure .date-area {
    padding: 4px 0 0;
  }
  .article figure .date-area p {
    font-size: 14px;
  }
  .temp-article .articles {
    margin-bottom: 30px !important;
  }
  .temp-article .article figure {
    margin: 0 auto;
    width: 100%;
  }
  .temp-article .article figure .img-wrap {
    border-radius: 6px;
  }
  .temp-article .article figure h3 {
    font-size: 14px;
    line-height: 1.6;
    background: #fff;
    color: #000;
    text-align: left;
    font-weight: normal;
  }
  .temp-article .article figure figcaption {
    padding-top: 0;
  }
  .temp-article .article figure figcaption .figcaption-inner {
    padding: 0 10px 5px;
  }
}
@media screen and (min-width: 480px) {
}
@media screen and (min-width: 768px) {
  a.link.both {
    margin: 0 2% 0 0;
    display: initial;
    width: auto;
  }
  a.link {
    margin: 0;
    display: initial;
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .contact-content {
    padding: 0 0 40px;
  }
  .submit-button {
    margin: 40px 0 0;
  }
  .contact-content dl {
    padding: 10px;
  }
  .contact-content dt {
    justify-content: space-between;
    padding: 10px;
    width: 30%;
    font-size: 18px;
  }
  .contact-content dt span {
    font-size: 16px;
  }
  .contact-content dd {
    padding: 10px;
    width: 60%;
  }
  .contact-content span.required {
    margin: 0;
  }
  .mwform-radio-field-text {
    font-size: 18px;
  }

  input[type="submit"] {
    font-size: 16px;
    border-radius: 10px;
    margin: 0 auto 20px;
    padding: 16px 40px;
    width: 285px;
  }
  .contact-map {
    margin: -20px 0 0 100px;
  }
}
@media screen and (min-width: 768px) {
  footer .footer-inner {
    padding: 40px 20px 80px;
    max-width: 1200px;
  }
  footer .footer-inner .footer-box-wrap {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 250px;
  }
  footer .footer-inner .footer-box-wrap > div {
    float: none;
    margin: 0;
    width: 30%;
  }
  footer .footer-inner .footer-box-wrap > div:last-child {
    margin: 0;
    width: 23%;
  }
  footer .footer-inner .footer-box-wrap .membership picture {
    margin: 1.5vw 0 0;
  }
  footer .footer-inner .footer-box-wrap .membership .small {
    margin-top: 1vw;
    font-size: 15px;
  }
  footer .footer-inner .footer-box-wrap .line {
    display: contents;
  }
  footer .footer-inner .footer-box-wrap .line picture {
    margin: 1.5vw 0 0;
  }
  footer .footer-inner h2 {
    margin: 0 0 0.8em;
    font-size: 24px;
  }
  footer .footer-inner p,
  footer .footer-inner p a {
    font-size: 21px;
  }
  footer .footer-inner p.telnumber a {
    font-size: 37px;
  }
  footer .footer-inner p.telnumber span {
    font-size: 17px;
  }
  footer .footer-inner .btn {
    margin-top: 20px;
    width: 164px;
    height: 34px;
  }
  footer .footer-inner .btn + .btn {
    margin-top: 18px;
  }
  footer .footer-inner .btn a {
    border-radius: 6px;
    font-size: 14px;
  }
  footer .copyright {
    font-size: 13px;
  }
  footer .footer-inner small {
    font-size: 12px;
  }
}
@media screen and (min-width: 1200px) {
  footer .footer-inner {
    padding: 40px 0 80px;
  }
}
@media screen and (min-width: 768px) {
footer .footer-inner .btn.icon {
    width: auto;
    height: auto;
    display: block;
  }
  footer .footer-inner .btn.icon a {
    display: block;
    background: none;
  }
  footer .footer-inner .btn.icon img {
    display: block;
    width: 100%;
    max-width: 40px;
    height: auto;
  }
}
@media screen and (min-width: 480px) {
  .fixed-footer a.link {
    font-size: 15px;
  }
  .fixed-footer p.number {
    font-size: 16px;
    display: block;
    margin-top: 7px;
  }
  .fixed-footer .note-sp {
    font-size: 11px;
  }
}
@media screen and (min-width: 768px) {
  .fixed-footer .inner {
    padding: 5px 0;
  }
  .fixed-footer .inner p,
  .fixed-footer .inner a {
    font-size: 15px;
  }
  .fixed-footer .inner p {
    color: #555;
  }
  .fixed-footer a.link {
  }
  .fixed-footer .tel-side,
  .fixed-footer .contact-side {
    display: initial;
    width: auto;
  }
  .ok {
    padding: 0 10px 0 0;
    font-weight: 500;
  }
  .fixed-footer .tel-side a.white-link {
    border: 2px solid #e17c80;
  }
  .fixed-footer .note:before {
    /*      content: ""; */
    position: absolute;
    top: 60%;
    left: -16px;
    margin-top: -11px;
    border: 8px solid transparent;
    border-right: 8px solid #fff;
  }
  .fixed-footer .sp-none {
    display: initial;
  }
  .fixed-footer .pc-none {
    display: none !important;
  }
  .fixed-footer .right-margin {
    margin: 0;
  }
  .fixed-footer a.white-link.mail {
    background: #2fa8e1;
    border: 2px solid #2fa8e1;
    color: #fff;
  }
  .fixed-footer a.white-link.mail.seikyuu {
    background: #38ca99;
    border: 2px solid #38ca99;
    color: #fff;
  }
  .fixed-footer a.white-link.mail:hover {
    background: #fff;
    border: 2px solid #2fa8e1;
    color: #2fa8e1;
  }
  .fixed-footer a.white-link.mail.seikyuu:hover {
    border: 2px solid #38ca99;
    color: #38ca99;
  }
}
@media screen and (min-width: 991px) {
  .fixed-footer .note {
    margin: 0 15px 0 10px;
  }
  .fixed-footer .inner p,
  .fixed-footer .inner a {
    font-size: 24px;
  }
  .fixed-footer a.link {
    font-size: 18px;
  }
  .fixed-footer .note {
    font-size: 16px;
  }
}
@media screen and (min-width: 1060px) {
  .fixed-footer a.link {
    padding: 8px 32px;
  }
}
@media screen and (min-width: 768px) {
  .archive-body .heading-area {
    margin-bottom: 70px;
  }
  .archive-body .heading-area-inner {
    padding: 115px 0 90px;
  }
  .archive-body .heading-area h2 {
    width: 559px;
  }
  .archive-body .heading-area p {
    font-size: 20px;
  }

  .archive-body .category-image {
    height: 250px;
  }
  .cat-blocks {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
    padding-top: 70px;
    max-width: 1200px;
  }
  .cat-block {
    width: 32.9167%;
    min-height: 250px;
  }
  .cat-block + .cat-block {
    margin-top: 0;
  }
  .archive-body #mainSection .cat-blocks .category-image .catimg-inner {
    width: calc(100% - 36px);
    height: calc(100% - 36px);
  }
  .archive-body .catimg-inner h2 {
    font-size: 24px;
  }

  .category-archive-title {
    margin-bottom: 60px;
    padding-top: 70px;
    max-width: 1200px;
    height: 250px;
  }
  .category-archive-title .category-image {
    height: 250px;
    border-radius: 13px 13px 0 0;
  }

  .contents-area > .category-image {
    margin-left: 0;
    margin-bottom: 50px;
    width: 100%;
    height: 150px;
  }
  .contents-area .category-image {
    border-radius: 8px 8px 0 0;
  }

  .category-archive-title .catimg-inner h2,
  .contents-area .catimg-inner h2,
  .category-archive-title .catimg-inner p,
  .contents-area .catimg-inner p {
    font-size: 33px;
  }
  .category-corporate,
  .category-youtuber-vtuber,
  .category-reputation {
  }

  .archive-body .both-area,
  .single-body .both-area {
    margin-bottom: 40px;
    padding-top: 60px;
    max-width: 1200px;
  }
  .single-body .single-main {
    padding-top: 60px;
  }
  .archive-body .contents-area,
  .single-body .contents-area {
    margin-bottom: 0;
    width: 64.5834%;
  }
  .archive-body .contents-area .articles,
  .single-body .contents-area .articles {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .archive-body .article {
    display: block;
    margin-bottom: 60px;
    width: 45.1613%;
  }
  .archive-body .article figure .img-wrap {
    border-radius: 8px;
  }
  .archive-body .article figure figcaption .figcaption-inner {
    padding-bottom: 15px;
  }
  .archive-body figure .date-area {
    padding: 18px 0;
    font-size: 14px;
  }
  .archive-body figure h3 {
    font-size: 24px;
  }
  .archive-body figure p {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .single-body .article-header {
    padding: 0 0 10px;
  }
  .single-body .article-header h1 {
    font-size: 39px;
  }
  .single-body .detail-area {
    padding-top: 30px;
  }
  .single-body .detail-area p {
    font-size: 14px;
  }
  .single-body .detail-area p + p:before {
    content: "　／　";
  }
  .single-body .detail-area a {
    font-size: 12px;
  }
  .single-body figure.header-content {
    border-radius: 0;
  }
  .single-body .text-area {
    padding-top: 50px;
  }
  .single-body .text-area h4 {
    font-size: 18px;
  }
  .single-body .text-area p,
  .single-body .text-area li {
    font-size: 16px;
  }

  .single-contact .section-inner {
    padding: 20px 2%;
  }
  .single-contact .contact-content p {
    margin: 0;
    font-weight: 600;
  }
  .single-autor {
    margin: 90px 0;
  }
  .single-autor p {
    font-size: 14px;
  }
  .single-autor a {
    border-radius: 6px;
  }
  .author-box {
    margin: 40px auto;
    padding: 30px;
    width: auto;
  }
  .author-box .author-thumbnail {
    width: 175px;
  }
  .author-box .author-content {
    padding-left: 30px;
  }
  .author-box .author-name,
  .author-box .author-description {
    font-size: 16px;
    line-height: 2;
  }

  .related {
    margin-top: 120px;
  }
  .related h3 {
    margin-bottom: 16px;
    font-size: 24px;
  }
  .related .article {
    margin: 0 0 40px 3.4839%;
    width: 30.9678%;
  }
  .related .rpwe-ul .article:nth-child(2n + 1) {
    margin-left: 3.4839%;
  }
  .related .rpwe-ul .article:nth-child(3n + 1) {
    margin-left: 0;
  }
  .related .rpwe-ul .article:nth-child(9) {
    display: block;
  }
  .related .article figure figcaption .figcaption-inner {
    padding: 16px;
  }
  .related .article figure figcaption h3 {
    font-size: 14px;
  }
  .related .article figure .cat-area {
    margin-top: 16px;
  }
  .related .article figure .cat-area p {
    font-size: 12px;
  }
  .related .article figure .cat-area span {
    border-radius: 5px;
    font-size: 12px;
  }
}
@media screen and (min-width: 768px) {
  .text-inner h2 {
    border-radius: 0 0 8px 0;
    font-size: 26px;
    text-align: left;
  }
  .text-inner h3 {
    font-size: 26px;
  }
  .text-inner h3:before,
  .text-inner h3:after {
    width: 35px;
    height: 35px;
  }
  .text-inner h3:before {
    border-left: solid 3px #ba6594;
    border-top: solid 3px #ba6594;
  }
  .text-inner h3:after {
    border-right: solid 3px #ba6594;
    border-bottom: solid 3px #ba6594;
  }
  .text-inner h4 {
    font-size: 16px;
  }

  .pdt-big {
    padding-top: 60px;
  }
  .pdt-middle {
    padding-top: 40px;
  }
  .pdt-small {
    padding-top: 20px;
  }
  .pdb-big {
    padding-bottom: 60px;
  }
  .pdb-middle {
    padding-bottom: 40px;
  }
  .pdb-small {
    padding-bottom: 20px;
  }
  blockquote {
    padding: 85px 35px 60px;
    margin: 40px 0;
  }
  blockquote:before {
    left: 38px;
    top: 32px;
    width: 44px;
    height: 37px;
  }
  blockquote p,
  blockquote cite {
    font-size: 16px;
  }

  .text-inner li,
  .content li {
    font-size: 12pt;
  }
  .gray-back .txt-inner {
    padding: 0 40px;
  }
  .txt-xxl {
    font-size: 34px !important;
  }
  .txt-xl {
    font-size: 29px !important;
  }
  .txt-l {
    font-size: 24px !important;
  }
  .txt-m {
    font-size: 16px !important;
  }
  .txt-s {
    font-size: 14px !important;
  }
  .txt-xs {
    font-size: 12px !important;
  }
  .txt-xxs {
    font-size: 10px !important;
  }

  .text-inner p {
    font-size: 16px;
  }

  ol.decimal li {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .sidebar {
    display: inline-block;
    width: 26.25%;
    vertical-align: top;
    padding: 0;
  }
  .side-category.search-2 {
    padding: 20px 20px 0;
  }
  .side-category.tag_cloud-2 {
    margin-bottom: 24px;
    padding: 20px 10px 20px 20px;
  }
  .side-category.block-3 {
    margin-top: 60px;
  }
  .tagcloud a {
    border-radius: 5px;
    padding: 8px 10px 11px;
    margin: 0 10px 10px 0;
    font-size: 11px !important;
  }
  .recent-posts-widget-with-thumbnails-2,
  .wpp-2,
  .archives-2 {
    margin-top: 60px;
  }

  .recent-posts-widget-with-thumbnails-2 h2.widgettitle,
  .wpp-2 h2.widgettitle,
  .archives-2 h2.widgettitle,
  .popular-posts h2 {
    margin-bottom: 30px;
  }
  .sidebar ul li {
    margin-top: 30px;
  }
  .sidebar .archives-2 li {
    margin-top: 15px;
  }
  .sidebar ul li a {
    font-size: 16px;
  }
  .sidebar #rpwwt-recent-posts-widget-with-thumbnails-2 img,
  .sidebar .wpp-2 img {
    width: 105px;
    height: 105px;
  }
  .sidebar #rpwwt-recent-posts-widget-with-thumbnails-2 ul li,
  .sidebar .wpp-2 ul li {
    margin: 30px 0 0 0;
  }
  .wpp-list li {
    padding: 10px 0;
  }
}
@media screen and (min-width: 768px) {
  .side-category.block-6 {
    padding: 20px 20px 0;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-search__button {
    font-size: 3.6vw;
    width: 14vw;
  }
}
@media screen and (min-width: 768px) {
  .pagination {
    margin-bottom: 10px;
  }
  ul.page-numbers li > :not(.action-bar) {
    width: 50px;
    height: 50px;
    font-size: 16px;
    line-height: 45px;
  }
}
@media screen and (min-width: 768px) {
  .sns-buttons {
    margin: 40px 0;
  }
  .sns-buttons .content-box-heading {
    font-size: 18px;
    line-height: 30px;
  }
  .article-social a {
    margin-right: 20px;
    line-height: 30px;
  }
  .icomoon {
    font-size: 30px;
  }
  .social-link a {
    padding: 14px 70px;
  }
}
@media screen and (min-width: 768px) {
  .post-nav ul {
    margin: 100px auto;
    width: 270px;
    height: 36px;
  }
  .post-nav .next,
  .post-nav .prev {
    width: 105px;
  }
  .post-nav .prev a,
  .post-nav .next a {
    border-radius: 8px;
  }
  .post-nav .chevron-left,
  .post-nav .chevron-right {
    top: calc(50% - 6px);
    width: 10px;
    height: 10px;
  }
  .post-nav .chevron-left {
    left: 14px;
  }
  .post-nav .chevron-right {
    right: 14px;
  }
  .post-nav .nav-title {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  #toTop {
    margin: 120px auto;
    width: 218px;
    height: 45px;
  }
  #toTop a {
    border-radius: 10px;
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .single-body #ez-toc-container {
    margin-top: 4em;
    margin-bottom: 4em;
    padding: 30px;
  }
  .single-body #ez-toc-container .ez-toc-title-container {
    margin-bottom: 1em;
  }
  .single-body #ez-toc-container .ez-toc-title {
    font-size: 24px;
  }
  .single-body #ez-toc-container .ez-toc-list li a {
    font-size: 18px;
  }
}
@media screen and (min-width: 480px) {
  .mb30sp {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .fixed-footer .tel-side a {
    padding: 11.4px 0 !important;
    position: relative;
    top: -1px;
  }
}
@media screen and (max-width: 768px) {
  a.youtube_box {
    width: 100%;
    margin: 10px 0;
  }
}
@media screen and (max-width: 1200px) {
  .wp-block-embed.wp-has-aspect-ratio iframe {
    height: 36vw;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-embed.wp-has-aspect-ratio iframe {
    height: 50vw;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumb span {
    font-size: 12px;
  }

  .pankuzu_arrow:nth-of-type(3n) {
    display: none;
  }

  span.post.post-post.current-item {
    display: none;
  }
}

/* ===================================
 * タブレット専用CSS（768px-1200px）
 * ベース版から調整
 * =================================== */

@media screen and (min-width: 768px) and (max-width: 1200px) {
    
    /* === ヘッダー全体設定 === */
    header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 110px !important;
        background: #fff !important;
        z-index: 1000 !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    }
    
    body {
        padding-top: 110px !important;
        margin: 0 !important;
    }
    
    /* === コンテナ設定 === */
    header .container {
        position: relative !important;
        width: 100% !important;
        max-width: 1200px !important;
        height: 110px !important;
        margin: 0 auto !important;
        padding: 0 20px !important;
        display: block !important;
        box-sizing: border-box !important;
    }
    
    /* === 第1段：ロゴ + 事務所情報 === */
    
    /* ロゴ（左上） */
    header .header-title {
        position: absolute !important;
        top: 15px !important;
        left: 20px !important;
        width: 140px !important;
        z-index: 10 !important;
    }
    
    header .header-title img {
        width: 100% !important;
        height: auto !important;
        max-height: 40px !important;
    }
    
    /* 事務所情報（中央上・2行表示） */
    header .header-contact p {
        position: absolute !important;
        top: 15px !important;
        left: 175px !important;
        right: 300px !important;
        margin: 0 !important;
        display: block !important;
        z-index: 10 !important;
        white-space: normal !important;
        overflow: visible !important;
        line-height: 1.4 !important;
    }
    
    header .header-contact p span:nth-child(1) {
        display: block !important;
        font-size: 15px !important;
        font-weight: bold !important;
        color: #333 !important;
        margin-bottom: 2px !important;
        line-height: 1.3 !important;
    }
    
    header .header-contact p span:nth-child(2) {
        display: block !important;
        font-size: 13px !important;
        color: #333 !important;
        line-height: 1.3 !important;
    }
    
    header .header-contact p span:nth-child(2) .tel {
        font-size: 16px !important;
        font-weight: bold !important;
        color: #333 !important;
        margin-right: 8px !important;
    }
    
    header .header-contact p span:nth-child(2) .hours {
        font-size: 11px !important;
        color: #666 !important;
    }
    
    header .header-contact p span:nth-child(2) .hours small {
        font-size: 9px !important;
    }
    
    /* === 右上エリア：言語切替 + コンタクトボタン === */
    
    /* 言語切替（右上・小さめ） */
    header .lang_btn {
        position: absolute !important;
        top: calc(10% + 5px) !important; /* ヘッダーの高さ + 余白 */
        right: 20px !important;
        display: flex !important;
        gap: 3px !important;
        z-index: 15 !important;
        flex-wrap: nowrap !important;
    }
    
    header .lang_btn a {
        display: block !important;
        width: 42px !important;
        height: 22px !important;
        line-height: 20px !important;
        text-align: center !important;
        font-size: 9px !important;
        border: 1px solid #333 !important;
        border-radius: 11px !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
        font-weight: 500 !important;
        padding: 0 !important;
    }
    
    header .lang_btn a.active {
        background: #333 !important;
        color: #fff !important;
    }
    
    header .lang_btn a.non-active {
        background: #fff !important;
        color: #333 !important;
    }
    
    header .lang_btn a:hover {
        background: #ba6594 !important;
        border-color: #ba6594 !important;
        color: #fff !important;
    }
    
    /* コンタクトボタン（言語切替の下） */
    header .header-contact ul {
        position: absolute !important;
        top: calc(40% + 20px) !important; /* ヘッダーの高さ + 余白 */
        right: 20px !important;
        display: flex !important;
        gap: 5px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        z-index: 15 !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
    }
    
    header .header-contact ul li {
        margin: 0 !important;
        width: 85px !important;
        height: 24px !important;
        flex-shrink: 0 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    header .header-contact ul li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        background: #ba6594 !important;
        color: #fff !important;
        text-decoration: none !important;
        border-radius: 12px !important;
        font-size: 9px !important;
        font-weight: 500 !important;
        transition: background 0.3s ease !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        position: relative !important;
    }
    
    /* 既存のホバー効果を踏襲 */
    header .header-contact ul li a:hover {
        background: #602d6b !important;
        text-decoration: none !important;
    }
    
    /* メールアイコンスタイルを踏襲 */
    header .header-contact ul li a .mail {
        display: inline-block !important;
        width: 20% !important;
        height: 9px !important;
        background: url("./img/mail_icon.png") no-repeat center center !important;
        background-size: contain !important;
        text-indent: -9999px !important;
        vertical-align: -1px !important;
    }
    
    /* LINEアイコンスタイルを踏襲（修正版） */
    header .header-contact ul li a .line {
        display: inline-block !important;
        margin-left: 2px !important;
        margin-right: 2px !important;
        width: 100% !important;
        height: 10px !important;
        background: url("./img/LOA_logo_1_white_JP.png") no-repeat center center !important;
        background-size: contain !important;
        text-indent: -9999px !important;
        vertical-align: -1px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* LINEボタンの特殊対応 */
    header .header-contact ul li:nth-child(2) a {
        background: #ba6594 !important;
        color: #fff !important;
        text-indent: 0 !important;
        overflow: visible !important;
        font-size: 0 !important;
    }
    
    header .header-contact ul li:nth-child(2) a:hover {
        background: #602d6b !important;
    }
    
    header .header-contact ul li:nth-child(2) a .line {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 60% !important;
        height: 8px !important;
        margin: 0 !important;
    }
    
    /* === 第2段：ナビゲーション + LAW MAGAZINE === */
    
    /* ナビゲーション（左下・幅を制限） */
    .g-nav {
        position: absolute !important;
        bottom: 8px !important;
        left: 20px !important;
        width: calc(100% - 240px) !important;
        max-width: 600px !important;
        height: auto !important;
        background: none !important;
        transform: none !important;
        overflow: visible !important;
        z-index: 10 !important;
        pointer-events: auto !important;
        display: block !important;
        visibility: visible !important;
    }
    
    .standard-menu {
        width: 100% !important;
        margin: 0 !important;
        display: block !important;
        visibility: visible !important;
    }
    
    .standard-menu .sub-ul {
        display: flex !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        align-items: center !important;
    }
    
    .standard-menu .sub-ul > li {
        margin: 0 !important;
        border: none !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
    
    .standard-menu .sub-ul > li > a {
        display: block !important;
        padding: 8px 0 !important;
        color: #333 !important;
        text-decoration: none !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        border: none !important;
        border-radius: 0 !important;
        background: none !important;
        transition: color 0.3s ease !important;
        line-height: 1.3 !important;
        margin-right: 18px !important;
        white-space: nowrap !important;
	top: calc(25% + 5px) !important; /* ヘッダーの高さ + 余白 */
    }
    
    .standard-menu .sub-ul > li > a:hover {
        background: none !important;
        color: #ba6594 !important;
        border-color: transparent !important;
    }
    
    /* LAW MAGAZINE（右下・重複防止） */
    header .lawmagazine {
        position: absolute !important;
        bottom: 8px !important;
        right: 20px !important;
	top: calc(48% + 25px) !important; /* ヘッダーの高さ + 余白 */
        margin: 0 !important;
        z-index: 20 !important;
        display: block !important;
        min-width: 180px !important;
        text-align: right !important;
    }
    
    header .lawmagazine a {
        color: transparent !important;
        text-decoration: none !important;
        font-size: 0 !important; /* テキストを非表示 */
        font-weight: 500 !important;
        display: inline-block !important;
        line-height: 0 !important;
        text-indent: -9999px !important; /* テキストを画面外に移動 */
    }
    
    header .lawmagazine span {
        display: inline-block !important;
        font-size: 0 !important;
        color: #666 !important;
        font-style: italic !important;
        font-weight: 500 !important;
        text-indent: 0 !important; /* spanのテキストは表示 */
        position: relative !important;
        z-index: 1 !important;
    }
    
    header .lawmagazine a:hover span {
        color: #ba6594 !important;
    }
    
    /* 他のMAGAZINE要素を非表示にする */
    .lawmagazine-sp,
    header .lawmagazine-sp,
    .header-lawmagazine {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* === 不要な要素を非表示 === */
    .menu-btn {
        display: none !important;
        visibility: hidden !important;
    }
    
    .lawmagazine-sp,
    .header-contact-sp {
        display: none !important;
        visibility: hidden !important;
    }
    
    .standard-menu .sub-ul > li > a + span,
    .standard-menu .sub-menu-wrap {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* MAGAZINE重複要素を完全非表示 */
    *[class*="lawmagazine"]:not(.lawmagazine),
    *[class*="magazine"]:not(.lawmagazine),
    .header-lawmagazine,
    .magazine-link,
    .law-magazine {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        left: -9999px !important;
    }
    
    /* === メインコンテンツ表示の修正 === */
    main#mainSection,
    .single-main {
        padding: 0 20px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .category-archive-title,
    .cat-blocks,
    .both-area {
        padding: 20px 0 !important;
        margin-bottom: 0 !important;
    }
}
