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

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

body {
	color:#000000; --text-color:#000000; font-size:calc(20 * 0.052vw); line-height: 2; letter-spacing: 0;
	font-family: "Noto Sans JP","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;}

.popp { font-family: "Poppins", serif; font-weight: 600; font-style: normal; }

.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 { font-weight:900; }


.fs12vw { font-size:calc(12 * 0.052vw); }
.fs14vw { font-size:calc(14 * 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); }
.fs48vw { font-size:calc(48 * 0.052vw); }
.fs50vw { font-size:calc(50 * 0.052vw); }
.fs52vw { font-size:calc(52 * 0.052vw); }
.fs53vw { font-size:calc(53 * 0.052vw); }
.fs54vw { font-size:calc(54 * 0.052vw); }
.fs55vw { font-size:calc(55 * 0.052vw); }
.fs56vw { font-size:calc(56 * 0.052vw); }
.fs60vw { font-size:calc(60 * 0.052vw); }
.fs62vw { font-size:calc(62 * 0.052vw); }
.fs64vw { font-size:calc(64 * 0.052vw); }
.fs65vw { font-size:calc(65 * 0.052vw); }
.fs66vw { font-size:calc(66 * 0.052vw); }
.fs68vw { font-size:calc(68 * 0.052vw); }
.fs70vw { font-size:calc(70 * 0.052vw); }
.fs72vw { font-size:calc(72 * 0.052vw); }
.fs80vw { font-size:calc(80 * 0.052vw); }
.fs84vw { font-size:calc(84 * 0.052vw); }
.fs100vw { font-size:calc(100 * 0.052vw); }
.fs110vw { font-size:calc(110 * 0.052vw); }
.fs120vw { font-size:calc(120 * 0.052vw); }
.fs160vw { font-size:calc(160 * 0.052vw); }
.fs180vw { font-size:calc(180 * 0.052vw); }
.fs210vw { font-size:calc(210 * 0.052vw); }
.fs300vw { font-size:calc(300 * 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: #000; 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 )"; }


.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-evenly;}
.height {justify-content: space-evenly; flex-wrap: wrap; align-items: stretch;}

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

/****** layout ********/
.inner { width: calc(1760vw / 19.2); margin: 0 auto; height: 100%;}
.middle_inner { width: calc(1460vw / 19.2); margin: 0 auto; height: 100%;}
.low_inner { width: calc(1260vw / 19.2); margin: 0 auto; height: 100%;}
.minimum_inner {width: 95.833333%; max-width: 1120px; margin: 0 auto;}


.right_inner { width: calc(1840vw / 19.2); margin: 0 0 0 auto; height: 100%; }
.left_inner { width: calc(1840vw / 19.2); margin: 0 auto 0 0; height: 100%; }

.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:#000000; --text-color:#000000; }
.white { color:#FFFFFF; --text-color:#FFFFFF; }
.gray { color:#D0D0D5; }

.red { color:#CF033C; }
.purple { color:#7167E2; }
.purple2 { color:#2F27C6; }

.green { color:#05CFC6; --text-color:#05CFC6; }
.green2 { color:#05C1C8; }
.green3 { color:#02D183; }

.blue { color:#0599CF; }
.blue2 { color:#05AECB; }


.light_green { color:#e5f5f4; }

.bg_black { background-color:#000000; --bg-color:#000000; }
.bg_white { background-color:#FFFFFF; --bg-color:#FFFFFF; }
.bg_red { background-color:#CF033C; }
.bg_gray { background-color:#969696; }
.bg_gray2 { background-color:#CACACE; }


.bg_green { background-color:#05CFC6; }
.bg_green2 { background-color:#05C1C8; }

.bg_blue { background-color:#0599CF; }
.bg_blue2 { background-color:#05AECB; }

.bg_light_green { background-color:#EAF2F2; }


.border_green { border:solid 4px #05CFC6 }
.border_purple { border:solid 4px #8472D8 }
.border_yellow { border:solid 4px #FCD127 }
.border_emerald_green { border:solid 4px #05CFC6 }




.ttl { line-height: 1; font-weight: 900; margin-block-start: 1em; margin-block-end: 2em;}
.ttl .slug { display:block; padding:0 0 0.9vw 0;font-weight: bold; }
.ttl i { margin-right: 0.4vw; line-height: 1.78vw; vertical-align: baseline; }
.ttl .ja { display:inline-block; padding: 0.8em 0 1em 0; font-weight: 600; border-bottom: solid 2px #05CFC6;}

.sub_ttl { line-height: 1; font-weight: 900; margin-block-start: 2em; margin-block-end: 3em; }
.sub_ttl .slug { display:block; padding:0 0 0.9vw 0; font-weight: bold; }
.sub_ttl i { margin-right: 0.4vw; line-height: 1.78vw; vertical-align: baseline; }
.sub_ttl .ja { position:relative; display:inline-block; padding: 1em 0 1em 0; font-weight: 600; }
.sub_ttl .ja::after { content:""; position:absolute; bottom: -0.5em; right:0; left:0; margin:auto; background-color:#FFFFFF; width:5.5em; height:1px; }



.more {
	position:relative; width:calc(520vw / 19.2); height:calc(140vw / 19.2); line-height:calc(140vw / 19.2); display:block; margin:4em 0 4em 0; text-align:center; border:solid 2px #000000;
	transition:0.5s ease;
}
.more.center { margin:4em auto 4em auto;}
.more i { position:absolute; right:1vw; line-height: calc(140vw / 19.2); }
.more:hover { opacity:1; background:#000; color:#FFF; }


.circle { border-radius:50vmax; }


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

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


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

.grayscale { filter: grayscale(100%);transition: 2s ease; }
.grayscale.active { filter: grayscale(0%); }


.text_action span { display: inline-block; opacity: 0;transform: translate(0) scale(5); }
.text_action.active span { animation: leftRight .25s forwards; }
@keyframes leftRight {
	50% {
		transform: translate(0) scale(2.5);
		opacity: 1;
	}
	100% {
		transform: translate(0) scale(1);
		opacity: 1;
	}
}
.text_action span:nth-of-type(2) {animation-delay: .05s;}
.text_action span:nth-of-type(3) {animation-delay: .1s;}
.text_action span:nth-of-type(4) {animation-delay: .15s;}
.text_action span:nth-of-type(5) {animation-delay: .2s;}
.text_action span:nth-of-type(6) {animation-delay: .25s;}
.text_action span:nth-of-type(7) {animation-delay: .3s;}
.text_action span:nth-of-type(8) {animation-delay: .35s;}
.text_action span:nth-of-type(9) {animation-delay: .4s;}
.text_action span:nth-of-type(10) {animation-delay: .45s;}
.text_action span:nth-of-type(11) {animation-delay: .5s;}
.text_action span:nth-of-type(12) {animation-delay: .55s;}
.text_action span:nth-of-type(13) {animation-delay: .6s;}
.text_action span:nth-of-type(14) {animation-delay: .65s;}
.text_action span:nth-of-type(15) {animation-delay: .7s;}
.text_action span:nth-of-type(16) {animation-delay: .75s;}
.text_action span:nth-of-type(17) {animation-delay: .8s;}
.text_action span:nth-of-type(18) {animation-delay: .85s;}
.text_action span:nth-of-type(19) {animation-delay: .9s;}
.text_action span:nth-of-type(20) {animation-delay: .95s;}
.text_action span:nth-of-type(21) {animation-delay: 1.0s;}
.text_action span:nth-of-type(22) {animation-delay: 1.05s;}
.text_action span:nth-of-type(23) {animation-delay: 1.1s;}
.text_action span:nth-of-type(24) {animation-delay: 1.15s;}
.text_action span:nth-of-type(25) {animation-delay: 1.2s;}


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


.box_curtain { position: relative; overflow: hidden; width: 100%; }
.box_curtain::before { background-color: #5E54DA; content: ""; position: absolute; z-index:3; width: 100%; height: 100%;  }
.box_curtain.active::before { animation: box_curtain 1.2s ease forwards; }


@keyframes box_curtain {
	0% { transform: translateX(-100%); }
	40%  { transform: translateX(0%); }
	60%  { transform: translateX(0%); }
	100% { transform: translateX(100%); }
}

.slider { width: 100%; overflow: hidden;}
.slider_track { display: flex; width: max-content; gap: 0; }
.slide { flex: 0 0 auto; }
.slide img { display: block; }



.bound_slide_up {opacity: 0;}
.bound_slide_up.active {
	-webkit-animation-name: boundup;animation-name: boundup;-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-delay: .8s;animation-delay: .8s;
	-webkit-animation-fill-mode: both;animation-fill-mode: both;display: block;transition-delay: 5s ;-webkit-backface-visibility:hidden;backface-visibility:hidden;
}
@-webkit-keyframes boundup {
	0% {-webkit-transform: translateY(50%);transform: translateY(50%);opacity: 0;}
	30% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	37% {-webkit-transform: translateY(25px);transform: translateY(25px);opacity: 1;}
	43% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	53% {-webkit-transform: translateY(15px);transform: translateY(15px);opacity: 1;}
	68% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	100% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
}
@-webkit-keyframes boundup {
	0% {-webkit-transform: translateY(50%);transform: translateY(50%);opacity: 0;}
	30% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	37% {-webkit-transform: translateY(25px);transform: translateY(25px);opacity: 1;}
	43% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	53% {-webkit-transform: translateY(15px);transform: translateY(15px);opacity: 1;}
	68% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
	100% {-webkit-transform: translateY(0px);transform: translateY(0px);opacity: 1;}
}

#header { position:fixed; top: 0; width: 100%; height: calc(80vw / 19.2); z-index: 999; background-color:#FFF; transition: background-color 0.5s ease; }
#header .logo { position: fixed; z-index: 1001; line-height:1; margin: calc(15vw / 19.2) 0 0 0; width:calc(270vw / 19.2); }


#header .right_menu_box { justify-content: flex-end; align-items: center; }
/*#header .right_menu_box .menu { display:none; }*/

#google_translate_element { margin-right:1.041666vw; }
#header .right_menu_box .entry {
	display:inline-block; width:10.416666vw; height:calc(80vw / 19.2); line-height: 1.2; margin-right:10.416666vw; text-align:center; letter-spacing: 0.1vw; padding: calc(20vw / 19.2) 0 0 0;
}
#header .right_menu_box .entry .ja { display:block; }

#header .right_menu_box .menu_button {
	display:inline-block; width:10.416666vw; calc(80vw / 19.2); line-height:calc(80vw / 19.2); text-align:center;
	position: fixed;
        z-index: 1001;
        top: 0;
}

#header .right_menu_box .menu_button .icon { display: inline-block; }

#header .grid { padding: 8vw 0 0 5vw; position: relative; z-index: 100; }
#header .grid ul { list-style-type:none; margin:0 0 0 0; padding:0 0 1.5em 0; }

#header .grid .grid1 {  }
#header .grid .grid2 { grid-column: 2; grid-row: 1 / 2; }
#header .grid .grid6 { grid-column: 3; grid-row: 1 / 2; }


#header .grid .grid4 { grid-column: 1; grid-row: 2 / 2; }
#header .grid .grid3 { grid-column: 2; grid-row: 2 / 2; }
#header .grid .grid5 { grid-column: 3; grid-row: 2 / 2; }



#header .grid ul li a .slug { display:block; }

#header .grid ul li.page_name { margin:0 0 1.3541666vw 0; }
#header .grid ul li.page_name a { position:relative; display:inline-block; padding:0 0 0 2.239583vw; line-height: 1; }
#header .grid ul li.page_name a i { position:absolute; top: 0.5vw; left:-0.239583vw; }
#header .grid ul li.page_name a .anchor { display:inline-block; margin-block-start:0.5em; }

#header .grid ul li.section_name { margin:0 0 0.5em 0; }
#header .grid ul li.section_name a { position:relative; display:inline-block; padding:0 0 0 1.875vw; line-height: 1; }
#header .grid ul li.section_name a i { position:absolute; top: -0.3vw; left:-0.239583vw; }

#home #header { top:0; padding: 20px 0 0 0; background-color: transparent; }
#home #header .right_inner { width: calc(1760vw / 19.2); margin: 0 auto; height: 100%; }
#home #header #header_logo img { -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); }
#home #header .right_menu_box .menu_button {top: 20px; right: calc(70vw / 19.2);}






.bottom_contact { z-index:2; padding:5.5em 0 5.5em 0; background-image:url(../img/bottom_contact_bg.jpg); background-size:cover; }
.bottom_contact .low_inner { border:solid 4px #000000; padding:2.447916vw 4.166666vw 2.447916vw 4.166666vw ; }

.bottom_contact .ttl { margin-block-start: 1vw; }

.bottom_contact .mail_btn {
	position:relative; width:calc(520vw / 19.2); height:calc(140vw / 19.2); line-height:calc(140vw / 19.2); display:block; text-align:center; border:solid 2px #000000;
	transition:0.5s ease; margin-block-start:2em;
}
.bottom_contact .mail_btn i { position:absolute; right:1vw; line-height: calc(140vw / 19.2); }
.bottom_contact .mail_btn:hover { opacity:1; background:#000; color:#FFF; }

.bottom_contact .left_img { bottom:0; left:3vw; width:calc(377vw / 19.2); filter: drop-shadow(0.5em 0 0 #000000); }
.bottom_contact .right_img { bottom:0; right:3vw; width:calc(377vw / 19.2); filter: drop-shadow(0.5em 0 0 #000000); }




#footer { z-index:3; }
#footer .inner { padding:4em 0 4em 0; }

#footer .site_info { padding: 0 0 3em 0; }
#footer .site_info .box { list-style-type:none; margin: 0; padding: 0; }
#footer .site_info .box li.page_name { font-weight:600; margin: 0 0 1em 0; }

#footer .site_info .box li .page_block { list-style-type:none; margin: 0; padding: 0; }
#footer .site_info .box li .page_block .section_name { margin: 0 0 0.5em 0; }
#footer .site_info .box a:hover { color:#05CFC6; }

#footer .office_list { border-top:solid 2px #05CFC6; padding:3em 0 3em 0; justify-content: space-between; }
#footer .office_list .box {  }
#footer .office_list .box dt { margin:0; padding:0 0 0.5em 0; }
#footer .office_list .box dt a { display:block; }
#footer .office_list .box dt a i { top:0.2em; right:0; }
#footer .office_list .box dd { margin:0; padding:0; }

#footer .logo img { width:calc(346vw / 19.2); }

#footer .copy { padding:0.5vw 0 0.5vw 0; }



#ptop {
	display: flex; position: fixed; bottom: 5vw; right: 5vw; z-index: 100; align-items: center; justify-content: center; width: 4.166666vw; height: 4.166666vw; line-height: 1vw; padding: 1vw; text-align: center;
	opacity: 0; pointer-events: none; transition: opacity 0.5s ease;
}
#ptop.show { opacity: 1;pointer-events: auto; }


.page_header {
	padding:1em 0 0 0; height:calc(623vw / 19.2);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 90%, rgba(234, 242, 242, 1) 90%, rgba(234, 242, 242, 1) 100%),
	url(../img/page_header_bg.jpg); background-position:top,bottom 2em center; background-repeat:no-repeat,no-repeat; background-size:100%,100%;
}

.page_header .ttl { width:calc(540vw / 19.2); margin-block-start: 2em; }
.page_header .thumb { width:calc(1180vw / 19.2); border:solid 2px #000000; border-right:none; top:1em; right:0;}

.page_nav { padding:7em 0 7em 0; }
.page_nav .link_list { list-style-type:none; padding: 0; }
.page_nav .link_list li { margin: 0 0 2em calc(140vw / 19.2); line-height: 1.4; }
.page_nav .link_list li a {  position: relative; width: calc(394vw / 19.2); height: calc(110vw / 19.2);display:table-cell; vertical-align:middle; border:solid 2px #000000; }
.page_nav .link_list li a .slug {  }
.page_nav .link_list li a .ja { display:block; }
.page_nav .link_list li a i { position: absolute; top:calc(36vw / 19.2); right: 0.4em; }




main { margin-block-start:calc(80vw / 19.2); }
#home main { margin-block-start:0; }


#fv {
	width: 100%; height: calc(1080vw / 19.2);
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(5, 207, 198, 1) 50%, rgba(5, 207, 198, 1) 75%, rgba(234, 242, 242, 1) 75%, rgba(234, 242, 242, 1) 100%);
	position: relative; background-repeat: no-repeat; background-size: 100%; z-index: 10;
}

#fv .fv_video { position: absolute; top: 0; }

#fv .catch { top:calc(420vw / 19.2); left:0; right:0; margin:auto; text-align:center; font-weight: bold; }
#fv .slug { top:calc(440vw / 19.2); left:calc(65vw / 19.2); }

#fv .scroll_btn {
	width:calc(196vw / 19.2); height:calc(195vw / 19.2); bottom:2vw; right:2vw; display:flex; align-items: center; justify-content: center;
	text-decoration: none; cursor: pointer; transition: .2s;
}
#fv .scroll_btn .heading { animation: rotate-anime 15s linear infinite; }
#fv .scroll_btn i { z-index:3; }
@keyframes rotate-anime {0%  {transform: rotate(0);}100%  {transform: rotate(360deg);}}



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

#top_about {
	padding:5.5em 0 25em 0;
	background: linear-gradient(180deg, rgba(234, 242, 242, 1) 0, rgba(234, 242, 242, 1) calc(194vw / 19.2), rgba(255, 255, 255, 1) calc(194vw / 19.2), rgba(255, 255, 255, 0) 100%),
	 url(../img/home/top_about_bg.jpg); background-position:bottom center; background-size:contain; background-repeat:no-repeat;
}

#top_about .right_inner .text { width:calc(520vw / 19.2); }
#top_about .right_inner .thumb { width:calc(1180vw / 19.2); border:solid 2px #000000; border-right:none; }

#top_about .link_list { padding: 0; list-style-type:none; margin-block-end: 5em; }
#top_about .link_list .list_btn { position:relative; width:calc(340vw / 19.2); height:calc(85vw / 19.2); line-height:calc(85vw / 19.2); border-bottom:solid 2px #05CFC6; text-align: left; }
#top_about .link_list .list_btn i { position:absolute; right:0; line-height:calc(85vw / 19.2); }

#top_about .catch { font-weight: bold; }


#top_about .link_list .list_btn::after {
	position:absolute; bottom:-2px; left:0; z-index: 1;
	content: ''; width: 100%; height:2px; border-bottom:solid 2px #000; transform-origin: left bottom; transform: scale(0, 1); transition:0.5s ease;
}
#top_about .link_list .list_btn:hover::after { transform: scale(1, 1); }


#top_business { background-image:url(../img/home/top_business_bg.jpg); background-size:100%; background-position:top center; background-repeat:no-repeat; height:calc(3110vw / 19.2); }


#top_business #top_business_wrapper { width: 100%; top:-22em; }

#top_business #top_business_wrapper .box { margin-block-start: 4em; margin-block-end: 4em; height: calc(480vw / 19.2); }

#top_business #top_business_wrapper .box.left_inner { outline:solid 4px #05CFC6; border-left:none; }
#top_business #top_business_wrapper .box.right_inner { outline:solid 4px #05CFC6; border-right:none; }
#top_business #top_business_wrapper .box .text { width:calc(880vw / 19.2); height:100%; }
#top_business #top_business_wrapper .box .thumb { width:calc(960vw / 19.2); height:100%; }

#top_business #top_business_wrapper .box.left_inner .thumb .num { opacity:0.5; line-height: 1; left:calc(80vw / 19.2); top:calc(90vw / 19.2); }
#top_business #top_business_wrapper .box.right_inner .thumb .num { opacity:0.5; line-height: 1; right:calc(80vw / 19.2); top:calc(90vw / 19.2); }


#top_business #top_business_wrapper .box.left_inner .text {
	margin: 0;
	background: linear-gradient( 185deg, rgba(234, 242, 242, 1) 0, rgba(234, 242, 242, 1) 50%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100% );
}

#top_business #top_business_wrapper .box.right_inner .text {
	margin: 0;
	background: linear-gradient( -185deg, rgba(234, 242, 242, 1) 0, rgba(234, 242, 242, 1) 50%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100% );
}

#top_business #top_business_wrapper .box .text dt { margin:0; padding:3em 4em 1em 4em; line-height: 1.2; }
#top_business #top_business_wrapper .box .text dt .slug { display:block; }
#top_business #top_business_wrapper .box .text dt .ja { display:inline-block; padding: 1em 0 1em 0; font-weight: 600; border-bottom: solid 2px #05CFC6; }

#top_business #top_business_wrapper .box .text dd { margin:0; padding:1em 4em 1em 4em; }
#top_business #top_business_wrapper .box .text dd p { width:25em; }

#top_business #top_business_wrapper .box .text dd .circle {
	width:calc(120vw / 19.2); height:calc(120vw / 19.2); display:flex; align-items:center; justify-content:center; top: 0.5em; right:2em;
}



#top_office {
	background-image:url(../img/home/top_office_bg.jpg); background-position:bottom center; background-size:cover; z-index:2; margin: calc(-160vw / 19.2) auto 0 auto; border-radius:1em;
	padding:7em 2em 7.25em 2em;
}

#top_office .top_office_wrapper { justify-content: space-between; }

#top_office .top_office_wrapper .ttl .slug { display: inline-block; }
#top_office .top_office_wrapper .ttl .ja { border:none; }

#top_office .top_office_wrapper .box { width:calc(342vw / 19.2); height:calc(746vw / 19.2); padding:1em; border:solid 2px #000000; }
#top_office .top_office_wrapper .box .office_name { margin:0; padding: 0.5em 0 0.5em 0; letter-spacing: 0.2em; }
#top_office .top_office_wrapper .box .sales_list { z-index:3; padding: 0 0 0 1.25em; }
#top_office .top_office_wrapper .box	.slug { bottom:0.29em; right:0.1em; line-height: 1; }
#top_office .top_office_wrapper .box .circle {
	width:calc(120vw / 19.2); height:calc(120vw / 19.2); display:flex; align-items:center; justify-content:center; bottom:1em; left:1em;
}
#top_office .top_office_wrapper .box .thumb { z-index:0; top:0; left:0; width:100%; height:100%; opacity:0.5; }


#top_recruit { padding:20em 0 5em 0; }

#top_recruit.dots {
	position: relative;
	background-color: white; /* 下地は白 */
	z-index: 0; /* コンテンツより下に背景を置く */
}

#top_recruit.dots::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle, #E7F5F5 2.5px, transparent 2.5px),
		radial-gradient(circle, #E7F5F5 2.5px, transparent 2.5px);
	background-position: 0 0, 15px 15px;
	background-size: 30px 30px;

	/* マスクは擬似要素にだけ適用 */
	-webkit-mask-image: linear-gradient(to bottom,
		transparent 0,
		transparent 5em,
		black 7em
	);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-image: linear-gradient(to bottom,
		transparent 0,
		transparent 5em,
		black 7em
	);
	mask-repeat: no-repeat;
	mask-size: 100% 100%;

	z-index: -1; /* コンテンツより背面に配置 */
}

#top_recruit.dots::after {
	content: "";position: absolute;inset: 0;
	background: url(../img/home/top_recquit_bottom_bg.jpg) bottom center / 100% no-repeat;
	z-index: -1; 
}

#top_recruit .ttl { width:100%; top: 6.7em; }

#top_recruit .grid_menu.flex { justify-content: space-between; }
#top_recruit .box { width:calc(860vw / 19.2); height:calc(440vw / 19.2); box-shadow: 14px 14px 0 #000; padding:1.25em 2em 1.25em 2em; margin-block-end:2.25em; }
#top_recruit .box.border_green { background: linear-gradient(8deg, rgba(5, 207, 198, 1) 0, rgba(5, 207, 198, 1) 40%, rgba(255, 255, 255, 0) 40.5%, rgba(255, 255, 255, 0) 100%); }
#top_recruit .box.border_purple { background: linear-gradient(8deg, rgba(132, 114, 216, 1) 0, rgba(132, 114, 216, 1) 40%, rgba(255, 255, 255, 0) 40.5%, rgba(255, 255, 255, 0) 100%); }
#top_recruit .box.border_yellow { background: linear-gradient(8deg, rgba(252, 209, 39, 1) 0, rgba(252, 209, 39, 1) 40%, rgba(255, 255, 255, 0) 40.5%, rgba(255, 255, 255, 0) 100%); }
#top_recruit .box.border_emerald_green { background: linear-gradient(8deg, rgba(3, 209, 132, 1) 0, rgba(3, 209, 132, 1) 40%, rgba(255, 255, 255, 0) 40.5%, rgba(255, 255, 255, 0) 100%); }

#top_recruit .box .slug { line-height:1.2; font-weight: bold; display:block; }

#top_recruit .box .num { color:#E7F5F5; line-height: 1; right:0.05em; top:0.01em; }
#top_recruit .box .circle {
	width:calc(120vw / 19.2); height:calc(120vw / 19.2); display:flex; align-items:center; justify-content:center; bottom:1.25em; left:2em;
}



#top_recruit .box .thumb { width:calc(520vw / 19.2); bottom:0; bottom: -0.36em; right: 0;}

#top_recruit .box.border_green .thumb { filter:drop-shadow(-1em 0 0 #FFD0AA); }
#top_recruit .box.border_purple .thumb { filter:drop-shadow(-1em 0 0 #2FBD79); }
#top_recruit .box.border_yellow .thumb { filter:drop-shadow(-1em 0 0 #7666E6); }
#top_recruit .box.border_emerald_green .thumb { filter:drop-shadow(-1em 0 0 #0195D3); }




#greeting {
	padding:0 0 0 0;
	background: linear-gradient(180deg, rgba(234, 242, 242, 1) 0, rgba(234, 242, 242, 1) calc(194vw / 19.2), rgba(255, 255, 255, 1) calc(194vw / 19.2), rgba(255, 255, 255, 0) 100%);
}


#greeting .wrapper { padding:1em calc(150vw / 19.2) 6em calc(150vw / 19.2); box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); }

#greeting .wrapper .ttl { margin-block-start: 3em; margin-block-end: 6em; }
	
#greeting .wrapper .catch { width:100%; font-weight: bold; border-bottom:solid 2px #000000; padding-bottom: 1em; margin-block-end: 2em; }

#greeting .wrapper .thumb { width: calc(764vw / 19.2); border:solid 2px #000000; filter:drop-shadow(1em 1em 0 #000000); top:-5em; right:calc(150vw / 19.2); }
#greeting .wrapper .representative_name { width: calc(489vw / 19.2); }



#philosophy { top: -9em; z-index: 0; padding: 15em 0 15em 0; background-image:url(../img/about/philosophy_bg.jpg); background-size:cover; }


#philosophy .three_philosophies { padding: 1em 0 2em 0; }
#philosophy .three_philosophies .circle {
	background-image:url(../img/about/three_philosophies_circle_bg.jpg); width:calc(530vw / 19.2); height:calc(530vw / 19.2); background-position:center center; background-size: contain;
	border-radius:50vmax; border:solid 2px #000000; filter:drop-shadow(0 0 3px rgba(0, 0, 0, 0.2)); padding: 2em 0 2em 0;
}

#philosophy .three_philosophies .circle dt { padding: 0 0 1em 0; }
#philosophy .three_philosophies .circle dt .num { border-bottom: solid 10px #F1FEFA; }
#philosophy .three_philosophies .circle dd { margin:0; padding:0; }


.management_policy_list { list-style: none; padding: 0; counter-reset: my-counter;}
.management_policy_list li { counter-increment: my-counter; position: relative; padding: 1em 1em 1em 1em; margin:1em auto 1em auto; border:solid 6px #05CFC6; font-weight: 600; }
.management_policy_list li::before { content: counter(my-counter) "."; position: absolute; left: 10em; font-weight: 600; }


#business_content { margin-block-start: -18em; padding-bottom: 25em; }
#business_content .business_content_header { margin-block-end: 8em; }
#business_content .business_content_header .heading { border:solid 2px #000000; }
#business_content .business_content_header .thumb { width:calc(983vw / 19.2); bottom:-2em; right:calc(-50vw / 19.2); filter:drop-shadow(1em 1em 0 #000000); }


#business_content .company_profile {  }
#business_content .company_profile .profile { width: 50%; }
#business_content .company_profile .profile .box { margin: 0; padding: 2em; border-top:solid 1px #000; }
#business_content .company_profile .profile .box:last-of-type { border-bottom:solid 1px #000; }
#business_content .company_profile .profile.left { border-left:solid 1px #000; }
#business_content .company_profile .profile.right { border-right:solid 1px #000; }
#business_content .company_profile .profile .box .field { width:6em; }
#business_content .company_profile {  }





#history { padding:3em 0 3em 0; }
#history .history_wrapper { background-image:url(../img/about/history_wrapper_bg.jpg); background-position:bottom center; background-size:cover; background-repeat:no-repeat; border-radius:1em; padding:4em 0 2em 0; }
#history .history_wrapper .sub_ttl { width:100%; margin: 0; top: -1.25em;}
#history .history_wrapper .sub_ttl .ja::after { background-color: #05CFC6; width: 4em; }


#history .history_wrapper .box { margin:0; padding: 3em 0 3em 0; border-bottom: solid 2px #FFFFFF; }
#history .history_wrapper .box:last-of-type { border:none; }

#history .history_wrapper .box .since { width:15em; padding:1em 1.5em 1em 1.5em; }
#history .history_wrapper .box .text { margin:0 0 1em 2em; vertical-align: top; }
#history .history_wrapper .box .text .list { list-style-type:none; margin:0; padding: 0 0 0 4em; }
#history .history_wrapper .box .text .list li { border-bottom: solid 2px #05CFC6; padding: 1em 0 1em 0; }



#office { padding:3em 0 0 0; }

#office .box { border-bottom:solid 14px #000000; padding:3em 0 3em 0; background-position:bottom center; background-size:cover; }
#office #office1.box { background-image:url(../img/about/office1_bg.jpg); }
#office #office2.box { background-image:url(../img/about/office2_bg.jpg); }
#office #office3.box { background-image:url(../img/about/office3_bg.jpg); }
#office #office4.box { background-image:url(../img/about/office4_bg.jpg); }

#office .box .middle_inner.flex { justify-content: space-between; }

#office .box .text { width:calc(520vw / 19.2); }
#office .box .text dt { margin:0; padding:0 0 0.5em 0; border-bottom:solid 2px #05CEC5; }
#office .box .text dd { margin:0; padding:3em 0 2em 0; }
#office .box .text dd .base_name {  }
#office .box .text dd .office_tel { display:block; }
#office .box .btn { display:inline-block; width:calc(230vw / 19.2); height:3.25em; border-bottom:solid 2px #000000; margin-block-start: 2em; }
#office .box .btn i { top: 0; right: 0; }

#office .box .map { width:calc(780vw / 19.2); height:calc(400vw / 19.2); border:solid 2px #000; }

#office .box .half { width:calc(670vw / 19.2); }
#office .box .half .half_text { width:100%; }
#office .box .half_text dt { margin:0; }
#office .box .half_text dd { margin:0; }
#office .box .half_text dd .base_name {  }
#office .box .half_text dd .office_tel { display:block; }


#office .box .half_map { width:100%; height:calc(340vw / 19.2); border:solid 2px #000; margin-block-start:2em; }




#page_header_business.page_header .ttl { margin-block-start: 0.8em; }

#pagen_nav_business { padding:7em 0 14em 0; }

#transportation {
	padding: 0 0 15em 0;
	background:linear-gradient(180deg, rgba(234, 242, 242, 1) 0, rgba(234, 242, 242, 1) calc(194vw / 19.2), rgba(255, 255, 255, 1) calc(194vw / 19.2), rgba(255, 255, 255, 0) 100%), 
	url(../img/business/transportation_bg.jpg); background-position:top center, bottom center; background-size:100%,cover;
}
#transportation .transportation_header_thumb { width:calc(1580vw / 19.2); top:-10em; left:0; border:solid 2px #000000; border-left:none; filter:drop-shadow(1em 1em 0 #000000); }
#transportation .transportation_wrapper {
	padding: 20em calc(60vw / 19.2) 7em calc(60vw / 19.2);
	background-image:url(../img/business/wrapper_left_bg.jpg); background-position:right top; background-size:100%;
}

.service_thumb_list { border-top:solid 2px #000000; margin-block-start: 2em; padding: 2em 0 0 0; justify-content: space-between; flex-wrap: wrap; }
.service_thumb_list .thumb { width:calc(518vw / 19.2); }



#warehousing {
	margin-block-start: -1px;
	background:linear-gradient(180deg, rgba(102, 102, 102, 1) 0, rgba(102, 102, 102, 1) calc(244vw / 19.2), rgba(255, 255, 255, 1) calc(244vw / 19.2), rgba(255, 255, 255, 0) 100%);
	background-position:top center; background-size:100%;
}
#warehousing .warehousing_header_thumb { width:calc(1580vw / 19.2); top:-5em; right:0; border:solid 2px #000000; border-right:none; filter:drop-shadow(-1em 1em 0 #000000); }
#warehousing .warehousing_wrapper {
	padding: 25em calc(60vw / 19.2) 7em calc(60vw / 19.2);
	background-image:url(../img/business/wrapper_right_bg.jpg); background-position:right top; background-size:100%;
}


#feed_order {
	padding: 18em 0 15em 0;
	background: url(../img/business/feed_order_bg.jpg); background-position: bottom center; background-size:100%; background-repeat:no-repeat;
}
#feed_order .feed_order_header_thumb { width:calc(1580vw / 19.2); top:-10em; left:0; border:solid 2px #000000; border-left:none; filter:drop-shadow(1em 1em 0 #000000); }
#feed_order .feed_order_wrapper {
	padding: 20em calc(60vw / 19.2) 7em calc(60vw / 19.2);
	background-image:url(../img/business/wrapper_left_bg.jpg); background-position:right top; background-size:100%;
}


#dairy_farming {
	margin-block-start: -1px;
	background: linear-gradient(180deg, rgba(102, 102, 102, 1) 0, rgba(102, 102, 102, 1) calc(244vw / 19.2), rgba(255, 255, 255, 1) calc(244vw / 19.2), rgba(255, 255, 255, 0) 100%);
	background-position: top center; background-size: 100%;
}
#dairy_farming .dairy_farming_header_thumb { width:calc(1580vw / 19.2); top:-10em; right:0; border:solid 2px #000000; border-right:none; filter:drop-shadow(-1em 1em 0 #000000); }
#dairy_farming .dairy_farming_wrapper {
	padding: 20em calc(60vw / 19.2) 7em calc(60vw / 19.2);
	background-image:url(../img/business/wrapper_right_bg.jpg); background-position:right top; background-size:100%;
}

#dairy_farming .service_thumb_list::before { content: ""; width: calc(518vw / 19.2); }





#passenger_transport {
	padding: 18em 0 15em 0;
	background: url(../img/business/passenger_transport_bg.jpg); background-position: bottom center; background-size:100%; background-repeat:no-repeat;
}
#passenger_transport .passenger_transport_header_thumb { width:calc(1580vw / 19.2); top:-10em; left:0; border:solid 2px #000000; border-left:none; filter:drop-shadow(1em 1em 0 #000000); }
#passenger_transport .passenger_transport_wrapper {
	padding: 20em calc(60vw / 19.2) 7em calc(60vw / 19.2);
	background-image:url(../img/business/wrapper_left_bg.jpg); background-position:right top; background-size:100%;
}




#passenger_transport {
	padding: 18em 0 10em 0;
	background: url(../img/business/passenger_transport_bg.jpg); background-position: bottom center; background-size:100%; background-repeat:no-repeat;
}
#passenger_transport .feed_order_header_thumb { width:calc(1580vw / 19.2); top:-10em; left:0; border:solid 2px #000000; border-left:none; filter:drop-shadow(1em 1em 0 #000000); }
#passenger_transport .feed_order_wrapper {
	padding: 20em calc(60vw / 19.2) 7em calc(60vw / 19.2);
	background-image:url(../img/business/wrapper_left_bg.jpg); background-position:right top; background-size:100%;
}

#passenger_transport .service_thumb_list::after { content: ""; width: calc(518vw / 19.2); }
#passenger_transport .service_thumb_list .thumb { margin-block-end:2em; }


#page_nav_office.page_nav .link_list li { margin: 0 calc(23vw / 19.2) 2em calc(23vw / 19.2); }


#obihiro { padding-bottom: 3em; }

.office_contents .slider { background-color:#666666; padding:1em 0 1em 0; }
.office_contents .slider .slider_track .slide { margin: 0 0.5em 0 ; filter: grayscale(1); }
.office_contents .slider .slider_track .slide img { filter: brightness(0.4); width:calc(565vw / 19.2); height:auto; }

.office_contents .wrapper { margin-top: -5em; padding:3em 0 3em 0; clip-path: polygon(95% 0, 100% 8.25em, 100% 100%, 0 100%, 0 0); }

.office_contents .wrapper .office_contents_header { margin-block-end: 4em; }
.office_contents .wrapper .office_contents_header .salse_office { margin-block-end: 4em; }
.office_contents .wrapper .office_contents_header .salse_office dt { width: 14em; line-height: 1; vertical-align: middle; padding: 0 2em 0 0; position:relative; }
.office_contents .wrapper .office_contents_header .salse_office dt .slug { display:block; font-weight: bold; line-height: 1; margin-block-end: 1em; }
.office_contents .wrapper .office_contents_header .salse_office dt .num { display:block; font-weight: bold; line-height: 0.8; }
.office_contents .wrapper .office_contents_header .salse_office dt::after {
	position:absolute; right:1em; top:0; bottom:0; margin:auto; content:""; display:block; width:2px; height:9em; background-color:#000000;
}
.office_contents .wrapper .office_contents_header .salse_office dd { line-height: 1; vertical-align: middle; margin:0; padding: 0 0 0 2em; }
.office_contents .wrapper .office_contents_header .salse_office dd .ttl { margin:0; }

.office_contents .wrapper .office_contents_header .header_img { top: -5em; border: solid 2px #000000; filter: drop-shadow(1em 1em 0 #000000); }

.office_contents .wrapper .office_thumb_list { padding:1em 0 1em 0; margin-block-start:4em; margin-block-end:4em; }
.office_contents .wrapper .office_thumb_list .flex { justify-content: space-between; }
.office_contents .wrapper .office_thumb_list .flex .thumb { width: calc(480vw / 19.2); }
.office_contents .wrapper .office_thumb_list .flex .thumb:first-child { clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%, 0 30%); }
.office_contents .wrapper .office_thumb_list .flex .thumb:last-child { clip-path: polygon(100% 0, 100% 70%, 85% 100%, 0 100%, 0 0); }

.office_contents .wrapper .office_access .text { width: calc(580vw / 19.2); }

.office_contents .wrapper .office_access .text .sub_ttl .ja::after { right: auto; left: 0;  background-color: #000000; }

.office_contents .wrapper .office_access .text address { display:block; border-bottom:solid 2px #12D0C8; padding: 0 0 0.6em 0; margin-block-end:1.5em; }
.office_contents .wrapper .office_access .text .access_list { border-bottom:solid 2px #12D0C8; }
.office_contents .wrapper .office_access .text .access_list dt { width:5em; padding:0 0 0.6em 0; }
.office_contents .wrapper .office_access .text .access_list dt .circle { width:1.8em; height:1.8em; display:flex; align-items: center; justify-content: center; }
.office_contents .wrapper .office_access .text .access_list dd { padding:0 0 0.6em 0; }

.office_contents .wrapper .office_access .map { width: calc(730vw / 19.2); height: 25em; border:solid 2px #000; }

.office_contents .wrapper .facility { padding:4em 5.5em 3em 5.5em; margin-block-end:2em; }
.office_contents .wrapper .facility .facility_header { border-bottom:dotted 2px #05CCC5; padding:0 0 3em 0; }
.office_contents .wrapper .facility .facility_header .ttl { width:calc(530vw / 19.2); margin-block-start:4em; }
.office_contents .wrapper .facility .facility_header .header_img { width:calc(630vw / 19.2); }
.office_contents .wrapper .facility .summary { margin-block-start:3em; }





#page_header_recruit.page_header {
	padding: 1em 0 0 0; height: calc(623vw / 19.2);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 90%, rgba(234, 242, 242, 0) 90%, rgba(234, 242, 242, 0) 100%), url(../img/page_header_bg.jpg);
	background-position: top, bottom 2em center; background-repeat: no-repeat, no-repeat; background-size: 100%, 100%;
}
#page_nav_recruit { background-image:url(../img/recruit/page_nav_recruit_bg.jpg); background-size:cover; margin-block-start: -3em; height: 35em; }


.bg_half { background: linear-gradient(to right, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 1) 50%, rgba(5, 205, 196, 1) 50%, rgba(5, 205, 196, 1) 100%); }

#message {}

#message .wrapper1 {
	padding: 3em 0 3em 0; top: -15em; margin-block-end:4em;
	background-image:url(../img/recruit/message_wrapper_bg1.jpg); background-position:center top; background-size:100%; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
#message .wrapper1 .message_header {  }
#message .wrapper1 .message_header .message_header_content { height:calc(494vw / 19.2);}
#message .wrapper1 .message_header .message_header_content .text { top: 1em; left: 5.5em; }

#message .wrapper1 .catch { margin-block-start: 2em; }

#message .wrapper2 {
	padding: 3em 0 3em 0; top: -15em;
	background-image:url(../img/recruit/message_wrapper_bg2.jpg); background-position:center top; background-size:100%; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
#message .wrapper2 .catch { margin-block-start: 2em; margin-block-end: 2em; padding:0 0 0.4em 0; border-bottom:solid 2px #000; }

#message .wrapper2 .box { margin-block-start: 1em; }
#message .wrapper2 .box dt { margin:0; padding:0 0 0.4em 0; }
#message .wrapper2 .box dd { margin:0; padding:0; }


#interview { top: -18em; z-index: 0; margin-block-end: -18em; }
#interview .interview_header { background-image:url(../img/recruit/interview_header_img.jpg); background-size:100%; height:37.8em; }
#interview .interview_header .inner { display: flex; align-items: center; }
#interview .interview_header .inner .ttl .ja { position:relative; border-bottom:none; }
#interview .interview_header .inner .ttl .ja::after { content:""; position:absolute; left: 0; bottom:0; background-color: #7167E2; width:3.25em; height:2px; }

#interview .interview_header .staff_img { width:calc(983vw / 19.2); right:0; bottom:0; z-index: 0; }

#interview .bg_interview { background-image:url(../img/recruit/interview_bg_on_text.jpg); background-size:100%; margin-block-end: -15em; }

#interview .interview_staff { border:solid 2px #5E54DA; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); top:-4em; margin-block-end:4em; }

#interview .interview_staff .box {  }
#interview .interview_staff .box .text { top: 3.8em; left:calc(834vw / 19.2); width:calc(580vw / 19.2); }
#interview .interview_staff .box .staff_name { border-bottom: solid 2px #FFFFFF; padding: 0 0 0.4em 0; margin-block-start: 0; margin-block-end: 0.1em; }
#interview .interview_staff .box .staff_area { margin-block-end: 0; }

#interview .interview_staff .number_box { opacity:0.95; line-height:1; }
#interview .interview_staff .number_box .slug { display:block; padding-right: 1em; }
#interview .interview_staff .number_box .num { display:block; }


#interview .interview_staff .qa_box { margin: 0; padding:0.5em 4.5em 0.5em 4.5em; }
#interview .interview_staff .qa_box dt { margin:0; padding:0.5em 0 0.5em 0; border-bottom:solid 2px #7167E2; }
#interview .interview_staff .qa_box dt .question { position:relative; display:inline-block; margin-left:3em; }
#interview .interview_staff .qa_box dt .question::before {
	position:absolute; content:""; display:inline-block; top:0; bottom:0; left:-3em; margin:auto; width:2.5em; height:2px; background-color:#7C73E0;
}
#interview .interview_staff .qa_box dd { margin:0; padding:1.2em 0 1em 0; }

#interview .slider { padding:1.5em 0 1.5em 0; background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 1) 75%, rgba(2, 209, 131, 1) 75%, rgba(2, 209, 131, 1) 100%); }
#interview .slider .slider_track .slide { margin: 0 0.75em 0 ; }
#interview .slider .slider_track .slide img { width:calc(720vw / 19.2); height:auto; }


#requirements { }
#requirements .bg_half { background: linear-gradient(to right, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 1) 50%, rgba(2, 209, 131, 1) 50%, rgba(2, 209, 131, 1) 100%); }
#requirements .wrapper { padding:3em 0 7em 0; top:-4em; }
#requirements .wrapper .sub_ttl .ja::after { background-color: #000000; width: 4em; }


#requirements .requirements_header { background-image:url(../img/recruit/requirements_header_img.jpg); background-size:100%; height:37.5em; }
#requirements .requirements_header .inner { display: flex; align-items: center; }
#requirements .requirements_header .inner .ttl .ja { position:relative; border-bottom:none; }
#requirements .requirements_header .inner .ttl .ja::after { content:""; position:absolute; left: 0; bottom:0; background-color: #02D183; width:3.25em; height:2px; }

#requirements .requirements_header .staff_img { width:calc(1028vw / 19.2); right:0; bottom:0; z-index: 0; }


#requirements .requirements_list { margin-top: -1px; }


#requirements .requirements_list .requirements_type { position:relative; display:block; padding: 1em 2em 1em 2em; cursor:pointer; border: solid 1px #000000; }

#requirements .requirements_list .requirements_type i { display: flex; align-items: center; right: 1em; top: 0; bottom: 0; margin: auto; }


#requirements .requirements_list .requirements_detail { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; border-left: solid 1px #000000; border-right: solid 1px #000000;}
#requirements .requirements_list .requirements_detail .low_inner { padding:1.5em 0 0 0;margin-bottom: 4em; }
#requirements .requirements_list .requirements_detail .box { margin:0; }
#requirements .requirements_list .requirements_detail .box dt { width: 8em; margin:0; padding: 1em 0 1em 0; border-bottom:solid 1px #05CFC6; }
#requirements .requirements_list .requirements_detail .box dd { margin:0; padding: 1em 0 1em 0; border-bottom:solid 1px #000000; }


#requirements .letters { left:2%; bottom:0; margin: 0; z-index: 0; line-height: 1; }



#mailform {
	padding: 5.5em 0 5.5em 0;
	background-image: url(../img/contact/mailform_bg.jpg); background-position: center bottom; background-size: contain; background-repeat: no-repeat;

}

#mailform .wrapper { padding: 6em 0 6em 0; }
#mailform .wrapper .summary { margin-block-start:2em; }

#form { margin-block-start:3em; padding-top:1em; border-top: solid 2px #EAF2F2; }



#form .box {	}
#form .box dt { width:16em; padding:2em 0 1em 0; vertical-align: top; }
#form .box dt .field {	}
#form .box dt .required { display:inline-block; margin-left:1em; padding:0.3vw 0.4vw 0.3vw 0.4vw; line-height:1; }
#form .box dt .any { display:inline-block; margin-left:1em; padding:0.3vw 0.4vw 0.3vw 0.4vw; line-height:1; }

#form .box dd { padding:1em 1em 1em 2em; }
#form.confirm .box dd { padding:2em 1em 1em 2em; }

#form .box dd input[type="text"], #form .box dd input[type="tel"], #form .box dd input[type="email"] { width: 100%; padding:1em; border: solid 1px #cccccc; }
#form .box dd textarea { width: 100%; padding:1em; border: solid 1px #cccccc; height: 12em; }

#form .box dd input[type="checkbox"] { display: none; }
#form .box dd input[type="checkbox"] + label {
	display: block; position: relative; padding-left: 2em; margin-bottom: 1em; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;
}
#form .box dd input[type="checkbox"] + label:last-child { margin-bottom: 0; }
#form .box dd input[type="checkbox"] + label:before {
	content: ''; display: block; width: 1.2em; height: 1.2em; border: 1px solid #50b7b3;
	position: absolute;left: 0; top: 0.4em; opacity: .6; -webkit-transition: all .12s, border-color .08s; transition: all .12s, border-color .08s;
}

#form .box dd input[type="checkbox"]:checked + label:before {
	width: 0.8em; top: 0; left: 0.3em; border-radius: 0; opacity: 1; border-top-color: transparent; border-left-color: transparent; -webkit-transform: rotate(45deg); transform: rotate(45deg);
}


#form .box dd .memo { display:block; margin-block-start:1em; }

#form .next { width: calc(530vw / 19.2); height: calc(150vw / 19.2); margin-block-start: 4em; border: solid 2px #000000; cursor:pointer; }
#form .next i { position:absolute; right:0.8em; top:0; line-height: calc(143vw / 19.2); }
#form .next:hover { background-color:#000000; }

#form .send_btn { display:block; width: calc(530vw / 19.2); height: calc(150vw / 19.2); margin: 3.645833vw 6.645833vw 0 0; border: solid 2px #000000; cursor:pointer; }
#form .send_btn i { position:absolute; right:0.8em; top:0; line-height: calc(143vw / 19.2); }
#form .send_btn:hover { background-color:#000000; }

#form .back_btn { display:block; width: calc(530vw / 19.2); height: calc(150vw / 19.2); line-height: calc(143vw / 19.2); margin: 3.645833vw 0 0 6.645833vw; cursor:pointer; color:#000000; border: solid 2px #000000; text-align:center; }
#form .back_btn i { position:absolute; left:0.8em; margin:auto; top:0; bottom:0; line-height: calc(143vw / 19.2); color:#000000; }
#form .back_btn:hover { background-color:#000000; color:#FFF; }
#form .back_btn:hover i,#form .back_btn:hover span { color:#FFF; }

