@charset "utf-8";
/* CSS Document */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
:target { scroll-margin-top: calc(165vw / 19.2); }

body {
	color:#463F38; font-size:calc(18 * 0.052vw); line-height: 1.8; font-weight:500;
	font-family: 'Zen Maru Gothic',"Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
	margin: 0 auto; height: 100%; overflow-x:hidden;
}
*{ font-family: inherit; }
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box; -ms-box-sizing: border-box;box-sizing: border-box;}

.ops { font-family:'Open Sans',"Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; font-weight: 600; }
.arial { font-family:'Arial', sans-serif; }

.bold { font-weight:600; }
.reguler { font-weight:500; }
.lsp05 { letter-spacing:0.05em; }
.lsp { letter-spacing:0.1em; }
.lsp2 { letter-spacing:0.2em; }

h1,h2,h3,h4,h5,h6 { font-size:1em; }


.fs10vw { font-size:calc(10 * 0.052vw); }
.fs12vw { font-size:calc(12 * 0.052vw); }
.fs14vw { font-size:calc(14 * 0.052vw); }
.fs15vw { font-size:calc(15 * 0.052vw); }
.fs16vw { font-size:calc(16 * 0.052vw); }
.fs17vw { font-size:calc(17 * 0.052vw); }
.fs18vw { font-size:calc(18 * 0.052vw); }
.fs20vw { font-size:calc(20 * 0.052vw); }
.fs21vw { font-size:calc(21 * 0.052vw); }
.fs22vw { font-size:calc(22 * 0.052vw); }
.fs23vw { font-size:calc(23 * 0.052vw); }
.fs24vw { font-size:calc(24 * 0.052vw); }
.fs25vw { font-size:calc(25 * 0.052vw); }
.fs26vw { font-size:calc(26 * 0.052vw); }
.fs27vw { font-size:calc(27 * 0.052vw); }
.fs28vw { font-size:calc(28 * 0.052vw); }
.fs29vw { font-size:calc(29 * 0.052vw); }
.fs30vw { font-size:calc(30 * 0.052vw); }
.fs31vw { font-size:calc(31 * 0.052vw); }
.fs32vw { font-size:calc(32 * 0.052vw); }
.fs33vw { font-size:calc(33 * 0.052vw); }
.fs34vw { font-size:calc(34 * 0.052vw); }
.fs35vw { font-size:calc(35 * 0.052vw); }
.fs36vw { font-size:calc(36 * 0.052vw); }
.fs37vw { font-size:calc(37 * 0.052vw); }
.fs38vw { font-size:calc(38 * 0.052vw); }
.fs40vw { font-size:calc(40 * 0.052vw); }
.fs42vw { font-size:calc(42 * 0.052vw); }
.fs45vw { font-size:calc(45 * 0.052vw); }
.fs46vw { font-size:calc(46 * 0.052vw); }
.fs48vw { font-size:calc(48 * 0.052vw); }
.fs50vw { font-size:calc(50 * 0.052vw); }
.fs52vw { font-size:calc(52 * 0.052vw); }
.fs53vw { font-size:calc(53 * 0.052vw); }
.fs54vw { font-size:calc(54 * 0.052vw); }
.fs55vw { font-size:calc(55 * 0.052vw); }
.fs56vw { font-size:calc(56 * 0.052vw); }
.fs60vw { font-size:calc(60 * 0.052vw); }
.fs62vw { font-size:calc(62 * 0.052vw); }
.fs64vw { font-size:calc(64 * 0.052vw); }
.fs65vw { font-size:calc(65 * 0.052vw); }
.fs66vw { font-size:calc(66 * 0.052vw); }
.fs68vw { font-size:calc(68 * 0.052vw); }
.fs70vw { font-size:calc(70 * 0.052vw); }
.fs72vw { font-size:calc(72 * 0.052vw); }
.fs80vw { font-size:calc(80 * 0.052vw); }
.fs84vw { font-size:calc(84 * 0.052vw); }
.fs86vw { font-size:calc(86 * 0.052vw); }
.fs100vw { font-size:calc(100 * 0.052vw); }
.fs110vw { font-size:calc(100 * 0.052vw); }
.fs120vw { font-size:calc(120 * 0.052vw); }
.fs140vw { font-size:calc(140 * 0.052vw); }


header, main, article, footer, section, aside, nav, cite, figure, figcaption {
	display: block;
}

address,em { font-style:normal; }

img { border: none; vertical-align: bottom; max-width: 100%; }
a { color:#463F38; text-decoration: none; }

a:hover, input[type="submit"]:hover, input[type="reset"]:hover {
	opacity: 0.8; filter: alpha(opacity=80); -ms-filter: "alpha( opacity=80 )";
}
a.underline { text-decoration:underline; }



.position_r { position:relative; z-index:1; }
.position_a { position:absolute; z-index:0 }


/*********** class ****************************************/


/********** float ************/
.c-both { clear: both; }
.clearfix:after { content: ""; clear: both; display: block; }
.left { float: left; }
.right { float: right; }
.center { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.text_right { text-align:right; }

/******* end float **********/

/******* flex box ***********/
.flex {
	display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; align-items: flex-start;
}
.flex.height {flex-wrap: wrap; align-items: stretch;}
.flex.js_center {justify-content: center; }
.flex.wrap { flex-wrap: wrap; }
.flex.start { justify-content: flex-start; }
.flex.end { justify-content: flex-end; }

/******* flex box ***********/
.grid { display:grid; }


/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }
.cover { width: 100%; height:100%; object-fit:cover; }

/***** contact ***************/

span.nini {
	background-color: #3cc39c; color: #FFF; font-size: 0.8em; font-weight: normal; display: inline-block; padding:0.2em 0.5em 0.1em 0.5em;
	border-radius: 0.3em; -moz-border-radius: 0.3em; -webkit-border-radius: 0.3em; -o-border-radius: 0.3em; -ms-border-radius: 0.3em;
}

span.hissu {
	background-color: #E80032; color: #FFF; font-size: 0.8em; font-weight: normal; display: inline-block; padding:0.2em 0.5em 0.1em 0.5em;
	border-radius: 0.3em; -moz-border-radius: 0.3em; -webkit-border-radius: 0.3em; -o-border-radius: 0.3em; -ms-border-radius: 0.3em;
}

span.memo { color: #666; font-size: 0.8em; }
span.error { display: block; color: #F03; font-size: 0.8em; }

/***** indent ***************/
p.indent {
	margin: 5px 0 5px 1em;
	text-indent: -1em;
}
span.indent {
	margin: 5px 0 5px 1em;
	text-indent: -1em;
	display: inline-block;
}



/****** layout ********/
.inner { width: calc(1880vw / 19.2); margin: 0 auto; }
.middle_inner { width: calc(1820vw / 19.2); margin: 0 auto; }
.low_inner { width: calc(1430vw / 19.2); margin: 0 auto; }
.minimum_inner { width: calc(1340vw / 19.2); margin: 0 auto; }
.tiny_inner { width: calc(1080vw / 19.2); margin: 0 auto; }

.list {list-style-type: none;}
.heading { width: 100%; }
.half { width: 48%; max-width:550px; }





.white { color:#FFFFFF; }
.gray { color:#737373; }
.orange { color:#E8651A; }
.light_orange2 { color:#FFECE2; }
.brown { color:#756050; }
.yellow { color:#F4B400; }
.line_green { color: #06C755; }
.facebook_blue { color:#1877F2; }
.red { color:#CC0000; }


.bg_white { background-color:#FFFFFF; }
.bg_shilver { background-color:#F4F4F4; }
.bg_brown { background-color:#756050; }
.bg_dark_brown { background-color:#463F38 }
.bg_gray { background-color:#F7F7F7; }
.bg_light_gray { background-color:#EEEEEE; }
.bg_light_orange { background-color:#FDF4ED; }
.bg_light_orange2 { background-color:#FFECE2; }
.bg_dark_orange { background-color:#E8651A; }
.gradient_orange { background:linear-gradient(to right,#E8651A 0%,#FF9A41 100%); }
.bg_line_green { background-color: #06C755; }


.bg_green { background-color:#68B15E; }
.bg_dark_green { background-color:#429D36; }
.bg_orange { background-color:#FF7A33; }
.bg_orange2 { background-color:#FF9C41; }
.bg_orange3 { background-color:#FF7933; }


.bg_gray2 { background-color:#EEE; }




.dot { background-image: radial-gradient(circle at center, #FF7A33 20%, transparent 20%); background-position: top right; background-repeat: repeat-x; background-size: 1em 0.3em; padding-top: .4em;}
.bg_dot { background-image: radial-gradient(#ffccb2 10%, transparent 13%), radial-gradient(#ffccb2 10%, transparent 13%); background-position: 0 0, 12px 12px; background-size: 12px 12px; }
hr.hr { border:none; border-botom:solid 1px #CCCCCC; }
hr.orange { border:none; border-top: solid 1px #FF9C41; margin: 0 0 3em 0; }

/****** end layout ********/
/**** dl table layout ************/
dl.table { display:table; width:100%; }
dl.table dt,dl.table dd { display:table-cell; }

/****** display ********/

.pc { display: block; }
.pc_inline { display:inline; }
.sp { display: none; }

/****** end display ********/



button.send_btn,
a.more {
	position:relative; margin-top:0.5em; margin-bottom:0.5em; border-radius:0.5em; width:calc(360vw / 19.2); height:calc(80vw / 19.2); align-items:center; padding: 0.75em 0.75em 0.75em 1em;
	border: 2px solid transparent; background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #E8651A 0%, #FF9A41 100%); background-origin: border-box; background-clip: padding-box, border-box;
	cursor:pointer;
}

button.send_btn .icon,
a.more .icon { width:calc(48vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; }





.fade { opacity: 0; transition: all 1s; }
.fade.active { opacity: 1;}

.radius { border-radius:1em; }
.border_bottom_dot { border-bottom:dotted 2px #CCCCCC; }






.ttl { position:relative; font-weight:bold; width: max-content; margin: 1em 0 3.5em 0; }
.ttl .slug { display:block; font-weight:600; line-height: 1.3; }
.ttl .ja { display:block; }
.ttl::after { content:''; position:absolute; inset:auto auto -1.25em 0; width:4.44em; height:2px; background:linear-gradient(to right,#E8651A 0,#FF9A41 100%); }
.ttl.white::after { background:#FFFFFF; }
.ttl.center { margin: 1em auto 3.5em auto; }
.ttl.center::after { inset:auto 0 -1.25em 0; margin: auto; }

.ttl i { margin-right:0.3em; text-box: trim-both cap alphabetic; }


.circle { border-radius:100vmax; }

.corner_link { display:block; position:absolute; bottom:0; right:0; width:100%; }
.corner_link span {
	display:block; background-color:#FF7A33; border-bottom-right-radius:1em; margin: 0 0 0 auto;
	width:calc(60vw / 19.2); height:calc(60vw / 19.2); text-align:center; max-width:60px; max-height:60px; clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.corner_link span i { line-height: min(4vw,76px); margin: 0 0 0 min(1.3vw,20px); }

/* *********************common**************************** */



/*************** end class ***************************************************************/

main { padding:calc(165vw / 19.2) 0 0 0; }


header#header { padding: 0; width: 100%; height: calc(165vw / 19.2); position:fixed; z-index: 100; }


header#header .permit { padding: 0.25em 0 0.25em 0; }
header#header .permit p { margin:0; }
header#header .site_name { display:block; width: calc(415vw / 19.2); max-width:405px; line-height: 1.5; font-weight: 600; margin: 0.75em 0 0.5em 0; }
header#header .site_name a.flex { align-items:center; }
header#header .site_name img.logo { width: calc(55vw / 19.2); aspect-ratio: 55 / 52; }
header#header .site_name span.txt { width: calc(355vw / 19.2); max-width:348px; padding-left:0.3em; }
header#header .site_name span.inc { display:block; line-height: 1.2; }


header#header .contact_box_pc { padding: 0.5em 0 0.5em 0; }
header#header .contact_box_pc .tel_box { display:inline-block; }
header#header .contact_box_pc .tel_box .hour { display:block; margin-left: 3.5em; }
header#header .contact_box_pc .tel_box .tel_number { align-items: center; padding-top: 0.25em; }
header#header .contact_box_pc .tel_box .tel_number i { margin-right:0.3em; }
header#header .contact_box_pc .tel_box .tel_number .number { text-box: trim-both cap alphabetic; }

header#header .contact_box_pc .line_box { width:calc(180vw / 19.2); height: calc(58vw / 19.2); border:solid 1px #E2E0DC; border-radius:0.5em; align-items: center; margin-left: 1em; }
header#header .contact_box_pc .line_box i { margin-right: 0.25em; }
header#header .contact_box_pc .line_box .text { line-height: 1.5; }
header#header .contact_box_pc .line_box .text .hour { display:block; }

header#header .contact_box_pc .email_box { width:calc(180vw / 19.2); height: calc(58vw / 19.2); border:solid 1px #E2E0DC; border-radius:0.5em; align-items: center; padding-left: 0.25em; margin-left: 0.5em; }
header#header .contact_box_pc .email_box .icon { width:calc(46vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; margin-right: 0.75em; }
header#header .contact_box_pc .email_box i {  }
header#header .contact_box_pc .email_box .text { line-height: 1.5; }
header#header .contact_box_pc .email_box .text .hour { display:block; }

header#header .nav_block { align-items:center; }
header#header .nav_block .experience { margin:0; }

header#header nav {  }
header#header nav ul#gmenu { display: inline-block; list-style-type:none; margin:0; vertical-align: top; }
header#header nav ul#gmenu li { display:inline-block; margin:0; padding:0; text-align:center; vertical-align: top; }
header#header nav ul#gmenu li a { display:block; padding:0 0 0 2em; line-height: 1.2; }
header#header nav ul#cmenu_menu {
	display:none; list-style-type:none; width: 100vw; position: absolute; margin: 0; padding: 2em 15% 2em 15%; left: 0; background-color: #F7F7F7;
}
header#header nav ul#cmenu_menu li { display:inline-block; width: calc(220vw / 19.2); max-width: 220px; margin:1vw; vertical-align: top; }
header#header nav ul#cmenu_menu li img.sum { width:100%; box-shadow: 0 0 1em 0 rgba(0, 0, 0, .2); border-top-right-radius:0.5em; border-top-left-radius:0.5em; border-bottom-right-radius:0.5em; border-bottom-left-radius:0.5em;}


.detective_services_menu_box_wrapper {
	position: absolute; inset:0; z-index:99; width:100%; height:100%; background-color:rgba(0,0,0,0.4);
	opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s;
}
.detective_services_menu_box_wrapper.show { opacity: 1; visibility: visible; }


.detective_services_menu_box {
	width:calc(1220vw / 19.2); border-radius:0.5em; padding:4em 4.5em 4em 4.5em;
	inset: calc(180vw / 19.2) 0 auto 0; margin: auto;
}

.detective_services_menu_box .thumb { width:calc(470vw / 19.2); aspect-ratio: 64 / 44; }
.detective_services_menu_box .detective_services_menu_list { width:calc(520vw / 19.2); }
.detective_services_menu_box .detective_services_menu_list { padding:0; }

.detective_services_menu_box .detective_services_menu_list ul { list-style-type:none; margin:0; padding:0; }
.detective_services_menu_box .detective_services_menu_list ul li { width:calc(240vw / 19.2); border-bottom:dashed 1px #696A75; }
.detective_services_menu_box .detective_services_menu_list ul li a { align-items:center; padding:1em 0 1em 0; }
.detective_services_menu_box .detective_services_menu_list ul li a .icon { width: calc(26vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; }



.bottom_contact { padding: 4em 0 8em 0; background-image:url(../img/bottom_contact_bg.webp); background-size:cover; }

.bottom_contact .bottom_contact_illust { width:calc(330vw / 19.2); aspect-ratio: 330 / 366; inset:-6.5em auto auto 8em; }

.bottom_contact .bottom_contact_cv_tip { width: max-content; margin-block-end: 0; }
.bottom_contact .bottom_contact_cv_tip::before { content:"／"; color:#FFFFFF; font-size:calc(24vw / 19.2); position:absolute; inset:0 auto 0 -1.5em; transform: rotateX(180deg); }
.bottom_contact .bottom_contact_cv_tip::after { content:"／"; color:#FFFFFF; font-size:calc(24vw / 19.2); position:absolute; inset:0 -1.25em 0 auto; }

.bottom_contact .bottom_contact_cv_ttl { margin-block-start: 0; }

.bottom_contact .content { margin-block-start: 4em; }
.bottom_contact .content .btn { overflow: hidden; width:calc(450vw / 19.2); box-shadow:0 0 10px rgba(64, 51, 41,0.4); border-radius:0.5em; text-align: center; padding: 1.25em; }
.bottom_contact .content .btn  .time { display:block; }
.bottom_contact .content .btn  .time i { margin-right:0.3em; }
.bottom_contact .content .btn .thumb { display: block; margin: 0.5em auto 0.5em auto; width:calc(170vw / 19.2); aspect-ratio: 1 / 1; }

.bottom_contact .content .btn .anchor { display:block; }
.bottom_contact .content .btn .anchor i { margin-right:0.3em; }

.bottom_contact .content .btn .triangle { inset:auto 0 0 auto; width:calc(60vw / 19.2); aspect-ratio: 1 / 1; clip-path: polygon(100% 0, 0% 100%, 100% 100%); }
.bottom_contact .content .btn .triangle i { margin: 2em 0 0 2em; }





footer#footer {
	position: relative; z-index: 2; margin-top: -4em;
	padding: 4em 0 4em 0; border-top-right-radius:1.5em; border-top-left-radius:1.5em;
}

footer#footer .org { width: calc(450vw / 19.2); }

footer#footer .org .site_name { display:block; width: calc(415vw / 19.2); max-width:405px; line-height: 1.5; font-weight: 600; margin: 0.75em 0 0.5em 0; }
footer#footer .org .site_name a.flex { align-items:center; }
footer#footer .org .site_name img.logo { width: calc(55vw / 19.2); aspect-ratio: 55 / 52; }
footer#footer .org .site_name span.txt { width: calc(355vw / 19.2); max-width:348px; padding-left:0.3em; }
footer#footer .org .site_name span.inc { display:block; line-height: 1.2; }

footer#footer .org .summary { padding: 1.25em 0 1.25em 0; }

footer#footer .org .sns { list-style-type:none; padding: 0; }
footer#footer .org .sns li { margin-right:0.5em; }
footer#footer .org .sns li.line ,
footer#footer .org .sns li.facebook { display: grid; place-content: center; place-items: center; background: radial-gradient(circle, #FFFFFF 50%, rgba(255, 255, 255, 0) 75%); }



footer#footer nav { width: calc(850vw / 19.2); }

footer#footer dl.list i { margin-right:0.5vw; }
footer#footer a.home { display:inline-block; margin:1em 0 1em 0; font-weight: 600; }
footer#footer a.home i,
footer#footer dl.list i { margin-right:0.5vw; }
footer#footer dl.list { margin:0; padding: 1em 0 1em 0; }
footer#footer dl.list dt { margin:0; padding: 0 0 0.6em 0; font-weight: 600; }
footer#footer dl.list dd { margin:0; padding:0; }
footer#footer dl.list dd ul { list-style-type:none; margin:0; padding: 0; }
footer#footer dl.list dd ul li { margin:0; padding:0 0 0.6em 0; }


footer#footer p.copy { padding: 2em 0 0 0; }

#page_top {
	position: fixed; z-index: 100; inset:auto 3em 3em auto; place-content:center; width: calc(60vw / 19.2); aspect-ratio: 1 / 1; border-radius:0.5em;
	opacity:0; pointer-events:none; transition:opacity 0.4s ease;
}

#page_top.show { opacity:1; pointer-events:auto; }

#track { display:none; opacity: 0; transition: opacity 0.5s ease; }



.page_header { height: calc(500vw / 19.2); }
.page_header .page_header_wrapper { height: 100%; display: grid; place-content: center; }
.page_header .page_header_ttl {  }
.page_header .page_header_ttl .slug { display:block; }

.page_header .breadcrumb { position:absolute; inset:auto auto 1em 0; list-style-type:none; padding:0; }


/********** home ***********************/
#fv { position:relative; width:100%; height:calc(930vw / 19.2); aspect-ratio:192 / 93; }

#fv .text {
	padding:calc(110vw / 19.2) 0 0 calc(150vw / 19.2); z-index: 2;
	background-image:url(../img/home/fv_text_bg.webp); background-size:100%; background-repeat:repeat; width:calc(958vw / 19.2); height:100%;
}
#fv .text .catch { width:max-content; }
#fv .text .catch .lens { width:calc(160vw / 19.2); aspect-ratio:160 / 165; inset:-3.5em -3.5em auto auto; }
#fv .text .catch .belt { display:block; width:max-content; text-box: trim-both cap alphabetic; margin-block-end: 0.25em; padding: 0.68em 0.5em 0.68em 0.75em; border-radius: 0.1em; box-shadow: 3px 3px 0 #FBEADD; }

#fv .text .experience { margin-block-end: 0.75em; }
#fv .text .summary { margin-block-end: 3em; }
#fv .text .badge { width:calc(530vw / 19.2); border-radius: 0.25em; box-shadow: 0 0 5px rgba(192, 174, 161, 0.3); }
#fv .text .badge .ribon {
	inset:-0.8em 0 auto 0; margin-block-start: 0; margin-block-end: 0;
	background-image:url(../img/home/ribon_bg.png); background-size:100%; background-repeat:no-repeat; width:calc(300vw / 19.2); aspect-ratio: 300 / 60;
}
#fv .text .badge .list { list-style-type:none; margin: 0; padding: 2.5em 1.75em 1.25em 1.75em;}
#fv .text .badge .list li { align-items: center; padding: 0.55em 0 0.55em 0; }
#fv .text .badge .list li:first-of-type { border-bottom:dotted 1px #696A75; }

#fv .text .badge .list .square { width:calc(54vw / 19.2); aspect-ratio: 1 / 1; place-content:center; margin-right: 0.75em; }

#fv .text .fv_text_illust { width:calc(122vw / 19.2); aspect-ratio: 122 / 215; inset: auto calc(238vw / 19.2) 0 auto; z-index: 3;}



#fv .slide { position: absolute; inset: 0 0 0 auto; width:calc(1395vw / 19.2); aspect-ratio:1395 / 930; opacity: 0; transition: opacity 1s ease; }
#fv .slide.active { opacity: 1; z-index: 1; }

.contact_cv {
	padding:3em 0 5em 0;
	background-image:url(../img/contact_cv_bg.webp); background-size:cover;
}
.contact_cv .contact_cv_tip { width: max-content; margin-block-end: 0; }
.contact_cv .contact_cv_tip::before { content:"／"; color:#FFFFFF; font-size:calc(24vw / 19.2); position:absolute; inset:0 auto 0 -1.5em; transform: rotateX(180deg); }
.contact_cv .contact_cv_tip::after { content:"／"; color:#FFFFFF; font-size:calc(24vw / 19.2); position:absolute; inset:0 -1.25em 0 auto; }


.contact_cv .contact_cv_ttl { margin-block-start: 0; }
.contact_cv .btn_box {   }
.contact_cv .btn_box .btn {
	text-align: center; padding: 1.5em 0 0 calc(140vw / 19.2); box-shadow: 0 0 5px rgba(64, 51, 41, 0.4); background-size:calc(195vw / 19.2); background-position:left top; background-repeat:no-repeat;
	width:calc(650vw / 19.2); height:calc(149vw / 19.2); background-color: #FFFFFF; border-radius: 0.5em; overflow: hidden;
}
.contact_cv .btn_box .line_btn { background-image:url(../img/contact_cv_line_bg.webp); }
.contact_cv .btn_box .email_btn { background-image:url(../img/contact_cv_email_bg.webp); background-size:calc(195vw / 19.2); }
.contact_cv .btn_box .tel_btn { background-image:url(../img/contact_cv_tel_bg.webp); background-size:calc(195vw / 19.2); }

.contact_cv .btn_box .btn .time { display:block; }
.contact_cv .btn_box .btn .time i { margin-right:0.3em; }
.contact_cv .btn_box .btn .text {   }

.contact_cv .btn_box .btn .triangle { inset:auto 0 0 auto; width:calc(60vw / 19.2); aspect-ratio: 1 / 1; clip-path: polygon(100% 0, 0% 100%, 100% 100%); }
.contact_cv .btn_box .btn .triangle i { margin: 2em 0 0 2em; }


.contact_cv .bottom_contact_illust { width:calc(330vw / 19.2); aspect-ratio: 330 / 366; inset:-8.5em auto auto 8em; }
.contact_cv .summary { margin-block-start:3em; margin-block-end:3em; }





.investigation_menu { background:linear-gradient(to top,#FDF4ED 0,#FFFFFF 100%); }
.investigation_menu_wrapper { padding:5em 0 4em 0; border-bottom-left-radius:5em; }

.investigation_menu .content { margin-block-start: 6em; }

.investigation_menu .box { width:calc(640vw / 19.2); }
.investigation_menu .box .thumb { display: block; border-radius: 0.5em; width:100%; overflow:hidden; aspect-ratio: 640 / 400;}
.investigation_menu .box .thumb .cover { transition: transform 0.4s ease; }

.investigation_menu .box .text { width:calc(550vw / 19.2); border-top-right-radius:0.5em; position: relative; inset: -4em 0 0 0; padding: 1em; }
.investigation_menu .box .text .anchor .icon { width:calc(48vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; margin-right: 0.75em; }


.investigation_menu .box .text .page_ttl { padding-bottom: 1em; border-bottom: dashed 1px #696A75; }
.investigation_menu .box .text .page_ttl .icon { width:calc(48vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; }

.investigation_menu .box .thumb .cover:hover { transform:scale(1.04); }
.investigation_menu .box:has(.page_ttl:hover) .thumb .cover { transform:scale(1.04); }

.investigation_menu .box .text { --corner: calc(8vw / 19.2); }

.investigation_menu .box .text::before,
.investigation_menu .box .text::after {
	content:""; position:absolute; width: var(--corner); height: var(--corner);
	border-bottom-left-radius: var(--corner); background: transparent; box-shadow: calc(var(--corner) * -1) var(--corner) 0 var(--corner) #FFFFFF;
	
	@supports (corner-shape: scoop) {
		background: #FFFFFF; border-bottom-left-radius: 0; border-top-right-radius: var(--corner);
		corner-shape: scoop; box-shadow: none;
	}
	
}

.investigation_menu .box .text::before { inset:calc(var(--corner) * -1) auto auto 0; }
.investigation_menu .box .text::after { inset:3.6em calc(var(--corner) * -1) auto auto; }


#top_reason { padding:6em 0 4em 0; background:linear-gradient(to bottom,#FDF4ED 0,#FFFFFF 100%); border-top-right-radius:4em; }

#top_reason .thumb { width:calc(1180vw / 19.2); aspect-ratio: 118 / 93; z-index:0; }
#top_reason .text { width:calc(770vw / 19.2); inset: 10.5em auto auto calc(940vw / 19.2); border-radius: 1.275em; padding: 4em; }

#top_reason .circle { width:calc(170vw / 19.2); aspect-ratio: 1 / 1; place-content: center; text-align: center; inset: -1em auto auto -1em; }
#top_reason .reason_illust { width:calc(150vw / 19.2); aspect-ratio: 150 / 197; inset: -4em 1em auto auto;}


#top_reason .text .box { align-items: stretch; padding: 1em 0 1em 0; border-bottom: dashed 1px #696A75; }
#top_reason .text .box:last-of-type { border-bottom:none; }

#top_reason .text .box .number { width: 7em; padding: 0.5em 0 0.5em 0; border-right:solid 1px #696A75; }
#top_reason .text .box .number .slug { display:block; }
#top_reason .text .box .number .num { line-height: 1.2; }
#top_reason .text .box dl { width:calc(470vw / 19.2); margin: 0; }
#top_reason .text .box dl dt {  }
#top_reason .text .box dl dd { margin:0; }

#top_reason .link_box { margin-block-start: 3em; }

#top_reason .link_box .more { margin:1em; }


#top_lawyer {
	padding:4em 0 4em 0; background-image:url(../img/home/lawyer_bg.webp); background-size:cover;
}

#top_lawyer .thumb { width:calc(380vw / 19.2); aspect-ratio: 38 / 34; box-shadow:0 0 5px rgba(64, 51, 41,0.4); }
#top_lawyer .thumb .circle { width:calc(110vw / 19.2); aspect-ratio: 1 / 1; place-content:center; text-align:center; inset:-1em auto auto -1.5em; }

#top_lawyer .text { width:calc(990vw / 19.2); }

#top_lawyer .text .tip { display:block; width:max-content; padding: 0.2em 1.25em 0.2em 1.25em; border-radius:50vmax; }
#top_lawyer .text .tip::after {
	content:""; position:absolute; inset:auto 0 calc(-19vw / 19.2) 0; margin:auto; background:#FFFFFF; width:calc(16vw / 19.2); height:calc(20vw / 19.2); clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

#top_lawyer .text dl { margin-block-start: 2em; }
#top_lawyer .text dl dt {  }
#top_lawyer .text dl dd { margin:0; padding:0.75em 0 0 0; }
#top_lawyer .text dl dd .text_right { margin-block-start:1.75em; }


#top_voice { background: linear-gradient(to top, #FDF4ED 0, #FFFFFF 100%); overflow:hidden; }
#top_voice .top_voice_wrapper {padding: 6em 0 6em 0; border-bottom-right-radius: 5em; }

#top_voice .ttl i { transform: scale(-1, 1); }

#top_voice .voice_bg_top_left { width:calc(470vw / 19.2); inset:calc(-270vw / 19.2) auto auto 0; }
#top_voice .voice_bg_bottom_right { width:calc(430vw / 19.2); inset: auto 0 calc(-270vw / 19.2) auto; }
		
#top_voice .content { align-items: stretch; margin-block-start:5em; margin-block-end:3em; }
#top_voice .content .box { width:calc(350vw / 19.2); border:solid 1px #E2E0DC; border-radius:0.5em; padding: 1.75em 1.75em 0.75em 1.75em; }
#top_voice .content .box .voice_content_header { align-items: center; margin-block-end:1em; }
#top_voice .content .box .voice_content_header .circle{ width:calc(55vw / 19.2); aspect-ratio: 1 / 1; place-content:center; margin-right: 1em; }
#top_voice .content .box .voice_content_header .user_detail .user { line-height: 1.5; }

#top_voice .link_box { margin-block-start:3em; }


#top_case_study { padding:6em 0 4em 0; background:linear-gradient(to bottom,#FDF4ED 0,#FFFFFF 100%); border-top-left-radius:4em; overflow:hidden; }

#top_case_study .top_case_study_header { align-items: center; margin-block-end: 4em; }
#top_case_study .top_case_study_header .ttl { width:calc(310vw / 19.2); }
#top_case_study .top_case_study_header .ttl .lens_bg { width:calc(280vw / 19.2); aspect-ratio: 1 / 1; inset:-3em 9em auto auto; }

#top_case_study .top_case_study_header .text { width:calc(990vw / 19.2); }

#top_case_study .content { align-items: stretch; }
#top_case_study .content .box { display: flex; flex-direction: column; overflow: hidden; width:calc(450vw / 19.2); margin-block-end: 2em; border:solid 1px #E2E0DC; border-radius:0.5em; }
#top_case_study .content .box .thumb { display: block; width: 100%; overflow: hidden; aspect-ratio: 450 / 258; border-top-right-radius:0.5em; border-top-left-radius:0.5em; }

#top_case_study .content .box .detail { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding:1em 1.25em 1.25em 1.25em; }
#top_case_study .content .box .detail .cat { display:inline-block; padding:0.1em 0.5em 0.1em 0.5em; border-radius:0.5em; }
#top_case_study .content .box .detail .cat i { margin-right:0.3em; }
#top_case_study .content .box .detail .post_content {  }
#top_case_study .content .box .detail .view_more { align-self: flex-end; align-items: center; margin-block-start: auto; padding-block-start: 1em; }
#top_case_study .content .box .detail .view_more .icon { width:calc(30vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; margin-left:1em; }

#top_case_study .link_box { margin-block-start:3em; }




#top_message { padding:6em 0 4em 0; }
#top_message .top_message_wrapper { border-radius:1.25em; padding: 1em 0 3em 0; }
#top_message .top_message_wrapper .ttl { inset:-3.75em 0 auto 0; margin: auto; }
#top_message .top_message_wrapper .ttl .icon {
	display:inline-block; background:linear-gradient(to left,#FF9A41 0,#E8651A 100%); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
}
#top_message .top_message_wrapper .ttl .en { background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }


#top_message .top_message_wrapper .content { }
#top_message .top_message_wrapper .content .thumb { width:calc(380vw / 19.2); aspect-ratio: 38 / 34; }
#top_message .top_message_wrapper .content .thumb .circle { width:calc(110vw / 19.2); aspect-ratio: 1 / 1; place-content:center; text-align:center; inset:-1em auto auto -1.5em; }

#top_message .top_message_wrapper .content .text { width:calc(990vw / 19.2); }
#top_message .top_message_wrapper .content .text dt {  }
#top_message .top_message_wrapper .content .text dd { margin:0; padding:0.75em 0 0 0; }
#top_message .top_message_wrapper .content .text dd .text_right { margin-block-start:1.75em; }




#top_company { padding:6em 0 5em 0; overflow:hidden; }

#top_company .content {  }
#top_company .content .thumb { width:calc(560vw / 19.2); aspect-ratio: 560 / 446; }
#top_company .content .text { width:calc(790vw / 19.2); }
#top_company .content .text .top_company_ttl { margin-block-start: 0; margin-block-end: 2em; }
#top_company .content .text .top_company_ttl .slug { display:block; width:max-content; text-box: trim-both cap alphabetic; padding:0.5em; border-radius:0.5em; margin-block-end: 0.5em; }

#top_company .content .text .box {  }
#top_company .content .text .box dt { width:10em; }
#top_company .content .text .box dt .flex { align-items:center; }
#top_company .content .text .box dt .flex i { margin-right:0.6em; text-box: trim-both cap alphabetic; }


#top_company .company_illust { width:calc(158vw / 19.2); aspect-ratio: 158 / 249; inset:auto -4em -3em auto; }

#top_company .link_box { margin-block-start: 3em; }
#top_company .link_box .more { margin:1em; }



#top_step {
	padding:3em 0 4em 0;
	background-image:url(../img/home/step_bg.webp); background-size:cover;
}


#top_step .top_step_ttl {  }
#top_step .top_step_ttl .tip { display:block; width: max-content; margin-block-end: 0; }
#top_step .top_step_ttl .tip::before { content:"／"; color:#FFFFFF; font-size:calc(24vw / 19.2); position:absolute; inset:0 auto 0 -1.5em; transform: rotateX(180deg); }
#top_step .top_step_ttl .tip::after { content:"／"; color:#FFFFFF; font-size:calc(24vw / 19.2); position:absolute; inset:0 -1.25em 0 auto; }

#top_step .content { margin-block-start: 3em; }

#top_step .content .box { margin: 0; width:calc(450vw / 19.2); border-radius:0.5em; }
#top_step .content .box .thumb { width:calc(450vw / 19.2); aspect-ratio: 45 / 25; border-top-left-radius: 0.5em; border-top-right-radius: 0.5em; }
#top_step .content .box .thumb .circle { inset: -1em auto auto -1.25em; width:calc(90vw / 19.2); aspect-ratio: 1 / 1; place-content: center; justify-items: center; text-align: center; }
#top_step .content .box .thumb .circle .slug { line-height:1; }
#top_step .content .box .thumb .circle .num { line-height:1.1; }

#top_step .content .box .text { padding:0 1.25em 1em 1.25em; }
#top_step .content .box .text dl {  }
#top_step .content .box .text dl dt { padding: 0 0 0.5em 0; }
#top_step .content .box .text dl dd { margin:0; }




.investigation_area { padding:6.5em 0 4em 0; background:linear-gradient(to bottom,#FDF4ED 0,#FFFFFF 100%); }

.investigation_area .thumb { width:calc(1180vw / 19.2); aspect-ratio: 118 / 75; z-index:0; border-radius:0.5em; }
.investigation_area .text { width:calc(770vw / 19.2); inset: 10.5em calc(940vw / 19.2) auto auto; border-radius: 1.275em; padding: 4em; }

.investigation_area .circle { width:calc(170vw / 19.2); aspect-ratio: 1 / 1; place-content: center; text-align: center; inset: -1em auto auto -1em; }
.investigation_area .area_illust { width:calc(206vw / 19.2); aspect-ratio: 206 / 237; inset: auto auto -10em -3em; }


.investigation_area .text .summary { margin-block-start:5em; }

.investigation_area .area_list { list-style-type:none; padding: 0; margin-block-start:2em; }
.investigation_area .area_list li { display:inline-block; width:6.5em; margin-right: 0.15em; margin-block-end: 0.4em; }
.investigation_area .area_list li.area_all { display:inline-block; width:8em; }

.investigation_area .area_list li a { display:flex; justify-content:center; align-items:center; padding: 0.2em 0.4em 0.2em 0.4em; border-radius: 0.3em; }
.investigation_area .area_list li a i { margin-right:0.3em; text-box: trim-both cap alphabetic; }

.investigation_area .area_list li.area_all em { display:flex; justify-content:center; align-items:center; padding: 0.25em 0.4em 0.25em 0.4em; border-radius: 0.3em; }
.investigation_area .area_list li.area_all em i { margin-right:0.3em; text-box: trim-both cap alphabetic; }



.top_column_blog { padding:4em 0 4em 0; }
.top_column_blog .top_column_blog_wrapper { padding: 0 0 2em 0; border-radius:1em; }
.top_column_blog .top_column_blog_wrapper > .low_inner { align-items: stretch; }


.top_column_blog #top_column { display: flex; flex-direction: column; width:calc(690vw / 19.2); padding: 4em 0 4em 0; }
.top_column_blog #top_blog { display: flex; flex-direction: column; width:calc(690vw / 19.2); padding: 4em 0 4em 0; }

.top_column_blog blockquote { flex: 1; display: flex; flex-direction: column; border-radius:0.5em; margin: 4em 0 0 0; padding:0.75em 2em 2em 2em; }




.top_column_blog #top_column .box { border-bottom:dotted 1px #696A75; margin-block-start: 1.25em; padding-bottom:0.25em;}
.top_column_blog #top_blog .box { border-bottom:dotted 1px #696A75; padding: 1.375em 0 1.375em 0; }

.top_column_blog #top_column .box .cat,
.top_column_blog #top_column .box .tag { display:inline-block; padding:0.1em 0.3em 0.1em 0.3em; border-radius:0.3em; margin-right:0.5em; }
.top_column_blog #top_column .box .cat i,
.top_column_blog #top_column .box .tag i { margin-right:0.3em; }

.top_column_blog #top_blog .box .thumb { display: block; flex-shrink: 0; overflow: hidden; width:calc(180vw / 19.2); aspect-ratio: 1 / 1; }
.top_column_blog #top_blog .box .text { width:calc(400vw / 19.2); margin: 0; }
.top_column_blog #top_blog .box .text dt {  }
.top_column_blog #top_blog .box .text dt time i { margin-right:0.3em; }
.top_column_blog #top_blog .box .text dt .posts_ttl { display:block; }
.top_column_blog #top_blog .box .text dd { padding: 0.5em 0 0 0; margin:0; }

.top_column_blog .view_more { align-self: flex-end; align-items: center; margin-block-start: auto; padding-block-start: 1em; }
.top_column_blog .view_more .icon { width:calc(30vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; margin-left:1em; }




#top_consultation { padding:4em 0 5em 0; background-image:url(../img/home/consultation_bg.webp); background-position:right bottom; background-size:calc(690vw / 19.2); background-repeat:no-repeat; }


#top_consultation .consultation_illust { width:calc(200vw / 19.2); aspect-ratio: 200 / 232; inset:-6.5em 8em auto auto; }

#top_consultation .content { align-items: stretch; margin-block-start: 5em; margin-block-end: 3em; }
#top_consultation .content .box { display: flex; flex-direction: column; width:calc(450vw / 19.2); border:solid 1px #E2E0DC; border-radius:0.5em; padding:1em 1.25em 1.25em 1.25em; }
#top_consultation .content .box .cat { display:inline-block; inset:0 0 auto auto; padding:0.25em 0.9em 0.25em 0.9em; line-height:1.6; border-top-right-radius:0.5em; border-bottom-left-radius:0.5em; }
#top_consultation .content .box .cat i { margin-right:0.3em; }
#top_consultation .content .box time {  }
#top_consultation .content .box time i {  }
#top_consultation .content .box .posts_ttl { margin-block-start: 0.5em; height: 3.5em; }
#top_consultation .content .box .posts_contents {  }
#top_consultation .content .box .author {  }
#top_consultation .content .box .view_more { align-self: flex-end; align-items: center; margin-block-start: auto; padding-block-start: 1em; }
#top_consultation .content .box .view_more .icon { width:calc(30vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.4em; margin-left:1em; }

/**** end home *********************************/

/**** 調査項目 *********************************/

.investigation_items_hero { background: linear-gradient(to top, #FDF4ED 0, #FFFFFF 100%); overflow: hidden; }
.investigation_items_hero_wrapper { padding:5em 0 5em 0; border-bottom-right-radius: 5em; }

.investigation_items_hero .thumb { width: calc(1180vw / 19.2); aspect-ratio: 118 / 93; z-index: 0; border-radius:1em; overflow: hidden; }
.investigation_items_hero .text { width: calc(770vw / 19.2); inset: 10.5em auto auto calc(940vw / 19.2); border-radius: 1.275em; padding: 4em; box-shadow: 0 0 6px rgba(64, 51, 41, 0.1); }
.investigation_items_hero .circle { width: calc(170vw / 19.2); aspect-ratio: 1 / 1; place-content: center; text-align: center; inset: -1em auto auto -1em; }

.investigation_items_hero .bg_bottom_right { width: calc(430vw / 19.2); inset: auto 0 calc(-270vw / 19.2) auto; }


.investigation_price { padding: 6em 0 4em 0; border-top-left-radius: 4em; overflow: hidden; }


.investigation_price .tab_menu { gap: 0.5em; margin-block-end: 6em; }
.investigation_price .tab_menu .btn { display:grid; place-content:center; width: calc(320vw / 19.2); height: calc(70vw / 19.2); border-radius:0.5em; }

.investigation_price .tab_menu .btn i { inset: 0 0.5em 0 auto; display: flex; align-items: center; }




.investigation_price .ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.investigation_price .ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }

.investigation_price_illust { inset: -2em -11em auto auto; width:calc(136vw / 19.2); aspect-ratio: 136 / 210; }


.investigation_price .content { border-radius: 0.5em; border: solid 1px #696A75; }
.investigation_price .content header { padding: 0.5em 0 0.5em 0; border-top-left-radius: 0.5em; border-top-right-radius: 0.5em; }
.investigation_price .content .tiny_inner { width: calc(1170vw / 19.2); margin:1em auto 1em auto; }
.investigation_price .content .detail { padding: 1.75em 0 1.75em 0; border-bottom-left-radius: 0.5em; border-bottom-right-radius: 0.5em; }
.investigation_price .content .detail .detail_ttl { width: max-content; }
.investigation_price .content .detail .detail_ttl dt { width: max-content; padding-right:1em; }
.investigation_price .content .detail .detail_ttl dd {  }
.investigation_price .content .detail .price_table { width: 100%; border-collapse: collapse; }
.investigation_price .content .detail .price_table th { width: 34%; padding: 0.5em 0 0.5em 0; border: solid 1px #696A75; }
.investigation_price .content .detail .price_table td { padding-left: 2em;; border: solid 1px #696A75; padding: 0.75em 2em 0.75em 2em; }


.investigation_price .content .detail .indent { margin: 0 0 0 1em; }

.investigation_price .content .detail .notice { margin-block-start:2em; }

.investigation_price .link_box { margin-block-start:3em; }
.investigation_price .content + .content { margin-block-start: 5em; }
.investigation_price .content .detail .lead { margin: 0 0 2.2em 0; }
.investigation_price .content .detail .check_items { align-items: stretch; gap: 0 calc(10vw / 19.2); margin: 0 0 2.2em 0; }
.investigation_price .content .detail .check_items dl { width: calc(580vw / 19.2); margin: 0; padding: 2.2em calc(40vw / 19.2); border-radius: 0.45em; }
.investigation_price .content .detail .check_items dt { margin: 0 0 0.6em 0; line-height: 1.8; }
.investigation_price .content .detail .check_items dt i { margin-right: 0.6em; }
.investigation_price .content .detail .check_items dd { margin: 0; line-height: 1.8; }
/* price */
.price_list .content .detail { padding: 3.6em 0 3.3em 0; }
.price_list .content .tiny_inner { margin: 0 auto; }
.price_list .content .detail .price_thumb { width: 100%; aspect-ratio: 1170 / 660; margin: 0 0 2.8em 0; border-radius: 1.1em; overflow: hidden; }
.price_list .content .detail .sub_content + .sub_content { margin-block-start: 3.3em; }
.price_list .content .detail .sub_label { margin: 0 0 2.3em 0; padding: 0.7em 0; line-height: 1.4; letter-spacing: 0.05em; }
.price_list .content .detail .sub_label::after { content: ""; position: absolute; inset: calc(100% - 1px) 0 auto 0; margin: auto; width: calc(22vw / 19.2); height: calc(18vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #463F38; }
.price_list .content .detail .price_link { margin-block-start: 3.3em; padding-block-start: 2.4em; border-top: solid 1px #696A75; }
.price_list .content .detail .price_link a.more { width: auto; height: auto; margin: 0; padding: 0; gap: 0 0.8em; border: none; background: none; }



.investigation_case { padding:7em 6em; background-image:url(../img/investigation_case_bg.webp); background-size:cover; }

.investigation_case .ttl.center { margin: 1em auto 5.5em auto;}
.investigation_case .ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.investigation_case .ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }

.investigation_case_illust { inset: 1em auto auto -11em; width:calc(155vw / 19.2); aspect-ratio: 155 / 139; }


.investigation_case .tiny_inner { width: calc(1130vw / 19.2); }

.investigation_case .box { margin-block-start: 2em; padding: 5.5em 0 4em 0; border-radius:1em; }
.investigation_case .box .case_num { display: inline-block; text-box: trim-both cap alphabetic; width: max-content; inset:0 auto auto 0; padding:0.7em 0.75em 0.7em 0.5em; }
.investigation_case .box .case_num i { margin-right:0.3em; }

.investigation_case .box header { border-bottom:solid 1px #696A75; padding: 0 0 2em 0; }
.investigation_case .box header .text { width:calc(640vw / 19.2); }
.investigation_case .box header .text .case_ttl { position: relative; margin-block-start: 0; padding: 0.1em 0 0.1em 1em; }
.investigation_case .box header .text .case_ttl::before { content: ""; position: absolute; inset: 0; width: 4px; height: 100%; background: linear-gradient(to bottom, #E8651A 0, #FF9A41 100%); }
.investigation_case .box header .text .description { margin: 1.5em 0 1.5em 0; }
.investigation_case .box header .text .profile { padding: 0 0 0 2em; }
.investigation_case .box header .text .profile li {  }

.investigation_case .box header .thumb { position: relative; width:calc(420vw / 19.2); aspect-ratio: 42 / 30; margin: 0; }
.investigation_case .box header .thumb figcaption { inset: auto auto calc(10vw / 19.2) calc(15vw / 19.2); z-index: 1; line-height: 1.2; color:rgba(255,255,255,0.8); }

.investigation_case .box .content { padding: 2em 0 0 0; }

.investigation_case .box .content .data { margin: 0 0 0.5em 0; }
.investigation_case .box .content .data dt { width: 12em;  padding: 1em 0 1em 0; text-align: center; vertical-align: middle; }
.investigation_case .box .content .data dd { margin: 0; padding: 1.5em; }


.investigation_case .box .end_case_num { inset:auto 0.5em 0 auto; }
.investigation_case .link_box { margin-block-start: 4.45em; }



.investigation_cheating { padding:5em 0 4.5em 0; }
.investigation_resolve { padding:1em 0 7.8em 0; }

.investigation_cheating .ttl .tip,
.investigation_resolve .ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.investigation_cheating .ttl .tip::after,
.investigation_resolve .ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }

.investigation_cheating_illust { inset: 0 5em auto auto; width:calc(158vw / 19.2); aspect-ratio: 158 / 249; }
.investigation_resolve_illust { inset: calc(-50vw / 19.2) auto auto calc(150vw / 19.2); width: calc(206vw / 19.2); aspect-ratio: 206 / 237; }


/* box */
.investigation_cheating .box,
.investigation_resolve .box { border-radius: 1em; padding: 6em 0 6em 0; }
.investigation_cheating .box + .box,
.investigation_resolve .box + .box { margin-block-start: 4.5em; }

.investigation_cheating .box_header,
.investigation_resolve .box_header { border-bottom: solid 2px #FF9A41; padding: 0 0 2.75em 0; }
.investigation_cheating .box_header .low_inner,
.investigation_resolve .box_header .low_inner { align-items: flex-start; gap: 0 calc(40vw / 19.2); }
.investigation_cheating .box_header .num,
.investigation_resolve .box_header .num { width: 1.82em; height: 1.95em; place-content: center; line-height: 1; }
.investigation_cheating .box_header .box_header_text .corp,
.investigation_resolve .box_header .box_header_text .corp { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.55em 0.6em; }
.investigation_cheating .box_header .box_header_text .box_ttl,
.investigation_resolve .box_header .box_header_text .box_ttl { display:block; margin-block-start: 0.3em; letter-spacing: 0.1em; line-height: 1.4; }
.investigation_cheating .box_header_arrow,
.investigation_resolve .box_header_arrow { inset: 0 0 auto auto; width:calc(160vw / 19.2); aspect-ratio: 164 / 130; }

.investigation_body { padding-block-start: 5.8em; }
.investigation_body p { margin: 0 0 0.9em 0; }
.investigation_body > :last-child,
.investigation_body .text > :last-child { margin-block-end: 0; }


/* headings */
.investigation_body .box_sub_ttl { position: relative; margin: 4.5em 0 1.7em 0; padding: 0.85em 1em; line-height: 1.4; letter-spacing: 0.05em; }
.investigation_body .box_sub_ttl::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(to bottom, #E8651A 0, #FF9A41 100%); }
.investigation_body > .box_sub_ttl:first-child { margin-block-start: 0; }

.investigation_body .investigation_block_ttl { margin: 4.6em 0 1.15em 0; padding: 0.36em calc(40vw / 19.2); border-radius: calc(40vw / 19.2) 0 0 0; line-height: 1.8; letter-spacing: 0.08em; }
.investigation_body > .investigation_block_ttl:first-child { margin-block-start: 0; }

.investigation_lead { border: solid 1px #9A9A9A; border-radius: 0.35em; padding: 1.6em 2.2em 1.7em 2.2em; }
.investigation_lead_ttl { margin: 0 0 0.6em 0 !important; letter-spacing: 0.05em; }
.investigation_lead_ttl i { display: inline-block; margin-right: 0.4em; transform: scale(-1, 1); }


/* 2 columns */
.investigation_cols { margin-block-start: 1.7em; }
.investigation_cols .text { width: calc(680vw / 19.2); }
.investigation_cols .thumb { width: calc(680vw / 19.2); aspect-ratio: 68 / 44; }
.box_sub_ttl + .investigation_cols { margin-block-start: 0; }
.investigation_cols + .investigation_cols { margin-block-start: 3.3em; }

.investigation_body .thumb { position: relative; margin: 0; border-radius: 0.35em; overflow: hidden; }
.investigation_message .thumb { aspect-ratio: 680 / 600; }
.investigation_check .investigation_cols .thumb { aspect-ratio: 680 / 550; }
.investigation_body .thumb img { display: block; }
.investigation_body .thumb figcaption { inset: auto auto 0.35em 0.55em; color: rgba(255,255,255,0.85); line-height: 1.2; z-index: 1; }


/* lists */
.investigation_num_list { list-style: none; counter-reset: inv_num; padding: 0; margin: 1.3em 0 1.3em 0; }
.investigation_num_list li { counter-increment: inv_num; position: relative; padding-left: calc(38vw / 19.2); font-weight: 600; line-height: 1.7; }
.investigation_num_list li + li { margin-block-start: 0.35em; }
.investigation_num_list li::before { content: counter(inv_num); position: absolute; inset: calc(1.7em / 2 - 14vw / 19.2) auto auto 0; width: calc(28vw / 19.2); height: calc(28vw / 19.2); border-radius: 50%; background-color: #463F38; color: #fff; font-size: 1em; font-weight: 600; line-height: calc(28vw / 19.2); text-align: center; font-family: 'Open Sans', sans-serif; }

.investigation_check_list { list-style: none; padding: 0; margin: 1.4em 0 1.4em 0; }
.investigation_check_list li { position: relative; padding-left: 1.4em; line-height: 1.75; }
.investigation_check_list li + li { margin-block-start: 1em; }
.investigation_check_list li::before { content: ""; position: absolute; inset: 0.35em auto auto 0; width: 0.9em; height: 0.9em; border-radius: 0.1em; background-color: #E8651A; }
.investigation_check_list li::after { content: ""; position: absolute; inset: 0.5em auto auto 0.25em; width: 0.3em; height: 0.45em; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }

.investigation_dot_list { list-style: none; padding: 0; margin: 0; }
.investigation_dot_list li { position: relative; padding-left: 1.2em; line-height: 1.7; }
.investigation_dot_list li + li { margin-block-start: 0.6em; }
.investigation_dot_list li::before,
.investigation_points dt::before { content: ""; position: absolute; inset: 0.45em auto auto 0; width: 0.8em; height: 0.8em; border-radius: 50%; background-color: #E8651A; }


/* note (gray) */
.investigation_note { margin: 2em 0 0 0; padding: 1.8em 2.2em; border-radius: 0.35em; }
.investigation_note dt { margin: 0 0 0.5em 0; letter-spacing: 0.05em; }
.investigation_note dt i { margin-right: 0.4em; }
.investigation_note dd { margin: 0; line-height: 1.8; }
.investigation_note dd + dt { margin-block-start: 1.3em; }


/* check point */
.investigation_check + .investigation_check { margin-block-start: 5.5em; }
.investigation_check_head { align-items: center; gap: 0 1em; margin: 0 0 1.65em 0 !important; padding-bottom: 1.4em; border-bottom: solid 1px #9A9A9A; }
.investigation_check_head .badge { display: grid; place-content: center; width: calc(72vw / 19.2); aspect-ratio: 1 / 1; background-color: #7A5E4E; border-radius: 0.13em; line-height: 1; text-align: center; }
.investigation_check_head .badge small { display: block; font-size: 0.45em; margin-bottom: 0.15em; }
.investigation_check_head strong { letter-spacing: 0.05em; line-height: 1.4; }

.investigation_measure { margin: 1.5em 0 0 0; padding: 3.4em 2.2em 2em 2.2em; border-radius: 0.35em; background-color: #FDF4ED; }
.investigation_measure_ttl { background-color: #E8651A; inset: -0.8em auto auto 2.4em; margin: 0 !important; padding: 0.6em 1.9em; line-height: 1.4; letter-spacing: 0.05em; }
.investigation_measure_ttl i { margin-right: 0.45em; }
.investigation_measure_ttl::after { content: ""; position: absolute; inset: calc(100% - 1px) 0 auto 0; margin: auto; width: 0.7em; height: 0.45em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }


/* numbered steps with small photo */
.investigation_intro { margin-block-start: 0 !important; }
.investigation_steps { list-style: none; counter-reset: inv_step; padding: 0; margin: 2.5em 0 0 0; }
.investigation_steps > li { counter-increment: inv_step; }
.investigation_steps > li + li { margin-block-start: 1.4em; padding-block-start: 2.6em; border-top: dotted 1px #9A9A9A; }
.investigation_steps > li:not(:last-child) { padding-block-end: 1.4em; }
.investigation_steps .text { width: calc(935vw / 19.2); }
.investigation_steps .thumb { width: calc(420vw / 19.2); aspect-ratio: 42 / 27; }
.investigation_steps_ttl { position: relative; padding-left: calc(38vw / 19.2); margin-bottom: 1.2em !important; }
.investigation_steps_ttl::before { content: counter(inv_step); position: absolute; inset: calc(1.8em / 2 - 14vw / 19.2) auto auto 0; width: calc(28vw / 19.2); height: calc(28vw / 19.2); border-radius: 50%; background-color: #463F38; color: #fff; font-size: 1em; font-weight: 600; line-height: calc(28vw / 19.2); text-align: center; font-family: 'Open Sans', sans-serif; }
.investigation_steps > li > .clearfix + p { margin-block-start: 2.4em; }
.investigation_steps .investigation_note { margin-block-start: 1.8em; }


/* report */
.investigation_report .text { width: calc(710vw / 19.2); }
.investigation_report .thumb { width: calc(570vw / 19.2); aspect-ratio: 570 / 400; }
.investigation_principle { margin: 2.4em 0 1.6em 0; padding: 2.8em 2.2em 1.8em 2.2em; background-color: #F7F7F7; }
.investigation_principle .investigation_measure_ttl { background-color: #E8651A; inset: -0.9em auto auto 1.9em; }

.investigation_points { margin: 0; }
.investigation_points dt { position: relative; padding-left: 1.2em; margin: 0 0 0.8em 0; }
.investigation_points dd { margin: 0; line-height: 1.8; }
.investigation_points dd + dt { margin-block-start: 1.9em; }
.investigation_body .box_sub_ttl + .investigation_points { margin-block-start: 2.6em; }


/* advisor */
.investigation_advisor { margin: 3.4em 0 0 0; padding: 3.2em 3.2em 3.2em 6.5em; border-radius: 0.35em; justify-content: flex-start; align-items: flex-start; gap: 0 calc(92vw / 19.2); }
.investigation_advisor_photo { width: calc(430vw / 19.2); margin: 0; }
.investigation_advisor_photo .photo { aspect-ratio: 430 / 330; overflow: hidden; place-content: center; background-color: #BDBDBD; border-radius: 0.35em; line-height: 1.5; }
.investigation_advisor_photo figcaption { margin-block-start: 1.1em; letter-spacing: 0.05em; }
.investigation_advisor_text { padding-block-start: 0.8em; }
.investigation_advisor_guide { margin: 2.4em 0 0.6em 0 !important; }
.investigation_advisor_guide i { margin-right: 0.4em; }


.investigation_resolve { border-bottom-right-radius: calc(80vw / 19.2); }

.investigation_investigative { background-color: #FDF4ED; overflow: hidden; }
.investigation_investigative_wrapper { padding: 4.7em 0 7.8em 0; border-bottom-left-radius: calc(80vw / 19.2); }
.investigation_investigative .bg_top_left { width: calc(470vw / 19.2); inset: calc(-270vw / 19.2) auto auto 0; }
.investigation_investigative .bg_bottom_right { width: calc(430vw / 19.2); inset: auto 0 calc(-270vw / 19.2) auto; }
.investigation_investigative .ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.investigation_investigative .ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }
.investigation_investigative_illust { inset: calc(-55vw / 19.2) auto auto calc(-198vw / 19.2); width: calc(168vw / 19.2); aspect-ratio: 170 / 218; }
.investigation_investigative .content { align-items: stretch; }
.investigation_investigative .content .box { display: flex; flex-direction: column; width: calc(450vw / 19.2); border: solid 1px #E2E0DC; border-radius: 0.5em; overflow: hidden; box-shadow: 0 0 12px rgba(64, 51, 41, 0.2); }
.investigation_investigative .content .box .thumb { display: block; width: 100%; aspect-ratio: 450 / 258; overflow: hidden; }
.investigation_investigative .content .box .detail { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 1.1em 1.65em 1.7em 1.65em; }
.investigation_investigative .content .box .detail .cat { display: inline-block; padding: 0.15em 0.7em; border-radius: 0.3em; line-height: 1.6; }
.investigation_investigative .content .box .detail .cat i { margin-right: 0.3em; }
.investigation_investigative .content .box .detail .post_ttl { margin: 0.55em 0 0.8em 0; line-height: 1.6; }
.investigation_investigative .content .box .detail .post_ttl a { color: inherit; text-decoration: none; }
.investigation_investigative .content .box .detail .post_content { margin: 0; line-height: 1.6; }
.investigation_investigative .content .box .detail .view_more { align-self: flex-end; align-items: center; margin-block-start: auto; padding-block-start: 1em; color: inherit; text-decoration: none; }
.investigation_investigative .content .box .detail .view_more .icon { width: calc(26vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.25em; margin-left: 0.55em; }
.investigation_investigative .link_box { margin-block-start: 3.3em; }

/* 調査項目カード */
.investigation_items { justify-content: space-between; align-items: stretch; list-style: none; margin: 3.3em 0 0 0; padding: 0; }
.investigation_items > li { width: calc(460vw / 19.2); padding-bottom: 2em; border-radius: 0.45em; overflow: hidden; background-color: #F7F7F7; }
.investigation_body .investigation_items .thumb { width: 100%; aspect-ratio: 460 / 300; border-radius: 0; }
.investigation_body .investigation_items .thumb figcaption { inset: auto calc(20vw / 19.2) 0.35em auto; }
.investigation_items_ttl { position: relative; margin: 1.4em calc(30vw / 19.2) 1.4em calc(30vw / 19.2) !important; padding-left: calc(38vw / 19.2); line-height: 1.8; }
.investigation_items_ttl .num { position: absolute; inset: calc(1.8em / 2 - 14vw / 19.2) auto auto 0; width: calc(28vw / 19.2); height: calc(28vw / 19.2); border-radius: 50%; background-color: #E8651A; color: #FFFFFF; font-size: 0.9em; line-height: calc(28vw / 19.2); text-align: center; }
.investigation_items_list { list-style: none; margin: 0 calc(30vw / 19.2); padding: 0; }
.investigation_items_list li { position: relative; padding-left: calc(16vw / 19.2); line-height: 1.8; }
.investigation_items_list li + li { margin-block-start: 0.4em; }
.investigation_items_list li::before { content: ""; position: absolute; inset: calc(0.9em - 3px) auto auto 0; width: 6px; height: 6px; border-radius: 50%; background-color: #463F38; }
.investigation_items_note { margin: 3.3em 0 0 0 !important; }

.investigation_cheating .box_header .num,
.investigation_resolve .box_header .num,
.investigation_cheating .box_header .box_header_text .corp,
.investigation_resolve .box_header .box_header_text .corp,
.investigation_measure_ttl { border-radius: 0.25em; }

.investigation_items_hero .ttl.center { margin-bottom: 4.6em; }
.investigation_price .ttl.center,
.investigation_case .ttl.center,
.investigation_cheating .ttl.center,
.investigation_resolve .ttl.center,
.investigation_investigative .ttl.center { margin-bottom: 6.25em; }


.investigation_faq { padding: 5em 0 8em 0; background: linear-gradient(to bottom, #FDF4ED 0, #FFFFFF 100%); border-top-right-radius: calc(80vw / 19.2); }
.investigation_faq_illust { inset: 0 calc(-65vw / 19.2) auto auto; width: calc(200vw / 19.2); aspect-ratio: 200 / 232; }
.investigation_faq .ttl.center,
.investigation_faq p.ttl.center { margin: 1em auto 6.25em auto; }
.investigation_faq .ttl .tip,
.investigation_faq p.ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.investigation_faq .ttl .tip::after,
.investigation_faq p.ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }
.investigation_faq .faq_tabs { gap: 0 calc(10vw / 19.2); margin-block-end: 3.3em; }
.investigation_faq .faq_tabs .btn { display: grid; place-content: center; width: calc(320vw / 19.2); height: calc(70vw / 19.2); border-radius: 0.45em; background-color: #DDDDDD; color: #463F38; text-decoration: none; line-height: 1.4; }
.investigation_faq .faq_radio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.investigation_faq .faq_tabs .btn { cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; }
.investigation_faq:has(#faq_tab_all:checked) .faq_tabs .btn_all,
.investigation_faq:has(#faq_tab_cat:checked) .faq_tabs .btn_cat { background-color: #463F38; color: #FFFFFF; }
.investigation_faq:has(#faq_tab_all:checked) .faq_tabs .btn_all i,
.investigation_faq:has(#faq_tab_cat:checked) .faq_tabs .btn_cat i { color: #FFFFFF; }
.investigation_faq:has(#faq_tab_all:focus-visible) .faq_tabs .btn_all,
.investigation_faq:has(#faq_tab_cat:focus-visible) .faq_tabs .btn_cat { outline: 2px solid #E8651A; outline-offset: 2px; }
.investigation_faq .faq_panel { display: none; }
.investigation_faq:has(#faq_tab_all:checked) .faq_panel_all,
.investigation_faq:has(#faq_tab_cat:checked) .faq_panel_cat { display: block; }
.investigation_faq .faq_tabs .btn i { inset: auto 0 0.3em 0; margin: auto; width: max-content; color: #999999; line-height: 1; }
.investigation_faq .faq_cat_label { margin: 0 0 2.3em 0; padding: 0.6em 0; line-height: 1.4; letter-spacing: 0.05em; }
.investigation_faq .faq_cat_label::after { content: ""; position: absolute; inset: calc(100% - 1px) 0 auto 0; margin: auto; width: calc(22vw / 19.2); height: calc(18vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #463F38; }

.accordions { width: calc(1350vw / 19.2); margin: 0 auto; }
.accordions .list { margin: 0 0 1.1em 0; background-color: #FFFFFF; border: solid 1px #696A75; border-radius: 0.45em; box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); overflow: hidden; }
.accordions .list dt { padding: 1.8em calc(100vw / 19.2) 1.8em calc(100vw / 19.2); cursor: pointer; user-select: none; }
.accordions .list .q_icon,
.accordions .list .a_icon { width: calc(50vw / 19.2); aspect-ratio: 1 / 1; place-content: center; font-style: normal; font-weight: 500; line-height: 1; }
.accordions .list .q_icon i,
.accordions .list .a_icon i { display: inline-block; text-box: trim-both cap alphabetic; font-style: normal; }
.accordions .list .q_icon { inset: 0 auto 0 calc(30vw / 19.2); margin: auto; background-color: #E8651A; }
.accordions .list .a_icon { background-color: #FF9C41; }
.accordions .list dt .q_text { display: block; font-style: normal; line-height: 1.8; }
.accordions .list dt .toggle { width: calc(24vw / 19.2); aspect-ratio: 1 / 1; inset: 0 calc(30vw / 19.2) 0 auto; margin: auto; }
.accordions .list dt .toggle::before,
.accordions .list dt .toggle::after { content: ""; position: absolute; inset: 0; margin: auto; background-color: #492929; transition: transform 0.3s ease; }
.accordions .list dt .toggle::before { width: 100%; height: 2px; }
.accordions .list dt .toggle::after { width: 2px; height: 100%; }
.accordions .list.open dt .toggle::after { transform: scaleY(0); }
.accordions .list dd { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease; margin: 0; }
.accordions .list.open dd { grid-template-rows: 1fr; }
.accordions .list dd .a_wrap { min-height: 0; overflow: hidden; }
.accordions .list dd .a_inner { position: relative; min-height: calc(110vw / 19.2); margin: 0 calc(30vw / 19.2); padding: 2.15em calc(40vw / 19.2) 1.65em calc(70vw / 19.2); background: linear-gradient(to right, #696A75 50%, transparent 50%) top left / 4px 1px repeat-x; }
.accordions .list dd .a_inner .a_icon { inset: calc(30vw / 19.2) auto auto 0; }
.accordions .list dd .a_text { margin: 0; line-height: 1.8; }


/**** end 調査項目 ******************************/

/**** promise **********************************/

.promise_hero { background: linear-gradient(to top, #FDF4ED 0, #FFFFFF 100%); overflow: hidden; }
.promise_hero_wrapper { padding:5em 0 5em 0; border-bottom-right-radius: 5em; }

.promise_hero .thumb { width: calc(1180vw / 19.2); aspect-ratio: 118 / 93; z-index: 0; border-radius:1em; overflow: hidden; }
.promise_hero .text { width: calc(770vw / 19.2); inset: 10.5em auto auto calc(940vw / 19.2); border-radius: 1.275em; padding: 4em; box-shadow: 0 0 6px rgba(64, 51, 41, 0.1); }
.promise_hero .circle { width: calc(170vw / 19.2); aspect-ratio: 1 / 1; place-content: center; text-align: center; inset: -1em auto auto -1em; }

.promise_hero .bg_bottom_right { width: calc(430vw / 19.2); inset: auto 0 calc(-270vw / 19.2) auto; }

.promise_hero .hero_illust { inset: -3em 2em auto auto; width: calc(122vw / 19.2); aspect-ratio: 122 / 215; }




.promise_reason { border-top-left-radius: 4em; overflow: hidden; background: linear-gradient(to bottom, #FFFFFF 0, #FDF4ED 100%); }
.promise_reason_wrapper { padding: 6em 0 4em 0; border-bottom-left-radius: 4em; background: linear-gradient(to bottom, #FDF4ED 0, #FFFFFF 100%); }




.promise_reason .ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.promise_reason .ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }

.promise_reason .ttl .investigation_price_illust { inset: -2em -11em auto auto; width:calc(168vw / 19.2); aspect-ratio: 168 / 216; transform: scaleX(-1); }


.promise_reason .content { background-image:url(../img/promise/promise_reason_content_bg.webp); background-size:cover; border-radius: 1em; padding:4em 0 4em 0; }



.promise_reason .content .low_inner.grid { gap:calc(50vw /19.2); grid-template-columns: repeat(2, 1fr); }
.promise_reason .content .box { width:calc(690vw / 19.2); padding:1.75em; border-radius:1em; }
.promise_reason .content .box .box_header { padding: 1em 0 1em 0; }
.promise_reason .content .box .box_header .slug { display:inline-block; text-box:trim-both cap alphabetic; padding:0.5em 1em 0.5em 1em; border-radius: 0.2em;　}
.promise_reason .content .box .box_header .slug .num { margin-left: calc(5vw / 19.2); }
.promise_reason .content .box .box_header .box_ttl { margin-block-start:0.5em; }

.promise_reason .content .box .box_header .thumb { inset:0 1em auto auto; }
.promise_reason .content .box .box_header .thumb01 { width:calc(190vw / 19.2); aspect-ratio: 190 / 152; }
.promise_reason .content .box .box_header .thumb02 { width:calc(190vw / 19.2); aspect-ratio: 190 / 150; }
.promise_reason .content .box .box_header .thumb03 { width:calc(85vw / 19.2); aspect-ratio: 85 / 145; }
.promise_reason .content .box .box_header .thumb04 { width:calc(110vw / 19.2); aspect-ratio: 110 / 145; }
.promise_reason .content .box .box_header .thumb05 { width:calc(190vw / 19.2); aspect-ratio: 190 / 150; }
.promise_reason .content .box .box_header .thumb06 { width:calc(190vw / 19.2); aspect-ratio: 190 / 150; }
.promise_reason .content .box .box_header .thumb07 { width:calc(163vw / 19.2); aspect-ratio: 163 / 127; }
.promise_reason .content .box .box_header .thumb08 { width:calc(190vw / 19.2); aspect-ratio: 190 / 127; }


.promise_reason .content .box .box_header .detail { padding:1.25em 0 0 0; }



.promise_rules { border-top-right-radius: 4em; background: linear-gradient(to bottom, #FDF4ED 0, #FFFFFF 100%); }
.promise_rules_wrapper { padding: 6em 0 4em 0; border-bottom-right-radius: 4em; }



.promise_rules .ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.promise_rules .ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }

.promise_rules .ttl .promise_rules_illust { inset: -1em auto auto -11em; width:calc(136vw / 19.2); aspect-ratio: 136 / 210; transform: scaleX(-1); }

.promise_rules .rules_list { padding: 4.6em 0 calc(30vw / 19.2) 0; border-radius: calc(20vw / 19.2); }
.promise_rules .box { padding: 4.45em 0; }
.promise_rules .box.bg_gray { margin: 0 calc(30vw / 19.2); border-radius: 0.45em; }
.promise_rules .box .box_inner { margin: 0; }
.promise_rules .box .box_inner .thumb { width:calc(680vw / 19.2); aspect-ratio: 680 / 490; }
.promise_rules .box .box_inner .thumb img { display: block; }
.promise_rules .box .box_inner .thumb .caption { display: flex; align-items: center; inset: auto calc(20vw / 19.2) 0 auto; line-height: 1.36; opacity: 0.8; }
.promise_rules .box .box_inner .thumb .caption::before { content: ""; width: calc(240vw / 19.2); height: 2px; margin-right: calc(13vw / 19.2); background-color: #FFFFFF; }
.promise_rules .box .box_inner .text { width:calc(680vw / 19.2); }
.promise_rules .box .box_inner .text dl { margin: 0; }
.promise_rules .box .box_inner .text dt { position: relative; }
.promise_rules .box .box_inner .text dt::before { content: ""; position: absolute; inset: calc(23vw / 19.2) 0 auto 0; height: 1px; background: linear-gradient(to right, #E8651A 0, #FF9A41 100%); }
.promise_rules .box .box_inner .text dt .box_ttl { display: inline-block; z-index: 1; text-box: trim-both cap alphabetic; padding: 0.7em calc(20vw / 19.2); border-radius: 0.2em; }
.promise_rules .box .box_inner .text dt .box_ttl .num { margin-left: calc(5vw / 19.2); }
.promise_rules .box .box_inner .text dt p { margin: 0.7em 0 0 0; padding-bottom: 1.25em; line-height: 1.5; background: linear-gradient(to right, #E8651A 0, #FF9A41 100%) left bottom / 100% 1px no-repeat; }
.promise_rules .box .box_inner .text dd { margin: 0; padding-top: 1.65em; }
.promise_rules .box .box_inner .text dd p { margin: 0 0 0.6em 0; }
.promise_rules .box .box_inner .text dd p:last-child { margin-bottom: 0; }
.promise_rules .box .box_inner .text dd p.indent { margin-left: 1em; }

.promise_rules .box .items { gap: 0 calc(30vw / 19.2); margin-block-start: 2.9em; }
.promise_rules .box .items img { display: block; height: calc(208vw / 19.2); width: auto; margin-bottom: calc(10vw / 19.2); }
.promise_rules .box .items div { line-height: 1.7; }
.promise_rules .box .items i { margin-right: calc(5vw / 19.2); color: #000000; }

.promise_rules .rules_cv { margin: 2.8em 0 0 0; padding: 2.8em 0; border-radius: 0.45em; }
.promise_rules .rules_cv p { margin: 0; line-height: 1.6; }
.promise_rules .rules_cv .btn_box { gap: 0 calc(30vw / 19.2); margin-block-start: 1.5em; }
.promise_rules .rules_cv .btn { display: block; width: calc(335vw / 19.2); height: calc(100vw / 19.2); border-radius: 0.45em; overflow: hidden; box-shadow: 0 0 6px #C9C9C9; color: inherit; text-decoration: none; }
.promise_rules .rules_cv .btn .circle { width: calc(152vw / 19.2); aspect-ratio: 1 / 1; inset: calc(-21vw / 19.2) auto auto calc(-40vw / 19.2); }
.promise_rules .rules_cv .btn .text { display: flex; flex-direction: column; align-items: center; justify-content: center; inset: 0 calc(51vw / 19.2) 0 calc(126vw / 19.2); line-height: 1.4; }
.promise_rules .rules_cv .btn .text i { margin-right: 0.3em; }
.promise_rules .rules_cv .btn .tel { font-style: normal; font-weight: 600; }
.promise_rules .rules_cv .btn .triangle { inset: auto 0 0 auto; width: calc(40vw / 19.2); aspect-ratio: 1 / 1; place-content: end; padding: 0 calc(4vw / 19.2) calc(3vw / 19.2) 0; font-size: calc(14vw / 19.2); clip-path: polygon(100% 0, 0 100%, 100% 100%); }


.promise_flow { background: linear-gradient(to bottom, #FDF4ED 0, #FDF4ED 4em, #FFFFFF 4em); }
.promise_flow_wrapper { padding: 7.8em 0; border-top-left-radius: 4em; }
.promise_flow .ttl .tip { display: inline-block; text-box:trim-both cap alphabetic; width:max-content; padding:0.85em 1em 0.85em 1em; border-radius:50vmax; font-weight: 500; margin-block-end:0.95em; }
.promise_flow .ttl .tip::after { content:""; position:absolute; inset:auto 0 -0.7em 0; margin:auto; width: 0.65em; height: 0.75em; clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #E8651A; }
.promise_flow .content { padding: 6.7em 0; border-radius: calc(20vw / 19.2); background-color: #5D5144; }
.promise_flow .steps { width: calc(1430vw / 19.2); margin: 0 auto; padding: 0; list-style: none; }
.promise_flow .steps > li { align-items: stretch; min-height: calc(319vw / 19.2); border-radius: 0.45em; }
.promise_flow .steps > li + li { margin-block-start: 2.2em; }
.promise_flow .steps .circle { inset: calc(-15vw / 19.2) auto auto calc(-15vw / 19.2); z-index: 1; width: calc(90vw / 19.2); aspect-ratio: 1 / 1; place-content: center; text-align: center; border-radius: 50%; }
.promise_flow .steps .circle .slug { display: block; line-height: 1; }
.promise_flow .steps .circle .num { display: block; line-height: 1.1; }
.promise_flow .steps .thumb { flex-shrink: 0; width: calc(450vw / 19.2); margin: 0; place-content: center; border-radius: 0.45em 0 0 0.45em; background-color: #FDF4ED; }
.promise_flow .steps .thumb img { display: block; }
.promise_flow .steps .step_illust1 { width: calc(182vw / 19.2); }
.promise_flow .steps .step_illust2 { width: calc(230vw / 19.2); }
.promise_flow .steps .step_illust3 { width: calc(242vw / 19.2); }
.promise_flow .steps .step_illust4 { width: calc(140vw / 19.2); }
.promise_flow .steps .text { z-index: 1; padding: 3.3em calc(60vw / 19.2); }
.promise_flow .steps .text p { margin: 0; }
.promise_flow .steps .text .step_ttl { position: relative; margin-bottom: 1.1em; padding-left: 0.75em; line-height: 1.45; }
.promise_flow .steps .text .step_ttl::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(to bottom, #E8651A 0, #FF9A41 100%); }
.promise_flow .steps .step_num { inset: auto calc(25vw / 19.2) 0 auto; font-size: calc(135vw / 19.2); line-height: 1.36; color: #FDF4ED; }

/**** contact **********************************/

#contact_hero { padding:5em 0 6em 0; }

#contact_hero .contact_hero_tip { width: max-content; margin-block-end: 0; }
#contact_hero .contact_hero_tip::before { content:"／"; color:#E8651A; font-size:calc(24vw / 19.2); position:absolute; inset:0 auto 0 -1.5em; transform: rotateX(180deg); }
#contact_hero .contact_hero_tip::after { content:"／"; color:#E8651A; font-size:calc(24vw / 19.2); position:absolute; inset:0 -1.25em 0 auto; }

#contact_hero .contact_hero_ttl { margin-block-start:0; }


#contact { padding:6em 0 10em 0; background:linear-gradient(to bottom,#FDF4ED 0,#FFFFFF 100%); }

#contact .contact_wrapper { border-radius:1em; padding:1.5em 1.5em 1.5em 1.5em; }


#form {  }

#form .box { border-bottom:dashed 1px #696A75; }
#form .box dt { width:15em; padding:1.25em 1em 1em 0; vertical-align: top; }
#form .box dt .flex { align-items:center; }
#form .box dt .require { display:grid; place-content:center; padding:0.1em 0.4em 0.1em 0.4em; border-radius:0.3em; }
#form .box dd { margin:0; padding:1em 0 1em 0; }

#form .box dd input { width:100%; }

#form .box dd textarea { width:100%; }

input,textarea,select { appearance:none; background-color:#F7F7F7; border:solid 1px #E2E0DC; padding: 0.5em 0.5em 0.5em 0.5em; border-radius:0.3em;font-size: 1em;}

#form .box dd input[type=radio] { display:none; }
#form .box dd label { display:inline-block; cursor:pointer; background-color: #F7F7F7; padding: 0.5em 1em 0.5em 3em;border-radius: 0.3em;margin:0 1em 0.5em 0;position: relative;}
#form .box dd label::before {
	content: ""; display: block; position: absolute; top: 50%; left: 1em;
	width: 1.5em; height: 1.5em; border-radius: 50%; background-color: #fff; border:solid 1px #DDD; transform: translateY(-50%);
}

#form .box dd input.radio:checked + label{background-color: #FCDCC9 !important;}
#form .box dd input.radio:checked + label::after {
	content: ""; display: block; position: absolute; top: 50%; left: calc(1em + 3px);
	width: 1em; height: 1em; background: #FF7933; border-radius: 50%; transform: translateY(-50%);
}

#form .box dd input#age { width:6em; }

#form .box dd.consultation label { width:47%; }

#form .privacy_link { margin-block-start:2em; margin-block-end:2em; }

#form .notice { margin-block-start:4em; margin-block-end:2em; }



#contact_thanks { padding:5em 0 10em 0; }
#contact_error { padding:5em 0 10em 0; }



/**** privacy **********************************/

#privacy { padding: 6em 0 8em 0; }

.privacy_item { margin-block-end: 3em; }

.privacy_ttl { padding: 0.4em 0 0.4em 0.9em; border-left: solid 4px #E8651A; margin-block-end: 1em; line-height: 1.4; }

.privacy_item dd { margin: 0; line-height: 1.9; }

.privacy_item dd p { margin-block-end: 1em; }


/**** sitemap **********************************/

#sitemap { padding: 6em 0 8em 0; }

.sitemap_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 2em; }

.sitemap_col { border-top: solid 2px #E2E0DC; padding-top: 1.5em; }

.sitemap_col_ttl { padding: 0.4em 0 0.4em 0.8em; border-left: solid 4px #E8651A; margin-block-end: 1em; line-height: 1.4; }

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

.sitemap_list li { border-bottom: dashed 1px #E2E0DC; }

.sitemap_list li a { display: flex; align-items: center; gap: 0.5em; padding: 0.6em 0; color: inherit; text-decoration: none; line-height: 1.4; }

.sitemap_list li a:hover { color: #E8651A; }




/* corporation */
.corporation_message { background-color: #FDF4ED; }
.corporation_message_wrapper { padding: 7.8em 0 6.7em 0; border-bottom-left-radius: calc(80vw / 19.2); }
.corporation_message_ttl { position: relative; display: flex; justify-content: center; align-items: center; gap: 0 0.5em; margin: 0 auto 4.3em auto; font-weight: 500; letter-spacing: 0.16em; line-height: 1.3; }
.corporation_message_ttl::after { content: ""; position: absolute; inset: auto 0 -0.95em 0; margin: auto; width: calc(80vw / 19.2); height: 2px; background: linear-gradient(to right, #E8651A 0, #FF9A41 100%); }
.corporation_message_ttl .en { background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.corporation_message .content .thumb { width: calc(380vw / 19.2); margin: 0; }
.corporation_message .content .thumb img { display: block; aspect-ratio: 38 / 34; border-radius: 0.45em; }
.corporation_message .content .thumb figcaption { margin-block-start: 1.6em; line-height: 1.4; }
.corporation_message .content .text { width: calc(980vw / 19.2); }
.corporation_message .content .text .tag { display: inline-block; padding: 0.4em 0.7em; border-radius: 0.3em; line-height: 1.4; }
.corporation_message .content .text .catch { margin: 0.6em 0 1.2em 0; line-height: 1.45; }
.corporation_message .content .text .box { padding: 2.2em calc(40vw / 19.2); border-radius: 0.5em; }
.corporation_message .content .text .box p { margin: 0; line-height: 2; }
.corporation_message .content .text .box p + p { margin-block-start: 0.8em; }

.corporation_experience { background-color: #FFFFFF; }
.corporation_experience_wrapper { padding: 6.7em 0 6.7em 0; border-top-right-radius: calc(80vw / 19.2); background: linear-gradient(to bottom, #FDF4ED 0, #FDF4ED 80%, #FFFFFF 100%); }
.corporation_experience .thumb { width: calc(1180vw / 19.2); aspect-ratio: 118 / 75; z-index: 0; border-radius: calc(20vw / 19.2); overflow: hidden; }
.corporation_experience .text { width: calc(770vw / 19.2); inset: 4.3em auto auto calc(930vw / 19.2); padding: 4.45em calc(80vw / 19.2) 4.45em calc(80vw / 19.2); border-radius: calc(20vw / 19.2); background: linear-gradient(to right, #FFFFFF 0, rgba(255, 255, 255, 0.85) 90%); z-index: 1; }
.corporation_experience .circle { width: calc(170vw / 19.2); aspect-ratio: 1 / 1; place-content: center; text-align: center; inset: -1.65em auto auto calc(-30vw / 19.2); border-radius: 50%; line-height: 1.45; }
.corporation_experience .experience_illust { width: calc(122vw / 19.2); aspect-ratio: 122 / 215; inset: -1.8em calc(38vw / 19.2) auto auto; }
.corporation_experience .ttl.center { margin: 0 auto 4.5em auto; }
.corporation_experience .ttl .slug { margin-block-end: 0.3em; letter-spacing: 0.16em; }
.corporation_experience .ttl .ja { letter-spacing: 0.1em; }
.corporation_experience .catch { margin: 0 0 0.65em 0; line-height: 1.8; }
.corporation_experience .summary { margin: 0; }
.corporation_experience .staff { margin-block-start: 3.9em; align-items: stretch; }
.corporation_experience .staff .box { width: calc(690vw / 19.2); padding: 2.2em calc(40vw / 19.2); border-radius: 0.45em; }
.corporation_experience .staff .box header { align-items: flex-start; }
.corporation_experience .staff .box .thumb { width: calc(250vw / 19.2); aspect-ratio: 250 / 175; border-radius: 0.45em; }
.corporation_experience .staff .box .profile { margin-left: calc(30vw / 19.2); padding-block-start: 0.55em; }
.corporation_experience .staff .box .tag { display: inline-flex; align-items: center; gap: 0 0.4em; padding: 0.3em 0.7em; border-radius: 0.3em; line-height: 1.4; }
.corporation_experience .staff .box .position { margin: 0.9em 0 0 0; line-height: 1.8; }
.corporation_experience .staff .box .name { margin: 0.3em 0 0 0; line-height: 1.4; }
.corporation_experience .staff .box .detail { margin: 1.1em 0 0 0; line-height: 1.8; }

.corporation_slider { overflow: hidden; }
.corporation_slider .slider_track { width: max-content; gap: 0 calc(20vw / 19.2); animation: corporation_slider 40s linear infinite; }
.corporation_slider .slide { display: block; width: calc(640vw / 19.2); aspect-ratio: 16 / 10; }
@keyframes corporation_slider { from { transform: translateX(calc(-20vw / 19.2)); } to { transform: translateX(calc(-1980vw / 19.2)); } }
@media (prefers-reduced-motion: reduce) { .corporation_slider .slider_track { animation: none; } }

.corporation_outline { padding-block-start: 2.8em; }
.corporation_outline_wrapper { padding: 6.7em 0; border-radius: calc(20vw / 19.2); }
.corporation_outline .content { padding: 5em 0; border-radius: calc(20vw / 19.2); }
.corporation_outline .ttl.center { margin-block-start: 0; }
.corporation_outline .outline_intro .thumb { width: calc(300vw / 19.2); aspect-ratio: 300 / 370; border-radius: 0.45em; }
.corporation_outline .outline_intro .text { width: calc(720vw / 19.2); padding-block-start: 1.1em; }
.corporation_outline .outline_intro .tag { display: inline-block; padding: 0.4em 0.7em; border-radius: 0.3em; line-height: 1.4; }
.corporation_outline .outline_intro .catch { margin: 0.6em 0 1.3em 0; line-height: 1.8; }
.corporation_outline .outline_intro .catch .flex { align-items: center; }
.corporation_outline .outline_intro .hokkaido_mark { width: calc(56vw / 19.2); aspect-ratio: 56 / 53; margin-right: calc(5vw / 19.2); }
.corporation_outline .outline_intro p:last-child { margin: 0; }
.corporation_outline .outline_list { margin-block-start: 1.95em; }
.corporation_outline .outline_list dl { margin: 0; background: repeating-linear-gradient(to right, #696A75 0, #696A75 2px, transparent 2px, transparent 4px) left bottom / 100% 1px no-repeat; }
.corporation_outline .outline_list dt,
.corporation_outline .outline_list dd { padding: 1.4em 0; vertical-align: top; line-height: 1.45; }
.corporation_outline .outline_list dt { position: relative; width: calc(199vw / 19.2); padding-left: calc(21vw / 19.2); }
.corporation_outline .outline_list dt::before { content: ""; position: absolute; inset: calc(2.125em - 4vw / 19.2) auto auto calc(5vw / 19.2); width: calc(8vw / 19.2); aspect-ratio: 1 / 1; border-radius: 50%; background-color: #E8651A; }
.corporation_outline .outline_list .dot_list { margin: 0; padding: 0; list-style: none; line-height: 1.8; }
.corporation_outline .outline_list .dot_list li::before { content: "・"; }
.corporation_outline .outline_list .area { margin: 1em 0 0 0; line-height: 1.8; }
.corporation_outline .outline_list .certification { display: block; width: calc(190vw / 19.2); margin-block-start: 1.1em; filter: drop-shadow(0 0 3px #DDDDDD); }
.corporation_outline .outline_list .certification img { display: block; width: 100%; }
.corporation_outline .outline_list .link_list { gap: 0.55em calc(40vw / 19.2); margin: 0; padding: 0; line-height: 1.45; }
.corporation_outline .outline_list .link_list i { margin-left: 0.3em; }

.corporation_access { padding-block-start: 5.7em; }
.corporation_access .ttl .slug { margin-block-end: 0.3em; letter-spacing: 0.16em; }
.corporation_access .access_illust { width: calc(158vw / 19.2); aspect-ratio: 158 / 249; inset: -1.3em calc(-46vw / 19.2) auto auto; }
.corporation_access .content { align-items: flex-start; }
.corporation_access .content .map { width: calc(700vw / 19.2); aspect-ratio: 700 / 560; }
.corporation_access .content .map iframe { display: block; width: 100%; height: 100%; }
.corporation_access .content .text { width: calc(660vw / 19.2); padding-block-start: 2.2em; }
.corporation_access .content .text p { margin: 0; }
.corporation_access .content .shop_name { position: relative; padding-left: 0.8em; line-height: 1.45; }
.corporation_access .content .shop_name::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(to bottom, #E8651A 0, #FF9A41 100%); }
.corporation_access .content .text .shop_name + p { margin-block-start: 1.1em; }
.corporation_access .content .text .station_ttl { margin-block-start: 1.9em; line-height: 1.45; }
.corporation_access .content .station { margin: 1.1em 0 0 0; padding: 0; }
.corporation_access .content .station li { line-height: 1.8; }
.corporation_access .content .station i { width: 1.4em; margin-left: 1.1em; }
.corporation_access .content .text .notice { margin-block-start: 1.7em; line-height: 1.8; }
.corporation_access .content a.more { margin: 1.65em 0 0 0; box-shadow: 0 0 12px rgba(0, 0, 0, 0.2); }

.corporation_access .access_route { margin-block-start: 5.6em; }
.corporation_access .access_radio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.corporation_access .access_tabs { gap: 0 calc(10vw / 19.2); }
.corporation_access .access_tabs .btn { display: grid; place-content: center; text-align: center; width: calc(290vw / 19.2); height: calc(88vw / 19.2); border-radius: 0.45em 0.45em 0 0; background-color: #DDDDDD; color: #463F38; line-height: 1.4; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; }
.corporation_access .access_tabs .btn::after { content: ""; position: absolute; inset: calc(100% - 1px) 0 auto 0; margin: auto; width: calc(27vw / 19.2); height: calc(19vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0); background-color: #463F38; opacity: 0; }
.corporation_access .access_route:has(#access_tab_jr:checked) .btn_jr,
.corporation_access .access_route:has(#access_tab_subway:checked) .btn_subway,
.corporation_access .access_route:has(#access_tab_car:checked) .btn_car { background-color: #463F38; color: #FFFFFF; }
.corporation_access .access_route:has(#access_tab_jr:checked) .btn_jr::after,
.corporation_access .access_route:has(#access_tab_subway:checked) .btn_subway::after,
.corporation_access .access_route:has(#access_tab_car:checked) .btn_car::after { opacity: 1; }
.corporation_access .access_route:has(#access_tab_jr:focus-visible) .btn_jr,
.corporation_access .access_route:has(#access_tab_subway:focus-visible) .btn_subway,
.corporation_access .access_route:has(#access_tab_car:focus-visible) .btn_car { outline: 2px solid #E8651A; outline-offset: 2px; }
.corporation_access .access_panels { padding: 3.9em 0 1.7em 0; border-radius: calc(20vw / 19.2); }
.corporation_access .access_panel { display: none; }
.corporation_access .access_route:has(#access_tab_jr:checked) .access_panel_jr,
.corporation_access .access_route:has(#access_tab_subway:checked) .access_panel_subway,
.corporation_access .access_route:has(#access_tab_car:checked) .access_panel_car { display: block; }
.corporation_access .access_panel .panel_ttl { margin: 0 0 1.9em 0; line-height: 1.45; }
.corporation_access .access_panel .panel_ttl i { margin-right: 0.3em; }
.corporation_access .steps { gap: 0 calc(30vw / 19.2); padding: 0; }
.corporation_access .steps li { position: relative; width: calc(335vw / 19.2); margin-block-end: 2.2em; }
.corporation_access .steps li img { display: block; width: 100%; aspect-ratio: 335 / 250; border-radius: 0.45em; }
.corporation_access .steps li p { margin: 1.1em 0 0 0; line-height: 1.8; }
.corporation_access .steps .num { position: absolute; inset: calc(-10vw / 19.2) auto auto calc(-10vw / 19.2); z-index: 1; width: calc(45vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border: solid 2px #463F38; border-radius: 50%; font-weight: 600; line-height: 1; }

.corporation_law { padding: 6.1em 0 7.8em 0; }
.corporation_law .law_ttl { position: relative; margin: 0 0 1.2em 0; padding-left: 0.8em; line-height: 1.45; }
.corporation_law .law_ttl::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(to bottom, #E8651A 0, #FF9A41 100%); }
.corporation_law .law_ttl + p { margin: 0; }
.corporation_law .law_body { margin-block-start: 2.2em; padding-block-start: 2.2em; background: repeating-linear-gradient(to right, #696A75 0, #696A75 2px, transparent 2px, transparent 4px) left top / 100% 1px no-repeat; }
.corporation_law .law_body .caption { margin: 2.8em 0 1.1em 0; }
.corporation_law .law_body .law_ttl + .caption { margin-block-start: 0; }
.corporation_law .law_body dl { margin: 0; }
.corporation_law .law_body dl + dl { margin-block-start: 1.65em; }
.corporation_law .law_body dt,
.corporation_law .law_body dd { vertical-align: top; }
.corporation_law .law_body dt { width: calc(170vw / 19.2); }
.corporation_law .law_list { margin: 0.55em 0 0 0; padding: 0; }
.corporation_law .law_list li { padding-left: 2em; text-indent: -2em; }
/* link */
.link_page { padding: 5em 0 6.7em 0; background: linear-gradient(to bottom, #FFFFFF 0, #FDF4ED 100%); }
.link_page .link_tabs { gap: 0 calc(10vw / 19.2); margin-block-end: 4em; }
.link_page .link_tabs .btn { display: grid; place-content: center; width: calc(320vw / 19.2); height: calc(70vw / 19.2); border-radius: 0.45em; background-color: #DDDDDD; color: #463F38; transition: background-color 0.3s ease, color 0.3s ease; }
.link_page .link_tabs .btn.current,
.link_page .link_tabs .btn:hover { background-color: #463F38; color: #FFFFFF; }
.link_page .ttl .slug { letter-spacing: 0.1em; }
.link_page .link_items { gap: calc(20vw / 19.2) calc(30vw / 19.2); margin: 0; padding: 0; align-items: stretch; }
.link_page .link_items li { width: calc(700vw / 19.2); }
.link_page .link_items li a { height: 100%; align-items: center; gap: 0 calc(30vw / 19.2); padding: 1.4em calc(30vw / 19.2) 1.4em calc(40vw / 19.2); border: solid 1px #E2E0DC; border-radius: 0.45em; box-shadow: 0 0 6px rgba(64, 51, 41, 0.08); transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.link_page .link_items li a:hover { border-color: #E8651A; box-shadow: 0 0 10px rgba(232, 101, 26, 0.2); }
.link_page .link_items .text { flex: 1; }
.link_page .link_items .name { display: block; line-height: 1.6; transition: color 0.3s ease; }
.link_page .link_items li a:hover .name { color: #E8651A; }
.link_page .link_items .desc { display: block; margin-block-start: 0.4em; color: #777777; line-height: 1.7; }
.link_page .link_items .icon { flex-shrink: 0; width: calc(40vw / 19.2); aspect-ratio: 1 / 1; place-content: center; border-radius: 0.33em; }
.link_page .link_box { margin-block-start: 4em; }
/* voice */
.voice_intro { padding: 6em 0 6em 0; }
.voice_intro .low_inner { align-items: center; }
.voice_intro .text { width: calc(760vw / 19.2); }
.voice_intro .text .catch { margin: 0 0 0.8em 0; line-height: 1.5; letter-spacing: 0.05em; }
.voice_intro .text .lead { margin: 0 0 1.2em 0; line-height: 1.7; }
.voice_intro .thumb { width: calc(600vw / 19.2); aspect-ratio: 600 / 420; border-radius: calc(20vw / 19.2); object-fit: cover; }

.voice_list { padding: 6em 0 7em 0; border-top-left-radius: calc(80vw / 19.2); }
.voice_list .voice_radio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.voice_list .voice_filter { padding: 1.8em calc(40vw / 19.2); border-radius: calc(20vw / 19.2); }
.voice_list .voice_filter .filter_row { align-items: flex-start; margin: 0; }
.voice_list .voice_filter .filter_row + .filter_row { margin-block-start: 1em; padding-block-start: 1em; border-top: dashed 1px #696A75; }
.voice_list .voice_filter .filter_row dt { flex-shrink: 0; width: 9em; padding-block-start: 0.45em; }
.voice_list .voice_filter .filter_row dt i { margin-right: 0.4em; }
.voice_list .voice_filter .filter_row dd { gap: 0.5em; margin: 0; }
.voice_list .voice_filter .btn { display: inline-flex; align-items: center; gap: 0 0.4em; padding: 0.45em 1.1em; border-radius: 50vmax; background-color: #EEEEEE; line-height: 1.4; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; }
.voice_list .voice_filter .btn.tag { background-color: #FDF4ED; }
.voice_list .voice_filter .btn:hover { color: #E8651A; }

.voice_list .voice_notice { margin: 2em 0 2.5em 0; }

.voice_list .voice_items { gap: calc(30vw / 19.2); align-items: stretch; }
.voice_list .voice_item { width: calc(700vw / 19.2); padding: 2em calc(40vw / 19.2); border-radius: calc(20vw / 19.2); box-shadow: 0 0 10px rgba(64, 51, 41, 0.08); }
.voice_list .voice_item_header { align-items: center; padding-block-end: 1em; border-bottom: dashed 1px #696A75; }
.voice_list .voice_item_header .avatar { flex-shrink: 0; width: calc(70vw / 19.2); aspect-ratio: 1 / 1; margin-right: calc(20vw / 19.2); border-radius: 50%; object-fit: cover; }
.voice_list .voice_item_header .tags { margin: 0; line-height: 1.5; }
.voice_list .voice_item_header .tags span { display: inline-block; margin-right: 1em; }
.voice_list .voice_item_header .tags i { margin-right: 0.3em; }
.voice_list .voice_item_header .name { margin: 0.2em 0 0 0; line-height: 1.5; }
.voice_list .voice_item_body { padding-block-start: 1.2em; }
.voice_list .voice_item_body .letter { width: calc(200vw / 19.2); margin: 0 0 1em calc(25vw / 19.2); border-radius: 0.45em; box-shadow: 0 0 6px rgba(64, 51, 41, 0.2); }
.voice_list .voice_item_body .comment { margin: 0; line-height: 1.9; }

/* 絞り込み（:has） */
.voice_filter_wrap:has(#vf_all:checked) .btn_all,.voice_filter_wrap:has(#vf_letter:checked) .btn_letter,.voice_filter_wrap:has(#vf_mail:checked) .btn_mail,.voice_filter_wrap:has(#vf_line:checked) .btn_line,.voice_filter_wrap:has(#vf_voice:checked) .btn_voice,.voice_filter_wrap:has(#vf_sapporo:checked) .btn_sapporo,.voice_filter_wrap:has(#vf_asahikawa:checked) .btn_asahikawa,.voice_filter_wrap:has(#vf_hakodate:checked) .btn_hakodate,.voice_filter_wrap:has(#vf_kushiro:checked) .btn_kushiro,.voice_filter_wrap:has(#vf_obihiro:checked) .btn_obihiro,.voice_filter_wrap:has(#vf_takikawa:checked) .btn_takikawa,.voice_filter_wrap:has(#vf_otaru:checked) .btn_otaru,.voice_filter_wrap:has(#vf_kitami:checked) .btn_kitami { background-color: #463F38; color: #FFFFFF; }
.voice_filter_wrap:has(#vf_all:focus-visible) .btn_all,.voice_filter_wrap:has(#vf_letter:focus-visible) .btn_letter,.voice_filter_wrap:has(#vf_mail:focus-visible) .btn_mail,.voice_filter_wrap:has(#vf_line:focus-visible) .btn_line,.voice_filter_wrap:has(#vf_voice:focus-visible) .btn_voice,.voice_filter_wrap:has(#vf_sapporo:focus-visible) .btn_sapporo,.voice_filter_wrap:has(#vf_asahikawa:focus-visible) .btn_asahikawa,.voice_filter_wrap:has(#vf_hakodate:focus-visible) .btn_hakodate,.voice_filter_wrap:has(#vf_kushiro:focus-visible) .btn_kushiro,.voice_filter_wrap:has(#vf_obihiro:focus-visible) .btn_obihiro,.voice_filter_wrap:has(#vf_takikawa:focus-visible) .btn_takikawa,.voice_filter_wrap:has(#vf_otaru:focus-visible) .btn_otaru,.voice_filter_wrap:has(#vf_kitami:focus-visible) .btn_kitami { outline: 2px solid #E8651A; outline-offset: 2px; }
.voice_filter_wrap:has(#vf_letter:checked) .voice_item:not(.cat_letter) { display: none; }
.voice_filter_wrap:has(#vf_mail:checked) .voice_item:not(.cat_mail) { display: none; }
.voice_filter_wrap:has(#vf_line:checked) .voice_item:not(.cat_line) { display: none; }
.voice_filter_wrap:has(#vf_voice:checked) .voice_item:not(.cat_voice) { display: none; }
.voice_filter_wrap:has(#vf_sapporo:checked) .voice_item:not(.area_sapporo) { display: none; }
.voice_filter_wrap:has(#vf_asahikawa:checked) .voice_item:not(.area_asahikawa) { display: none; }
.voice_filter_wrap:has(#vf_hakodate:checked) .voice_item:not(.area_hakodate) { display: none; }
.voice_filter_wrap:has(#vf_kushiro:checked) .voice_item:not(.area_kushiro) { display: none; }
.voice_filter_wrap:has(#vf_obihiro:checked) .voice_item:not(.area_obihiro) { display: none; }
.voice_filter_wrap:has(#vf_takikawa:checked) .voice_item:not(.area_takikawa) { display: none; }
.voice_filter_wrap:has(#vf_otaru:checked) .voice_item:not(.area_otaru) { display: none; }
.voice_filter_wrap:has(#vf_kitami:checked) .voice_item:not(.area_kitami) { display: none; }
