@charset "utf-8";
/* @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Source+Code+Pro&display=swap"); */
@import url("fa.min.css");
/*
Theme Name: コーポレート：ja：日本語
Author: smb
*/
html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
body {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  background: #fff;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
dt,
dd,
th,
td {
  color: #000;
  word-break: break-all;
  line-height: 1.8;
}
h1,
h1 a {
  font-size: 28px;
}
h2,
h2 a {
  font-size: 26px;
}
h3,
h3 a {
  font-size: 22px;
}
.template h3,
.template h3 a {
  font-size: 26px;
}
h4,
h4 a {
  font-size: 16px;
}
h5,
h5 a {
  font-size: 13px;
}
h6,
h6 a {
  font-size: 13px;
}
p,
li,
dt,
dd,
th,
td {
  font-size: 16px;
  word-break: break-all;
}
a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover {
}
img {
  vertical-align: top;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.clearfix {
  *zoom: 1;
}

.center-block {
  margin-left: auto;
  margin-right: auto;
}
.inline-block {
  display: inline-block;
}
.txt-center {
  text-align: center;
}
.txt-left {
  text-align: left;
}
.txt-right {
  text-align: right;
}
.mincho {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}
.code {
  font-family: "Source Code Pro", monospace;
}

.link {
  text-align: center;
  padding: 40px 0 0;
}
.link a {
  border: 1px solid rgba(21, 32, 36, 0.7);
  padding: 5px 30px;
  color: #fff;
  background-color: rgba(21, 32, 36, 0.7);
  text-decoration: none;
}
.link a:hover {
  background-color: rgba(255, 255, 255, 0.7);
  color: rgba(21, 32, 36, 1);
  border: 1px solid rgba(21, 32, 36, 0.7);
}
.link a.disabled {
  pointer-events: none;
  background: #aaa;
  border: none;
  color: #999;
  cursor: not-allowed;
}
.fas {
  margin-right: 0.3em;
}

.spOnly,
.pc-none {
  display: block;
}
br.spOnly,
br.pc-none {
  line-height: 0;
}
.pcOnly,
.sp-none {
  display: none;
}
.bold,
strong {
  font-weight: 700;
}
.white h2,
.white p,
.white a,
.white small {
  color: #fff;
}

.mgt0 {
  margin-top: 0 !important;
}
.mgb0 {
  margin-bottom: 0 !important;
}
.pdt0 {
  padding-top: 0 !important;
}
.pdb0 {
  padding-bottom: 0 !important;
}

.v-top {
  vertical-align: top;
}
.v-middle {
  vertical-align: middle;
}
.v-bottom {
  vertical-align: bottom;
}
.mgt-big {
  margin-top: 6.25vw;
}
.mgt-middle {
  margin-top: 4.6875vw;
}
.mgt-small {
  margin-top: 3.125vw;
}
.mgb-big {
  margin-bottom: 6.25vw;
}
.mgb-middle {
  margin-bottom: 4.6875vw;
}
.mgb-small {
  margin-bottom: 3.125vw;
}
.font-h3 {
  font-size: 4vw !important;
}
.text-inner.post > p b,
.text-inner.post > p strong,
.text-inner.post > ul b,
.text-inner.post > ul strong,
.text-inner.post > ol b,
.text-inner.post > ol strong,
.text-inner.post > blockquote b,
.text-inner.post > blockquote strong,
.text-inner.post > a b,
.text-inner.post > a strong {
  background: #f7bb9e;
  color: #222222;
  font-weight: normal !important;
}

.movie-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 20px;
}
.movie-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@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;
  }
}

.fa-folder:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f07b";
}
.border-none {
  border: none !important;
}

/*------------------------
 * btn
 */
.btn-more {
  margin: 0 auto;
  width: 51.3334vw;
  height: 10.6667vw;
}
.btn-more a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #ba6594;
  border-radius: 1.3334vw;
  font-size: 3.4667vw;
  line-height: 1;
  color: #fff !important;
}
.btn-more a:hover {
  background: #1d0a19;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .btn-more {
    width: 218px;
    height: 45px;
  }
  .btn-more a {
    border-radius: 10px;
    font-size: 14px;
  }
}

/*------------------------
 * container
 */
.container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1240px) {
  .container {
    margin: 0 20px;
  }
}

/*------------------------
 * header
 */
body {
  padding-top: 120px;
}
header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  background: #fff;
  margin: 0 auto;
  width: 100vw;
  height: 120px;
}
header .container {
  box-sizing: border-box;
  margin: 0;
  padding: 2.6667vw 0 0;
  position: relative;
  max-width: 100%;
  height: 29.3334vw;
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
header.fixed .container {
  padding: 2.6667vw 0 0;
  height: 29.3334vw;
}
header .container .lang_btn {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  right: 18vw;
  top: 16.5vw;
}
header .container .lang_btn a {
  border: solid 1px #000;
  border-radius: 2vw;
  display: block;
  font-size: 3.2vw;
  margin-left: 1vw;
  padding: 2vw 0;
  text-align: center;
  width: 16vw;
}
header .container .lang_btn a:hover {
  text-decoration: none;
}
header .container .lang_btn a.non-active {
  background-color: #000;
  color: #fff;
}
header .container .lang_btn a.active {
  background-color: #fff;
  color: #000;
}
header .container .lang_btn a.active:hover {
  background-color: #000;
  color: #fff;
}
header.fixed .container {
  padding: 2.6667vw 0 0;
  height: 29.3334vw;
}
header .header-title {
  position: absolute;
  left: 4vw;
  top: 11vw;
  width: 33.3334vw;
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
header.fixed .header-title {
  top: 11vw;
  width: 33.3334vw;
}
header .title img {
  width: 100%;
}
header .header-title h1,
header .header-title a {
  font-size: 22px;
}
header .header-contact {
  margin-bottom: 18.6667vw;
  width: 100%;
}
header .header-contact p {
  display: none;
}
header .header-contact ul {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 85.3334vw;
}
header .header-contact ul li {
  width: 40vw;
  height: 7.7334vw;
  margin-left: 0.5vw;
  margin-right: 0.5vw;
}

header .header-contact ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #ba6594;
  border-radius: 1.3334vw;
  font-size: 3.3334vw;
  line-height: 1;
  color: #fff;
}

header .header-contact ul li a:hover{
  background: #602d6b;
  text-decoration: none;
}

header .header-contact ul li a .mail {
    display: inline-block;
    width: 20%;
    height: 9px;
    background: url("./img/mail_icon.png") no-repeat center center;
    background-size: contain;
    text-indent: -9999px;
    vertical-align: -1px;
}

header .header-contact ul li a .line {
    display: inline-block;
    margin-left: 2px;
    margin-right: 2px;
    width: 100%;
    height: 10px;
    background: url("./img/LOA_logo_1_white_JP.png") no-repeat center center;
    background-size: contain;
    text-indent: -9999px;
    vertical-align: -1px;
}Add commentMore actions

header .lawmagazine {
  display: none;
}

@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;
  }
}

/*------------------------
 * メニュー
 */
.g-nav {
  overflow: hidden;
  height: calc(100vh - 29.3334vw);
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  pointer-events: none;
}
.g-nav::-webkit-scrollbar {
  display: none;
}
.header.close .g-nav {
  pointer-events: auto;
}
.g-nav a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
  font-size: 3.7334vw;
}
.g-nav a:hover {
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.standard-menu {
  display: block;
  margin-left: 100vw;
  width: 100vw;
}
.header.close .standard-menu {
  margin-left: 0;
}
.standard-menu > .sub-ul {
  padding: 0 5.3334vw;
}
.standard-menu > .sub-ul > li {
  position: relative;
}
.standard-menu > .sub-ul > li > a {
  display: block;
  padding: 0.4em 0 0.5em;
  border-bottom: #f29b7e 1px solid;
  font-size: 3.7334vw;
}
.standard-menu > .sub-ul > li + li {
  margin-top: -1px;
}
.standard-menu > .sub-ul > li + li > a {
  border-top: #f29b7e 1px solid;
}
.standard-menu > .sub-ul > li > a + span {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 9.3334vw;
  height: 9.3334vw;
  cursor: pointer;
}
.standard-menu > .sub-ul > li > a + span:before,
.standard-menu > .sub-ul > li > a + span:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 5.0667vw;
  height: 0;
  border-top: #271839 1px solid;
}
.standard-menu > .sub-ul > li > a + span:after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.standard-menu > .sub-ul > li > a + span.close:after {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}
.standard-menu > .sub-ul .sub-menu-wrap {
  display: none;
}
.standard-menu > .sub-ul .sub-menu-wrap > .sub-menu {
  padding-left: 1em;
}
.standard-menu > .sub-ul .sub-menu-wrap > .sub-menu a {
  display: block;
  padding: 0.5em 0;
}
.standard-menu > .sub-ul .sub-menu-wrap > .sub-menu a:hover {
  opacity: 0.4;
}
.standard-menu > .sub-ul .sub-menu-wrap > .sub-menu li > a + ul {
  margin-left: 1em;
}
.lawmagazine-sp,
.header-contact-sp {
  margin-left: 100%;
}
.header.close .lawmagazine-sp,
.header.close .header-contact-sp {
  margin-left: 0;
}
.g-nav .lawmagazine-sp {
  margin-bottom: 4.8vw;
  padding: 0 5.3334vw;
  font-size: 3.7334vw;
  /* cls対策 */
  min-width: 335px;
  min-height: 41.2px;
}

.g-nav .lawmagazine-sp a {
  display: block;
  margin-top: -1px;
  padding: 6px 0 14px 0px;
  border-top: #f29b7e 1px solid;
  border-bottom: #f29b7e 1px solid;
  font-size: 0;
  text-align: center;
}

.g-nav .lawmagazine-sp span {
  display: inline-block;
  margin-left: 0;
  width: 53.3334vw;
  height: 2.6667vw;
  background: url("./img/monolithlawmagazine.svg") no-repeat center center;
  background-size: contain;
  text-indent: -9999px;
  vertical-align: -2.1334vw;
}

.g-nav .lawmagazine-sp a:hover span {
  background-image: url("./img/monolithlawmagazine_on.svg");
}
.g-nav .header-contact-sp {
  margin-bottom: 10vw;
  padding: 0 5.3334vw;
}
.g-nav .header-contact-sp .title {
  display: block;
  font-size: 3.7334vw;
  font-weight: bold;
  line-height: 1;
  color: #602d6b;
}
.g-nav .header-contact-sp .tel {
  display: block;
  font-size: 6.6667vw;
}
.g-nav .header-contact-sp .hours {
  display: block;
  font-size: 3.4667vw;
}
.menu-btn {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 999;
  width: 18.6667vw;
  height: 18.6667vw;
  cursor: pointer;
}
.menu-btn span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 9.0667vw;
  height: 0.4vw;
  background: #1d0a19;
  border-radius: 0.2vw;
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.menu-btn span:nth-child(1) {
  margin-top: -2.6667vw;
}
.menu-btn span:nth-child(3) {
  margin-top: 2.6667vw;
}
.header.close .menu-btn span:nth-child(2) {
  opacity: 0;
}
.header.close .menu-btn span:nth-child(1) {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}
.header.close .menu-btn span:nth-child(3) {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.overlay {
  display: none;
  position: fixed;
  top: 0;
  height: 100%;
  width: 100%;
  background: #fff;
  overflow: auto;
  z-index: 99;
}
@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: 21%;
  }
  .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: 14px;
  }
  .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;
  }
}

/*------------------------
 * グローバルメニュー ボタン
 */
.button a {
  border-radius: 50px;
  padding: 5px 10px !important;
  display: block;
  width: auto;
  color: #fff;
  border: 2px solid #2fa8e1;
  background: #2fa8e1;
  max-width: 200px;
  margin: 0 auto;
}
.button.seikyuu a {
  border: 2px solid #39cb98;
  background: #39cb98;
}

.overlay .wrap .button a {
  color: #fff;
}
.button a:hover {
  background: #fff;
  color: #2fa8e1;
  text-decoration: none;
  opacity: 1;
}
.button.seikyuu a:hover {
  color: #39cb98;
}
.overlay .wrap .button a:hover {
  color: #2fa8e1;
}
.overlay .wrap .button.seikyuu a:hover {
  color: #39cb98;
}

/*------------------------
 * フロント
 */
.home-body .section-area {
  margin: 20px 0;
}
.slider-container,
.slider-nav-container {
  display: none;
  position: relative;
}
.slider-container.initialized,
.slider-nav-container.initialized {
  display: block;
}
.slider {
  overflow: hidden;
}
.slider-nav {
  margin: 0 26px;
}
.slider-arrow {
  position: absolute;
  top: 50%;
  height: 36px;
  margin-top: -18px;
  color: #aaa;
  line-height: 36px;
  font-size: 28px;
  cursor: pointer;
  z-index: 10;
}
.slider-prev {
  left: 0;
}
.slider-next {
  right: 0;
}
.slick-slide {
  outline: 0;
}
.slider .slick-slide > img,
.slider-nav .slick-slide > img {
  display: block;
  width: 100%;
  height: auto;
}
.slider-main {
  position: relative;
}
.slider-main > .slider-image {
  background-position: center center;
  background-repeat: no-repeat;
  -moz-background-size: cover;
  background-size: cover;
  height: 520px;
  width: 100%;
}
.slider-main > .slider-image:before {
  content: "";
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.slider-main .catch-inner {
  display: block;
  position: absolute;
  line-height: 1.5;
  width: 100%;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
}
.slick-prev,
.slick-next {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  top: 90%;
}
.slick-prev {
  left: 2%;
}
.slick-next {
  right: 2%;
}
.slick-prev::before,
.slick-next:before {
  color: #000;
}
.slick-prev::before {
  content: "←";
}
.slick-next::before {
  content: "→";
}
.slick-prev::before,
.slick-next::before {
  font-family: "slick";
  font-size: 40px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  z-index: 80;
}
.slider-main p.catchcopy,
.slider-main h2.company-name,
.slider-main a.slider-link {
  color: #fff;
}
.slider-main p.catchcopy {
  font-size: 20px;
}
.slider-main h2.company-name {
  font-size: 34px;
  font-weight: 600;
}
.slider-main .slider-link-area {
  margin: 20px 0 0;
}
@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) {
}

/*------------------------
 * section 共通
 */
.blue-section {
  background: #2fa8e1;
}
.gray-section {
  background: #efefef;
}
.white-section {
  background: #fff;
}
.red-section {
  background: #e17c80;
}
.purple-section {
  background: #602d6b;
}
.purple2-section {
  background: #e5dbe7;
}
.orange-section {
  background: #f7bb9e;
}
.template .orange-section p a {
  color: #602d6b;
}
.orange2-section {
  background: #fef4ef;
}
.mgt-section {
  margin-top: 18.6667vw;
}
.mgt-section100 {
  margin-top: 13.3334vw;
}
.mgt-section80 {
  margin-top: 10.6667vw;
}
.mgb-section {
  margin-bottom: 18.6667vw;
}
.mgb-section100 {
  margin-bottom: 13.3334vw;
}
.mgb-section80 {
  margin-bottom: 10.6667vw;
}
.border-bottom-section {
  border-bottom: #150914 1px solid;
}
.section-inner {
  padding: 13.3334vw 0;
  max-width: 89.3334vw;
  margin: 0 auto;
  box-sizing: border-box;
}
.section-inner-half {
  padding: 6.6667vw 0;
  max-width: 89.3334vw;
  margin: 0 auto;
  box-sizing: border-box;
}
.section-inner-tophalf {
  padding: 6.6667vw 0 13.3334vw;
  max-width: 89.3334vw;
  margin: 0 auto;
  box-sizing: border-box;
}
.section-inner-bottomhalf {
  padding: 13.3334vw 2% 6.6667vw;
  max-width: 89.3334vw;
  margin: 0 auto;
  box-sizing: border-box;
}
.section-inner-black {
  margin: 0 auto;
  padding: 8.6667vw 4vw;
  max-width: 89.3334vw;
  background: #1d0a19;
  border-radius: 1.3334vw;
  box-sizing: border-box;
}
.section-inner-black .section-inner {
  padding: 8vw 0;
}

.max-width768 {
  max-width: 768px;
}
.max-width680,
.max-width710,
.max-width780,
.max-width860,
.max-width800,
.max-width980,
.max-width1000,
.max-width1050,
.max-width1100 {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  box-sizing: border-box;
}
.width550-sp {
  margin: 0 auto;
  width: 73.3334vw;
}
.width575-sp {
  margin: 0 auto;
  width: 76.6667vw;
}

.purple-section h2,
.purple-section h3,
.purple-section h4,
.purple-section h5,
.purple-section p,
.purple-section a,
.purple-section li,
.purple-section dd,
.purple-section dt,
.blue-section h2,
.blue-section h3,
.blue-section h4,
.blue-section h5,
.blue-section p,
.blue-section a,
.blue-section li,
.blue-section dd,
.blue-section dt,
.red-section h2,
.red-section h3,
.red-section h4,
.red-section h5,
.red-section p,
.red-section a,
.red-section li,
.red-section dd,
.red-section dt {
  color: #fff;
}
.section-inner-black h3,
.section-inner-black h4,
.section-inner-black h5,
.section-inner-black p,
.section-inner-black a,
.section-inner-black li,
.section-inner-black dd,
.section-inner-black dt {
  color: #fff;
}

@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;
  }
}

/*------------------------
 * front-top
 */
.front-top {
  margin-bottom: 8vw;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("./img/top/kv_bg.jpg");
  background-size: auto 100%;
}
.front-top .section-inner {
  position: relative;
  padding: 8vw 0 0 0;
  min-height: 77.3334vw;
  box-sizing: border-box;
}
.front-top .top-logo {
  display: none;
}
.front-top p {
  opacity: 0;
  transform: translate(0, 20%);
  margin: 0 auto;
  width: 89.3334vw;
  font-size: 3.7334vw;
  line-height: 1.65;
  color: #fff;
}
.front-top p strong {
  font-size: 7.7334vw;
  font-weight: bold;
}
.front-top p.text3 {
  margin-top: 0.5em;
  font-size: 5.0667vw;
}
.front-top.delighter .text1 {
  transition: all 0.5s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1s;
}
.front-top.delighter .text2 {
  transition: all 0.5s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.2s;
}
.front-top.delighter .text3 {
  transition: all 0.5s cubic-bezier(0.21, 1.05, 0.8, 0.98) 1.4s;
}
.front-top.delighter.started .text1,
.front-top.delighter.started .text2,
.front-top.delighter.started .text3 {
  opacity: 1;
  transform: translate(0, 0);
}
@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;
  }
}

/*------------------------
 * front about
 */
.front-about {
  margin-bottom: 10.6667vw;
}
.front-about .section-inner {
  padding: 0;
}
.front-about .en {
  margin-bottom: 0.5em;
  font-size: 3.4667vw;
  font-weight: bold;
  color: #602d6b;
  line-height: 1;
}
.front-about h2 {
  margin-bottom: 0.5em;
  font-size: 4.4vw;
}
.front-about p {
  font-size: 3.6vw;
}
.front-about p + p {
  margin-top: 1.5em;
}
.front-about .pic {
  border-radius: 1.0667vw;
  margin-top: 0.5em;
  overflow: hidden;
  height: 100%;
}
.front-about .pic img {
  object-fit: cover;
  object-position: center;
  height: 100%;
  width: 100%;
}
@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;
  }
}

/*------------------------
 * front numbers
 */
.front-numbers {
  margin-bottom: 6.6667vw;
}
.front-numbers .section-inner {
  padding: 0;
}
.front-numbers .en {
  margin-bottom: 0.5em;
  font-size: 3.4667vw;
  font-weight: bold;
  color: #602d6b;
  line-height: 1;
}
.front-numbers h2 {
  margin-bottom: 1em;
  font-size: 4.4vw;
  line-height: 1.3;
}
.front-numbers .box-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.front-numbers .box-wrap > div {
  margin-bottom: 4vw;
  padding: 3.3334vw 0 2.6667vw;
  width: 47.7612%;
  background: #602d6b;
  border-radius: 1.3334vw;
  box-sizing: border-box;
}
.front-numbers .box-wrap > div h3 {
  font-size: 3.3334vw;
  color: #fff;
  line-height: 1;
  text-align: center;
}
.front-numbers .box-wrap > div .code {
  font-size: 17.3334vw;
  color: #f7bb9e;
  line-height: 1;
  letter-spacing: -0.08em;
  text-align: center;
}
.front-numbers .box-wrap > div .text {
  display: none;
}
@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;
  }
}

/*------------------------
 * front service
 */
.front-service {
  margin-bottom: 8vw;
}
.front-service .section-inner {
  padding: 0;
}
.front-service .en {
  margin-bottom: 0.5em;
  font-size: 3.4667vw;
  font-weight: bold;
  color: #602d6b;
  line-height: 1;
}
.front-service h2 {
  margin-bottom: 0.5em;
  font-size: 4.4vw;
  line-height: 1.3;
}
.front-service .front-service-field {
  position: relative;
  margin-bottom: 7.3334vw;
  padding: 6.6667vw 0 10vw;
  background: #e3c1d4;
}
.front-service .front-service-field:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
  display: block;
  border-top: #e3c1d4 6.6667vw solid;
  border-right: transparent 7.1642vw solid;
  border-left: transparent 7.1642vw solid;
}
.front-service .front-service-field h3 {
  margin-bottom: 1.5em;
  font-size: 5.0667vw;
  font-weight: bold;
  color: #602d6b;
  line-height: 1;
  text-align: center;
}
.front-service .front-service-field .box-wrap > div {
  padding: 4vw 0;
  width: 89.3334vw;
  background: #1d0a19;
  border-radius: 1.3334vw;
  box-sizing: border-box;
}
.front-service .front-service-field .box-wrap > div + div {
  margin-top: 2.6667vw;
}
.front-service .front-service-field .box-wrap > div h4 {
  margin-bottom: 1em;
  font-size: 4vw;
  color: #fff;
  line-height: 1;
  text-align: center;
}
.front-service .front-service-field .box-wrap > div .icon {
  margin: 0 auto 2.6667vw;
  width: 14.6667vw;
}
.front-service .front-service-field .box-wrap > div .icon img {
  width: 100%;
}
.front-service .front-service-field .box-wrap > div p {
  margin: 0 auto 0.5em;
  width: 83.5821%;
  font-size: 3.6vw;
  color: #fff;
}
.front-service .front-service-field .box-wrap > div .btn-more a:hover {
  background-color: #602d6b;
}
.front-service .front-service-example .section-inner {
  padding: 0;
}
.front-service .front-service-example .section-inner > p {
  margin: 0 0 5vw;
  font-size: 5.0667vw;
  color: #602d6b;
  line-height: 1;
  text-align: center;
}
.front-service .front-service-example ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0 auto;
}
.front-service .front-service-example ul li {
  margin-bottom: 4vw;
}
.front-service .front-service-example ul li.btn:nth-child(odd) {
  padding-top: 5vw;
  width: 100%;
}
.front-service .front-service-example ul li.btn:nth-child(even) {
  margin-top: 10.6667vw;
}
.front-service .front-service-example ul li .icon {
  margin: 0 auto 1.3334vw;
  width: 64.1792%;
}
.front-service .front-service-example ul li .icon img {
  width: 100%;
}
.front-service .front-service-example ul li p {
  font-size: 3.4667vw;
  line-height: 1.6;
  color: #602d6b;
  text-align: center;
}
@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;
  }
}

/*------------------------
 * front client
 */
.front-client {
  margin-bottom: 12vw;
}
.template .front-client {
  margin-top: 8vw;
}
.front-client .section-inner {
  padding: 0;
  max-width: 100%;
}
.front-client h2 {
  font-size: 5.0667vw;
  font-weight: bold;
  color: #602d6b;
  line-height: 1;
  text-align: center;
}
.front-client ul {
  display: flex;
  flex-wrap: wrap;
}
.front-client ul li,
.template .front-client ul li {
  position: relative;
  padding: 0;
  width: 33.3333%;
}
.front-client ul li:before,
.front-client ul li:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  z-index: 2;
}
.front-client ul li:before {
  width: 4.5334vw;
  height: 0;
  border-top: #602d6b 1px solid;
  transform: translate(50%, 50%);
}
.front-client ul li:after {
  width: 0;
  height: 4.5334vw;
  border-left: #602d6b 1px solid;
  transform: translate(50%, 50%);
}
.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: none;
}
.front-client ul li img {
  width: 100%;
}
.heading-area.clients + .front-client {
  margin-bottom: 0;
}
.heading-area.clients + .front-client h2,
.heading-area.clients + .front-client .btn-more {
  display: none;
}
.clients-list p {
  margin-bottom: 3em;
}
@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;
  }
}

/*------------------------
 * front news
 */
.front-news {
  margin-bottom: 12vw;
}
.front-news .section-inner {
  padding: 0;
}
.front-news h2 {
  margin-bottom: 0.8em;
  font-size: 5.0667vw;
  font-weight: bold;
  color: #602d6b;
  line-height: 1;
  text-align: center;
}
.front-news ul {
  margin-bottom: 2em;
}
.front-news ul li {
  position: relative;
}
.front-news ul li + li {
  margin-top: 2vw;
}
.front-news ul li .date {
  display: block;
  margin-bottom: 0.5em;
  font-size: 3.7334vw;
  font-weight: bold;
  line-height: 1;
}
.front-news ul li .category {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 8em;
  padding: 0.3em 0.5em 0.4em;
  box-sizing: border-box;
  border-radius: 2.1334vw;
  font-size: 2.6667vw;
  color: #fff;
  line-height: 1;
  text-align: center;
}
.news-category-0 {
  background-color: #602d6b;
}
.news-category-1 {
  background-color: #f29b7e;
}
.news-category-2 {
  background-color: #ba6594;
}
.news-category-3 {
  background-color: #58508f;
}
.news-category-4 {
  background-color: #c24964;
}
.news-category-5 {
  background-color: #cb7147;
}
.news-category-6 {
  background-color: #12679e;
}
.news-category-7 {
  background-color: #1c2a53;
}
.news-category-8 {
  background-color: #c61e57;
}
.news-category-9 {
  background-color: #964f90;
}

.front-news ul li .subject {
  display: block;
  font-size: 3.4667vw;
  line-height: 1.55;
  text-align: left;
}
@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;
  }
}

/*------------------------
 * .news-list
 */
.news-list {
  margin-bottom: 10.6666;
}
.news-list ul li {
  position: relative;
  padding: 4vw;
  border: #602d6b 1px solid;
  border-radius: 1.6vw;
}
.news-list ul li a {
  color: #000 !important;
}
.news-list ul li + li {
  margin-top: 5.3334vw;
}
.news-list ul li .date {
  display: block;
  margin-bottom: 0.5em;
  font-size: 3.7334vw;
  font-weight: bold;
  line-height: 1;
  color: #602d6b;
}
.news-list ul li .category {
  position: absolute;
  right: 4vw;
  top: 3.3334vw;
  display: block;
  width: 8em;
  padding: 0.3em 0.5em 0.4em;
  box-sizing: border-box;
  border-radius: 2.1334vw;
  font-size: 2.6667vw;
  color: #fff;
  line-height: 1;
  text-align: center;
}
.news-list ul li .subject {
  display: block;
  font-size: 3.4667vw;
  line-height: 1.55;
  text-align: justify;
  color: #000;
}
@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;
  }
}

/*------------------------
 * front banner
 */
.front-banner {
  margin-bottom: 12vw;
}
.front-banner .section-inner {
  padding: 0;
  max-width: 100%;
}
.front-banner .banner-slider {
  overflow: visible;
  margin: 0 auto;
  width: 100%;
}
.front-banner .slick-slide {
  padding: 0 2.6667vw;
  width: 48vw;
}
.front-banner .slick-slide img {
  margin: 0 auto;
  width: 100%;
}
.front-banner .slick-dots {
  bottom: auto;
}
.front-banner .slick-dots li {
  margin: 0 0.6667vw;
  width: 2.6667vw;
  height: 2.6667vw;
}
.front-banner .slick-dots li button {
  padding: 0;
  background-color: #ba6594;
  width: 2.6667vw;
  height: 2.6667vw;
  border-radius: 10px;
}
.front-banner .slick-dots li.slick-active button {
  background-color: #1d0a19;
}
.front-banner .slick-dots li button::before {
  content: "";
}
@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");
  }
}

/*------------------------
 * front lawyer
 */
.front-lawyer h2 {
  text-align: center;
}
.lawyers {
  font-size: 0;
}
.lawyers .lawyer {
  display: inline-block;
  background: #efefef;
  width: 45%;
  vertical-align: top;
  margin: 0 2% 40px;
}
.lawyers .lawyer img {
  width: 100%;
  height: auto;
}
.lawyers .lawyer .figcaption-inner {
  text-align: center;
  padding: 20px 0;
}
.lawyers .lawyer h3 {
  color: #333;
}
.lawyers .lawyer p {
  color: #333;
}
.lawyers figure {
  position: relative;
  overflow: hidden;
}
.lawyers figure a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
.lawyer .img-wrap {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.lawyer .img-wrap img {
  display: block;
  transition-duration: 0.3s;
}
.lawyer figure:hover .img-wrap img {
  transform: scale(1.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.lawyer figure:hover img {
  opacity: 0.4;
}
.lawyer figure:hover h3 {
  background-color: rgba(255, 255, 255, 0);
}
.lawyer figure:hover figcaption {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@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;
  }
}

/*------------------------
 * front book
 */
.front-book h2 {
  text-align: center;
}
.front-book .section-inner {
  padding: 0;
}
.books {
  margin: 0 auto;
  width: 89.3334vw;
}
.books .book {
  margin: 0 0 13.3334vw;
  width: 100%;
  background: #fff;
}
.books .book img {
  width: 100%;
  height: auto;
}
.books figure {
  position: relative;
  overflow: hidden;
}
.books figure a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
.book .img-wrap {
  margin-bottom: 2.9334vw;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1.3334vw;
}
.book .img-wrap img {
  display: block;
  transition-duration: 0.3s;
}
.book figure:hover .img-wrap img {
  transform: scale(1.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.book figure:hover img {
  opacity: 0.4;
}
.books .book .figcaption-inner {
  padding: 4.6667vw;
  background: #f7bb9e;
  border-radius: 1.3334vw;
}
.books .book p {
  color: #222222;
}
@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;
  }
}

/*------------------------
 * front google map
 */
.google-maps {
  position: relative;
  height: 107.3334vw;
  overflow: hidden;
}
.google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (min-width: 768px) {
  .google-maps {
    height: 525px;
  }
}

/*------------------------
 * 固定ページ
 */
.temp-image {
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 0;
  background-position: center center;
  background-repeat: no-repeat;
  -moz-background-size: cover;
  background-size: cover;
  height: 200px;
}
.temp-image:before {
  z-index: 0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.25);
}
.temp-inner {
  display: block;
  position: absolute;
  line-height: 1.5;
  width: 100%;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
}
.temp-inner h2 {
  color: #fff;
  font-size: 28px;
  font-weight: 600;
}
.template h3 {
  margin-bottom: 4.8vw;
  padding: 0.7em 0.76em 0.8em;
  background: #1d0a19;
  border-radius: 0 0 2.1334vw 0;
  font-size: 4.4vw;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
}
.template h3 span {
  font-size: 76%;
}
.template p + h3 {
  margin-top: 0.5em;
}
.template .article h3,
.related-companies .related-company h3 {
  border: none;
  padding: 0;
}
.template .section-inner-black h3 {
  padding: 0;
  text-align: center;
}

.template h3.ttl-enjp {
  margin-bottom: 5.3334vw;
  padding: 0;
  background: transparent;
  text-align: center;
}
.template h3.ttl-enjp .en {
  display: block;
  margin-bottom: 0.5em;
  font-size: 2.4vw;
  color: #602d6b;
}
.template h3.ttl-enjp .ja {
  display: block;
  font-size: 4.4vw;
  color: #1d0a19;
}

.template h3.ttl-2line {
  margin-bottom: 5.3334vw;
  padding: 0;
  background: transparent;
  text-align: center;
}
.template h3.ttl-2line .line1 {
  display: block;
  margin-bottom: 0.5em;
  font-size: 3.4667vw;
  color: #602d6b;
}
.template h3.ttl-2line .line2 {
  display: block;
  font-size: 6.9334vw;
  color: #1d0a19;
}

.template h3.ttl-white {
  margin-bottom: 10.6667vw;
  padding: 0;
  background: transparent;
  font-size: 5.6001vw;
  color: #1d0a19;
  text-align: center;
}

.template h4 {
  font-size: 3.6vw;
  font-weight: bold;
}
.template h4.border-left {
  position: relative;
  margin-bottom: 4vw;
  padding-left: 3.4667vw;
  font-size: 4.4vw;
  font-weight: bold;
}
.template h4.border-left:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 85%;
  transform: translate(0, -46%);
  display: block;
  border-left: #1d0a19 2px solid;
}
.template .purple-section h4.border-left:before {
  border-left-color: #fff;
}
.template h4.border-left-orange {
  position: relative;
  margin-bottom: 6.6667vw;
  padding-left: 4vw;
  font-size: 4.1334vw;
  font-weight: bold;
}
.template h4.border-left-orange:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 70%;
  transform: translate(0, -46%);
  display: block;
  border-left: #f29b7e 1.3334vw solid;
}

.template p {
  font-size: 3.6vw;
  line-height: 1.8;
}
.template p a {
  color: #ba6594;
}
.template .purple-section p a {
  color: #f7bb9e;
}
.template p.big-title {
  font-size: 22px;
  font-weight: 600;
}
.template ul.layout-column4 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  width: 89.3334vw;
}
.template ul.layout-column4 li {
  margin-bottom: 6vw;
  padding: 0;
  width: 40.6667vw;
}
.template ul.layout-column4 li a {
  color: #000000;
}
.template ul.layout-column4 li h4 {
  margin-bottom: 0.5em;
  font-size: 3.6vw;
  line-height: 1;
  text-align: center;
}
.template ul.layout-column4 li h4.height2line {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  height: 4em;
  line-height: 1.4;
}
.template ul.layout-column4 li div {
  margin-bottom: 3.3334vw;
  overflow: hidden;
  border-radius: 1.0667vw;
}
.template ul.layout-column4 li p {
  margin-top: 3.3334vw;
  line-height: 1.6;
}

.template ul.layout-column3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  width: 89.3334vw;
}
.template ul.layout-column3 li {
  margin-bottom: 6vw;
  padding: 0;
  width: 100%;
}
.template ul.layout-column3 li a {
  color: #000000;
}
.template ul.layout-column3 li h4 {
  margin-left: 46.6667vw;
  margin-bottom: 0.5em;
}
.template ul.layout-column3 li h4,
.template ul.layout-column3 li h4 a {
  font-size: 3.6vw;
  line-height: 1;
  text-align: left;
}
.template ul.layout-column3 li div {
  float: left;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: 1.0667vw;
  width: 40.6667vw;
}
.template ul.layout-column3 li p {
  margin-top: 3.3334vw;
  margin-left: 46.6667vw;
  line-height: 1.4;
}
.template ul.layout-column3.width100 li + li {
  margin-top: 2vw;
}
.template ul.layout-column3.width100 li div {
  float: none;
  margin-bottom: 0;
  overflow: hidden;
  border-radius: 1.0667vw;
  width: 100%;
}
.template ul.layout-column3.width100 li p {
  margin-top: 3.3334vw;
  margin-left: 0;
  line-height: 1.4;
}

.template .layout-datalist {
  margin-left: auto;
  margin-right: auto;
  width: 89.3334vw;
}
.template .layout-datalist li {
  margin-bottom: 8vw;
  padding: 0;
  width: auto;
  text-align: center;
}
.template .layout-datalist li h4 {
  display: inline-block;
  margin-bottom: 1em;
  padding: 0 1em;
  border-left: #f29b7e 0.4vw solid;
  border-right: #f29b7e 0.4vw solid;
  font-size: 4.1334vw;
  line-height: 1;
}
.template .layout-datalist li h5 {
  margin-bottom: 1em;
  font-size: 3.6vw;
  font-weight: bold;
  line-height: 1;
  text-align: left;
}
.template .layout-datalist li p {
  font-size: 3.6vw;
  text-align: left;
}

.template ol.practices-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  width: 89.3334vw;
}
.template ol.practices-list li {
  margin-bottom: 6vw;
  padding: 0;
  width: 40.6667vw;
}
.template ol.practices-list li h4 {
  position: relative;
  margin-bottom: -2.6667vw;
}
.template ol.practices-list li p {
  margin-top: 3.3334vw;
  line-height: 1.6;
}

.template img {
  width: 100%;
  height: auto;
}
.template .contact-content img {
  width: auto;
  height: auto;
}

.border-top-black {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: #250b22 1px solid;
}
.border-bottom-black {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: #250b22 1px solid;
}
.border-top-orange {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: #f7bb9e 1px solid;
}
.border-bottom-orange {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: #f7bb9e 1px solid;
}
.border-top-purple {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: #602d6b 1px solid;
}
.border-bottom-purple {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: #602d6b 1px solid;
}

.both-border {
  text-align: center;
}
.both-border div {
  position: relative;
  display: inline-block;
  margin: 20px 0;
}
.both-border p,
.red-section p {
  font-size: 16px;
}
.red-section.normal p {
  font-size: 13px;
}
.both-border div:before,
.both-border div:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 180px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 2px;
}
.both-border.white div:before,
.both-border.white div:after {
  background-color: #fff;
}
.both-border.black div:before,
.both-border.black div:after {
  background-color: #333;
}
.both-border div:before {
  top: -30px;
}
.both-border div:after {
  bottom: -30px;
}
.img-width250 img {
  max-width: 250px;
  width: 100%;
  height: auto;
}
.img-width300 img {
  max-width: 300px;
  width: 100%;
  height: auto;
}
.img-width350 img {
  max-width: 350px;
  width: 100%;
  height: auto;
}
.img-width400 img {
  max-width: 400px;
  width: 100%;
  height: auto;
}
.img-width800 img {
  max-width: 800px;
  width: 100%;
  height: auto;
}
p.note {
  font-size: 12px;
}
table {
  width: 100%;
  border: none;
  text-align: center;
  margin: 4vw 0 8vw;
}
table thead {
  font-weight: 600;
}
table thead tr {
  background: #fbd6c8 !important;
}
table th,
table td {
  font-size: 3.6vw;
  line-height: 1.4;
}
table thead th,
table thead td {
  padding: 1.3334vw 0;
  vertical-align: middle;
}
table thead th:first-child,
table thead td:first-child {
  vertical-align: middle;
}
table tbody tr td {
  padding: 2.6667vw;
  vertical-align: middle;
}
table tbody tr td:first-child {
  background: #fdeee9;
}
table tr {
  border: 1px solid #602d6b !important;
}

/*タイムチャージ型契約について*/
table.type01 tr {
  border: none !important;
}
table.type01 thead th,
table.type01 thead td {
  background: #ba6594;
  color: #fff;
  width: 16%;
}
table.type01 thead th:first-child,
table.type01 thead td:first-child {
  background: #602d6b;
  width: 50%;
}
table.type01 tbody tr td {
  background: #f1e0ea;
  border-bottom: #af96b5 1px solid;
}
table.type01 tbody tr:last-child td {
  border-bottom: 0;
}
table.type01 tbody tr td:first-child {
  background: #dfd5e1;
}

/*他社等との比較 オレンジ背景用*/
table.type02 tr {
  border: none !important;
}
table.type02 th,
table.type02 td {
  background-color: #fff;
}
table.type02 thead tr th {
  border-bottom: #1a1a1a 1px solid;
}
table.type02 thead tr th:nth-child(2) {
  background: #602d6b;
  color: #fff;
}
table.type02 thead tr th:nth-child(3),
table.type02 thead tr th:nth-child(4) {
  background: #f29b7e;
  color: #fff;
}
table.type02 tbody tr td {
  border-bottom: #1a1a1a 1px solid;
}
table.type02 tbody tr td:first-child {
  background: #fff;
}
table.type02 tbody tr:last-child td {
  border-bottom: 0;
}
table.type02 tbody tr td:nth-child(2) {
  background: #f1e0ea;
}

/*SEO (IT技術) 	仮処分 (法的手続)*/
table.type03 tr {
  border: none !important;
}
table.type03 thead tr th {
  background: #f7bb9e;
}
table.type03 tbody tr td {
  background: #fdf1ec;
  border-bottom: #1a1a1a 1px solid;
}
table.type03 tbody tr:last-child td {
  border-bottom: 0;
}
table.type03 tbody tr td:nth-child(1) {
  background: #f7bb9e;
  font-weight: bold;
}
table.type03 tbody tr:nth-child(2) td:nth-child(3),
table.type03 tbody tr:nth-child(3) td:nth-child(3) {
  background: #f29b7e;
  color: #fff;
}

/*他社等との比較 紫背景用*/
table.type04 tr {
  border: none !important;
}
table.type04 thead tr th {
  background: #fff;
  border-bottom: #1a1a1a 1px solid;
}
table.type04 thead tr th:nth-child(2) {
  background-color: #ba6594;
  color: #fff;
}
table.type04 thead tr th:nth-child(3),
table.type04 thead tr th:nth-child(4) {
  background-color: #f29b7e;
  color: #fff;
}
table.type04 tbody tr td {
  background-color: #fff;
  border-bottom: #1a1a1a 1px solid;
}
table.type04 tbody tr:last-child td {
  border-bottom: 0;
}
table.type04 tbody tr td:nth-child(1) {
  font-weight: bold;
}
table.type04 tbody tr td:nth-child(2) {
  background-color: #f1e0ea;
}

/*採用情報*/
table.type05 tr {
  border: none !important;
}
table.type05 tbody tr td {
  padding: 1.5em;
  background-color: #fff;
  box-sizing: border-box;
  border: #bbb5ba 1px solid;
  text-align: left;
}
table.type05 tbody tr td:nth-child(1) {
  width: 25%;
  background-color: #e8e8e8;
  font-weight: bold;
  text-align: center;
}

/*裁判外交渉 裁判所手続*/
table.type06 tr {
  border: none !important;
}
table.type06 thead tr th {
  padding: 1em 0.2em;
  border-bottom: #1a1a1a 1px solid;
  color: #fff;
}
table.type06 thead tr th:nth-child(1) {
  width: 20%;
  background-color: #f7bb9e;
}
table.type06 thead tr th:nth-child(2) {
  width: 40%;
  background-color: #f29b7e;
}
table.type06 thead tr th:nth-child(3) {
  width: 40%;
  background-color: #ba6594;
}
table.type06 tbody tr td {
  padding: 1em 0.2em;
  background-color: #fff;
  border-bottom: #1a1a1a 1px solid;
  box-sizing: border-box;
  text-align: center;
}
table.type06 tbody tr:last-child td {
  border-bottom: none;
}
table.type06 tbody tr td:nth-child(1) {
  background-color: #f7bb9e;
  font-weight: bold;
}
table.type06 tbody tr td:nth-child(3) {
  background-color: #f1e0ea;
}

/*他社等との比較 白背景用*/
table.type07 tr {
  border: none !important;
}
table.type07 thead tr th {
  padding: 1em 0.2em;
  width: 25%;
  border-bottom: #1a1a1a 1px solid;
  color: #fff;
}
table.type07 thead tr th:nth-child(1) {
  background-color: #fdf1ec;
  color: #1a1a1a;
}
table.type07 thead tr th:nth-child(2) {
  background-color: #ba6594;
}
table.type07 thead tr th:nth-child(3),
table.type07 thead tr th:nth-child(4) {
  background-color: #f29b7e;
}
table.type07 tbody tr td {
  padding: 1em 0.2em;
  background-color: #fdf1ec;
  border-bottom: #1a1a1a 1px solid;
  box-sizing: border-box;
  text-align: center;
}
table.type07 tbody tr:last-child td {
  border-bottom: none;
}
table.type07 tbody tr td:nth-child(1) {
  font-weight: bold;
}
table.type07 tbody tr td:nth-child(2) {
  background-color: #f1e0ea;
}

table th.back-blue,
table td.back-blue {
  background: #2fa8e1;
  color: #fff;
}

.template .white-section a {
  color: #ba6594;
}

.flex + .flex,
.flex + h4,
.flex + p {
  margin-top: 13.3334vw;
}

.width30,
.width49 {
  margin: 0 0 40px;
  text-align: center;
}
.flex img {
  max-width: 720px;
}
.width25,
.width41 {
  margin-bottom: 6.6667vw;
}
.width25 + .width68,
.width47 + .width47,
.width58 + .width39,
.width51 + .width41 {
  margin-top: 6.6667vw;
  margin-bottom: 0;
}
.width25 img,
.width41 img {
  border-radius: 1.3334vw;
}
.width80 {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.template .tagline {
}
.template .tagline p.txt-l {
  margin-top: 6.6667vw;
  margin-bottom: 6.6667vw;
}
.template .tagline .logo {
  margin: 10.6667vw auto 0;
  width: 50.4vw;
}

.template .heading-area {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 13.3334vw;
  padding: 8vw 0;
  box-sizing: border-box;
  background: #1d0a19;
  min-height: 24vw;
  text-align: center;
}
.template .heading-area h2 {
  position: relative;
  display: inline-block;
  margin-left: 1.3334vw;
  padding-left: 16vw;
  font-size: 6.1334vw;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: left;
}
.template .heading-area h2.icon-none {
  padding-left: 0;
}
.template .heading-area h2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  display: block;
  width: 12.5334vw;
  height: 12.5334vw;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.template .heading-area h2.icon-about:before {
  background-image: url("./img/icon/icon_about.svg");
}
.template .heading-area h2.icon-message:before {
  background-image: url("./img/icon/icon_message.svg");
}
.template .heading-area h2.icon-clients:before {
  background-image: url("./img/icon/icon_clients.svg");
}
.template .heading-area h2.icon-interview-clients:before {
  background-image: url("./img/icon/icon_interview-clients.svg");
}
.template .heading-area h2.icon-publishing:before {
  background-image: url("./img/icon/icon_publishing.svg");
}
.template .heading-area h2.icon-access:before {
  background-image: url("./img/icon/icon_access.svg");
}
.template .heading-area h2.icon-lawyers:before {
  background-image: url("./img/icon/icon_lawyers.svg");
}
.template .heading-area h2.icon-practices:before {
  background-image: url("./img/icon/icon_practices.svg");
}
.template .heading-area h2.icon-practices-corporate:before {
  background-image: url("./img/icon/icon_practices-corporate.svg");
}
.template .heading-area h2.icon-contractcreation:before {
  background-image: url("./img/icon/icon_contractcreation.svg");
}
.template .heading-area h2.icon-stockrelatedlaw:before {
  background-image: url("./img/icon/icon_stockrelatedlaw.svg");
}
.template .heading-area h2.icon-practices-itlaw:before {
  background-image: url("./img/icon/icon_practices-itlaw.svg");
}
.template .heading-area h2.icon-systemdevelopment:before {
  background-image: url("./img/icon/icon_systemdevelopment.svg");
}
.template .heading-area h2.icon-termsofservice:before {
  background-image: url("./img/icon/icon_termsofservice.svg");
}
.template .heading-area h2.icon-operationofofmedia:before {
  background-image: url("./img/icon/icon_operationofofmedia.svg");
}
.template .heading-area h2.icon-dispute:before {
  background-image: url("./img/icon/icon_dispute.svg");
}
.template .heading-area h2.icon-practices-reputation:before {
  background-image: url("./img/icon/icon_practices-reputation.svg");
}
.template .heading-area h2.icon-digitaltattoo:before {
  background-image: url("./img/icon/icon_digitaltattoo.svg");
}
.template .heading-area h2.icon-identificationofslander:before {
  background-image: url("./img/icon/icon_identificationofslander.svg");
}
.template .heading-area h2.icon-listedcompanies:before {
  background-image: url("./img/icon/icon_listedcompanies.svg");
}
.template .heading-area h2.icon-reputation-perpetrator:before {
  background-image: url("./img/icon/icon_reputation-perpetrator.svg");
}
.template .heading-area h2.icon-listingadspollution:before {
  background-image: url("./img/icon/icon_listingadspollution.svg");
}
.template .heading-area h2.icon-practices-youtuberlaw:before {
  background-image: url("./img/icon/icon_practices-youtuberlaw.svg");
}
.template .heading-area h2.icon-tiktoklaw:before {
  background-image: url("./img/icon/icon_tiktoklaw.svg");
}
.template .heading-area h2.icon-snsmalaw:before {
  background-image: url("./img/icon/icon_snsmalaw.svg");
}
.template .heading-area h2.icon-recruit:before {
  background-image: url("./img/icon/icon_recruit.svg");
}
.template .heading-area h2.icon-news:before {
  background-image: url("./img/icon/icon_news.svg");
}
.template .heading-area h2.icon-contact:before {
  background-image: url("./img/icon/icon_contact.svg");
}
.template .heading-area h2.icon-request:before {
  background-image: url("./img/icon/icon_request.svg");
}
.template .heading-area h2.icon-blockchain:before {
  background-image: url("./img/icon/icon_blockchain.svg");
}
.template .heading-area h2.icon-vtuberlaw:before {
  background-image: url("./img/icon/icon_vtuberlaw.svg");
}
.template .heading-area h2.icon-deletepastentertainer:before {
  background-image: url("./img/icon/icon_deletepastentertainer.svg");
}
.template .heading-area h2.icon-personalinformation:before {
  background-image: url("./img/icon/icon_personalinformation.svg");
}
.template .heading-area h2.icon-holidayinfo:before {
  background-image: url("./img/icon/icon_holidayinfo.svg");
}
.template .heading-area h2.icon-ipo:before {
  background-image: url("./img/icon/icon_ipo.svg");
}
.template .heading-area h2.icon-artificial-intelligence:before {
  background-image: url("./img/icon/icon_artificial-intelligence.svg");
}
.template .heading-area h2.icon-global:before {
  background-image: url("./img/icon/icon_global.svg");
}
.template .heading-area h2.icon-global-fgn2jpn:before {
  background-image: url("./img/icon/icon_global-fgn2jpn.svg");
}
.template .heading-area h2.icon-global-jpn2fgn:before {
  background-image: url("./img/icon/icon_global-jpn2fgn.svg");
}
.template .heading-area p {
  margin: 2em 6.6667vw 0;
  font-size: 3.7334vw;
  line-height: 1.6;
  color: #fff;
  text-align: left;
}
.template .second-nav {
  margin: 0 auto;
  text-align: center;
}
.template .second-nav p {
  margin-top: 3em;
  margin-bottom: 1.6vw;
  font-size: 5.0667vw;
  font-weight: bold;
  color: #602d6b;
  line-height: 1;
  text-align: center;
}
.template .second-nav nav {
  padding: 2.6667vw 0;
  background: #ddb0c9;
}
.template .second-nav nav ul {
  margin: 0 auto;
}
.template .second-nav nav li {
  display: inline-block;
  margin: 1.2vw 1.6vw;
  padding: 0;
  width: auto;
}
.template .second-nav nav li a {
  display: block;
  padding: 0.8em 0.5em 0.9em 0.5em;
  background: #fff;
  border-radius: 1.2vw;
  font-size: 2.8001vw;
  text-align: center;
  letter-spacing: -0.01em;
  line-height: 1;
}
.template .second-nav nav li a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.template .second-nav2 {
  margin: 0 auto;
  text-align: center;
}
.template .second-nav2 p {
  margin-top: 1.5em;
  margin-bottom: 4vw;
  font-size: 6.2667vw;
  font-weight: bold;
  color: #1d0a19;
  line-height: 1;
  text-align: center;
}
.template .second-nav2 p span {
  font-size: 3.2vw;
  font-weight: normal;
}
.template .second-nav2 nav {
  margin: 0 auto;
  padding: 4vw 4vw 1.3334vw;
  width: 89.3334vw;
  border: #1d0a19 1px solid;
  box-sizing: border-box;
}
.template .second-nav2 nav ul {
  margin: 0 auto;
  font-size: 0;
  line-height: 1;
}
.template .second-nav2 nav li {
  display: inline-block;
  margin-bottom: 2.6667vw;
  padding: 0;
  width: auto;
  border-left: #1d0a19 1px solid;
  border-right: #1d0a19 1px solid;
}
.template .second-nav2 nav li + li {
  margin-left: -1px;
}
.template .second-nav2 nav li,
.template .second-nav2 nav li a {
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: -0.01em;
}
.template .second-nav2 nav li a {
  display: inline-block;
  padding: 0 1em;
  text-align: center;
  color: #ba6594;
}
.template .second-nav2 nav li a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.template .btn-area-wrap {
  padding-left: 12px;
  border-left: #1d0a19 2px solid;
}
.template .purple-section .btn-area-wrap {
  border-left-color: #fff;
}
.template .btn-area-wrap p {
  margin-bottom: 1em;
  font-size: 12px;
  line-height: 1;
}
.template .btn-area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
}
.template .btn-area .btn {
  width: 68.5334vw;
  height: 14.4vw;
}
.template .btn-area .btn + .btn {
  margin-top: 4vw;
}
.template .btn-area .btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 9.7334vw;
  width: 100%;
  height: 100%;
  background: #ba6594;
  box-sizing: border-box;
  border-radius: 2.4vw;
  font-size: 3.7334vw;
  line-height: 1.4;
  color: #fff;
  text-align: center;
}
.template .btn-area .btn a:hover {
  background: #1d0a19;
  text-decoration: none;
}
.template .btn-area .btn a:before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translate(0, -50%);
  display: block;
  width: 9.7334vw;
  height: 9.7334vw;
  background-repeat: no-repeat;
  background-size: contain;
}
.template .btn-area .btn.icon-about a:before {
  background-image: url("./img/icon/btn_icon_about.svg");
}
.template .btn-area .btn.icon-access a:before {
  background-image: url("./img/icon/btn_icon_access.svg");
}
.template .btn-area .btn.icon-clients a:before {
  background-image: url("./img/icon/btn_icon_clients.svg");
}
.template .btn-area .btn.icon-contact a:before {
  background-image: url("./img/icon/btn_icon_contact.svg");
}
.template .btn-area .btn.icon-contractcreation a:before {
  background-image: url("./img/icon/btn_icon_contractcreation.svg");
}
.template .btn-area .btn.icon-stockrelatedlaw a:before {
  background-image: url("./img/icon/btn_icon_stockrelatedlaw.svg");
}
.template .btn-area .btn.icon-digitaltattoo a:before {
  background-image: url("./img/icon/btn_icon_digitaltattoo.svg");
}
.template .btn-area .btn.icon-dispute a:before {
  background-image: url("./img/icon/btn_icon_dispute.svg");
}
.template .btn-area .btn.icon-fee a:before {
  background-image: url("./img/icon/btn_icon_fee.svg");
}
.template .btn-area .btn.icon-identificationofslander a:before {
  background-image: url("./img/icon/btn_icon_identificationofslander.svg");
}
.template .btn-area .btn.icon-interview-clients a:before {
  background-image: url("./img/icon/btn_icon_interview-clients.svg");
}
.template .btn-area .btn.icon-lawyers a:before {
  background-image: url("./img/icon/btn_icon_lawyers.svg");
}
.template .btn-area .btn.icon-listedcompanies a:before {
  background-image: url("./img/icon/btn_icon_listedcompanies.svg");
}
.template .btn-area .btn.icon-listingadspollution a:before {
  background-image: url("./img/icon/btn_icon_listingadspollution.svg");
}
.template .btn-area .btn.icon-message a:before {
  background-image: url("./img/icon/btn_icon_message.svg");
}
.template .btn-area .btn.icon-news a:before {
  background-image: url("./img/icon/btn_icon_news.svg");
}
.template .btn-area .btn.icon-operationofofmedia a:before {
  background-image: url("./img/icon/btn_icon_operationofofmedia.svg");
}
.template .btn-area .btn.icon-practices a:before {
  background-image: url("./img/icon/btn_icon_practices.svg");
}
.template .btn-area .btn.icon-practices-corporate a:before {
  background-image: url("./img/icon/btn_icon_practices-corporate.svg");
}
.template .btn-area .btn.icon-practices-itlaw a:before {
  background-image: url("./img/icon/btn_icon_practices-itlaw.svg");
}
.template .btn-area .btn.icon-practices-reputation a:before {
  background-image: url("./img/icon/btn_icon_practices-reputation.svg");
}
.template .btn-area .btn.icon-practices-youtuberlaw a:before {
  background-image: url("./img/icon/btn_icon_practices-youtuberlaw.svg");
}
.template .btn-area .btn.icon-tiktoklaw a:before {
  background-image: url("./img/icon/btn_icon_tiktoklaw.svg");
}
.template .btn-area .btn.icon-publishing a:before {
  background-image: url("./img/icon/btn_icon_publishing.svg");
}
.template .btn-area .btn.icon-recruit a:before {
  background-image: url("./img/icon/btn_icon_recruit.svg");
}
.template .btn-area .btn.icon-reputation-perpetrator a:before {
  background-image: url("./img/icon/btn_icon_reputation-perpetrator.svg");
}
.template .btn-area .btn.icon-request a:before {
  background-image: url("./img/icon/btn_icon_request.svg");
}
.template .btn-area .btn.icon-snsmalaw a:before {
  background-image: url("./img/icon/btn_icon_snsmalaw.svg");
}
.template .btn-area .btn.icon-specialpage a:before {
  background-image: url("./img/icon/btn_icon_specialpage.svg");
}
.template .btn-area .btn.icon-blockchain a:before {
  background-image: url("./img/icon/btn_icon_blockchain.svg");
}
.template .btn-area .btn.icon-systemdevelopment a:before {
  background-image: url("./img/icon/btn_icon_systemdevelopment.svg");
}
.template .btn-area .btn.icon-termsofservice a:before {
  background-image: url("./img/icon/btn_icon_termsofservice.svg");
}
.template .btn-area .btn.icon-vtuberlaw a:before {
  background-image: url("./img/icon/btn_icon_vtuberlaw.svg");
}
.template .btn-area .btn.icon-deletepastentertainer a:before {
  background-image: url("./img/icon/btn_icon_deletepastentertainer.svg");
}
.template .btn-area .btn.icon-personalinformation a:before {
  background-image: url("./img/icon/btn_icon_personalinformation.svg");
}
.template .btn-area .btn.icon-artificial-intelligence a:before {
  background-image: url("./img/icon/btn_icon_artificial-intelligence.svg");
}
.template .btn-area .btn.icon-ipo a:before {
  background-image: url("./img/icon/btn_icon_ipo.svg");
}
.template .btn-area .btn.icon-global a:before {
  background-image: url("./img/icon/btn_icon_global.svg");
}
.template .btn-area .btn.icon-global-fgn2jpn a:before {
  background-image: url("./img/icon/btn_icon_global-fgn2jpn.svg");
}
.template .btn-area .btn.icon-global-jpn2fgn a:before {
  background-image: url("./img/icon/btn_icon_global-jpn2fgn.svg");
}
.template .btn-area .btn.icon-monolithlawmagazine a {
  background-position: center center;
  background-image: url("./img/icon/btn_icon_monolithlawmagazine.svg");
  background-repeat: no-repeat;
  background-size: 84.2106% auto;
  text-indent: -9999px;
}
.template .btn-area .btn.icon-monolithlawmagazine2 a {
  padding-top: 1.2em;
  padding-left: 0;
  background-position: center 25%;
  background-image: url("./img/icon/btn_icon_monolithlawmagazine.svg");
  background-repeat: no-repeat;
  background-size: 84.2106% auto;
}

.template .btn-area .btn.icon-external a {
  padding-left: 0;
}
.template .btn-area .btn.icon-external a span:after {
  content: "";
  display: inline-block;
  margin-left: 12px;
  width: 15px;
  height: 15px;
  background-image: url("./img/icon/btn_icon_external.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
.template .frame {
  padding: 0.5em;
  border: #1d0a19 1px solid;
}
.template .frame2 {
  padding: 0.5em;
  border: #1d0a19 2px solid;
}
.template .frame2-white {
  padding: 0.5em;
  border: #ffffff 2px solid;
}
.template .frame-border-top {
  margin-top: 10.6667vw;
  padding-top: 10.6667vw;
  border-top: #1d0a19 2px solid;
}
.template .purple-section .frame-border-top {
  border-color: #fff;
}

.template .frame-corner {
  position: relative;
  padding: 1em;
  text-align: justify;
}
.template .frame-corner:before,
.template .frame-corner:after,
.template .frame-corner-inner:before,
.template .frame-corner-inner:after {
  content: "";
  position: absolute;
  display: block;
  width: 9.3334vw;
  height: 9.3334vw;
  border: #1d0a19 1px solid;
}
.template .frame-corner:before {
  left: 0;
  top: 0;
  border-right: none;
  border-bottom: none;
}
.template .frame-corner:after {
  right: 0;
  top: 0;
  border-left: none;
  border-bottom: none;
}
.template .frame-corner-inner:before {
  left: 0;
  bottom: 0;
  border-right: none;
  border-top: none;
}
.template .frame-corner-inner:after {
  right: 0;
  bottom: 0;
  border-left: none;
  border-top: none;
}

.template .purple-base {
  padding: 6.6667vw 4vw;
  background-color: #602d6b;
}
.template .purple-base p {
  color: #fff;
}

.template .white-base {
  padding: 0 4vw 4vw;
  background-color: #fff;
  border-radius: 1.3334vw;
}
.template .white-base ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.template .white-base li {
  margin-bottom: 0;
  width: 45%;
}
.template .white-base li h4 {
  margin-top: 0 !important;
}
.template .white-base li h4,
.template .white-base li p {
  font-size: 3.6vw;
}

.template .text-and-btn {
}
.template .text-and-btn p {
  margin-bottom: 4vw;
  font-size: 3.6vw;
  color: #222222;
  text-align: center;
}

@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;
  }
}
/*------------------------
 * temp practice
 */
.practice-section .section-inner {
  padding: 40px 1.6667%;
}
.template .planWrap {
  margin: 0 auto;
  max-width: 1000px;
}
.template .planWrap h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  padding: 0;
  width: 33.3334vw;
  height: 33.3334vw;
  border: #1d0a19 1px solid;
  border-radius: 0;
  font-size: 3.3334vw;
  line-height: 1;
  color: #1d0a19;
}
.template ul.plan {
  margin: 0;
}
.template ul.plan li {
  padding-left: 4.6667vw;
  border-left: #1d0a19 3px solid;
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.template ul.plan li + li {
  margin-top: 8vw;
}
.template .plan h4 {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.3em 0.6em 0.4em;
  background: #1d0a19;
  font-size: 3.3334vw;
  letter-spacing: 0.16em;
  line-height: 1;
  color: #f7bb9e;
  text-align: center;
}
.white-plan {
  background: #fff;
}
.template .plan p,
.template .plan span {
  color: #1d0a19;
}
.template .plan p {
  font-size: 3.6vw;
  line-height: 1.6;
}
.template .plan p + p.txt-s {
  margin-top: 1em;
}
.plan-price {
  margin-bottom: 0.5em;
  font-size: 3.3334vw;
  font-weight: bold;
  line-height: 1;
}
.plan-price span {
}
.price-value {
  padding-right: 1em;
}
.price-figure {
  font-size: 500%;
}
.price-term {
  font-size: 155%;
}
.price-tax {
}
.price-note {
  padding-left: 0.5em;
  font-size: 77%;
  font-weight: normal;
}
.plan-border {
  border-top: 1px solid #fff;
  padding: 10px 0 0;
  margin: 10px 0 0;
}

.white-plan .plan-border {
  border-top: 1px solid #ccc;
}

.template .fee {
  position: relative;
  margin: 10.6667vw auto 0;
}
.template .fee .fee-inner {
  padding: 5.3334vw 0 10.6667vw;
}
.template .fee h3 {
  margin-bottom: 1.4em;
  padding: 0;
  background: transparent;
  border-radius: 0;
  font-size: 4.4vw;
  line-height: 1.4;
  color: #1d0a19;
  text-align: center;
}
.template .fee p {
  margin: 0 auto;
  width: 86%;
}
.template .fee .btn-area {
  margin-top: 5.3334vw;
}
.template .fee:before,
.template .fee:after,
.template .fee .fee-inner:before,
.template .fee .fee-inner:after {
  content: "";
  position: absolute;
  display: block;
  width: 13.3334vw;
  height: 13.3334vw;
  border: #1d0a19 1px solid;
}
.template .fee:before {
  left: 0;
  top: 0;
  border-right: 0;
  border-bottom: 0;
}
.template .fee:after {
  right: 0;
  top: 0;
  border-left: 0;
  border-bottom: 0;
}
.template .fee .fee-inner:before {
  left: 0;
  bottom: 0;
  border-right: 0;
  border-top: 0;
}
.template .fee .fee-inner:after {
  right: 0;
  bottom: 0;
  border-left: 0;
  border-top: 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;
  }
}

/*------------------------
 * temp lawyer
 */
.temp-lawyers figure {
  font-size: 0;
}
.temp-lawyers .img-wrap {
  position: relative;
  display: block;
  width: 100%;
}
.temp-lawyers .img-wrap img {
  border-radius: 1.3334vw;
}
.temp-lawyers figcaption {
  display: inline-block;
  width: 100%;
}
.temp-lawyers .figcaption-inner {
  padding: 20px 0 0;
}
.temp-lawyers .lawyer-single {
  margin: 0 0 50px;
}
@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;
  }
}
/*------------------------
 * temp book
 */
.section-inner.temp-book {
  max-width: 1200px;
}
.template .temp-book h3 {
  margin-bottom: 0;
  padding: 0;
  background: transparent;
  border: none;
  font-size: 5.6001vw;
  color: #1d0a19;
  line-height: 1.42;
}
.template .temp-book .book {
  background: transparent;
}
@media screen and (min-width: 768px) {
  .template .temp-book h3 {
    font-size: 27px;
  }
}

/*------------------------
 * temp digitaltattoo
 */
.template .digitaltattoo h4.brackets {
  position: relative;
  line-height: 1.4;
  padding: 0.25em 1em;
  display: inline-block;
  top: 0;
  font-weight: 600;
  margin: 0 0 20px;
}
.template .digitaltattoo h4.brackets:before,
.template .digitaltattoo h4.brackets:after {
  position: absolute;
  top: 0;
  content: "";
  width: 8px;
  height: 100%;
  display: inline-block;
}
.template .digitaltattoo h4.brackets:before {
  border-left: solid 1px #2fa8e1;
  border-top: solid 1px #2fa8e1;
  border-bottom: solid 1px #2fa8e1;
  left: 0;
}
.template .digitaltattoo h4.brackets:after {
  content: "";
  border-top: solid 1px #2fa8e1;
  border-right: solid 1px #2fa8e1;
  border-bottom: solid 1px #2fa8e1;
  right: 0;
}
/*------------------------
 * temp client
 */
.template .client img {
  max-width: 680px;
}
/*------------------------
 * temp site
 */
.temp-site h2 {
  text-align: center;
}
.sites {
  font-size: 0;
}
.sites .site {
  display: inline-block;
  width: 100%;
  background: #fff;
  margin: 0 0 40px;
}
.sites .site img {
  width: 100%;
  height: auto;
}
.sites .site .figcaption-inner {
  padding: 40px;
}
.sites .site h3 {
  font-size: 14px;
}
.sites .site p {
  color: #333;
}
@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%;
  }
}
/*------------------------
 * front article
 */
.front-article h2 {
  text-align: center;
}
.articles {
  font-size: 0;
}
.temp-article h4 {
  margin-bottom: 1.5em;
  font-size: 3.4667vw;
  font-weight: bold;
  color: #150914;
  line-height: 1;
  text-align: center;
}
.temp-article .articles {
  text-align: center;
}
.article {
  width: 100%;
  display: inline-block;
  margin: 0 0 20px;
  vertical-align: top;
}
.article figure {
  position: relative;
  overflow: hidden;
  background: #efefef;
}
.article figure * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
.article figure figcaption {
  word-break: break-all;
  padding: 10px 0 0;
  text-align: left;
  display: inline-block;
  width: 48%;
  vertical-align: top;
}
.archive-body .article figure figcaption {
  display: inline-block;
  width: 100%;
}
.article figure figcaption .figcaption-inner {
  padding: 5px 10px;
}
.temp-article .article figure figcaption .figcaption-inner {
  padding: 5px 10px 15px;
}
.article figure .cat-area span {
  background: #2fa8e1;
  color: #fff;
  font-size: 12px;
  padding: 2px 10px;
}
.article figure .sup {
  padding: 10px 0 0;
  margin: 5px 0;
  border-top: 1px solid #fff;
  overflow: hidden;
}
.article figure .cat-area {
  float: left;
}
.article figure .date-area {
  float: right;
  padding: 4px 0 0;
}
.article figure .date-area p {
  font-size: 3.6vw;
}
.article figure .cat-area p,
.article figure .cat-area ul,
.article figure .cat-area li {
  display: inline-block;
}
.article figure .cat-area li {
  padding: 2px 8px;
  margin: 0 4px;
  border: 1px solid #684d48;
  border-radius: 10px;
  font-size: 12px;
}
.article figure img {
  width: 100%;
  height: auto;
}
.article .img-wrap {
  overflow: hidden;
  height: 100%;
  display: inline-block;
}
.type_practice_column .article .img-wrap {
  flex-shrink: 0;
  width: 50%;
}
.archive-body .article .img-wrap {
  display: inline-block;
  width: 100%;
}
.article .img-wrap img {
  display: block;
  transition-duration: 0.3s;
}
.article figure:hover .img-wrap img {
  transform: scale(1.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.article figure h3 {
  margin: 0;
  width: 100%;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 1.25px;
  text-align: left;
}
.single-body .article figure h3 {
  font-size: 14px;
}
.article figure a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
.article figure:hover img,
.article figure.hover img {
  opacity: 0.4;
}
.article figure:hover h3,
.article figure.hover h3 {
  background-color: rgba(255, 255, 255, 0);
  text-decoration: underline;
}
.article figure:hover p,
.article figure.hover p {
  text-decoration: underline;
}
.article figure:hover figcaption,
.article figure.hover figcaption {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.temp-article .articles {
  margin-bottom: 0 !important;
}
.temp-article .article {
  background: #fff !important;
}
.temp-article .article figure {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 70.6667vw;
  background: #fff;
}
.temp-article .article figure .img-wrap {
  border-radius: 1.0667vw;
  overflow: hidden;
}
.temp-article .article figure h3 {
  padding: 0;
  font-size: 3.6vw;
  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 0 0 10px;
}
@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;
  }
}

/*------------------------
 * link 共通
 */
a.link {
  font-size: 16px;
  border-radius: 50px;
  padding: 10px 40px;
  display: block;
  max-width: 220px;
  margin: 0 auto 20px;
}
a.white-link {
  border: 2px solid #fff;
  color: #fff;
}
a.white-link:hover {
  background: #fff;
  color: #2fa8e1;
  text-decoration: none;
}
a.blue-link {
  border: 2px solid #2fa8e1;
  background: #2fa8e1;
  color: #fff;
}
/*.template .white-section a.blue-link {
	color: #2FA8E1;
}
*/
a.blue-link:hover {
  background: #fff;
  color: #2fa8e1;
  text-decoration: none;
}
/*.template .white-section a.blue-link:hover {
	color: #2FA8E1;
}
*/
a.simple-link {
  position: relative;
  border-bottom: 2px solid #2fa8e1;
}
a.link.simple-link {
  font-size: 16px;
  padding: 5px 40px 5px 0;
  display: block;
  max-width: 120px;
  margin: 0 0 30px auto;
  border-radius: 0;
}
a.simple-link:after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 8px solid #2fa8e1;
  border-left: 8px solid transparent;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
a.link.simple-link:hover {
  text-decoration: none;
  opacity: 0.6;
}
@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;
  }
}
/*------------------------
 * contact-area
 */
.contact-area {
  background: #eee;
  margin: 50px 0;
  padding: 10px 0;
}
.contact-content {
  padding: 0 0 4vw;
  background: #fdf3ee;
}
.contact-content dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
  padding: 1.8667vw;
  border-bottom: 1px solid #ccc;
}
.contact-content dt {
  padding: 1.8667vw;
  width: 100%;
  display: flex;
  align-items: center;
  font-size: 3.8667vw;
}
.contact-content dd {
  position: relative;
  width: 100%;
  padding: 1.8667vw;
}
.mwform-radio-field-text {
  font-size: 3.8667vw;
}
.wpcf7-radio .wpcf7-list-item {
  margin-top: 5px;
  display: block;
  text-align: left;
}
.submit-button {
  margin: 10.1334vw 0 0;
  text-align: center;
}
.contact-content input[type="text"],
.contact-content input[type="email"],
.contact-content input[type="tel"],
.contact-content textarea,
.contact-content select {
  -webkit-appearance: none;
  padding: 10px;
  border: 1px solid #999999;
  border-radius: 4px;
  width: 90%;
  font-size: 16px;
}
.contact-content p input[type="text"] {
  width: auto;
}
.contact-content select {
  background: #fff url(./img/ico_arrow2.png) no-repeat center right 10px;
  background-size: 8px;
}
.contact-content dt p {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.contact-content dt p .label {
  padding: 0;
}
.contact-content dd p {
  width: 100%;
}
.contact-content dd .wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}
.contact-content p input[type="text"],
.contact-content p input[type="email"],
.contact-content p input[type="tel"],
.contact-content p textarea,
.contact-content p select {
  -webkit-appearance: none;
  padding: 10px;
  border: 1px solid #999999;
  border-radius: 4px;
  width: 90%;
  font-size: 16px;
}
.contact-content p {
  position: relative;
  text-align: center;
}
.contact-content .submitArea {
  position: relative;
  min-height: 100px;
  margin: 30px auto;
  text-align: center;
}
input[type="submit"] {
  display: inline-block;
  background: #ba6594;
  border: none;
  color: #fff;
  font-size: 3.8667vw;
  border-radius: 2.4vw;
  margin: 0 auto 20px;
  padding: 16px 40px;
  display: block;
  width: 68.6667vw;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
input[type="submit"]:hover {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: #1d0a19;
  text-decoration: none;
}
.screen-reader-response ul,
.wpcf7-response-output.wpcf7-validation-errors {
  display: none;
}
.screen-reader-response {
  text-align: center;
  color: #f00;
  font-size: 20px;
}
.wpcf7-not-valid-tip {
  color: #f00;
}

.contact-content dt span {
  padding: 0 8px;
  font-size: 2.6667vw;
}
.contact-content span.required {
  color: #f00;
  border: 1px solid #ff0000;
  margin: 0 0 0 10px;
  border-radius: 4px;
}
.contact-content span.option {
  color: rgba(0, 116, 190, 1);
  border: 2px solid rgba(0, 116, 190, 1);
}
input[name="tel"],
input[name="zip"] {
  max-width: 150px;
}
input[name="age"],
input[name="income"],
input[name="budget"] {
  max-width: 50px;
}
.contact-map {
  margin-top: 2.6667vw;
}
@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;
  }
}

/*------------------------
 * thanks
 */
.thanks h2 {
  text-align: center;
  background: #8e5d3b;
  padding: 10px 0;
  color: #fff;
  font-weight: 600;
}
.thanks a {
  text-decoration: underline;
  color: blue;
}
.thanks .totop {
  text-align: center;
  margin: 40px 0 0;
}
.thanks .totop a {
  border: 1px solid #8e5d3b;
  text-decoration: none;
  color: #fff;
  background: #8e5d3b;
  padding: 10px 20px;
}
.thanks .totop a:hover {
  border: 1px solid #8e5d3b;
  color: #8e5d3b;
  background: #fff;
  padding: 10px 20px;
}

/*------------------------
 * footer
 */
footer {
  background-color: #1d0a19;
}
footer .footer-inner {
  padding: 7.3334vw 0 2.6667vw;
  max-width: 100vw;
  margin: 0 auto;
  color: #fff;
}
footer .footer-inner .footer-box-wrap {
  display: block;
  margin: 0 auto;
}
footer .footer-inner .footer-box-wrap > div {
  float: left;
  margin-bottom: 4.6667vw;
  margin-left: 3.3334vw;
  width: 48vw;
}
footer .footer-inner .footer-box-wrap > div:last-child {
  float: none;
  margin-left: auto;
  margin-bottom: 33.3334vw;
  width: 45vw;
}
footer .footer-inner .footer-box-wrap .membership {
  margin-top: 2vw;
}
footer .footer-inner .footer-box-wrap .membership picture {
  display: block;
  max-width: 233px;
  margin: 1.5vw 0 0;
}
footer .footer-inner .footer-box-wrap .membership img {
  width: 100%;
  height: 100%;
}

footer .footer-inner .footer-box-wrap .membership .small {
  margin-top: 1vw;
  font-size: 10px;
}
footer .footer-inner .footer-box-wrap .line {
  display: none;
  margin-top: 2vw;
}
footer .footer-inner .footer-box-wrap .line picture {
  display: block;
  max-width: 233px;
  margin: 1.5vw 0 0;
}
footer .footer-inner .footer-box-wrap .line img {
  width: 100%;
  height: 100%;
}

footer .footer-inner h2 {
  margin: 0 0 0.5em;
  font-size: 3.7334vw;
  line-height: 1;
  color: #f29b7e;
}
footer .footer-inner p,
footer .footer-inner p a {
  font-size: 2.8vw;
  line-height: 1.6;
}
footer .footer-inner p.telnumber a {
  display: block;
  font-size: 5.2vw;
  line-height: 1;
  letter-spacing: -0.02em;
}
footer .footer-inner p.telnumber span {
  font-size: 3.2vw;
}
footer .footer-inner .btn {
  margin-top: 2.1334vw;
  width: 42vw;
  height: 9.3334vw;
}
footer .footer-inner .btn + .btn {
  margin-top: 3.2vw;
}
footer .footer-inner p.telnumber + .btn {
  margin-top: 1.3vw;
}
footer .footer-inner .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.1em;
  width: 100%;
  height: 100%;
  background: #ba6594;
  box-sizing: border-box;
  border-radius: 1.3334vw;
  font-size: 3.8667vw;
  line-height: 1;
  color: #fff;
}
footer .footer-inner .btn a .mail {
	display: flex;
    width: 15%;
    height: 12px;
    background: url("./img/mail_icon.png") no-repeat center center;
    background-size: contain;
    text-indent: -9999px;
    vertical-align: -1px;
}

footer .footer-inner .btn a .line {
	display: inline-block;
    margin: 0 auto;
    width: 70%;
    background: url("./img/LOA_logo_1_white_JP.png") no-repeat center center;
    background-size: contain;
    text-indent: -9999px;
    vertical-align: -1px;
}

footer .footer-inner .btn a:hover {
  background: #602d6b;
  text-decoration: none;
}
footer .copyright {
  clear: both;
  font-size: 3.2vw;
  text-align: center;
}
footer .footer-inner small {
  font-size: 2.6667vw;
  color: #fff;
}
@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;
  }
}

footer .footer-inner .btn.icon a {
    display: block;
    width: 100%;
    max-width: 50px;
    background: none;
  }

footer .footer-inner .btn.icon a:hover {
    background: none;
    opacity: 0.7;
    cursor: pointer;
  }
  footer .footer-inner .btn.icon img {
    display: block;
    width: 100%;
    max-width: 50px;
    height: auto;
  }


@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;
  }
}

/*------------------------
 * footer fixed
 */
.fixed-footer {
  background: #fff;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 98;
  border-top: 2px solid #2fa8e1;
  padding-bottom: 3px;
}
.fixed-footer .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 0 13px;
  text-align: center;
}
.fixed-footer .inner p,
.fixed-footer .inner a {
  color: #fff;
  font-size: 24px;
  font-weight: 600;
}
.fixed-footer span.left {
  padding: 0 0 0 5px;
}
.fixed-footer .note {
  position: relative;
  display: inline-block;
  margin: 0 10px 0 15px;
  padding: 0px 5px;
  color: #555;
  background: #fff;
  border: 3px solid #e17c80;
  box-sizing: border-box;
}
.fixed-footer .note:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #fff;
  z-index: 2;
}
.fixed-footer .note:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -23px;
  margin-top: -10px;
  border: 10px solid transparent;
  border-right: 10px solid #e17c80;
  z-index: 1;
}
.fixed-footer .note span {
  margin: 0;
  padding: 0;
}
.fixed-footer a.link {
  padding: 8px 12px;
  font-size: 11px;
  display: initial;
  border-radius: 10px;
  letter-spacing: 0;
}
.fixed-footer a.link:hover {
  color: #2fa8e1;
  text-decoration: none;
}
.fixed-footer .sp-none {
  display: none;
}
.fixed-footer .pc-none {
  display: initial;
}
.fixed-footer a.white-link.telphone {
  background: #ff8354;
  border: 2px solid #ff8354;
}
.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;
}
.fixed-footer a.white-link.telphone:hover {
  background: #fff;
  border: 2px solid #ffaf38;
  color: #ffaf38;
}
.fixed-footer a.white-link.mail:hover {
  background: #fff;
  border: 2px solid #2fa8e1;
  color: #2fa8e1;
}
.fixed-footer .telphone {
  margin: 0 2px;
}
.fixed-footer .mail {
  margin: 0 2px;
}
.fixed-footer .right-margin {
  margin: 0 2% 0 0;
}
.fixed-footer .to-side {
  font-size: 0;
}
.fixed-footer .tel-side,
.fixed-footer .contact-side {
  display: inline-block;
  width: 32%;
}
/*.fixed-footer .contact-side {
	width: 46%;
}*/
.fixed-footer .tel-side a {
  background: #e17c80;
  border-radius: 10px;
}
.fixed-footer .tel-side a.link {
  margin: 0;
}
.fixed-footer .tel-left {
  display: inline-block;
  width: 20px;
  position: relative;
  top: 6px;
  left: 0;
  display: none;
}
.fixed-footer .tel-right {
  display: inline-block;
  width: auto;
  vertical-align: middle;
  position: relative;
  top: 2px;
}
.fixed-footer p.note-sp {
  font-size: 9px;
  line-height: 0;
  letter-spacing: 0;
}
.fixed-footer p.number {
  font-size: 12px;
  line-height: 0;
  padding: 15px 0 10px;
  letter-spacing: 0;
}
.fixed-footer .to-side a.link {
  padding: 12px 0;
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
}
.fixed-footer .tel-side a.link:hover {
  background: #fff;
  border: 2px solid #e17c80;
  color: #e17c80;
}
.fixed-footer .tel-side a.link:hover p {
  color: #ff8354;
}

@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;
  }
}

/*---------
 * archive
 */
.archive-body main,
.single-body main {
  background: #fff;
}
.archive-body .heading-area {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8vw;
  background: #1d0a19;
}
.archive-body .heading-area-inner {
  padding: 13.3334vw 0 12vw;
  text-align: center;
}
.archive-body .heading-area h2 {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 88.8vw;
  line-height: 0.5;
}
.archive-body .heading-area p {
  margin-top: 1em;
  font-size: 3.7334vw;
  font-weight: bold;
  line-height: 1;
  color: #fff;
}
.archive-body .contents-area,
.single-body .contents-area {
  width: 100%;
  margin: 0 0 30px;
}
.cat-blocks {
  margin: 0 auto;
  padding-top: 8vw;
  font-size: 0;
  width: 100%;
}
.cat-block.blockchain {
  display: none !important;
}
.cat-block {
  position: relative;
}
.cat-block a:hover {
  text-decoration: none;
  opacity: 0.8;
}
.cat-block + .cat-block {
  margin-top: 1.3334vw;
}
.cat-blocks .catimg-inner h2 {
  font-size: 5.8667vw;
  font-weight: 600;
  color: #602d6b;
  line-height: 1;
}
.cat-blocks > .cat-block:nth-child(even) .catimg-inner h2 {
  color: #fff;
}
.cat-blocks .category-image {
  width: 100%;
  height: 30.1334vw;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.cat-blocks .category-image.non-image {
  margin: 0 auto;
  max-width: 1200px;
}
.archive-body #mainSection .cat-blocks .category-image .catimg-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 8.8vw);
  height: calc(100% - 8.8vw);
  background: rgba(255, 255, 255, 0.8);
}
.archive-body #mainSection .cat-blocks .cat-block:nth-child(even) .category-image .catimg-inner {
  background: rgba(116, 64, 126, 0.8);
}

.category-archive-title {
  margin: 0 auto;
  padding-top: 8vw;
  height: 20.8vw;
  overflow: hidden;
}
.category-archive-title .category-image {
  width: 100%;
  height: 20.8vw;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  border-radius: 1.0667vw 1.0667vw 0 0;
}
.category-archive-title .category-image .catimg-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.contents-area .category-image {
  margin-left: -5.3334vw;
  margin-bottom: 10.6667vw;
  width: 100vw;
  height: 19.3334vw;
  background-position: center center;
  background-repeat: no-repeat;
  -moz-background-size: cover;
  background-size: cover;
  border-radius: 1.0667vw 1.0667vw 0 0;
}
.contents-area .catimg-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.1em;
  width: 100%;
  height: 100%;
}
.category-archive-title .catimg-inner h2,
.contents-area .catimg-inner h2,
.category-archive-title .catimg-inner p,
.contents-area .catimg-inner p {
  font-size: 5.6001vw;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-shadow: 0 0 10px rgba(116, 64, 126, 1), 0 0 10px rgba(116, 64, 126, 1), 0 0 10px rgba(116, 64, 126, 1), 0 0 10px rgba(116, 64, 126, 1);
}

.archive-body .both-area,
.single-body .both-area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto 13.3334vw;
  padding-top: 13.3334vw;
  max-width: 89.3334vw;
}
.single-body .both-area {
  padding-top: 8vw;
}
.archive-body .article {
  width: 100%;
  margin: 0 0 6.6667vw;
  border-bottom: 1px solid #eee;
}
.archive-body .article figure {
  margin: 0 0 1.6em;
  background: #fff;
}
.archive-body .article figure .img-wrap {
  aspect-ratio: 1.75 / 1;
  border-radius: 2vw;
  overflow: hidden;
}
.archive-body .article figure figcaption {
  padding: 0;
  background: transparent;
}
.archive-body .article figure figcaption .figcaption-inner {
  padding: 0 0 6.6667vw;
}
.archive-body figure .date-area {
  float: none;
  padding: 4vw 0;
  font-size: 3.7334vw;
  line-height: 1;
  text-align: left;
}
.archive-body figure h3 {
  margin-bottom: 0.5em;
  font-size: 6.1334vw;
  font-weight: normal;
  line-height: 1.4;
}
.archive-body figure p {
  font-size: 4vw;
  line-height: 1.8;
}
.archive-body figure .cat-areas {
  display: none;
}
@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;
  }
}

/*---------
 * single
 */
.single-body .single-content {
  background: #fff;
  margin: 0;
  padding: 0;
}
.single-body .article-header {
  padding: 0 0 10px;
  /* cls対策 */
  width: 100%;
  height: auto;
}
.single-body .article-header h1 {
  font-size: 6.1334vw;
  line-height: 1.46;
}
.single-body .detail-area {
  padding: 4vw 0 0;
  font-size: 0;
}
.single-body .detail-area p {
  display: inline-block;
  color: #666;
  font-size: 3.7334vw;
  line-height: 1.4;
  text-transform: uppercase;
}
.single-body .detail-area p + p:before {
  content: "　／　";
}
.single-body .detail-area a {
  color: #666;
  font-size: 12px;
  line-height: 1.6;
  text-transform: uppercase;
}
.single-body figure.header-content {
  overflow: hidden;
  border-radius: 2vw;
}
.single-body figure.header-content img {
  width: 100%;
  height: auto;
}
.single-body .text-area {
  padding: 3.3334vw 0 0;
}
.single-body .text-area a {
  color: #ba6594;
}
.single-body .text-area h4 {
  margin-top: 2em;
  margin-bottom: 1em;
  padding: 0.2em 0.8em 0.3em;
  background: #ba6594;
  font-size: 4.2667vw;
  line-height: 1.4;
  color: #fff;
}
.single-body .text-area p,
.single-body .text-area li {
  font-size: 4vw;
}

.single-autor {
  margin: 12vw 0;
}
.single-autor p {
  font-size: 2.6667vw;
  line-height: 1;
}
.single-autor a {
  display: inline-block;
  margin-left: 0.5em;
  margin-bottom: 0.5em;
  padding: 0.5em 1em 0.6em;
  background: #ba6594;
  border-radius: 1.2vw;
  color: #fff !important;
}
.single-autor a:hover {
  background: #1d0a19;
  text-decoration: none;
}

.author-box {
  display: flex;
  margin: 5.3334vw auto;
  padding: 4vw;
  width: 89.3334vw;
  box-sizing: border-box;
  border: #906798 1px solid;
}
.author-box .author-thumbnail {
  flex-shrink: 0;
  width: 23.3334vw;
}
.author-box .author-thumbnail img {
  width: 100%;
  height: auto;
}
.author-box .author-content {
  padding-left: 4vw;
  width: auto;
}
.author-box .author-name {
  margin-bottom: 0;
  font-size: 3.2vw;
  font-weight: bold;
  line-height: 1.6;
}
.author-box .author-name a {
  color: #ba6594;
}
.author-box .author-description {
  font-size: 3.2vw;
  line-height: 1.6;
}

.related {
  margin: 13.3334vw 0 0;
}
.related h3 {
  margin: 0 0 2.6667vw;
  font-size: 4vw;
  line-height: 1;
}
.related .rpwe-ul {
  display: flex;
  flex-wrap: wrap;
}
.related .article {
  margin: 0 0 13.3334vw 4vw;
  width: 42.6667vw;
  box-sizing: border-box;
  border: #906798 1px solid;
}
.related .rpwe-ul .article:nth-child(2n + 1) {
  margin-left: 0;
}
.related .rpwe-ul .article:nth-child(9) {
  display: none;
}
.related .article figure {
  background: #fff;
}
.related .article figure .img-wrap {
  aspect-ratio: 1 / 0.666;
  display: block;
  overflow: hidden;
}
.related .article figure figcaption {
  padding: 0;
  width: auto;
}
.related .article figure figcaption .figcaption-inner {
  padding: 2.6667vw 2.6667vw 4vw;
}
.related .article figure figcaption h3 {
  font-size: 3.2vw;
  font-weight: 600;
  line-height: 1.6;
}
.related .article figure figcaption .sup {
  padding: 0;
  margin: 0;
  border-top: none;
}
.related .article figure .cat-area {
  float: none;
  margin-top: 2.6667vw;
}
.related .article figure .cat-area p {
  font-size: 2.6667vw;
}
.related .article figure .cat-area span {
  display: inline-block;
  padding: 0.6em 0.6em 0.7em;
  background: #ba6594;
  border-radius: 1.0667vw;
  font-size: 2.6667vw;
  line-height: 1;
  color: #fff;
}

.linkcard {
  margin: 20px 0 !important;
}
@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;
  }
}

/*------------------------
 * single additional
 */
.text-inner h2 {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  padding: 0.7em 0.76em 0.8em;
  background: #1d0a19;
  border-radius: 0 0 2.1334vw 0;
  font-size: 4.4vw;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
}
.text-inner figure + h2 {
  margin-top: 3em;
}
.text-inner h3 {
  position: relative;
  top: 0;
  display: inline-block;
  margin: 1.5em 0;
  padding: 0.5em 1.3em 0.6em;
  font-size: 4.8vw;
  font-weight: 600;
  line-height: 1.4;
}
.text-inner h3:before,
.text-inner h3:after {
  content: "";
  display: block;
  position: absolute;
  width: 6.6667vw;
  height: 6.6667vw;
}
.text-inner h3:before {
  left: 0;
  top: 0;
  border-left: solid 0.5334vw #ba6594;
  border-top: solid 0.5334vw #ba6594;
}
.text-inner h3:after {
  right: 0;
  bottom: 0;
  border-right: solid 0.5334vw #ba6594;
  border-bottom: solid 0.5334vw #ba6594;
}
.text-inner h4 {
  font-size: 4.2667vw;
  font-weight: 600;
}
img.alignright {
  display: block;
  margin: 0 0 0 auto;
}
img.alignleft {
  display: block;
  margin: 0 auto 0 0;
}
img.aligncenter {
  display: block;
  margin: 0 auto;
}
.txt-xxl {
  font-size: 5.0667vw !important;
  line-height: 1.5 !important;
}
.txt-xl {
  font-size: 4.5334vw !important;
  line-height: 1.5 !important;
}
.txt-l {
  font-size: 4vw !important;
  line-height: 1.5 !important;
}
.txt-m {
  font-size: 3.6vw !important;
}
.txt-s {
  font-size: 3.2vw !important;
  line-height: 1.5 !important;
}
.txt-xs {
  font-size: 2.6667vw !important;
}
.txt-xxs {
  font-size: 2.4vw !important;
}
.txt-blue {
  color: blue;
}
.txt-red {
  color: red;
}
.txt-pink {
  color: #ba6594 !important;
}
.txt-pink2 {
  color: #d8a3c0 !important;
}
.txt-purple {
  color: #352249 !important;
}
.txt-purple2 {
  color: #ba6594 !important;
}

.text-inner p,
.text-inner cite,
.text-inner li,
.text-inner a,
.text-inner dt,
.text-inner dd {
  color: #222222;
}
.text-inner p {
  margin-bottom: 1.5em;
  font-size: 4vw;
  line-height: 2;
}
.text-inner li,
.content li {
  font-size: 10pt;
  padding: 5px 0;
  font-weight: 500;
}
.text-inner ul,
.content ul {
  margin: 0 20px 14px;
}
ul.square {
  list-style-type: square;
}
.text-inner ul li:before,
.text-inner ol li:before,
.content ul li:before,
.content ol li:before {
  content: "";
  display: none;
}
.text-inner ol,
.content ol {
  list-style-type: decimal;
  margin: 0 0 14px 40px;
}
ol.decimal {
  padding-left: 1.5em;
}
ol.decimal li {
  font-size: 3.6vw;
  list-style-type: decimal;
}
ol.decimal li::marker {
  font-size: 125%;
  font-weight: bold;
  color: #b96594;
}

ul.checkmark li {
  position: relative;
}
ul.checkmark li:after {
  display: block;
  content: "";
  position: absolute;
  top: 10px;
  left: -1em;
  width: 8px;
  height: 3px;
  border-left: 2px solid #be0074;
  border-bottom: 2px solid #be0074;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
blockquote {
  position: relative;
  padding: 13.3334vw 4.6667vw 6.6667vw;
  color: #906798;
  margin: 8vw 0;
  border: 1px solid #906798;
}
blockquote:before {
  content: "";
  display: block;
  position: absolute;
  left: 4.6667vw;
  top: 4vw;
  vertical-align: middle;
  width: 6.9334vw;
  height: 5.8667vw;
  background: url(./img/icon/icon_doublequote.svg) no-repeat;
  background-size: contain;
  z-index: 2;
}
blockquote p,
blockquote cite {
  font-size: 3.6vw;
  line-height: 2;
}
blockquote > :last-child {
  margin-bottom: 0;
}

.single-main .text-inner .button a {
  color: #fff;
}
.single-main .text-inner ul,
.other-body .content ul {
  list-style-type: disc;
}
.txt-center {
  text-align: center;
}
.txt-right {
  text-align: right;
}
.txt-left {
  text-align: left;
}
.pdt-big {
  padding-top: 40px;
}
.pdt-middle {
  padding-top: 20px;
}
.pdt-small {
  padding-top: 10px;
}
.pdb-big {
  padding-bottom: 40px;
}
.pdb-middle {
  padding-bottom: 20px;
}
.pdb-small {
  padding-bottom: 10px;
}
strong {
  font-weight: 600;
}
em {
  font-style: italic;
}
.text-inner img,
.content img {
  max-width: 100px;
  width: 100%;
  height: auto;
}
.single-main .text-inner img,
.other-body .content img {
  max-width: 100%;
  width: auto;
  height: auto;
}
sup {
  vertical-align: super;
  font-size: smaller;
}
.word-break {
  word-break: break-all;
}
.gray-back {
  background: #efefef;
}
.gray-back .txt-inner {
  padding: 0 20px;
}
.cat-description {
  margin: 20px 0 0;
}
@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;
  }
}

/*---------
 * sidebar
 */
/*
.search-2
.tag_cloud-2
.recent-posts-widget-with-thumbnails-2
.wpp-2
.archives-2
*/
.sidebar {
  width: 100%;
}
.side-category {
  font-size: 0.94em;
}
.side-category.search-2 {
  background-color: #ddb0c9;
  padding: 6.6667vw 6.6667vw 0;
  font-size: 0.94em;
}
.side-category.tag_cloud-2 {
  background-color: #ddb0c9;
  margin-bottom: 13.3334vw;
  padding: 6.6667vw 3.3334vw 6.6667vw 6.6667vw;
}
.side-category.block-3 {
  margin-top: 13.3334vw;
}
.sidebar .widgettitle,
.popular-posts h2 {
  position: relative;
  margin-bottom: 0.8em;
  font-size: 1.1em;
  font-weight: 300;
  text-transform: capitalize;
}
.tagcloud {
  font-size: 0;
}
.tagcloud a {
  color: #222222;
  background-color: #fff;
  border-radius: 1.6vw;
  padding: 2.4vw 2.6667vw 3.2vw;
  display: inline-block;
  margin: 0 2.6667vw 2.6667vw 0;
  font-size: 3.4667vw !important;
}
.tagcloud a:hover {
  text-decoration: none;
  background-color: #1d0a19;
  color: #fff;
}
.recent-posts-widget-with-thumbnails-2,
.wpp-2,
.archives-2 {
  margin-top: 13.3334vw;
}

.recent-posts-widget-with-thumbnails-2 h2.widgettitle,
.wpp-2 h2.widgettitle,
.archives-2 h2.widgettitle,
.popular-posts h2 {
  margin-bottom: 8vw;
  border-bottom: #000 1px solid;
}
.sidebar ul li {
  margin-top: 8vw;
}
.sidebar .archives-2 li {
  margin-top: 5.3334vw;
}
.sidebar ul li a {
  padding: 0;
  display: block;
  font-size: 4.5334vw;
  line-height: 1.5;
  color: #ba6594;
}
.sidebar #rpwwt-recent-posts-widget-with-thumbnails-2 img,
.sidebar .wpp-2 img {
  float: left;
  margin: 0.3em 0.75em 0.75em 0;
  width: 30.6667vw;
  height: 30.6667vw;
}
.sidebar #rpwwt-recent-posts-widget-with-thumbnails-2 ul li,
.sidebar .wpp-2 ul li {
  margin: 8vw 0 0 0;
  padding: 0;
}
.wpp-list li {
  overflow: hidden;
  float: none;
  clear: both;
  padding: 10px 0;
}
.sidebar .wpp-list li a {
  display: inline;
}
@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;
  }
}

/*-----
 * search
 */
.archive-body .search-main .search-inner h2 {
  color: #333;
  height: auto;
}
.archive-body .search-main .search-inner {
  margin: 0 auto;
  padding: 60px 40px;
  max-width: 1200px;
}
.archive-body .search-area {
  border-top: 1px solid #333;
  padding: 20px;
  background: #ddb0c9;
}
/*-----
 * tag
 */
.archive-body .tag.search-main .both-area {
  margin: 0 auto;
}

/*-----
 * search form
 */
.side-category.block-6 {
  background-color: #ddb0c9;
  padding: 6.6667vw 6.6667vw 0;
}
.wp-block-search__button {
  background-color: #ba6594;
  border: #ba6594 1px solid;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin-left: 0;
  width: 60px;
  word-break: keep-all;
}
.wp-block-search__input {
  border: #ba6594 1px solid;
}
.search-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  height: 35px;
}
.search-form .input {
  width: 100%;
}
.search-form .search-inner {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 100%;
  padding: 6px;
  border-right-style: none;
  border-radius: 2px 0 0 2px;
  font-size: 0.96em;
  line-height: normal;
}
.search-form .search-submit {
  width: 60px;
  position: relative;
  background-color: #444;
  border-radius: 0 2px 2px 0;
}
.search-form input[type="text"] {
  border: #ba6594 1px solid;
}
.search-form button[type="button"],
.search-form button[type="submit"],
.search-form input[type="button"],
.search-form input[type="submit"] {
  display: inline-block;
  position: relative;
  max-width: 100%;
  padding: 5px 7px;
  border: #ba6594 1px solid;
  outline: 0;
  border-radius: 2px;
  background-color: #ba6594;
  color: #fff;
  font-weight: 600;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.search-form .icon {
  display: none;
  top: calc(50% - 6px);
  left: calc(50% - 8px);
}
.icon.search {
  display: none;
  color: #444;
  position: absolute;
  width: 12px;
  height: 12px;
  margin-top: -1px;
  margin-left: -1px;
  border: 1px solid #fff;
  border-radius: 100%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.icon.search:before {
  display: none;
  content: "";
  position: absolute;
  top: 12px;
  left: 5px;
  height: 6px;
  width: 1px;
  background-color: #fff;
}
.screen-reader-text {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.2em;
}
@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;
  }
}

/*-----
 * .nav-links
 */
.nav-links {
  width: 100%;
}
.pagination {
  display: block;
  margin: 0 auto 10px;
  text-align: center;
}
.pagination,
ul.page-numbers {
  position: relative;
  width: 100%;
}
ul.page-numbers {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  border-bottom: none;
  font-weight: normal;
  text-decoration: none;
}
ul.page-numbers li:not(.action-bar-wrapper) {
  display: inline-block;
  position: relative;
  margin-left: -1px;
}
ul.page-numbers li > :not(.action-bar) {
  display: block;
  transition: all 0.4s;
  width: 8.8vw;
  height: 8.8vw;
  border: #602d6b 1px solid;
  box-sizing: border-box;
  font-size: 2.6667vw;
  line-height: 8vw;
  text-align: center;
}
ul.page-numbers li > .prev,
ul.page-numbers li > .next,
ul.page-numbers li > .dots {
  border: none;
  background: transparent;
}
ul.page-numbers li > .dots {
  color: #602d6b;
}
ul.page-numbers span.page-numbers.current {
}
ul.page-numbers li > span:not(.dots),
ul.page-numbers a.page-numbers:hover {
  background-color: #602d6b;
  color: #fff;
  text-decoration: none;
}
@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;
  }
}

/*------------------------
 * social
 */
.sns-buttons {
  margin: 5.3334vw 0;
}
.sns-buttons .content-box-heading {
  display: inline-block;
  font-size: 3.2vw;
  line-height: 5.3334vw;
}
.article-social {
  display: inline-block;
  font-size: 0;
  vertical-align: middle;
}
.article-social a {
  margin-right: 3.7334vw;
  font-size: 0;
  line-height: 5.3334vw;
  text-decoration: none;
  letter-spacing: 0;
}
.icomoon {
  color: #a8a8a8;
  font-size: 5.3334vw;
  display: inline-block;
  vertical-align: middle;
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.icon-twitter:hover,
.icon-twitter:active,
.icon-twitter:focus {
  color: #333;
}
.icon-hatebu:hover,
.icon-hatebu:active,
.icon-hatebu:focus {
  color: #00b2e3;
}
.icon-line:hover,
.icon-line:active,
.icon-line:focus {
  color: #00bf00;
}
.icon-facebook:hover,
.icon-facebook:active,
.icon-facebook:focus {
  color: #1876ef;
}
.icon-pocket:hover,
.icon-pocket:active,
.icon-pocket:focus {
  color: #ec3f55;
}
.icon-feedly:hover,
.icon-feedly:active,
.icon-feedly:focus {
  color: #7ccc68;
}

@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;
  }
}

/*------------------------
 * .post-nav
 */
.post-nav ul {
  display: block;
  margin: 13.3334vw auto;
  width: 52vw;
  height: 6.9334vw;
  font-size: 0;
}
.post-nav .next,
.post-nav .prev {
  display: block;
  width: 20.2667vw;
  height: 100%;
}
.post-nav .prev {
  float: left;
}
.post-nav .next {
  float: right;
}
.post-nav .prev a,
.post-nav .next a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.1em;
  width: 100%;
  height: 100%;
  background: #dccfdf;
  box-sizing: border-ox;
  border-radius: 1.6vw;
}
.post-nav .prev a {
  padding-left: 1em;
}
.post-nav .next a {
  padding-right: 1em;
}
.post-nav .next a:hover,
.post-nav .prev a:hover {
  text-decoration: none;
  opacity: 0.6;
}
.post-nav .post-thumbnail {
  display: none;
}
.post-nav .chevron-left,
.post-nav .chevron-right {
  position: absolute;
  top: calc(50% - 0.8vw);
  width: 1.3334vw;
  height: 1.3334vw;
  background: transparent;
  transform: rotate(45deg);
  transition: all 0.4s;
}
.post-nav .chevron-left {
  left: 1.8667vw;
  border-left: 1px solid #602d6b;
  border-bottom: 1px solid #602d6b;
}
.post-nav .chevron-right {
  right: 1.8667vw;
  border-right: 1px solid #602d6b;
  border-top: 1px solid #602d6b;
}
.post-nav .nav-title {
  font-size: 2.6667vw;
  line-height: 1;
  color: #602d6b;
}
.post-nav .post-title {
  display: none;
}
@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;
  }
}

/*****
 * スクロールトップ
 */
#toTop {
  margin: 14.6667vw auto;
  width: 51.3334vw;
  height: 10.6667vw;
}
#toTop a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.1em;
  width: 100%;
  height: 100%;
  background: #ba6594;
  border-radius: 1.3334vw;
  box-sizing: border-box;
  font-size: 3.4667vw;
  line-height: 1;
  color: #fff !important;
}
#toTop a:hover {
  background: #1d0a19;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  #toTop {
    margin: 120px auto;
    width: 218px;
    height: 45px;
  }
  #toTop a {
    border-radius: 10px;
    font-size: 14px;
  }
}

/****
 * 目次
 */
.single-body #ez-toc-container {
  background: #fff;
  border: 1px solid #906798;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  display: table;
  margin-top: 2em;
  margin-bottom: 2em;
  padding: 4vw;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.single-body #ez-toc-container .ez-toc-title-container {
  margin-bottom: 0.5em;
}
.single-body #ez-toc-container .ez-toc-title {
  font-size: 4vw;
  line-height: 1;
  color: #424242;
}
.single-body #ez-toc-container ul ul,
.single-body .ez-toc div.ez-toc-widget-container ul ul {
  margin-left: 1.8em;
}
.single-body #ez-toc-container .ez-toc-list li a {
  font-size: 3.4667vw;
  font-weight: bold;
  line-height: 2;
  color: #ba6594;
}
.ez-toc-list a:hover {
  text-decoration: underline;
}
@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;
  }
}

.hatenablogcard {
  clear: both;
  width: 100%;
  height: 155px;
  margin: 10px 0;
  max-width: 680px;
}

/****
 * plus
 */

/* 余白関連・共通パーツ */
.mb30sp {
  margin-bottom: 30px;
}
blockquote.wp-block-quote a {
  color: #ba6594;
}
@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;
  }
}
.rpwwt-widget ul li:not(:last-child) {
  margin: 0 0 1rem !important;
}

/* 個別ページ */
.single-inner .wp-block-image figcaption a {
  color: #61bfea;
  font-size: 14px;
  text-decoration: underline;
}
.lkc-title-text {
  color: #ba6594 !important;
}
.lkc-internal-wrap,
.lkc-external-wrap {
  border: solid 1px #996699 !important;
}

.articles.type_practice_column {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.type_youtube_column {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  flex-wrap: wrap;
}

a.youtube_box {
  width: 32%;
  transition: all, 0.3s;
  background-color: #fff;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  color: #000;
}

@media screen and (max-width: 768px) {
  a.youtube_box {
    width: 100%;
    margin: 10px 0;
  }
}

.youtube_box:hover {
  text-decoration: none;
  opacity: 0.5;
}

.youtube_ph {
  display: block;
  line-height: 0;
}

.youtube_ph img {
  width: 100%;
  height: auto;
}

.youtube_title {
  display: block;
  padding: 11px 25px;
}

.articles.type_practice_column .article {
  background: #efefef;
}
.books.type_books_column {
  display: flex;
  flex-wrap: wrap;
}
.articles.type_article_column {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.articles.type_article_column .article {
  background: #efefef;
}
.practices.type_practice_column {
  display: flex;
  flex-wrap: wrap;
}
.practices.type_practice_column .practice {
  background: #fff;
}

.sites.type_site_column {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-embed__wrapper .lkc-this-wrap {
  border: solid 1px #30a8e1;
  background-color: #fff;
}

#menu-item-15540 {
  padding-top: 0;
}

.pc-none.to-side {
  display: flex;
  justify-content: space-between;
  margin-left: 5px;
  margin-right: 5px;
}

.reputation_ph {
  position: relative;
  line-height: 0;
}

.reputation_ph_first,
.reputation_ph_second {
  position: absolute;
  height: 14%;
  bottom: 7.5%;
  transition: all, 0.3s;
  background: transparent;
  border-radius: 500px;
}

.reputation_ph_first:hover,
.reputation_ph_second:hover {
  background-color: rgba(255, 255, 255, 0.8);
}

.reputation_ph_first {
  left: 3%;
  width: 50%;
}

.reputation_ph_second {
  right: 3%;
  width: 41%;
}

.youtube_section {
  margin-top: 40px;
}

.youtube_section .blue-section {
  background-color: transparent;
}

.youtube_section .blue-section h2 {
  color: #2fa8e1;
  display: none;
}

.youtube_section .blue-section a.white-link {
  background-color: #2fa8e1;
  border-color: #2fa8e1;
}

.youtube_section .blue-section a.white-link:hover {
  background-color: #fff;
}

.youtube_section .section-inner {
  padding-top: 0;
}

/* add  */
.title_bold {
  font-weight: bold;
}

.wp-block-embed iframe {
  width: 100%;
}
.wp-block-embed.wp-has-aspect-ratio iframe {
  height: 430px;
}
@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;
  }
}

/* breadcrumb */
.breadcrumb {
  margin: 0 0 25px;
  line-height: 1.5;
  font-size: 12px;
}

.breadcrumb a {
  text-decoration: underline;
}

.breadcrumb a:hover {
  text-decoration: none;
  opacity: 0.9;
}

.breadcrumb span {
  font-size: 12px;
}

.breadcrumb .pankuzu_arrow {
  margin: 0 5px;
}

@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;
  }
}

/** -- パスワード保護 -- **/
.post-password-form {
	display: block;
	margin: 60px 0;
	text-align: center;
}
.post-password-form p {
	margin: 20px 0;
}
.post-password-form p input {
	margin-top: 20px;
}

/** -- profile-box -- **/
.profile-box {
	display:flex;
	align-items:flex-start;
	gap: 20px;
}
@media screen and (max-width: 640px) {
	.profile-box {
		display: block;
	}
	.profile-box .image {
		margin-bottom: 10px;
		text-align: center;
	}
	.profile-box .text .name {
		margin-bottom: 10px;
		text-align: center;
	}
}

.wp-embed-footer {
	display: none;
}