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


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

body {
	color:#000000; font-size:calc(18 * 0.054vw); line-height: 1.8; letter-spacing: 0.04em;
	font-family: "Noto Sans JP",-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic UI", Meiryo, sans-serif;
	font-weight:400; 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;}

.bon { font-family: "Boldonse", system-ui; font-weight: 400; font-style: normal; letter-spacing: 0.08em; }

.bold7 { font-weight:700; }
.bold { font-weight:900; }


.fs10vw { font-size:calc(10 * 0.054vw); } 
.fs12vw { font-size:calc(12 * 0.054vw); }
.fs14vw { font-size:calc(14 * 0.054vw); }
.fs15vw { font-size:calc(15 * 0.054vw); }
.fs16vw { font-size:calc(16 * 0.054vw); }
.fs17vw { font-size:calc(17 * 0.054vw); }
.fs18vw { font-size:calc(18 * 0.053vw); }
.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); }
.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); }
.fs48vw { font-size:calc(48 * 0.052vw); }
.fs50vw { font-size:calc(50 * 0.052vw); }
.fs52vw { font-size:calc(52 * 0.052vw); }
.fs54vw { font-size:calc(54 * 0.052vw); }
.fs55vw { font-size:calc(55 * 0.052vw); }
.fs56vw { font-size:calc(56 * 0.052vw); }
.fs58vw { font-size:calc(58 * 0.052vw); }
.fs60vw { font-size:calc(60 * 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); }
.fs90vw { font-size:calc(90 * 0.052vw); }
.fs100vw { font-size:calc(100 * 0.052vw); }
.fs150vw { font-size:calc(150 * 0.052vw); }


img { border: none; vertical-align: middle; backface-visibility: hidden; }

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

input,button,textarea { appearance:none; -webkit-appearance:none; font-family: inherit; font: inherit; color: inherit; }
button { border: none; cursor:pointer; background: none; }


address, em { font-style: normal; }

mark { background: linear-gradient(#fbe2ac, #fbe2ac) 0 100% / 0 0.3em no-repeat; background-size: 100% 0.3em; }

a { color: #000000; text-decoration: none; }
a.underline { text-decoration:underline; }

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

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

.circle { display:inline-block; border-radius:100vmax; }


/*********** 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; }
.text_left { margin-right:auto; margin-left:0; text-align:left; }
/******* 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;
}
.height {flex-wrap: wrap; align-items: stretch;}
.js_center {justify-content: center;}
/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }
.fit img {
	margin: auto; width: 100%; min-height: 100%; object-fit: cover; font-family: 'object-fit: contain;';
	position: absolute; top: 0; left: 0; bottom: 0; right: 0;
}
/****** layout ********/
.inner {width: calc(1860vw / 19.2); margin: 0 auto;}
.wide_inner { width: calc(1790vw / 19.2); margin: 0 auto; }
.roomy_inner { width: calc(1680vw / 19.2); margin: 0 auto; }
.middle_inner {width: calc(1580vw / 19.2); margin: 0 auto;}
.low_inner {width: calc(1440vw / 19.2); margin: 0 auto;}
.narrow_inner {width: calc(1330vw / 19.2); margin: 0 auto;}
.minimum_inner {width: calc(1220vw / 19.2); margin: 0 auto;}

.heading { width: 100%; }

/* image parent cover *******/
.fit { position: relative; 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; }

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


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

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

.black { color:#000000; --color: #000000; }
.white { color:#FFFFFF; --color: #FFFFFF; }
.dark { color:#404040; --color: #404040; }
.shilver { color:#e5e6e5; --color: #e5e6e5; }
.green { color:#69b092; --color: #69b092; }
.light_green { color:#d7e9e1; --color: #d7e9e1; }
.orange { color:#f1ab18; --color: #f1ab18; }
.red { color:#da2668; --color: #da2668; }
.light_red { color:#f7657c; --color: #f7657c; }
.blue { color:#76b5d9; --color: #76b5d9; }


.bg_black { background-color:#000000; --bg_color: #00000; }
.bg_white { background-color:#FFFFFF; --bg_color: #FFFFFF; }
.bg_dark { background-color:#454442; --bg_color: #454442; }
.bg_dark2 { background-color:#404040; --bg_color: #404040; }
.bg_gray { background-color:#e1e1e1; --bg_color: #e1e1e1; }
.bg_light_gray { background-color:#f8f8f8; --bg_color: #f8f8f8; }
.bg_shilver { background-color:#e7e7e5; --bg_color: #e7e7e5; }
.bg_green { background-color:#69b092; --bg_color: #69b092; }
.bg_light_green { background-color:#d7e9e1; --bg_color: #d7e9e1; }
.bg_red { background-color:#da2668; --bg_color: #da2668; }
.bg_light_red { background-color:#f7657c; --bg_color: #f7657c; }
.bg_pink { background-color:#fde6ea; --bg_color: #fde6ea; }

.bg_orange { background-color:#f1ab18; --bg_color: #f1ab18; }
.bg_light_orange { background-color:#fdf2db; --bg_color: #fdf2db; }
.bg_blue { background-color:#76b5d9; --bg_color: #76b5d9; }
.bg_light_blue { background-color:#e4f0f7; --bg_color: #e4f0f7; }



.gradation { background: linear-gradient(to right, #f2af05 0%, #d91a69 100%); }

.shading {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #e5e5e4 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #e5e5e4 calc(100% - 1px));
	background-size: 0.78125vw 0.78125vw; background-repeat: repeat; background-position: center center; background-color: #f8f8f8;
}

.shading_white {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #e3e3e2 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #e3e3e2 calc(100% - 1px));
	background-size: 0.78125vw 0.78125vw; background-repeat: repeat; background-position: center center; background-color: #ffffff;
}

.bar_orange { border-left:solid 8px #f9cb69; }
.bar_green { border-left:solid 8px #69b092; }
.bar_red { border-left:solid 8px #f7657c; }
.bar_blue { border-left:solid 8px #76b5d9; }

.ttl { font-size: 1em; margin-block-start: 0; margin-block-end: 3em; }
.ttl .slug { display:block; }
.ttl .ja { display:inline-block; }

.ttl2 { font-size: 1em; margin-block-start: 0; margin-block-end: 2em; }
.ttl2 .illust11 { top:-2em; left:-6em;}
.ttl2 .ja { display:block; }


.more {
	display:flex; justify-content:center; align-items: center; width: calc(350vw / 19.2); height: calc(70vw / 19.2); border-radius: 50vmax;
	margin-block-start: 3em; border:solid 2px #000000; position:relative;
}
.more .circle {
	display: flex; justify-content:center; align-items: center; width: calc(40vw / 19.2); height: calc(40vw / 19.2);
	position:absolute; inset:auto 0.75em auto auto; margin:0;
}

.next { display:flex; align-items:center; width:max-content; font-weight: 600; }
.next .circle {
	display: flex; justify-content:center; align-items: center; width: calc(30vw / 19.2); height: calc(30vw / 19.2); margin-left:1em;
}


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

i.fa-instagram {
	background: linear-gradient(135deg, rgba(86, 30, 245, 1) 0%, rgba(234, 50, 191, 1) 27%, rgba(234, 51, 99, 1) 46%, rgba(239, 140, 53, 1) 65%, rgba(233, 50, 133, 1) 87%);
	-webkit-background-clip: text; -webkit-text-fill-color: transparent; min-width:19px;
}


/** animation **************************/
.decoration { z-index: 0; top:0; overflow: hidden; width: 100%; margin-inline: auto; }

.decoration .loop { animation: loop 40s linear infinite; width: max-content; }
.decoration .loop.second{ position: absolute; top: 0; left: 0; animation: loop 40s -20s linear infinite;}

.ohidden { position:relative; width:100%; height: calc(250vw / 19.2); overflow:hidden; }

@keyframes loop { 0%{ transform: translateX(100%); } 100%{ transform: translateX(-100%); } }

.fade_in { opacity: 0; transition: opacity 0.8s 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_zoom { opacity: 0; transform: scale(0.3); transition: opacity 0.6s ease, transform 0.4s ease;}
.fade_zoom.active { opacity: 1; transform: scale(1); }

.text_curtain { 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); }

/** end animation **************************/



main {  }



#header {width: 100%; position:fixed; z-index:9998; height:calc(140vw / 19.2); padding: 1em 0 1em 0; }
#header .inner { align-items:center; height: 100%; z-index: 1001; }

#header .logo { font-size: 2em; width: calc(550vw / 19.2); margin:0; }
#header .logo .logo_mark { width: calc(88vw / 19.2); margin-right: 0.2em; }

#header .header_menu { width: calc(477vw / 19.2); align-items: center; }
#header .header_menu .group_logo { width: calc(350vw / 19.2); }


#header #hamburger { caret-color: transparent; width: calc(100vw / 19.2); height: calc(80vw / 19.2); border-radius: 0.25em; z-index: 1001; }
#header #hamburger .bar {
	display: block; width: calc(50vw / 19.2); height: 2px; margin-left: auto; margin-right: auto;
	transition: transform 0.3s ease, opacity 0.3s ease;transform-origin: center center; transform: none;
}
#header #hamburger .bar_1 { margin-block-end:calc(10vw / 19.2); }
#header #hamburger .bar_2 { margin-block-end:calc(10vw / 19.2); }

#header #hamburger.active .bar_1 { transform: translateY(var(--offset)) rotate(27.5deg); width: calc(56vw / 19.2); }
#header #hamburger.active .bar_2 { opacity:0; }
#header #hamburger.active .bar_3 { transform: translateY(calc(var(--offset) * -1)) rotate(-27.5deg); width: calc(56vw / 19.2); }

#header #drawer {
	position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0,0,0,0.5);display: flex; opacity:0;transition: opacity 0.3s ease; pointer-events:none;
	justify-content: flex-start;align-items: flex-start;z-index: 1000;
}
#header #drawer.open {opacity:1; pointer-events:auto;}

#header #drawer .drawer-content {width: 100%;height: 100%;transform: translateX(200%);transition: transform 0.3s ease; padding: max(120px,6em) 1.7em 2em 1.7em; }
#header #drawer.open .drawer-content {transform: translateX(75%); overflow-y: scroll; }


#header #drawer .drawer-content nav { width:calc(420vw / 19.2); }
#header #drawer .drawer-content ul { list-style-type:none; padding:0; width: 100%; }
#header #drawer .drawer-content ul .page { letter-spacing: 0.1em; padding: 0.75em 0 0.75em 0; border-bottom:solid 1px #000000; }
#header #drawer .drawer-content ul .page a { align-items: center; }
#header #drawer .drawer-content ul .page a .circle { display:flex; align-items:center; justify-content:center; width:calc(30vw / 19.2); height:calc(30vw / 19.2); }
#header #drawer .drawer-content ul .page .section { border-top:dashed 1px #000000; margin-block-start:0.5em; }
#header #drawer .drawer-content ul .page .section li { position:relative; padding: 0.5em 0 0 1.5em; }
#header #drawer .drawer-content ul .page .section li::before {
	content:""; position:absolute; top:1.45em; left:0; width:0.5em; height:1px; background-color:#000000;
}

#header #drawer .drawer-content .contact_address {  }
#header #drawer .drawer-content .contact_address dt.flex { justify-content:flex-start; padding: 0 0 0.75em 0; }
#header #drawer .drawer-content .contact_address dt.flex .slug { margin-right:1em; }
#header #drawer .drawer-content .contact_address dd { margin:0; }

#header #drawer .drawer-content .contact_address dd .btn_tel {
	display: flex; align-items: center; justify-content: center;
	border:solid 2px #000000; border-radius:0.75em; width:calc(200vw / 19.2); height:calc(60vw / 19.2);
}



#header #drawer .drawer-content .sub { border-top:dashed 1px #000000; padding: 0.7em 0 0.7em 0; }


.ct_box { width:calc(900vw / 19.2); margin:6em auto 6em auto; }
.ct_box .tip {
	display: block; width: max-content; padding: 0.5em 1em 0.5em 1em; border-radius: 50vmax; margin-block-end: 2em;
}
.ct_box .tip::after {
	content: ""; position: absolute; inset: auto 0 calc(-24vw / 19.2) 0; margin: auto; background-color: var(--bg_color);
	width: calc(22vw / 19.2); height: calc(25vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.ct_box .contact_box { padding: 1em; border: solid 2px #414040; border-radius:1.5em; }
.ct_box .contact_box .half { position:relative; width:50%; }
.ct_box .hour { display:block; }

.ct_box .contact_box .half:first-of-type::after {
	content:""; position:absolute; inset:0 0 0 auto; margin:auto;
	width:1px; height:80%; background-color:#414040;
}
.ct_box .contact_box .ct_box_illust { position:absolute; bottom:-6em; right:-12em; width:calc(284vw / 19.2); }


.bottom_recruit .top_recruit_header { justify-content:flex-start; padding: 4em 0 4em 0; }



.bottom_recruit {
	padding:3.3em 0 3.3em 0;
	background-image:url(../img/home/entry_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

.bottom_recruit .ttl .ja { padding:0 0.5em 0 0.5em; border-radius:0.25em; }

.bottom_recruit .more { border:none; }
.bottom_recruit .top_entry_illust { width:calc(396vw / 19.2); right:0; bottom:-8em; }

.bottom_recruit_link { width: calc(750vw / 19.2); margin: 0 auto; }
.bottom_recruit_link  .more { margin-block-start: 1.4em; }



.bottom_contact {
	padding:3.5em 0 3.5em 0; border-top: solid 2px #403f3f;
	background-image:url(../img/bottom_contact_bg.webp); background-size:100%; background-position:center bottom; background-repeat:no-repeat;
}
.bottom_contact .minimum_inner {  }

.bottom_contact .ttl {  }
.bottom_contact .summary {  }
.bottom_contact .hour {  }

.bottom_contact .contact_box { margin-block-start: 2em; }
.bottom_contact .contact_box .btn_tel {
	justify-content: center; align-items: center;
	border:solid 2px #000000; border-radius:1.5em; width:calc(600vw / 19.2); height:calc(160vw / 19.2);
}
.bottom_contact .contact_box .text {  }
.bottom_contact .contact_box .type {  }
.bottom_contact .contact_box .number {  }



#footer { padding:7em 0 3em 0; }


#footer .footer_info { width: calc(550vw / 19.2); }

#footer .logo { font-size: 2em; margin-block-start: 0; }

#footer .logo_mark { width: calc(88vw / 19.2); margin-right: 0.2em; }


#footer .place { align-items: flex-end; }
#footer .reception { margin-block-end: 1.5em; }
#footer .reception .hour { display: block; }
#footer .reception a { display:inline-block; margin-right:1em; }

#footer .banner { display: block; width: calc(330vw / 19.2); }





#footer .footer_menu_list { width: calc(630vw / 19.2); }
#footer .footer_menu_list ul { padding: 0; list-style-type:none; }
#footer .footer_menu_list ul .page { margin:0 0 1em 0; }

#footer .footer_menu_list ul .page a {  }

#footer .footer_menu_list ul .page .section { margin-block-start:0.5em; }
#footer .footer_menu_list ul .page .section li { position:relative; margin:0 0 0.5em 0; padding: 0 0 0 1.16em; }
#footer .footer_menu_list ul .page .section li::before {
	content:""; position:absolute; top:1em; left:0; width:0.5em; height:1px; background-color:#FFFFFF;
}



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

#page_top {
	position: fixed; bottom: 3vw; right: 3vw; z-index: 100; display: flex; align-items: center; justify-content: center;
	width: calc(60vw / 19.2); height: calc(60vw / 19.2); 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 {
	width:100%; height:calc(840vw / 19.2); align-items:center; justify-content:center; background-size:cover;
	background-image:url(../img/page_header_bg.png);
}

.page_header .page_header_ttl .illust10 { inset:-3em 0 auto 0; margin:auto; }
.page_header .page_header_ttl {  }
.page_header .page_header_ttl .slug { display:block; }
.page_header .page_header_ttl .ja { font-weight:600; padding:0.2em 0.5em 0.3em 0.5em; border-radius:0.25em; }
.page_header .bottom_img { bottom: -1px; }




.illust1 { position:absolute; width:calc(382vw / 19.2); }
.illust2 { position:absolute; width:calc(160vw / 19.2); }
.illust3 { position:absolute; width:calc(169vw / 19.2); }
.illust4 { position:absolute; width:calc(172vw / 19.2); }
.illust5 { position:absolute; width:calc(136vw / 19.2); }
.illust6 { position:absolute; width:calc(123vw / 19.2); }
.illust7 { position:absolute; width:calc(158vw / 19.2); }
.illust8 { position:absolute; width:calc(135vw / 19.2); }
.illust9 { position:absolute; width:calc(402vw / 19.2); }
.illust10 { position:absolute; width:calc(402vw / 19.2); }
.illust11 { position:absolute; width:calc(277vw / 19.2); }
.illust12 { position:absolute; width:calc(144vw / 19.2); }
.illust13 { position:absolute; width:calc(146vw / 19.2); }
.illust14 { position:absolute; width:calc(86vw / 19.2); }
.illust15 { position:absolute; width:calc(172vw / 19.2); }
.illust16 { position:absolute; width:calc(175vw / 19.2); }
.illust17 { position:absolute; width:calc(167vw / 19.2); }
.illust18 { position:absolute; width:calc(169vw / 19.2); }
.illust19 { position:absolute; width:calc(506vw / 19.2); }
.illust20 { position:absolute; width:calc(506vw / 19.2); }
.illust21 { position:absolute; width:calc(170vw / 19.2); }
.illust22 { position:absolute; width:calc(175vw / 19.2); }
.illust23 { position:absolute; width:calc(255vw / 19.2); }
.illust24 { position:absolute; width:calc(158vw / 19.2); }
.illust25 { position:absolute; width:calc(171vw / 19.2); }
.illust26 { position:absolute; width:calc(153vw / 19.2); }
.illust27 { position:absolute; width:calc(156vw / 19.2); }
.illust28 { position:absolute; width:calc(169vw / 19.2); }



/**** home ************************/


#fv .swiper-pagination-bullet-active { background: rgba(0,0,0,0.5); }


#top_about { padding:16em 0 7em 0; overflow: hidden; }

#top_about .text { width:calc(660vw / 19.2); margin-right:calc(170vw / 19.2); }
#top_about .text .catch { margin-block-start:0.75em; }
#top_about .text .summary { font-weight:600;line-height: 2.5; }

#top_about .thumb { width:calc(960vw / 19.2); border-top-right-radius:1.5em; border-bottom-right-radius:1.5em; }

#top_about .illust1 { bottom:2em; right:2em; }


#top_company {
	height:calc(790vw / 19.2); overflow:hidden;
	background-image:url(../img/home/company_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#top_company .ttl .catch { display:inline-block; width:max-content; padding:0 0.5em 0 0.5em; margin:0.5em 0 0.5em 0; }
#top_company .ttl .ja { padding: 0 0.5em 0 0.5em; border-radius: 0.25em; }

#top_company .text { padding:6em 0 4em 0; }
#top_company .summary span { display:inline-block; width:max-content; padding:0 0.5em 0 0.5em; margin:0.25em 0 0.25em 0; }

#top_company .thumb { width:calc(830vw / 19.2); }

#top_company .thumb .slide { width:calc(400vw / 19.2); margin:calc(20vw / 19.2) 0 calc(20vw / 19.2) 0; }
#top_company .thumb .slide .heading { border-radius:1.4em; }
.loop-slider-vertical { overflow: hidden; }
.loop-slider-vertical .slider_track {will-change: transform;}


#top_business { padding:4em 0 4em 0; overflow:hidden; }

#top_business .top_business_header { justify-content:flex-start; padding: 4em 0 4em 0; }

#top_business .top_business_header .text { width:calc(720vw / 19.2); margin-left:calc(80vw / 19.2); }
#top_business .top_business_header .illust2 { top:-3em; left:-3em; }
#top_business .top_business_header .top_business_illust { width:calc(449vw / 19.2); position:absolute; top:-2em; right:-2em; }

#top_business .ttl .ja { padding:0 0.5em 0 0.5em; border-radius:0.25em; }

#top_business .top_business_header .text dt { padding: 0.125em 0 0.75em 0; }
#top_business .top_business_header .text dd { margin:0; }


#top_business .box {
	width:50%; padding:calc(50vw / 19.2) calc(126vw / 19.2) calc(50vw / 19.2) calc(126vw / 19.2); border-top:solid 2px #403f3f; border-bottom:solid 2px #403f3f;
}
#top_business .box:first-of-type { border-right:solid 2px #403f3f; }

#top_business .box .thumb { display: block; border-radius: 1.5em; padding: calc(20vw / 19.2); background-color: #69b092; }
#top_business .box .thumb .heading { border-radius:1.5em; }

#top_business .box .thumb .illust3 { bottom:-2em; right:-2em; }
#top_business .box .thumb .illust4 { bottom:-2em; right:-2em; }


#top_business .box .box_ttl .cat { padding:0 0.5em 0 0.5em; border-radius:0.25em; margin-left:1em; }

#top_business .box figcaption { padding:1em 0 0 0; }
#top_business .box figcaption .content_ttl { position:relative; margin-block-end: 2em; padding: 0 0 1em 0;}
#top_business .box figcaption .content_ttl i { margin-right:0.3em; }
#top_business .box figcaption .content_ttl::after {
	content:""; position:absolute; inset:auto 0 0 0; margin:auto; width:calc(80vw / 19.2); height:3px; background-color:#69b092;
}


#top_business .box figcaption dl {  }
#top_business .box figcaption dl dt {  }
#top_business .box figcaption dl dd { margin:0; }
#top_business .box figcaption dl dd .more { margin-block-start: 2em; }


#top_business .box .en { display: flex; justify-content: center; inset:auto 0 -0.5em 0; margin: auto; }




#top_recruit {
	padding:4em 0 8em 0; overflow:hidden;
	background:linear-gradient(to bottom, #FFFFFF 0, #ebeae8 100%);
}

#top_recruit .top_recruit_header { justify-content:flex-start; padding: 4em 0 4em 0; }

#top_recruit .top_recruit_header .text { width:calc(720vw / 19.2); margin-left:calc(80vw / 19.2); }
#top_recruit .top_recruit_header .illust2 { top:-3em; left:-3em; }
#top_recruit .top_recruit_header .top_recruit_illust { width:calc(501vw / 19.2); position:absolute; top:-2em; right:-6em; }

#top_recruit .top_recruit_header .text dt { padding: 0.125em 0 0.75em 0; }
#top_recruit .top_recruit_header .text dd { margin:0; }

#top_recruit .ttl .ja { padding:0 0.5em 0 0.5em; border-radius:0.25em; }



#top_recruit .content { flex-wrap: wrap; }
#top_recruit .content .box {
	width:calc(870vw / 19.2); padding:calc(50vw / 19.2); border:solid 2px #414040; border-radius:1.5em; overflow:hidden; box-shadow:10px 10px 0 #e7e7e5; margin-block-end: 2em;
}

#top_recruit .content .box .text { width:calc(380vw / 19.2); margin: 0; }
#top_recruit .content .box .thumb { display: block; width:calc(380vw / 19.2); border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; }
#top_recruit .content .box .thumb .heading { border-radius:1.5em; }


#top_recruit .content .box .text dt {  }
#top_recruit .content .box .text dt .ja { display:block; font-weight: 600; }
#top_recruit .content .box .text dd { margin:0; padding: 4em 0 0 0; }

#top_recruit .illust5 { bottom:0; right:1em; }
#top_recruit .illust6 { bottom:0; right:1em; }
#top_recruit .illust7 { bottom:0; right:1em; }
#top_recruit .illust8 { bottom:0; right:1em; }


#top_interview { padding:0 0 0 0; }

#top_interview .top_interview_illust1 { position:absolute; inset:0 auto auto 1em; width:calc(179vw / 19.2); }
#top_interview .top_interview_illust2 { position:absolute; inset:calc(-360vw / 19.2) auto auto calc(260vw / 19.2); width:calc(181vw / 19.2); }
#top_interview .top_interview_illust3 { position:absolute; inset:calc(-230vw / 19.2) calc(260vw / 19.2) auto auto; width:calc(182vw / 19.2); }
#top_interview .top_interview_illust4 { position:absolute; inset:calc(120vw / 19.2) 1em auto auto; width:calc(219vw / 19.2); }



#top_interview .top_interview_header {  }

#top_interview .top_interview_header .ttl {  }
#top_interview .top_interview_header .ttl .illust9 { inset:-7em 0 auto 0; margin:auto; }
#top_interview .top_interview_header .ttl .catch {display: inline-block; width:max-content; padding:0.5em 1em 0.5em 1em; border-radius:50vmax; margin-block-end:1em; }
#top_interview .top_interview_header .ttl .catch::after {
	content:""; position:absolute; inset:auto 0 calc(-24vw / 19.2) 0; margin:auto; background-color: var(--bg_color); width: calc(25vw / 19.2); height: calc(25vw / 19.2);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}



#top_interview .content { flex-wrap: wrap; margin-block-start: 3em; }
#top_interview .content .box {
	width:calc(700vw / 19.2); padding:calc(36vw / 19.2); border:solid 2px #414040; border-radius:1.5em; overflow:hidden; box-shadow:10px 10px 0 #e7e7e5; margin-block-end: 3em;
}

#top_interview .content .text { width:calc(285vw / 19.2); }
#top_interview .content .thumb { width:calc(314vw / 19.2); }

#top_interview .content .text .slug { padding:0.2em 0.5em 0 0.5em; border-radius:0.25em; }
#top_interview .content .text .number { justify-content: flex-start; align-items:center; }
#top_interview .content .text .number .count { margin-left:0.3em; }
#top_interview .content .text .interview_name {  }
#top_interview .content .text .interview_name span { display:block; padding:0.5em 1em 0.5em 0.75em; font-weight: 600; }


#top_interview .decoration { inset:auto 0 0 0; }





#top_entry {
	padding:8em 0 4em 0; overflow: hidden;
	background-image:url(../img/home/entry_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#top_entry .ttl .ja { padding:0 0.5em 0 0.5em; border-radius:0.25em; }

#top_entry .more { border:none; }
#top_entry .top_entry_illust { width:calc(396vw / 19.2); right:0; bottom:-8em; }




#top_topics {
	padding:7em 0 7em 0;
	background-image:url(../img/home/topics_bg.webp); background-position:right bottom; background-size:calc(506vw / 19.2); background-repeat:no-repeat;
}

#top_topics .roomy_inner.flex { justify-content: space-evenly; }
#top_topics .topics_header_illust { width:calc(539vw / 19.2); bottom:2em; left:0; }

#top_topics .top_topics_header { width:calc(520vw / 19.2); min-height:calc(500vw / 19.2); }
#top_topics .top_topics_header .ttl .ja { padding:0 0.5em 0 0.5em; border-radius:0.25em; }

#top_topics .roomy_inner.flex .more { position:absolute; bottom:0; left: calc(80vw / 19.2); }

#top_topics .topics_list { width:calc(1040vw / 19.2); padding:calc(80vw / 19.2); border: solid 2px #000000; border-radius: 1.5em; }


#top_topics .topics_list .scroll_box { overflow-y: scroll; min-height: calc(360vw / 19.2); }



#top_topics .topics_list .scroll_box .box { border-bottom:solid 1px #000000; width: 98%; }
#top_topics .topics_list .scroll_box .box dt { width:11em; padding:0.75em 0 0.75em 0; }
#top_topics .topics_list .scroll_box .box dt time {  }
#top_topics .topics_list .scroll_box .box dt .cat { display:inline-block; border-radius:0.25em; padding:0 0.5em 0 0.5em; margin-left: 1em; }
#top_topics .topics_list .scroll_box .box dd { margin:0; padding:0.5em 0 0.5em 0; }


/**** check *************************************/

#business {
	padding:6em 0 12em 0; overflow: hidden;
	background-image:url(../img/business_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#business .content {  }
#business .content .text { width:calc(520vw / 19.2); }
#business .content .text .catch { margin-block-start:2em; margin-block-end:1.5em; }
#business .content .text .president { width:calc(354vw / 19.2); }

#business .content .thumb { width:calc(730vw / 19.2); border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; }
#business .content .thumb .heading { border-radius:1.5em; }
#business .content .thumb .philosophy_illust { position: absolute; width:calc(299vw / 19.2); bottom:-10em; right:-10em; }


#chosen { padding:4em 0 4em 0; border-top: solid 2px #414040; }

#chosen .ttl i { margin-right:0.3em; }

#chosen .content { border: solid 2px #414040; border-radius: 1.5em; padding:calc(110vw / 19.2); box-shadow: 10px 10px 0 #e7e7e5; margin-block-start: 4em; }

#chosen .content .box {  }

#chosen .content .box .chosen_ttl { padding:0.5em 0 0.5em 0; border-radius:50vmax; margin-block-end:2em; font-weight: 600; }
#chosen .content .box .chosen_ttl .illust16 { top:-3em; left:-1em; }
#chosen .content .box .chosen_ttl .illust17 { top:-3em; left:-1em; }
#chosen .content .box .chosen_ttl .illust18 { top:-3em; left:-1em; }

#chosen .content .box .chosen_list { padding: 1.5em 0 1.5em; border-bottom: solid 2px #414040; }
#chosen .content .box .chosen_list.end { border-bottom: none; }

#chosen .content .box .chosen_list .text { width:calc(795vw / 19.2); margin-block-start: 0; }
#chosen .content .box .chosen_list .text dt { display:flex; justify-content: flex-start; align-items: center; }
#chosen .content .box .chosen_list .text dt .num { margin-right: 0.5em; padding-right: 0.3em; line-height: 1.25; border-right: solid 2px #69b092; }
#chosen .content .box .chosen_list .text dd { margin:1.5em 0 1.5em 0; border: solid 2px #414040; border-radius:1.5em; padding:0 1.5em 0 1.5em; }


#chosen .content .box .chosen_list .thumb { width:calc(380vw / 19.2); border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; }

#chosen .content .box .chosen_list .thumb .heading { border-radius:1.5em; }

#chosen .illust19 { inset:auto auto 0 0; }


/**** end check ***********************************/
/**** build ***************************************/

#fire_protection { padding:5em 0 6.5em 0; border-top: solid 2px #414040; }
#fire_protection .illust20 { bottom:0; right:0; }
#fire_protection .illust21 { bottom:-1em; left:-2em; }

#electrical_systems { padding:5em 0 6.5em 0; border-top: solid 2px #414040; }
#electrical_systems .illust19 { bottom:0; left:0; }
#electrical_systems .illust22 { bottom:-1em; right:-2em; }



.build_items .content {
	padding:calc(90vw / 19.2) calc(110vw / 19.2) calc(90vw / 19.2) calc(110vw / 19.2); border:solid 2px #414040; border-radius:1.5em; overflow:hidden; box-shadow:10px 10px 0 #e7e7e5; margin-block-end: 3em;
}
.build_items .content .box_ttl {  }
.build_items .content .box_ttl .cat { padding: 0 0.5em 0 0.5em; border-radius: 0.25em; margin-left: 1em; }

.build_items .content .thumb { border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; margin-block-end: 3em; }
.build_items .content .thumb .heading { border-radius:1.5em; }



/**** end build ***********************************/
/**** company *************************************/

#greeting { padding:6em 0 4em 0; overflow: hidden; }

#greeting .greeting_header {  }
#greeting .greeting_header .text { width:calc(520vw / 19.2); }
#greeting .greeting_header .text .catch { margin-block-start:2em; margin-block-end:1.5em; }
#greeting .greeting_header .text .president { width:calc(354vw / 19.2); }

#greeting .greeting_header .thumb { width:calc(730vw / 19.2); border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; }
#greeting .greeting_header .thumb .heading { border-radius:1.5em; }
#greeting .greeting_header .thumb .illust12 { bottom:-2em; right:-2em; }

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

#greeting .illust1 { bottom:2em; right:2em; }




.separator {  }


#philosophy {
	padding:8em 0 4em 0;
	background-image:url(../img/company/philosophy_bg.webp); background-position:center center; background-size:cover;
}

#philosophy .box { border: solid 2px #414040; border-radius: 1.5em; box-shadow: 10px 10px 0 #e7e7e5; padding:calc(80vw / 19.2) calc(90vw / 19.2) calc(80vw / 19.2) calc(90vw / 19.2); }
#philosophy .box .philosophy_ttl { position:relative; width:max-content; background-color:#FFFFFF; padding:0 1em 0 0; }
#philosophy .box .philosophy_ttl::after {
	content:""; position:absolute; inset:0 calc(-820vw / 19.2) 0 auto; margin:auto; width:calc(820vw / 19.2); height:1px; background-color:#404040;
}
#philosophy .box .list { list-style-type:nne; padding:0; }
#philosophy .box .list li { justify-content:flex-start; }
#philosophy .box .list li i { margin: 0.6em 0.5em 0 0; }
#philosophy .box .list li p { margin:0; }

#philosophy .box .illust13 { top:-8em; left:2em; }
#philosophy .box .philosophy_illust { position:absolute; bottom:-9em; right:-12em; width:calc(299vw / 19.2); }


#profile { padding:9em 0 1em 0; border-top:solid 2px #414040; border-bottom:solid 2px #414040; overflow:hidden; }

#profile .ttl .illust14 { inset:-5.5em 0 auto 0; margin:auto; }

#profile .company_detail { border: solid 2px #414040; border-radius: 1.5em; box-shadow: 10px 10px 0 #e7e7e5; padding:calc(80vw / 19.2) calc(110vw / 19.2) calc(80vw / 19.2) calc(110vw / 19.2); }
#profile .company_detail .box { margin:0; border-bottom: solid 1px #414040; font-weight:600; }
#profile .company_detail .box:last-of-type { border:none; }
#profile .company_detail .box dt { margin:0; padding:1em 0 1em 0; width:15em; vertical-align:top; }
#profile .company_detail .box dd { margin:0; padding:1em 0 1em 0; }



#profile .structure { padding:4em 0 4em 0; }
#profile .structure .text { width:calc(450vw / 19.2); }
#profile .structure .text .structure_ttl { margin-block-start: 0.4em; }
#profile .structure .text .structure_text { width:calc(432vw / 19.2); }
#profile .structure .thumb { width:calc(970vw / 19.2); height:calc(487vw / 19.2); border: solid 2px #414040; border-radius: 1.5em; justify-content: center; align-items: center;}
#profile .structure .thumb .structure_thumb { width:calc(860vw / 19.2); }


#profile .loop-slider { overflow: hidden; }
#profile .loop-slider .slider_track { display:flex; width:max-content; gap:0; }
#profile .loop-slider .slide { width:calc(760vw / 19.2); border-radius: 1.5em; padding: calc(10vw / 19.2); background-color: #69b092; margin:calc(30vw / 19.2); }
#profile .loop-slider .slide .heading { border-radius: 1.5em; }




#access { padding:6em 0 4em 0; }

#access .content {  }
#access .content .text { width:calc(540vw / 19.2); }

#access .content .text address { margin:2.5em 0 1em 0; font-weight:600; }

#access .content .text .transportation {  }
#access .content .text .transportation dt { margin:0; font-weight:600; }
#access .content .text .transportation dt i { margin-right:0.3em; }
#access .content .text .transportation dd { margin:0; padding:0.25em 0 0.75em 0; }


#access .content .map { width:calc(730vw / 19.2); height: calc(500vw / 19.2); min-height:320px; border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; }
#access .content .map #gmap { width:100%; height:100%; border-radius:1.5em; }


#history {
	padding:9em 0 8em 0; border-top:solid 2px #414040; overflow:hidden;
	background-image:url(../img/company/history_bg.webp); background-position:center center; background-size:cover;
}

#history .ttl .illust14 { inset:-5.5em 0 auto 0; margin:auto; }

#history .history_thumb { border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; }
#history .history_thumb .heading { border-radius:1.5em; }
#history .history_thumb .illust15 { bottom:-2em; right:-2em; }

#history .content { border: solid 2px #414040; border-radius: 1.5em; padding:calc(50vw / 19.2); box-shadow: 10px 10px 0 #e7e7e5; margin-block-start: 4em; }
#history .content .box { margin:0; border-bottom:solid 1px #414040; }
#history .content .box:last-of-type { border:none; }
#history .content .box dt { margin:0.5em 0 0.5em 0; padding: 0.5em 0 0.5em 0; width:15em; }
#history .content .box dt span { display:block; border-radius:5px; padding:1em 1em 1em 1em; }
#history .content .box dd { margin:0.5em 0 0.5em 0; padding:1em 1em 1em 2em; font-weight:600; }



/**** end company *********************************************/
/**** recruit *************************************************/


#work { padding:0 0 4em 0; }

#work .illust19 { bottom:0; left:0; }


#work .loop-slider { overflow: hidden; }
#work .loop-slider .slider_track { display:flex; width:max-content; gap:0; }
#work .loop-slider .slide { width:calc(760vw / 19.2); border-radius: 1.5em; padding: calc(10vw / 19.2); background-color: #69b092; margin:calc(30vw / 19.2); }
#work .loop-slider .slide .heading { border-radius: 1.5em; }


#work .work_header {
	padding:0 0 5em 0;
	background-image:url(../img/business_bg.webp); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#work .work_header .tip { display: block; width: max-content; padding: 0.5em 1em 0.5em 1em; border-radius: 50vmax; margin-block-end: 2em; }

#work .work_header .tip::after { content: "";
	position: absolute; inset: auto 0 calc(-24vw / 19.2) 0; margin: auto; background-color: var(--bg_color);
	width: calc(22vw / 19.2); height: calc(25vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0);
}


#work .work_header .ttl { width: max-content; padding-left:calc(160vw / 19.2); }
#work .work_header .ttl .illust5 { bottom: 0.5em; left:0; }


#work .content {
	margin-block-start: 6em; margin-block-end: 3em;
	padding:calc(90vw / 19.2) calc(110vw / 19.2) calc(90vw / 19.2) calc(110vw / 19.2); border:solid 2px #414040; border-radius:1.5em; overflow:hidden; box-shadow:10px 10px 0 #e7e7e5;
}

#work .content .box_ttl {  }
#work .content .box_ttl .cat { padding: 0.2em 0.5em 0 0.5em; border-radius: 0.25em; margin-left: 1em; }


#work .content .thumb { border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; margin-block-end: 3em; }
#work .content .thumb .heading { border-radius:1.5em; }
#work .content .thumb .illust23 { bottom:-2em; right:-2em; }

#work .content .box { margin: 3em 0 3em 0; }
#work .content .box dt { margin:0 0 1em 0; padding:0 0 0 1em; }
#work .content .box dd { margin:0; padding:1.5em; border: solid 2px #414040; border-radius:1.5em; }


#message { padding:4em 0 4em 0; border-top: solid 2px #414040; }

#message .illust20 { bottom:0; right:0; }



#message .ttl { width: max-content; padding-left:calc(160vw / 19.2); }
#message .ttl .illust6 { bottom: 0.5em; left:0; }


#message .summary { margin-block-end:3em; }


#message .content {
	padding:calc(90vw / 19.2) calc(110vw / 19.2) calc(90vw / 19.2) calc(110vw / 19.2); border:solid 2px #414040; border-radius:1.5em; overflow:hidden; box-shadow:10px 10px 0 #e7e7e5; margin-block-end: 3em;
}

#message .content .box_ttl {  }
#message .content .box_ttl .cat { padding: 0.2em 0.5em 0 0.5em; border-radius: 0.25em; margin-left: 1em; }


#message .content .thumb { border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; margin-block-end: 3em; }
#message .content .thumb .heading { border-radius:1.5em; }
#message .content .thumb .president { display:block; width:max-content; padding:0.3em 1em 0.3em 1em; bottom: 1em; right:2em; border-radius:0.25em; }
#message .content .thumb .president .position { display:inline-block; margin-right:0.5em; }
#message .content .thumb .president .name {  }



#message .content .box { margin: 3em 0 3em 0; }
#message .content .box dt { margin:0 0 1em 0; padding:0 0 0 1em; }
#message .content .box dd { margin:0; }

#message .content .box dd .pic { width:calc(130vw / 19.2); }
#message .content .box dd .pic .name { display:block; text-align:center; font-weight:600; margin-block-start:0.5em; }

#message .content .box dd .text { position:relative; width:calc(1050vw / 19.2); border:solid 2px #414040; border-radius:1.5em; padding:1.5em; margin: 0; }
#message .content .box dd .text::before {
	content:""; position:absolute; inset:1.5em auto auto calc(-16.5vw / 19.2); border-top:solid 2px #414040; border-left:solid 2px #414040;
	background-color:#FFFFFF; width: calc(30vw / 19.2); height: calc(30vw / 19.2); transform: rotate(-45deg) skew(10deg, 10deg); clip-path: polygon(100% 0, 100% 9%, 10% 100%, 0 100%, 0 0);
}



#numbers { padding:6em 0 4em 0; border-top: solid 2px #414040; }

#numbers .illust19 { bottom:0; left:0; }


#numbers .ttl { width: max-content; padding-left:calc(160vw / 19.2); }
#numbers .ttl .illust24 { bottom: 0.5em; left:calc(-20vw / 19.2); }

#numbers .numbers_list { justify-content: center; flex-wrap:wrap; }

#numbers .numbers_list .box { width:calc(420vw / 19.2); margin-right: calc(30vw / 19.2); margin-block-end: 3em; }
#numbers .numbers_list .box:nth-of-type(4) { margin-right:0; }

#numbers .numbers_list .box .thumb_box {
	height:calc(360vw / 19.2); border: solid 2px #414040; border-radius: 1.5em; box-shadow: 10px 10px 0 #e7e7e5; margin-block-end: 2em;
	display:flex; justify-content:center; align-items:center;
}
#numbers .numbers_list .box .thumb_box .num {
	display:flex; justify-content:center; align-items:center; width: max-content; padding: 0.2em 0.6em 0.2em 0.6em;
	inset:0 auto auto 1.5em; border-bottom-left-radius:0.5em; border-bottom-right-radius:0.5em;
}
#numbers .numbers_list .box .thumb_box .thumb { width:calc(360vw / 19.2); }


#numbers .numbers_list .box .text {  }
#numbers .numbers_list .box .text dl { }
#numbers .numbers_list .box .text dl dt { margin:0; }
#numbers .numbers_list .box .text dl dd { margin:0; }


#events { padding:6em 0 4em 0; border-top: solid 2px #414040; overflow: hidden; }

#events .illust20 { bottom:0; right:0; }

#events .ttl { width: max-content; padding-left:calc(160vw / 19.2); }
#events .ttl .illust8 { bottom: 0.5em; left:0; }

#events .content {
	padding:calc(90vw / 19.2) calc(110vw / 19.2) calc(90vw / 19.2) calc(110vw / 19.2); border:solid 2px #414040; border-radius:1.5em; overflow:hidden; box-shadow:10px 10px 0 #e7e7e5; margin-block-end: 3em;
}
#events .content .events_sub_ttl { padding:0.3em 0 0.3em 0; margin-block-start: 0; border-radius:50vmax; }

#events .content .summary { margin-block-end:2em; }

#events .content .box_ttl .cat { padding: 0.2em 0.5em 0 0.5em; border-radius: 0.25em; margin-left: 1em; }

#events .content .thumb { border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; margin-block-end: 3em; }
#events .content .thumb .heading { border-radius:1.5em; }

#events .content .img_box {  }
#events .content .img_box .thumb.half { width:calc(590vw / 19.2); }


.events_ct_box { margin:6em auto 6em auto; }
.events_ct_box .tip {
	display: block; width: max-content; padding: 0.5em 1em 0.5em 1em; border-radius: 50vmax; margin-block-end: 2em;
}
.events_ct_box .tip::after {
	content: ""; position: absolute; inset: auto 0 calc(-24vw / 19.2) 0; margin: auto; background-color: var(--bg_color);
	width: calc(22vw / 19.2); height: calc(25vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.events_ct_box .text { width:calc(590vw / 19.2); }

.events_ct_box .text dt { margin:0; padding:0 0 1em 0; }
.events_ct_box .text dd { margin:0; }


.events_ct_box .thumb { width:calc(590vw / 19.2); border-radius:1.5em; padding: calc(10vw / 19.2); background-color: #69b092; }
.events_ct_box .thumb .heading { border-radius:1.5em; }



.events_ct_box .contact_box { width:calc(900vw / 19.2); padding: 1em; border: solid 2px #414040; border-radius:1.5em; margin:3em auto 0 auto; }

.events_ct_box .contact_box .contact_box_ttl { margin: 0.4em; padding:0.3em 0 0.3em 0; border-radius:50vmax; }

.events_ct_box .contact_box .half { position:relative; width:50%; }
.events_ct_box .hour { display:block; }

.events_ct_box .contact_box .half:first-of-type::after {
	content:""; position:absolute; inset:0 0 0 auto; margin:auto;
	width:1px; height:80%; background-color:#414040;
}
.events_ct_box .contact_box .ct_box_illust2 { position:absolute; bottom:-3em; left:-14em; width:calc(320vw / 19.2); }


/**** end recruit *********************************************/
/**** interview ***********************************************/

#interview { padding:2em 0 4em 0; }

#interview .interview_header {  }

#interview .interview_header .tip { display: block; width: max-content; padding: 0.5em 1em 0.5em 1em; border-radius: 50vmax; margin-block-end: 2em; }

#interview .interview_header .tip::after { content: "";
	position: absolute; inset: auto 0 calc(-24vw / 19.2) 0; margin: auto; background-color: var(--bg_color);
	width: calc(22vw / 19.2); height: calc(25vw / 19.2); clip-path: polygon(50% 100%, 0 0, 100% 0);
}


#interview .interview_header .ttl { width: max-content; }
#interview .interview_header .ttl .illust5 { bottom: 0.5em; left:0; }


#interview .interview_illust1 { position:absolute; inset:calc(120vw / 19.2) auto auto 1em; width:calc(179vw / 19.2); }
#interview .interview_illust2 { position:absolute; inset:calc(-70vw / 19.2) auto auto calc(260vw / 19.2); width:calc(181vw / 19.2); }
#interview .interview_illust3 { position:absolute; inset:calc(50vw / 19.2) calc(260vw / 19.2) auto auto; width:calc(182vw / 19.2); }
#interview .interview_illust4 { position:absolute; inset:calc(370vw / 19.2) 1em auto auto; width:calc(219vw / 19.2); }

#interview .link_list { padding: 3em 0 3em 0; }
#interview .link_list .btn { width:calc(280vw / 19.2); height:calc(90vw / 19.2); display:flex; justify-content:center; align-items:center; border-radius:50vmax; border: solid 2px #414040; }
#interview .link_list .btn.select { border:none; }
#interview .link_list .btn .text {  }
#interview .link_list .btn .text .num {
	display:block; width:max-content; padding:0.2em 0.5em 0.1em 0.5em; border-radius:50vmax;
	text-align: center; margin: 0 auto;
}
#interview .link_list .btn .text .name {  }
#interview .link_list .btn i { display: flex; align-items: center; position:absolute; inset:0 0.4em 0 auto; margin:auto; }


#interview .illust20 { bottom:0; right:0; }

#interview .content {
	margin-block-start: 6em; margin-block-end: 3em;
	padding:calc(90vw / 19.2) calc(110vw / 19.2) calc(90vw / 19.2) calc(110vw / 19.2); border:solid 2px #414040; border-radius:1.5em; overflow:hidden; box-shadow:10px 10px 0 #e7e7e5;
}

#interview .interview_mv .text { width:calc(560vw / 19.2); }
#interview .interview_mv .text .interview_mv_ttl .slug { display: inline-block; padding: 0 0.5em 0 0.5em; border-radius: 0.25em; }
#interview .interview_mv .text .interview_mv_ttl .number { justify-content: flex-start; align-items: center; }
#interview .interview_mv .text .interview_mv_ttl .number .count { margin-left: 0.3em; }

#interview .interview_mv .text .name { font-weight:600; }


#interview .interview_mv .thumb { width:calc(630vw / 19.2); border-radius:1.5em; padding: calc(10vw / 19.2); }
#interview .interview_mv .thumb .heading { border-radius:1.5em; }

#interview .interview_mv .thumb .illust25 { bottom:-2em; right:-2em; }
#interview .interview_mv .thumb .illust26 { bottom:-2em; right:-2em; }
#interview .interview_mv .thumb .illust27 { bottom:-2em; right:-2em; }
#interview .interview_mv .thumb .illust28 { bottom:-2em; right:-2em; }



#interview .content .box { margin: 3em 0 3em 0; }
#interview .content .box dt { margin:0 0 1em 0; padding:0 0 0 1em; }
#interview .content .box dd { margin:0; }

#interview .content .box dd .pic { width:calc(130vw / 19.2); }
#interview .content .box dd .pic .name { display:block; text-align:center; font-weight:600; margin-block-start:0.5em; }

#interview .content .box dd .text { position:relative; width:calc(1050vw / 19.2); border:solid 2px #414040; border-radius:1.5em; padding:1.5em; margin: 0; }
#interview .content .box dd .text::before {
	content:""; position:absolute; inset:1.5em auto auto calc(-17vw / 19.2); border-top:solid 2px #414040; border-left:solid 2px #414040;
	background-color:#FFFFFF; width: calc(30vw / 19.2); height: calc(30vw / 19.2); transform: rotate(-45deg) skew(10deg, 10deg); clip-path: polygon(100% 0, 100% 9%, 10% 100%, 0 100%, 0 0);
}


#interview .schedule {
	padding:calc(90vw / 19.2) calc(110vw / 19.2) calc(90vw / 19.2) calc(110vw / 19.2); border:solid 2px #414040; border-radius:1.5em; margin-block-start: 5em;
}

#interview .schedule_content { margin-block-end:2em; }

#interview .schedule .text { width:calc(470vw / 19.2); }

#interview .schedule .thumb { width:calc(470vw / 19.2); border-radius:1.5em; padding: calc(10vw / 19.2); }
#interview .schedule .thumb .heading { border-radius:1.5em; }

#interview .schedule .text .schedule_ttl { position:relative; padding: 1em 0 1em 0; v}
#interview .schedule .text .schedule_ttl::before {
	content:""; position:absolute; top:0; left:0; width:100%; height:calc(10vw / 19.2);
	background-color: transparent; background-image: linear-gradient(-45deg,transparent 0%,transparent 45%,#7a7a7a 45%,#7a7a7a 55%, transparent 55%, transparent 100%);
	background-size: calc(10vw / 19.2) calc(10vw / 19.2);
}
#interview .schedule .text .schedule_ttl::after {
	content:""; position:absolute; bottom:0; left:0; width:100%; height:calc(10vw / 19.2);
	background-color: transparent; background-image: linear-gradient(-45deg,transparent 0%,transparent 45%,#7a7a7a 45%,#7a7a7a 55%, transparent 55%, transparent 100%);
	background-size: calc(10vw / 19.2) calc(10vw / 19.2);
}

#interview .schedule .schedule_list {  }
#interview .schedule .schedule_list dt { width:16em; font-weight: 600; padding:0.5em 1em 0.5em 1em; border-right: solid 1em #FFFFFF; }
#interview .schedule .schedule_list dt i { margin-right:0.3em; }
#interview .schedule .schedule_list dd { margin:0; padding:0.5em 1em 0.5em 1em; }

#interview .schedule .notice { font-weight:600; }




/**** end interview *******************************************/
/**** topics **************************************************/

#topics { padding:10em 0 10em 0; }
#topics .left_colmn { width: calc(1050vw / 19.2); border:solid 2px #414040; border-radius: 1em; padding:calc(60vw / 19.2); }
#topics .right_colmn { width: calc(340vw / 19.2); }

#topics .left_colmn.topics_list .posts { padding: 0 0 3em 0; margin-block-end:3em; border-bottom:dashed 1px #414040; }

#topics .left_colmn.topics_list .thumb { width:100%; margin-block-end:2em; }

#topics .left_colmn.topics_list .entry_ttl { padding: 0.5em 1em 0.5em 1em; font-weight: 600; }
#topics .left_colmn.topics_list .archive_title { width:max-content; padding: 0.2em 0.5em 0.2em 0.5em; border-radius: 0.25em; margin-block-end: 2em; font-weight: 600; }


#topics .left_colmn.topics_list .posts .text { margin-block-start:calc(20vw / 19.2); }
#topics .left_colmn.topics_list .posts .text .post-taxonomies { margin-block-end:0.5em; }
#topics .left_colmn.topics_list .posts .text .post-taxonomies .cat-links { display:inline-block; max-width:max-content; padding: 0.2em 0.5em 0.2em 0.5em; border: solid 1px #F5F5F5; margin-right:0.5em; }
#topics .left_colmn.topics_list .posts .text .post-taxonomies .tags-links { display:inline-block; max-width:max-content; border:solid 1px #000000; padding: 0.2em 0.5em 0.2em 0.5em; }

#topics .left_colmn.topics_list .posts .text .content_text { min-height:3em; }
#topics .left_colmn.topics_list .posts .text .more_text { display: flex; width:max-content; }
#topics .left_colmn.topics_list .posts .text .more_text .icon { margin-left:0.55em; width:1.1em; }

.navigation.pagination { width: 100%; }
.nav-links { display: flex; justify-content: flex-start; }
#topics .left_colmn.topics_list span.page-numbers {
	margin: 0 calc(15vw / 19.2) 0 calc(15vw / 19.2); border-radius:5px;
	border:solid 1px #69b092; background-color:#69b092; color:#FFFFFF; width:calc(60vw / 19.2); height:calc(60vw / 19.2); display: flex; align-items: center; justify-content: center;
}
#topics .left_colmn.topics_list a.page-numbers {
	margin: 0 calc(15vw / 19.2) 0 calc(15vw / 19.2); border-radius:5px;
	border:solid 1px #69b092; color:#69b092; width:calc(60vw / 19.2); height:calc(60vw / 19.2); display: flex; align-items: center; justify-content: center;
}
#topics .left_colmn.topics_list .page-numbers.next,
#topics .left_colmn.topics_list .page-numbers.prev { width:calc(90vw / 19.2); }


#topics .left_colmn.topics_list a.page-numbers .icon { width:calc(12vw / 19.2); }
#topics .left_colmn.topics_list a.page-numbers .icon.prev { transform:scale(-1,1); }


#topics .left_colmn.topics_list .archive_ttl { margin-block-end:calc(60vw / 19.2); }


#topics .left_colmn.topics_list .post .entry-title { font-size:calc(32 * 0.054vw); margin-block-start: 0; }
#topics .left_colmn.topics_list .post-taxonomies { display:inline-block; }
#topics .left_colmn.topics_list .post-taxonomies .cat-links { display:inline-block; max-width:max-content; margin-left:1em; }
#topics .left_colmn.topics_list .post-taxonomies .tags-links { display:inline-block; max-width:max-content; margin-left:1em; }
#topics .left_colmn.topics_list .posted-by { display:inline-block; }

#topics .left_colmn.topics_list .post .entry-content { margin:2em 0 2em 0; }



#topics .left_colmn.topics_list .post { padding: 0 0 3em 0; margin-block-end:3em; border-bottom:dashed 1px #414040; }


.post-navigation {  }
.post-navigation::after { content: ""; clear: both; display: block; }

.post-navigation .nav-links { display:block; }
.post-navigation .nav-previous { float:left; width: 48%; }
.post-navigation .nav-next { float:right; width: 48%; text-align: right; }


.post-navigation .nav-links .meta-nav { display:block; }
.post-navigation .nav-links .meta-nav .circle { display:inline-block; width:calc(30vw / 19.2); height:calc(30vw / 19.2); line-height: calc(30vw / 19.2); text-align: center; }




.post-navigation .nav-links .nav-home { margin:0 calc(30vw / 19.2) 0 calc(30vw / 19.2); }
.post-navigation .nav-links .nav-home a { font-size:calc(16 * 0.054vw); display:flex; width:100%; height:calc(60vw / 19.2); justify-content: center; align-items: center; }




.widget-area .wp-block-heading {
	position: relative; border: solid 2px #414040; font-size: calc(22 * 0.052vw); margin: 0; padding: 0.5em 1em 0.5em 2.75em; border-top-left-radius: 0.75em; border-top-right-radius: 0.75em;
}


.widget-area .wp-block-heading::after {
	position: absolute; top: 0; bottom: 0; left: 0.5em; margin: auto; display: flex; align-items: center;
	font-family: 'Font Awesome 7 Pro'; font-size: calc(33 * 0.052vw); font-weight: 300; color:#69b092;
}
.widget-area .wp-block-heading.side_ttl1::after {content: "\f044";}
.widget-area .wp-block-heading.side_ttl2::after {content: "\f07c";}
.widget-area .wp-block-heading.side_ttl3::after {content: "\f133";}

.widget-area .wp-block-group ul { list-style-type:none; background-color: #f8f8f8; border: solid 2px #414040; border-top: none; margin: 0; padding: 1em;}

.widget-area .wp-block-group ul li { border-bottom: dashed 1px #414040; padding:0.5em 0 0.5em 0; }
.widget-area .wp-block-group ul li:last-of-type { border-bottom:none; }



.widget-area .widget_block { margin-block-end:calc(40vw / 19.2); }




/*** recruit ***/



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

#job_faq .accordions { margin-block-start: 5em; }

#job_faq .accordions .box {  }
#job_faq .accordions .box dt { position:relative; cursor: pointer; caret-color: transparent; align-items: center; border: solid 2px #000000; }
#job_faq .accordions .box dt .qa { width:calc(80vw / 19.2); height:calc(80vw / 19.2); justify-content: center; align-items: center; }
#job_faq .accordions .box dt p { margin: 0; width: calc(840vw / 19.2); }
#job_faq .accordions .box dt .icon { width: calc(16vw / 19.2); transform: rotate(90deg); margin-right: calc(40vw / 19.2); }
#job_faq .accordions .box dt .icon.active { transform: rotate(270deg); }

#job_faq .accordions .box .answer { display: block; position: relative; margin: 1em 0 1em 0; max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
#job_faq .accordions .box .answer .flex {  }
#job_faq .accordions .box .answer .qa { width:calc(80vw / 19.2); height:calc(80vw / 19.2); justify-content: center; align-items: center; border: solid 2px #000000; }
#job_faq .accordions .box .answer p { width: calc(900vw / 19.2); margin: 0.9em 2em 0 0; }





#job_company { padding: 6em 0 6em 0; }
#job_company .compay_detail { margin-block-start: 5em; }
#job_company .compay_detail .box { margin:0 0 5px 0; }
#job_company .compay_detail .box dt { width:15em; margin:0; padding: 0.7em; }
#job_company .compay_detail .box dd { margin:0; padding: 0.7em 0.7em 0.7em 1em; word-break: break-all; overflow-wrap: break-word;}




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


#job_entry #birth_year,#job_entry #birth_month,#job_entry #birth_day { width:6em; }
#job_entry #age { width:9em; }
#job_entry #postalcode { width:9em; }

.invert .right { display: inline-block; margin: 0.7em 1em 0.7em 0.7em; }


/*** contact ***/

#contact { padding:10em 0 10em 0; }
#contact .summary { margin-block-end:2em; }

form .box {  }
form .box .field { vertical-align: top; padding: 1.7em 1em 1.7em 1em; width:20em; }
form .box .field .field_name { width: max-content; }
form .box .field .required { display: inline-block; padding: 0.1em 0.5em 0.1em 0.5em; border-radius:0.2em; }
form .box .field .any { display: inline-block; padding: 0.1em 0.5em 0.1em 0.5em; border-radius:0.2em; }
form .box .text { margin: 0; padding: 0.7em 0 0.7em 1.5em; }


form .box input[type=text],
form .box input[type=tel],
form .box input[type=email],
form .box input[type=number],
form .box select { padding: 0.7em; width: 100%; border: 2px solid #D9D9D9; border-radius:0.2em; font: inherit; }
form .box textarea { padding: 0.7em; width: 96%; height:14em; font-size: 1em; font-family: inherit; border: 2px solid #D9D9D9; border-radius:0.2em; display: block; margin: auto;}

form .box label { display: inline-block; }
form .box input[type=checkbox] { height: 1.5em; width: 1.5em; margin:0 0.6em 0.15em 0; background-color: #FFFFFF; border: 2px solid #D9D9D9; border-radius: 0.2em;vertical-align: middle;}
form .box input[type=checkbox]:checked { border: 2px solid #D9D9D9; background-color: #FFFFFF;}
form .box input[type=checkbox]::before {
	content: ""; display: block; position: relative; left: 0.5em; top: 1px; width: 6px; height: 12px; border: solid white; border-width: 0 3px 3px 0; transform: rotate(45deg);
}
form .box input[type=checkbox]:focus-visible { outline: 2px solid #004aaa; outline-offset: 2px;}

form .box label { cursor:pointer; vertical-align: top; }
.wpcf7-list-item { margin: 0;}


form .send_btn {
	display:flex; align-items:center; justify-content: center; border-radius:10px; width: calc(370vw / 19.2); height: calc(80vw / 19.2);font-weight: 700;
	border: solid 2px #000000; margin-block-start:3em; cursor: pointer;
}


#nickname { display:none; }


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

#privacy { padding:4em 0 4em 0; }

#privacy .summary { }


#privacy .list { list-style-type:none; padding: 0; }

#privacy .list .num_list {  }
#privacy .list .num_list .list_ttl { position:relative; padding: 0.25em 0 0.25em 1em; margin: 3em 0 2em 0; }
#privacy .list .num_list .list_ttl::after { content:""; position:absolute; inset:auto 0 -0.5em -1em; margin:auto; width:100%; height:1px; background-color:#403f3f; }

#privacy .list .num_list ol { padding: 0 0 0 1.5em; }

#privacy .list .contact_box { border:solid 1px #403f3f; padding:2em; margin-block-start: 3em; }
#privacy .list .contact_box .list_ttl { position:relative; padding: 0.25em 0 0.25em 1em; margin: 0 0 1em 0; }




