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

html {scroll-behavior: smooth;}
:target { scroll-margin-top: calc(110vw / 19.2); }

body {
	color:#222222; font-size:calc(21 * 0.052vw); line-height: 1.8; letter-spacing: 0;
	font-family: "M PLUS Rounded 1c", "Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; font-weight:500;
	margin: 0 auto; height: 100%; overflow-x:hidden;
}

*, *: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;}

.cone { font-family: "Changa One", serif; font-weight:400; }




.rl { -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}

button,input,textarea,select { appearance: none; -webkit-appearance: none; border:none; font-family: inherit; font-size: inherit; font-weight:600; letter-spacing: 0.1vw; }

strong,.bold { font-weight:700; }
.normal { font-weight:500; }


.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); }
.fs74vw { font-size:calc(74 * 0.052vw); }
.fs80vw { font-size:calc(80 * 0.052vw); }
.fs84vw { font-size:calc(84 * 0.052vw); }
.fs84vw { font-size:calc(84 * 0.052vw); }
.fs95vw { font-size:calc(95 * 0.052vw); }
.fs110vw { font-size:calc(100 * 0.052vw); }
.fs140vw { font-size:calc(140 * 0.052vw); }


img { border: none; vertical-align: middle; }

img.top { vertical-align: top; }
img.bottom { vertical-align: bottom; }
img.banner { border: solid 1px #DDD; }


address, em { font-style: normal; }

a { color:#222222; text-decoration: none; }

a:hover,input[type="submit"]:hover, input[type="reset"]:hover {opacity: 0.9; filter: alpha(opacity=90); -ms-filter: "alpha( opacity=90 )";}

p { transform: rotate(0.03deg); }



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

/*********** 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 { margin-left:auto; margin-right:0; 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;}
.height {justify-content: space-evenly; flex-wrap: wrap; align-items: stretch;}
.js_center {justify-content: center; }
.wrap { flex-wrap: wrap; }
.start { justify-content: flex-start; }
.end { justify-content: flex-end; }
/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }
.cover { width: 100%; height:100%; object-fit:cover; }

/****** layout ********/
.inner { width: calc(1840vw / 19.2); margin: 0 auto;}
.middle_inner { width: calc(1780vw / 19.2); margin: 0 auto;}
.low_inner { width: calc(1600vw / 19.2); margin: 0 auto;}
.minimum_inner { width: calc(800vw / 19.2); margin: 0 auto;}

.heading { width: 100%; }

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

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

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

.pc { display: unset; }
.sp { display: none; }
.grid { display: grid; }


.black { color:#222222; }
.white { color:#FFFFFF; }
.yellow { color:#F6C829; }
.green { color:#00A08D; }
.brown { color:#DAA35C; }
.red { color:#F84545; }



.green2 { color:#2C9286; }
.olive { color:#70A241; }
.gold { color:#F4BE06; }
.pale_green { color:#BFD9A6; }
.pale_gold { color:#FAE7A2; }
.gray { color:#979797; }

.bg_dark_blue { background-color:#0E2648; }
.bg_black { background-color:#222222; }
.bg_white { background-color:#FFFFFF; }
.bg_yellow { background-color:#FDD23E; }
.bg_green { background-color:#00A08D; }
.bg_brown { background-color:#DAA35C; }
.bg_red { background-color:#F84545; }
.bg_gold { background-color:#F4BE06; }
.bg_olive { background-color:#70A241; }

.bg_pale_yellow { background-color:#FFF9E3; }
.bg_pale_green { background-color:#EAF5E0; }
.bg_pale_blue { background-color:#E8FAF8; }




.ttl { position:relative; margin-block-start: 0; margin-block-end: 2em; padding-bottom: 0.5em; }

.ttl .slug { position:relative; display:block; line-height: 1; width: max-content; }

.ttl .ja { font-weight:bold; display: block; padding: 0.5em 0 0.25em 0; }
.ttl::after {
	content:""; position:absolute; z-index: 0; inset:auto auto 0 0;
	width:calc(140vw / 19.2); border-bottom: dashed 6px #FDD23E;
}


.ttl.center .slug { margin-right: auto; margin-left: auto; }
.ttl.center::after { inset:auto 0 0 0; margin: auto; }




.more {
	position:relative; display: flex; justify-content: center; align-items: center; width:calc(480vw / 19.2); height:calc(110vw / 19.2); margin-block-start: 2.5em; margin-block-end: 1em; border:solid 2px #00A08D; border-radius:50vmax;
}
.more::after {
	content:""; display:block; position:absolute; inset:auto -0.5em -0.5em auto; margin:auto; width:calc(480vw / 19.2); height:calc(110vw / 19.2); border:solid 2px #00A08D; border-radius:50vmax;
	clip-path: polygon(100% 55%, 100% 87%, 100% 100%, 88% 100%);
}
.more.brown_btn { border:solid 2px #DAA35C; }
.more.brown_btn::after { border:solid 2px #DAA35C; }

.more i { display: grid; place-items: center; position:absolute; inset:0 auto 0 0.5em; margin:auto; }
.more .anchor { transform: rotate(0.03deg); }



.more.border_white { border:solid 1px #FFFFFF; }
.more.border_white::after { background-color:#FFFFFF; }

.circle { border-radius:100vmax; }

.indent { text-indent:-1em; margin-left:1em; }


/**** animation ***************/


.fade_in { opacity: 0;transition: opacity 1s ease; }
.fade_in.active { opacity: 1; }

.fade_up { opacity: 0; transform:translateY(2vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_up.active { opacity: 1; transform:translateY(0); }


.fade_right { opacity: 0; transform:translateX(-30vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_right.active { opacity: 1; transform:translateX(0); }

.fade_left { opacity: 0; transform:translateX(30vw); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade_left.active { opacity: 1; transform:translateX(0); }


.fade_zoom { opacity: 0; transform: scale(0.3); transition: opacity 0.6s ease, transform 0.4s ease;}
.fade_zoom.active { opacity: 1; transform: scale(1); }


.scale_in {overflow: hidden;}
.scale_in img { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; overflow:hidden; }
.scale_in img:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }
.text_mask {
	color: transparent; /* 文字色は透明にして背景で塗る */
	-webkit-background-clip: text;
	background-clip: text;
	
	background-image: linear-gradient(90deg, var(--text-color) 0%, var(--text-color) 50%, transparent 50%, transparent 100%);
	background-size: 200% 100%;
	background-position: 100% 0;
	background-repeat: no-repeat;
}

.text_mask.active { animation: bg_reveal 1s linear forwards; }

@keyframes bg_reveal {
	from { background-position: 100% 0; }
	to   { background-position: 0% 0; }
}


.text_curtain { display: block; width: max-content; overflow: hidden; }
.text_curtain span { display: inline-block; padding: 0.2em 0.4em; clip-path: inset(0 100% 0 0); transition: clip-path 1s ease; }
.text_curtain.active span { clip-path: inset(0 0 0 0); }

.text_curtain em { display: inline-block; padding: 0.2em 0.4em; clip-path: inset(0 100% 0 0); transition: clip-path 1s ease; }
.text_curtain.active em { clip-path: inset(0 0 0 0); }

.text_curtain strong { display: inline-block; padding: 0.2em 0.4em; clip-path: inset(0 100% 0 0); transition: clip-path 1s ease; }
.text_curtain.active strong { clip-path: inset(0 0 0 0); }


mark.line_mark { color: inherit; background: linear-gradient(#FDD23E, #FDD23E) 0 100% / 0 0.3em no-repeat; transition: background 1s; }
mark.line_mark.active { background-size: 100% 0.3em; }

.move_illust_r { opacity:0; transform: translate(2vw,2vw) rotate(-5deg); transition:opacity 2s ease,transform 2s ease; }
.move_illust_r.active { opacity:1; transform: translate(0,0) rotate(0deg); }

.move_illust_l { opacity:0; transform: translate(-2vw,2vw) rotate(5deg); transition:opacity 2s ease,transform 2s ease; }
.move_illust_l.active { opacity:1; transform: translate(0,0) rotate(0deg); }




main { padding-top:calc(110vw / 19.2); }


#header { position:fixed; inset: 0; z-index: 999; height:calc(110vw / 19.2); }
#header .header_wrapper { padding:0.75em 0 0.75em 0; }
#header .logo { margin: 0; align-items: center; }
#header .logo a { align-items: center; }
#header .logo .logo_thumb { width:calc(120vw / 19.2); aspect-ratio: 112 / 80; margin-right: 0.3em; }
#header .logo .site_name { line-height: 1.2; }
#header .logo .site_name span { display:block; }


#header .link_list ul.flex { list-style-type:none; margin: 0; align-items: center; }
#header .link_list ul.flex .page { margin: 0 0 0 2em; }
#header .link_list ul.flex .page .menu_been { display: block; margin: 0 auto 0.15em auto; width:calc(50vw / 19.2); aspect-ratio: 50 / 24; }
#header .link_list ul.flex .page .anchor { display:block; position:relative; padding-bottom: 0.35em; transform: rotate(0.03deg); }
#header .link_list ul.flex .page .anchor::after { content:""; position:absolute; inset:auto 0 0 0; margin: 0 auto; width:calc(70vw / 19.2); border-bottom: dashed 3px #FDD23E; }

#header .drawer_content_wrapper .email_btn { width:calc(260vw / 19.2); height:calc(80vw / 19.2); border-radius:1.5em; display: flex; align-items: center; justify-content: center; margin-left: 2em; }
#header .drawer_content_wrapper .email_btn .circle { width:calc(50vw / 19.2); height:calc(50vw / 19.2); display: grid; place-items: center; margin-right: 0.75em; }


#google_translate_element {  }


.bottom_contact {
	padding:12em 0 6em 0;
	background-image:url(../img/bottom_contact_bg.webp); background-position:center top; background-size:100%; background-repeat: no-repeat;
}

.bottom_contact .low_inner { padding-left:calc(335vw / 19.2); align-items: flex-start; }
.bottom_contact .ttl { width:calc(335vw / 19.2); }
.bottom_contact .text { width:calc(755vw / 19.2); }
.bottom_contact .text .summary { margin:0 0 2em 0; }

.bottom_contact .text .email_btn { width:calc(580vw / 19.2); height:calc(120vw / 19.2); border-radius:1.16em; display: flex; align-items: center; justify-content: center; }
.bottom_contact .text .email_btn .circle { width:calc(80vw / 19.2); height:calc(80vw / 19.2); display: grid; place-items: center; margin-right: 0.75em; }




#footer { background-image:url(../img/footer_bg_top.webp); background-position:center top; background-size:100%; background-repeat: no-repeat; padding:9em 0 3em 0; }

#footer .logo { margin: 0 0 1.5em 0; align-items: center; }
#footer .logo a { align-items: center; }
#footer .logo .logo_thumb { width:calc(120vw / 19.2); aspect-ratio: 120 / 80; margin-right: 0.5em; }
#footer .logo .site_name { line-height: 1.2; }
#footer .logo .site_name span { display:block; }

#footer .location { transform: rotate(0.03deg); }


#footer .site_menu { width: calc(840vw / 19.2); }
#footer .site_menu .page_name { list-style-type: none; margin: 0; padding: 0; }
#footer .site_menu ul { list-style-type: none; padding: 0; }
#footer .site_menu ul .page_name .section_name { margin-block-start: 0.5em; }
#footer .site_menu ul .page_name .section_name li .bar { display: inline-block; margin-right: 0.4em; }
#footer .site_menu ul .page_name a { display:inline-block; transform: rotate(0.03deg); }

#footer .copy { margin-block-start: 2em; }




#ptop {
	width: calc(100vw / 19.2); height:calc(100vw / 19.2); border:solid 3px #FFFFFF; place-items:center; position: fixed; inset: auto 2em 2em auto; z-index: 100;
	opacity: 0; pointer-events: none; transition: opacity 0.5s ease;
}
#ptop.show { opacity: 1; pointer-events: auto; }


.illust0 { width: calc(326vw / 19.2); aspect-ratio: 326 / 339; inset:auto auto -1em 0; z-index: 0; }
.illust1 { width: calc(185vw / 19.2); aspect-ratio: 185 / 159; inset:auto 0 0 auto; }
.illust2 { width: calc(278vw / 19.2); aspect-ratio: 278 / 223; inset:-2.25em 2.25em 0 auto; }
.illust3 { width: calc(333vw / 19.2); aspect-ratio: 333 / 201; inset: -7em auto auto 6em; }
.illust4 { width: calc(400vw / 19.2); aspect-ratio: 400 / 253; inset: -8.25em 2em auto auto; }
.illust5 { width: calc(215vw / 19.2); aspect-ratio: 215 / 212; inset:14em auto 0 auto; z-index: 0; }
.illust6 { width: calc(315vw / 19.2); aspect-ratio: 315 / 190; inset:9em 9em 0 auto; }
.illust7 { width: calc(340vw / 19.2); aspect-ratio: 340 / 292; inset: 2em auto auto 6em; }
.illust8 { width: calc(311vw / 19.2); aspect-ratio: 311 / 239; inset: -7em 2.6em auto auto; }
.illust9 { width: calc(150vw / 19.2); aspect-ratio: 150 / 142; inset: 2.5em 2em auto auto; }
.illust10 { width: calc(376vw / 19.2); aspect-ratio: 376 / 225; inset: 12em auto auto 0; }
.illust11 { width: calc(140vw / 19.2); aspect-ratio: 140 / 235; inset: auto 2em -4em auto; }
.illust12 { width: calc(380vw / 19.2); aspect-ratio: 380 / 181; inset: calc(100vw / 19.2) auto auto calc(85vw / 19.2); }
.illust13 { width: calc(417vw / 19.2); aspect-ratio: 417 / 253; inset: calc(60vw / 19.2) calc(150vw / 19.2) auto auto; }
.illust14 { width: calc(397vw / 19.2); aspect-ratio: 397 / 188; inset: auto auto -4em calc(-55vw / 19.2); }
.illust15 { width: calc(241vw / 19.2); aspect-ratio: 241 / 194; inset: 50% calc(-50vw / 19.2) auto auto; }
.illust16 { width: calc(150vw / 19.2); aspect-ratio: 150 / 132; inset: calc(95vw / 19.2) auto auto calc(735vw / 19.2); }
.illust17 { width: calc(320vw / 19.2); aspect-ratio: 320 / 158; inset: calc(-100vw / 19.2) auto auto calc(70vw / 19.2); }
.illust18 { width: calc(320vw / 19.2); aspect-ratio: 320 / 241; inset: calc(-150vw / 19.2) calc(70vw / 19.2) auto auto; }
.illust19 { width: calc(400vw / 19.2); aspect-ratio: 400 / 188; inset: auto auto calc(-30vw / 19.2) calc(60vw / 19.2); }
.illust20 { width: calc(402vw / 19.2); aspect-ratio: 402 / 192; inset: calc(-40vw / 19.2) auto auto calc(60vw / 19.2); }
.illust21 { width: calc(361vw / 19.2); aspect-ratio: 361 / 216; inset: calc(-50vw / 19.2) calc(50vw / 19.2) auto auto; }
.illust22 { width: calc(333vw / 19.2); aspect-ratio: 333 / 596; inset: calc(300vw / 19.2) auto auto calc(-160vw / 19.2); z-index: 0; }
.illust23 { width: calc(338vw / 19.2); aspect-ratio: 338 / 341; inset: calc(1360vw / 19.2) calc(-160vw / 19.2) auto auto; z-index: 0; }
.illust24 { width: calc(180vw / 19.2); aspect-ratio: 180 / 134; inset: auto auto calc(-15vw / 19.2) calc(-55vw / 19.2); }
.illust25 { width: calc(358vw / 19.2); aspect-ratio: 358 / 350; inset: auto auto calc(240vw / 19.2) calc(-170vw / 19.2); z-index: 0; }
.illust26 { width: calc(210vw / 19.2); aspect-ratio: 210 / 176; inset: calc(-20vw / 19.2) auto auto calc(80vw / 19.2); }
.illust27 { width: calc(260vw / 19.2); aspect-ratio: 260 / 193; inset: calc(-30vw / 19.2) calc(90vw / 19.2) auto auto; }
.illust28 { width: calc(300vw / 19.2); aspect-ratio: 300 / 180; inset: calc(8vw / 19.2) auto auto calc(70vw / 19.2); }
.illust29 { width: calc(290vw / 19.2); aspect-ratio: 378 / 225; inset: calc(-23vw / 19.2) calc(115vw / 19.2) auto auto; }
.illust30 { width: calc(320vw / 19.2); aspect-ratio: 349 / 272; inset: 6em auto auto calc(200vw / 19.2); }
.illust31 { width: calc(330vw / 19.2); aspect-ratio: 383 / 224; inset: 8em calc(189vw / 19.2) auto auto; }
.illust32 { width: calc(300vw / 19.2); aspect-ratio: 300 / 198; inset: calc(-51vw / 19.2) calc(110vw / 19.2) auto auto; }
.illust33 { width: calc(205vw / 19.2); aspect-ratio: 205 / 315; inset: calc(400vw / 19.2) auto auto calc(-70vw / 19.2); z-index: 0; }
.illust34 { width: calc(200vw / 19.2); aspect-ratio: 200 / 153; inset: auto calc(70vw / 19.2) 1em auto; }
.illust35 { width: calc(280vw / 19.2); aspect-ratio: 280 / 139; inset: calc(254vw / 19.2) auto auto calc(191vw / 19.2); }
.illust36 { width: calc(190vw / 19.2); aspect-ratio: 190 / 172; inset: calc(207vw / 19.2) calc(250vw / 19.2) auto auto; }


#fv { padding: 0.5em 0 5em 0; }
#fv .slider { width:100%; }
#fv .slide { width:100%; overflow:hidden; }
#fv .text { inset: 10.75em auto 0 5.5em; }


#fv .text .catch.text_curtain span { border-top-right-radius: 1em; border-bottom-left-radius: 1em; margin-block-start: 0.5em; padding: 0.1em 0.5em 0.1em 0.75em; }
#fv .text .catch2 { text-shadow:0 4px 10px rgba(0,0,0,0.5); line-height: 1.5; }

#fv .fv_recruit {
	background-image:url(../img/home/fv_recruit_bg.webp); inset: auto 3em 3em auto; width:calc(420vw / 19.2); height:calc(200vw / 19.2); padding:1em 1.25em 1em 1.25em;
	border-top-left-radius: 1.5em; border-bottom-right-radius: 1.5em;
}
#fv .fv_recruit_illust { width: calc(127vw / 19.2); aspect-ratio: 127 / 97; inset: 2em 0.5em auto auto; }

#fv .fv_recruit .box { margin:0; }
#fv .fv_recruit .box dt { width:max-content; border-bottom:dashed 3px #FDD23E; line-height: 1.2; padding-bottom: 0.35em; }
#fv .fv_recruit .box dt i { margin-right:0.4em; }
#fv .fv_recruit .box dd { margin:0; padding: 0.5em 0 0 0; }




#top_about { padding: 0 0 6em 0; }
#top_about .text { width:calc(830vw / 19.2); margin-left: calc(120vw / 19.2); }
#top_about .thumb { width:calc(843vw / 19.2); height: calc(593vw / 19.2); aspect-ratio: 843 / 593;  }

#top_about .text .catch .curtain { padding-right:2em; border-top-right-radius:50vmax; border-bottom-right-radius:50vmax; }

#top_about .button_block {  }
#top_about .button_block .more { width: calc(740vw / 19.2); }



#top_strengths { border-top-right-radius: 6em; border-top-left-radius: 6em; padding: 3em 0 3em; bottom: -1px; }

#top_strengths .ttl { width: max-content; position: absolute; z-index: 2; inset: -4em 0 auto 0; padding: 0 2.75em 1em 2.75em; }

#top_strengths .content { border-top-right-radius: 6em; border-top-left-radius: 6em; padding: 6em 3em 3em 3em; }


#top_strengths .box { width:calc(490vw / 19.2); }
#top_strengths .box dt { justify-content: flex-start; }
#top_strengths .box dt .num { width:calc(90vw / 19.2); height: calc(90vw / 19.2); display: grid; place-items: center; margin-right:0.3em; }
#top_strengths .box dt strong { line-height: 1.5; }

#top_strengths .box dd { margin:0; padding:1em 0 0 0; }
#top_strengths .box dd .thumb { display:block; margin-block-end:1em; width:100%; aspect-ratio: 48 / 32;}
#top_strengths .box dd a.flex { transform: rotate(0.03deg); align-items: center; }


#top_works { background-image:url(../img/home/top_works_bg.webp); background-position:center top; background-size:cover; background-repeat:no-repeat; padding: 10em 0 3.75em; }

#top_works .content { margin-block-start:4em; margin-block-end: 4.25em; }
#top_works .content .box { width:calc(860vw / 19.2); height:calc(310vw / 19.2); margin: 0; filter:drop-shadow(0 4px 8px rgba(0,0,0,0.1)); border-radius:1em; }
#top_works .content .box .thumb { width:calc(310vw / 19.2); aspect-ratio: 1 / 1; border-top-left-radius: 0.5em; border-bottom-left-radius: 0.5em; overflow: hidden; }
#top_works .content .box .text { width:calc(550vw / 19.2); padding:1em; }
#top_works .content .box .text dl { margin:0; }
#top_works .content .box .text dl dt { position:relative; padding: 0 0 1em 0; }
#top_works .content .box .text dl dt::after {
	content:""; position:absolute; z-index: 0; inset:auto auto 0 0;
	width:10.5em; border-bottom: dashed 3px #E1B985;
}
#top_works .content .box .text dl dt p.flex { justify-content: flex-start; align-items: center; margin:0; }
#top_works .content .box .text dl dt p.flex strong { margin-right: 1em; }

#top_works .content .box .text dl dd { margin:0; padding:1em 0 0 0; }


#top_recruit { padding: 0 0 2em 0; background: linear-gradient(to bottom, #00A08D 0, #00A08D 75%, #FFFFFF 75%, #FFFFFF 100%); }

#top_recruit .ttl { position:relative; bottom: -7em; z-index: 2; width:max-content; padding: 0 2.75em 1em 2.75em; border-radius:1.5em; }
#top_recruit .ttl::after { display:none; }

#top_recruit .top_recruit_wrapper { border-radius:6em; padding: 3em 2em 1em 2em; }
#top_recruit .top_recruit_wrapper .content .thumb { width:calc(819vw / 19.2); aspect-ratio: 819 / 774; margin-block-start:4em; }
#top_recruit .top_recruit_wrapper .content .text { width:calc(800vw / 19.2); }


#top_recruit .top_recruit_wrapper .content .check_list { border-top:dashed 4px #E1B985; padding: 0.5em 0 0 0; }
#top_recruit .top_recruit_wrapper .content .check_list .check_table {  }
#top_recruit .top_recruit_wrapper .content .check_list .check_table dt { width: 14em; }
#top_recruit .top_recruit_wrapper .content .check_list .check_table dt .flex { justify-content: flex-start; align-items: center; }
#top_recruit .top_recruit_wrapper .content .check_list .check_table dt .icon_check { width:calc(40vw / 19.2); aspect-ratio: 8 / 7; margin-right:1em; }
#top_recruit .top_recruit_wrapper .content .check_list .check_table dt span { text-box: trim-both cap alphabetic; padding: 0.75em 1em 0.75em 1em; border-radius: 50vmax; }
#top_recruit .top_recruit_wrapper .content .check_list .check_table dd { vertical-align: middle; }

#top_recruit .top_recruit_wrapper .section_list { margin: 2em 0 4em 0; }
#top_recruit .top_recruit_wrapper .section_list .box {
	width:calc(390vw / 19.2); padding: 0.25em 1em 0.75em 1em; margin: 0 calc(40vw / 19.2) 0 0;
	border:solid 3px #E1B985; border-top-right-radius:1.5em; border-bottom-left-radius:1.5em; filter:drop-shadow(2px 4px 8px rgba(0,0,0,0.1));
}
#top_recruit .top_recruit_wrapper .section_list .box:nth-of-type(4n) { margin-right:0; }


#top_recruit .top_recruit_wrapper .section_list .box .slug { display: block; text-align: center; }
#top_recruit .top_recruit_wrapper .section_list .box .section_list_thumb { display: block; width: calc(219vw / 19.2); aspect-ratio: 149 / 90; margin: 0.5em auto 0.5em auto; }
#top_recruit .top_recruit_wrapper .section_list .box .anchor { display: block; text-align: center; }
#top_recruit .top_recruit_wrapper .section_list .box .line { position:relative; display:block; }
#top_recruit .top_recruit_wrapper .section_list .box .line::before {
	content:""; position:absolute; inset:0 auto 0 0; margin:auto; width: calc(260vw / 19.2); height: 1px; border-bottom:dashed 4px #FDD23E;
}










/*********** page header **********************************/

.page_header {
	height: calc(600vw / 19.2); place-items: center;
	background-image:url(../img/page_header_bg.webp); background-position:center center; background-size:cover; background-repeat:no-repeat;
}

.page_header .page_header_ttl { z-index: 3; margin: 0; text-align: center; padding-bottom: 1em; }
.page_header .page_header_ttl .slug { display: block; line-height: 1; }
.page_header .page_header_ttl .ja { display: block; padding: 0.4em 0 0 0; }
.page_header .page_header_ttl::after {
	content:""; position:absolute; z-index: 0; inset:auto 0 0 0; margin: 0 auto;
	width: calc(140vw / 19.2); border-bottom: dashed 6px #00A08D;
}

.page_header .page_header_left_img { width: calc(680vw / 19.2); inset: calc(20vw / 19.2) auto auto 0; }
.page_header .page_header_right_img { width: calc(660vw / 19.2); inset: calc(20vw / 19.2) 0 auto auto; }

#page_header_contact .page_header_left_img { aspect-ratio: 680 / 633; }
#page_header_contact .page_header_right_img { aspect-ratio: 660 / 617; }

#page_header_about .page_header_left_img { aspect-ratio: 680 / 643; }
#page_header_about .page_header_right_img { aspect-ratio: 660 / 617; }


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

#contact_hero { padding: calc(75vw / 19.2) 0 calc(70vw / 19.2) 0; }
#contact_hero .contact_hero_wrapper { position:relative; z-index: 2; }
#contact_hero .catch { width: max-content; max-width: 100%; margin: 0 auto 1em auto; line-height: 1.5; }
#contact_hero .summary { width: max-content; max-width: 100%; margin: 0 auto; }


.deco_band {
	height: calc(173vw / 19.2);
	background-image:url(../img/bottom_contact_bg.webp); background-position:center top; background-size:100%; background-repeat: no-repeat;
}


#contact { padding: calc(90vw / 19.2) 0 6em 0; }

#contact .contact_head { width: calc(1320vw / 19.2); margin: 0 auto calc(70vw / 19.2) auto; align-items: flex-start; }
#contact .contact_head .ttl { width: max-content; margin-block-end: 0; padding-bottom: 0.75em; }
/*#contact .contact_head .ttl::after { width: calc(145vw / 19.2); border-bottom: dashed 5px #FDD23E; }*/
#contact .contact_head .summary { width: max-content; max-width: calc(760vw / 19.2); margin: 0.75em 0 0 0; }


#contact .form .box { margin: 0; }
#contact .form .box + .box { border-top: dashed 2px #D9D9D9; }

#contact .form .box dt { width: calc(370vw / 19.2); vertical-align: top; padding: calc(61vw / 19.2) 0 calc(40vw / 19.2) 0; }
#contact .form .box dt .field { width: calc(220vw / 19.2); transform: rotate(0.03deg); }
#contact .form .box dt .required,
#contact .form .box dt .any {
	width: calc(60vw / 19.2); height: calc(32vw / 19.2); line-height: 1; border: solid 1px #00A08D;
	display: grid; place-items: center; border-radius: calc(10vw / 19.2);
}

#contact .form .box dd { vertical-align: top; padding: calc(40vw / 19.2) 0; }
#contact .form .box dd .value { display: block; padding: calc(17vw / 19.2) 0; transform: rotate(0.03deg); }
#contact .form .box dd .error { display: block; padding: 0 0 0.35em 0; }
#contact .form .box dd .memo { display: block; padding: 0.75em 0 0.5em 0; transform: rotate(0.03deg); }

#contact .form .box dd input[type="text"],
#contact .form .box dd input[type="tel"],
#contact .form .box dd input[type="email"],
#contact .form .box dd textarea {
	width: 100%; height: calc(80vw / 19.2); padding: 0 calc(35vw / 19.2); color:#222222;
	background-color:#FFF9E3; border-radius: calc(10vw / 19.2);
}
#contact .form .box dd textarea { height: calc(260vw / 19.2); padding: calc(24vw / 19.2) calc(35vw / 19.2); line-height: 1.5; }

#contact .form .box dd input::placeholder,
#contact .form .box dd textarea::placeholder { color:#979797; font-weight:500; }

#contact .confirm_form .box dt,
#contact .confirm_form .box dd { padding: calc(46vw / 19.2) 0; }
#contact .confirm_form .box dd .value { padding: 0 0 0 calc(35vw / 19.2); }

#contact .send_box { margin-block-start: calc(40vw / 19.2); }
#contact .send_box .more { margin-block-start: calc(30vw / 19.2); margin-block-end: calc(30vw / 19.2); background-color:transparent; cursor:pointer; }
#contact .confirm_form .send_box { margin-block-start: 0; }
#contact .confirm_form .send_box .back_btn { margin-left: calc(290vw / 19.2); }
#contact .confirm_form .send_box .send_btn { margin-right: calc(290vw / 19.2); }

#contact .form_btn i { inset: 0 auto 0 calc(48vw / 19.2); }
#contact .send_btn i { inset: 0 calc(48vw / 19.2) 0 auto; }
#contact .form_btn { border-width: 3px; }
#contact .form_btn::after { border-width: 3px; }
#contact .send_btn, #contact .send_btn::after, #contact .next, #contact .next::after { border-color:#E1B985; }


#contact .message_box { padding: calc(20vw / 19.2) 0 calc(60vw / 19.2) 0; }
#contact .message_box .lead { margin: 0 0 1em 0; }
#contact .message_box .summary { margin: 0 0 1.5em 0; }
#contact .message_box .illust13 { inset: auto calc(40vw / 19.2) calc(-60vw / 19.2) auto; transform: none; }
#contact .message_box .illust15 { inset: auto calc(60vw / 19.2) calc(-60vw / 19.2) auto; transform: none; }


/*********** about ****************************************/

#vision { padding: 6em 0 6em 0; }

#vision .vision_wrapper { align-items: flex-start; }

#vision .thumb_block { width: calc(843vw / 19.2); }
#vision .thumb_block .ttl { margin-block-end: 1.25em; }
#vision .thumb_block .thumb { display: block; width: 100%; aspect-ratio: 888 / 597; }

#vision .text { width: calc(830vw / 19.2); }
#vision .text .lead { width: max-content; max-width: 100%; margin: 0 0 1.25em 0; padding: 0.3em 0.6em; border-radius: calc(8vw / 19.2); }
#vision .text .summary { margin: 0 0 1.75em 0; line-height: 2.2; }
#vision .text .catch { margin: 0; line-height: 1.8; }


#company { padding: calc(60vw / 19.2) 0 calc(60vw / 19.2) 0; }

#company .company_wrapper {
	border: solid 3px #DAA35C; border-radius: calc(60vw / 19.2);
	padding: calc(155vw / 19.2) calc(65vw / 19.2) calc(45vw / 19.2) calc(65vw / 19.2);
}

#company .ttl { width: max-content; position: absolute; z-index: 2; inset: calc(-70vw / 19.2) 0 auto 0; margin: 0 auto; padding: 0 2.75em 1em 2.75em; }
#company .ttl::after { border-bottom: dashed 5px #DAA35C; }

#company .content { align-items: flex-start; }

#company .company_table { width: calc(820vw / 19.2); }
#company .company_table .box { margin: 0; border-bottom: dashed 2px #DDDDDD; }
#company .company_table .box dt { width: calc(165vw / 19.2); vertical-align: top; padding: calc(20vw / 19.2) 0; }
#company .company_table .box dd { vertical-align: top; padding: calc(20vw / 19.2) 0; }

#company .map { width: calc(820vw / 19.2); aspect-ratio: 820 / 490; }
#company .map #gmap { display: block; width: 100%; height: 100%; }


/*********** business *************************************/

#strengths { padding: calc(120vw / 19.2) 0 calc(90vw / 19.2) 0; }
#strengths .ttl { margin-block-end: 1.5em; }

#strengths .box {
	border-radius: calc(120vw / 19.2); padding: calc(53vw / 19.2) calc(90vw / 19.2) calc(70vw / 19.2) calc(90vw / 19.2);
	margin-block-end: calc(70vw / 19.2); filter: drop-shadow(2px 4px 8px rgba(0, 0, 0, 0.1));
}
#strengths .box .content { align-items: flex-start; }
#strengths .box .text { width: calc(770vw / 19.2); }
#strengths .box .thumb { width: calc(770vw / 19.2); }
#strengths .box .thumb img { display: block; width: 100%; margin-block-start: 8em; }


#strengths .box_ttl { justify-content: flex-start; align-items: center; margin: 0 0 calc(52vw / 19.2) 0; }
#strengths .box_ttl .num { width: calc(100vw / 19.2); height: calc(100vw / 19.2); display: grid; place-items: center; margin-right: calc(33vw / 19.2); }
#strengths .box_ttl strong { line-height: 1.475; letter-spacing: 0.05em; }

#strengths .box .catch { margin: 0 0 calc(24vw / 19.2) 0; line-height: 1.765; letter-spacing: 0.05em; padding-bottom: calc(32vw / 19.2); border-bottom: dashed 4px #E1B985; }
#strengths .box .summary { margin: 0 0 calc(50vw / 19.2) 0; line-height: 2.38; letter-spacing: 0.03em; }


#strengths .action_box { border: solid 3px #FDD23E; border-radius: 1.5em; padding: 4em 1.75em 1.75em 1.75em; }
#strengths .action_ttl { width: max-content; position: absolute; z-index: 2; inset: calc(-27vw / 19.2) 0 auto 0; margin: 0 auto; padding: 0 1.25em 0.75em 1.25em; }
#strengths .action_ttl::after { content:""; position:absolute; z-index:0; inset:auto 0 0 0; margin:0 auto; width: calc(254vw / 19.2); border-bottom: solid 6px #FDD23E; }

#strengths .action_list { margin: 0 0 calc(39vw / 19.2) 0; }
#strengths .action_list:last-of-type { margin-block-end: 0; }
#strengths .action_list dt { width: calc(100vw / 19.2); vertical-align: top; }
#strengths .action_list dt .icon { width: calc(80vw / 19.2); height: calc(80vw / 19.2); place-items: center; }
#strengths .action_list dt .icon .icon1 { width: calc(43vw / 19.2); aspect-ratio: 44 / 53; }
#strengths .action_list dd { vertical-align: top; }
#strengths .action_list dd strong { display: block; line-height: 1.48; letter-spacing: 0.05em; }
#strengths .action_list dd span { display: block; line-height: 2.5; letter-spacing: 0.03em; }


#strengths .quality_list { margin-block-start: calc(60vw / 19.2); }
#strengths .quality_box {
	width: calc(500vw / 19.2); height: calc(480vw / 19.2); margin: 0; border-radius: calc(30vw / 19.2); overflow: hidden;
	filter: drop-shadow(2px 4px 8px rgba(0, 0, 0, 0.1));
}
#strengths .quality_box dt { display: flex; align-items: center; padding: calc(30vw / 19.2) 0 0 calc(21vw / 19.2); }
#strengths .quality_box dt .icon { width: calc(80vw / 19.2); height: calc(80vw / 19.2); flex: none; place-items: center; margin-right: 1em; }
#strengths .quality_box dt .slug { line-height: 1; letter-spacing: 0.08em; }
#strengths .quality_box dt .ja { margin-left: calc(35vw / 19.2); letter-spacing: 0.05em; }
#strengths .quality_box dd { margin: 0; padding: 0; }
#strengths .quality_box dd .summary { margin: 0; padding: calc(20vw / 19.2) calc(28vw / 19.2) 0 calc(124vw / 19.2); line-height: 2.05; letter-spacing: 0.05em; }
#strengths .quality_box dd .quality_thumb { display: block; width: 100%; aspect-ratio: 500 / 270; object-fit: cover; margin-block-start: calc(20vw / 19.2); }


#strengths .step_list { justify-content: center; align-items: flex-start; margin-block-start: calc(46vw / 19.2); }
#strengths .step_list .step { width: max-content; margin: 0; text-align: center; }
#strengths .step_list .step .icon { width: calc(100vw / 19.2); height: calc(100vw / 19.2); place-items: center; margin: 0 auto 0.4em auto; background-color:#FFFFFF; border: solid 2px #00A08D; }
#strengths .step_list .step:last-child .icon { border: solid 2px #70A241; }
#strengths .step_list .step .anchor { display: block; }
#strengths .step_list .arrow { place-items: center; height: calc(100vw / 19.2); margin: 0 calc(35vw / 19.2); }


#strengths .smart_list { margin-block-start: calc(90vw / 19.2); align-items: stretch; }
#strengths .smart_box {
	width: calc(500vw / 19.2); margin: 0; padding: 4em 0 0 0;
	border: solid 1px #E1B985; border-radius: 1.5em; filter: drop-shadow(2px 4px 8px rgba(0, 0, 0, 0.1));
}
#strengths .smart_box dt { text-align: center; padding: 0 calc(24vw / 19.2); }
#strengths .smart_box dt .smart_icon { width: calc(130vw / 19.2); height: calc(130vw / 19.2); place-items: center; inset: calc(-65vw / 19.2) 0 auto 0; margin: 0 auto; border: solid 1px #00A08D; }
#strengths .smart_box dt .smart_icon img { display: block; width: calc(72vw / 19.2); height: auto; }
#strengths .smart_box dt strong { display: block; position: relative; z-index: 3; line-height: 1.5; letter-spacing: 0.05em; }
#strengths .smart_box dd { margin: 0; padding: 0; }
#strengths .smart_box dd .summary { margin: 0; padding: calc(11vw / 19.2) calc(24vw / 19.2) 0 calc(24vw / 19.2); text-align: center; line-height: 2.05; letter-spacing: 0.05em; }
#strengths .smart_box dd .smart_thumb { display: block; width: 100%; aspect-ratio: 500 / 270; object-fit: cover; margin-block-start: calc(28vw / 19.2); border-radius: 0 0 calc(30vw / 19.2) calc(30vw / 19.2); }


#strengths .formula_list { align-items: center; margin-block-start: calc(51vw / 19.2); }
#strengths .formula_box { width: calc(480vw / 19.2); height: calc(180vw / 19.2); margin: 0; border: solid 1px #00A08D; border-radius: calc(30vw / 19.2); padding: 0 calc(20vw / 19.2); }
#strengths .formula_box dt { width: calc(210vw / 19.2); vertical-align: middle; }
#strengths .formula_box dt .formula_thumb { display: block; width: calc(190vw / 19.2); height: auto; }
#strengths .formula_box dd { vertical-align: middle; line-height: 2.04; letter-spacing: 0.03em; }
#strengths .formula_list .sign { place-items: center; width: calc(80vw / 19.2); }


#works {
	padding: calc(120vw / 19.2) 0 calc(110vw / 19.2) 0;
	background-image:url(../img/page_header_bg.webp); background-position:center top; background-size:cover; background-repeat:no-repeat;
}
#works .ttl { margin-block-end: 1.5em; }

#works .works_list { justify-content: space-around; align-items: stretch; margin-block-start: 4em; }
#works .works_box { width: calc(840vw / 19.2); border-radius: calc(30vw / 19.2); padding: calc(40vw / 19.2); filter: drop-shadow(2px 4px 8px rgba(0, 0, 0, 0.1)); }

#works .works_head { justify-content: flex-start; align-items: center; margin:0 0 1.25em 0; }
#works .works_head dt { width: calc(113vw / 19.2); }
#works .works_head dd { margin: 0; }
#works .works_head dd .slug { display: block; line-height: 1.05; letter-spacing: 0.05em; }
#works .works_head dd .ja { display: block; padding-top: calc(22vw / 19.2); line-height: 1.25; letter-spacing: 0.05em; }

#works .works_thumb { display: block; width: 100%; aspect-ratio: 760 / 440; object-fit: cover; border-radius: calc(30vw / 19.2); }
#works .works_box .summary { margin: 1.5em 0 1.5em 0; line-height: 2.14; letter-spacing: 0.05em; }

#works .point_list { flex-wrap: wrap; }
#works .point { width: calc(380vw / 19.2); margin: 0 0 calc(37vw / 19.2) 0; }
#works .point dt { width: 6.5em; vertical-align: top; }
#works .point dt .icon { width: calc(110vw / 19.2); height: calc(110vw / 19.2); place-items: center; }
#works .point dd { vertical-align: top; }
#works .point dd strong { display: block; line-height: 1.48; letter-spacing: 0.05em; }
#works .point dd span { display: block; line-height: 1.75; letter-spacing: 0.04em; }


/*********** recruit **************************************/

#page_header_recruit .page_header_left_img { aspect-ratio: 680 / 643; }
#page_header_recruit .page_header_right_img { aspect-ratio: 660 / 617; }


#message { padding: calc(120vw / 19.2) 0 calc(90vw / 19.2) 0; }
#message .ttl { margin-block-end: 1.5em; }

#message .message_wrapper { justify-content: flex-start; align-items: flex-start; }
#message .message_wrapper .thumb { width: calc(800vw / 19.2); margin-right: calc(120vw / 19.2); }
#message .message_wrapper .thumb img { display: block; width: 100%; aspect-ratio: 819 / 774; }
#message .message_wrapper .text { width: calc(770vw / 19.2); }

#message .text .catch { margin: 0 0 calc(26vw / 19.2) 0; line-height: calc(68vw / 19.2); letter-spacing: 0.13em; }
#message .text .catch2 { margin: 0 0 calc(27vw / 19.2) 0; line-height: 1.765; letter-spacing: 0.05em; padding-bottom: calc(26vw / 19.2); border-bottom: dashed 4px #E1B985; }
#message .text .summary { margin: 0 0 calc(46vw / 19.2) 0; line-height: 2.38; letter-spacing: 0.03em; }
#message .text .pr_text { margin: 0; line-height: calc(60vw / 19.2); letter-spacing: 0.03em; }


#benefits { padding: calc(100vw / 19.2) 0 0 0; }
#benefits .ttl { position: relative; z-index: 2; margin-block-end: 0; padding-bottom: 1em; }

#benefits .benefits_wave { position: relative; z-index: 0; margin-block-start: calc(-56vw / 19.2); line-height: 0; }
#benefits .benefits_wave svg { display: block; width: 100%; height: auto; }

#benefits .benefits_wrapper { margin-block-start: -1px; padding: 6em 0 calc(100vw / 19.2) 0; }

#benefits .benefits_box {
	width: calc(560vw / 19.2); height: calc(760vw / 19.2); margin: 0; position: relative;
	border-radius: calc(40vw / 19.2); padding: calc(42vw / 19.2) 0 calc(24vw / 19.2) 0;
}
#benefits .benefits_box .num { z-index: 0; width: calc(130vw / 19.2); height: calc(130vw / 19.2); place-items: center; inset: calc(-70vw / 19.2) 0 auto 0; margin: 0 auto; }
#benefits .benefits_box .num em { line-height: calc(64vw / 19.2); letter-spacing: 0.05em; margin-bottom: calc(14vw / 19.2); }

#benefits .benefits_box dt { padding: 0 calc(30vw / 19.2) calc(30vw / 19.2) calc(46vw / 19.2); }
#benefits .benefits_box dt .head { position: relative; z-index: 3; justify-content: flex-start; align-items: center; }
#benefits .benefits_box dt .head::after { content:""; position:absolute; z-index: 0; inset: auto auto calc(-29vw / 19.2) calc(184vw / 19.2); width: calc(100vw / 19.2); border-bottom: solid 8px #FDD23E; }
#benefits .benefits_box dt .head .benefits_icon { width: calc(115vw / 19.2); height: auto; flex: none; margin-right: calc(40vw / 19.2); }
#benefits .benefits_box dt .head strong { line-height: 1.58; letter-spacing: 0.08em; }

#benefits .benefits_box dd { margin: 0; padding: 0; }
#benefits .benefits_box dd .summary { margin: 0; padding: calc(21vw / 19.2) calc(40vw / 19.2) 0 calc(40vw / 19.2); line-height: 2.38; letter-spacing: 0.05em; }
#benefits .benefits_box dd .benefits_thumb { display: block; position: absolute; inset: auto 0 calc(24vw / 19.2) 0; width: calc(500vw / 19.2); aspect-ratio: 500 / 260; object-fit: cover; border-radius: calc(30vw / 19.2); margin: 0 auto; }


#requirements {
	padding: 4em 0 6em 0;
	background-image:url(../img/page_header_bg.webp); background-position:center top; background-size:cover; background-repeat:no-repeat;
}

#requirements .requirements_head { align-items: flex-start; margin-block-end: calc(70vw / 19.2); }
#requirements .requirements_head .ttl { width: max-content; margin-block-end: 0; padding-bottom: 0.75em; }
#requirements .requirements_head .catch { width: calc(690vw / 19.2); margin: 0 calc(100vw / 19.2) 0 0; line-height: calc(80vw / 19.2); letter-spacing: 0.12em; }

#requirements .requirements_table { border-radius: calc(40vw / 19.2); padding: calc(41vw / 19.2) calc(75vw / 19.2); filter: drop-shadow(2px 4px 8px rgba(0, 0, 0, 0.1)); }
#requirements .requirements_table .box { margin: 0; padding: calc(20vw / 19.2) 0; }
#requirements .requirements_table .box:first-of-type { padding-top: 0; }
#requirements .requirements_table .box + .box { border-top: dashed 2px #ACD7D2; }
#requirements .requirements_table .box dt { width: 8em; vertical-align: top; }
#requirements .requirements_table .box dt .flex.start { align-items: center; }

#requirements .requirements_table .box dt .icon { width: calc(80vw / 19.2); height: calc(80vw / 19.2); place-items: center; margin-right: 1em; }
#requirements .requirements_table .box .field { display: table-cell; width: 8em; vertical-align: top; padding-top: calc(25vw / 19.2); transform: rotate(0.03deg); }
#requirements .requirements_table .box .detail { display: table-cell; vertical-align: top; padding-top: calc(25vw / 19.2); line-height: 2.38; letter-spacing: 0.05em; transform: rotate(0.03deg); }
#requirements .requirements_table .box .detail .indent { display: inline-block; }

#person {
	padding: 10em 0 6em 0;
	background-image:url(../img/recruit/person_top_bg.webp); background-position:center top; background-size:100%; background-repeat: no-repeat;
}
#person .ttl { margin-block-end: 1.5em; }

#person .person_bar { z-index: 0; width: calc(80vw / 19.2); line-height: 0; }
#person .person_bar svg { display: block; width: 100%; height: auto; }
#person .person_bar_left { inset: calc(278vw / 19.2) auto auto 0; }
#person .person_bar_right { inset: calc(278vw / 19.2) 0 auto auto; }
#person .person_bar_right svg { transform: scaleX(-1); }

#person .person_list { align-items: flex-start; position: relative; z-index: 2; }
#person .person_box { width: calc(480vw / 19.2); margin: 0; text-align: center; }
#person .person_box dt .person_thumb { display: block; width: calc(480vw / 19.2); aspect-ratio: 480 / 400; margin: 1em auto 1em auto; }
#person .person_box dd { margin: 0; padding: calc(26vw / 19.2) 0 0 0; }
#person .person_box dd .person_icon { display: block; height: calc(76vw / 19.2); width: auto; margin:0 auto 1em auto; }
#person .person_box dd strong { display: block; line-height: calc(60vw / 19.2); letter-spacing: 0.05em; }
#person .person_box:last-child dd strong { line-height: calc(50vw / 19.2); }
