* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	text-decoration: none;
	list-style: none;
}
textarea:focus,
input:focus {
	outline: none;
}
html {
	scroll-behavior: smooth;
}
body { 
	font-size: 18px;
	font-weight: normal;
	color: #333;
	background: #FFF;
	font-family: 'Yu Gothic', '游ゴシック体', 'YuGothic', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
a:hover {
	text-decoration: none;
}

/* ---- for i-web CMS ---- */
.full_width .themify_builder_row .row_inner, .full_width .module-layout-part .themify_builder_row.fullwidth_row_container .row_inner {
	width: 100%;
}
/* ---- /for i-web CMS ---- */

/* --------------------------------------------------- PC ---- */
@media screen and (min-width: 769px) {
	
	.br__sp {
		display: none;
	}
	
	#submenu {
		display: none;
	}
	#submenu.submenu--on {
		display: block;
	}
	
	.anchor_outside {
		position: relative;
	}
	.anchor {
		position: absolute;
		left: 0px;
		top: -110px;
		width: 1px;
		height: 1px;
		opacity: 0;
	}
	
	/* === header === */
	._header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 70px;
		background: #FFF;
		box-shadow: 0 0 15px rgba(84,71,33,0.32);
		z-index: 9999;
	}
	.header_logo {
		display: block;
		position: absolute;
		left: 32px;
		top: 16px;
		width: 231px;
		height: 40px;
		background: url(../img/logo.png);
		background-size: 231px 40px;
	}
	.text_hidden {
		position: absolute;
		left: -9999px;
		top: -9999px;
	}
	.spmenu__openner {
		display: none;
	}
	.navigation {
		text-align: right;
		padding-right: 220px;
	}
	.navigation__list {
		padding-right: 44px;
		justify-content: flex-end;
		display: flex;
		gap: 0;
		list-style: none;
	}
	.navigation__item {
		/*縦中央にflexを使わない*/
	}
	.navigation__link {
		line-height: 100%;
		font-size: 18px;
		padding-left: 16px;
		padding-right: 16px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: top;
		height: 70px;
		padding-top: 24px;
		color: #333; 
		position: relative;
	}
	.navigation__underbar {
		width: 0px;
		margin-left: 0px;
		height: 4px;
		border-radius: 2px;
		background: #FCCF00;
		position: absolute;
		bottom: 14px;
		left: 50%;
		transition: width 300ms,margin-left 300ms;
	}
	
	.navigation__link:hover .navigation__underbar,
	.submenu__link--on .navigation__underbar
	 {
		width: 50px;
		margin-left: -25px;
	}
	
	
	.submenu {
		position: relative;
	}
	.submenu__list {
		position: absolute;
		left: -160px;
		top: 80px;
		width: 330px;
		padding: 24px 28px;
		border-radius: 10px;
		background: #FFF;
		box-shadow: 0 0 10px rgba(0,0,0,0.1);
	}
	.submenu__item {
		text-align: left;
	}
	.submenu__link {
		font-size: 18px;
		color: #333;
		display: inline-block;
		padding-bottom: 4px;
		margin-bottom: 8px;
	}
	.submenu__link.submenu__link--last {
		padding-bottom: 0px;
		margin-bottom: 0px;
	}
	.submenu__link:hover {
		background-image : linear-gradient(to right, #CCC, #CCC 2px, transparent 2px, transparent 8px);
		background-size: 6px 2px;
		background-position: left bottom;
		background-repeat: repeat-x;
		font-weight: bold;
	}
	.header__link--entry {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 220px;
		height: 70px;
		text-align: center;
		vertical-align: middle;
		font-size: 22px;
		font-weight: bold;
		line-height: 100%;
		position: absolute;
		right: 0;
		top: 0;
		color: #333;
		background: linear-gradient(to right, #FFE364, #FCCF00);
	}
	
	/* === footer === */
	.footer {}
	.footer__link--entry {
		width: 100%;
		/*min-width: 1400px;*/
		height: 300px;
		background: url(../img/entry_bg.jpg) center center no-repeat;
		position: repative;
		text-align: center;
		margin-bottom: 30px;
	}
	.footer__link--entryLink {
		display: inline-block;
		line-height: 100%;
		padding: 30px;
		width: 340px;
		color: #333;
		font-size: 30px;
		font-weight: bold;
		background: linear-gradient(to right, #FFE364, #FCCF00);
		text-align: center;
		border-radius: 10px;
		margin-top: 100px;
		transition: opacity 500ms,background 500ms;
	}
	.footer__link--entryLink:hover {
		opacity: 0.5;
	}
	
	
	.footerLink__link--recruit {
		font-size: 18px;
		color: #333;
	}
		.footerLink__item--recruit {
		display: block;
		width: 100%;
		/*min-width: 1400px;*/
		margin-top: 30px;
		padding: 25px;
		text-align: center;
	}
	.footer__icon {
		display: inline-block;
		width: 15px;
		height: 15px;
		margin-left: 8px;
		margin-bottom: -1px;
		background: url(../img/linkmark.png);
		background-size: 15px 15px;
	}
	
	.copyright {
		width: 100%;
		/*min-width: 1400px;*/
		text-align: center;
		padding: 16px;
		color: #CCC;
		font-size: 12px;
		background: #333;
	}
	
	.container {
		padding-top: 70px;
	}
	
	/* === gototop === */
	.gototop {
		width: 100%;
		margin: 0 auto 0 auto;
		height: 110px;
		text-align: right;
	}
	.gototop__link {
		display: block;
		width: 110px;
		height: 110px;
		margin-left: auto;
		cursor: pointer;
		background: url(../img/gototop.png) 0 0 no-repeat;
		background-size: 110px 110px;
	}
	
	/* === title === */
	.title {
		display: block;
		width: 100%;
		/*min-width: 1400px;*/
		height: 300px;
		background-position: top center;
		background-repeat: no-repeat;
		text-align: center;
	}
	.title__inner {
		width: 100%;
		max-width: calc(1360px + 40px);
		padding: 0 20px 0 20px;
		text-align: left;
		margin: 0 auto 0 auto;
		display: block;
		padding-top: 123px;
		line-height: 100%;
		color: #FFF;
		font-size: 42px;
		font-weight: bold;
	}
	.title__welfare {
		background-image: url(../img/header_welfare.jpg);
	}
	.title__recruit {
		background-image: url(../img/header_recruit.jpg);
	}
	.title__company {
		background-image: url(../img/header_company.jpg);
	}
	
	
	.header_logo,
	.header__link--entry,
	.footerLink__link--pages,
	.footerLink__link,
	.gototop__link {
		transition: opacity 500ms;
	}
	.header_logo:hover,
	.header__link--entry:hover,
	.footerLink__link--pages:hover,
	.footerLink__link:hover,
	.gototop__link:hover {
		opacity: 0.5;
	}
	
}
/* --------------------------------------------------- /PC ---- */




/* --------------------------------------------------- PC-fit ---- */
@media screen and (min-width: 1400px) {
	.footerLink__list {
		width: 1353px;
		margin: 0 auto 0 auto;
	}
	.footerLink__item {
		
	}
	.footerLink__item--left {
		float: left;
	}
	.footerLink__item--right {
		float: right;
	}
	.footerLink__item--clear {
		display: block;
		width: 100%;
		height: 0;
		clear:both;
	}

	.footerLink__link--pages {
		display: block;
		width: 670px;
		height: 200px;
		background-color: #AAA;
		border-radius: 10px;
		color: #FFF;
		font-size: 38px;
		font-weight: bold;
		text-align: center;
		padding-top: 70px;
	}
	.footerLink__link--welfare {
		background-image: url(../img/footerlink_welfare.jpg);
		background-size: 670px 200px;
	}
	.footerLink__link--company {
		background: url(../img/footerlink_company.jpg);
		background-size: 670px 200px;
	}
	.footerLink__link--recruit_ {
		background: url(../img/footerlink_recruit.jpg);
		background-size: 670px 200px;
	}
	
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
	
	.footerLink__list {
		width: 96.64vw;
		margin: 0 auto 0 auto;
	}
	.footerLink__item {
		
	}
	.footerLink__item--left {
		float: left;
	}
	.footerLink__item--right {
		float: right;
	}
	.footerLink__item--clear {
		display: block;
		width: 100%;
		height: 0;
		clear:both;
	}

	.footerLink__link--pages {
		display: block;
		width: 47.86vw;
		height: 14.29vw;
		background-color: #AAA;
		border-radius: 0.71vw;
		color: #FFF;
		font-size: 2.71vw;
		font-weight: bold;
		text-align: center;
		padding-top: 5.00vw;
	}
	.footerLink__link--welfare {
		background-image: url(../img/footerlink_welfare.jpg);
		background-size: 47.86vw 14.29vw;
	}
	.footerLink__link--company {
		background: url(../img/footerlink_company.jpg);
		background-size: 47.86vw 14.29vw;
	}
	.footerLink__link--recruit_ {
		background: url(../img/footerlink_recruit.jpg);
		background-size: 47.86vw 14.29vw;
	}
	
}
/* --------------------------------------------------- /PC-fit ---- */





/* --------------------------------------------------- SP ---- */
@media screen and (max-width: 768px) {
	
	.br__pc {
		display: none;
	}
	
	body.spmenu--on {
		overflow: hidden;
	}
	
	.anchor_outside {
		position: relative;
	}
	.anchor {
		position: absolute;
		left: 0px;
		top: -21vw;
		width: 1px;
		height: 1px;
		opacity: 0;
	}
	
	/* === header === */
	._header {
		width: 100.00vw;
		height: 15.38vw;
		background: #FFF;
		position: fixed;
		z-index: 100;
	}
	.header__shadowbox {
		box-shadow: 0 0 3.85vw rgba(84,71,33,0.32);
		background: #FFF;
		position: absolute;
		width: 100.00vw;
		height: 15.38vw;
		top: 0px;
		left: 0px;
		z-index: 1000;
	}
	.header_logo {
		display: block;
		width: 38.46vw;
		height: 6.41vw;
		background: url(../img/logo.png);
		background-size: 38.46vw 6.41vw;
		position: absolute;
		left: 5.90vw;
		top: 4.87vw; 
	}
	.text_hidden {
		position: absolute;
		left: -9999px;
		top: -9999px;
	}
	.navigation {
		padding-top: 15.38vw;
		height: 0;
		overflow-y: scroll;
		opacity: 0;
		transition: opacity 500ms,height 500ms;
	}
	body.spmenu--on .navigation {
		height: 100vh;
		opacity: 1;
	}
	
	.spmenu__openner {
		width: 15.38vw;
		height: 15.38vw;
		background: linear-gradient(to right, #FFE364, #FCCF00);
		position: absolute;
		right: 0px;
		top: 0px;
	}
	.spmenu__bar {
		display: block;
		width: 7.69vw;
		height: 0.26vw;
		background: #141414;
		position: absolute;
		transition: left 300ms,top 300ms,transform 300ms,opacity 300ms;
	}
	.spmenu__bar--one {
		left: 3.85vw;
		top: 5.13vw;
	}
	.spmenu__bar--two {
		left: 3.85vw;
		top: 7.18vw;
	}
	.spmenu__bar--three {
		left: 3.85vw;
		top: 9.23vw;
	}
	
	body.spmenu--on .spmenu__bar--one {
		transform: rotate(35deg);
		top: 7.18vw;
	}
	body.spmenu--on .spmenu__bar--two {
		opacity: 0;
		left: 3.33vw;
	}
	body.spmenu--on .spmenu__bar--three {
		transform: rotate(-35deg);
		top: 7.18vw;
	}
	.navigation__list {
		background: #FFF;
		padding: 7.69vw 5.13vw 7.69vw 5.13vw;
	}
	.navigation__item {
		
	}
	.navigation__link {
		display: block;
		width: 89.74vw;
		height: 25.64vw;
		border-radius: 2.56vw;
		background-color: #333;
		margin-bottom: 7.69vw;
		padding-top: 6.92vw;
		text-align: center;
		font-size: 7.18vw;
		font-weight: bold;
		color: #FFF;
		position: relative;
	}
	.navigation__link--welfareSp {
		background: url(../img/splink_welfare.jpg);
		background-size: cover;
	}
	.navigation__link--recruitSp {
		background: url(../img/splink_recruit.jpg);
		background-size: cover;
	}
	.navigation__link--companySp {
		background: url(../img/splink_company.jpg);
		background-size: cover;
	}
	.navigation__underbar {
		display: none;
		width: 12.82vw;
		height: 1.03vw;
		border-radius: 0.51vw;
		background: #FCCF00;
		position: absolute;
		bottom: 6.15vw;
		left: 50%;
		margin-left: -25px;
	}
	.submenu {
		
	}
	.submenu__list {}
	.submenu__item {
		margin-bottom: 6.15vw;
	}
	.submenu__link {
		color: #333;
		font-size: 4.62vw;
	}
	.submenu__link--on {
		
	}
	.submenu__link--on .navigation__underbar {
		display: block;
	}
	.submenu__link--last {}
	.header__link--entry {
		position: fixed;
		right: 0px;
		bottom: 0px;
		display: block;
		width: 33.33vw;
		height: 14.36vw;
		color: #333;
		background: linear-gradient(to right, #FFE364, #FCCF00);
		border-radius: 2.56vw 0 0 0;
		text-align: center;
		font-size: 5.13vw;
		font-weight: bold;
		padding-top: 4.10vw;
	}
	
	/* === footer === */
	.footer {}
	.footer__link--entry {
		height: 51.28vw;
		text-align: center;
		background: url(../img/entry_bg_sp.jpg) center center no-repeat;
		background-size: contain;
		padding-top: 16.67vw;
	}
	.footer__link--entryLink {
		display: block;
		width: 89.74vw;
		height: 17.95vw;
		margin: 0 auto 0 auto;
		padding-top: 4.10vw;
		border-radius: 2.56vw;
		background: linear-gradient(to right, #FFE364, #FCCF00);
		color: #333;
		font-size: 6.67vw;
		font-weight: bold;
	}
	.footerLink__list {
		padding: 5.13vw;
	}
	.footerLink__item {
		
	}
	.footerLink__item--left {}
	.footerLink__item--right {}
	.footerLink__item--clear {}
	.footerLink__item--recruit {
		padding-top: 2.56vw;
		text-align: center;
	}
	.footerLink__link--pages {
		display: block;
		width: 89.74vw;
		height: 25.64vw;
		border-radius: 2.56vw;
		padding-top: 7.69vw;
		font-size: 7.18vw;
		font-weight: bold;
		color: #FFF;
		background-color: #CCC;
		text-align: center;
		margin-bottom: 5.13vw;
	}
	.footerLink__link--welfare {}
	.footerLink__link--company {}
	.footerLink__link {
		
	}
	.footerLink__link--recruit {
		font-size: 4.62vw;
		color: #333;
		text-align: center;
	}
	
	.footerLink__link--welfare {
		background: url(../img/footerlink_welfare_sp.jpg);
		background-size: contain;
	}
	.footerLink__link--company {
		background: url(../img/footerlink_company_sp.jpg);
		background-size: contain;
	}
	.footerLink__link--recruit_ {
		background: url(../img/footerlink_recruit_sp.jpg);
		background-size: contain;
	}	
	
	.footer__icon {
		display: inline-block;
		width: 3.85vw;
		height: 3.85vw;
		margin-left: 2.05vw;
		margin-bottom: -1px;
		background: url(../img/linkmark.png);
		background-size: 3.85vw 3.85vw;
	}
	.copyright {
		text-align: center;
		padding: 4.10vw;
		color: #CCC;
		font-size: 3.08vw;
		background: #333;
		height: 28.21vw;
	}
	
	.container {
		padding-top: 15.38vw;
	}
	
	/* === gototop === */
	.gototop {
		height: 28.21vw;
		text-align: right;
	}
	.gototop__link {
		display: block;
		width: 28.21vw;
		height: 28.21vw;
		margin-left: auto;
		cursor: pointer;
		background: url(../img/gototop.png) 0 0 no-repeat;
		background-size: 28.21vw 28.21vw;
	}
	
	.title {
		width: 100.00vw;
		height: 38.46vw;
		background-position: top center;
		background-repeat: no-repeat;
		background-size: 100.00vw 38.46vw;
		text-align: center;
	}
	.title__inner {
		width: 100.00vw;
		padding: 14.36vw 5.64vw 0 5.64vw;
		text-align: left;
		display: block;
		line-height: 100%;
		color: #FFF;
		font-size: 8.72vw;
		font-weight: bold;
	}
	.title__welfare {
		background-image: url(../img/header_welfare_sp.jpg);
	}
	.title__recruit {
		background-image: url(../img/header_recruit_sp.jpg);
	}
	.title__company {
		background-image: url(../img/header_company_sp.jpg);
	}
}

/* --------------------------------------------------- /SP ---- */





