@charset "utf-8";
/* CSS Document */
/* スマホ（〜767px）　デザイン幅375px基準：calc(Xvw / 3.75) */

body { font-size: calc(18 * 0.22vw); }

.pc { display: none; }
.sp { display: block; }
.sp_left { text-align: left; }
.sp_center { text-align: center; }

/* 最終行が「す。」など1〜2文字だけにならないよう、ブラウザに改行位置を調整させる（Chrome/Edge 117〜、iOS Safari 26〜。非対応の端末は通常の改行） */
p, dd, li, figcaption { text-wrap: pretty; }

/* 文字サイズ：fsN の N はクラス名のまま、右の係数で調整（小さすぎる・大きすぎる文字はここで調整） */
.fs10vw { font-size: calc(10 * 0.25vw); }
.fs12vw { font-size: calc(12 * 0.25vw); }
.fs14vw { font-size: calc(14 * 0.25vw); }
.fs15vw { font-size: calc(15 * 0.23vw); }
.fs16vw { font-size: calc(16 * 0.23vw); }
.fs17vw { font-size: calc(17 * 0.22vw); }
.fs18vw { font-size: calc(18 * 0.22vw); }
.fs20vw { font-size: calc(20 * 0.21vw); }
.fs21vw { font-size: calc(21 * 0.21vw); }
.fs22vw { font-size: calc(22 * 0.19vw); }
.fs23vw { font-size: calc(23 * 0.19vw); }
.fs24vw { font-size: calc(24 * 0.19vw); }
.fs25vw { font-size: calc(25 * 0.18vw); }
.fs26vw { font-size: calc(26 * 0.18vw); }
.fs27vw { font-size: calc(27 * 0.18vw); }
.fs28vw { font-size: calc(28 * 0.18vw); }
.fs29vw { font-size: calc(29 * 0.18vw); }
.fs30vw { font-size: calc(30 * 0.18vw); }
.fs31vw { font-size: calc(31 * 0.18vw); }
.fs32vw { font-size: calc(32 * 0.16vw); }
.fs33vw { font-size: calc(33 * 0.16vw); }
.fs34vw { font-size: calc(34 * 0.16vw); }
.fs35vw { font-size: calc(35 * 0.16vw); }
.fs36vw { font-size: calc(36 * 0.16vw); }
.fs37vw { font-size: calc(37 * 0.16vw); }
.fs38vw { font-size: calc(38 * 0.16vw); }
.fs40vw { font-size: calc(40 * 0.16vw); }
.fs42vw { font-size: calc(42 * 0.16vw); }
.fs45vw { font-size: calc(45 * 0.15vw); }
.fs46vw { font-size: calc(46 * 0.15vw); }
.fs48vw { font-size: calc(48 * 0.14vw); }
.fs50vw { font-size: calc(50 * 0.14vw); }
.fs52vw { font-size: calc(52 * 0.14vw); }
.fs53vw { font-size: calc(53 * 0.14vw); }
.fs54vw { font-size: calc(54 * 0.14vw); }
.fs55vw { font-size: calc(55 * 0.13vw); }
.fs56vw { font-size: calc(56 * 0.13vw); }
.fs58vw { font-size: calc(58 * 0.13vw); }
.fs60vw { font-size: calc(60 * 0.13vw); }
.fs62vw { font-size: calc(62 * 0.13vw); }
.fs64vw { font-size: calc(64 * 0.13vw); }
.fs65vw { font-size: calc(65 * 0.13vw); }
.fs66vw { font-size: calc(66 * 0.13vw); }
.fs68vw { font-size: calc(68 * 0.13vw); }
.fs70vw { font-size: calc(70 * 0.13vw); }
.fs72vw { font-size: calc(72 * 0.13vw); }
.fs80vw { font-size: calc(80 * 0.13vw); }
.fs84vw { font-size: calc(84 * 0.11vw); }
.fs86vw { font-size: calc(86 * 0.11vw); }
.fs90vw { font-size: calc(90 * 0.11vw); }
.fs100vw { font-size: calc(100 * 0.11vw); }
.fs110vw { font-size: calc(110 * 0.11vw); }
.fs120vw { font-size: calc(120 * 0.11vw); }
.fs140vw { font-size: calc(140 * 0.11vw); }

.inner,
.middle_inner,
.low_inner { width: calc(355vw / 3.75); }
.tiny_inner { width: calc(335vw / 3.75); }


/*********** header ****************************************/
main { padding: calc(64vw / 3.75) 0 0 0; }

header#header { height: calc(64vw / 3.75); }
header#header .permit,
header#header .contact_box_pc,
header#header .nav_block { display: none; }

header#header > .inner { position: relative; width: 100%; height: 100%; padding: 0 calc(10vw / 3.75); }
header#header .site_name { width: auto; max-width: none; margin: 0; padding-block-start: calc(11vw / 3.75); line-height: 1.4; }
header#header .site_name img.logo { width: calc(40vw / 3.75); aspect-ratio: 40 / 38; }
header#header .site_name span.txt { width: auto; max-width: none; padding-left: calc(10vw / 3.75); }

.detective_services_menu_box_wrapper { display: none; }

/* ハンバーガー（2本線） */
header#header #hamburger {
	position: absolute; inset: calc(10vw / 3.75) calc(10vw / 3.75) auto auto; z-index: 1001;
	display: flex; flex-direction: column; justify-content: center; width: calc(44vw / 3.75); aspect-ratio: 1 / 1; padding: 0; border: none; border-radius: calc(8vw / 3.75);
	caret-color: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
header#header #hamburger .bar {
	display: block; width: calc(22vw / 3.75); height: 2px; margin-left: auto; margin-right: auto;
	transition: transform 0.3s ease; transform-origin: center center; transform: none;
}
header#header #hamburger .bar_1 { margin-block-end: calc(8vw / 3.75); }
header#header #hamburger.active .bar_1 { transform: translateY(var(--offset)) rotate(45deg); }
header#header #hamburger.active .bar_2 { transform: translateY(calc(var(--offset) * -1)) rotate(-45deg); }

/* ドロワー */
html.drawer_open { overflow: hidden; }

header#header #drawer {
	position: fixed; inset: calc(64vw / 3.75) 0 0 0; z-index: 1000; display: block;
	opacity: 0; pointer-events: none; transition: opacity 0.3s ease;
}
header#header #drawer.open { opacity: 1; pointer-events: auto; }
header#header #drawer .drawer_content { height: 100%; overflow-y: auto; overscroll-behavior: contain; transform: translateX(100%); transition: transform 0.3s ease; }
header#header #drawer.open .drawer_content { transform: translateX(0); }

header#header #drawer .drawer_nav { padding: calc(25vw / 3.75) calc(10vw / 3.75) 0 calc(10vw / 3.75); }
header#header #drawer .drawer_nav > .list { margin: 0; padding: 0; }
header#header #drawer .drawer_nav .page { border-bottom: solid 1px #696A75; }
header#header #drawer .drawer_nav .page_link {
	width: 100%; align-items: center; padding: calc(15vw / 3.75) 0 calc(15vw / 3.75) calc(5vw / 3.75);
	border: none; background: none; color: inherit; line-height: 1.45; text-align: left; cursor: pointer;
}
header#header #drawer .drawer_nav .page_link .label i { width: calc(18vw / 3.75); margin-right: calc(10vw / 3.75); text-align: center; }

/* ＋／－ */
header#header #drawer .drawer_nav .plus { display: block; width: calc(18vw / 3.75); aspect-ratio: 1 / 1; }
header#header #drawer .drawer_nav .plus::before,
header#header #drawer .drawer_nav .plus::after { content: ""; position: absolute; inset: 0; margin: auto; width: 100%; height: 2px; background-color: #463F38; transition: transform 0.3s ease; }
header#header #drawer .drawer_nav .plus::after { transform: rotate(90deg); }
header#header #drawer .drawer_nav .page.open .plus::after { transform: rotate(0deg); }

header#header #drawer .drawer_nav .sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease; }
header#header #drawer .drawer_nav .page.open .sub { grid-template-rows: 1fr; }
header#header #drawer .drawer_nav .sub_list { overflow: hidden; grid-template-columns: 1fr 1fr; gap: calc(5vw / 3.75); margin: 0; padding: 0; }
header#header #drawer .drawer_nav .page.open .sub_list { padding-block: calc(5vw / 3.75) calc(20vw / 3.75); }
header#header #drawer .drawer_nav .sub_list a { display: flex; align-items: center; height: calc(45vw / 3.75); padding: 0 calc(8vw / 3.75) 0 calc(10vw / 3.75); border-radius: calc(4vw / 3.75); line-height: 1.3; letter-spacing: -0.02em; }
header#header #drawer .drawer_nav .sub_list a.long { letter-spacing: -0.05em; }

/* ドロワー内お問い合わせ */
header#header #drawer .drawer_cv {
	margin-block-start: calc(40vw / 3.75); padding: calc(30vw / 3.75) calc(20vw / 3.75) calc(20vw / 3.75) calc(20vw / 3.75);
	border-radius: calc(20vw / 3.75) calc(20vw / 3.75) 0 0; background-image: url(../img/bottom_contact_bg.webp); background-size: cover;
}
header#header #drawer .drawer_cv_tip { margin: 0; letter-spacing: 0.04em; line-height: 1.45; }
header#header #drawer .drawer_cv_ttl { margin: calc(5vw / 3.75) 0 calc(30vw / 3.75) 0; line-height: 1.45; }

header#header #drawer .cv_btn { display: block; height: calc(100vw / 3.75); overflow: hidden; border-radius: calc(8vw / 3.75); box-shadow: 0 0 12px rgba(0, 0, 0, 0.4); }
header#header #drawer .cv_btn + .cv_btn { margin-block-start: calc(10vw / 3.75); }
header#header #drawer .cv_btn::before { content: ""; position: absolute; inset: calc(-21.1vw / 3.75) auto auto calc(-39.6vw / 3.75); width: calc(152vw / 3.75); aspect-ratio: 1 / 1; border-radius: 50%; background-color: #FFEEE0; }
header#header #drawer .cv_btn.line_btn::before { background-color: #EEEEEE; }
header#header #drawer .cv_btn .thumb { inset: calc(5vw / 3.75) auto auto calc(-9vw / 3.75); width: calc(117vw / 3.75); aspect-ratio: 1 / 1; }
header#header #drawer .cv_btn .text { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 0 calc(24vw / 3.75) 0 calc(96vw / 3.75); line-height: 1.45; }
header#header #drawer .cv_btn .number { font-weight: 600; line-height: 1.35; }
header#header #drawer .cv_btn .number i { margin-right: calc(5vw / 3.75); }
header#header #drawer .cv_btn .time i { margin-right: calc(5vw / 3.75); vertical-align: -0.1em; }
header#header #drawer .cv_btn .triangle { inset: auto 0 0 auto; z-index: 1; width: calc(40vw / 3.75); aspect-ratio: 1 / 1; clip-path: polygon(100% 0, 0 100%, 100% 100%); }
header#header #drawer .cv_btn .triangle i { position: absolute; inset: auto calc(4vw / 3.75) calc(5vw / 3.75) auto; }


/*********** footer ****************************************/
#page_top { inset: auto calc(10vw / 3.75) calc(10vw / 3.75) auto; width: calc(44vw / 3.75); border-radius: calc(8vw / 3.75); }


/********** home ***********************/
#fv { display: flex; flex-direction: column; height: auto; aspect-ratio: auto; background-color: #FDF4ED; }

#fv .slide { position: relative; order: -1; inset: auto; width: 100%; aspect-ratio: 375 / 432; }
#fv .slide picture { display: block; width: 100%; height: 100%; }
#fv .slide::after { content: ""; position: absolute; inset: auto 0 -1px 0; aspect-ratio: 375 / 110; background: url(../img/home/sp_fv_wave.svg) no-repeat center bottom / 100% 100%; }

#fv .text { width: 100%; height: auto; padding: calc(2vw / 3.75) 0 calc(37vw / 3.75) 0; background: none; }
#fv .text .catch { margin: 0 0 0 calc(25vw / 3.75); }
#fv .text .catch .lens { inset: calc(-35vw / 3.75) auto auto calc(220vw / 3.75); width: calc(92vw / 3.75); aspect-ratio: 92 / 95; }
#fv .text .catch .belt { margin-block-end: calc(10vw / 3.75); padding: 0.43em 0 0.43em 0.395em; border-radius: calc(8vw / 3.75); box-shadow: calc(5vw / 3.75) calc(5vw / 3.75) 0 #FBEADD; }
#fv .text .catch .belt:last-child { margin-block-end: 0; }

#fv .text .experience { margin: calc(25vw / 3.75) calc(25vw / 3.75) 0 calc(25vw / 3.75); line-height: 1.6; }
#fv .text .summary { margin: calc(18vw / 3.75) calc(25vw / 3.75) calc(47vw / 3.75) calc(25vw / 3.75); line-height: 1.8; letter-spacing: -0.02em; }

#fv .text .badge { width: calc(355vw / 3.75); margin: 0 auto; border-radius: calc(10vw / 3.75); box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }
#fv .text .badge .ribon { inset: calc(-19vw / 3.75) 0 auto 0; width: calc(240vw / 3.75); aspect-ratio: 240 / 48; padding-block-start: calc(2vw / 3.75); line-height: 1.45; }
#fv .text .badge .list { padding: calc(29vw / 3.75) calc(15vw / 3.75) calc(5vw / 3.75) calc(15vw / 3.75); }
#fv .text .badge .list li { padding: calc(15vw / 3.75) 0; }
#fv .text .badge .list li:first-of-type { border-bottom: solid 1px #696A75; }
#fv .text .badge .list li > span:last-child { letter-spacing: 0; white-space: nowrap; line-height: 1.45; }
#fv .text .badge .list .square { flex-shrink: 0; width: calc(36vw / 3.75); margin-right: calc(8vw / 3.75); border-radius: calc(8vw / 3.75); }

#fv .text .fv_text_illust { inset: auto calc(5vw / 3.75) 0 auto; width: calc(73vw / 3.75); aspect-ratio: 73 / 129; }


/*********** 共通パーツ ****************************************/
.minimum_inner { width: calc(355vw / 3.75); }

.ttl,
.ttl.center { margin-block-end: 2.6em; }

a.more { width: calc(300vw / 3.75); height: calc(60vw / 3.75); margin: 0; padding: 0.6em 0.6em 0.6em 1em; }
a.more .icon { width: calc(36vw / 3.75); }
.link_box { flex-direction: column; align-items: center; gap: calc(12vw / 3.75) 0; }


/*********** 無料相談（FV下） ****************************************/
.contact_cv { padding: 2.5em 0 2.8em 0; }
.contact_cv .contact_cv_tip::before,
.contact_cv .contact_cv_tip::after { font-size: 1em; }
.contact_cv .contact_cv_ttl { margin-block-end: 1.2em; }
.contact_cv .bottom_contact_illust { width: calc(90vw / 3.75); inset: -3.2em auto auto 0.5em; }
.contact_cv .btn_box { flex-direction: column; gap: calc(10vw / 3.75) 0; }
.contact_cv .btn_box .btn { display: flex; flex-direction: column; justify-content: center; width: 100%; height: calc(96vw / 3.75); padding: 0 calc(14vw / 3.75) 0 calc(118vw / 3.75); background-size: calc(126vw / 3.75); }
.contact_cv .btn_box .line_btn,
.contact_cv .btn_box .email_btn { background-size: calc(126vw / 3.75); }
.contact_cv .btn_box .btn .triangle { width: calc(40vw / 3.75); }
.contact_cv .btn_box .btn .triangle i { position: absolute; inset: auto calc(4vw / 3.75) calc(5vw / 3.75) auto; margin: 0; }


/*********** 調査メニュー ****************************************/
.investigation_menu_wrapper { padding: 3.5em 0 1.5em 0; border-bottom-left-radius: 2.5em; }
.investigation_menu .content { margin-block-start: 0; }
.investigation_menu .box { width: 100%; }
.investigation_menu .box .text { --corner: calc(8vw / 3.75); width: calc(325vw / 3.75); inset: -2.2em 0 0 0; padding: 0.9em 0.9em 0 0.9em; margin-block-end: -1em; }
.investigation_menu .box .text::after { inset: calc(2.2em - var(--corner)) calc(var(--corner) * -1) auto auto; }
.investigation_menu .box .text .page_ttl { align-items: center; padding-bottom: 0.8em; }
.investigation_menu .box .text .page_ttl strong { line-height: 1.4; }
.investigation_menu .box .text .anchor { align-items: center; }
.investigation_menu .box .text .anchor .icon { flex-shrink: 0; width: calc(36vw / 3.75); margin-right: 0.6em; }
.investigation_menu .box .text .page_ttl > .icon { flex-shrink: 0; width: calc(32vw / 3.75); }
.investigation_menu .box .text p { margin: 0.8em 0 2.2em 0; line-height: 1.7; }


/*********** 選ばれる理由 ****************************************/
#top_reason { padding: 3.5em 0 3em 0; border-top-right-radius: 2.5em; }
#top_reason .thumb { width: 100%; border-radius: calc(10vw / 3.75); overflow: hidden; }
#top_reason .text { position: relative; inset: auto; width: calc(335vw / 3.75); margin: -4.5em auto 0 auto; padding: 3em 0.5em 1em 0.5em; }
#top_reason .circle { width: calc(96vw / 3.75); inset: -2.2em auto auto -1em; line-height: 1.4; }
#top_reason .reason_illust { width: calc(70vw / 3.75); inset: -3em 0.5em auto auto; }
#top_reason .ttl.center { margin-block-start: 1em; margin-block-end: 2em; }
#top_reason .text .box { align-items: stretch; }
#top_reason .text .box .number { flex-shrink: 0; display: grid; place-content: center; width: 4em; padding: 0.2em 0.5em 0 0; text-align: center; }
#top_reason .text .box dl { width: auto; flex: 1; padding-left: 0.9em; }
#top_reason .text .box dl dt { line-height: 1.5; }
#top_reason .text .box dl dd { margin-block-start: 0.4em; line-height: 1.7; }
#top_reason .link_box { margin-block-start: 2.2em; }
#top_reason .link_box .more { margin: 0; }


/*********** 弁護士推薦 ****************************************/
#top_lawyer { padding: 3em 0 3em 0; }
#top_lawyer .content { flex-direction: column; align-items: center; }
#top_lawyer .thumb { width: calc(230vw / 3.75); }
#top_lawyer .thumb .circle { width: calc(76vw / 3.75); inset: -1em auto auto -1.8em; line-height: 1.35; }
#top_lawyer .text { width: 100%; margin-block-start: 2em; }
#top_lawyer .text .tip { margin: 0 auto; }
#top_lawyer .text .tip::after { inset: auto 0 calc(-13vw / 3.75) 0; width: calc(14vw / 3.75); height: calc(14vw / 3.75); }
#top_lawyer .text dl { margin-block-start: 1.6em; }
#top_lawyer .text dl dt { line-height: 1.6; text-align: center; }
#top_lawyer .text dl dt strong { display: block; }
#top_lawyer .text dl dd p { line-height: 1.8; }
#top_lawyer .text dl dd .text_right { margin-block-start: 1em; }
#top_lawyer .text dl dd .text_right em { display: inline-block; white-space: nowrap; }


/*********** お客様の声 ****************************************/
#top_voice .top_voice_wrapper { padding: 3.5em 0 3.5em 0; border-bottom-right-radius: 2.5em; }
#top_voice .voice_bg_top_left { width: calc(200vw / 3.75); inset: calc(-110vw / 3.75) auto auto 0; }
#top_voice .voice_bg_bottom_right { width: calc(190vw / 3.75); inset: auto 0 calc(-120vw / 3.75) auto; }
#top_voice .content { flex-direction: column; gap: calc(12vw / 3.75) 0; margin-block-start: 0; margin-block-end: 1.5em; }
#top_voice .content .box { width: 100%; padding: 1.2em 1.2em 0.4em 1.2em; }
#top_voice .content .box .voice_content_header { margin-block-end: 0.5em; }
#top_voice .content .box .voice_content_header .circle { width: calc(44vw / 3.75); margin-right: 0.8em; }
#top_voice .content .box p { line-height: 1.8; }
#top_voice .content + p { text-align: left; }
#top_voice .link_box { margin-block-start: 2em; }


/*********** 新着の調査事例 ****************************************/
#top_case_study { padding: 3.5em 0 3em 0; border-top-left-radius: 2.5em; }
#top_case_study .top_case_study_header { flex-direction: column; margin-block-end: 2em; }
#top_case_study .top_case_study_header .ttl { width: max-content; margin: 1em auto 2.6em auto; text-align: center; }
#top_case_study .top_case_study_header .ttl::after { inset: auto 0 -1.25em 0; margin: auto; }
#top_case_study .top_case_study_header .ttl .lens_bg { width: calc(130vw / 3.75); inset: -1.8em -2.5em auto auto; }
#top_case_study .top_case_study_header .text { width: 100%; margin: 0; line-height: 1.8; }
#top_case_study .content { flex-direction: column; gap: calc(16vw / 3.75) 0; }
#top_case_study .content .box { width: 100%; margin-block-end: 0; }
#top_case_study .content .box .detail .post_content { line-height: 1.7; }
#top_case_study .content .box .detail .view_more .icon { width: calc(28vw / 3.75); margin-left: 0.6em; }
#top_case_study .link_box { margin-block-start: 2em; }


/*********** 代表ご挨拶 ****************************************/
#top_message { padding: 4.5em 0 3em 0; }
#top_message .top_message_wrapper { width: calc(355vw / 3.75); padding: 2em 0 2em 0; border-radius: 1em; }
#top_message .top_message_wrapper .ttl { inset: -3.8em 0 auto 0; margin-block-end: 0; }
#top_message .top_message_wrapper .content { flex-direction: column; align-items: center; width: calc(315vw / 3.75); }
#top_message .top_message_wrapper .content .thumb { width: calc(230vw / 3.75); }
#top_message .top_message_wrapper .content .thumb .circle { width: calc(76vw / 3.75); inset: -1em auto auto -1.8em; line-height: 1.35; }
#top_message .top_message_wrapper .content .text { width: 100%; margin: 1.6em 0 0 0; }
#top_message .top_message_wrapper .content .text dt { line-height: 1.6; }
#top_message .top_message_wrapper .content .text dd p { line-height: 1.8; }


/*********** 会社概要 ****************************************/
#top_company { padding: 3em 0 3em 0; }
#top_company .content { flex-direction: column; }
#top_company .content .thumb { width: 100%; border-radius: calc(10vw / 3.75); }
#top_company .content .text { width: 100%; margin-block-start: 1.5em; }
#top_company .content .text .top_company_ttl { margin-block-end: 1em; }
#top_company .content .text .box dt { width: 9em; vertical-align: top; }
#top_company .content .text .box dt,
#top_company .content .text .box dd { padding: 0.55em 0; line-height: 1.7; }
#top_company .content .text .box dd a { display: inline-block; margin-right: 0.8em; }
#top_company .company_illust { display: none; }
#top_company .link_box { margin-block-start: 2em; }
#top_company .link_box .more { margin: 0; }


/*********** 3ステップ ****************************************/
#top_step { padding: 2.5em 0 3em 0; }
#top_step .top_step_ttl .tip::before,
#top_step .top_step_ttl .tip::after { font-size: 1em; }
#top_step .content { flex-direction: column; gap: calc(28vw / 3.75) 0; margin-block-start: 2.5em; }
#top_step .content .box { width: 100%; }
#top_step .content .box .thumb { width: 100%; }
#top_step .content .box .thumb img.thumb { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0.5em 0.5em 0 0; }
#top_step .content .box .thumb .circle { inset: -0.8em auto auto -0.5em; width: calc(64vw / 3.75); }
#top_step .content .box .text { padding: 1em 1.2em 1.2em 1.2em; }
#top_step .content .box .text dl { margin: 0; }
#top_step .content .box .text dl dd { line-height: 1.7; }


/*********** 調査エリア（共通ブロック） ****************************************/
.investigation_area { padding: 3.5em 0 3em 0; }
.investigation_area .content { display: flex; flex-direction: column; align-items: center; }
.investigation_area .thumb { float: none; width: 100%; }
.investigation_area .text { position: relative; inset: auto; width: calc(335vw / 3.75); margin: -4em auto 0 auto; padding: 3em 0.8em 1.8em 0.8em; }
.investigation_area .circle { width: calc(96vw / 3.75); inset: -2.2em auto auto -1em; line-height: 1.4; }
.investigation_area .area_illust { width: calc(80vw / 3.75); inset: -3.6em 0.3em auto auto; }
.investigation_area .ttl.center { margin-block-start: 1em; }
.investigation_area .text .summary { margin-block-start: 0; line-height: 1.8; letter-spacing: -0.02em; }
.investigation_area .area_list { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(4vw / 3.75); margin-block-start: 1.2em; }
.investigation_area .area_list li { width: auto; margin: 0; }
.investigation_area .area_list li.area_all { width: auto; grid-column: span 2; }
.investigation_area .area_list li a,
.investigation_area .area_list li.area_all em { height: 100%; padding: 0.3em 0.2em; white-space: nowrap; }


/*********** コラム・ブログ ****************************************/
.top_column_blog { padding: 3em 0 3em 0; }
.top_column_blog .top_column_blog_wrapper { width: calc(355vw / 3.75); padding: 0 0 1.5em 0; border-radius: 1em; }
.top_column_blog .top_column_blog_wrapper > .low_inner { flex-direction: column; width: calc(325vw / 3.75); }
.top_column_blog #top_column,
.top_column_blog #top_blog { width: 100%; padding: 2.5em 0 0 0; }
.top_column_blog blockquote { margin: 0; padding: 0.4em 1em 1.2em 1em; }
.top_column_blog #top_column .box .cat,
.top_column_blog #top_column .box .tag { margin-block-end: 0.3em; }
.top_column_blog #top_column .box .posts_ttl { margin: 0.4em 0; line-height: 1.6; }
.top_column_blog #top_column .box .contents { margin-block-start: 0; line-height: 1.7; }
.top_column_blog #top_blog .box { align-items: flex-start; padding: 1em 0; }
.top_column_blog #top_blog .box .thumb { width: calc(90vw / 3.75); border-radius: calc(6vw / 3.75); }
.top_column_blog #top_blog .box .text { width: auto; flex: 1; margin-left: calc(12vw / 3.75); }
.top_column_blog #top_blog .box .text dt .posts_ttl { line-height: 1.6; }
.top_column_blog #top_blog .box .text dd { line-height: 1.7; }
.top_column_blog .view_more .icon { width: calc(28vw / 3.75); margin-left: 0.6em; }


/*********** 探偵お悩み相談 ****************************************/
#top_consultation { padding: 3.5em 0 6.5em 0; background-size: calc(250vw / 3.75); }
#top_consultation .consultation_illust { width: calc(80vw / 3.75); inset: -1.5em 0.5em auto auto; }
#top_consultation .content { flex-direction: column; gap: calc(14vw / 3.75) 0; margin-block-start: 0; margin-block-end: 2em; }
#top_consultation .content .box { width: 100%; padding: 1em 1.1em 1.1em 1.1em; }
#top_consultation .content .box .posts_ttl { height: auto; margin: 0.5em 0; padding-right: 0; line-height: 1.6; }
#top_consultation .content .box .posts_contents { margin: 0; line-height: 1.7; }
#top_consultation .content .box .author { margin: 0.6em 0 0 0; }
#top_consultation .content .box .view_more .icon { width: calc(28vw / 3.75); margin-left: 0.6em; }


/*********** お問い合わせ（共通ブロック） ****************************************/
.bottom_contact { padding: 3em 0 6em 0; }
.bottom_contact .bottom_contact_illust { width: calc(90vw / 3.75); inset: -3.2em auto auto 0.5em; }
.bottom_contact .bottom_contact_cv_tip::before,
.bottom_contact .bottom_contact_cv_tip::after { font-size: 1em; }
.bottom_contact .summary { line-height: 1.8; text-align: left; }
.bottom_contact .content { flex-direction: column; gap: calc(14vw / 3.75) 0; margin-block-start: 2em; }
.bottom_contact .content .btn { display: grid; grid-template-columns: calc(84vw / 3.75) 1fr; align-items: center; column-gap: calc(12vw / 3.75); width: 100%; padding: calc(12vw / 3.75) calc(36vw / 3.75) calc(12vw / 3.75) calc(14vw / 3.75); }
.bottom_contact .content .btn > * { grid-column: 2; }
.bottom_contact .content .btn .thumb { grid-column: 1; grid-row: 1 / span 4; width: 100%; margin: 0; }
.bottom_contact .content .btn .text,
.bottom_contact .content .btn .anchor { line-height: 1.5; }
.bottom_contact .content .btn .triangle { width: calc(40vw / 3.75); }
.bottom_contact .content .btn .triangle i { position: absolute; inset: auto calc(4vw / 3.75) calc(5vw / 3.75) auto; margin: 0; }


/*********** footer ****************************************/
footer#footer { margin-top: -3em; padding: 2.8em 0 1.5em 0; }
footer#footer > .low_inner { flex-direction: column; }
footer#footer .org { width: 100%; }
footer#footer .org .site_name { width: auto; max-width: none; margin-block-start: 0; }
footer#footer .org .site_name a.flex { justify-content: flex-start; }
footer#footer .org .site_name img.logo { width: calc(44vw / 3.75); }
footer#footer .org .site_name span.txt { width: auto; max-width: none; }
footer#footer .org .summary { line-height: 1.8; }
footer#footer nav { width: 100%; }
footer#footer nav > ul.flex { display: grid; grid-template-columns: calc(142vw / 3.75) 1fr; gap: 0 calc(12vw / 3.75); margin: 0; padding: 0; list-style: none; }
footer#footer dl.list { padding: 0.6em 0; }
footer#footer a.home { margin: 0.6em 0 0 0; }
footer#footer dl.list dd ul li { padding-bottom: 0.5em; line-height: 1.5; }
footer#footer p.copy { padding: 1.5em 0 0 0; }


/*********** お客様の声 ****************************************/
.voice_intro { padding: 3em 0 3em 0; }
.voice_intro .low_inner { flex-direction: column; }
.voice_intro .text { width: 100%; }
.voice_intro .text p:last-child { line-height: 1.8; }
.voice_intro .thumb { width: 100%; margin-block-start: 1.5em; border-radius: calc(10vw / 3.75); }

.voice_list { padding: 3.5em 0 4em 0; border-top-left-radius: 2.5em; }
.voice_list .voice_filter { padding: 1.2em calc(15vw / 3.75); border-radius: calc(10vw / 3.75); }
.voice_list .voice_filter .filter_row { flex-direction: column; }
.voice_list .voice_filter .filter_row dt { width: auto; padding: 0 0 0.5em 0; }
.voice_list .voice_filter .filter_row dd { gap: calc(6vw / 3.75); }
.voice_list .voice_filter .btn { padding: 0.4em 0.9em; }
.voice_list .voice_notice { margin: 1.5em 0 1.5em 0; text-align: left; }
.voice_list .voice_items { flex-direction: column; gap: calc(14vw / 3.75); }
.voice_list .voice_item { width: 100%; padding: 1.2em calc(15vw / 3.75); border-radius: calc(10vw / 3.75); }
.voice_list .voice_item_header .avatar { width: calc(52vw / 3.75); margin-right: calc(12vw / 3.75); }
.voice_list .voice_item_body .letter { width: calc(110vw / 3.75); margin: 0 0 0.6em calc(12vw / 3.75); }
.voice_list .voice_item_body .comment { line-height: 1.8; }


/*********** 下層ページ共通：ページ見出し ****************************************/
.page_header { height: calc(180vw / 3.75); }
.page_header .page_header_ttl { margin: 0; padding-block-end: 1em; line-height: 1.4; }
.page_header .page_header_ttl .slug { letter-spacing: 0.05em; }
.page_header .page_header_ttl .ja { display: block; margin-block-start: 0.3em; }
.page_header .breadcrumb { inset: auto auto 0.8em 0; margin: 0; }


/*********** プライバシーポリシー ****************************************/
#privacy { padding: 3em 0 4em 0; }
#privacy .privacy_body { width: 100%; }
.privacy_item { margin-block-end: 2.2em; }
.privacy_item:last-child { margin-block-end: 0; }
.privacy_ttl { margin-block-end: 0.8em; padding: 0.3em 0 0.3em 0.7em; }
.privacy_item dd { line-height: 1.85; letter-spacing: 0.03em; }
.privacy_item dd p { margin: 0 0 0.8em 0; }
.privacy_item dd p:last-child { margin-block-end: 0; }


/*********** サイトマップ ****************************************/
#sitemap { padding: 3em 0 3.5em 0; }
.sitemap_grid { grid-template-columns: 1fr; gap: 1.6em 0; }
.sitemap_col { padding-top: 1.2em; }
.sitemap_col_ttl { margin-block-end: 0.6em; padding: 0.3em 0 0.3em 0.7em; }
.sitemap_list li a { padding: 0.7em 0.3em; }


/*********** お問い合わせ ****************************************/
#contact_hero { padding: 3em 0 5em 0; }
#contact_hero .contact_hero_tip::before,
#contact_hero .contact_hero_tip::after { font-size: 1em; }
#contact_hero .contact_hero_ttl { margin-block-end: 0.8em; }

#contact { padding: 3em 0 5em 0; }
#contact .contact_wrapper { padding: 1.8em 1em 1.5em 1em; }
#contact .contact_wrapper .ttl .slug i { margin-right: 0.3em; }

#form { width: 100%; }
#form .box,
#form .box dt,
#form .box dd { display: block; width: auto; }
#form .box dt { padding: 1em 0 0.5em 0; }
#form .box dt .flex { justify-content: flex-start; gap: 0 0.6em; }
#form .box dd { padding: 0 0 1.1em 0; }
#form .box dd .m { display: inline-block; margin-block-start: 0.3em; }
#form .box dd select { width: 100%; }
#form .box dd label { margin: 0 0.5em 0.5em 0; padding: 0.55em 0.9em 0.55em 2.6em; }
#form .box dd label::before { left: 0.8em; }
#form .box dd input.radio:checked + label::after { left: calc(0.8em + 3px); }
#form .box dd.consultation label { width: 100%; margin-right: 0; }
/* iOSで入力時に画面が拡大されないよう、入力欄だけ16pxにする */
#form input,
#form select,
#form textarea { font-size: 16px; }
#form .privacy_link { margin-block: 1.5em; }
#form .send_btn { width: calc(300vw / 3.75); height: calc(60vw / 3.75); }
#form .send_btn .icon { width: calc(36vw / 3.75); }
#form .notice { margin-block: 2.5em 1em; }


/*********** お問い合わせ完了 ****************************************/
#contact_thanks,
#contact_error { padding: 3em 0 5em 0; }
#contact_thanks .contact_wrapper { padding: 1.8em 1em 2em 1em; }
#contact_thanks .ttl { width: auto; }
#contact_thanks .thanks_body p { margin: 0 0 1em 0; }
#contact_thanks .thanks_body .notice { margin-block-start: 1.5em; }
#contact_thanks .thanks_body .flex { margin-block-start: 2em; }


/*********** 調査ページ共通：ヒーロー ****************************************/
.investigation_items_hero_wrapper { padding: 3em 0 3.5em 0; border-bottom-right-radius: 2.5em; }
.investigation_items_hero .thumb { width: 100%; border-radius: calc(10vw / 3.75); }
.investigation_items_hero .text { position: relative; inset: auto; width: calc(335vw / 3.75); margin: -4em auto 0 auto; padding: 3em 0.8em 1.5em 0.8em; }
.investigation_items_hero .circle { width: calc(90vw / 3.75); inset: -2em auto auto -0.8em; line-height: 1.4; }
.investigation_items_hero .ttl.center { margin-block-start: 1em; margin-bottom: 2.4em; }
.investigation_items_hero .catch { margin: 0 0 1em 0; line-height: 1.7; }
.investigation_items_hero .summary { margin: 0; line-height: 1.8; letter-spacing: -0.02em; }
.investigation_items_hero .bg_bottom_right { width: calc(160vw / 3.75); inset: auto 0 calc(-100vw / 3.75) auto; }


/*********** 調査ページ共通：調査料金 ****************************************/
.investigation_price { padding: 3.5em 0 3em 0; border-top-left-radius: 2.5em; }
.investigation_price .tab_menu { gap: calc(6vw / 3.75); margin-block-end: 3em; justify-content: space-between; width: calc(352vw / 3.75); }
.investigation_price .tab_menu .btn { display: grid; place-content: center; padding-bottom: 0.9em; width: calc(173vw / 3.75); height: calc(54vw / 3.75); line-height: 1.3; text-align: center; }
.investigation_price .tab_menu .btn i { inset: auto 0 0.35em 0; margin: auto; width: max-content; height: max-content; line-height: 1; }
.investigation_price .ttl.center { margin-bottom: 3.2em; }
.investigation_price_illust { inset: -0.8em calc(-78vw / 3.75) auto auto; width: calc(60vw / 3.75); }

.investigation_price .content + .content { margin-block-start: 2.5em; }
.investigation_price .content header { padding: 0.6em 0.5em; line-height: 1.5; }
.investigation_price .content .tiny_inner { width: calc(325vw / 3.75); margin: 0.5em auto; }
.investigation_price .content .detail { padding: 1.2em 0; }
.investigation_price .content .detail .detail_ttl,
.investigation_price .content .detail .detail_ttl dt,
.investigation_price .content .detail .detail_ttl dd { display: block; width: auto; padding: 0; margin: 0; }
.investigation_price .content .detail .detail_ttl { margin-block-end: 0.6em; }
.investigation_price .content .detail .price_table th { width: 38%; padding: 0.6em 0.3em; line-height: 1.4; }
.investigation_price .content .detail .price_table td { padding: 0.6em 0.8em; line-height: 1.6; }
.investigation_price .content .detail .notice { margin-block-start: 1.4em; }
.investigation_price .content .detail .lead { margin: 0 0 1.4em 0; line-height: 1.7; }
.investigation_price .content .detail .check_items { flex-direction: column; gap: calc(10vw / 3.75) 0; margin: 0 0 1.4em 0; }
.investigation_price .content .detail .check_items dl { width: 100%; padding: 1.2em 1em; }
.investigation_price .link_box { margin-block-start: 2em; }


/*********** 調査料金ページ ****************************************/
.price_list .content .detail { padding: 1.5em 0 1.8em 0; }
.price_list .content .detail .price_thumb { margin: 0 0 1.5em 0; border-radius: calc(8vw / 3.75); }
.price_list .content .detail .sub_content + .sub_content { margin-block-start: 2.2em; }
.price_list .content .detail .sub_label { margin: 0 0 1.6em 0; padding: 0.6em 0.5em; }
.price_list .content .detail .sub_label::after { width: calc(16vw / 3.75); height: calc(13vw / 3.75); }
.price_list .content .detail .price_link { margin-block-start: 2em; padding-block-start: 1.4em; }
.price_list .content .detail .price_link a.more { text-align: right; line-height: 1.5; }
.price_list .content .detail .price_link a.more .icon { flex-shrink: 0; }


/*********** 初めての方へ ****************************************/
.promise_hero_wrapper { padding: 3em 0 3.5em 0; border-bottom-right-radius: 2.5em; }
.promise_hero .thumb { width: 100%; border-radius: calc(10vw / 3.75); }
.promise_hero .text { position: relative; inset: auto; width: calc(335vw / 3.75); margin: -4em auto 0 auto; padding: 3em 0.8em 1.5em 0.8em; }
.promise_hero .circle { width: calc(90vw / 3.75); inset: -2em auto auto -0.8em; line-height: 1.4; }
.promise_hero .ttl.center { margin-block-start: 1em; margin-bottom: 2.4em; }
.promise_hero .catch { margin: 0 0 1em 0; line-height: 1.7; }
.promise_hero .summary { margin: 0; line-height: 1.8; letter-spacing: -0.02em; }
.promise_hero .hero_illust { inset: -2.6em 0.3em auto auto; width: calc(56vw / 3.75); }
.promise_hero .bg_bottom_right { width: calc(160vw / 3.75); inset: auto 0 calc(-100vw / 3.75) auto; }

/* 選ばれる理由 */
.promise_reason { border-top-left-radius: 2.5em; }
.promise_reason_wrapper { padding: 3.5em 0 3em 0; border-bottom-left-radius: 2.5em; }
.promise_reason .ttl.center { margin-bottom: 3.2em; }
.promise_reason .ttl .investigation_price_illust { inset: -0.8em calc(-78vw / 3.75) auto auto; width: calc(66vw / 3.75); }
.promise_reason .content { padding: 1.5em 0; border-radius: calc(10vw / 3.75); }
.promise_reason .content .low_inner.grid { grid-template-columns: 1fr; gap: calc(12vw / 3.75); width: calc(335vw / 3.75); }
.promise_reason .content .box { width: 100%; padding: 1.1em 1em 1.2em 1em; border-radius: calc(10vw / 3.75); }
.promise_reason .content .box .box_header { padding: 0.4em calc(90vw / 3.75) 0.4em 0; min-height: calc(80vw / 3.75); }
.promise_reason .content .box .box_header .box_ttl { line-height: 1.5; }
.promise_reason .content .box .box_header .thumb { inset: 0 0 auto auto; }
.promise_reason .content .box .box_header .thumb01,
.promise_reason .content .box .box_header .thumb02,
.promise_reason .content .box .box_header .thumb05,
.promise_reason .content .box .box_header .thumb06,
.promise_reason .content .box .box_header .thumb08 { width: calc(84vw / 3.75); }
.promise_reason .content .box .box_header .thumb03 { width: calc(40vw / 3.75); }
.promise_reason .content .box .box_header .thumb04 { width: calc(52vw / 3.75); }
.promise_reason .content .box .box_header .thumb07 { width: calc(76vw / 3.75); }
.promise_reason .content .box .detail { padding: 0.8em 0 0 0; line-height: 1.8; }

/* 10のお約束 */
.promise_rules { border-top-right-radius: 2.5em; }
.promise_rules_wrapper { padding: 3.5em 0 3em 0; border-bottom-right-radius: 2.5em; }
.promise_rules .ttl.center { margin-bottom: 3.2em; }
.promise_rules .ttl .promise_rules_illust { inset: -0.8em auto auto calc(-74vw / 3.75); width: calc(56vw / 3.75); }
.promise_rules .rules_list { padding: 1em 0 calc(10vw / 3.75) 0; border-radius: calc(10vw / 3.75); }
.promise_rules .box { padding: 2em 0; }
.promise_rules .box.bg_gray { margin: 0 calc(10vw / 3.75); }
.promise_rules .box > .low_inner { width: calc(325vw / 3.75); }
.promise_rules .box .box_inner .thumb,
.promise_rules .box .box_inner .text { float: none; width: 100%; }
.promise_rules .box .box_inner .thumb { margin-block-end: 1.2em; }
.promise_rules .box .box_inner .thumb .caption { inset: auto calc(10vw / 3.75) 0 auto; }
.promise_rules .box .box_inner .thumb .caption::before { width: calc(80vw / 3.75); }
.promise_rules .box .box_inner .text dt::before { inset: calc(14vw / 3.75) 0 auto 0; }
.promise_rules .box .box_inner .text dt .box_ttl { padding: 0.6em 0.8em; }
.promise_rules .box .box_inner .text dd { padding-top: 1.2em; }
.promise_rules .box .items { flex-direction: column; gap: 1.4em 0; margin-block-start: 1.6em; }
.promise_rules .box .items > div { width: 100%; }
.promise_rules .box .items img { width: auto; max-width: 100%; height: calc(180vw / 3.75); margin-bottom: calc(8vw / 3.75); }
.promise_rules .rules_cv { margin: 1.8em 0 0 0; padding: 1.6em calc(10vw / 3.75); }
.promise_rules .rules_cv .btn_box { flex-direction: column; gap: calc(10vw / 3.75) 0; margin-block-start: 1.2em; }
.promise_rules .rules_cv .btn { position: relative; width: 100%; height: calc(100vw / 3.75); }
.promise_rules .rules_cv .btn .circle { width: calc(152vw / 3.75); inset: calc(-21vw / 3.75) auto auto calc(-40vw / 3.75); }
.promise_rules .rules_cv .btn .text { inset: 0 calc(40vw / 3.75) 0 calc(110vw / 3.75); }
.promise_rules .rules_cv .btn .triangle { width: calc(40vw / 3.75); padding: 0 calc(4vw / 3.75) calc(3vw / 3.75) 0; }

/* ご相談から解決までの流れ */
.promise_flow { background: linear-gradient(to bottom, #FDF4ED 0, #FDF4ED 2.5em, #FFFFFF 2.5em); }
.promise_flow_wrapper { padding: 3.5em 0 3.5em 0; border-top-left-radius: 2.5em; }
.promise_flow .ttl.center { margin-bottom: 3.2em; }
.promise_flow .content { padding: 2em 0; border-radius: calc(10vw / 3.75); }
.promise_flow .steps { width: calc(325vw / 3.75); }
.promise_flow .steps > li { flex-direction: column; min-height: 0; }
.promise_flow .steps > li + li { margin-block-start: 1.6em; }
.promise_flow .steps .circle { inset: calc(-10vw / 3.75) auto auto calc(-8vw / 3.75); width: calc(64vw / 3.75); }
.promise_flow .steps .thumb { width: 100%; padding: 1.2em 0; border-radius: 0.45em 0.45em 0 0; }
.promise_flow .steps .step_illust1 { width: calc(100vw / 3.75); }
.promise_flow .steps .step_illust2 { width: calc(126vw / 3.75); }
.promise_flow .steps .step_illust3 { width: calc(133vw / 3.75); }
.promise_flow .steps .step_illust4 { width: calc(77vw / 3.75); }
.promise_flow .steps .text { padding: 1.4em 1em 1.6em 1em; line-height: 1.8; }
.promise_flow .steps .text .step_ttl { margin-bottom: 0.8em; }
.promise_flow .steps .step_num { inset: auto calc(10vw / 3.75) 0 auto; }


/*********** 事務所について ****************************************/
/* 代表ご挨拶 */
.corporation_message_wrapper { padding: 4em 0 3em 0; border-bottom-left-radius: 2.5em; }
.corporation_message_ttl { margin: 0 auto 2.8em auto; }
.corporation_message .content { flex-direction: column; align-items: center; }
.corporation_message .content .thumb { width: calc(230vw / 3.75); }
.corporation_message .content .thumb figcaption { margin-block-start: 0.8em; }
.corporation_message .content .text { width: 100%; margin-block-start: 1.8em; }
.corporation_message .content .text .catch { margin: 0.6em 0 1em 0; line-height: 1.6; }
.corporation_message .content .text .box { padding: 1.3em 1em; }
.corporation_message .content .text .box p { line-height: 1.9; }

/* 調査実績 */
.corporation_experience_wrapper { padding: 3.5em 0 3em 0; border-top-right-radius: 2.5em; }
.corporation_experience .thumb { width: 100%; border-radius: calc(10vw / 3.75); }
.corporation_experience .text { position: relative; inset: auto; width: calc(335vw / 3.75); margin: -4em auto 0 auto; padding: 3em 0.8em 1.5em 0.8em; }
.corporation_experience .circle { width: calc(90vw / 3.75); inset: -2em auto auto -0.8em; }
.corporation_experience .experience_illust { width: calc(56vw / 3.75); inset: -2.6em 0.3em auto auto; }
.corporation_experience .ttl.center { margin-block-start: 1em; margin-bottom: 2.4em; }
.corporation_experience .staff { flex-direction: column; gap: calc(12vw / 3.75) 0; margin-block-start: 2em; }
.corporation_experience .staff .box { width: 100%; padding: 1.2em 1em; }
.corporation_experience .staff .box header { flex-direction: column; align-items: stretch; }
.corporation_experience .staff .box .thumb { width: 100%; }
.corporation_experience .staff .box .profile { margin: 1em 0 0 0; padding-block-start: 0; }
.corporation_experience .staff .box .position { margin-block-start: 0.5em; line-height: 1.6; }
.corporation_experience .staff .box .detail { margin-block-start: 0.9em; }

/* 写真スライダー */
.corporation_slider .slider_track { gap: 0 calc(8vw / 3.75); animation-duration: 30s; }
.corporation_slider .slide { width: calc(240vw / 3.75); border-radius: calc(6vw / 3.75); }
@keyframes corporation_slider { from { transform: translateX(0); } to { transform: translateX(calc(-744vw / 3.75)); } }

/* 会社概要 */
.corporation_outline { padding-block-start: 2em; }
.corporation_outline_wrapper { width: calc(355vw / 3.75); padding: 1.2em 0; border-radius: calc(10vw / 3.75); }
.corporation_outline .content { width: calc(335vw / 3.75); padding: 2.2em 0; border-radius: calc(10vw / 3.75); }
.corporation_outline .outline_intro { width: calc(305vw / 3.75); }
.corporation_outline .outline_intro .thumb,
.corporation_outline .outline_intro .text { float: none; width: 100%; }
.corporation_outline .outline_intro .text { padding-block-start: 0; }
.corporation_outline .outline_intro .thumb { display: block; width: calc(200vw / 3.75); margin: 0 auto 1.5em auto; }
.corporation_outline .outline_intro .hokkaido_mark { width: calc(40vw / 3.75); }
.corporation_outline .outline_list { width: calc(305vw / 3.75); margin-block-start: 1.5em; }
.corporation_outline .outline_list dl,
.corporation_outline .outline_list dt,
.corporation_outline .outline_list dd { display: block; width: auto; }
.corporation_outline .outline_list dt { padding: 1em 0 0.3em calc(16vw / 3.75); }
.corporation_outline .outline_list dt::before { inset: calc(1em + 0.725em - 4vw / 3.75) auto auto 0; }
.corporation_outline .outline_list dd { padding: 0 0 1em 0; line-height: 1.7; }
.corporation_outline .outline_list .link_list { gap: 0.5em calc(16vw / 3.75); }
.corporation_outline .outline_list .certification { width: calc(150vw / 3.75); }

/* 札幌店へのご来店案内 */
.corporation_access { padding-block-start: 3.5em; }
.corporation_access .access_illust { width: calc(48vw / 3.75); inset: -0.6em calc(-6vw / 3.75) auto auto; }
.corporation_access .content { flex-direction: column; }
.corporation_access .content .map { width: 100%; aspect-ratio: 355 / 280; }
.corporation_access .content .text { width: 100%; padding-block-start: 1.5em; }
.corporation_access .content .station i { margin-left: 0; }
.corporation_access .content a.more { width: calc(300vw / 3.75); height: calc(60vw / 3.75); }

.corporation_access .access_route { margin-block-start: 2.5em; }
.corporation_access .access_tabs { width: calc(355vw / 3.75); margin: 0 auto; gap: 0 calc(5vw / 3.75); }
.corporation_access .access_tabs .btn { flex: 1; width: auto; height: calc(60vw / 3.75); }
.corporation_access .access_tabs .btn::after { width: calc(18vw / 3.75); height: calc(12vw / 3.75); }
.corporation_access .access_panels { width: calc(355vw / 3.75); padding: 2em 0 0.8em 0; border-radius: calc(10vw / 3.75); }
.corporation_access .access_panel .panel_ttl { margin: 0 0 1.4em 0; }
.corporation_access .steps { width: calc(325vw / 3.75); gap: 0 calc(15vw / 3.75); }
.corporation_access .steps li { width: calc((100% - 15vw / 3.75) / 2); margin-block-end: 1.6em; }
.corporation_access .steps li p { margin-block-start: 0.6em; line-height: 1.6; }
.corporation_access .steps .num { inset: calc(-8vw / 3.75) auto auto calc(-6vw / 3.75); width: calc(32vw / 3.75); }

/* 探偵業法について */
.corporation_law { padding: 3.5em 0 4em 0; }
.corporation_law .law_ttl { margin-block-end: 0.8em; }
.corporation_law .law_ttl + p { line-height: 1.8; }
.corporation_law .law_body { margin-block-start: 1.6em; padding-block-start: 1.6em; }
.corporation_law .law_body .caption { margin: 1.8em 0 0.5em 0; }
.corporation_law .law_body dl,
.corporation_law .law_body dt,
.corporation_law .law_body dd { display: block; width: auto; }
.corporation_law .law_body dl + dl { margin-block-start: 1.2em; }
.corporation_law .law_body dt { margin-block-end: 0.2em; font-weight: bold; }
.corporation_law .law_body dd { line-height: 1.8; }
.corporation_law .law_list li { line-height: 1.8; }


/**** 調査項目 共通（依頼事例〜FAQ） ****/
.investigation_case { padding: 3.5em 0 3em 0; }
.investigation_case .ttl.center,
.investigation_cheating .ttl.center,
.investigation_resolve .ttl.center,
.investigation_investigative .ttl.center { margin-bottom: 3.2em; }
.investigation_case .ttl.center { margin-top: 0; }
.investigation_case_illust { inset: 0.5em auto auto calc(-80vw / 3.75); width: calc(62vw / 3.75); }
.investigation_case .tiny_inner { width: calc(305vw / 3.75); }
.investigation_case .box { margin-block-start: 1.5em; padding: 3.2em 0 2.5em 0; border-radius: 0.7em; }
.investigation_case .box header { flex-direction: column-reverse; padding: 0 0 1.5em 0; }
.investigation_case .box header .text { width: 100%; }
.investigation_case .box header .thumb { width: 100%; margin-block-end: 1.2em; border-radius: 0.35em; overflow: hidden; }
.investigation_case .box header .thumb figcaption { inset: auto auto 0.3em 0.6em; }
.investigation_case .box header .text .description { margin: 1em 0; }
.investigation_case .box header .text .profile { padding: 0 0 0 1.2em; }
.investigation_case .box .content { padding: 1.5em 0 0 0; }
.investigation_case .box .content .data,
.investigation_case .box .content .data dt,
.investigation_case .box .content .data dd { display: block; width: 100%; }
.investigation_case .box .content .data { margin: 0 0 0.8em 0; }
.investigation_case .box .content .data dt { padding: 0.5em 0; }
.investigation_case .box .content .data dd { padding: 1em 0.2em 0.5em 0.2em; }
.investigation_case .box .end_case_num { inset: auto 0.3em 0 auto; }
.investigation_case .link_box { margin-block-start: 2.5em; }

.investigation_cheating { padding: 3.5em 0 3em 0; }
.investigation_resolve { padding: 1em 0 4em 0; border-bottom-right-radius: 2.5em; }
.investigation_cheating_illust { inset: -2.5em 0 auto auto; width: calc(50vw / 3.75); }
.investigation_resolve_illust { inset: -1.5em auto auto 0; width: calc(66vw / 3.75); }
.investigation_cheating .box,
.investigation_resolve .box { border-radius: 0.7em; padding: 2.5em 0 3em 0; }
.investigation_cheating .box + .box,
.investigation_resolve .box + .box { margin-block-start: 2.5em; }
.investigation_cheating .box_header,
.investigation_resolve .box_header { padding: 0 0 1.5em 0; }
.investigation_cheating .box_header .low_inner,
.investigation_resolve .box_header .low_inner { gap: 0 calc(12vw / 3.75); }
.investigation_cheating .box_header .num,
.investigation_resolve .box_header .num { flex-shrink: 0; }
.investigation_cheating .box_header_arrow,
.investigation_resolve .box_header_arrow { width: calc(44vw / 3.75); }

.investigation_body { padding-block-start: 2.5em; }
.investigation_body .box_sub_ttl { margin: 2.8em 0 1.2em 0; padding: 0.7em 0.8em; }
.investigation_body .investigation_block_ttl { margin: 3em 0 1em 0; padding: 0.4em 0.9em; border-radius: 1em 0 0 0; line-height: 1.6; }
.investigation_lead { padding: 1.3em 1.1em; }

.investigation_cols .text,
.investigation_cols .thumb,
.investigation_steps .text,
.investigation_steps .thumb,
.investigation_report .text,
.investigation_report .thumb { float: none; width: 100%; }
.investigation_cols .thumb,
.investigation_steps .thumb,
.investigation_report .thumb { margin-block-end: 1.2em; }
.investigation_cols + .investigation_cols { margin-block-start: 2.2em; }

.investigation_num_list li,
.investigation_steps_ttl { padding-left: 2em; }
.investigation_num_list li::before,
.investigation_steps_ttl::before { width: 1.5em; height: 1.5em; line-height: 1.5em; inset: calc(1.75em / 2 - 0.75em) auto auto 0; }

.investigation_note { padding: 1.3em 1.1em; }
.investigation_check + .investigation_check { margin-block-start: 3em; }
.investigation_check_head { margin: 0 0 1.2em 0 !important; padding-bottom: 1em; }
.investigation_check_head .badge { flex-shrink: 0; width: calc(56vw / 3.75); }
.investigation_measure { padding: 2.6em 1.1em 1.4em 1.1em; }
.investigation_measure_ttl { inset: -0.8em auto auto 1em; padding: 0.5em 1.2em; }
.investigation_steps { margin-block-start: 1.8em; }
.investigation_steps > li + li { padding-block-start: 1.8em; }
.investigation_principle { padding: 2.4em 1.1em 1.4em 1.1em; }
.investigation_principle .investigation_measure_ttl { inset: -0.9em auto auto 1em; }

.investigation_advisor { flex-direction: column; padding: 1.8em 1.1em; gap: 1.2em 0; }
.investigation_advisor_photo { width: 100%; }
.investigation_advisor_text { padding-block-start: 0; }

.investigation_items { flex-direction: column; gap: 1.5em 0; margin-block-start: 2em; }
.investigation_items > li { width: 100%; }
.investigation_items_ttl { margin: 1.1em 1em !important; padding-left: 2em; }
.investigation_items_ttl .num { width: 1.5em; height: 1.5em; line-height: 1.5em; inset: calc(1.8em / 2 - 0.75em) auto auto 0; }
.investigation_items_list { margin: 0 1em; }
.investigation_items_list li { padding-left: 1em; }

.investigation_investigative_wrapper { padding: 3.5em 0 4em 0; border-bottom-left-radius: 2.5em; }
.investigation_investigative .bg_top_left { width: calc(160vw / 3.75); inset: calc(-80vw / 3.75) auto auto 0; }
.investigation_investigative .bg_bottom_right { width: calc(150vw / 3.75); inset: auto 0 calc(-90vw / 3.75) auto; }
.investigation_investigative_illust { inset: 0 auto auto calc(-72vw / 3.75); width: calc(56vw / 3.75); }
.investigation_investigative .content { flex-direction: column; gap: 1.5em 0; }
.investigation_investigative .content .box { width: 100%; }
.investigation_investigative .content .box .detail { padding: 1em 1.1em 1.3em 1.1em; }
.investigation_investigative .content .box .detail .view_more .icon { width: calc(24vw / 3.75); }
.investigation_investigative .link_box { margin-block-start: 2.5em; }

.investigation_faq { padding: 3.5em 0 4em 0; border-top-right-radius: 2.5em; }
.investigation_faq_illust { inset: -1em 0 auto auto; width: calc(60vw / 3.75); }
.investigation_faq .ttl.center,
.investigation_faq p.ttl.center { margin: 0 auto 3em auto; }
.investigation_faq .faq_tabs { gap: 0 calc(6vw / 3.75); margin-block-end: 2em; }
.investigation_faq .faq_tabs .btn { width: calc(164vw / 3.75); height: calc(54vw / 3.75); padding-bottom: 0.6em; }
.investigation_faq .faq_cat_label { margin-block-end: 1.8em; }
.investigation_faq .faq_cat_label::after { width: calc(16vw / 3.75); height: calc(12vw / 3.75); }

.accordions { width: 100%; }
.accordions .list { margin-block-end: 0.8em; }
.accordions .list dt { padding: 1.1em calc(44vw / 3.75) 1.1em calc(56vw / 3.75); }
.accordions .list .q_icon,
.accordions .list .a_icon { width: calc(34vw / 3.75); }
.accordions .list .q_icon { inset: 0 auto 0 calc(12vw / 3.75); }
.accordions .list dt .toggle { width: calc(16vw / 3.75); inset: 0 calc(14vw / 3.75) 0 auto; }
.accordions .list dd .a_inner { min-height: calc(70vw / 3.75); margin: 0 calc(12vw / 3.75); padding: 1.3em 0.3em 1.1em calc(44vw / 3.75); }
.accordions .list dd .a_inner .a_icon { inset: calc(16vw / 3.75) auto auto 0; }
.investigation_measure_ttl { white-space: nowrap; }
.investigation_cheating .box_header .box_header_text .box_ttl,
.investigation_resolve .box_header .box_header_text .box_ttl { letter-spacing: 0.02em; }
.investigation_cheating .box_header .low_inner,
.investigation_resolve .box_header .low_inner,
.investigation_cheating .investigation_body.low_inner,
.investigation_resolve .investigation_body.low_inner { width: calc(315vw / 3.75); }
.nowrap { white-space: nowrap; }
.investigation_faq .faq_tabs .btn { word-break: keep-all; }
.accordions .list dt .q_text,
.investigation_case .box header .text .case_ttl,
.investigation_body .box_sub_ttl,
.investigation_investigative .content .box .detail .post_ttl { text-wrap: pretty; }
.accordions .list dt .q_text,
.investigation_investigative .content .box .detail .post_ttl { word-break: auto-phrase; }

/**** link ****/
.link_page { padding: 3em 0 4em 0; }
.link_page .link_tabs { gap: 0 calc(8vw / 3.75); margin-block-end: 2.5em; }
.link_page .link_tabs .btn { width: calc(160vw / 3.75); height: calc(46vw / 3.75); }
.link_page .link_items { flex-direction: column; gap: calc(10vw / 3.75) 0; }
.link_page .link_items li { width: 100%; }
.link_page .link_items li a { gap: 0 calc(12vw / 3.75); padding: 1em calc(12vw / 3.75) 1em calc(16vw / 3.75); }
.link_page .link_items .name,
.link_page .link_items .desc { overflow-wrap: anywhere; }
.link_page .link_items .icon { width: calc(30vw / 3.75); }
.link_page .link_box { margin-block-start: 2.5em; }
