@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/20241203_1709431.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;
}
.navi-link ul {
    max-width: 1000px;
    margin: 0px auto 40px;
    display: flex;
    justify-content: space-between;
    text-align: center;
    border-top: double 5px #ced4da;
    border-bottom: double 5px #ced4da;
    padding-bottom: 35px;
}
.navi-link ul li {
    width: 50%;
    position: relative;
    display: block;
    cursor: pointer;
}
.navi-link ul li a {
    display: block;
    line-height: 5;
    border-bottom: 2px solid #ced4da;
    width: 80%;
    margin: 0 auto;
    text-decoration-line: none;
    font-weight: bold;
    color: #363636;
}
span.arrow_bottom {
    display: block;
}
span.arrow_bottom::after {
    box-sizing: border-box;
    transition: .1s;
    border-right: 2px solid #f477a7;
    border-top: 2px solid #f477a7;
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    top: 55px;
    bottom: 50%;
    margin-bottom: -3px;
    -webkit-transform: rotate(134deg);
    transition: .3s;
    left: 48%;
}
p.txt-top {
    max-width: 900px;
    width: 90%;
    text-align: center;
    margin: 10px auto 30px!important;
}
.navi-link ul li:hover {
    box-shadow: none;
    transform: translateY(4px);
    transition: all 0.3s ease;
}
/*ラビット探偵社とは？
============================*/
.cont-top {
    margin-bottom: 100px;
}
span.font-p {
    font-size: 113%;
    color: #F477A7;
    font-weight: bold;
    background: linear-gradient(transparent 70%,#f477a79e 85%);
    margin: 0 2px;
}
.cont-top ul.about-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 4%;
}
.cont-top ul.about-list li {
    width: 48%;
    background: #edf7ff;
    margin-bottom: 4%;
    padding: 36px 50px;
    display: flex;
    justify-content: space-around;
    border-radius: 10px;
}
.cont-top ul.about-list li:first-child {
    width: 100%;
    padding: 50px;
}
.cont-top ul.about-list li p {
    font-size: 22px;
}
.cont-top 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;
}
/*調査報告書サンプル
================*/
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: #2168c2;
    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: #2168c2;
    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;
    font-weight: bold;
    border: double;
    padding: 30px;
}
.op-ct ul li {
    width: 50%;
    display: flex;
    margin-bottom: 5px;
}
.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 ul {
    margin: 20px 0 70px;
}
.cont-reason li {
    margin-bottom: 4%;
    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%);
}

.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 ===== */
