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

/*設定
======================================================*/
html {
	scroll-behavior: smooth;
}
body {
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
body * {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#wrapper {
	background: #fff !important;
}
#headerWrap {
	width: 100%;
    background: #ffffff;
    color: #fff;
}
#header {
    background: none;
    padding: 0px;
    margin: 0 auto;
    width: 1000px !important;
}
#headerCategoryList,
#headerBtm,
.mt12 {
	display: none;
}
#headerStore {
	width: 1000px;
	margin: 0 auto;
}
#headerStore .name {
	font-size: 15px;
	color: #6d665f;
}
#headerStore .kana {
    display: none;
}
#headerStoreContact {
	display: none;
}
.header_mgn01 {
	display: none !important;
}
#headerIconList {
	margin-top: 0;
}
#mainimg {
    margin: auto;
    height: 603px;
    position: relative;
    background: url(https://cms.locoplace.biz/storeimg/57/576422/20230126_1234331.png),url(https://cms.locoplace.biz/storeimg/57/576422/20230126_1234331.png);
    background-repeat: no-repeat,no-repeat;
    background-position: right center,left center;
    background-size: 50% 600px;
    border-top: solid #d8eeff 3px;
}
#mainimgIn {
    height: 600px;
    background: url(https://cms.locoplace.biz/storeimg/57/576422/20260727_1627511.png) top no-repeat!important;
    width: 1000px;
    margin: 0 auto;
}
/*設定
============================*/
.sectionBtm, #g01 .indexCornerWrap01 {
	display: none;
}
.sectionWrap, .h2WrapBtm, .h2WrapTop, .h2WrapMid {
	background: none;
}
.sectionWrap {
	z-index: auto;
}
.h2WrapMid h2 {
	color: #002500;
}
#g01 .h2WrapMid h2 {
    color: #ffffff;
}
#g01 .section {
	background: none;
	padding: 0;
}
#g01 .sectionIn {
	padding: 0;
}
#g01 #contents {
	width: 100%;
}
#g02 .section,#g03 .section,#g05 .section,#g06 .section {
	background: #fff;
}
#g04 #contents {
	width: 880px;
}
#g04 .section {
	padding: 0;
	background: none;
}
#g04 .sectionIn {
	padding: 0;
}
#g04 .indexGalleryWrap01 {
	padding: 0;
}
#map_canvas {
	width: 880px !important;
	margin: 0 auto !important;
}
.accessSec01 {
	width: 880px;
}
#dlpoC_D {
    width: 1000px;
    margin: 30px auto;
}
div#dlpoC_C {
    width: 1000px;
    margin: 0 auto;
}
.h2WrapMid {
    padding: 0!important;
    background: url(../img/bg_h2_mid01.gif) repeat-y left top;
}
#g01 .sectionWrap:nth-child(1) {
    width: 1000px;
    margin: 30px auto 70px;
}
#g01 .sectionWrap:nth-child(6) {
    width: 1000px;
    margin: 30px auto;
}
/*gNavi 
======================================================*/
#gNaviWrap {
	margin: 0;
	clear: both;
}
#gNaviIn {
    width: auto;
    margin: 0 auto;
    background: #44a0e7;
    padding: 0 10px;
}
#gNavi ul {
	width: 1000px;
	height: 50px;
	margin: 0 auto;
	padding: 0;
	border-bottom: none;
	display: flex;
}
#gNavi li {
	padding-bottom: 0;
	width: auto;
	height: 50px;
	flex: 1 1 0px;
	justify-content: center;
	align-items: center;
	position: static;
}
#gNavi li#gNav02 {
	left: 176px;
	height: 50px;
	width: 176px;
}
#gNavi li#gNav03 {
	left: 352px;
	height: 50px;
	width: 176px;
}
#gNavi li#gNav04 {
	left: 528px;
	min-width: 0px;
	height: 50px;
	width: 176px;
}
#gNavi li#gNav05 {
	left: 704px;
	min-width: 0px;
	height: 50px;
	width: 176px;
}
#g01 #gNavi li#gNav01 a, #g02 #gNavi li#gNav02 a, #g03 #gNavi li#gNav03 a, #g04 #gNavi li#gNav04 a, #g05 #gNavi li#gNav05 a, #g06 #gNavi li#gNav06 a, #g07 #gNavi li#gNav07 a {
    background: #2168c2;
    color: #fff;
}
#gNavi li a {
    width: auto;
    height: 50px;
    background: linear-gradient(#44a0e7,#44a0e7);
    border-left: 1px solid #fff;
    color: #fff;
}
#gNavi li:last-child a {
	border-right: 1px solid #fff;
}
#gNavi li a:hover {
    background: #2168c2;
    color: #fff;
}
.indexCopy01 {
    font-size: 19px;
    font-weight: 700;
    width: 1000px;
    display: block;
    margin: 35px auto 50px;
    background: #d8eeff;
    padding: 20px;
    border-right: 5px solid #1d3c6f;
    border-left: 5px solid #1d3c6f;
}
.pageTop {
    position: absolute;
    right: 9px;
    top: -40px;
    right: 15px;
    z-index: 100;
    position: fixed;
    bottom: 20px;
    top: auto;
    border-width: 45px;
    border-style: solid;
    border-radius: 50%!important;
    border-color: #1d3c6f;
    width: 0!important;
    height: 0!important;
}
.pageTop a {
    display: block;
    width: 90px;
    height: 90px!important;
    margin-top: -45px;
    margin-left: -45px!important;
}
.pageTop img {
    visibility: hidden;
    margin-top: 0!important;
    width: 90px!important;
    height: 90px!important;
}
.pageTop::after {
    content: "";
    width: 20px;
    height: 20px;
    border: 0;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 55%;
    left: -10px;
    margin-top: -5px;
}
/*共通
============================*/
.cont-wallpaper {
    display: block;
    margin: 0 auto;
    line-height: 1.7;
    font-size: 16px;
}
.cont-main {
    width: 1000px;
    display: block;
    margin: 0 auto;
}
.cont-img img {
    width: 100%;
    height: auto;
    margin: 20px 0;
}
.cont-title h2 {
    font-size: 28px;
    margin-bottom: 50px;
    background: #1d3c6f;
    position: relative;
    padding: 0.6em;
    color: #fff;
    border-right: 5px solid #44a0e7;
    border-left: 5px solid #44a0e7;
    font-weight: bold;
    text-align: center;
}
.cont-title h2::after {
    position: absolute;
    content: '';
    top: 100%;
    left: 50%;
    border: 15px solid transparent;
    border-top: 15px solid #1d3c6f;
    width: 0;
    height: 0;
}
.cont-title h3 {
    font-size: 25px;
    background: #d8eeff;
    padding: 10px;
    border-radius: 20px;
    width: 100%;
    display: block;
    margin: 40px 0;
    border: 2px solid #44a0e7;
    font-weight: bold;
    text-align: center;
}
.top-ttl {
    font-size: 25px;
    background: #d8eeff;
    padding: 10px;
    border-radius: 20px;
    width: 100%;
    display: block;
    margin: 40px 0;
    border: 2px solid #44a0e7;
    font-weight: bold;
    text-align: center;
}
p.txt-top {
    max-width: 900px;
    width: 90%;
    text-align: center;
    margin: 10px auto 30px!important;
}
/*ラビット探偵社とは？
============================*/
.cont-top {
    margin-bottom: 100px;
}
span.font-p {
    font-size: 105%;
    color: #F477A7;
    font-weight: bold;
    margin: 0 2px;
}
ul.about-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 4%;
}
ul.about-list li {
    width: 48%;
    background: #edf7ff;
    padding: 36px 50px;
    display: flex;
    justify-content: space-around;
    border-radius: 10px;
}
ul.about-list li:first-child {
    width: 100%;
    padding: 50px;
    margin-bottom: 4%;
}
ul.about-list li p {
    font-size: 22px;
}
ul.about-list li:first-child p {
    padding-top: 5%;
}
span.about_bor {
    border-bottom: 3px solid #F477A7;
    display: block;
    line-height: 1;
    padding-top: 5px;
}
span.value {
    font-size: 76px;
    font-family: Avenir;
    font-weight: 900;
}
.cont-top ul.about-list img {
    width: 320px;
    height: auto;
    object-fit: cover;
}
/*ラビット探偵社の強み
============================*/
.tsuyomi-ct {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 10px 0;
    gap: 30px;
}
.tsuyomi-box {
    width: 48%;
    margin-bottom: 4%;
    background: #fff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0px 5px 20px 0 rgb(163 163 163 / 54%);
    display: grid;
}
.tsuyomi-box img {
    display: block;
    margin: 0 auto;
}
.tsuyomi-box h4 {
    color: #F477A7;
    font-weight: bold;
    text-align: center;
    font-size: 22px;
}
.tsuyomi-box p {
    text-align: center;
}
.tsuyomi_point {
    width: 100%;
    margin: 24px 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tsuyomi_point::before {
    border-top: 2px solid #CED4DA;
    content: "";
    flex-grow: 1;
}
.tsuyomi_point::after {
    border-top: 2px solid #CED4DA;
    content: "";
    flex-grow: 1;
}
.tsuyomi_point p {
    text-align: center;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    position: relative;
    line-height: 1.6;
}
.tsuyomi_point span {
    background: #569BEB;
    padding: 5px 50px;
    border-radius: 50px;
}
.tsuyomi_point p::after {
    content: "";
    position: absolute;
    top: 110%;
    left: 45%;
    margin-left: 0;
    border: 10px solid transparent;
    border-top: 8px solid #569BEB;
}
ul.point_list li {
    text-indent: -1.5em;
    margin-left: 1em;
}
ul.point_list li:before {
    content: "●";
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin-right: 10px;
    color: #f477a7;
}
span.blue {
    color: #569BEB;
    font-weight: bold;
}
/*LINEリアルタイム報告とは？
============================*/
.cont-rabbit {
    margin-bottom: 100px;
}
.koudou-ct {
    margin: 20px 0;
    border: solid 5px #dbdbdb;
    padding: 15px;
}
.ryokin-ct {
    margin: 20px 0;
}
.ryokin-ct p {
    font-weight: 700;
    font-size: 18px;
    display: inline-block;
    background: linear-gradient(transparent 82%, #f477a79e 95%);
}
.ryokin-ct p::before {
    content: "●";
    color: #f477a7;
}
.ryokin-ct span {
    font-size: 38px;
    margin-left: 8px;
    color: #f477a7;
}
.ryokin-box {
    display: flex;
    margin-top: 20px;
}
.ryokin-box dl {
    flex-grow: 1;
    width: 50%;
    text-align: center;
}
.ryokin-box dt {
    font-weight: 700;
    border: 2px solid #6a6a6a;
    padding: 5px;
    border-radius: 10px 10px 0 0;
    border-bottom: 0;
    font-size: 21px;
    text-align: center;
    position: relative;
    color: #ffffff;
    background: #f477a7;
    background-size: 30px 30px;
}
.ryokin-box dl:first-of-type dd {
    padding: 30px 15px;
    height: 80px;
}
.ryokin-box dd {
    border: solid #6a6a6a 2px;
    height: 80px;
    padding: 15px;
    line-height: 1.7;
    text-align: left;
}
.ryokin-box dl:first-of-type {
    padding: 0 15px 0 0px;
}
.ryokin-box dl + dl {
    padding: 0 0px 0 15px;
}
.ryokin-ct > div > dl:nth-child(2) > dt {
    background: #4C6471;
}
#g02 .menuCourseText {
    padding: 0 27px 13px;
    margin-bottom: 20px;
    font-weight: bold;
    padding: 0;
}
.ryokin h3 {
    font-size: 20px;
    border-bottom: solid 1px #B5B5B5;
    padding: 0 0 10px 0;
    margin: 0 0 30px 0;
    font-weight: bold;
}
.credit-box p {
    padding: 10px 0;
    font-size: 18px;
    background: #F477A7;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    font-weight: 700;
    margin: 15px 0;
}
img.credit {
    width: 80%;
    display: block;
    margin: 30px auto;
    height: auto;
}
img.pay {
    width: 30%;
    display: block;
    margin: 30px auto;
    height: auto;
}

/*浮気調査料金完全報酬の嘘・ホント
============================*/
.cont-oyakudachi {
    margin-bottom: 90px;
}
.cont-img2 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 60px;
    background: #f9fcff;
    padding: 20px;
}
.cont-img2 img {
    height: 245px!important;
    width: auto;
    position: relative;
    margin-right: 10px;
}
.ct-box {
    width: 72%;
}
h3.counselor-h3 span {
    margin-right: 30px;
}
h3.counselor-h3 {
    font-size: 25px;
    background: none;
    padding: 10px;
    border-radius: 0;
    margin: 5px 0 10px;
    border-bottom: solid 2px!important;
    border: none;
}
/*浮気調査　ラビット探偵社ならご相談が無料です
============================*/
.cont-counselor {
    margin-bottom: 100px;
}
h4.counselor-h4 span {
    margin-right: 20px;
}
.btn {
    margin: 50px auto 75px!important;
}
.btn a {
    border: 2px solid #ccc;
    background: #f1e767;
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
    -webkit-box-shadow: inset 1px 1px 1px #fff;
    box-shadow: inset 1px 1px 1px #fff!important;
    text-decoration: none!important;
    padding: 15px!important;
    display: table!important;
    margin: 0 auto!important;
    color: #484848!important;
    font-weight: bold!important;
    width: 580px!important;
    text-align: center!important;
}
p.top-link a:hover {
    background: -webkit-gradient(linear, left bottom, left top, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(bottom, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);
}
.cont-h4-box h4 {
    font-weight: bold;
    font-size: 21px;
    color: #484848;
    margin: 20px 0 10px;
    border-bottom: solid 2px #ababab;
}
.cont-h4-box h4::before {
    content: "■";
}
.btn br {
    display: none;
}
/*事例
============================*/
.cont-jirei {
    margin-bottom: 100px;
}
.jirei-box {
    margin: 25px 0 50px;
}
.jirei-box dl {
    border: solid 5px #ababab;
    padding: 15px;
}
.jirei-box dt {
    border-bottom: solid 3px #ababab;
    margin-bottom: 10px;
    font-size: 21px;
}
.jirei-box dl span {
    font-weight: bold;
}
p.top-link a {
    border: 2px solid #ccc;
    background: #f1e767;
    background: -webkit-gradient(linear,left top,left bottom,from(#fdfbfb),to(#ebedee));
    background: -webkit-linear-gradient(top,#fdfbfb 0,#ebedee 100%);
    background: linear-gradient(to bottom,#fdfbfb 0,#ebedee 100%);
    -webkit-box-shadow: inset 1px 1px 1px #fff;
    box-shadow: inset 1px 1px 1px #fff;
    text-decoration: none;
    padding: 5px;
    display: table;
    margin: 15px auto 5px;
    color: #484848;
    width: 200px;
    text-align: center;
}
/*ご利用者さまの声
============================*/
.cont-voice {
    margin-bottom: 90px;
}
.voice-box {
    margin: 4em 0;
    padding: 1.5em 2em;
    position: relative;
    border: 1px solid #97e65f;
    background-color: #efffe3;
}
.type h3 {
    font-weight: bold;
    font-size: 21px;
    background-color: #97e65f;
    color: #fff;
    padding: 5px 0.5em;
    margin-bottom: 15px;
}
/*よくある質問
================*/
.cont-qanda {
    margin: 4em 0;
}
.qanda-box {
    border: double #ababab;
    margin: 30px 0 45px;
    padding: 15px;
}
.qanda-box h3 {
    font-size: 25px;
    background: url(https://cms.locoplace.biz/storeimg/57/576422/20220907_1008231.png)no-repeat left 10px top 13px/ 40px;
    padding: 15px 15px 15px 65px;
    border-bottom: solid 2px #ababab;
    font-weight: 700;
}
.qanda-box p {
    background: url(https://cms.locoplace.biz/storeimg/57/576422/20220907_1008232.png)no-repeat top 15px left 10px/40px;
    padding: 15px 15px 15px 65px;
}
/*tel
============================*/
.top-txt p {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    margin: 60px 0 15px;
}
.top-txt p span {
    background: linear-gradient(transparent 70%,#f477a79e 85%);
    font-size: 25px;
    animation: blinking 1s ease-in-out infinite alternate;
}
@keyframes blinking {
    0% {opacity: 0;}
    100% {opacity: 1;}
}
.cta_inner {
    border: double 3px #44a0e7;
    padding: 40px;
    margin: 40px 0 65px;
    background: #dbeffe;
    border-left: none;
    border-right: none;
}
.tel_top p {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}
.tel_inner {
    font-size: 60px;
    text-align: center;
}
.tel_inner a {
    text-decoration: none;
    color: #1f1f1f;
    line-height: 1;
    font-weight: bold;
}
.tel_inner a:hover {
    opacity: 0.8;
}
.tel_bottom p {
    text-align: center;
    font-size: 20px;
}
.form_box {
    text-align: center;
}
.formmail_btn {
    margin-bottom: 10px;
}
.formmail_btn a {
    text-decoration: none;
    display: block;
    background-color: #f477a7;
    color: #fff;
    width: 400px;
    padding: 10px;
    border-radius: 50px;
    text-align: center;
    margin: 20px auto 0;
    box-shadow: 0px 4px 0px rgb(143 10 61);
    transition: all 0.3s ease;
    font-weight: bold;
}
.formmail_btn a:hover {
    transform: translateY(4px);
    box-shadow: none;
}
#g02 .bnr-text::before {
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
    left: 200px;
}
#g02 .bnr-text::after {
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
    right: 215px;
}
.sp_tel {
    display: none;
}
/*コンテンツ追加
================*/
.area-box {
    padding: 10px;
    background: #eeeeee;
    margin: 15px 0 25px;
}
.area-ct {
    margin-bottom: 5em;
}
/*
================*/
#g01 .h2WrapMid h2, #g02 .h2WrapMid h2, #g03 .h2WrapMid h2, #g04 .h2WrapMid h2, #g05 .h2WrapMid h2 {
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 10px;
    padding: 0.5em;
    background: #1d3c6f;
    border-bottom: solid 3px #1d3c6f;
    box-shadow: 0 2px 0 #a7a4a4;
    border-right: 5px solid #44a0e7;
    border-left: 5px solid #44a0e7;
    color: #fff;
}
.fbnr {
    display: none;
}
#footerTop {
    background: #44a0e7;
    padding: 15px 0;
    position: relative;
}
#g05 .h2WrapMid h2 span {
    font-weight: bold!important;
}
#g03 .h2WrapMid h2 span {
    font-weight: bold!important;
}
#g02 .h2WrapMid h2 span {
    font-weight: bold!important;
}
/*調査報告書サンプル
================*/
p.sample-ttl {
    text-align: center;
    margin: 40px 0 20px;
    font-size: 25px;
    font-weight: bold;
    position: relative;
    margin-bottom: 1em;
    display: block;
}
p.sample-ttl span {
    position: relative;
    display: inline-block;
}
p.sample-ttl::before {
    position: absolute;
    content: "";
    background-color: #f477a7;
    border-radius: 3px;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    bottom: -10px;
    left: 280px;
    width: 2px;
    height: 68px;
}
p.sample-ttl::after {
    position: absolute;
    content: "";
    background-color: #f477a7;
    border-radius: 3px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    bottom: -10px;
    right: 280px;
    width: 2px;
    height: 68px;
}
p.sample {
    font-weight: bold;
    font-size: 18px;
    color: #484848;
}
p.sample::before {
    content: "■";
}
.cont-h4-box .cont-img {
    background: #ededed;
    padding: 5px 35px;
    margin: 35px 0;
}
.cont-h4-box .cont-img img {
    margin: 0 0 50px;
    border: solid #969696 1px;
}
/*料金オプション
================*/
.op-ct p {
    text-align: center;
    margin-top: 45px;
    font-size: 21px;
    font-weight: bold;
}
.op-ct ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin: 20px auto 70px;
    border: 1px solid #ddd;
    padding: 30px;
}
.op-ct ul li {
    display: flex;
}
.op-ct ul li::before {
    content: "●";
    color: #f477a7;
    margin-right: 5px;
}
/*ご依頼の流れ
================*/
.flow-ct {
    margin: 20px 0 60px;
}
.reason-box {
    margin: 30px 0;
}
.flow-ttl {
    position: relative;
    overflow: hidden;
    padding: 1rem 2rem 1rem 130px;
    border: 2px solid #44a0e7;
    font-weight: bold;
    font-size: 25px;
    background: #d8eeff;
}
.flow-ttl::before {
    position: absolute;
    top: -150%;
    left: -100px;
    width: 185px;
    height: 300%;
    content: '';
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    background: #44a0e7;
}
.flow-ttl span {
    font-size: 40px;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    padding-top: 3px;
    padding-left: 16px;
    color: #fff;
}
.reason-in {
    display: flex;
    border: 2px solid #44a0e7;
    border-top: 0;
    padding: 10px;
}
.reason-img {
    width: 300px;
    margin: 20px 0;
    height: auto;
}
.reason-img img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    margin-left: 15px;
}
.reason-txt {
    width: 700px;
    padding-left: 30px;
    margin: 20px 0;
}
/*追加
================*/
.address-box {
    margin-top: 15px;
    border-bottom: solid 2px;
    display: inline-table;
}
.address-box p:first-child::before {
    content: "■";
}
/*会社概要
================*/
ul.company-list {
    margin: 0px auto 40px;
    max-width: 950px;
}
.list_item {
    padding: 24px 0;
    text-align: left;
    border-bottom: 1px solid #CED4DA;
    display: flex;
}
.list_item p:first-child {
    color: #4C6471;
    font-weight: bold;
    flex-basis: 20%;
}
.cont-company > ul > li.list_item.last {
    border: 0;
}
br.non {
    display: none;
}
/*各支店一覧
============================*/
.ct-branch details {
    border: 1px solid #ababab;
    border-radius: 5px;
    margin: 20px 0;
    padding: 20px;
}
.ct-branch summary {
    position: relative;
    display: block;
    cursor: pointer;
    font-size: 25px;
    font-weight: bold;
    margin: 0 20px;
    text-align: center;
}
/* Chrome、Safari */
summary::-webkit-details-marker {
  display: none;
}
.ct-branch summary::before, .ct-branch summary::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}
.ct-branch summary::after {
    box-sizing: border-box;
    transition: .1s;
    border-right: 1px solid #333;
    border-top: 1px solid #333;
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    right: -860px;
    bottom: 50%;
    margin-bottom: -3px;
    -webkit-transform: rotate(134deg);
}
.ct-branch details[open] summary::after {
    transform: rotate(-45deg);
    left: 0px;
    top: 5px;
}
p.branch-name {
    margin: 0px auto 15px;
    font-size: 21px;
    font-weight: bold;
    color: #F477A7;
    border-bottom: 5px double #F477A7;
    border-top: 5px double #F477A7;
    padding: 10px;
}
.branch-box {
    margin: 25px 0 50px;
}
.branch_item {
    padding: 24px 0;
    text-align: left;
    border-bottom: 1px solid #CED4DA;
    display: flex;
}
.branch_item p:first-child {
    color: #4C6471;
    font-weight: bold;
    flex-basis: 20%;
}
li.branch_item.last {
    border: 0;
}
/*OM
=============================*/
#g01 #main > div:nth-child(3) > div {
    width: 1000px;
    margin: 0 auto;
}
/*こんな事に心当たりはありませんか？
============================*/
.cont-nayami {
    margin-bottom: 40px;
}
.cont-nayami p {
    max-width: 900px;
    width: 90%;
    text-align: center;
    margin: 10px auto 30px!important;
}
ul.top-nayami {
    background: #37b1f0;
    padding: 20px 40px;
    margin: 10px 0 45px;
    border-radius: 10px;
}
ul.top-nayami li {
    background: #fff;
    margin: 20px 0;
    padding: 20px;
    border-radius: 10px;
    line-height: 1.7;
    font-size: 19px;
}
ul.top-nayami img {
    width: 30px;
    height: auto;
    margin-right: 10px;
}
p.bottom-txt {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin: 60px 0;
}
p.bottom-txt span {
    background: linear-gradient(transparent 70%,#f477a79e 85%);
    font-size: 25px;
    animation: blinking 1s ease-in-out infinite alternate;
}
@keyframes blinking {
    0% {opacity: 0;}
    100% {opacity: 1;}
}
/*ラビット探偵社が選ばれる3つの理由
============================*/
.cont-reason li {
    background: #fff;
    box-shadow: 0 5px 20px 0 rgb(163 163 163 / 54%);
    background-color: #fff;
    border-radius: 10px;
    padding: 50px;
}
.ttl-area {
    display: flex;
    gap: 20px;
    align-items: center;
    border-bottom: solid 1px #B5B5B5;
    padding: 0 0 15px 0;
    margin: 0 0 30px 0;
}
.ttl-area span {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #44a0e7;
    color: #fff;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    line-height: 40px;
    border-radius: 5px;
}
.ttl-area h3 {
    font-size: 22px;
    font-weight: bold;
}
/*パートナーの浮気チェック
============================*/
.check-bg {
    margin: 30px 0 60px;
}
.check-bg ul {
    background: url(https://cms.locoplace.biz/storeimg/57/576422/20230908_1018331.jpg)no-repeat;
    background-size: 80%;
    display: block;
    margin: 20px auto 45px;
    padding: 30px;
    background-position: center center;
    width: 100%;
    height: 555px;
    position: relative;
}
.check-bg ul li {
    position: relative;
    left: 18%;
    line-height: 4.5;
    font-size: 20px;
    font-weight: bold;
    background: linear-gradient(transparent 98%,#8a8a8a 36%);
    width: 68%;
}
.check-bg ul li img {
    width: 30px;
    height: auto;
    margin-right: 10px;
    margin-top: 30px;
}
/*こんなときにご相談ください
============================*/
.cont-consultation {
    padding: 0px 0 40px;
}
.cont-consultation p {
    max-width: 900px;
    width: 90%;
    text-align: center;
    margin: 10px auto!important;
}
.consultation-box ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 55px;
}
.consultation-box ul li {
    width: 30%;
    margin: 0 2% 3% 0;
    border-radius: 10px;
    background: #ffebeb;
    box-shadow: 0 5px 20px 0 rgb(163 163 163 / 54%);
}
.consultation-box img {
    width: 100%;
    height: 175px;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}
.cont-consultation p {
    max-width: 900px;
    width: 90%;
    text-align: center;
    margin: 10px auto!important;
}
p.num-cor {
    font-family: Avenir;
    margin: 10px auto!important;
    color: #F477A7;
    font-weight: bold;
}
p.title-txt {
    font-size: 17px;
    font-weight: bold;
    margin: 10px auto 0;
}
p.txt {
    font-size: 14px;
    margin: 10px auto 30px!important;
    color: #4C6471;
}
/*地図
============================*/
.map-box iframe {
    height: 200px;
}
.map_in {
    margin: 30px 0;
}
.map_in iframe {
    height: 200px;
}
/*OM
============================*/
#g01 #main > div:nth-child(6) > div > div.h2WrapBtm > div > div {
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 10px;
    padding: 0.5em!important;
    background: #1d3c6f;
    border-bottom: solid 3px #1d3c6f;
    box-shadow: 0 2px 0 #a7a4a4;
    border-right: 5px solid #44a0e7;
    border-left: 5px solid #44a0e7;
    color: #fff;
}
#g01 #main > div:nth-child(3) > div > div.h2WrapBtm > div > div {
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 10px;
    padding: 0.5em!important;
    background: #1d3c6f;
    border-bottom: solid 3px #1d3c6f;
    box-shadow: 0 2px 0 #a7a4a4;
    border-right: 5px solid #44a0e7;
    border-left: 5px solid #44a0e7;
    color: #fff;
}
#g01 #main > div:nth-child(6) > div > div.h2WrapBtm > div > div > h2 {
    display: none;
}
#g01 #main > div:nth-child(3) > div > div.h2WrapBtm > div > div > h2 {
    display: none;
}
#g01 #main > div:nth-child(6) > div > div.h2WrapBtm > div > div::after {
    content: "ご相談事例";
    font-weight: bold;
    color: #ffffff;
}
#g01 #main > div:nth-child(3) > div > div.h2WrapBtm > div > div::after {
    content: "ご相談事例";
    font-weight: bold;
    color: #ffffff;
}
.topMessageDetail .detailAnchor a {
    font-size: 0;
    background: none;
    text-decoration: none;
}
.topMessageDetail .detailAnchor a::before {
    content: "ご相談事例一覧";
    font-size: 15px;
    padding: 2px 0 2px 22px;
    background: url(https://cms.locoplace.biz/storeimg/57/576422/20231024_1211501.png) left center no-repeat;
}
#section_push .h2WrapMid h2::before {
    content: "ご相談事例";
    font-size: 22px;
}
#section_push .h2WrapMid h2 {
    font-size: 0;
    padding: 10px;
}

img.ct-img {
    width: 100%;
    height: auto;
}
ul.case-sec__tags {
    display: none !important;
}
br.non\/ {
    display: none;
}
/* ======================================================
   CV改善 追記CSS（既存の色味に合わせて統一）
   - 主要カラー：#1d3c6f(紺) / #44a0e7(青) / #f477a7(ピンク) / #dbeffe(淡青)
   ====================================================== */

/* -------- CTA：統一2導線（電話＋フォーム） -------- */
.cta_inner--unified{
  display: grid;
  gap: 14px;
}

/* 既存 .top-txt と並存させる（上書きしない） */
.cta_trust{
  text-align: center;
}

.cta_trust ul{
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.cta_trust ul li{
  background: #ffffff;
  border: 1px solid #44a0e7;
  color: #1d3c6f;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.cta_trustNote{
  margin: 10px 0 0;
  font-size: 15px;
  font-weight: 700;
  color: #1d3c6f;
}

.cta_buttons{
  display: grid;
  gap: 10px;
  margin-top: 6px;
}

.cta_btn{
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  border-radius: 999px;
  padding: 14px 16px;
  color: #fff;
  font-weight: 900;
  box-shadow: 0px 4px 0px rgba(0,0,0,.25);
  transition: all .2s ease;
}
.cta_btn a{
    transition: all .2s ease;
}

.cta_buttons a:hover{
  transform: translateY(2px);
  box-shadow: 0px 2px 0px rgba(0,0,0,.18);
  opacity: .98;
}

.cta_btnIcon{
  font-size: 20px;
  line-height: 1;
}

.cta_btnMain {
    display: grid;
    gap: 2px;
    text-align: center;
}

.cta_btnTitle{ font-size: 16px; }
.cta_btnSub{ font-size: 25px; font-weight: 900; line-height: 1.1; }
.cta_btnMeta{ font-size: 13px; font-weight: 800; opacity: .95; }

.cta_btn--tel{
  background: #1d3c6f;
  border: 2px solid #44a0e7;
}

.cta_btn--form{
  background: #f477a7;
  border: 2px solid #f477a7;
}
.cta_buttons a {
    /* display: flex; */
    gap: 12px;
    align-items: center;
    text-decoration: none;
    border-radius: 999px;
    padding: 14px 16px;
    color: #fff;
    font-weight: 900;
    box-shadow: 0px 4px 0px rgba(0, 0, 0, .25);
    transition: all .2s ease;
}
a.cta_btn_tel {
    background: #f477a7;
    border: 2px solid #ffffff;
}
a.cta_btn_form {
    background: #1d3c6f;
    border: 2px solid #44a0e7;
}
.cta_disclaimer {
    margin: 0;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #4C6471;
    margin-top: 10px;
}
#cta-unified {
    display: grid;
    gap: 14px;
}
.cta_trust {
    text-align: center;
}
.cta_trust ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    line-height: 2;
}
.cta_trust ul li {
    background: #ffffff;
    border: 1px solid #44a0e7;
    color: #1d3c6f;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.8;
}
.cta_trustNote {
    margin: 10px 0 0;
    font-size: 15px;
    font-weight: 700;
    color: #1d3c6f;
}
.cta_trustNote {
    margin: 10px 0 0;
    font-size: 15px;
    font-weight: 700;
    color: #1d3c6f;
}

/* スマホは電話が上（デフォルト） / PCはフォームを左（優先） */
@media (min-width: 720px){
  .cta_buttons{
    grid-template-columns: 1fr 1fr;
  }
  .cta_btn--form{ order: 1; }
  .cta_btn--tel{ order: 2; }
}

/* -------- ご利用者さまの声：CVカード -------- */
.voice-cv-list{
  display: grid;
  gap: 18px;
}

.voice-cv {
    background: #fff;
    border: 2px solid #44a0e7;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0px 5px 20px 0 rgb(163 163 163 / 25%);
}
#g01 .voice-cv {
    margin-bottom: 20px;
}

.voice-cv__summary{
  margin: 0 0 10px;
  font-size: 21px;
  font-weight: 900;
  color: #1d3c6f;
  line-height: 1.5;
}

.voice-cv__chips{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
}

.voice-cv__chips li{
  background: #d8eeff;
  border: 1px solid #44a0e7;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 800;
  color: #1d3c6f;
}

.voice-cv__ba{
  background: #f9fcff;
  border: 1px solid #CED4DA;
  border-radius: 12px;
  padding: 12px;
  margin: 0 0 10px;
}

.voice-cv__ba p{
  margin: 0 0 8px;
  line-height: 1.8;
}

.voice-cv__ba p:last-child{ margin-bottom: 0; }

.voice-cv__reason{
  margin: 0 0 10px;
  line-height: 1.8;
}

.voice-cv__details{
  border-top: 1px dashed #CED4DA;
  padding-top: 10px;
  margin-top: 8px;
}

.voice-cv__details summary{
  cursor: pointer;
  font-weight: 900;
  color: #1d3c6f;
}

.voice-cv__body{
  margin-top: 10px;
}

.voice-cv__body p{
  margin: 0 0 10px;
  line-height: 1.9;
}

.voice-cv__body p:last-child{ margin-bottom: 0; }

.voice-cv__cta{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #CED4DA;
  display: grid;
  gap: 10px;
  text-align: center;
}

.voice-cv__btn{
  display: block;
  padding: 12px 16px;
  border-radius: 999px;
  text-decoration: none;
  color: #fff;
  font-weight: 900;
  box-shadow: 0px 4px 0px rgba(0,0,0,.25);
  transition: all .2s ease;
}

.voice-cv__btn a{
    transition: all .2s ease;
}
.voice-cv__cta a:hover{
  transform: translateY(2px);
  box-shadow: 0px 2px 0px rgba(0,0,0,.18);
  opacity: .98;
}

.voice-cv__btn--tel{
  background: #1d3c6f;
  border: 2px solid #44a0e7;
}

.voice-cv__btn--form{
  background: #f477a7;
  border: 2px solid #f477a7;
}

.voice-cv__note {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #4C6471;
}
.voice-cv__cta a {
    display: block;
    padding: 12px 16px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0px 4px 0px rgba(0, 0, 0, .25);
    transition: all .2s ease;
}
a.voice-cv__btn_form {
    background: #f477a7;
    border: 2px solid #ffffff;
}
/* PCはフォーム左 */
@media (min-width: 720px){
  .voice-cv__cta{
    grid-template-columns: 1fr 1fr;
  }
  .voice-cv__note{
    grid-column: 1 / -1;
  }
  a.voice-cv__btn_form{ order: 1; }
  a.voice-cv__btn_tel{ order: 2; }
}

/* -------- スマホ追従CTA（PC非表示） -------- */
.sticky-cta{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 10px;
  background: rgba(255,255,255,.92);
  border-top: 2px solid #44a0e7;
  z-index: 9999;
}

.sticky-cta a{
  display: grid;
  place-items: center;
  text-decoration: none;
  border-radius: 14px;
  padding: 10px 8px;
  color: #fff;
  font-weight: 900;
  line-height: 1.2;
  box-shadow: 0px 4px 0px rgba(0,0,0,.22);
}

.sticky-cta a span{
  font-size: 12px;
  font-weight: 800;
  opacity: .95;
  margin-top: 2px;
}

.sticky-cta__tel{
  background: #1d3c6f;
  border: 2px solid #44a0e7;
}

.sticky-cta__form{
  background: #f477a7;
  border: 2px solid #f477a7;
}

@media (min-width: 720px){
  .sticky-cta{ display: none; }
}

@media (max-width: 719px){
  body{ padding-bottom: 86px; }
}
/* =========================
   Case Section（調査相談事例）
========================= */
.case-sec { margin: 30px 0; }
.case-sec__lead { margin-top: 8px; font-size: 15px; line-height: 1.7; opacity: .9; }

.case-sec__tags {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin: 12px 0 18px; padding: 0; list-style: none;
}

.case-tag {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 6px 10px; border-radius: 999px;
  font-size: 12px; line-height: 1; font-weight: 800;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
}

.case-tag--evidence { background: rgba(0,0,0,.03); }
.case-tag--repair { background: rgba(0,0,0,.03); }
.case-tag--divorce { background: rgba(0,0,0,.03); }
.case-tag--budget { background: rgba(0,0,0,.03); }
.case-tag--cohabit { background: rgba(0,0,0,.03); }

.case-list {
    display: grid;
    gap: 16px;
    padding: 30px;
    background: #e2e2e2;
    border-radius: 20px;
}

.case-card {
    border: 1px solid rgb(0 0 0 / 39%);
    border-radius: 14px;
    padding: 14px 14px 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
}

.case-card__head { margin-bottom: 10px; }
.case-card__eyebrow { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.case-card__title { font-weight: bold; margin: 0 0 6px; font-size: 18px; line-height: 1.35; }
.case-card__meta { margin: 0; font-size: 13px; opacity: .85; }

.case-card__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 10px;
}

.case-card__box {
  border-radius: 12px;
  padding: 10px 10px;
  background: rgba(0,0,0,.03);
}

.case-card__label { margin: 0 0 6px; font-size: 12px; font-weight: 900; opacity: .9; }
.case-card__txt { margin: 0; font-size: 14px; line-height: 1.75; }

.case-card__details { margin-top: 10px; }
.case-card__details summary { cursor: pointer; font-weight: 800; font-size: 14px; }
.case-card__raw { margin-top: 8px; font-size: 13px; line-height: 1.75; opacity: .92; }

.case-card__timeline { margin: 0; padding-left: 18px; }
.case-card__timeline li { margin: 4px 0; }

.case-card__cta { margin-top: 12px; padding-top: 12px; border-top: 1px dashed rgba(0,0,0,.15); }
.case-card__ctaLead { margin: 0 0 10px; font-size: 14px; line-height: 1.6; font-weight: 900; }

.case-card__btns,
.case-sec__bottomBtns {
  display: grid; grid-template-columns: 1fr; gap: 10px;
}

.case-btn {
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  border-radius: 12px;
  padding: 12px 12px;
  font-weight: 900;
  font-size: 15px;
  border: 1px solid rgba(0,0,0,.12);
}

.case-btn--tel { background: rgba(0,0,0,.06); color: inherit; }
.case-btn--form { background: rgba(0,0,0,.10); color: inherit; }

.case-card__note,
.case-sec__bottomNote {
  margin: 10px 0 0;
  font-size: 12px;
  opacity: .85;
  text-align: center;
}

.case-sec__bottomCta {
    margin-top: 18px;
    /* border: 1px solid rgba(0, 0, 0, .10); */
    border-radius: 16px;
    padding: 14px;
    /* border: 1px solid rgb(0 0 0 / 39%); */
    background: #f8f3f3;
}

.case-sec__bottomLead {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 900;
  text-align: center;
}
.case-sec__bottomBtns a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 999px;
    padding: 12px 12px;
    font-weight: 900;
    font-size: 15px;
    box-shadow: 0px 4px 0px rgba(0, 0, 0, .25);
}
.case-btn-tel {
    background: #1d3c6f;
    border: 2px solid #44a0e7 !important;
    color: #fff;
}
.case-btn-form {
    background: #f477a7;
    border: 2px solid #ffffff;
    color: #fff;
}
.case-card__btns a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 12px 12px;
    font-weight: 900;
    font-size: 15px;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 999px;
    box-shadow: 0px 4px 0px rgba(0, 0, 0, .25);
}
.case-card__btns a:hover {
    opacity: 0.8;
}
ul.case-sec__tags {
    display: none!important;
}
.case-list {
    margin-top: 20px;
}
.case-sec__bottomBtns a:hover {
    opacity: 0.8;
}
/* PC */
@media (min-width: 768px) {
  .case-card { padding: 16px 18px 14px; }
  .case-card__title { font-size: 20px; }
  .case-card__grid { grid-template-columns: 1fr 1fr; }
  .case-card__btns,
  .case-sec__bottomBtns { grid-template-columns: 1fr 1fr; }
}


/* =========================================
   追加調整（上書き用）2026-01-26
   - voice CTA の背景色/文字色の二重指定を整理
   - case タグ（カテゴリ）の表示を復帰（必要なら下の1行で非表示に）
========================================= */

/* --- Voice CTA buttons: force brand colors --- */
a.voice-cv__btn_tel {
    background: #d8eeff;
    color: inherit;
}
a.voice-cv__btn_form {
    color: inherit;
    background: #b9e1ff;
    border: 2px solid #ffffff;
}

/* voice CTA hover */
.voice-cv__cta a:hover{
  opacity: .95;
}
.voice-cv__cta a {
    display: block;
    padding: 12px 16px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0px 4px 0px rgba(0, 0, 0, .25);
    transition: all .2s ease;
    color: #1d3c6f;
}
/* --- Case tags（カテゴリ）: show by default --- */
/* ul.case-sec__tags{
  display: flex !important;
}*/

/* もしカテゴリを表示したくない場合は、この1行だけ有効化してください */
ul.case-sec__tags{ display: none !important; } 

/* --- Case buttons: ensure text is white --- */
.case-btn-tel,
.case-btn-form,
.case-card__btns a.case-btn-tel,
.case-card__btns a.case-btn-form,
.case-sec__bottomBtns a.case-btn-tel,
.case-sec__bottomBtns a.case-btn-form{
  color: #fff !important;
}

/* border colors (keep existing design) */
.case-btn-form{
  border-color: #f477a7 !important;
}
.case-card__btns a:hover{
  transform: translateY(2px);
  box-shadow: 0px 2px 0px rgba(0,0,0,.18);
  opacity: .98;
}
.case-card__btns a {
    transition: all .2s ease;
}
.case-sec__bottomBtns a:hover{
  transform: translateY(2px);
  box-shadow: 0px 2px 0px rgba(0,0,0,.18);
  opacity: .98;
}
.case-sec__bottomBtns a {
    transition: all .2s ease;
}

/* ===== Branch section enhancements (no-JS, lighter map load) ===== */
.ct-branch .branch-lead{
  margin: 10px 0 16px;
  line-height: 1.7;
}
.ct-branch details.branch-map{
  margin-top: 10px;
}
.ct-branch details.branch-map > summary{
  cursor: pointer;
  user-select: none;
  font-weight: 700;
}
.ct-branch details.branch-map[open] > summary{
  margin-bottom: 8px;
}
.ct-branch details > summary{
  cursor: pointer;
}
/* Optional: reduce layout shift from iframe height=auto */
.ct-branch .map-box iframe{
  min-height: 260px;
}
/* ===== /Branch section enhancements ===== */

/* 地図の見開き専用デザイン */
.ct-branch details.branch-map {
  margin-top: 12px;
  border-radius: 14px;
}

.ct-branch details.branch-map > summary {
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ct-branch details.branch-map[open] {
  background: #f3f7fb; /* 他と変える */
  padding: 14px;
  border: 1px solid #c9d8ea;
}

.ct-branch details.branch-map[open] .map_bg {
  margin-top: 12px;
}

/* 地図自体を大きく */
.ct-branch details.branch-map iframe {
  border-radius: 10px;
  min-height: 320px;
}
.ct-branch details.branch-map[open] > summary::after {
  content: "（閉じる）";
  font-size: 12px;
  opacity: .6;
}
.ct-branch details.branch-map[open] {
  box-shadow: 0 10px 30px rgba(29,60,111,.12);
  padding: 20px;
}

/* ===== Branch list <details> arrow & layout fix (2026-01-28) ===== */
.ct-branch details.branch-region,
.ct-branch details.branch-map{
  border:1px solid #ababab;
  border-radius:10px;
  margin:18px 0;
  overflow:hidden;
  background:#fff;
}

/* reset old pseudo arrows (prevents diagonal / broken positions) */
.ct-branch details.branch-region > summary::before,
.ct-branch details.branch-region > summary::after,
.ct-branch details.branch-map > summary::before,
.ct-branch details.branch-map > summary::after{
  content:none !important;
  display:none !important;
}

.ct-branch details.branch-region > summary,
.ct-branch details.branch-map > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  margin:0;
  text-align:left;
  line-height:1.4;
}

.ct-branch details.branch-region > summary{
  font-size:18px;
  font-weight:700;
}
.ct-branch details.branch-map > summary{
  font-size:16px;
  font-weight:700;
}

.ct-branch details.branch-region > summary::-webkit-details-marker,
.ct-branch details.branch-map > summary::-webkit-details-marker{
  display:none;
}

/* arrow */
.ct-branch details.branch-region > summary span,
.ct-branch details.branch-map > summary span{
  flex:0 0 auto;
  width:10px;
  height:10px;
  border-right:2px solid #333;
  border-bottom:2px solid #333;
  transform:rotate(45deg);
  transform-origin:center;
  transition:transform .15s ease;
}

.ct-branch details.branch-region[open] > summary span,
.ct-branch details.branch-map[open] > summary span{
  transform:rotate(-135deg);
}

/* inner spacing */
.ct-branch details.branch-region > .branch-lead{
  padding:10px 16px 0;
  margin:0;
  font-size:14px;
  line-height:1.7;
}
.ct-branch details.branch-region > .branch-box{
  margin:12px 12px 16px;
}
.ct-branch details.branch-map > .map_bg{
  margin:0;
  padding:12px;
  background:#fff;
}

/* ===== Branch list (nested regions) ===== */
.ct-branch details.branch-region details.branch-region{
  margin:12px 12px 14px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  background:#fff;
}
.ct-branch details.branch-region details.branch-region > summary{
  background:#fff;
  font-size:16px;
  padding:12px 14px;
}
.ct-branch details.branch-region details.branch-region > summary span{
  width:10px;
  height:10px;
}
.ct-branch details.branch-region details.branch-region[open] > summary{
  border-bottom:1px solid rgba(0,0,0,.08);
}
.ct-branch details.branch-region details.branch-region > .branch-box{
  margin:12px;
}
.ct-branch details.branch-region details.branch-region > .branch-lead{
  padding:0 14px 10px;
  margin:0;
}
/* ===== /Branch list (nested regions) ===== */
/* ===== /Branch list fix ===== */


/* ===== 調査相談事例 追加カード調整（2026-07-17） ===== */
.case-card__raw--story p{
  margin: 0 0 10px;
  line-height: 1.9;
}
.case-card__raw--story p:last-child{
  margin-bottom: 0;
}
.case-card__local{
  margin-top: 12px;
  padding: 12px;
  border-radius: 12px;
  background: #f9fcff;
  border: 1px solid #CED4DA;
}
.case-card__local .case-card__label{
  color: #1d3c6f;
}
.case-card__local p{
  margin: 0 0 8px;
}
.case-card__local p:last-child{
  margin-bottom: 0;
}
/* ===== /調査相談事例 追加カード調整 ===== */

/* {エリア}で多い浮気相談
============================*/
.cont-local-consult {
    margin-bottom: 100px;
}
.local-consult__lead {
    max-width: 900px;
    width: 90%;
    text-align: center;
    margin: 10px auto 30px !important;
    line-height: 1.9;
}
.local-consult__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin: 30px 0 35px;
    padding: 30px;
    background: #e2e2e2;
    border-radius: 20px;
}
.local-consult__list li {
    display: flex;
    gap: 14px;
    background: #fff;
    border: 1px solid rgb(0 0 0 / 20%);
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
}
.local-consult__num {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1d3c6f;
    color: #fff;
    border: 3px solid #44a0e7;
    font-family: Avenir, sans-serif;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}
.local-consult__body h3 {
    margin: 0 0 8px;
    color: #1d3c6f;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.5;
}
.local-consult__body h3::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin-top: 6px;
    background: #f477a7;
    border-radius: 999px;
}
.local-consult__body p {
    margin: 0;
    color: #4C6471;
    font-size: 14px;
    line-height: 1.8;
}
.local-consult__bottom {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 10px !important;
    padding: 18px 20px;
    background: #dbeffe;
    border-left: 5px solid #44a0e7;
    border-right: 5px solid #44a0e7;
    color: #1d3c6f;
    font-weight: 700;
    text-align: center;
    line-height: 1.8;
}

/* よくある質問 アコーディオン
============================*/
.cont-qanda .qanda-accordion {
	margin: 30px auto 60px;
}

.cont-qanda .qanda-accordion .qanda-box {
	margin: 0 0 16px;
	padding: 0;
	border: none;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 14px rgb(29 60 111 / 12%);
	overflow: hidden;
}

.cont-qanda .qanda-accordion .qanda-box summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 76px;
	margin: 0;
	padding: 18px 72px 18px 72px;
	border: 2px solid #d8eeff;
	border-radius: 12px;
	background: #fff;
	color: #1d3c6f;
	font-size: 19px;
	font-weight: bold;
	line-height: 1.6;
	text-align: left;
	list-style: none;
	cursor: pointer;
	transition: background-color 0.2s ease,
				border-color 0.2s ease;
}

.cont-qanda .qanda-accordion .qanda-box summary::-webkit-details-marker {
	display: none;
}

.cont-qanda .qanda-accordion .qanda-box summary:hover {
	border-color: #44a0e7;
	background: #f9fcff;
}

.cont-qanda .qanda-accordion .qanda-box summary::before {
	content: "Q";
	position: absolute;
	top: 50%;
	left: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #f477a7;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 21px;
	font-weight: bold;
	transform: translateY(-50%);
}

.cont-qanda .qanda-question {
	display: block;
	width: 100%;
}

.cont-qanda .qanda-toggle {
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #1d3c6f;
	transform: translateY(-50%);
}

.cont-qanda .qanda-toggle::before,
.cont-qanda .qanda-toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 15px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.cont-qanda .qanda-toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.cont-qanda .qanda-box[open] summary {
	border-color: #44a0e7;
	border-radius: 12px 12px 0 0;
	background: #d8eeff;
}

.cont-qanda .qanda-box[open] .qanda-toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.cont-qanda .qanda-answer {
	position: relative;
	padding: 22px 28px 24px 72px;
	border: 2px solid #44a0e7;
	border-top: none;
	border-radius: 0 0 12px 12px;
	background: #f9fcff;
	animation: qanda-open 0.25s ease;
}

.cont-qanda .qanda-answer::before {
	content: "A";
	position: absolute;
	top: 20px;
	left: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #44a0e7;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 21px;
	font-weight: bold;
}

.cont-qanda .qanda-accordion .qanda-answer p {
	margin: 0;
	padding: 0;
	background: none;
	color: #343434;
	font-size: 16px;
	line-height: 1.9;
}

@keyframes qanda-open {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/* {エリア}で浮気調査を検討している方へ
============================*/
.cont-local-guide {
	margin: 0 0 100px;
}

.cont-local-guide .cont-bg {
	margin: 0 auto;
	padding: 10px 0 20px;
}

.cont-local-guide .cont-title h3 {
	margin: 35px 0 20px;
}

.cont-local-guide .local-guide-box {
	position: relative;
	margin: 0 0 30px;
	padding: 30px 35px;
	border: 2px solid #d8eeff;
	border-left: 6px solid #44a0e7;
	border-radius: 14px;
	background: #f9fcff;
	box-shadow: 0 5px 18px rgb(29 60 111 / 10%);
}

.cont-local-guide .local-guide-box::before {
	position: absolute;
	top: 22px;
	right: 24px;
	color: #d8eeff;
	font-family: Arial, sans-serif;
	font-size: 54px;
	font-weight: bold;
	line-height: 1;
}

.cont-local-guide .local-guide-box:first-of-type::before {
	content: "01";
}

.cont-local-guide .local-guide-box:nth-of-type(2)::before {
	content: "02";
}

.cont-local-guide .local-guide-box p {
	position: relative;
	z-index: 1;
	margin: 0 0 16px;
	color: #343434;
	font-size: 16px;
	line-height: 1.9;
}

.cont-local-guide .local-guide-box p:last-child {
	margin-bottom: 0;
}

.cont-local-guide .local-guide-box strong {
	color: #1d3c6f;
	font-weight: bold;
}

.cont-local-guide .local-guide-note {
	margin: 25px 0 0;
	padding: 18px 22px;
	border: 1px dashed #44a0e7;
	border-radius: 10px;
	background: #fff;
	color: #1d3c6f;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}

/* 調査報告書サンプル アコーディオン
============================*/
.report-sample {
	margin: 35px 0 45px;
}

.report-sample .sample-ttl {
	margin: 0 0 18px;
	text-align: center;
}

.report-sample__lead {
	margin: 0 0 24px;
	color: #343434;
	line-height: 1.8;
}

.report-sample__list {
	margin: 0 auto;
}

.report-sample__item {
	margin: 0 0 16px;
	border: none;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 14px rgb(29 60 111 / 12%);
	overflow: hidden;
}

.report-sample__item summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 72px;
	padding: 17px 70px 17px 24px;
	border: 2px solid #d8eeff;
	border-radius: 12px;
	background: #fff;
	color: #1d3c6f;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	list-style: none;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease;
}

.report-sample__item summary::-webkit-details-marker {
	display: none;
}

.report-sample__item summary:hover {
	border-color: #44a0e7;
	background: #f9fcff;
}

.report-sample__title {
	display: block;
	width: 100%;
}

.report-sample__toggle {
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #1d3c6f;
	transform: translateY(-50%);
}

.report-sample__toggle::before,
.report-sample__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 15px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}

.report-sample__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.report-sample__item[open] summary {
	border-color: #44a0e7;
	border-radius: 12px 12px 0 0;
	background: #d8eeff;
}

.report-sample__item[open] .report-sample__toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.report-sample__content {
	padding: 25px;
	border: 2px solid #44a0e7;
	border-top: none;
	border-radius: 0 0 12px 12px;
	background: #f9fcff;
	animation: report-sample-open 0.25s ease;
}

.report-sample__content figure {
	margin: 0;
}

.report-sample__content img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	border: 1px solid #d8dee8;
	background: #fff;
	box-shadow: 0 3px 12px rgb(0 0 0 / 8%);
}

.report-sample__content figcaption {
	margin: 14px 0 0;
	color: #666;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}

@keyframes report-sample-open {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}
#area_support,
#uwaki_jirei,
#uwaki_price,
#uwaki_reason,
#uwaki_flow,
#uwaki_qanda,
#guide_timing,
#guide_price,
#guide_car,
#guide_line,
#guide_report,
#guide_support,
#guide_cancel,
#guide_service,
#guide_faq {
	scroll-margin-top: 100px;
}
.navi-link {
	position: static;
}
/* ==================================================
	選ばれる理由
================================================== */
.reason-results {
	margin-bottom: 50px;
}

.reason-results__lead {
	margin: 0 0 25px;
	line-height: 1.9;
}

.reason-results__note {
	margin: 15px 0 0;
	font-size: 13px;
	line-height: 1.7;
	color: #666;
}

.reason-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.reason-list__item {
	margin-bottom: 35px;
	padding: 30px;
	border: 1px solid #ddd;
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
}

.reason-list__item:last-child {
	margin-bottom: 0;
}

.reason-list__head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 25px;
	padding-bottom: 18px;
	border-bottom: 2px solid #eee;
}

.reason-list__num {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #f477a7;
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
}

.reason-list__title {
	flex: 1;
}

.reason-list__label {
	margin: 0 0 5px;
	color: #f477a7;
	font-size: 14px;
	font-weight: bold;
}

.reason-list__title h3 {
	margin: 0;
	font-size: 24px;
	line-height: 1.5;
}

.reason-list__body {
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

.reason-list__image {
	flex: 0 0 240px;
}

.reason-list__image img {
	display: block;
	width: 100%;
	height: auto;
}

.reason-list__text {
	flex: 1;
	min-width: 0;
}

.reason-list__text p {
	margin: 0 0 15px;
	line-height: 1.9;
}

.reason-list__point {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.reason-list__point li {
	position: relative;
	padding: 9px 14px 9px 32px;
	border-radius: 5px;
	background: #f8f3f3;
	font-size: 14px;
	font-weight: bold;
	box-sizing: border-box;
}

.reason-list__point li::before {
	position: absolute;
	top: 50%;
	left: 12px;
	width: 10px;
	height: 6px;
	border-bottom: 3px solid #e8505b;
	border-left: 3px solid #e8505b;
	content: "";
	transform: translateY(-65%) rotate(-45deg);
}

.reason-detail {
	margin-top: 25px;
	border: 1px solid #ddd;
	border-radius: 6px;
	overflow: hidden;
}

.reason-detail summary {
	position: relative;
	padding: 16px 55px 16px 20px;
	background: #f7f7f7;
	font-weight: bold;
	cursor: pointer;
	list-style: none;
}

.reason-detail summary::-webkit-details-marker {
	display: none;
}

.reason-detail__toggle {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
}

.reason-detail__toggle::before,
.reason-detail__toggle::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	background: #e8505b;
	content: "";
	transform: translate(-50%, -50%);
}

.reason-detail__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform 0.2s ease;
}

.reason-detail[open] .reason-detail__toggle::after {
	transform: translate(-50%, -50%) rotate(0);
}

.reason-detail__content {
	padding: 25px;
}

.reason-detail__content h4 {
	margin: 0;
	font-size: 20px;
}

.reason-detail__content p {
	line-height: 1.9;
}

.reason-bottom {
	margin-top: 35px;
	padding: 25px;
	text-align: center;
}

.reason-bottom > p {
	margin: 0 0 20px;
	line-height: 1.8;
}

/* ==================================================
	SP
================================================== */
@media screen and (max-width: 767px) {
	.reason-results {
		margin-bottom: 35px;
	}

	.reason-results__lead {
		margin-bottom: 20px;
	}

	.reason-results__note {
		font-size: 12px;
	}

	.reason-list__item {
		margin-bottom: 25px;
		padding: 20px 15px;
		border-radius: 7px;
	}

	.reason-list__head {
		align-items: flex-start;
		gap: 12px;
		margin-bottom: 20px;
		padding-bottom: 15px;
	}

	.reason-list__num {
		width: 44px;
		height: 44px;
		font-size: 17px;
	}

	.reason-list__label {
		font-size: 12px;
	}

	.reason-list__title h3 {
		font-size: 18px;
		line-height: 1.45;
	}

	.reason-list__body {
		display: block;
	}

	.reason-list__image {
		width: 55%;
		margin: 0 auto 20px;
	}

	.reason-list__text p {
		margin-bottom: 12px;
		font-size: 14px;
		line-height: 1.8;
	}

	.reason-list__point {
		display: block;
		margin-top: 15px;
	}

	.reason-list__point li {
		margin-bottom: 8px;
		padding: 9px 10px 9px 30px;
		font-size: 13px;
	}

	.reason-list__point li:last-child {
		margin-bottom: 0;
	}

	.reason-detail {
		margin-top: 20px;
	}

	.reason-detail summary {
		padding: 14px 48px 14px 15px;
		font-size: 14px;
		line-height: 1.6;
	}

	.reason-detail__toggle {
		right: 15px;
	}

	.reason-detail__content {
		padding: 18px 15px;
	}

	.reason-detail__content h4 {
		font-size: 17px;
	}

	.reason-bottom {
		margin-top: 25px;
		padding: 20px 15px;
	}

	.reason-bottom > p {
		font-size: 14px;
	}
}
/* ==================================================
	担当支店・面談室情報
================================================== */
.branch-info__lead {
	margin: 0 0 35px;
	line-height: 1.9;
}

.branch-info__section {
	margin-top: 45px;
}

.branch-info__section:first-of-type {
	margin-top: 0;
}

.branch-info__summary {
	padding: 25px;
	border: 1px solid #ddd;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.branch-info__list,
.branch-license__list {
	margin: 0;
}

.branch-info__item,
.branch-license__item {
	display: flex;
	border-bottom: 1px solid #ddd;
}

.branch-info__item:last-child,
.branch-license__item:last-child {
	border-bottom: 0;
}

.branch-info__item dt,
.branch-license__item dt {
	flex: 0 0 200px;
	margin: 0;
	padding: 15px;
	background: #f7f7f7;
	font-weight: bold;
	box-sizing: border-box;
}

.branch-info__item dd,
.branch-license__item dd {
	flex: 1;
	margin: 0;
	padding: 15px;
	box-sizing: border-box;
}

.branch-info__item address {
	margin: 0;
	font-style: normal;
}

.branch-info__note {
	margin: 15px 0 0;
	font-size: 14px;
	line-height: 1.8;
	color: #555;
}

.branch-counselor {
	display: flex;
	align-items: center;
	gap: 30px;
	padding: 25px;
	border: 1px solid #ddd;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.branch-counselor__image {
	flex: 0 0 180px;
}

.branch-counselor__image img {
	display: block;
	width: 100%;
	height: auto;
}

.branch-counselor__body {
	flex: 1;
	min-width: 0;
}

.branch-counselor__body p {
	margin: 0;
	line-height: 1.9;
}

.branch-counselor__name {
	margin-bottom: 15px !important;
	font-size: 15px;
}

.branch-counselor__name strong {
	display: block;
	margin-top: 5px;
	font-size: 22px;
}

.branch-license {
	padding: 25px;
	border: 1px solid #ddd;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
	margin-bottom: 50px;
}

.branch-license > p {
	margin: 0 0 20px;
	line-height: 1.9;
}

.branch-info__cta {
	margin-top: 45px;
	padding: 30px;
	border-radius: 8px;
	background: #f8f3f3;
	text-align: center;
	box-sizing: border-box;
}

.branch-info__cta-lead {
	margin: 0 0 25px;
	font-weight: bold;
	line-height: 1.8;
}

.branch-info__buttons {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.branch-info__btn {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	max-width: 340px;
	min-height: 82px;
	padding: 14px 20px;
	border-radius: 8px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

.branch-info__btn--tel {
	background: #e8505b;
}

.branch-info__btn--form {
	background: #3975b7;
}

.branch-info__btn-main {
	font-size: 18px;
	font-weight: bold;
}

.branch-info__btn-sub {
	margin-top: 5px;
	font-size: 13px;
}

.branch-info__cta-note {
	margin: 15px 0 0;
	font-size: 13px;
	color: #555;
}

/* ==================================================
	SP
================================================== */
@media screen and (max-width: 767px) {
	.branch-info__lead {
		margin-bottom: 25px;
		font-size: 14px;
		line-height: 1.8;
	}

	.branch-info__section {
		margin-top: 35px;
	}

	.branch-info__summary,
	.branch-license {
		padding: 15px;
	}

	.branch-info__item,
	.branch-license__item {
		display: block;
	}

	.branch-info__item dt,
	.branch-license__item dt {
		padding: 10px 12px;
	}

	.branch-info__item dd,
	.branch-license__item dd {
		padding: 12px;
	}

	.branch-info__note {
		font-size: 13px;
	}

	.branch-counselor {
		display: block;
		padding: 20px 15px;
	}

	.branch-counselor__image {
		width: 45%;
		margin: 0 auto 20px;
	}

	.branch-counselor__body p {
		font-size: 14px;
		line-height: 1.8;
	}

	.branch-counselor__name {
		text-align: center;
	}

	.branch-counselor__name strong {
		font-size: 20px;
	}

	.branch-info__cta {
		margin-top: 35px;
		padding: 25px 15px;
	}

	.branch-info__cta-lead {
		font-size: 14px;
	}

	.branch-info__buttons {
		display: block;
	}

	.branch-info__btn {
		max-width: none;
		min-height: 76px;
		margin-bottom: 12px;
	}

	.branch-info__btn:last-child {
		margin-bottom: 0;
	}

	.branch-info__btn-main {
		font-size: 17px;
	}

	.branch-info__cta-note {
		font-size: 12px;
		line-height: 1.7;
	}
}
/* ==================================================
	担当支店案内
================================================== */
.local-support__branch {
	margin: 25px 0 35px;
	padding: 24px 28px;
	border: 1px solid #ddd;
	border-left: 5px solid #f477a7;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.local-support__branch > p {
	margin: 0 0 12px;
	line-height: 1.8;
}

.local-support__branch > p:first-child {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 18px;
	font-weight: bold;
}

.local-support__branch > p:last-of-type {
	margin-bottom: 20px;
	color: #555;
}

.local-support__branch-label {
	display: inline-block;
	flex-shrink: 0;
	padding: 5px 12px;
	border-radius: 20px;
	background: #f477a7;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
}

.local-support__branch .btn {
    margin: 20px !important;
}

.local-support__branch .top-link {
	margin: 0;
}

/* ==================================================
	SP
================================================== */
@media screen and (max-width: 767px) {
	.local-support__branch {
		margin: 20px 0 30px;
		padding: 20px 15px;
		border-left-width: 4px;
		border-radius: 6px;
	}

	.local-support__branch > p {
		font-size: 14px;
		line-height: 1.8;
	}

	.local-support__branch > p:first-child {
		display: block;
		font-size: 16px;
	}

	.local-support__branch-label {
		display: table;
		margin-bottom: 10px;
		padding: 4px 10px;
		font-size: 12px;
	}

	.local-support__branch .btn {
		margin-top: 18px;
	}

	.local-support__branch .top-link a {
		display: block;
		width: 100%;
		padding: 12px 10px;
		font-size: 14px;
		text-align: center;
		box-sizing: border-box;
	}
}

a.case-btn-tel {
    flex-direction: column;
}
a.case-btn-form {
    flex-direction: column;
}
.cont-branch-info {
    margin-bottom: 50px;
}

/* ==================================================
	ページ内ナビ
================================================== */
.navi-link {
    margin: 25px auto 40px;
    /* padding: 18px; */
    /* border: 1px solid #eadfe0; */
    border-radius: 14px;
    background: #fff;
    /* box-shadow: 0 5px 20px rgba(60, 30, 35, 0.08); */
    box-sizing: border-box;
}

.navi-link ul {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.navi-link li {
	min-width: 0;
	margin: 0;
	padding: 0;
	box-shadow: 0 5px 20px rgba(60, 30, 35, 0.08);
}

.navi-link .arrow_box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 12px 24px 12px 12px;
	border: 1px solid #eadfe0;
	border-radius: 9px;
	background: #fffafa;
	color: #333;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

/* 左側のアクセントライン */
.navi-link .arrow_box::before {
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 0;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: #f477a7;
	content: "";
}

/* 矢印 */
.navi-link .arrow_bottom {
	position: absolute;
	top: 50%;
	right: 11px;
	width: 7px;
	height: 7px;
	margin: -5px 0 0;
	border: 0;
	border-right: 2px solid #f477a7;
	border-bottom: 2px solid #f477a7;
	background: none;
	transform: rotate(45deg);
	box-sizing: border-box;
}

/* 長いエリア名 */
.navi-link .area-nav-text {
	display: block;
	width: 100%;
	max-width: 100%;
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: -0.04em;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-all;
	text-align: center;
	box-sizing: border-box;
}


/* ホバー */
.navi-link .arrow_box:hover {
	border-color: #f477a7;
	background: #fff4f5;
	color: #d93d49;
	box-shadow: 0 5px 12px rgba(232, 80, 91, 0.15);
	transform: translateY(-2px);
}

.navi-link .arrow_box:hover .arrow_bottom {
	border-color: #d93d49;
}

/* キーボード操作 */
.navi-link .arrow_box:focus-visible {
	outline: 3px solid rgba(232, 80, 91, 0.25);
	outline-offset: 2px;
}

/* ==================================================
	タブレット
================================================== */
@media screen and (max-width: 900px) {
	.navi-link ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.navi-link .arrow_box {
		min-height: 66px;
	}
}

/* ==================================================
	SP
================================================== */
@media screen and (max-width: 767px) {
	.navi-link {
		margin: 18px auto 30px;
		padding: 12px;
		border-radius: 10px;
	}

	.navi-link ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
	}

	.navi-link .arrow_box {
		min-height: 58px;
		padding: 10px 22px 10px 10px;
		border-radius: 7px;
		font-size: 12px;
	}

	.navi-link .arrow_box::before {
		top: 8px;
		bottom: 8px;
		width: 3px;
	}

	.navi-link .arrow_bottom {
		right: 9px;
		width: 6px;
		height: 6px;
	}

	.navi-link .area-nav-text {
		font-size: 11px;
		line-height: 1.3;
		letter-spacing: -0.06em;
	}
}
/* ==================================================
	お役立ちガイド
================================================== */

.cont-guide .guide-point{
	margin:40px 0;
	padding:25px;
	border-left:5px solid #e8505b;
	background:#fff8f8;
	box-sizing:border-box;
}

.cont-guide .guide-point p:last-child{
	margin-bottom:0;
}

.cont-guide .guide-check{
	margin-top:40px;
}

.cont-guide .guide-check ul{
	margin:20px 0 0;
	padding:0;
	list-style:none;
}

.cont-guide .guide-check li{
	position:relative;
	margin-bottom:12px;
	padding:12px 15px 12px 38px;
	border-radius:6px;
	background:#f7f7f7;
	box-sizing:border-box;
	width: 112%;
	
}

.cont-guide .guide-check li:before{
	position:absolute;
	left:15px;
	top:10px;
	width:8px;
	height:14px;
	border-right:3px solid #e8505b;
	border-bottom:3px solid #e8505b;
	content:"";
	transform:rotate(40deg);
}

@media screen and (max-width:767px){

	.cont-guide .guide-point{
		margin:30px 0;
		padding:18px 15px;
	}

	.cont-guide .guide-check li{
		padding:10px 10px 10px 34px;
		font-size:14px;
	}

}

/* ===========================
   ガイド共通デザイン
=========================== */

.guide-flow {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 20px;
	margin: 30px 0;
	flex-wrap: wrap;
}

.guide-step {
	position: relative;
	flex: 1;
	min-width: 160px;
	padding: 20px 15px;
	background: #fff;
	border: 2px solid #f5c7b7;
	border-radius: 10px;
	text-align: center;
	box-sizing: border-box;
}

.guide-step:not(:last-child)::after {
	content: "▶";
	position: absolute;
	top: 50%;
	right: -18px;
	transform: translateY(-50%);
	color: #ef5a30;
	font-size: 20px;
	font-weight: bold;
}

.guide-step-num {
	display: inline-block;
	margin-bottom: 10px;
	padding: 5px 10px;
	background: #ef5a30;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	border-radius: 20px;
}

.guide-step h3 {
	margin: 0 0 10px;
	font-size: 18px;
	color: #333;
}

.guide-step p {
	margin: 0;
	line-height: 1.8;
	font-size: 14px;
}

.guide-card {
	margin: 25px 0;
	padding: 20px;
	background: #fffaf7;
	border-left: 5px solid #f477a7;
	border-radius: 8px;
	width: 95%;
}

.guide-card h3 {
	margin: 0 0 10px;
	font-size: 18px;
	color: #f477a7;
}

.guide-card p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width:768px){

	.guide-flow{
		display:block;
	}

	.guide-step{
		margin-bottom:20px;
	}

	.guide-step:not(:last-child)::after{
		content:"▼";
		right:auto;
		left:50%;
		top:auto;
		bottom:-18px;
		transform:translateX(-50%);
	}

}
/*====================================
ガイドページ共通
====================================*/

.guide-flow{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	gap:20px;
	margin:30px 0;
}

.guide-step{
	position:relative;
	flex:1;
	padding:20px 15px;
	background:#fff;
	border:1px solid #f2d4c8;
	border-radius:8px;
	box-sizing:border-box;
	text-align:center;
}

.guide-step:not(:last-child):after{
	content:"";
	position:absolute;
	top:50%;
	right:-10px;
	width:20px;
	height:20px;
	border-top:3px solid #f477a7;
	border-right:3px solid #f477a7;
	transform:translateY(-50%) rotate(45deg);
	background:#fff;
}

.guide-step-num{
	display:inline-block;
	padding:4px 10px;
	margin-bottom:12px;
	background:#f477a7;
	color:#fff;
	font-size:12px;
	font-weight:bold;
	border-radius:20px;
}

.guide-step h3{
	margin:0 0 10px;
	font-size:18px;
	line-height:1.5;
}

.guide-step p{
	margin:0;
	font-size:14px;
	line-height:1.8;
}

.guide-card{
	margin:30px 0;
	padding:25px;
	background:#fff8f5;
	border-left:5px solid #f477a7;
	border-radius:8px;
	box-sizing:border-box;
}

.guide-card h3{
	margin:0 0 15px;
	font-size:20px;
	color:#f477a7;
}

.guide-card ul{
	margin:15px 0 0;
	padding:0;
	list-style:none;
}

.guide-card li{
	position:relative;
	padding:8px 0 8px 30px;
	border-bottom:1px solid #ececec;
}

.guide-card li:last-child{
	border-bottom:none;
}

.guide-card li:before{
	content:"✓";
	position:absolute;
	left:0;
	top:8px;
	width:20px;
	height:20px;
	line-height:20px;
	border-radius:50%;
	background:#f477a7;
	color:#fff;
	text-align:center;
	font-size:12px;
	font-weight:bold;
}

/*=========================
SP
=========================*/

@media screen and (max-width:768px){

	.guide-flow{
		display:block;
		margin:20px 0;
	}

	.guide-step{
		margin-bottom:35px;
	}

	.guide-step:last-child{
		margin-bottom:0;
	}

	.guide-step:not(:last-child):after{
		top:auto;
		left:50%;
		right:auto;
		bottom:-20px;
		transform:translateX(-50%) rotate(135deg);
	}

	.guide-card{
		padding:20px 15px;
	}

	.guide-card h3{
		font-size:18px;
	}

}
/*====================================
目次
====================================*/

#g02 .guide-index {
    margin: 40px 0;
    padding: 30px;
    background: #fffaf7;
    border: 2px solid #f477a7;
    border-radius: 10px;
    box-sizing: border-box;
    width: 87%;
}

.guide-index__body ul{
	display:flex;
	flex-wrap:wrap;
	gap:15px;
	margin:20px 0 0;
	padding:0;
	list-style:none;
}

.guide-index__body li{
	width:calc(50% - 8px);
	margin:0;
}

.guide-index__body a{
	position:relative;
	display:block;
	padding:15px 20px 15px 45px;
	background:#fff;
	border:1px solid #ececec;
	border-radius:8px;
	color:#333;
	font-weight:bold;
	text-decoration:none;
	transition:.3s;
	box-sizing:border-box;
}

.guide-index__body a:before{
	content:"";
	position:absolute;
	top:50%;
	left:18px;
	width:10px;
	height:10px;
	border-top:3px solid #f477a7;
	border-right:3px solid #f477a7;
	transform:translateY(-50%) rotate(45deg);
}

.guide-index__body a:hover{
	background:#f477a7;
	color:#fff;
	border-color:#f477a7;
}

.guide-index__body a:hover:before{
	border-color:#fff;
}

/*=========================
SP
=========================*/

@media screen and (max-width:768px){

	.guide-index{
		margin:25px 0;
		padding:20px 15px;
	}

	.guide-index__body ul{
		display:block;
	}

	.guide-index__body li{
		width:100%;
		margin-bottom:10px;
	}

	.guide-index__body li:last-child{
		margin-bottom:0;
	}

	.guide-index__body a{
		padding:14px 15px 14px 40px;
		font-size:14px;
	}

}

/*=========================
下層
=========================*/

.menuCourseText p {
    font-weight: normal;
}
#g02 .cont-guide .guide-point {
    margin: 0;
    padding: 0;
    border-left: 0;
    background: none;
    box-sizing: content-box;
}
/*====================================
ガイドリスト
====================================*/

.guide-list2 {
    margin: 30px 0;
    padding: 25px;
    background: #f7f7f7;
    /* border: 1px solid #f5d8cb; */
    border-radius: 10px;
    box-sizing: border-box;
    width: 96%;
    /* background: #dbeffe; */
    border: 0;
}

.guide-list2 .cont-title{
	margin-bottom:20px;
}
.guide-list2 ul{
	display:flex;
	flex-wrap:wrap;
	gap:12px 20px;
	margin:0;
	padding:0;
	list-style:none;
}
.guide-list2 .cont-title h3 {
    margin: 0;
}
.guide-list2 li{
	position:relative;
	width:calc(50% - 10px);
	padding:12px 15px 12px 45px;
	background:#fff;
	border:1px solid #ececec;
	border-radius:6px;
	box-sizing:border-box;
	line-height:1.7;
	font-weight:bold;
}

.guide-list2 li:before{
	content:"✓";
	position:absolute;
	top:50%;
	left:15px;
	width:20px;
	height:20px;
	margin-top:-10px;
	line-height:20px;
	background:#f477a7;
	border-radius:50%;
	color:#fff;
	font-size:12px;
	font-weight:bold;
	text-align:center;
}

@media screen and (max-width:768px){

	.guide-list2{
		padding:20px 15px;
	}

	.guide-list2 .cont-title{
		margin-bottom:15px;
	}

	.guide-list2 .cont-title h3{
		font-size:18px;
	}

	.guide-list2 ul{
		display:block;
	}

	.guide-list2 li{
		width:100%;
		margin-bottom:10px;
		padding:12px 15px 12px 42px;
		font-size:14px;
	}

	.guide-list2 li:last-child{
		margin-bottom:0;
	}

}
#g02 .cont-title {
    width: 101%;
}
.cont-main .h2WrapTop {
    width: 90%;
}
#g02 .guide-index {
    margin: 40px 0;
    padding: 15px 30px 30px;
    background: #fffaf7;
    border: 2px solid #f5d8cb;
    border-radius: 10px;
    box-sizing: border-box;
    width: 96%;
}
#g02 .guide-check ul {
    width: 85%;
}
#g02 .guide-flow {
    width: 95%;
}
#g02 .sectionIn {
    /* padding: 0 14px; */
    padding: 0 !important;
}
#g02 #main > div:nth-child(1) > div > div.sectionIn > div > div:nth-child(5) > div.h2WrapTop > div > h2 {
    width: 107%;
}
#g02 .section {
    background: url(../img/bg_section_mid01.png) repeat-y left top;
    /* padding: 0 24px 0; */
    padding: 0 !important;
}
#g02 .cont-title h3 {
    width: 95%;
}
p.size-p {
    width: 96% !important;
}
.report-sample {
    width: 96%;
}
#g02 .cont-qanda .qanda-accordion {
    margin: 30px 0 60px;
    width: 96%;
}
#g02 .cont-qanda {
    margin: 2em 0;
}
.sectionIn {
    /* padding: 0 14px; */
    padding: 0 !important;
}

.cont-title h4 {
    font-size: 15px;
    padding: 0 0 10px 0;
    margin: 0 0 30px 0;
    font-weight: bold;
    background: #edf7ff;
    padding: 10px;
}
.h2WrapTop2 {
    display: none;
}
#guide_timing2 {
    display: none;
}
ul.sp__navi {
    display: none;
}
.btn-sp {
    display: none;
}