@charset "UTF-8";
/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;600&display=swap');*/
:root {--pcMaxW:75rem; --pcMinW:980px; --pcCntMinW:930px; --spPI:clamp(20px, 10px + 3.125vw, 25px); 
  --initFonts:"游ゴシック Medium","Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif; 
  --initFontsB:"Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",Meiryo,sans-serif; --boldFonts:"Inter",var(--initFontsB);}
b,strong,.bold {font-family:var(--boldFonts);}
.container {display:flow-root; position:relative; margin-inline:auto; container-type:inline-size;} .navBackdrop {display:none;}
@media (min-width:600px){:where(body,.pageHeader,.pageTitle,main,.pageFooter) {min-width:var(--pcMinW);} .container {width:clamp(var(--pcCntMinW), 94%, var(--pcMaxW));}}
@media not (min-width:600px){html {font-size:90%;} .pageHeader,main,.pageFooter {min-width:320px;} :where(:not(.pageHeader))>.container {margin-inline:var(--spPI);} body.-navOpen .navBackdrop {width:100%; height:100dvh; position:fixed; top:0; left:0; display:block; background:#0007; z-index:500; -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);}}
/* BASE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


@media (min-width:1600px){html {font-size:calc(100% + calc((100vw - 1600px) * .005));}}
@media (min-width:600px){html {scroll-padding-top:10vh;}}
@media not (min-width:600px){html {scroll-padding-top:50px;}}
body {line-height:1.8; font-family:"Inter",var(--initFonts); font-feature-settings:"pkna"; color:#1a1a1a;}
a {text-decoration:underline; text-decoration-skip-ink:none; text-underline-offset:.24em; color:inherit;}

:root {--themeBL:#1C61B1; --themeBL-sub:#EDF3F9; --themeBL-sub2:#DDE8F3; --neutral-sub:#f7f8f8; --boxPad:calc(var(--fsH2) * .6) calc(var(--fsH2) * .75);}

/* =============== ヘッダ */

.pageHeader {padding:.7rem 1rem;}
.pageHeader a {display: block; width:min(210px, 70%); display:grid; grid-template-columns: 1fr 4fr; align-items:center; gap:4%;}

/* =============== フッタ */

.pageFooter {position:sticky; top:100vh; background:; color:; font-size:var(--fs15);}
.pageFooter a {text-decoration:none;}
.pageFooter ._copyright {margin-bottom:0; font-size:var(--fs11); text-align:center;}

@media (min-width:600px){
  .pageFooter .container {padding:var(--fs35) 0 var(--fs20);}
}
@media not (min-width:600px){
  .pageFooter .container {padding:25px 0 15px;}
}

/* =============== メイン */

main {overflow-x:hidden;}
:where(main .container, main > * > .container) {padding-block:var(--cntPadTop) var(--cntPadBtm);}

@media (min-width:600px){
  main {--cntPadTop:5rem; --cntPadBtm:7.5rem;}
}
@media not (min-width:600px){
  main {--cntPadTop:40px; --cntPadBtm:80px;}
}


/* CUSTOM COMPONENTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


/* H2～H6 */
:root {--fs2v:clamp(1.625rem, 0.388rem + 2.02vw, 2rem); 
  --fsH2:clamp(2.5rem, -0.284rem + 4.545vw, 3.125rem); 
  --fsH3:clamp(1.5rem, -0.17rem + 2.727vw, 1.875rem); 
  --fsH4:clamp(1.188rem, 0.909rem + 0.455vw, 1.25rem); 
  --fsH5:var(--fs17); --fsH6:1rem; --hllh:calc(1em + .625rem);}
.fsH2 {font-size:var(--fsH2);} .fsH3 {font-size:var(--fsH3);} .fsH4 {font-size:var(--fsH4);} .fsH5 {font-size:var(--fsH5);} .fsH6 {font-size:var(--fsH6);}
:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6) {line-height:var(--hllh); font-weight:bold;}
h2:not(.h3,.h4,.h5,.h6), .h2 {margin:2em 0 .8em; font-size:var(--fsH2); font-family:"Zen Old Mincho", sans-serif;}
h3:not(.h2,.h4,.h5,.h6), .h3 {margin:1.5em 0 .75em; font-size:var(--fsH3); font-family:"Zen Old Mincho", sans-serif;}
h4:not(.h2,.h3,.h5,.h6), .h4 {margin:1.5em 0 .6em; font-size:var(--fsH4); font-family:"Zen Old Mincho", sans-serif;}
h5:not(.h2,.h3,.h4,.h6), .h5 {margin:1.2em 0 .4em; font-size:var(--fsH5); font-family:var(--boldFonts);}
h6:not(.h2,.h3,.h4,.h5), .h6 {margin:.8em 0 .2em; font-size:var(--fsH6); font-family:var(--boldFonts);}
:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6):first-child:not(.-mtInit) {margin-top:0;}
.hdgPrefix {display:block; line-height:1.4; font-family:var(--initFontsB); font-weight:700; font-size:1rem; color:var(--themeBL);}
:where(*:has(>.hdgPrefix)) {text-align:center;}

@media not (min-width:600px){
}

/* .btn */
.btn1 :is(a,button), :is(a,button).btn1 {display:inline-block; padding:.4em .8em .5em; border:0; background:#eee; text-decoration:none; line-height:1.4;}
.btn1 :is(a,button):before, :is(a,button).btn1:before {content:""; display:inline-block; width:var(--fs10); aspect-ratio:1; margin-right:.4em; border:#222 solid; border-width:calc(var(--fs10) / 5) calc(var(--fs10) / 5) 0 0; rotate:45deg; scale:.8;}
.btn2 a, a.btn2 {}
.btn2 a:before, a.btn2:before {content:""; display:inline-block; width:var(--fs10); aspect-ratio:1; margin-right:.4em; border:#222 solid; border-width:calc(var(--fs10) / 5) calc(var(--fs10) / 5) 0 0; rotate:45deg; scale:.8;}

@media (min-width:600px){
}
@media not (min-width:600px){
}

.colorBL {color:var(--themeBL);}
.min {font-family:"Zen Old Mincho", sans-serif;}
em {background:linear-gradient(180deg, transparent 60%, #FFEA0055 60%);}
ul.disc > li::marker {color:var(--themeBL)}

.featBlocks {display:grid; grid-template-columns:repeat(auto-fill,minmax(26rem,1fr)); gap:.5rem;}
.featBlocks ._block {position:relative; padding:calc(var(--fsH2) * .5) calc(var(--fsH2) * .67); background:#fff; overflow:hidden;}
.featBlocks ._block::before {content:""; position:absolute; left:0; top:0; display:block; width:5rem; aspect-ratio:1; background:var(--themeBL-sub2); clip-path:polygon(0 0, 100% 0, 0 100%);}
.featBlocks ._block h4 {position:relative; display:table; color:var(--themeBL);}
.featBlocks ._block h4 i {display:table-cell; line-height:1; font-family:"Poppins",sans-serif; font-weight:700; font-size:2em; font-style:normal; color:transparent; -webkit-text-stroke-width:1px; -webkit-text-stroke-color:var(--themeBL); translate:-.2em 0;}
.featBlocks ._block h4 i + span {display:table-cell; vertical-align:middle;}
.featBlocks ._block ._result {padding-left:2rem;}
.featBlocks ._block ._arr {position:relative; display:inline-block; width:1.5rem; aspect-ratio:2/1; margin-inline:-2rem .5rem; border-bottom:2px var(--themeBL) solid; translate:0 -20%;}
.featBlocks ._block ._arr::after {content:""; position:absolute; right:0; bottom:0; display:block; height:100%; border-left:2px var(--themeBL) solid; rotate:-45deg; transform-origin:100% 100%; translate:0 1px;}

.practiceMap {position:relative; width:100%; height:min(600px,75dvh); overflow:hidden;}
.practiceMap iframe {position:absolute; left:0; bottom:0; width:100%; height:calc(100% + 60px);}

.suplBox {padding:var(--boxPad);}
.suplBox ._ttl {display:flex; align-items:start; gap:.4em; color:var(--themeBL);}

@media (min-width:600px) {
  .suplBox {display:grid; grid-template-columns:auto 1fr; gap:0 2cqw;}
}
@media not (min-width:600px) {
  .featBlocks {grid-template-columns:1fr;}
  .suplBox h4 {margin-bottom:1em;}
}



/* PAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


.mv {position:relative; display:grid; container-type:inline-size; margin-bottom:calc(var(--fsH2) * 1);}
.mv ._tagline {mix-blend-mode:multiply;}
.mv ._txt {display:grid; line-height:1.4; font-family:"Zen Old Mincho", serif; font-weight:700;}
.mv ._txt ._supl {font-size:.85rem;}
.mv ._txt ._pre .sm4 {display:inline-block; margin-inline:-.3em;}
.mv ._txt ._pre ._supl {margin-top:.2em;}
.mv ._txt ._main {line-height:1.25;}
.mv ._txt ._main ._inner {background:var(--themeBL); color:#fff;}
.mv ._txt ._main ._inner .IB {padding-inline:.25em; line-height:1; white-space:nowrap;}
.mv ._txt ._main ._inner .IB ~ .IB {translate:0 -.05em;}
.mv ._txt ._main ._inner sup {display:inline-block; vertical-align:top; font-size:.3em;}
.mv ._txt ._main ._supl {display:inline-block; margin-left:.6em; color:var(--themeBL);}
.mv ._txt ._post {color:var(--themeBL);}
.mv ._note {padding-right:1em; font-size:var(--fs14);}

@media (min-width:600px) {
  .mv {grid-template-columns:auto 1fr; grid-template-rows: 1fr auto; min-width:980px; min-height:40rem; max-height:56.25rem;}
  .mv ._bg {grid-column:1/3; grid-row:1/3; padding-left:18%;}
  .mv ._bg img {width:100%; height:100%; object-position:0 50%;}
  .mv ._tagline {grid-column:1/2; grid-row:1/2; display:grid; place-content:center; padding:2rem 0 0 12%;}
  .mv ._tagline img {width:max(45vw, 36rem); max-width:120%; transform-origin:0 50%; translate:12% 0;}
  .mv ._txt {grid-column:1/2; grid-row:2/3; padding-left:12%; translate:0 calc(var(--fsH2) * .7);}
  .mv ._txt ._pre {margin-bottom:1.3em; font-size:calc(var(--fsH2) * .7);}
  .mv ._txt ._main ._inner {font-size:calc(var(--fsH2) * 1.6);}
  .mv ._txt ._main ._supl {translate:0 70%;}
  .mv ._txt ._post {margin-top:.8em; font-size:var(--fsH2);}
  .mv ._note {grid-column:2/3; grid-row:2/3; display:flex; align-items:end; justify-content:end;}
  .mv ._note ._inner {translate:0 140%;}
}

@media not (min-width:600px) {
  .mv ._tagline {order:-1; padding:0 5vw;}
  .mv ._tagline img {width:75%; margin-bottom:-2vw; translate:0 40%; rotate:-5deg; scale:1.1; transform-origin:0 50%;}
  .mv ._bg {width:100%; height:30vw;}
  .mv ._bg img {width:90%; aspect-ratio:9/8; margin-left:10%;}
  .mv ._txt ._pre {margin-bottom:.8em; padding-left:4vw; font-size:7vw;}
  .mv ._txt ._main ._inner {font-size:10vw;}
  .mv ._txt ._main ._supl {translate:0 30%;}
  .mv ._txt ._post {margin:3vw 0 0 4vw; font-size:8vw;}
  .mv ._note {padding:1.5em 4vw;}
}

.imgBreak {position:relative; display:grid; overflow:hidden;}
.imgBreak img {width:100%;}

@media (min-width:600px) {
  .imgBreak {grid-template-columns:repeat(3,1fr);}
  .imgBreak img {height:max(270px, calc(14rem + 4vw));}
}
@media not (min-width:600px) {
  .imgBreak {grid-template-columns:repeat(2,1fr);}
  .imgBreak img {height:calc(8rem + 10vw);}
  .imgBreak img:nth-of-type(3) {display:none;}
}

.sec_concept h2 {margin-bottom:.5em; text-align:left;}
.sec_concept ._main {margin-bottom:4rem;}
.sec_concept ._main,
.sec_concept ._main > * {position: relative;}
.sec_concept ._main::before {content:""; position:absolute; top:4rem; left:3rem; width:calc(100% - 3rem); height:calc(100% - 2rem); background:var(--themeBL-sub); box-shadow:3rem 0 0 var(--themeBL-sub);}
.sec_concept ._shikaku ul {display:flex; flex-wrap:wrap; gap:.4rem;}
.sec_concept ._shikaku li {padding:0 .4em; border:2px var(--themeBL) solid; font-size:var(--fs18); font-weight:700; font-family:var(--boldFonts); color:var(--themeBL);}

@media (min-width:600px) {
  .sec_concept {display:grid; grid-template-columns:9fr 11fr;}
  .sec_concept ._img {order:-1;}
  .sec_concept ._img img:nth-of-type(1) {width:80%; translate:-10% 0;}
  .sec_concept ._img img:nth-of-type(2) {width:65%; margin-top:calc(2cqw + .5em); translate:28% 0;}
  .sec_concept ._ttl {translate:-1em 0;}
  .sec_concept ._ttl .hdgPrefix {font-size:var(--fs18);}
}
@media not (min-width:600px) {
  .sec_concept ._img {margin-top:3rem;}
  .sec_concept ._img img:nth-of-type(1) {width:80%; translate:-10% 0;}
  .sec_concept ._img img:nth-of-type(2) {position:relative; width:65%; margin:-5vw 0 0 30%;}
}

.sec_policies {display:grid; gap:.6rem; margin-top:calc(var(--fsH2) * 2);}
.sec_policies > section {padding:var(--boxPad); background:var(--neutral-sub);}

@media (min-width:600px) {
  .sec_policies {grid-template-columns:1fr 1fr;}
  .sec_policies ._block.-first {grid-column:1/-1;}
}

.container:has(.sec_features) {padding-bottom:0; background:var(--themeBL-sub); box-shadow:-980px 0 0 var(--themeBL-sub), -50px 0 0 var(--themeBL-sub), 50px 0 0 var(--themeBL-sub), 980px 0 0 var(--themeBL-sub);}

.sec_features hgroup {margin-block:var(--fsH2) var(--fsH3); text-align:center;}
.sec_features hgroup h3 {margin-bottom:0; font-size:calc(var(--fsH3) * 1.2); color:var(--themeBL);}
.sec_features hgroup h3::after {content:""; display:block; width:2.8em; margin:.4em auto; border-top:1px var(--themeBL) solid;}
.sec_features hgroup h3 img {translate:0 -20%;}
.sec_features hgroup p {font-size:calc(var(--fsH3) * .67); font-weight:700; font-family:var(--boldFonts);}

.sec_features ._hokenshi {display:grid; padding-block:calc(var(--fsH2) * 1.6); background:var(--themeBL-sub2); box-shadow:-980px 0 0 var(--themeBL-sub2), -50px 0 0 var(--themeBL-sub2), 50px 0 0 var(--themeBL-sub2), 980px 0 0 var(--themeBL-sub2);}
.sec_features ._hokenshi ._list {display:grid; gap:.5rem; margin-block:0;}
.sec_features ._hokenshi ._list li {position:relative; background:#fff; padding:.5em .7em .5em 2.5em;}
.sec_features ._hokenshi ._list li::before {content:""; position:absolute; left:.9em; top:1em; display:block; width:1em; aspect-ratio:5/3; rotate:-45deg; border:var(--themeBL) solid; border-width:0 0 3px 3px;}

@media (min-width:600px) {
  .sec_features ._hokenshi {grid-template-columns:3fr 8fr 13fr; grid-template-rows:auto auto auto; gap:2.5rem 2rem; margin-top:calc(var(--fsH2) * 2);}
  .sec_features ._hokenshi ._img {grid-column:1/3; grid-row:1/4;}
  .sec_features ._hokenshi ._txt {grid-column:3/4; grid-row:1/2; padding-top:1rem;}
  .sec_features ._hokenshi ._list {grid-column:2/4; grid-row:2/4;}
}
@media not (min-width:600px) {
  .sec_features ._hokenshi {margin-top:8rem; padding-top:0;}
  .sec_features ._hokenshi ._img {margin-top:-3rem; translate:var(--spPI) 0;}
  .sec_features ._hokenshi ._txt h3 {position:relative; width:fit-content; max-width:90%; margin-top:-2rem; padding:.4em .8em 0 0; background:var(--themeBL-sub2);}
  .sec_features ._hokenshi ._list {margin-top:1rem;}
}

.sec_career ._cases1 {margin-top:3rem; padding:calc(var(--fsH2) * .6) calc(var(--fsH2) * .75); padding-top:0; background:var(--neutral-sub);}
.sec_career ._cases1 h4 {width:fit-content; margin:0; padding: .1em .4em; background:var(--themeBL); color:#fff; translate:0 -50%;}
.sec_career ._cases1 h4 + * {margin-top:0;}
.sec_career ._cases2 {margin-top:1rem; background:var(--themeBL-sub);}
.sec_career ._cases2 li {position:relative; padding-left:2.5em;}
.sec_career ._cases2 li ~ li {margin-top:.4em;}
.sec_career ._cases2 li::before {content:""; position:absolute; left:.9em; top:.5em; display:block; width:1em; aspect-ratio:5/3; rotate:-45deg; border:var(--themeBL) solid; border-width:0 0 3px 3px;}


@media (min-width:600px) {
  .sec_career ._cases1 ul {display:grid; grid-template-columns:1fr 1fr;}
}

.container:has(.sec_location:last-child) {padding-bottom:0;}
.sec_location {margin-top:var(--cntPadTop); padding-block:var(--cntPadTop); background:#FFFCE2; box-shadow:-980px 0 0 #FFFCE2, -50px 0 0 #FFFCE2, 50px 0 0 #FFFCE2, 980px 0 0 #FFFCE2;}
.sec_location h2 {margin-bottom:0;}
.sec_location h2 .hdgPrefix {margin-bottom:.6em; font-size:var(--fsH4);}
.sec_location ._map {margin-top:var(--fsH2);}
.sec_location ._area {margin-top:calc(var(--fsH2)* .9); background:#11335506;}
.sec_location ._area h4 img {translate:0 -10%;}

@media (min-width:600px) {
  .sec_location ._overview {--locImg:calc(5rem + 8cqw); display:grid; grid-template-columns:var(--locImg) 1fr var(--locImg);}
  .sec_location ._overview ._img1 {order:-1;}
  .sec_location ._map {width:88%; margin-inline:auto;}
}
@media not (min-width:600px) {
  .sec_location h2 {margin-top:0;}
  .sec_location ._map .-main {margin-left:calc(var(--spPI) * -1); width:calc(100% + var(--spPI) * 2); max-width:150%;}
}

.container:has(.sec_cta:last-child) {padding-bottom:calc(var(--cntPadBtm) * .5);}
.sec_cta {padding-top:var(--cntPadTop);}
.sec_cta ._ocBtn {width:min(62.5rem,94%); margin-inline:auto;}
.sec_cta ._ocBtn a {display:block; padding:1em .6em; border-radius:.3em; background:linear-gradient(90deg, #1ac 0%, #28e 100%); text-decoration:none; text-align:center; line-height:1.3; font-size:var(--fsH3); font-weight:bold; font-family:var(--boldFonts); color:#fff; box-shadow:0 3px 0 #0002; transition:.08s all;}
.sec_cta ._ocBtn a:hover {translate:0 3px; box-shadow:0 0 0 #0002; filter:brightness(1.1);}