/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
*/

body {
    overflow-x: hidden;
	position: relative;
}
html {
	scroll-behavior: smooth;
}
img {
	vertical-align: bottom;
	margin: 0;
	padding: 0;
}
.header_contact_wrapper {
	max-width: 450px;
 	margin: 0 0 0 auto;	
}
.header_contact_flex {
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
}
.header_phone_wrppaer {
	display: flex;
	justify-content: space-around;
	align-items: center;
	max-width: 220px;
	margin: auto;
	text-align: center;
	padding: 5px 20px;
	background-color: var(--vk-color-primary);
	border-radius:5px;
	margin-right: 10px;
}
.header_phone_wrppaer:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url(images/free_dial.svg) no-repeat;
	background-position: center;
	background-size: contain;
}
.header_phone_wrppaer p {
	line-height: 1.2;
	margin-bottom: 0;
}
.header_phone_wrppaer p a {
	font-size: 16px;
	text-align: center;
	color: #fff;	
	text-decoration: none;
}
.header_phone_wrppaer p span {
	font-size: 12px;
}
.header_line_wrppaer {
	display: flex;
	justify-content: space-around;
	align-items: center;
	max-width: 220px;
	margin: auto;
	text-align: center;
	padding: 5px 20px;
	background-color: #00c300;
	border-radius: 5px;
}
.header_line_wrppaer:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url(images/line_icon.svg) no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 10px;
}
.header_line_wrppaer p {
	line-height: 1.2;
	margin-bottom: 0;
}
.header_line_wrppaer p a {
	font-size: 16px;
	text-align: center;
	color: #fff;
	text-decoration: none;
}
.header_line_wrppaer p span {
	font-size: 12px;
}
.site-header-logo a {
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 2px;
	color: var(--vk-color-primary);
}
.site-header-logo img {
    max-height: 100px;
    max-width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.header_scrolled .site-header-logo {
	display: block;
}
.header_scrolled .site-header-logo img {
    max-height: 80px;	
}
.entry-title--post-type--page, h2,
h3 {
    padding: 0;
    border-top: none;
    border-bottom: none;
	margin-bottom: 0;
}
h3:after {
	display: none;
}
.home .site-body {
    padding: 0;
}
.swiper-slide-active picture img,
.swiper-slide-duplicate-active picture img,
.swiper-slide-prev picture img {
	animation: zoom-out 8s linear 0s 1 normal both;
}
@keyframes zoom-out {
  0% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}
.ltg-slide-text-title {
    font-size: 32px;
}
.ltg-slide-text-title span {
	color: red;
}
.ltg-slide-text-caption {
	font-size: 40px;
}
.ltg-slide-text-caption span {
	font-size: 45px;
	font-weight: bold;
	color: red;
}
.top_mv {
	position: relative;
}
.catch_copy {
	font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	position: absolute;
	top: 60%;
    left: 10%;
    transform: translateY(-60%);
    -webkit-transform: translateY(-60%);
    -ms-transform: translateY(-60%);
    color: #fff;
    z-index: 9;
}
.main_copy {
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 62px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2px;
    color: rgb(255, 255, 255);
	margin-top: 20px;
	display: flex;
    align-items: flex-end;
}
.sub_copy {
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 2px;
    color: rgb(255, 255, 255);
}
.main_copy span {
	font-size: 1.1em;
	color: var(--vk-color-custom-1);
     text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.sub_copy span {
	color: var(--vk-color-custom-1);
     text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.home section {
	margin: auto;
	padding: 50px 0;	
}
.home section#handling {
	padding-top: 80px;
	background-color: var(--vk-color-primary);
}
.section_wrapper {
	max-width: 1380px;
	margin: auto;	
}
h2.section_title {
    font-family: 'Playfair Display', serif;
    font-size: 58px;
    letter-spacing: 0.075em;
    text-align: center;
	color: var(--vk-color-primary);
	margin-bottom: 50px;
}
.home section#handling h2.section_title {
	color: #fff;
}
.flex__wrapper {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex__wrapper--block {
	display: flex;
    flex-direction: column;
	width: calc(100% / 3 - 20px);
	border: thin solid #ccc;
	background-color: #fff;
	margin-bottom: 30px;
}
.flex__wrapper--title {
	height: 290px;
	background-position: center center;
	background-size: cover;
	position: relative;
	transition: all 0.5s 0s ease;
}
.flex__wrapper--title p {
	width: 100%;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.075em;
	text-shadow: 0 3px 6px rgba(0, 0, 0, .62);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.flex__wrapper--ex {
	padding: 16px;
	flex-grow:1;
	background-color: #fff;
}
.layer {
    background-color: rgba(0,0,0,0.3);
    height: 290px;	
}
.detail {
	margin: 30px auto 20px;
	text-align: center;
	background-color: #fff;
}
.detail a {
	color: var(--vk-color-primary);
}
.more_btn {
    display: inline-block;
    background-color: var(--vk-color-primary);
    height: 50px;
    padding: 0 35px;
    font-size: 16px;
    line-height: 44px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    border: thin solid var(--vk-color-primary);
	transition: all 0.5s 0s ease;
	position: relative;
}
.more_btn i {
	margin-left: 1em;
}
.more_btn:hover {
    color: var(--vk-color-primary);
	background-color: #fff;
}
h3.strength_title {
    font-family: 'Playfair Display', serif;
    font-size: 58px;
    letter-spacing: 0.075em;
    text-align: center;
	color: var(--vk-color-primary);
	margin-bottom: 50px;
}
section#strength {
	background-image: url(images/strength_bg.webp);
	background-attachment: fixed;
}
.strength__wrapper--flex {
	display: flex;
	align-items: center;
	background-color: #fff;
	border: thin solid #ccc;
	box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.16);
	margin-bottom: 50px;
}
.strength__wrapper--flex.reverse {
	flex-direction: row-reverse;
}
.strength__wrapper--flex .img {
	width: 40%;
	flex-shrink: 0;
}
.strength__wrapper--block {
	display: block;
	padding: 0 50px;
}
.strength__wrapper--title {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    letter-spacing: 0.045em;
	color: var(--vk-color-primary);
	margin-bottom: 40px;	
}
.strength__wrapper--title span {
	font-size: 1.1em;
	font-weight: bold;
	color: var(--vk-color-custom-1);
}
.strength__wrapper--cont {
	font-size: 18px;
	line-height: 1.8;
}
.profile__wrapper {
	max-width: 980px;
	height: auto;
	margin: auto;
	display: flex;
}
.profile__wrapper .img {
	max-height: 450px;
	max-width: 100%;
	object-fit: cover;
	margin-right: 30px;
	flex-shrink: 0; 
}
.profile__wrapper .img img {
	max-height: 450px;
	max-width: 100%;
	object-fit: cover;
	margin-right: 30px;
	flex-shrink: 0; 
}
table.profile,
table.profile tr,
table.profile th,
table.profile td {
	border: none;
}
table.profile {
	width: 515px;
	max-width: 100%;
	height: 100%;
	border-collapse: separate;
    border-spacing: 0px 8px;	
}
table.profile th {
	width: 30%;
    letter-spacing: 1px;
	text-align: left;
	vertical-align: top;
	background-color: var(--vk-color-primary);
	font-size: 16px;
	color: #fff;
	font-weight: normal;
	padding: .6em 1em;
}
table.profile td {
	font-size: 16px;
	height:100%;
	background-color: #fff;
}
table.profile td .career_table p {
	line-height: 1;	
}
section#access {
	background-image: url(images/access_bg.webp);
	background-position: right top;
	background-attachment: fixed;
	padding-left: 50px;
	padding-right: 20px;
}
section#access h2.section_title {
	text-shadow: rgb(255, 255, 255) 0px 0px 10px;
}
.access__wrapper {
	max-width: 1380px;
	margin: auto;
	display: flex;
	flex-direction: row-reverse;
}
.access__wrapper .map {
	width: 50%;
	margin-right: 30px;
}
.access__wrapper .block {
	width: 50%;
}
.map_title,
.office_title {
    font-family: 'Playfair Display', serif;
    font-size: 30px;
	font-weight: bold;
    letter-spacing: 0.055em;
	text-align: center;
	color: var(--vk-color-primary);
	margin-bottom: 20px;
	text-shadow: rgb(255, 255, 255) 0px 0px 10px;
}

table.office,
table.office tr,
table.office th,
table.office td {
	border: none;
	font-size: 18px;
	font-weight: normal;
	text-shadow: rgb(255, 255, 255) 0px 0px 10px;
}
table.office {
	width: 100%;
    max-width: 100%;
    height: 100%;
    border-collapse: separate;
    border-spacing: 0px 8px;
}
table.office th {
    width: 30%;
    letter-spacing: 1px;
    text-align: left;
    vertical-align: top;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
	background-color: var(--vk-color-primary);
    padding: 0.6em 1em;
	text-shadow: none;
}
table.office td span {
	font-size: 80%;
}
#access table.office {
    width: 645px;
    max-width: 100%;
    max-height: 480px;
    border-spacing: 0;
}
#access table.office th {
	font-size: 18px;
    font-weight: normal;
	white-space: nowrap;
	text-align: right;
	color: var(--vk-color-text-body);
	background: none;
	padding: 0 1em;
	vertical-align: top;
}
#access table.office td {
	font-size: 18px;
	vertical-align: top;
	padding: 0;
}
.page-header {
	height: 300px;
	background-image: url("images/office.webp");
	background-position: center bottom;
	background-size: cover;
}
.page-header-title,
h1.page-header-title {
    line-height: var(--vk-line-height-low);
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    letter-spacing: 0.15em;
}
.site-footer table.office.footer {
	max-width: 600px;
}
.site-footer table.office.footer th {
	font-size: 16px;
	text-align: right;
	white-space: nowrap;
}
.site-footer table.office.footer td {
	font-size: 16px;
}

/* 取扱業務一覧 */

.handling__flex {
	display: flex;
	align-items: center;	
	box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.16);
	margin-bottom: 50px;
}
.handling__flex.reverse {
	flex-direction: row-reverse;
}
.handling__flex--img {
	max-width: 600px;
	flex-shrink: 0;
}
.handling__flex.reverse .handling__flex--img {
	margin-right: 0;
	margin-left: 50px;
}
.handling__flex--block {
	display: block;
	width: calc(100% - 600px);
	margin: 0 50px;;
}
.handling__flex--title {
	line-height: var(--vk-line-height-low);
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-size: 36px;
	color: var(--vk-color-primary);
	padding: 0.5em 0;
	border-top: solid 2px var(--vk-color-primary);
	border-bottom: solid 2px var(--vk-color-primary);
    letter-spacing: 0.055em;
	text-align: center;
	margin-bottom: 30px;
}

/* 事務所概要 */

.office h2.section_title {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 100px;
}
.office h2.section_title.first {
	margin-top: 0;
}
.office h2.section_title:before,
.office h2.section_title:after {
	border-top: 2px solid var(--vk-color-primary);
	content: "";
	width: 3em;
}
.office h2.section_title:before {
	margin-right: .5em;
}
.office h2.section_title:after {
	margin-left: .5em;
}
.office table.office {
	max-width: 600px;
	margin: auto;
}
.office table.office.single-office {
	max-width: 980px;
}
.office table.office.single-office th {
    width: 50%;
    text-align: right;
    vertical-align: middle;
}

/* ご相談の流れ */

.flow_design {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flow {
	padding-left: 0;
}
.flow > li {
	list-style-type: none;
	display: flex;
}
.flow > li:not(:last-child) {
	margin: 0 0 50px;
}
.flow > li .icon {
	width: 90px;
	box-sizing: border-box;
	padding: 20px 10px 10px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	background: var(--vk-color-primary);
	border-radius: 5px 5px 0 0;
	position: relative;
	line-height: 125%;
	margin: 0;
}
.flow > li .icon::after {
	content: ' ';
	width: 0;
	height: 0;
	border-left: 45px solid transparent;
	border-right: 45px solid transparent;
	border-top: 20px solid var(--vk-color-primary);
	position: absolute;
	bottom: -20px;
	left: 0;
}
.flow > li dl {
	padding: 0 0 0 30px;
	width: calc(100% - 115px);
}
.flow > li dl dt {
	padding: 0 0 5px;
	margin: 0 0 15px;
	font-size: 1.2em;
	font-weight: bold;
	border-bottom: 4px solid #CCCCCC;
	position: relative;
}
.flow > li dl dt::after {
	content: '';
	width: 20%;
	height: 4px;
	position: absolute;
	bottom: -4px;
	left: 0;
	background-color: var(--vk-color-custom-1);
}
.flow > li dl dd {
margin: 0;
}

/* フッター */

.site-footer {
	color: #fff;
    background-color: var(--vk-color-primary);
}
.site-footer a {
	color: #fff;
}
.footer-nav {
    display: none;
}
.widget-title.site-footer-title,
.site-footer-title:after {
    border-bottom: 1px solid #ccc;
}
.site-body .contact_flex {
	max-width: 750px;
	margin: 50px auto 0;	
	display: flex;
	justify-content: space-between;	
}
.page-id-63 .site-body .contact_flex {
	margin: 0 auto 0;
}
.site-body .phone_wrppaer {
	display: flex;
	justify-content: space-around;
	align-items: center;
	max-width: 330px;
	margin: 0 auto 50px;
	text-align: center;
	padding: 10px 20px;
	border: thin solid var(--vk-color-primary);
	background-color: var(--vk-color-primary);
	border-radius: 10px;
}
.site-body .phone_wrppaer:before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url(images/free_dial.svg) no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 10px;
}
.site-body .phone_wrppaer p {
	line-height: 1;
	margin-bottom: 0;
}
.site-body .phone_wrppaer p a {
	font-size: 30px;
	text-align: center;
	color: #fff;	
	text-decoration: none;
}
.site-body .phone_wrppaer p span {
	font-size: 14px;
}
.site-body .line_wrppaer {
	display: flex;
	justify-content: space-around;
	align-items: center;
	max-width: 350px;
	margin: 0 auto 50px;
	text-align: center;
	padding: 10px 20px;
	border: thin solid #00c300;
	background-color: #00c300;
	border-radius: 10px;
	transition: all 0.5s 0s ease;
}
.site-body .line_wrppaer:hover {
	color: #00c300;	
	background-color: #fff;	
}
.site-body .line_wrppaer:before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url(images/line_icon.svg) no-repeat;
	background-position: center;
	background-size: contain;
	padding: 0 20px;
	margin-right: 10px;
}
.site-body .line_wrppaer {
	font-size: 30px;
	text-align: center;
	color: #fff;
	text-decoration: none;
}
.site-body .line_wrppaer p {
	line-height: 1;
	margin-bottom: 0;
}
.site-body .line_wrppaer p span {
	font-size: 14px;
}
.site-body .contact_wrppaer {
	display: flex;
	justify-content: space-around;
	align-items: center;
	max-width: 340px;
	margin: 0 auto 50px;
	text-align: center;
	padding: 10px 20px;
	border: thin solid var(--vk-color-primary);
	background-color:  var(--vk-color-primary);
	border-radius: 10px;
	transition: all 0.5s 0s ease;
}
.site-body .contact_wrppaer:before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url(images/mail_icon.svg) no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 10px;
}
.site-body .contact_wrppaer {
	font-size: 20px;
	text-align: center;
	color: #fff;
	text-decoration: none;
}
.site-body .contact_wrppaer:hover {
	color: var(--vk-color-primary);
	background-color: #fff;
}
.site-body .contact_wrppaer p {
	margin-bottom: 0;
}
.site-body .contact_wrppaer p span {
	font-size: 14px;
}
.row {
    display: flex;
    flex-wrap: wrap;
	justify-content: space-around;
    margin-right: -15px;
    margin-left: -15px;
}
.row_block {
	display: block;
}
table.office.footer,
table.office.footer tr,
table.office.footer th,
table.office.footer td {
    border: none;
    font-size: 16px;
    font-weight: normal;
    text-shadow: none;
}
.row_block.menu {
	margin-top: 10px;
}
.row_block.menu a {
	font-size: 16px;
	line-height: 3;
}
.veu_profile .profile_text {
    margin-bottom: 1em;
    font-size: 16px;
    line-height: 1.8;
}

/* MW WP Formカスタマイズ */

.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form input[type="text"],
.mw_wp_form textarea {
    padding: 1em;
	width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    font-size: 15px;
    border: 1px solid #ccc;
}
.mw_wp_form select {
    display: block;
    position: relative;
    width: 80%;
    height: 38px;
    font-size: 14px;
    font-size: 0.9rem;
    border: 1px solid #ccc;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
    padding: 0 10px;
}
.mw_wp_form selectt:after {
    position: absolute;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-left: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid var(--vk-color-primary);
    top: 50%;
    right: 10px;
    margin-top: -3px;
    pointer-events: none;
}

/*――――「表」デザイン――――*/

table.cform,
table.cform tr,
table.cform th,
table.cform td {
	border: none;
}
table.cform th {
	font-size: 15px;
	width: 30%;
	white-space: nowrap;
	text-align: right;
	border-bottom: solid 1px #ccc;
    padding: 15px 10px;
    font-weight: bold;
	vertical-align: top;
}
table.cform td {
	font-size: 15px;
	line-height: 200%;
	border-bottom: solid 1px #ccc;
	padding: 10px;
}
table.cform th:first-of-type,
table.cform td:first-of-type {
	border-top: solid 1px #ccc;	
}

/*―――――表示―――――*/
.cform {
	width: 94%;
	margin: auto;
}
.cform option,
.cform textarea,
.cform input[type=text],
.cform input[type=email],
.cform input[type=search],
.cform input[type=url] {
	width: 90%;
}
.policy_byn {
	text-align: center;
	cursor: pointer;
}
.page-id-10 .sitemap-top_page,
.page-id-10 .sitemap-business,
.page-id-10 .sitemap-cost,
.page-id-10 .sitemap-flow,
.page-id-10 .sitemap-contact_line {
	display: none;
}
.page-id-129 .policy_byn {
	display: none;
}
.page-id-130 .thanks {
	font-size: 18px;
	line-height: 2;
	text-align: center;
}
.sitemap-post {
	display: none;
}
#debt,
#affairs,
#receivables,
#heritage,
#crime {
	padding-top: 100px;
	margin-top: -100px;
}
@media only screen and (max-width:767px) {
	table.cform th,
	table.cform td {
		width: 100%;
		display: block;
		padding: 1em;
		border-top: none;
	}
	table.cform th {
		text-align: left;
		border-bottom: none;
	}
	table.cform td:first-of-type {
		border-top: none;
	}
	.cform option,
	.cform textarea,
	.cform input[type=text],
	.cform input[type=email],
	.cform input[type=search],
	.cform input[type=url] {
		width: 100%;
	}
}

/*――「送信ボタン」デザイン――*/
.submit-btn input {
	color: #ffffff;
	font-size: 1.3em;
	font-weight: bold;
	margin: 0 auto;
	padding: 10px 35px;
	border-radius: 3px;
	cursor: pointer;
	text-align: center;
	border: thin solid var(--vk-color-primary);
	border-radius: 10px;
	background-color: var(--vk-color-primary);
	transition: all 0.5s 0s ease;
}
.submit-btn {
	text-align:center;
	margin-top:20px;
	cursor: pointer;
}
.submit-btn input:hover {
	color: var(--vk-color-primary);
	background-color: #FFFFFF;
	cursor: pointer;
}
/*―――「必須」デザイン―――*/
.required-srt {
	font-size:0.9em;
	padding: 6px;
	border-radius: 5px;
	margin-left: 10px;
	background: var(--vk-color-custom-1);
	color: #ffffff;
}
/*―――「任意」デザイン―――*/
.any-srt {
	font-size:0.9em;
	padding: 6px;
	border-radius: 5px;
	margin-left: 10px;
	background: #ccc;
	color: #ffffff;	
}
/*ーーーーーーーーーーーーーーーー*/
#wpfront-scroll-top-container {
	opacity: 1 !important;
	transition: 0.5s;
}
#wpfront-scroll-top-container:hover {
	opacity: .8 !important;
}
.vk-mobile-nav-menu-btn {
	border: none;
	background-image: url("images/menu_open.svg");
	background-size: cover;
}
.vk-mobile-nav-menu-btn.menu-open {
	border: none;
	background-image: url("images/menu_close.svg");
	background-size: cover;
}
.entry-meta-item.entry-meta-item-updated,
.vcard.author,
.site-footer-copyright p:nth-child(2) {
    display: none  !important;
}

@media screen and (max-width: 1440px) and (min-width: 501px) {
	.main_copy {
		font-size: clamp(40px, 28.298px + 2.34vw, 62px);
	}
	.sub_copy {
		font-size: clamp(36px, 32.809px + 0.638vw, 42px);
	}
	h2.section_title,
	h3.strength_title {
		font-size: clamp(40px, 30.396px + 1.917vw, 58px);
	}
	.strength__wrapper--title {
		font-size: clamp(26px, 18.530px + 1.491vw, 40px);
	}	
	.page-header {
		height: clamp(150px, 69.968px + 15.974vw, 300px);
	}
	.page-header-title, h1.page-header-title {
		font-size: clamp(30px, 24.665px + 1.065vw, 40px);
	}
	.office h2.section_title {
		font-size: clamp(30px, 19.329px + 2.13vw, 50px);
	}
}

@media screen and (max-width: 1400px) {
	.home .section_wrapper {
		padding-right: 16px;
		padding-left: 16px;
	}
}

@media screen and (max-width: 1200px) {
	.strength__wrapper--block {
		display: block;
		padding: 0 10px;
	}
	.strength__wrapper--title {
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 1199px) and (min-width: 992px) {
	.strength__wrapper--title {
		letter-spacing: 0;
	}
}

@media screen and (min-width: 992px) {
	.site-header-logo {
		text-align: left;
		padding-top: 0;
		margin-bottom: 1rem;
		margin-left: 0;
	}	
	.site-header--layout--nav-float .site-header-logo {
		font-size: 40px;
		margin-top: -50px;
		margin-right: 4em;
		width: 100%;
	}	
	.header_scrolled .site-header--layout--nav-float .site-header-logo {
		font-size: 1.5rem;
		margin-top: 0;		
		padding-top: 0;
	}	
}

@media screen and (max-width: 1000px) {
	.handling__flex {
		display: block;
	}
	.handling__flex--img {
		max-width: 100%;
		text-align: center;
		margin-bottom: 30px;
		margin-right: 0;
	}
	.handling__flex--block {
		width: 600px;
		max-width: 100%;
	}
	.handling__flex--title {
		font-size: clamp(30px, 26.799px + 0.639vw, 36px);
	}
}

@media (max-width: 991.98px){
	.site-header {
		position:fixed !important;
		top: 0px;
		height: 65px;
	}
	.header_scrolled .site-header-logo{
		display:block;
	}
	body {
		/* モバイル時のヘッダーの高さ */
		 padding-top: 60px;
	}
	/* ヘッダー透過の時 */
	.site-header--trans--true+div {
		/* モバイル時のヘッダー高さ分マイナスオフセット */
		margin-top: -60px;
	}
	.site-header-logo,
	.header_scrolled .site-header-logo {
		display: inline-block;
		text-align: left;
		padding-top: 0;
		margin-top: -5px;
	}
	.site-header-logo img,
	.header_scrolled .site-header-logo img {
		max-height: 70px;
	}
	.vk-mobile-nav-menu-btn.position-right {
		left: inherit;
		right: 5px;
		margin-top: 10px;
	}
	.header_contact_wrapper {
		max-width: 650px;
		margin: 0 0 0 auto;
		position: fixed !important;
		top: 0;
		right: 0;
		margin-top: 0;
		margin-right: 20px;
		transform: scale(0.8, 0.8);
		z-index: 9999;
	}
	.vk-mobile-nav-widget {
		padding-top: 30px;
	}
	.flex__wrapper--block {
		display: block;
		max-width: 600px;
		width: 100%;
		margin: 0 auto 30px;
	}
	.strength__wrapper--flex {
		display: block;
	}
	.strength__wrapper--flex .img {
		width: 100%;
		text-align: center;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.strength__wrapper--cont {
		padding-bottom: 30px;
	}
	.profile__wrapper {
		display: block;
		height: auto;
		text-align: center;
		margin-bottom: 20px;
	}
	.profile__wrapper .img {
		margin-bottom: 20px;
		margin-right: 0;
	}
	table.profile {
		width: auto;
		max-width: 100%;
		margin: auto;
	}
	table.profile td {
		text-align: left;
	}
}

@media (min-width: 992px) {
	.col-lg-4 {
		flex: 0 0 50%;
		max-width: 50%;
	}	
}

@media screen and (max-width: 884px) {
	.strength__wrapper--flex .img {
		margin-top: 0;
	}	
	.access__wrapper {
		display: block;
	}
	.access__wrapper .block {
		width: 100%;
		margin-bottom: 30px;
	}
	.access__wrapper .block table.office th,
	.access__wrapper .block table.office td {
		line-height: 2;
	}
	.access__wrapper .map {
		width: 95%;
		margin-right: 0;
	}
}
@media screen and (min-width: 768px) {
	.sp_only {
		display: none;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}	
	.flex__wrapper--title.one:hover {
		background-image: url(images/scam_2.webp) !important;
	}
	.flex__wrapper--title.two:hover {
		background-image: url(images/debt_2.webp) !important;
	}
	.flex__wrapper--title.three:hover {
		background-image: url(images/affairs_2.webp) !important;
	}
	.flex__wrapper--title.four:hover {
		background-image: url(images/receivables_2.webp) !important;
	}
	.flex__wrapper--title.five:hover {
		background-image: url(images/heritage_2.webp) !important;
	}
	.flex__wrapper--title.six:hover {
		background-image: url(images/crime_2.webp) !important;
	}
}

@media screen and (max-width: 767px) {		
	.header_contact_wrapper {
		display: none;
	}	
	.site-body .contact_flex {
		display: block;
	}
	.site-body .contact_wrppaer,
	.site-body .phone_wrppaer {
		max-width: 350px;
	}
	.site-body .contact_wrppaer,
	.site-body .phone_wrppaer {
		margin-bottom: 20px;
	}
	.page-header-title,
	h1.page-header-title {
		font-size: 30px;
	}
	.handling__flex--block {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0 20px 20px;
	}
}

@media screen and (min-width: 501px) {
	#fixed-footer-menu {
		display: none;
	}
}

@media screen and (max-width: 500px) {
	.site-header-logo {
    	font-size: 26px;
		text-align: center;
	}
	.catch_copy {
    	top: 50%;
	}
	.main_copy {
		font-size: 24px;
		letter-spacing: 0;
		text-shadow: none;
	}
	.sub_copy {
		font-size: 20px;
		letter-spacing: 0;
		text-shadow: none;
	}
	.home section {
		margin: auto;
		padding: 30px 0 20px;
	}
	.home section#handling {
		padding-top: 30px;
	}
	h2.section_title,
	h3.strength_title {
		font-size: 30px;
	}
	.home h2.section_title {
		margin-bottom: 20px;
	}
	.flex__wrapper--ex {
	}
	.flex__wrapper--block {
		margin-bottom: 20px
	}
	.strength__wrapper--block {
		display: block;
		padding: 0 20px;
	}
	.strength__wrapper--title {
		font-size: 20px;
		letter-spacing: 0;
		color: var(--vk-color-primary);
		margin-bottom: 30px;
	}
	.strength__wrapper--title span {
		font-size: 1em;
		font-weight: bold;
		letter-spacing: 0;
		color: var(--vk-color-custom-1);
	}
	.strength__wrapper--cont {
		font-size: 16px;
		line-height: 1.8;
		padding-bottom: 1em;
	}
	section#access {
		padding-left: 0;
		padding-right: 0;
	}
	.access__wrapper {
		max-width: 100%;
		margin: auto;
		display: block;
	}
	.access__wrapper .map {
		margin: 0 calc(50% - 50vw);
		width: 100vw;
	}
	.access__wrapper .block {
		max-width: 100%;
		margin: 0;
		margin-bottom: 50px;
	}
	table.office,
	table.office tr,
	table.office th,
	table.office td {
		border: none;
		font-size: 14px;
	}
	.page-header {
		height: 150px;
	}
	.office h2.section_title {
		font-size: 28px;
		margin-top: 50px;
	}
	.office h2.section_title:before,
	.office h2.section_title:after {
		width: 2em;
	}
	table.profile,
	table.profile tbody,
	table.profile tr,
	table.profile th,
	table.profile td {
		display: block;
		width: 100%;
	}
	table.profile {
		max-width: 90%;
	}
	table.profile td {
		margin-bottom: 10px;
	}
	#access table.office th,
	#access table.office td {
		font-size: 16px;
		line-height: 1.6;
	}
	.map_title,
	.office_title {
		font-size: 28px;
	}
	.site-footer {
		margin-bottom: 72px;
	}
	table.office.footer,
	table.office.footer tr,
	table.office.footer th,
	table.office.footer td {
		font-size: 14px;
		margin-top: 0;
	}
	.site-footer table.office.footer th,
	.site-footer table.office.footer td {
		font-size: 14px;
	}
	.site-footer table.office.footer th {
		width: 35%;
	}
	.row_block.office {
		border-bottom: none;
		padding-bottom: 30px;
	}
	.row_block.menu {
		margin-top: 10px;
	}
	.row_block.menu a {
		font-size: 14px;
		line-height: 1.8;
	}
	.page-header {
		background-image: none;
	}
	/* フッターバー */
	#fixed-footer-menu {
		position: fixed;
		width: 100%;
		bottom: 0px;
		margin-bottom: -20px;
		opacity: 0;
		visibility: hidden;
		z-index: 100;
	}
	#fixed-footer-menu.active {
		opacity: 1;
		visibility: visible;	
	}
	#fixed-footer-menu ul {
		display: flex;
		list-style: none;
		padding: 0;
		margin: 0;
		width: 100%;
		border-top: thin solid #fff;
	}
	#fixed-footer-menu li {
		justify-content: center;
		align-items: center;
		width: 25%;
		padding: 5px 0 0;
		margin: 0;
		background-color: var(--vk-color-primary);
		background-color: rgba(18, 31, 73, .8);
		border-right: thin solid #fff;
	}
	#fixed-footer-menu li.tel_icon {

	}
	#fixed-footer-menu li.line_icon {
		border-right: none;
	}	
	#fixed-footer-menu li a {
		color: #fff;
		text-align: center;
		display: block;
		width: 100%;
		padding: 10px 0px;
		font-size: 8px;
		text-decoration: none;
	}
	#fixed-footer-menu li p {
		font-size: 12px;
	}
	#fixed-footer-menu li .footer-icon {
		font-size: 26px;
    	padding-left: 6px;
	}
	#wpfront-scroll-top-container {
		right: 20px;
		bottom: 90px !important;
	}		
	#wpfront-scroll-top-container img {
		width: 50px !important;
		height: 50px!important;
	}
}