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

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

body {
	color:#000000; --text-color:#000000; font-size:calc(18 * 0.052vw); line-height: 2; letter-spacing: 0.12em;
	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;
	background-color: #ffffff; background-image: radial-gradient(circle, #f3f2f1 2.5px, transparent 2.5px); background-position: 0 0; background-size: 30px 30px;
}

*, *: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); }
.fs86vw { font-size:calc(86 * 0.052vw); }
.fs100vw { font-size:calc(100 * 0.052vw); }
.fs110vw { font-size:calc(110 * 0.052vw); }
.fs120vw { font-size:calc(120 * 0.052vw); }
.fs140vw { font-size:calc(140 * 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); line-height:1; }


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-between;}
.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(1820vw / 19.2); margin: 0 auto; height: 100%; }
.right_inner { width: calc(1870vw / 19.2); margin: 0 0 0 auto; height: 100%;  }
.middle_inner { width: calc(1600vw / 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 { overflow: hidden; position:relative; }
.fit img { margin: auto; width: 100%; min-height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }


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; }
.white { color:#FFFFFF; --text-color: #FFFFFF; }
.red { color:#DC1D1D; }
.green { color:#1F9538; }
.orange { color:#EB7212; }
.blue { color:#22BFDB; }
.yellow { color:#FBD197; }
.gray { color:#A49E99; }
.light_gray { color:#E0DFDD; }

.bg_black { background-color:#000000; }
.bg_white { background-color:#FFFFFF; }
.bg_red { background-color:#DC1D1D; }
.bg_green { background-color:#1F9538; }
.bg_orange { background-color:#EB7212; }
.bg_yellow { background-color:#FBD197; }
.bg_blue { background-color:#22BFDB; }
.bg_gray { background-color:#EFEEED; }
.bg_dark { background-color:#333333; }
.bg_shilver { background-color:#DFDFDD; }




.circle { border-radius:50vmax; }

.ttl { line-height: 1; font-weight: 900; margin-block-start: 1em; margin-block-end: 2em; font-weight: bold; }
.ttl .slug { display:block; padding:0 0 0.3em 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 0.2em 0; font-weight: 600;}
.ttl .after { width: max-content; }
.ttl .after .circle { border:solid 2px #000000; width:1em; height:1em; margin-right: 0.7em; }


.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(370vw / 19.2); height:calc(90vw / 19.2); line-height:calc(90vw / 19.2); display:block; margin:4em 0 4em 0; text-align:center; border:solid 3px #000000; border-radius:50vmax;
	transition:0.5s ease;
}
.more.center { margin:4em auto 4em auto;}
.more i { position:absolute; right:1vw; line-height: calc(80vw / 19.2); }
.more:hover { opacity:1; background:#000; color:#FFF; }


#modal_gallery_box {
	display: flex; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.7); justify-content: center; align-items: center; z-index: 9999;
	opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s;
}
#modal_gallery_box.show { opacity: 1; visibility: visible; }

#modal_gallery_box .modal-content {
	position: relative; background: #FFFFFF; padding: 10px; border-radius: 0.5em; max-width: 90%; max-height: 90%; box-shadow: 0 0 20px rgba(0,0,0,0.4);
}
#modal_gallery_box .modal-content img { width: 100%; max-width: 800px; max-height: 80vh; display: block; border-radius: 0.5em; }
#modal_gallery_box #modal-close {
	position: absolute; top: -3em; right: -1em; background: none; border: none; cursor: pointer;
}



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


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

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


.scale_in {overflow: hidden;}
.scale_in img { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; overflow:hidden; }
.scale_in img:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }

.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: #42BDAE; 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(100vw / 19.2); z-index: 999; background-color:#FFF; transition: background-color 0.5s ease; }
#header .logo { width:calc(457vw / 19.2); height:100%; line-height:1; margin: 0; justify-content: center; align-items: center; }

#header .right_inner { z-index: 9999; }

#header .right_menu { height: 100%; align-items: center; }


#header .right_menu #google_translate_element { margin-right:3em; }
#header .right_menu .entry { width:calc(100vw / 19.2); height:100%; text-align: center; padding: 1.2em 0.5em 0.5em 0.5em; }
#header .right_menu .entry .ja { display:block; line-height: 1.6; font-weight: 600; }

#header .right_menu #hamburger {
	width:calc(100vw / 19.2); height: 100%; text-align: center; cursor: pointer;
}
#header .right_menu #hamburger .icon { display:inline-block; width:50%; }
#header .right_menu #hamburger .icon .bar {
	display: flex; justify-content: center;width: 100%; height: 3px;margin: calc(10vw / 19.2) auto;border-radius: 2px;background: #fff;
	transition: transform 0.3s ease, opacity 0.3s ease;transform-origin: center center; transform: none;
}



#header .right_menu #hamburger.active .icon .bar_1 { transform: translateY(var(--offset)) rotate(45deg); }
#header .right_menu #hamburger.active .icon .bar_2 { transform: translateY(calc(var(--offset) * -1)) rotate(-45deg); }

#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: 10em; grid-template-rows: 20em; }
#header #drawer.open .drawer-content {transform: translateX(0);}



#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; }






.bottom_contact {
	z-index:2; padding:calc(220vw / 19.2) 0 calc(270vw / 19.2) 0; background-image:url(../img/bottom_contact_bg.png); background-size:100%; background-repeat:no-repeat;
}
.bottom_contact .bottom_contact_wrapper { border:solid 3px #000000; padding:2.447916vw 4.166666vw 2.447916vw 4.166666vw ; border-radius:5em; }

.bottom_contact .bottom_contact_wrapper .ttl { margin-block-start: 1vw; }
.bottom_contact .bottom_contact_wrapper .summary { margin-block-start:3em; margin-block-end:2em; }

.bottom_contact .bottom_contact_wrapper .link_box { justify-content: center; }
.bottom_contact .bottom_contact_wrapper .link_box .mail_btn, .bottom_contact .bottom_contact_wrapper .link_box .tel_btn {
	position:relative; width:calc(415vw / 19.2); height:calc(100vw / 19.2); line-height:calc(100vw / 19.2); display:block; text-align:center; border:solid 3px #000000;
	transition:0.5s ease; margin: 2em; border-radius:50vmax;
}
.bottom_contact .bottom_contact_wrapper .link_box .mail_btn i {
	position:absolute; left:0.7vw; line-height: calc(91vw / 19.2);
	background-color: #22BFDB; clip-path: circle(32% at 50% 50%); padding-left: 0.05em;
}
.bottom_contact .bottom_contact_wrapper .link_box .mail_btn:hover { opacity:1; background:#000; color:#FFF; }

.bottom_contact .bottom_contact_wrapper .link_box .tel_btn i {
	position:absolute; left:0.7vw; line-height: calc(91vw / 19.2);
	background-color: #EC7212; clip-path: circle(32% at 50% 50%); padding-left: 0.05em;
}
.bottom_contact .bottom_contact_wrapper .link_box .tel_btn:hover { opacity:1; background:#000; color:#FFF; }




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

#footer .site_info { width:calc(500vw / 19.2); padding: 0 0 3em 0; }
#footer .site_info .logo { display:block; width:calc(233vw / 19.2); }
#footer .site_info .site_name { display:block; margin:2em 0 0 0; }
#footer .site_info address { margin-block-end:2em; }

#footer .site_info .sns {  }
#footer .site_info .sns .follow {  }
#footer .site_info .sns .icon { display:inline-block; width:2.388em; margin-right:0.5em; }

#footer .site_menu { width:calc(900vw / 19.2); flex-wrap: wrap; }
#footer .site_menu .box { list-style-type:none; margin: 0; padding: 0; width: 15em; }
#footer .site_menu .box .page_name { position: relative; padding-left: 1.5em; line-height: 1; }
#footer .site_menu .box .page_name::before { content: ""; position: absolute; left: 0; top: 1px; border:solid 2px #000000; width:0.9em; height:0.9em; border-radius: 50vmax; }
#footer .site_menu .box .circle_white::before { background-color:#FFFFFF; }
#footer .site_menu .box .circle_green::before { background-color:#1F9538; }
#footer .site_menu .box .circle_orange::before { background-color:#EB7212; }
#footer .site_menu .box .circle_yellow::before { background-color:#FBD197; }
#footer .site_menu .box .circle_blue::before { background-color:#22BFDB; }

#footer .site_menu .box li .page_block { list-style-type:none; padding:1em 0 0 1.5em; }



#footer .copy { padding:0.5vw 0 0.5vw 0; z-index:101; }



#ptop {
	display: block; position: fixed; bottom: -3px; right: 1px; z-index: 100; width:calc(203vw /19.2);
	opacity: 0; pointer-events: none; transition: opacity 0.5s ease;
}

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



.page_header { padding:1.5em 0 1em 0; }
.page_header .inner {
	height:calc(396vw / 19.2); border-radius: 1em; justify-content: flex-start; align-items: center;
	background-image:url(../img/page_header_bg.png); background-size:cover;
}

.page_header .page_header_ttl { height: auto; }
.page_header .page_header_ttl .ja { display: block; }
.page_header .page_header_ttl .ja span { line-height: 1; padding: 0.5em 1em 0.5em 1em;}
.page_header .page_header_ttl .slug { display:block; font-weight: bold; line-height: 1.2; }
.page_header .page_header_ttl small { font-size: inherit; }


.burst { width:calc(203vw / 19.2); }
.illust1 { width:calc(553vw / 19.2); }
.illust2 { width:calc(456vw / 19.2); }
.illust3 { width:calc(392vw / 19.2); }
.illust4 { width:calc(119vw / 19.2); }
.illust5 { width:calc(107vw / 19.2); }
.illust6 { width:calc(484vw / 19.2); }
.illust7 { width:calc(371vw / 19.2); }
.illust8 { width:calc(297vw / 19.2); }
.illust9 { width:calc(425vw / 19.2); }
.illust10 { width:calc(411vw / 19.2); }




main { margin-block-start:calc(100vw / 19.2); }



#fv {
	width: 100%; height: calc(1220vw / 19.2); overflow: hidden;
	background-image:url(../img/home/fv_bg.png); background-position:center bottom; background-repeat: no-repeat; background-size: 100%;
}

#fv .inner { }

#fv .inner video { width: 100%; height: calc(1030vw / 19.2); border: solid 4px #000000; border-radius: 1em; object-fit: cover; }

#fv .inner .recruit_btn { display:block; bottom:51%; right:6%; width:calc(294vw /19.2); }

#fv .fv_staff_left { bottom:-2em; left:0; width:calc(558vw /19.2); }
#fv .fv_staff_right { bottom:-2em; right:3%; width:calc(590vw /19.2); }


.decoration { z-index: 10; top: -0.2em; overflow: hidden; width: 100%; margin-inline: auto; line-height: 1.3; }

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

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





#top_about {padding:5em 0 0 0;}

#top_about .illust1 { top:3em; left:2%; }
#top_about .illust2 { top:8em; right:4%; }

#top_about .top_about_header { padding: 4em 0 5em 0; }

#top_about .top_about_header .burst { margin-block-end:0.3em; }
#top_about .top_about_header .corprate_since { font-weight:bold; line-height: 2.5; }
#top_about .top_about_header .corprate_since strong { display:block; }
#top_about .top_about_header .corprate_since span .popp { line-height: 0.85; vertical-align: text-bottom; }
#top_about .top_about_header .corprate_catch {  }



#top_about .content .text { width:calc(800vw / 19.2); padding:0 0 0 calc(110vw / 19.2); }
#top_about .content .thumb { width:calc(800vw / 19.2); border:solid 3px #000000; border-radius:0.5em; box-shadow: calc(-50vw / 19.2) calc(50vw / 19.2) 0 #A49E99; }


#top_about .top_about_footer {
	padding: 5em 0 5em 0;
	background-image:url(../img/home/top_about_botom_bg.jpg); background-size:100%; background-position:center bottom; background-repeat:no-repeat;
}
#top_about .link_list { padding: 0; margin-block-end: 6em; }
#top_about .link_list .box { width:calc(590vw / 19.2); padding:calc(11vw / 19.2); border:solid 2px #000000; border-radius:0.5em; margin: 0; }
#top_about .link_list .box .thumb { display:block; width:calc(560vw / 19.2); border:solid 2px #000000; border-radius:0.5em; }
#top_about .link_list .box .thumb .heading { border-radius:0.5em; }

#top_about .link_list .box .num_list {
	top: calc(110vw / 19.2); right: calc(30vw / 19.2); text-align: center;
	text-shadow: 2px 2px 0 #000000, -2px -2px 0 #000000, 2px -2px 0 #000000, -2px 2px 0 #000000;
}
#top_about .link_list .box .num_list span { display:block; line-height: 1; }

#top_about .link_list .box figcaption a.flex { padding: 1em 0 0.5em 0; align-items: center; }





#top_staff {
	padding: 6em 0 3em 0; margin-top: -1px;
	background-image:url(../img/home/top_staff_bg.png); background-size:100%; background-position:center top; background-repeat:no-repeat;
}

#top_staff .content .summary { margin-block-start: 3.5em; margin-block-end: 4em; }

#top_staff .content .link_box {  }
#top_staff .content .link_box .box {
	width:calc(750vw / 19.2); height:calc(310vw / 19.2); border:solid 3px #000000; border-top-right-radius:6em;
	background-repeat:no-repeat; background-size:100%; padding:calc(50vw / 19.2); overflow-y: clip;
}
#top_staff .content .link_box .box.box1 { background-image:url(../img/home/staff_link_bg1.jpg); }
#top_staff .content .link_box .box.box2 { background-image:url(../img/home/staff_link_bg2.jpg); }
#top_staff .content .link_box .box.box1 .illust { bottom:-1em; right:-2em; width:calc(415vw / 19.2); }
#top_staff .content .link_box .box.box2 .illust{ bottom:-0.5em; right:-1em; width:calc(437vw / 19.2); }

#top_staff .content .link_box .box .box_ttl { display: block; position: relative; z-index: 3;}
#top_staff .content .link_box .box .box_ttl span { display: inline-block; padding: 0.2em 0.4em; line-height: 1.8; }
#top_staff .content .link_box .box .slug { display: block; margin: 0.5em 0 0.5em 0; font-weight:bold;}
#top_staff .content .link_box .box i { background-color: #FFF; clip-path: circle(40% at 50% 50%);  margin-left: -0.2em; }

#top_staff .staff_gallery { padding: 11em 0 0 0; }
#top_staff .staff_gallery .en { margin: 0; line-height: 1; text-align: right; top: 0.5em; right: 0; z-index: 0; opacity:0.9; }

#top_staff .staff_gallery .slider .slider_track .slide img { width:calc(389vw / 19.2); height:auto; }



#top_recruit {
	padding:5em 0 14em 0; overflow: hidden;
	background-image:url(../img/home/top_recruit_bottom_bg.png); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#top_recruit .top_recruit_wrapper {
	padding:5em 0 5em 0; overflow:hidden;
	background-image:url(../img/home/recruit_wrapper_bg.png); background-size:cover; border-top-right-radius:6em; border:solid 3px #000000;
}
#top_recruit .top_recruit_wrapper .ring { width:calc(32vw / 19.2); left:2em; top: 0; bottom: 0; margin: auto;}

#top_recruit .top_recruit_wrapper .illust3 { top:5em; right:0; }

#top_recruit .top_recruit_wrapper .catch {  }
#top_recruit .top_recruit_wrapper .catch span {
	border:solid 3px #000000; background-color: #FFFFFF; display: inline-block; line-height: 1; text-align: center;
	width: 1.6em; height: 1.6em; padding-top: 0.15em; padding-left: 3px; margin-right: -3px;
}

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


#top_recruit .top_recruit_wrapper .box {
	border:solid 3px #000000; background-size: calc(40vw / 19.2) calc(40vw / 19.2); margin-block-end:4em; border-top-right-radius:6em; overflow-y: clip;
}
#top_recruit .top_recruit_wrapper #box1 {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #2DB44E calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #2DB44E calc(100% - 1px));
	background-color: #1F9538;
}
#top_recruit .top_recruit_wrapper #box2 {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #ED9B2C calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #ED9B2C calc(100% - 1px));
	background-color: #EC7212;
}
#top_recruit .top_recruit_wrapper #box3 {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #2FD1DF calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #2FD1DF calc(100% - 1px));
	background-color: #22BFDB;
}
#top_recruit .top_recruit_wrapper #box1 .illust {
	width:calc(390vw / 19.2); bottom: -2px; left:-3em;
}
#top_recruit .top_recruit_wrapper #box2 .illust {
	width:calc(429vw / 19.2); bottom: 0; left:-3.3em;
}
#top_recruit .top_recruit_wrapper #box3 .illust {
	width:calc(370vw / 19.2); bottom: -2px; left:-2px;
}

#top_recruit .top_recruit_wrapper .box .box_ttl { background-color:rgba(0,0,0,0.8); margin-block-start: 4em; align-items: center; padding: 0.3em 4em 0.3em calc(390vw / 19.2); }

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

#top_recruit .top_recruit_wrapper .box .box_ttl .num { color:#E7F5F5; line-height: 1; right:0.05em; top:0.01em; }
#top_recruit .top_recruit_wrapper .box .box_ttl .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 .top_recruit_wrapper .box .text { margin: 1em 0 1em 0; padding: 0 4em 0.5em calc(390vw / 19.2); }

#top_recruit .top_recruit_wrapper .box .text mark { background: linear-gradient(#EC7212, #EC7212) 0 100% / 0 0.3em no-repeat; background-size: 100% 0.3em; }

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

#top_recruit .recruit_left_botton_illust { width:calc(435vw / 19.2); bottom:0; left:1em; }
#top_recruit .recruit_right_botton_illust { width:calc(686vw / 19.2); bottom:-3em; right:1em; }


#top_recruit .more { margin: 5em auto 4em auto; }




#top_sns { padding:5em 0 5em 0; }

#top_sns .top_sns_ttl { margin: 0; }


#top_sns #instagram { width:calc(680vw / 19.2); }
#top_sns #gallery_x { width:calc(680vw / 19.2); }

#top_sns #instagram .box { display: block; width: 100%; }
#top_sns #instagram .box .link {
	background-color:rgba(0,0,0,0.8); margin: 0; bottom:0; width: 100%; padding:1.06em; justify-content: flex-start; align-items: center;
}
#top_sns #instagram .box .link .fa-instagram { margin-top: 0.1em; margin-right:0.4em; }

#top_sns #instagram .box .link .fa-circle-chevron-right { display: flex; align-items: center; right:1em; top:0; bottom:0; margin:auto; }



#top_sns #gallery_x .box { display: block; width: 100%; }
#top_sns #gallery_x .box figure { margin:0 0 3em 0; }
#top_sns #gallery_x .box figure .thumb { border:solid 3px #000000; }

#top_sns #gallery_x .illust4 { bottom: 14em; left: -5.6em; }
#top_sns #gallery_x .illust5 { top: 6em; right: -4em;}

#top_sns #gallery_x .box figure figcaption {
	background-color:rgba(0,0,0,0.8); margin:0; bottom:0; width: 100%; padding:1.06em; justify-content: flex-start; align-items: center;
}

#top_sns #gallery_x .box figure figcaption .fa-camera { margin-right:0.4em; }

#top_sns #gallery_x .box figure figcaption .fa-circle-chevron-right { display: flex; align-items: center; right:1em; top:0; bottom:0; margin:auto; }

#top_sns #X {
	background-color:rgba(0,0,0,0.8); margin: 0; bottom:0; width: 100%;
}
#top_sns #X .link { padding:1.06em; justify-content: flex-start; align-items: center; }

#top_sns #X .link .fa-x-twitter { margin-right:0.4em; }
#top_sns #X .link .fa-circle-chevron-right { display: flex; align-items: center; right:1em; top:0; bottom:0; margin:auto; }




#about_hero {
	padding:10em 0 24em 0;
	background-image:url(../img/pattern_green.png); background-size:100%; background-position:center bottom; background-repeat:no-repeat;
}

#about_hero .section_menu { list-style-type:none; justify-content: center; padding: 0;}
#about_hero .section_menu li { margin:2em; }
#about_hero .section_menu li a {  }
#about_hero .section_menu li a i { margin-left:0.8em; }



#philosophy {
	padding: 5em 0 5em 0;
	background-image:url(../img/about/philosophy_bg.png); background-position:right top 6em; background-size:calc(962vw / 19.2); background-repeat:no-repeat;
}


#philosophy .content { padding: 0 0 5em 0; }

#philosophy .content .catch { margin: 5em auto 5em auto; }
#philosophy .content .catch span { margin-block-end: 0.6em; line-height: 1.5; padding: 0.2em 0.6em;}


#philosophy .content .action_guidelines_ttl .burst { margin-block-end: 0.3em; }
#philosophy .content .action_guidelines_ttl .ja { display: block; line-height: 1.6; }
#philosophy .content .action_guidelines_ttl .slug { display: block; font-weight:bold; }

#philosophy .content .guidelines { list-style-type:none; padding:0; }
#philosophy .content .guidelines li { width: calc(320vw / 19.2); padding: 2em 0 2em 0; position:relative; }
#philosophy .content .guidelines li::after {
	content:""; position:absolute; top:0; right:10px; width:2px; height:calc(280vw / 19.2); background-color:#E1DFDD; transform: rotate(4deg);
}
#philosophy .content .guidelines li:last-of-type::after { background:none; }

#philosophy .content .guidelines li .circle { display:block; border:solid 2px #000000; width:0.9em; height:0.9em; border-radius: 50vmax; }
#philosophy .content .guidelines li .num { top: 0; left: 0; z-index: 1; }



#philosophy .company_name { border-radius:1em; padding: 15em 0 5em 0; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1); }
#philosophy .company_name .company_name_ttl { position: absolute; top: -2.8em; left: 0; right: 0; }
#philosophy .company_name .company_name_ttl .burs { margin-block-end: 0.3em }
#philosophy .company_name .company_name_ttl .ja { display: block; line-height: 1.6; }
#philosophy .company_name .company_name_ttl .slug { display: block; font-weight:bold; line-height: 1.2;}


#philosophy .company_name .company_name_catch { margin-block-end: 2em; font-weight: 700; }
#philosophy .company_name .company_name_catch mark { background: linear-gradient(#FDEA02, #FDEA02) 0 100% / 0 0.3em no-repeat; background-size: 100% 0.3em; }

#philosophy .company_name .logo_orign_text {  }

#philosophy .company_name .logo_orign_box { margin: 3em 0 3em 0; justify-content: space-evenly;  align-items: center; border-radius: 50vmax; padding: 2em; }
#philosophy .company_name .logo_orign_box .thumb { width:calc(154vw/ 19.2); }
#philosophy .company_name .logo_orign_box figcaption {  }


#philosophy .company_name .logo_orign_images { height:calc(410vw / 19.2); }
#philosophy .company_name .logo_orign_images .thumb { width:calc(260vw/ 19.2); height:calc(260vw / 19.2); border-radius:50vmax; }
#philosophy .company_name .logo_orign_images .thumb1 { top:0; left:0; }
#philosophy .company_name .logo_orign_images .thumb2 { bottom:0; left:calc(247vw/ 19.2); }
#philosophy .company_name .logo_orign_images .thumb3 { top:0; left:0; right:0; margin:auto; }
#philosophy .company_name .logo_orign_images .thumb4 { bottom:0; right:calc(247vw/ 19.2); }
#philosophy .company_name .logo_orign_images .thumb5 { top:0; right:0; }


#greeting {
	padding:10em 0 5em 0;
	background-image:url(../img/pattern_blue.png); background-size:100%; background-position:center top; background-repeat:no-repeat;
}
#greeting .greeting_header {
	height:calc(650vw / 19.2);
	background-image:url(../img/about/greeting_header_bg.jpg); background-size:100%; background-position:center top; background-repeat:no-repeat;
}
#greeting .greeting_header .flex { justify-content: flex-start; align-items: center; }

#greeting .content {
	padding: 5em 0 5em 0; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1); border-radius:1em; z-index: 3; margin-block-start: -7em;
	background-image: url(../img/home/recruit_wrapper_bg.png); background-size: cover;
}

#greeting .content .greeting_text {  }
#greeting .content .greeting_text dt { font-weight:700; }
#greeting .content .greeting_text dd.text { border-top:solid 2px #FFFFFF; margin:0; }
#greeting .content .greeting_text dd.text:first-of-type { border:none; }
#greeting .content .greeting_text dd.text_right { margin-block-start: 3em; margin-block-end: 6em; }
#greeting .content .greeting_text dd.text_right .president { width:calc(530vw/ 19.2); }



#greeting .content .box { padding:2em; border-radius:1em; margin-block-end: 2em; }
#greeting .content .box .text { margin:0; }
#greeting .content .box .text dt { margin:0; font-weight:700; }
#greeting .content .box .text dd { margin:0; }

#greeting .content .box .text .img_box {  }
#greeting .content .box .text .img_box .thumb { width:calc(520vw/ 19.2); border-radius:0.5em; }




#company_profile {
	padding:10em 0 5em 0;
	background-image:url(../img/pattern_orange.png); background-size:100%; background-position:center top; background-repeat:no-repeat;
}
#company_profile .company_profile_header {  }
#company_profile .company_profile_header .thumb {
	width:calc(800vw/ 19.2); border-radius: 0.5em; box-shadow: calc(-50vw / 19.2) calc(50vw / 19.2) 0 #A49E99; border: solid 3px #000000;
}

#company_profile .content { padding: 5em 0 0 0; }
#company_profile .content .half { width:calc(744vw/ 19.2); }
#company_profile .content .half .box {  }
#company_profile .content .half .box dt { border-bottom:solid 2px #EB7212; margin:0; padding:1em 0 1em 0; width: 8em; }
#company_profile .content .half .box dd { border-bottom:solid 1px #A49E99; margin:0; padding:1em 0 1em 0; width: calc(100% - 8.5em); }



#venue_map {
	bottom: -5em; padding: 0 0 15em 0;
	background-image:url(../img/about/venue_map_bg.png); background-size:100%; background-position:center bottom; background-repeat:no-repeat;
}

#venue_map .venue_map_ttl {  }
#venue_map .venue_map_ttl .burst { margin-block-end: 0.3em; }
#venue_map .venue_map_ttl .ja { display: block; line-height: 1.6; }
#venue_map .venue_map_ttl .slug { display: block; font-weight: bold; }

#venue_map .venue_map_img { border:solid 3px #000000; border-radius:1em; }
#venue_map .area_list { background-color:rgba(239, 238, 237,0.95); padding:2em; top:-3em; border:solid 3px #000000; border-radius:1em; }
#venue_map .area_list .half { width:50%; list-style-type:none; margin: 0; }
#venue_map .area_list .half li { justify-content: flex-start; margin:1em 0 1em 0; }
#venue_map .area_list .half li .num { width:2em; height:2em; display:flex; justify-content:center; align-items:center; margin-right:1em; }


#venue_map .venue_map_text { margin-block-end:2em; }

#venue_map #gmap { width:100%; height:calc(500vw / 19.2); min-height:300px; border:solid 3px #000000; border-radius:1em; }








#staff_hero {
	padding:10em 0 4em 0;
}

#staff_hero .section_menu { list-style-type:none; justify-content: center; padding: 0;}
#staff_hero .section_menu li { margin:2em; }
#staff_hero .section_menu li a {  }
#staff_hero .section_menu li a i { margin-left:0.8em; }




#interview {
	padding:0 0 1em 0; background: linear-gradient(to bottom, transparent 0, transparent 92%, rgba(233, 232, 230, 0.9) 92%, rgba(233, 232, 230, 0.9) 100%); overflow: hidden;
}

#interview .interview_detail {
	margin-block-end: 2em; border-radius:1em; padding: 5em calc(180vw / 19.2) 5em calc(180vw / 19.2); box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1);
}

#interview .interview_detail .border_num { transform: rotate(180deg); left: 0; text-align: right; height: 86%; }
#interview .interview_detail .border_num span { display:inline-block; padding-top: 1em; }
#interview .interview_detail .border_num.yellow {
	background: linear-gradient(to left, transparent calc(50% - 1px), #FBD197 calc(50% - 1px), #FBD197 calc(50% + 1px), transparent calc(50% + 1px));
}
#interview .interview_detail .border_num.green {
	background: linear-gradient(to left, transparent calc(50% - 1px), #1F9538 calc(50% - 1px), #1F9538 calc(50% + 1px), transparent calc(50% + 1px));
}
#interview .interview_detail .border_num.black {
	background: linear-gradient(to left, transparent calc(50% - 1px), #000000 calc(50% - 1px), #000000 calc(50% + 1px), transparent calc(50% + 1px));
}

#interview .interview_detail .data { width:calc(620vw / 19.2); padding: 10em 0 0 0;}
#interview .interview_detail .data .num { z-index: 0; top: 0; left: calc(-30vw / 19.2);}
#interview .interview_detail .data .data_name { margin-block-end: 0; }
#interview .interview_detail .data .box { margin:0 }
#interview .interview_detail .data .box dt { border-bottom:solid 2px #EB7212; margin:0; padding:1em 0 1em 0; width: 7em; }

#interview .interview_detail .data .box.box_yellow dt { border-bottom:solid 2px #FBD197; }
#interview .interview_detail .data .box.box_green dt { border-bottom:solid 2px #1F9538; }
#interview .interview_detail .data .box.box_black dt { border-bottom:solid 2px #000000; }

#interview .interview_detail .data .box dd { border-bottom:solid 1px #A49E99; margin:0; padding:1em 0 1em 0; width: calc(100% - 7.5em); }

#interview .interview_detail .thumb {
	top: 5em; right: calc(-110vw / 19.2);
	width:calc(800vw/ 19.2); border-radius: 0.5em; filter: drop-shadow(calc(-50vw / 19.2) calc(50vw / 19.2) 0 #A49E99); border: solid 3px #000000;
}

#interview .interview_detail .pop_illust02 { width:calc(298vw/ 19.2); top: 3em; right: calc(290vw / 19.2); }
#interview .interview_detail .pop_illust03_top { width:calc(294vw/ 19.2); top: 3em; right: calc(320vw / 19.2); }
#interview .interview_detail .pop_illust03_bottom { width:calc(259vw/ 19.2); top: calc(430vw / 19.2); right: calc(-100vw / 19.2); }


#interview .interview_detail .text { margin-block-start: 3em; padding: 2em calc(80vw / 19.2) 2em calc(80vw / 19.2); border-radius: 0.5em; }
#interview .interview_detail .text dt { margin:0; padding:0 1em 0 1em; }
#interview .interview_detail .text dd { margin:0; padding:1em 0 1em 0; }



#introduction {
	padding:17em 0 0 0;
	background-image:url(../img/staff/introduction_bg.png); background-position:center top; background-size:100%; background-repeat:no-repeat;
}

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

#introduction .staff_list { margin-block-end:5em; }

#introduction .staff_list .staff_img_wrap { position: relative; display: block; width: calc(285vw / 19.2); border-radius:0.5em; margin:0 calc(40vw / 19.2) calc(40vw / 19.2) 0; }
#introduction .staff_list .staff_img_wrap:nth-child(4n) { margin:0 0 calc(40vw / 19.2) 0; }

#introduction .staff_list .staff_img_wrap .staff_img { border-radius:0.5em; }
#introduction .staff_list .staff_img_wrap .staff_img.on { position: absolute; inset: 0; opacity: 0; transition: opacity 0.4s ease; }
#introduction .staff_list .staff_img_wrap:hover .staff_img.on { opacity: 1; }


#introduction .staff_list .staff_img_wrap.border_yellow .staff_img { border:solid 3px #FBD197; }
#introduction .staff_list .staff_img_wrap.border_green .staff_img { border:solid 3px #1F9538; }
#introduction .staff_list .staff_img_wrap.border_black .staff_img { border:solid 3px #000000; }
#introduction .staff_list .staff_img_wrap.border_orange .staff_img { border:solid 3px #EB7212; }
#introduction .staff_list .staff_img_wrap.border_blue .staff_img { border:solid 3px #22BFDB; }


#introduction .decoration { top: auto;/* bottom: 4em;*/ bottom: -0.5em; z-index: 0; }

.separater { border-top:solid 4px #000000; border-bottom:solid 4px #000000; }






#recruit { z-index: 11; }
#recruit .page_header_ttl { padding-top: 2.5em; }
#recruit .catch { left:0; bottom:1.25em; }
#recruit .catch span { line-height:1.6; padding: 0 1em 0 1em; font-weight:bold; }
#recruit .pictures { top:5em; right:0; width:calc(780vw / 19.2); }



#recruit_hero { padding:20em 0 4em 0; }

#recruit_hero .section_menu { list-style-type:none; justify-content: center; padding: 0;}
#recruit_hero .section_menu li { margin:2em; }
#recruit_hero .section_menu li a {  }
#recruit_hero .section_menu li a i { margin-left:0.8em; }

#message {  }
#message .message_header {
	padding: 0 0 1em 0;
	background-image:url(../img/recruit/message_header_bg.png); background-position:center bottom; background-size:100%; background-repeat:no-repeat;
}

#message .message_body {
	height:calc(450vw / 19.2); padding:1em 0 1em 0;
	background-image:url(../img/recruit/message_body_bg.png); background-position:center top; background-size:100%; background-repeat:no-repeat;
}

#message .message_body .catch { top: 1.8em; right:1em; font-weight:bold; }
#message .message_body .summary { top: 1.8em; right:5em; font-weight:bold; }

#message .message_body .official_position { margin: 0; padding: 12em 0 0 0; line-height: 1.2; }
#message .message_body .president_name { margin:0; }

#message .message_body .president_name span {
	border: solid 2px #000000; background-color: #FFFFFF; display: inline-block; line-height: 1; text-align: center; width: 1.6em; height: 1.6em; padding-top: 0.15em; padding-left: 2px; margin-right: -2px;
}

#message .message_body .qualification { margin:0; line-height: 1.4; text-indent: -0.5em; }

#message .message_content {
	background-image:url(../img/recruit/message_content_bg.png); background-position:center top; background-size:100%; background-repeat:no-repeat;
}
#message .message_content .low_inner {
	top: -3em; padding: 2em calc(80vw / 19.2) 2em calc(80vw / 19.2); box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); border-radius: 0.5em;
}

#message .message_content .low_inner mark {
	background: linear-gradient(#1F9538, #1F9538) 0 100% / 0 0.3em no-repeat;
	background-size: 100% 0.3em;
}

#initiatives {
	padding:6em 0 30em 0;
	background:
	url(../img/recruit/initiatives_top_bg.png) center top no-repeat,
	url(../img/recruit/initiatives_bottom_bg.png) center bottom no-repeat,
	linear-gradient(to bottom, rgba(239, 238, 237, 0.9), rgba(239, 238, 237, 0.9));
	background-size: 100% auto, 100% auto, 100% 100%;
}

#initiatives .ttl { margin-block-end: 5em; }



#initiatives .initiatives_box { width:calc(745vw / 19.2); margin-block-end:8em; }
#initiatives .initiatives_box .box_wrapper { border-radius:1em; padding:calc(80vw / 19.2); }
#initiatives .initiatives_box .box_wrapper .num { top:-0.2em; right:0.05em; z-index: 0; font-weight: bold; }
#initiatives .initiatives_box .catch { margin-block-start:0; margin-block-end: 2em; }
#initiatives .initiatives_box .text {  }
#initiatives .initiatives_box .thumb { border-radius:1em; }

#initiatives .initiatives_box .illust01 { width:calc(312vw / 19.2); top: -15em; left: 0; z-index: 0; }
#initiatives .initiatives_box .illust04 { width:calc(417vw / 19.2); top: -24em; right:-7em; z-index: 0;  }
#initiatives .initiatives_box .illust05 { width:calc(395vw / 19.2); top: -27em; left:calc(-150vw / 19.2); z-index: 0;  }

#initiatives2 { margin-block-start:5em; }
#initiatives4 { margin-block-start:5em; }
#initiatives6 { margin-block-start:5em; }

#initiatives .illust6 { right:0; bottom:19em; }


#internship {
	padding:0 0 0 0; bottom: -5em;
	background-image:url(../img/recruit/internship_bottom_bg.png); background-position:center bottom; background-repeat:no-repeat; background-size:100%;
}

#internship .internship_wrapper {
	background-color:rgba(255,255,255,0.9); border:solid 3px #000000; border-radius:1em; top:-10em; padding:5em 0 5em 0;
}
#internship .internship_wrapper .illust7 { top:4em; left:4em; }
#internship .internship_wrapper .illust8 { top:4em; right:4em; }

#internship .internship_wrapper .internship_ttl {  }
#internship .internship_wrapper .internship_ttl .burs { margin-block-end: 0.3em }
#internship .internship_wrapper .internship_ttl .ja { display: block; line-height: 1.6; }
#internship .internship_wrapper .internship_ttl .slug { display: block; font-weight:bold; line-height: 1.2;}

#internship .internship_wrapper .summary { margin-block-start:3em; margin-block-end:3em; font-weight: 700; }
#internship .internship_wrapper .participation { padding: 0.5em 0 0.5em 0; font-weight: 700; }

#internship .internship_wrapper .content { margin-block-end:5em; }

#internship .internship_wrapper .content .half { width:48%; }
#internship .internship_wrapper .content .half .box {  }
#internship .internship_wrapper .content .half .box dt { border-bottom:solid 2px #000000; margin:0; padding:1em 0 1em 0; width: 8em; vertical-align: top; }
#internship .internship_wrapper .content .half .box dd { border-bottom:solid 1px #A49E99; margin:0; padding:1em 0 1em 0; width: calc(100% - 8.5em); }


#internship .internship_wrapper .internship_footer {  }
#internship .internship_wrapper .internship_footer .tip {
	display:inline-block; top:-2em; left:0; right:0; margin:auto; border-radius:50vmax; padding: 1em 2em 1em 2em; width: max-content;
}
#internship .internship_wrapper .internship_footer .tip::after {
	content:""; position:absolute; bottom:-1.3em; left:0; right:0; margin:auto; width:2em; height:1.4em; background-color:#000000; clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#internship .internship_wrapper .internship_footer .link_box { justify-content: center; padding: 3em 2em 2em 2em; border-radius: 1em; }

#internship .internship_wrapper .internship_footer .link_box .mail_btn,
#internship .internship_wrapper .internship_footer .link_box .tel_btn {
	position:relative; width:calc(415vw / 19.2); height:calc(100vw / 19.2); line-height:calc(100vw / 19.2); display:block; text-align:center; border:solid 3px #000000;
	transition:0.5s ease; margin: 2em; border-radius:50vmax;
}
#internship .internship_wrapper .internship_footer .link_box .mail_btn i {
	position:absolute; left:0.7vw; line-height: calc(91vw / 19.2);
	background-color: #22BFDB; clip-path: circle(32% at 50% 50%); padding-left: 0.05em;
}
#internship .internship_wrapper .internship_footer .link_box .mail_btn:hover { opacity:1; background:#000; color:#FFF; }

#internship .internship_wrapper .internship_footer .link_box .tel_btn i {
	position:absolute; left:0.7vw; line-height: calc(91vw / 19.2);
	background-color: #EC7212; clip-path: circle(32% at 50% 50%); padding-left: 0.05em;
}
#internship .internship_wrapper .internship_footer .link_box .tel_btn:hover { opacity:1; background:#000; color:#FFF; }





#requirements { padding:5em 0 20em 0; background-color:rgba(235, 234, 233,0.6); bottom: -5em; z-index: 3; }
#requirements .requirements_wrapper { border-radius:1em; padding:5em 0 5em 0; }

#requirements .requirements_wrapper .ttl {  }
#requirements .requirements_wrapper .content { margin-block-start:3em; }
#requirements .requirements_wrapper .content .box { margin:0; }
#requirements .requirements_wrapper .content .box dt { margin:0; padding:1em 2em 1em 2em; border-bottom:solid 2px #FFFFFF; width:12em; }
#requirements .requirements_wrapper .content .box dd { margin:0; padding:1em 2em 1em 2em; border-bottom:solid 2px #22BFDB; }

#requirements .decoration { top:auto; bottom:1em; }







#gallery { padding: 8em 0 12em 0; }

#gallery .illust9 { top:0; left:0; }
#gallery .illust10 { top:0; right:0; }



#gallery .gallery_wrapper { padding: 14.5em 0 0 0; }
#gallery .gallery_wrapper .gallery_wrapper_bg {
	padding: 5em 0 5em 0; z-index: 2;
	background-image:url(../img/gallery/gallery_wrapper_bg.png); background-size:cover; box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); border-radius: 1em;
}
#gallery .gallery_wrapper .gallery_wrapper_bg .list {  }

#gallery .gallery_wrapper .gallery_wrapper_bg .list .modal_gallery { width:calc(385vw / 19.2); height:calc(260vw / 19.2); border-radius:1em; margin:0 calc(20vw / 19.2) calc(20vw / 19.2) 0; }
#gallery .gallery_wrapper .gallery_wrapper_bg .list .modal_gallery:nth-child(4n) { margin:0 0 calc(20vw / 19.2) 0; }

#gallery .decoration { top:auto; bottom:1em; }





#contact {
	padding: 10em 0 5em 0; margin-block-end:5em;
	background-image:url(../img/contact/contact_bg.png); background-repeat:no-repeat; background-size:100%; background-position:center top 18em;
}

#contact .contact_phone .contact_ttl {  }
#contact .contact_phone .contact_ttl .burs { margin-block-end: 0.3em }
#contact .contact_phone .contact_ttl .ja { display: block; line-height: 1.6; }
#contact .contact_phone .contact_ttl .slug { display: block; font-weight:bold; line-height: 1.2;}

#contact .contact_phone .summary { margin-block-start: 2em; margin-block-end: 3em; }
#contact .contact_phone .tel_btn {
	position:relative; width:calc(415vw / 19.2); height:calc(100vw / 19.2); line-height:calc(100vw / 19.2); display:block; text-align:center; border:solid 3px #000000;
	transition:0.5s ease; margin: 2em auto 2em auto; border-radius:50vmax;
}
#contact .contact_phone .tel_btn i {
	position:absolute; left:0.7vw; line-height: calc(91vw / 19.2);
	background-color: #FFFFFF; clip-path: circle(32% at 50% 50%); padding-left: 0.05em;
}
#contact .contact_phone .tel_btn:hover { opacity:1; background:#000; color:#FFF; }



#contact .contact_email .contact_ttl {  }
#contact .contact_email .contact_ttl .burs { margin-block-end: 0.3em }
#contact .contact_email .contact_ttl .ja { display: block; line-height: 1.6; }
#contact .contact_email .contact_ttl .slug { display: block; font-weight:bold; line-height: 1.2;}


#contact .contact_email .contact_email_wrapper {
	padding:calc(40vw / 19.2) calc(80vw / 19.2) calc(80vw / 19.2) calc(80vw / 19.2); box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); border-radius:1em; margin-block-start:3em;
}





#mailform {
	padding: 5.5em 0 5.5em 0;
	 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 {  }



#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 {
	position:relative; width:calc(415vw / 19.2); height:calc(100vw / 19.2); line-height:calc(91vw / 19.2); display:block; text-align:center; border:solid 3px #000000;
	transition:0.5s ease; margin: 2em auto 2em auto; border-radius:50vmax; cursor:pointer;
}
#form .next i { position:absolute; right:0.8em; top:0; line-height: calc(91vw / 19.2); }
#form .next:hover { background-color:#000000; color:#FFFFFF; opacity:1; }

#form .send_btn {
	position:relative; width: calc(415vw / 19.2); height: calc(100vw / 19.2); line-height:calc(91vw / 19.2); display:block; text-align:center; border: solid 3px #000000;
	transition:0.5s ease; margin: 3.645833vw 4.645833vw 0 0; border-radius:50vmax; cursor:pointer;
}
#form .send_btn i { position:absolute; right:0.8em; top:0; line-height:calc(91vw / 19.2); }
#form .send_btn:hover { background-color:#000000; color:#FFFFFF; opacity:1; }

#form .back_btn {
	position:relative; width: calc(415vw / 19.2); height: calc(100vw / 19.2); line-height:calc(91vw / 19.2); display:block; text-align:center; border: solid 3px #000000;
	transition:0.5s ease; margin: 3.645833vw 0 0 4.645833vw; border-radius:50vmax; cursor:pointer; color:#000000;
}
#form .back_btn i { position:absolute; left:0.8em; margin:auto; top:0; bottom:0; line-height:calc(91vw / 19.2); color:#000000; }
#form .back_btn:hover { background-color:#000000;  color:#FFFFFF; opacity:1; }
#form .back_btn:hover i,#form .back_btn:hover span { color:#FFF; }

