@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

/*----------------------------------------------------------------- 
	reset
----------------------------------------------------------------- */
*,
*:after,
*:before { margin:0; padding:0; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility; border: 0; outline: 0; -webkit-appearance: none;}
ol, ul,li{ list-style: none; margin:0; padding:0;}
:focus,
:active { outline:0;}
html { font-size: 14px;}
table { border-collapse: collapse; border-spacing: 0;}
th, 
td { padding:8px; line-height:1.4em;}
input{ margin-right:5px;}
.switch { visibility: hidden;}

h1, h2, h3, h4, h5, h6, p,dt ,dl,dd{ font-size:inherit; margin:0; padding:0; }
hr{ display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
ul{ list-style:none; margin:0; padding:0; }
li{ margin:0; padding:0; }
@media screen and (min-width: 360px) { * { -webkit-text-size-adjust: none; } }


/*----------------------------------------------------
 	clearfix
----------------------------------------------------*/

.clearfix:after,
header:after,
.contents:after{ content: "."; display:block; height:0.1px; clear:both; visibility:hidden; font-size:0.1em; line-height:0; }
.clearfix,
header,
.contents{ display:inline-block; overflow:hidden; _overflow:visible; display:block; }
* html .clearfix,
* html header,
* html .contents{ height:1%; }
dd:after { content:''; display:block; clear:both;}

/* ----------- anchor */
a {
	color:#000;
	text-decoration:underline;
	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
	}
a:hover { color:#64B5F6; }
a img:hover{opacity:0.5;filter:alpha(opacity=50);cursor:pointer;}
a { -webkit-tap-highlight-color: rgba(0,0,0,0); }


/* ------------------------------------------------
	　common
	---------------------------------------------- */
body{
	margin:0;
	padding:0;
	font-size: 14px;
	font-family: "YakuHanJP",'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
	color:#000;
	line-height: 2em;
	letter-spacing: 0.08em;
	}
	#formConfirm { background: #E8F7FD;}
	.noSNS footer,
	#formComplete.noSNS { background: #E8F7FD;}

.fl { float:left;}
.fr { float:right;}

.mb5 { margin-bottom:5px;}
.mb10 { margin-bottom:10px;}
.mb20 { margin-bottom:20px;}
.mb30 { margin-bottom:30px;}
.mb40 { margin-bottom:40px;}
.mb50 { margin-bottom:50px;}
.mb60 { margin-bottom:60px;}
.mb70 { margin-bottom:70px;}
.mb90 { margin-bottom:90px;}

.ml5 { margin-left:5px;}
.ml10 { margin-left:10px;}
.ml12 { margin-left:12px;}
.ml13 { margin-left:13px;}
.ml15 { margin-left:15px;}
.ml20 { margin-left:20px;}
.ml25 { margin-left:25px;}
.ml30 { margin-left:30px;}

.mr5 { margin-right:5px;}
.mr10 { margin-right:10px;}
.mr15 { margin-right:15px;}
.mr20 { margin-right:20px;}
.mr30 { margin-right:30px;}

.mt5 { margin-top:5px;}
.mt10 { margin-top:10px;}
.mt15 { margin-top:15px;}
.mt20 { margin-top:20px;}
.mt30 { margin-top:30px;}
.mt40 { margin-top:40px;}
.mt50 { margin-top:50px;}
.mt60 { margin-top:60px;}

.pt5 { padding-top:5px;}
.pt10 { padding-top:10px;}
.pt20 { padding-top:20px;}
.pt30 { padding-top:30px;}
.pt40 { padding-top:40px;}

.pb5 { padding-bottom:5px;}
.pb10 { padding-bottom:10px;}
.pb20 { padding-bottom:20px;}
.pb100{ padding-bottom: 100px;}

.text10{ font-size:10px; line-height: 1.6em;}
.text11{ font-size:11px; line-height: 1.6em;}
.text12{ font-size:.857rem; line-height: 1.8em;}
.text13{ font-size:.929rem; line-height: 1.8em;}
.text14{ font-size:1rem; line-height: 1.6em;}
.text16{ font-size:1.143rem; line-height: 1.5em;}
.text18{ font-size:1.286rem; }
.text20{ font-size:1.429rem; }
.text24{ font-size:1.714rem; }
.text28{ font-size:2rem; }
.text30{ font-size:2.143rem; }
.textC { text-align:center;}
.textR { text-align:right;}
.textL{ text-align: left;}
.textB { font-weight:bolder;}

.white { color:#fff;}
.red { color:#d00;}

.box10p { width: 10%;}
.box15p { width: 15%;}
.box20p { width: 20%;}
.box35p { width: 35%;}
.box40p { width: 40%;}
.box45p { width: 45%;}
.box49p { width: 49%;}
.box50p { width: 50%;}
.box55p { width: 55%;}
.box60p { width: 60%;}
.box80p { width: 80%;}

.lrAuto{ margin-left:auto; margin-right:auto;}

.link a{ color:#FD7E33; text-decoration:underline; font-weight:bold;}
.link a:hover{ text-decoration:none;}

.va_b{ vertical-align:bottom;}
.va_m{ display:inline-block;vertical-align:middle;}


/* ---------------------------------------------------------
	form
--------------------------------------------------------- */
#no-js { display: none;}
.btn,input.btn{
	-webkit-appearance: none;
	display: block;
	width: 96%;
	max-width: 375px;
	background: #AAE6FF;
	margin-right: auto;
	margin-left: auto;
	padding: 0 10px;
	border: 0;
	-webkit-border-radius: 28px;
	-moz-border-radius: 28px;
	-ms-border-radius: 28px;
	border-radius: 28px;
	font-size:1.286rem;
	font-weight: bold;
	line-height: 56px;
	text-align: center;
	text-decoration: none;
	color: #000;	
	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
	}
.btn:hover,input.btn:hover{ background:#64B5F6; color: #fff;}

input, textarea {
	padding:10px;
	text-align:left;
	border:1px solid #ddd;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	border-radius: 3px;
	}
input[type=radio]{ margin-right:5px;}
input[type=text],input[type=tel],textarea {
	display: block;
	width: 100%;
	background: #F7F7F7;
	border: 1px solid #ddd;
	font-size: 1.142rem;
	line-height: 1.8rem;
	}
	input[type=text]:focus,input[type=tel]:focus,textarea:focus { background: #fff;}
/*	input:focus,textarea:focus { border:solid 1px #EEA34A;}*/

label,
input[type=text], 
input[type=tel], 
input[type=radio] { display:inline;}

.form-select {
	display: block;
	position: relative;
	width: 100%;
	height: 2.6em;
	font-size: 1.05rem;
	border: 1px solid #ddd;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	border-radius: 3px;
	overflow: hidden;
	}

.form-select:after {
	position: absolute;
	display: block;
	content: '';
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-left: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #000;
	top: 50%;
	right: 10px;
	margin-top: -3px;
	pointer-events: none;
	}

.form-select select {
	width: 100%;
	height: 2.6em;
	font-size: 1.05rem;
	padding: 0 10px;
	border: none;
	position: relative;
	outline: none;
	}

input[type="checkbox"] {
	-moz-appearance: checkbox;
	-webkit-appearance:checkbox;
	margin-right: 5px;
	}

input.myError,
textarea.myError{ background:#FFFFE6;}
p.myError{
	color:#d00;
	padding-top:3px;
	font-weight:bolder;
	display:block;
	clear:both;
	}


/*----------------------------------------------------
 	header
----------------------------------------------------*/
.site-header{
	position: relative;
	background: #fff;
	position: fixed;
	top: 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
	width: 100%;
	z-index: 999;
}
.site-header.hide{ transform: translateY(-100%); -webkit-transform: translateY(-100%);}

#logo {
	position: absolute;
	display: inline;
	text-align: center;
	}
	#logo img { width: auto;}

/*----------------------------------------------------
 	content
----------------------------------------------------*/
.hl { text-align: center;}
.hl span{
	display: block;
	margin: 0 auto 5px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0.15em;
	}
.hl h2 {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-weight: 400;
	letter-spacing: 0.2em;
	}
h3 {
	font-weight: 700;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	}
	h3 span { display: block; font-size: 1rem;}

.hero{
	background:url(../img/img_main_20250521_04.jpg) no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	height: calc(100vh - 72px);
	margin:0 72px 72px;
	position: relative;
	}
.uspContainer {
	width: 96%;
	max-width: 1080px;
	margin: 0 auto;
	}
.uspContent {
	width: 96%;
	position: absolute;
	top:40%;
	display: block;
	text-align: right;
	}
.mainCatch{
	padding-left: 0.5em;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.6em;
	}
	.mainCatch span {
		display: inline-block;
		background: linear-gradient(transparent 70%, #AAE6FF 60%);
		padding-left: 0.3em;
		}
.mainSub {
	padding-top: 30px;
	padding-right: 1em;
	font-size: 1.285rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	color:#fff;
	}

/* .fadeInUp {
	opacity : 0;
	transform: translateY(72px);
	transition: 1s;
	} */
	
.restImage{
	position: relative;
	z-index: 1;
	background:url(../img/img_recruit.jpg) no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	width: 100%;
	height: 733px;
	}
.link:before {
	content: "";
	display: inline-block;
	position: relative;
	top: 0.3em;
	width: 1.4em;
	height: 1.4em;
	background-image:url(../img/ico_link.svg);
	background-size:100%;
	margin-right: 10px;
	}
.list { margin-top: -0.8em;}
.list > li { margin-top: 0.8em;}

/*	about
---------------------------*/
.aboutContent {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	background: #AAE6FF;
	text-align: center;
	}
.aboutContent h3 { line-height: 1.8em;}
.aboutCopy {
	padding-top: 40px;
	line-height: 2.2em;
	}
.aboutImage{
	background:url(../img/img_about.jpg) no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	height: 733px;
	}

/*	service
---------------------------*/
section#service { background: #E8F7FD;}
.serviceContainer {	position: relative;}
.serviceContent {
	position: relative;
	z-index: 30;
	max-width: 1280px;
	margin: 0 auto;
	}
.serviceBox {
	width: 100%;
	background: #fff;
	padding: 90px 100px 80px;
	line-height: 2em;
	}
.serviceBox h3 span.number{
	display: block;
	position: relative;
	z-index: 49;
	top:-50px;
	left: -10px;
	margin-bottom: -96px;
	font-size: 72px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	color: #AAE6FF;
	letter-spacing: 0.03em;
	line-height: 1em;
	}
.serviceBox h3 .serviceHl {
	position: relative;
	z-index: 50;
	line-height: 1.6em;
	}
.serviceBox h3 span.serviceSub { margin-bottom: -10px;}
.serviceTxt {
	margin-top: 40px;
	text-align: justify;
	text-justify: inter-ideograph;
	}
.serviceImage{
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	width: 100%;
	max-width: 1320px;
	height: 504px;
	}
	.serviceContainer:nth-child(2) .serviceImage {
		background-image:url(../img/img_service01.jpg);
		}
	.serviceContainer:nth-child(3) .serviceImage {
		background-image:url(../img/img_service02.jpg);
		}
	.serviceContainer:nth-child(4) .serviceImage {
		background-image:url(../img/img_service03.jpg);
		}

/*	recruit
---------------------------*/
.recruitContent {
	background: #E8F7FD;
	text-align: center;
	}
.recruitCopy { padding-top: 40px;}
.recruitDetail {
	overflow: hidden;
	max-width: 560px;
	margin: 0 auto;
	margin-top: 40px;
	border-top: 1px solid #000;
	text-align: left;
	}
	.recruitDetail dt {
		clear: both;
		width: 7em;
		float: left;
		margin-top: 40px;
		font-weight: bold;
		}
	.recruitDetail dd {
		width: calc(100% - 7em);
		float: left;
		margin-top: 40px;
		}
.recruitList { margin-top: -10px;}
.recruitList > li {
	margin-top: 10px;
	}
.recruitIco {
	background: #B72E2E;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	margin-left: 10px;
	padding: 0 8px;
	font-size: 0.78rem;
	font-weight: 700;
	color: #fff;
	line-height: 16px;
	}

/*	company
---------------------------*/
#company { background: #fff;}
.companyContainer {
	overflow: hidden;
	}
.map {
	position: relative;
	width: calc(50% - 80px);
	padding-top: 50%;
	float: left;
	}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}
.companyContent {
	width: 500px;
	float: left;
	margin-left: 80px;
	}
	.companyContent.nomap { float: none; margin: 0 auto;}
.companyDetail { margin-top: -20px;}
.companyDetail dt {
		clear: both;
		width: 9em;
		float: left;
		margin-top: 20px;
		font-weight: bold;
		}
.companyDetail dd {
		width: calc(100% - 9em);
		float: left;
		margin-top: 20px;
		}

/*	contact
---------------------------*/
section#contact { background: #E8F7FD;}
.contactContainer {
	width: 100%;
	max-width: 1080px;
	background: #fff;
	margin: 0 auto;
	padding: 40px 20px 60px;
	}
.contactFormListWrap {
	margin-top: -40px;
	overflow: hidden;
}
.contactFormList dt{
	margin-top: 40px;
	font-size: 1rem;
	font-weight: bold;
	}
.contactFormList dd { margin-top: 5px;}
.contactFormList dd.checkPrivacy { margin-top: 40px;}
.linkPrivacy {
	margin: 5px 0 0 30px;
	font-size: 0.857rem;
	}

.privacyContent { display: none;}
.privacyHl {
	margin-bottom: 20px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	}

.privacyDetail {
	border-left: 1px solid #000;
	padding-left: 40px;
	}
.privacyDetail > dt {
	margin-top: 20px;
	font-size: 1.12em;
	font-weight: 700;
	}
#contactComplete { text-align: center;}
.completeHl {
	margin-bottom: 20px;
	font-size: 1.428rem;
	font-weight: 700;
	}

/*----------------------------------------------------
 	footer
----------------------------------------------------*/
footer {
	padding: 80px 15px;
	text-align: center;
	}

.ftrSNShl {
	font-family: 'Montserrat', sans-serif;
	font-size:1.428rem;
	text-align: center;
	font-weight: bold;
	}
.ftrSNS { display: block; margin: 20px auto 0; text-align: center;}
.ftrSNS > li { display: inline;}
.ftrSNS > li { padding: 0 15px;}
.snsIco { width: auto; height: 32px;}

.scroll,.pagetop a { display: block;}
.scroll {		
	position: fixed;
	bottom: 72px;
	right:25px;
	font-size: 12px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 500;
	}
.scroll:after {
	content: "";
	display: block;
	position: relative;
	width: 1px;
	height: 56px;
	top:4em;
	left: 1em;
	background: #000;
	}
.pagetop {		
	position: fixed;
	bottom: 20px;
	right:25px;
	font-size: 12px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 500;
	}
	.pagetop a { text-decoration: none;}
.pagetop a:before {
	content: "";
	display: block;
	position: relative;
	width: 1px;
	height: 56px;
	top:-64px;
	left: -1.15em;
	background: #000;
	}
	.pagetop a:hover:before{background: #AAE6FF;}
	

@media only screen and (min-width: 1500px){
	.map { padding-top: 50%;}
}/* end min-width: 959px */

@media only screen and (min-width: 1280px){
	.fat-nav ul > li {
		display: inline;
		padding:0 15px;
		}
}/* end min-width: 1280px */

@media only screen and (min-width: 1025px) and (max-width: 1279px){
	.fat-nav ul > li {
		display: inline;
		padding:0 8px;
		}
		
	/*	company
	---------------------------*/
	.map {
		width: 100%;
		padding-top: 50%;
		float: none;
		}
	.companyDetail { margin-top: 20px;}
}/* end max-width: 1279px */

@media only screen and (min-width: 1025px){
	/*	contents
	---------------------------*/
	.pcNone { display: none!important;}
	.telLink { pointer-events: none; text-decoration: none;}
	
	section { padding: 160px 0}
	.hl { margin-bottom: 72px;}
	.hl span{
		font-size: 5.14rem;
		line-height: 1.4em;
		}
	.hl h2 {
		font-size: 1rem;
		line-height: 1.6em;
		}
	h3 { font-size: 2.285rem;}

	/*	header
	---------------------------*/
	#siteHl {
		position: absolute;
		top:20px;
		left: 40px;
		overflow: hidden;
		z-index: 100;
		}
		#siteHl h1 {
			float: left;
			margin-right: 20px;
			font-size: 12px;
			font-weight: normal;
			}
		.navTel { float: left;}

	header {
		background: #fff;
		padding: 24px 40px;
		}
		#formConfirm .site-header { padding-bottom: 56px;}
		
	#logo {	width: calc(100% - 80px);}
	.navTel a { text-decoration: none;}
	.navTel span{
		font-size: 16px;
		font-weight: bold;
		}
	.icoTel {
		display: inline-block;
		position: relative;
		width: 11px;
		height: 14px;
		margin-right: 5px;			
		}
	.contactBtn {
		position: fixed;
		top:calc(50% - 30px);
		right:25px;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		z-index: 500;
		}
		.contactBtn a:before {
			content: "";
			display: inline-block;
			position: relative;
			width: 19px;
			height: 16px;
			background-image:url(../img/ico_mail.svg);
			background-size:100%;
			margin-bottom: 10px;
			}
		.contactBtn a { text-decoration: none;}
	
	.uspContent { right:5%;}

	/*	gNav
	---------------------------*/
	.fat-nav ul {
		position: relative;
		z-index: 9999;
		float: right;
		overflow: hidden;
		margin-right:-25px;
		}

	.fat-nav ul > li, .fat-nav ul > li a {
		font-size: 1rem;
		text-decoration: none;
		}
	.fat-nav ul > li.navSNS { display: none;}

	/*	about
	---------------------------*/
	section#about { padding: 64px 0 0;}
	.aboutContent { padding: 80px 15px; position: relative; z-index: 100;}
	.aboutCopy { font-size: 1.14rem;}	
	.aboutImage{ margin-top: -356px;}
	
	/*	service
	---------------------------*/
	section#service { padding-bottom: 28px;}
	.serviceContainer {
		overflow: hidden;
		padding-bottom: 72px;
		}
	.serviceBox {
		position: absolute;
		top:0;
		max-width: 640px;
		padding: 90px 100px 80px;
		}
	.serviceImage { margin-top: 72px;}
	.serviceContainer:nth-child(odd) .serviceBox { left: 0;}
	.serviceContainer:nth-child(odd) .serviceImage { float: right;}
	.serviceContainer:nth-child(even) .serviceBox { right: 0;}
	.serviceContainer:nth-child(even) .serviceImage { float: left;}
	
	/*	recruit
	---------------------------*/	
	.noRestImage { width: 100%; background:#E8F7FD; padding-top: 80px;}
	section#recruit {
		position: relative;
		padding: 0;
		top:-300px;
		z-index: 50;
		}
	.recruitContent {
		max-width: 1280px;
		margin: 0 auto -300px;
		padding: 100px 100px 80px;
		}
		
	/*	company
	---------------------------*/	
	.companyContainer {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display:flex;
		}
		
	/*	contact
	---------------------------*/
	.contactFormList {
		width: 50%;
		padding: 0 40px;
		float: left;
		}
	
	/*	featherlight custom
	---------------------------*/
	.featherlight .featherlight-content {
		padding: 60px 60px 40px;}
	
	/*	footer
	---------------------------*/
	#formConfirm footer { padding: 0;}
	.copyright {
		position: fixed;
		top:calc(50% - 30px);
		left:25px;
		font-size: 12px;
		font-weight: 400;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: sideways;
		z-index: 500;
		}
	.noSNS footer { padding: 0;}

}/* end min-width: 835px*/


@media only screen and (max-width: 1024px){
	/*	contents
	---------------------------*/
	.spNone { display: none!important;}
	section { padding: 80px 0;}
	.hero {	
		height: 100vh;
		margin:0;
		/*background-size: cover;
		background:url(../img/img_main_sp.jpg) no-repeat;
		background-position: right center;*/
		}
	.hl { margin-bottom: 36px; line-height: 1.5em;}
	.hl span{ margin-bottom: 1.8rem; font-size: 9vw;}
	.hl h2 { font-size: 0.857rem;}
	h3{ font-size: 1.642rem;}
	h3 span { font-size: 0.857rem;}

	/*	header
	---------------------------*/	
	header {
		background: #fff;
		padding: 15px;
		min-height: 54px;
		}
	h1 { display: none;}
	#siteHl {
		position: absolute;
		top:10px;
		left: 20px;
		overflow: hidden;
		}
	#logo { width: calc(100% - 25px);}
	.navTel { float: none}
	.navTel span { display: none;}
	.navTel a {
		position: relative;
		display: block;
		width: 40px;
		height: 40px;
		text-align: center;
		z-index: 500;
		}
	.icoTel {
		display: block;
		width: 15px;
		height: 40px;
		}

	.contactBtn {
		display: block;
		position: fixed;
		width: 100%;
		bottom: 20px;
		z-index: 8000;
		}
	.contactBtn a {
		-webkit-appearance: none;
		display:block;
		width: 66%;
		max-width: 244px;
		background:#64B5F6;
		margin: 0 auto;
		padding:0 20px;
		border-radius: 20px;
		-webkit-border-radius: 20px;
		-moz-border-radius: 20px;
		filter: drop-shadow(3px 3px 0 rgba(0,0,0,0.25));
		font-size:16px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		line-height: 40px;
		color: #fff;
		}
	.contactBtn.disNone{ display: none;}
	.uspContent { text-align: center;}
	.mainCatch { font-size: 6.5vw;}

	/*	gNav
	---------------------------*/
	.hamburger {
		display: block;
		width: 50px;
		height: 50px;
		position: fixed;
		top: 5px;
		right: 5px;
		z-index: 10000;
		padding: 12px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-tap-highlight-color: transparent;
		-webkit-tap-highlight-color: transparent;
		-ms-touch-action: manipulation;
		touch-action: manipulation;
	}
	.hamburger__icon {
		position: relative;
		margin-top: 7px;
		margin-bottom: 7px;
	}
	.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
		display: block;
		width: 25px;
		height: 2px;
		background-color: #222;
		-moz-transition-property: background-color, -moz-transform;
		-o-transition-property: background-color, -o-transform;
		-webkit-transition-property: background-color, -webkit-transform;
		transition-property: background-color, transform;
		-moz-transition-duration: 0.4s;
		-o-transition-duration: 0.4s;
		-webkit-transition-duration: 0.4s;
		transition-duration: 0.4s;
		}
	.hamburger__icon:before, .hamburger__icon:after {
		position: absolute;
		content: "";
		}
	.hamburger__icon:before { top: -7px;}
	.hamburger__icon:after {
		top: 7px;
		}
	.hamburger.active .hamburger__icon { background-color: transparent;}
	.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
		background-color: #fff;
		}
	.hamburger.active .hamburger__icon:before {
		-moz-transform: translateY(7px) rotate(45deg);
		-ms-transform: translateY(7px) rotate(45deg);
		-webkit-transform: translateY(7px) rotate(45deg);
		transform: translateY(7px) rotate(45deg);
		}
	.hamburger.active .hamburger__icon:after {
		-moz-transform: translateY(-7px) rotate(-45deg);
		-ms-transform: translateY(-7px) rotate(-45deg);
		-webkit-transform: translateY(-7px) rotate(-45deg);
		transform: translateY(-7px) rotate(-45deg);
		}

	.fat-nav {
		top: 0;
		left: 0;
		z-index: 9999;
		position: fixed;
		display: none;
		width: 100%;
		height: 100%;
		background: #111;
		-moz-transform: scale(1.4);
		-ms-transform: scale(1.4);
		-webkit-transform: scale(1.4);
		transform: scale(1.4);
		-moz-transition-property: -moz-transform;
		-o-transition-property: -o-transform;
		-webkit-transition-property: -webkit-transform;
		transition-property: transform;
		-moz-transition-duration: 0.4s;
		-o-transition-duration: 0.4s;
		-webkit-transition-duration: 0.4s;
		transition-duration: 0.4s;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		}
	.fat-nav__wrapper {
		width: 100%;
		height: 100%;
		display: table;
		table-layout: fixed;
		}
	.fat-nav.active {
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-webkit-transform: scale(1);
		transform: scale(1);
		}
	.fat-nav ul {
		display: table-cell;
		vertical-align: middle;
		margin: 0;
		padding: 0;
		}
	.fat-nav ul > li {
		list-style-type: none;
		text-align: center;
		padding: 20px 0;
		font-size: 1.714rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		}
	.fat-nav ul > li, .fat-nav ul > li a { color: #fff;}
	.fat-nav__wrapper a { text-decoration: none;}
	.fat-nav ul > li.navSNS { padding-top: 50px; font-size:1.15rem; text-align: center;}
	.navSNS > ul { display: block; margin: 20px auto 0; text-align: center;}
	.navSNS > ul > li { display: inline;}
	.navSNS > ul > li { padding: 0 15px;}

	.hamburger__icon, 
	.hamburger__icon:before, 
	.hamburger__icon:after { background-color: #000;}

	/*	about
	---------------------------*/
	section#about { padding: 0;}
	.aboutContent { max-width: 100%; padding: 100px 15px 80px;}
	.aboutImage{ height: 25vh;}	
	
	/*	service
	---------------------------*/
	section#service { padding-bottom: 0;}
	.serviceImage { height: 25vh;}
	.serviceBox { padding: 56px 30px 40px;}
	.serviceBox h3 span.serviceSub {
		position: relative;
		z-index: 50;
		margin-bottom: -10px;
		}
	.serviceBox h3 span.number{
		display: block;
		position: relative;
		z-index: 49;
		top:-96px;
		margin-bottom: -100px;
		}
		
	.restImage { height: 35vh}	
	.noRestImage { width: 100%; height: 1px; background: #eaeaea; margin-top: 40px;}
	
	/*	recruit
	---------------------------*/
	.recruitContent { padding: 72px 15px 80px;}
	section#recruit { padding: 0;}
	
	/*	company
	---------------------------*/
	.map { display: none;}
	.companyContent {
		width: 100%;
		float: none;
		margin-left: 0;
		padding: 0 15px;
		}
	.companyDetail { margin-top: 0;}
	
	/*	contact
	---------------------------*/
	.form-select,
	.form-select select { font-size: 16px;}
	.privacyContent {
		font-size: 0.92rem;
		line-height: 1.7em;
		}
	#formConfirm #contact,
	#formComplete #contact { padding-top: 15vh;}
	#formConfirm .contactFormListWrap { margin-top: -20px;}
	#formConfirm .contactFormList dt { margin-top: 20px;}
	
	/*	featherlight custom
	---------------------------*/
	.featherlight .featherlight-content {
		padding: 40px 20px;}
	
	/*	footer
	---------------------------*/
	#formConfirm footer { padding: 0 0 40px;}
	.noSNS footer { padding: 0 15px 40px;}
	.copyright { font-size: 11px;}
	.scroll, .pagetop { right: 10px}
}/* max-width: 834px*/


/*	custome :: info
---------------------------*/
section#info { padding-bottom: 80px;}
.infoContainer { width:90%; max-width:500px; min-height:500px; margin:0 auto;}

.bnrContainer { width: 96%; max-width: 1080px; margin: 0 auto;}
.bnrContent { width:103%; margin:40px -1.5% 0; overflow: hidden;}
.bnrContent > li { width: 47%; margin: 40px 1.5% 0; float: left; text-align: center;}
.bnrContent > li img { width: 100%; height: auto;}

@media only screen and (max-width: 834px){
.bnrContent > li { width: 97%; max-width: 360px; margin: 40px auto 0; float: none; text-align: center;}
}

/*----------------------------------------------------
 	add :: message
----------------------------------------------------*/
.messageWrap {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: calc(1080px + 40px);
	margin: 0 auto;
	padding: 0 20px;
}
.messagePh {
	margin: 0 auto;
	text-align: center;
}
/* .messagePh img {
	width: 100%;
	height: auto;
} */
.messagePhImg {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 640 / 560;
	background-image: url(../img/img_ceo.jpg?20240417);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto;
}
.messagePhImg:hover {
	background-image: url(../img/img_ceo.jpg?20240417);
	background-position: center bottom;
}
.messageTxt {
	margin-top: 2em;
}
.messageTxt p {
	margin-top: 2em;
}
.messageTxt strong {
	font-size: 1.25em;
}

@media only screen and (max-width: 1024px){
	.messagePh {
		width: 100%;
		max-width: 320px;
	}
}
@media only screen and (min-width: 1025px){
	.messageWrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.messagePh {
		width: 36%;
	}
	.messageTxt {
		width: 55%;
		margin: 0;
	}
	.messageTxt p span {
		display: block;
	}
}
/*----------------------------------------------------
 	add :: seniors voice
----------------------------------------------------*/
#seniors {
	background:#E8F7FD;
}
#seniors .hl span {
	line-height: 1.2;
	margin-bottom: 1.4rem;
}
.seniorsVoiceWrap {
	width: 100%;
	max-width: calc(1080px + 40px);
	margin: 0 auto;
	padding: 0 20px;
}
.seniorsVoiceWrap > .seniorsVoiceItem:not(:first-of-type) {
	margin-top: 80px;
}

.staffVoicePh img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
.staffName {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 10px;
	font-size: 1.8rem;
}
.staffJob {
	display: flex;
	align-items: center;
	width: fit-content;
	background: #64B5F6;
	border-radius: 2px;
	padding: 0.4em 0.5em 0.5em;
	margin-right: 1em;
	color: #fff;
	line-height: 1;
	letter-spacing: 0;
}
.staffVoiceComent {
	margin-top: 1em;
	line-height: 1.8;
}

.staffSchedule  {
	background: #fff;
	padding: 1.5em;
}
.staffSchedule h4 {
	padding-bottom: 0.5em;
	border-bottom: 1px solid #64B5F6;
	font-size: 1.4rem;
}
.staffScheduleItem {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 1em 0;
	margin-top: 2em;
}
.staffScheduleItem::after {
	content: "";
	position: absolute;
	left: calc(8em + 1.2em);
	display: block;
	width: 1px;
	height: 100%;
	background: #AAE6FF;
}
.staffScheduleItem > dt {
	width: 8em;
}
.staffScheduleItem > dd {
	display: flex;
	width: calc(100% - 8em);
	padding-left: 0.5em;
}
.staffScheduleItem > dd::before {
	content: "";
	position: relative;
	top: 0.25em;
	display: block;
	max-width: 1.5em;
	height: 1.5em;
	aspect-ratio: 1;
	background: #AAE6FF;
	border-radius: 50%;
	margin-right: 0.5em;
}
@media only screen and (max-width: 939px){
	.staffVoicePh {
		max-width: 320px;
		margin: 0 auto;
	}
	.staffName {
		justify-content: center;
	}
	.staffVoiceComent {
		text-align: center;
	}
	.staffVoiceComent span {
		display: inline-block;
	}
	.staffSchedule {
		position:relative;
		margin-top: 2em;
	}
	.staffSchedule::before {
		content:'';
		position:absolute;
		left:50%;
		bottom:100%;
		height:0;
		width:0;
		border: solid transparent;
		border-color: rgba(255, 15, 0, 0);
		border-bottom-color:#fff;
		border-top-width:15px;
		border-bottom-width:15px;
		border-left-width:15px;
		border-right-width:15px;
		margin-left: -15px;
		pointer-events:none;
	 }
}
@media only screen and (min-width: 940px){
	.seniorsVoiceItem {
		display: flex;
		justify-content: space-between;
	}
	.seniorsVoiceItem:nth-of-type(2n) {
		flex-direction: row-reverse;
	}
	.seniorsVoiceItem:not(:first-of-type) {
		border-top: 1px dashed #64B5F6;
		padding-top: 60px;
		margin-top: 60px;
	}
	.staffDetail {
		width: 40%;
	}
	.staffSchedule {
		width: 56%;
		padding: 2.5em;
	}
	.staffSchedule::after {
		content:'';
		position:absolute;
		top:3em;
		height:0;
		width:0;
		border: solid transparent;	
		border-color: rgba(255, 15, 0, 0);
		border-top-width: 12px;
		border-bottom-width: 12px;
		border-left-width: 15px;
		border-right-width: 15px;
		margin-top: -12px;
		pointer-events:none;
	}
	.seniorsVoiceItem:nth-of-type(2n) .staffSchedule::after {
		left:100%;
		border-left-color:#fff;
	}
	.seniorsVoiceItem:nth-of-type(2n+1) .staffSchedule::after {
		right:100%;
		border-right-color:#fff;
	}
}